1 /* PR target/92686 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -mavx512bw -mno-avx512dq -mno-avx512vl -mno-xop" } */
4 /* { dg-final { scan-assembler-times "vpcmp\[bwdq\]\[\t ]" 8 } } */
5 /* { dg-final { scan-assembler-times "vpcmpu\[bwdq\]\[\t ]" 8 } } */
6 /* { dg-final { scan-assembler-times "vpmovm2\[bw\]\[\t ]" 8 } } */
7 /* { dg-final { scan-assembler-times "vpternlog\[dq\]\[\t ]" 8 } } */
8 
9 typedef char v64qi __attribute__((vector_size(64)));
10 typedef unsigned char v64uqi __attribute__((vector_size(64)));
11 typedef short v32hi __attribute__((vector_size(64)));
12 typedef unsigned short v32uhi __attribute__((vector_size(64)));
13 typedef int v16si __attribute__((vector_size(64)));
14 typedef unsigned v16usi __attribute__((vector_size(64)));
15 typedef long long v8di __attribute__((vector_size(64)));
16 typedef unsigned long long v8udi __attribute__((vector_size(64)));
17 
18 __attribute__((noipa)) v64qi
f1(v64qi x,v64qi y)19 f1 (v64qi x, v64qi y)
20 {
21   return x >= y;
22 }
23 
24 __attribute__((noipa)) v64uqi
f2(v64uqi x,v64uqi y)25 f2 (v64uqi x, v64uqi y)
26 {
27   return x >= y;
28 }
29 
30 __attribute__((noipa)) v64qi
f3(v64qi x,v64qi y)31 f3 (v64qi x, v64qi y)
32 {
33   return x <= y;
34 }
35 
36 __attribute__((noipa)) v64uqi
f4(v64uqi x,v64uqi y)37 f4 (v64uqi x, v64uqi y)
38 {
39   return x <= y;
40 }
41 
42 __attribute__((noipa)) v32hi
f5(v32hi x,v32hi y)43 f5 (v32hi x, v32hi y)
44 {
45   return x >= y;
46 }
47 
48 __attribute__((noipa)) v32uhi
f6(v32uhi x,v32uhi y)49 f6 (v32uhi x, v32uhi y)
50 {
51   return x >= y;
52 }
53 
54 __attribute__((noipa)) v32hi
f7(v32hi x,v32hi y)55 f7 (v32hi x, v32hi y)
56 {
57   return x <= y;
58 }
59 
60 __attribute__((noipa)) v32uhi
f8(v32uhi x,v32uhi y)61 f8 (v32uhi x, v32uhi y)
62 {
63   return x <= y;
64 }
65 
66 __attribute__((noipa)) v16si
f9(v16si x,v16si y)67 f9 (v16si x, v16si y)
68 {
69   return x >= y;
70 }
71 
72 __attribute__((noipa)) v16usi
f10(v16usi x,v16usi y)73 f10 (v16usi x, v16usi y)
74 {
75   return x >= y;
76 }
77 
78 __attribute__((noipa)) v16si
f11(v16si x,v16si y)79 f11 (v16si x, v16si y)
80 {
81   return x <= y;
82 }
83 
84 __attribute__((noipa)) v16usi
f12(v16usi x,v16usi y)85 f12 (v16usi x, v16usi y)
86 {
87   return x <= y;
88 }
89 
90 __attribute__((noipa)) v8di
f13(v8di x,v8di y)91 f13 (v8di x, v8di y)
92 {
93   return x >= y;
94 }
95 
96 __attribute__((noipa)) v8udi
f14(v8udi x,v8udi y)97 f14 (v8udi x, v8udi y)
98 {
99   return x >= y;
100 }
101 
102 __attribute__((noipa)) v8di
f15(v8di x,v8di y)103 f15 (v8di x, v8di y)
104 {
105   return x <= y;
106 }
107 
108 __attribute__((noipa)) v8udi
f16(v8udi x,v8udi y)109 f16 (v8udi x, v8udi y)
110 {
111   return x <= y;
112 }
113