1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  #define vector __attribute__((vector_size(4*sizeof(float))))
       5  
       6  vector float f0(vector float a, vector float b)
       7  {
       8    return __builtin_shuffle (a, b, (vector int){0, 5, 6, 7});
       9  }
      10  vector float f1(vector float a, vector float b)
      11  {
      12    return __builtin_shuffle (a, b, (vector int){4, 0, 6, 7});
      13  }
      14  vector float f2(vector float a, vector float b)
      15  {
      16    return __builtin_shuffle (a, b, (vector int){4, 5, 0, 7});
      17  }
      18  vector float f3(vector float a, vector float b)
      19  {
      20    return __builtin_shuffle (a, b, (vector int){4, 5, 6, 0});
      21  }
      22  
      23  /* { dg-final { scan-assembler-times {[ \t]*ins[ \t]+v[0-9]+\.s} 4 } } */