/* PR target/98911 */ /* { dg-do compile } */ /* { dg-options "-O -mavx2" } */ /* { dg-final { scan-assembler-times "pcmpeqb" 2 } } */ /* { dg-final { scan-assembler-times "pcmpeqw" 2 } } */ /* { dg-final { scan-assembler-times "pcmpeqd" 2 } } */ /* { dg-final { scan-assembler-times "pcmpeqq" 2 } } */ /* { dg-final { scan-assembler-times "pcmpgtb" 2 } } */ /* { dg-final { scan-assembler-times "pcmpgtw" 2 } } */ /* { dg-final { scan-assembler-times "pcmpgtd" 2 } } */ /* { dg-final { scan-assembler-times "pcmpgtq" 2 } } */ typedef char v16qi __attribute__ ((vector_size (16))); typedef char v32qi __attribute__ ((vector_size (32))); typedef short v8hi __attribute__ ((vector_size (16))); typedef short v16hi __attribute__ ((vector_size (32))); typedef int v4si __attribute__ ((vector_size (16))); typedef int v8si __attribute__ ((vector_size (32))); typedef long long v2di __attribute__ ((vector_size (16))); typedef long long v4di __attribute__ ((vector_size (32))); v16qi f1 (v16qi a, v16qi b) { return __builtin_ia32_pcmpeqb128 (a, b); } v8hi f2 (v8hi a, v8hi b) { return __builtin_ia32_pcmpeqw128 (a, b); } v4si f3 (v4si a, v4si b) { return __builtin_ia32_pcmpeqd128 (a, b); } v2di f4 (v2di a, v2di b) { return __builtin_ia32_pcmpeqq (a, b); } v16qi f5 (v16qi a, v16qi b) { return __builtin_ia32_pcmpgtb128 (a, b); } v8hi f6 (v8hi a, v8hi b) { return __builtin_ia32_pcmpgtw128 (a, b); } v4si f7 (v4si a, v4si b) { return __builtin_ia32_pcmpgtd128 (a, b); } v2di f8 (v2di a, v2di b) { return __builtin_ia32_pcmpgtq (a, b); } v32qi f9 (v32qi a, v32qi b) { return __builtin_ia32_pcmpeqb256 (a, b); } v16hi f10 (v16hi a, v16hi b) { return __builtin_ia32_pcmpeqw256 (a, b); } v8si f11 (v8si a, v8si b) { return __builtin_ia32_pcmpeqd256 (a, b); } v4di f12 (v4di a, v4di b) { return __builtin_ia32_pcmpeqq256 (a, b); } v32qi f13 (v32qi a, v32qi b) { return __builtin_ia32_pcmpgtb256 (a, b); } v16hi f14 (v16hi a, v16hi b) { return __builtin_ia32_pcmpgtw256 (a, b); } v8si f15 (v8si a, v8si b) { return __builtin_ia32_pcmpgtd256 (a, b); } v4di f16 (v4di a, v4di b) { return __builtin_ia32_pcmpgtq256 (a, b); }