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