blob: eefb93c262a1352f11e67508b165f183613ed76e [file] [log] [blame]
/* { 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 } } */