1 /* PR target/88547 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -mavx2 -mno-xop -mno-avx512f" } */
4 /* { dg-final { scan-assembler-not "vpmingt\[bwd]\[\t ]" } } */
5 /* { dg-final { scan-assembler-times "vpminub\[\t ]" 2 } } */
6 /* { dg-final { scan-assembler-times "vpminsb\[\t ]" 2 } } */
7 /* { dg-final { scan-assembler-times "vpminuw\[\t ]" 2 } } */
8 /* { dg-final { scan-assembler-times "vpminsw\[\t ]" 2 } } */
9 /* { dg-final { scan-assembler-times "vpminud\[\t ]" 2 } } */
10 /* { dg-final { scan-assembler-times "vpminsd\[\t ]" 2 } } */
11 
12 typedef signed char v32qi __attribute__((vector_size(32)));
13 typedef unsigned char v32uqi __attribute__((vector_size(32)));
14 typedef short v16hi __attribute__((vector_size(32)));
15 typedef unsigned short v16uhi __attribute__((vector_size(32)));
16 typedef int v8si __attribute__((vector_size(32)));
17 typedef unsigned v8usi __attribute__((vector_size(32)));
18 typedef long long v4di __attribute__((vector_size(32)));
19 typedef unsigned long long v4udi __attribute__((vector_size(32)));
20 
21 __attribute__((noipa)) v32qi
f1(v32qi x,v32qi y)22 f1 (v32qi x, v32qi y)
23 {
24   return x <= y;
25 }
26 
27 __attribute__((noipa)) v32uqi
f2(v32uqi x,v32uqi y)28 f2 (v32uqi x, v32uqi y)
29 {
30   return x <= y;
31 }
32 
33 __attribute__((noipa)) v32qi
f3(v32qi x,v32qi y)34 f3 (v32qi x, v32qi y)
35 {
36   return x >= y;
37 }
38 
39 __attribute__((noipa)) v32uqi
f4(v32uqi x,v32uqi y)40 f4 (v32uqi x, v32uqi y)
41 {
42   return x >= y;
43 }
44 
45 __attribute__((noipa)) v16hi
f5(v16hi x,v16hi y)46 f5 (v16hi x, v16hi y)
47 {
48   return x <= y;
49 }
50 
51 __attribute__((noipa)) v16uhi
f6(v16uhi x,v16uhi y)52 f6 (v16uhi x, v16uhi y)
53 {
54   return x <= y;
55 }
56 
57 __attribute__((noipa)) v16hi
f7(v16hi x,v16hi y)58 f7 (v16hi x, v16hi y)
59 {
60   return x >= y;
61 }
62 
63 __attribute__((noipa)) v16uhi
f8(v16uhi x,v16uhi y)64 f8 (v16uhi x, v16uhi y)
65 {
66   return x >= y;
67 }
68 
69 __attribute__((noipa)) v8si
f9(v8si x,v8si y)70 f9 (v8si x, v8si y)
71 {
72   return x <= y;
73 }
74 
75 __attribute__((noipa)) v8usi
f10(v8usi x,v8usi y)76 f10 (v8usi x, v8usi y)
77 {
78   return x <= y;
79 }
80 
81 __attribute__((noipa)) v8si
f11(v8si x,v8si y)82 f11 (v8si x, v8si y)
83 {
84   return x >= y;
85 }
86 
87 __attribute__((noipa)) v8usi
f12(v8usi x,v8usi y)88 f12 (v8usi x, v8usi y)
89 {
90   return x >= y;
91 }
92 
93 __attribute__((noipa)) v4di
f13(v4di x,v4di y)94 f13 (v4di x, v4di y)
95 {
96   return x <= y;
97 }
98 
99 __attribute__((noipa)) v4udi
f14(v4udi x,v4udi y)100 f14 (v4udi x, v4udi y)
101 {
102   return x <= y;
103 }
104 
105 __attribute__((noipa)) v4di
f15(v4di x,v4di y)106 f15 (v4di x, v4di y)
107 {
108   return x >= y;
109 }
110 
111 __attribute__((noipa)) v4udi
f16(v4udi x,v4udi y)112 f16 (v4udi x, v4udi y)
113 {
114   return x >= y;
115 }
116