blob: 3ddb2d135260e92686fcae19bd17efe3adedeb11 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -msse4.2" } */
typedef int v4si __attribute__((vector_size(16)));
typedef float v4sf __attribute__((vector_size(16)));
v4si foo (v4si x)
{
return (v4si){ x[0], 1, x[2], 3 };
}
/* { dg-final { scan-assembler "pblendw" } } */
v4si bar (v4sf x)
{
return (v4si){ 1, x[1], x[2], 3 };
}
/* { dg-final { scan-assembler "cvttps2dq" } } */
/* { dg-final { scan-assembler "pblendw" } } */
v4si baz (v4si x)
{
return (v4si) { x[1], x[2], x[3], 0 };
}
/* { dg-final { scan-assembler "psrldq" } } */