| /* PR target/88547 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -mavx2 -mno-xop -mno-avx512f" } */ |
| /* { dg-final { scan-assembler-not "vpmingt\[bwd]\[\t ]" } } */ |
| /* { dg-final { scan-assembler-times "vpminub\[\t ]" 2 } } */ |
| /* { dg-final { scan-assembler-times "vpminsb\[\t ]" 2 } } */ |
| /* { dg-final { scan-assembler-times "vpminuw\[\t ]" 2 } } */ |
| /* { dg-final { scan-assembler-times "vpminsw\[\t ]" 2 } } */ |
| /* { dg-final { scan-assembler-times "vpminud\[\t ]" 2 } } */ |
| /* { dg-final { scan-assembler-times "vpminsd\[\t ]" 2 } } */ |
| |
| typedef signed char v32qi __attribute__((vector_size(32))); |
| typedef unsigned char v32uqi __attribute__((vector_size(32))); |
| typedef short v16hi __attribute__((vector_size(32))); |
| typedef unsigned short v16uhi __attribute__((vector_size(32))); |
| typedef int v8si __attribute__((vector_size(32))); |
| typedef unsigned v8usi __attribute__((vector_size(32))); |
| typedef long long v4di __attribute__((vector_size(32))); |
| typedef unsigned long long v4udi __attribute__((vector_size(32))); |
| |
| __attribute__((noipa)) v32qi |
| f1 (v32qi x, v32qi y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v32uqi |
| f2 (v32uqi x, v32uqi y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v32qi |
| f3 (v32qi x, v32qi y) |
| { |
| return x >= y; |
| } |
| |
| __attribute__((noipa)) v32uqi |
| f4 (v32uqi x, v32uqi y) |
| { |
| return x >= y; |
| } |
| |
| __attribute__((noipa)) v16hi |
| f5 (v16hi x, v16hi y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v16uhi |
| f6 (v16uhi x, v16uhi y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v16hi |
| f7 (v16hi x, v16hi y) |
| { |
| return x >= y; |
| } |
| |
| __attribute__((noipa)) v16uhi |
| f8 (v16uhi x, v16uhi y) |
| { |
| return x >= y; |
| } |
| |
| __attribute__((noipa)) v8si |
| f9 (v8si x, v8si y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v8usi |
| f10 (v8usi x, v8usi y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v8si |
| f11 (v8si x, v8si y) |
| { |
| return x >= y; |
| } |
| |
| __attribute__((noipa)) v8usi |
| f12 (v8usi x, v8usi y) |
| { |
| return x >= y; |
| } |
| |
| __attribute__((noipa)) v4di |
| f13 (v4di x, v4di y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v4udi |
| f14 (v4udi x, v4udi y) |
| { |
| return x <= y; |
| } |
| |
| __attribute__((noipa)) v4di |
| f15 (v4di x, v4di y) |
| { |
| return x >= y; |
| } |
| |
| __attribute__((noipa)) v4udi |
| f16 (v4udi x, v4udi y) |
| { |
| return x >= y; |
| } |