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