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