1  /* { dg-do compile } */
       2  /* { dg-require-effective-target powerpc_altivec_ok } */
       3  /* { dg-options "-O -maltivec -mno-vsx" } */
       4  
       5  typedef unsigned short V __attribute__((vector_size(16)));
       6  
       7  V f2(V x)
       8  {
       9    return __builtin_shuffle(x, (V){ 1,1,1,1, 1,1,1,1, });
      10  }
      11  
      12  V f4(V x)
      13  {
      14    return __builtin_shuffle(x, (V){ 2,3,2,3, 2,3,2,3, });
      15  }
      16  
      17  /* { dg-final { scan-assembler-not "vperm" } } */
      18  /* { dg-final { scan-assembler "vsplth" } } */
      19  /* { dg-final { scan-assembler "vspltw" } } */