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