/* { dg-do compile } */ /* { dg-options "-O2 -mssse3" } */ typedef long long __attribute__ ((__vector_size__ (8))) T; T x; T y; T z; void foo() { z = __builtin_ia32_palignr (x, y, 0); } void bar() { z = __builtin_ia32_palignr (x, y, 64); } /* { dg-final { scan-assembler-not "punpcklqdq" } } */ /* { dg-final { scan-assembler-not "pshufd" } } */ /* { dg-final { scan-assembler-not "psrldq" } } */