| /* PR target/88547 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -msse2 -mno-sse3" } */ |
| /* { dg-final { scan-assembler-not "pmingtw\[\t ]" } } */ |
| /* { dg-final { scan-assembler-times "pminub\[\t ]" 2 } } */ |
| /* { dg-final { scan-assembler-times "pminsw\[\t ]" 2 } } */ |
| /* { dg-final { scan-assembler-not "pminsb\[\t ]" } } */ |
| /* { dg-final { scan-assembler-not "pminuw\[\t ]" } } */ |
| /* { dg-final { scan-assembler-not "pminud\[\t ]" } } */ |
| /* { dg-final { scan-assembler-not "pminuq\[\t ]" } } */ |
| |
| typedef signed char v16qi __attribute__((vector_size(16))); |
| typedef unsigned char v16uqi __attribute__((vector_size(16))); |
| typedef short v8hi __attribute__((vector_size(16))); |
| typedef unsigned short v8uhi __attribute__((vector_size(16))); |
| typedef int v4si __attribute__((vector_size(16))); |
| typedef unsigned v4usi __attribute__((vector_size(16))); |
| typedef long long v2di __attribute__((vector_size(16))); |
| typedef unsigned long long v2udi __attribute__((vector_size(16))); |
| |
| v16qi |
| f1 (v16qi x, v16qi y) |
| { |
| return x <= y; |
| } |
| |
| v16uqi |
| f2 (v16uqi x, v16uqi y) |
| { |
| return x <= y; |
| } |
| |
| v16qi |
| f3 (v16qi x, v16qi y) |
| { |
| return x >= y; |
| } |
| |
| v16uqi |
| f4 (v16uqi x, v16uqi y) |
| { |
| return x >= y; |
| } |
| |
| v8hi |
| f5 (v8hi x, v8hi y) |
| { |
| return x <= y; |
| } |
| |
| v8uhi |
| f6 (v8uhi x, v8uhi y) |
| { |
| return x <= y; |
| } |
| |
| v8hi |
| f7 (v8hi x, v8hi y) |
| { |
| return x >= y; |
| } |
| |
| v8uhi |
| f8 (v8uhi x, v8uhi y) |
| { |
| return x >= y; |
| } |
| |
| v4si |
| f9 (v4si x, v4si y) |
| { |
| return x <= y; |
| } |
| |
| v4usi |
| f10 (v4usi x, v4usi y) |
| { |
| return x <= y; |
| } |
| |
| v4si |
| f11 (v4si x, v4si y) |
| { |
| return x >= y; |
| } |
| |
| v4usi |
| f12 (v4usi x, v4usi y) |
| { |
| return x >= y; |
| } |
| |
| v2di |
| f13 (v2di x, v2di y) |
| { |
| return x <= y; |
| } |
| |
| v2udi |
| f14 (v2udi x, v2udi y) |
| { |
| return x <= y; |
| } |
| |
| v2di |
| f15 (v2di x, v2di y) |
| { |
| return x >= y; |
| } |
| |
| v2udi |
| f16 (v2udi x, v2udi y) |
| { |
| return x >= y; |
| } |