/* { dg-do compile } */ /* { dg-options "-O2 -msse2 -mno-ssse3" } */ /* { dg-final { scan-assembler-times {(?n)psrldq[\t ]+} 16 } } */ /* { dg-final { scan-assembler-times {(?n)pslldq[\t ]+} 16 } } */ /* { dg-final { scan-assembler-times {(?n)por[\t ]+} 16 } } */ /* { dg-final { scan-assembler-times {(?n)pandn[\t ]+} 8 } } */ /* { dg-final { scan-assembler-times {(?n)pand[\t ]+} 8 } } */ typedef short v8hi __attribute__((vector_size (16))); typedef char v16qi __attribute__((vector_size (16))); v16qi __attribute__((noipa)) foo (v16qi a, v16qi b) { return __builtin_shufflevector (a, b, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20); } v16qi __attribute__((noipa)) foo1 (v16qi a, v16qi b) { return __builtin_shufflevector (a, b, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22); } v16qi __attribute__((noipa)) foo2 (v16qi a, v16qi b) { return __builtin_shufflevector (a, b, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21); } v16qi __attribute__((noipa)) foo3 (v16qi a, v16qi b) { return __builtin_shufflevector (a, b, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22); } v8hi __attribute__((noipa)) foo4 (v8hi a, v8hi b) { return __builtin_shufflevector (a, b, 5, 6, 7, 8, 9, 10, 11, 12); } v8hi __attribute__((noipa)) foo5 (v8hi a, v8hi b) { return __builtin_shufflevector (a, b, 5, 6, 7, 9, 10, 11, 12, 13); } v8hi __attribute__((noipa)) foo6 (v8hi a, v8hi b) { return __builtin_shufflevector (a, b, 5, 6, 8, 9, 10, 11, 12, 13); } v8hi __attribute__((noipa)) foo7 (v8hi a, v8hi b) { return __builtin_shufflevector (a, b, 5, 6, 9, 10, 11, 12, 13, 14); } v16qi __attribute__((noipa)) foo8 (v16qi a) { return __builtin_shufflevector (a, a, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20); } v16qi __attribute__((noipa)) foo9 (v16qi a) { return __builtin_shufflevector (a, a, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22); } v16qi __attribute__((noipa)) foo10 (v16qi a) { return __builtin_shufflevector (a, a, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21); } v16qi __attribute__((noipa)) foo11 (v16qi a) { return __builtin_shufflevector (a, a, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22); } v8hi __attribute__((noipa)) foo12 (v8hi a) { return __builtin_shufflevector (a, a, 5, 6, 7, 8, 9, 10, 11, 12); } v8hi __attribute__((noipa)) foo13 (v8hi a) { return __builtin_shufflevector (a, a, 5, 6, 7, 9, 10, 11, 12, 13); } v8hi __attribute__((noipa)) foo14 (v8hi a) { return __builtin_shufflevector (a, a, 5, 6, 8, 9, 10, 11, 12, 13); } v8hi __attribute__((noipa)) foo15 (v8hi a) { return __builtin_shufflevector (a, a, 5, 6, 9, 10, 11, 12, 13, 14); }