blob: f4649c00338904f9db2c8d01c296273e66747d88 [file] [log] [blame]
/* PR target/101021 */
/* { dg-do compile } */
/* { dg-options "-O2 -mavx" } */
/* { dg-final { scan-assembler-not "vpshufb" } } */
typedef char S;
typedef S V __attribute__((vector_size(16 * sizeof(S))));
V t1 (V x)
{
return __builtin_shuffle (x, (V) { 8,9,10,11,12,13,14,15, 0,1,2,3,4,5,6,7 });
}
/* { dg-final { scan-assembler "vpalignr" } } */
V t2 (V x)
{
return __builtin_shuffle (x, (V) { 0,1,2,3, 4,5,6,7, 4,5,6,7, 12,13,14,15 });
}
/* { dg-final { scan-assembler "vpshufd" } } */
V t3 (V x)
{
return __builtin_shuffle (x, (V) { 0,1, 2,3, 2,3, 6,7, 8,9,10,11,12,13,14,15 });
}
/* { dg-final { scan-assembler "vpshuflw" } } */
V t4 (V x)
{
return __builtin_shuffle (x, (V) { 0,1,2,3,4,5,6,7, 8,9, 10,11, 10,11, 14,15 });
}
/* { dg-final { scan-assembler "vpshufhw" } } */