1 // RUN: %clang_cc1 %s -O0 -triple=x86_64-apple-darwin -ffreestanding -target-feature +avx512bw -emit-llvm -o - -Werror | FileCheck %s
2
3 #include <immintrin.h>
4
test_mm512_cmpeq_epi8_mask(__m512i __a,__m512i __b)5 __mmask64 test_mm512_cmpeq_epi8_mask(__m512i __a, __m512i __b) {
6 // CHECK-LABEL: @test_mm512_cmpeq_epi8_mask
7 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.512
8 return (__mmask64)_mm512_cmpeq_epi8_mask(__a, __b);
9 }
10
test_mm512_mask_cmpeq_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)11 __mmask64 test_mm512_mask_cmpeq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
12 // CHECK-LABEL: @test_mm512_mask_cmpeq_epi8_mask
13 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.512
14 return (__mmask64)_mm512_mask_cmpeq_epi8_mask(__u, __a, __b);
15 }
16
test_mm512_cmpeq_epi16_mask(__m512i __a,__m512i __b)17 __mmask32 test_mm512_cmpeq_epi16_mask(__m512i __a, __m512i __b) {
18 // CHECK-LABEL: @test_mm512_cmpeq_epi16_mask
19 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.512
20 return (__mmask32)_mm512_cmpeq_epi16_mask(__a, __b);
21 }
22
test_mm512_mask_cmpeq_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)23 __mmask32 test_mm512_mask_cmpeq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
24 // CHECK-LABEL: @test_mm512_mask_cmpeq_epi16_mask
25 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.512
26 return (__mmask32)_mm512_mask_cmpeq_epi16_mask(__u, __a, __b);
27 }
28
test_mm512_cmpgt_epi8_mask(__m512i __a,__m512i __b)29 __mmask64 test_mm512_cmpgt_epi8_mask(__m512i __a, __m512i __b) {
30 // CHECK-LABEL: @test_mm512_cmpgt_epi8_mask
31 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.512
32 return (__mmask64)_mm512_cmpgt_epi8_mask(__a, __b);
33 }
34
test_mm512_mask_cmpgt_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)35 __mmask64 test_mm512_mask_cmpgt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
36 // CHECK-LABEL: @test_mm512_mask_cmpgt_epi8_mask
37 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.512
38 return (__mmask64)_mm512_mask_cmpgt_epi8_mask(__u, __a, __b);
39 }
40
test_mm512_cmpgt_epi16_mask(__m512i __a,__m512i __b)41 __mmask32 test_mm512_cmpgt_epi16_mask(__m512i __a, __m512i __b) {
42 // CHECK-LABEL: @test_mm512_cmpgt_epi16_mask
43 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.512
44 return (__mmask32)_mm512_cmpgt_epi16_mask(__a, __b);
45 }
46
test_mm512_mask_cmpgt_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)47 __mmask32 test_mm512_mask_cmpgt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
48 // CHECK-LABEL: @test_mm512_mask_cmpgt_epi16_mask
49 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.512
50 return (__mmask32)_mm512_mask_cmpgt_epi16_mask(__u, __a, __b);
51 }
52
test_mm512_cmpeq_epu8_mask(__m512i __a,__m512i __b)53 __mmask64 test_mm512_cmpeq_epu8_mask(__m512i __a, __m512i __b) {
54 // CHECK-LABEL: @test_mm512_cmpeq_epu8_mask
55 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 0, i64 -1)
56 return (__mmask64)_mm512_cmpeq_epu8_mask(__a, __b);
57 }
58
test_mm512_mask_cmpeq_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)59 __mmask64 test_mm512_mask_cmpeq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
60 // CHECK-LABEL: @test_mm512_mask_cmpeq_epu8_mask
61 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 0, i64 {{.*}})
62 return (__mmask64)_mm512_mask_cmpeq_epu8_mask(__u, __a, __b);
63 }
64
test_mm512_cmpeq_epu16_mask(__m512i __a,__m512i __b)65 __mmask32 test_mm512_cmpeq_epu16_mask(__m512i __a, __m512i __b) {
66 // CHECK-LABEL: @test_mm512_cmpeq_epu16_mask
67 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 0, i32 -1)
68 return (__mmask32)_mm512_cmpeq_epu16_mask(__a, __b);
69 }
70
test_mm512_mask_cmpeq_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)71 __mmask32 test_mm512_mask_cmpeq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
72 // CHECK-LABEL: @test_mm512_mask_cmpeq_epu16_mask
73 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 0, i32 {{.*}})
74 return (__mmask32)_mm512_mask_cmpeq_epu16_mask(__u, __a, __b);
75 }
76
test_mm512_cmpgt_epu8_mask(__m512i __a,__m512i __b)77 __mmask64 test_mm512_cmpgt_epu8_mask(__m512i __a, __m512i __b) {
78 // CHECK-LABEL: @test_mm512_cmpgt_epu8_mask
79 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 6, i64 -1)
80 return (__mmask64)_mm512_cmpgt_epu8_mask(__a, __b);
81 }
82
test_mm512_mask_cmpgt_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)83 __mmask64 test_mm512_mask_cmpgt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
84 // CHECK-LABEL: @test_mm512_mask_cmpgt_epu8_mask
85 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 6, i64 {{.*}})
86 return (__mmask64)_mm512_mask_cmpgt_epu8_mask(__u, __a, __b);
87 }
88
test_mm512_cmpgt_epu16_mask(__m512i __a,__m512i __b)89 __mmask32 test_mm512_cmpgt_epu16_mask(__m512i __a, __m512i __b) {
90 // CHECK-LABEL: @test_mm512_cmpgt_epu16_mask
91 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 6, i32 -1)
92 return (__mmask32)_mm512_cmpgt_epu16_mask(__a, __b);
93 }
94
test_mm512_mask_cmpgt_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)95 __mmask32 test_mm512_mask_cmpgt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
96 // CHECK-LABEL: @test_mm512_mask_cmpgt_epu16_mask
97 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 6, i32 {{.*}})
98 return (__mmask32)_mm512_mask_cmpgt_epu16_mask(__u, __a, __b);
99 }
100
test_mm512_cmpge_epi8_mask(__m512i __a,__m512i __b)101 __mmask64 test_mm512_cmpge_epi8_mask(__m512i __a, __m512i __b) {
102 // CHECK-LABEL: @test_mm512_cmpge_epi8_mask
103 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 -1)
104 return (__mmask64)_mm512_cmpge_epi8_mask(__a, __b);
105 }
106
test_mm512_mask_cmpge_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)107 __mmask64 test_mm512_mask_cmpge_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
108 // CHECK-LABEL: @test_mm512_mask_cmpge_epi8_mask
109 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 {{.*}})
110 return (__mmask64)_mm512_mask_cmpge_epi8_mask(__u, __a, __b);
111 }
112
test_mm512_cmpge_epu8_mask(__m512i __a,__m512i __b)113 __mmask64 test_mm512_cmpge_epu8_mask(__m512i __a, __m512i __b) {
114 // CHECK-LABEL: @test_mm512_cmpge_epu8_mask
115 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 -1)
116 return (__mmask64)_mm512_cmpge_epu8_mask(__a, __b);
117 }
118
test_mm512_mask_cmpge_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)119 __mmask64 test_mm512_mask_cmpge_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
120 // CHECK-LABEL: @test_mm512_mask_cmpge_epu8_mask
121 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 {{.*}})
122 return (__mmask64)_mm512_mask_cmpge_epu8_mask(__u, __a, __b);
123 }
124
test_mm512_cmpge_epi16_mask(__m512i __a,__m512i __b)125 __mmask32 test_mm512_cmpge_epi16_mask(__m512i __a, __m512i __b) {
126 // CHECK-LABEL: @test_mm512_cmpge_epi16_mask
127 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 -1)
128 return (__mmask32)_mm512_cmpge_epi16_mask(__a, __b);
129 }
130
test_mm512_mask_cmpge_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)131 __mmask32 test_mm512_mask_cmpge_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
132 // CHECK-LABEL: @test_mm512_mask_cmpge_epi16_mask
133 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 {{.*}})
134 return (__mmask32)_mm512_mask_cmpge_epi16_mask(__u, __a, __b);
135 }
136
test_mm512_cmpge_epu16_mask(__m512i __a,__m512i __b)137 __mmask32 test_mm512_cmpge_epu16_mask(__m512i __a, __m512i __b) {
138 // CHECK-LABEL: @test_mm512_cmpge_epu16_mask
139 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 -1)
140 return (__mmask32)_mm512_cmpge_epu16_mask(__a, __b);
141 }
142
test_mm512_mask_cmpge_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)143 __mmask32 test_mm512_mask_cmpge_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
144 // CHECK-LABEL: @test_mm512_mask_cmpge_epu16_mask
145 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 {{.*}})
146 return (__mmask32)_mm512_mask_cmpge_epu16_mask(__u, __a, __b);
147 }
148
test_mm512_cmple_epi8_mask(__m512i __a,__m512i __b)149 __mmask64 test_mm512_cmple_epi8_mask(__m512i __a, __m512i __b) {
150 // CHECK-LABEL: @test_mm512_cmple_epi8_mask
151 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 -1)
152 return (__mmask64)_mm512_cmple_epi8_mask(__a, __b);
153 }
154
test_mm512_mask_cmple_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)155 __mmask64 test_mm512_mask_cmple_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
156 // CHECK-LABEL: @test_mm512_mask_cmple_epi8_mask
157 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 {{.*}})
158 return (__mmask64)_mm512_mask_cmple_epi8_mask(__u, __a, __b);
159 }
160
test_mm512_cmple_epu8_mask(__m512i __a,__m512i __b)161 __mmask64 test_mm512_cmple_epu8_mask(__m512i __a, __m512i __b) {
162 // CHECK-LABEL: @test_mm512_cmple_epu8_mask
163 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 -1)
164 return (__mmask64)_mm512_cmple_epu8_mask(__a, __b);
165 }
166
test_mm512_mask_cmple_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)167 __mmask64 test_mm512_mask_cmple_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
168 // CHECK-LABEL: @test_mm512_mask_cmple_epu8_mask
169 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 {{.*}})
170 return (__mmask64)_mm512_mask_cmple_epu8_mask(__u, __a, __b);
171 }
172
test_mm512_cmple_epi16_mask(__m512i __a,__m512i __b)173 __mmask32 test_mm512_cmple_epi16_mask(__m512i __a, __m512i __b) {
174 // CHECK-LABEL: @test_mm512_cmple_epi16_mask
175 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 -1)
176 return (__mmask32)_mm512_cmple_epi16_mask(__a, __b);
177 }
178
test_mm512_mask_cmple_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)179 __mmask32 test_mm512_mask_cmple_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
180 // CHECK-LABEL: @test_mm512_mask_cmple_epi16_mask
181 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 {{.*}})
182 return (__mmask32)_mm512_mask_cmple_epi16_mask(__u, __a, __b);
183 }
184
test_mm512_cmple_epu16_mask(__m512i __a,__m512i __b)185 __mmask32 test_mm512_cmple_epu16_mask(__m512i __a, __m512i __b) {
186 // CHECK-LABEL: @test_mm512_cmple_epu16_mask
187 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 -1)
188 return (__mmask32)_mm512_cmple_epu16_mask(__a, __b);
189 }
190
test_mm512_mask_cmple_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)191 __mmask32 test_mm512_mask_cmple_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
192 // CHECK-LABEL: @test_mm512_mask_cmple_epu16_mask
193 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 {{.*}})
194 return (__mmask32)_mm512_mask_cmple_epu16_mask(__u, __a, __b);
195 }
196
test_mm512_cmplt_epi8_mask(__m512i __a,__m512i __b)197 __mmask64 test_mm512_cmplt_epi8_mask(__m512i __a, __m512i __b) {
198 // CHECK-LABEL: @test_mm512_cmplt_epi8_mask
199 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 -1)
200 return (__mmask64)_mm512_cmplt_epi8_mask(__a, __b);
201 }
202
test_mm512_mask_cmplt_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)203 __mmask64 test_mm512_mask_cmplt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
204 // CHECK-LABEL: @test_mm512_mask_cmplt_epi8_mask
205 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 {{.*}})
206 return (__mmask64)_mm512_mask_cmplt_epi8_mask(__u, __a, __b);
207 }
208
test_mm512_cmplt_epu8_mask(__m512i __a,__m512i __b)209 __mmask64 test_mm512_cmplt_epu8_mask(__m512i __a, __m512i __b) {
210 // CHECK-LABEL: @test_mm512_cmplt_epu8_mask
211 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 -1)
212 return (__mmask64)_mm512_cmplt_epu8_mask(__a, __b);
213 }
214
test_mm512_mask_cmplt_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)215 __mmask64 test_mm512_mask_cmplt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
216 // CHECK-LABEL: @test_mm512_mask_cmplt_epu8_mask
217 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 {{.*}})
218 return (__mmask64)_mm512_mask_cmplt_epu8_mask(__u, __a, __b);
219 }
220
test_mm512_cmplt_epi16_mask(__m512i __a,__m512i __b)221 __mmask32 test_mm512_cmplt_epi16_mask(__m512i __a, __m512i __b) {
222 // CHECK-LABEL: @test_mm512_cmplt_epi16_mask
223 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 -1)
224 return (__mmask32)_mm512_cmplt_epi16_mask(__a, __b);
225 }
226
test_mm512_mask_cmplt_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)227 __mmask32 test_mm512_mask_cmplt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
228 // CHECK-LABEL: @test_mm512_mask_cmplt_epi16_mask
229 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 {{.*}})
230 return (__mmask32)_mm512_mask_cmplt_epi16_mask(__u, __a, __b);
231 }
232
test_mm512_cmplt_epu16_mask(__m512i __a,__m512i __b)233 __mmask32 test_mm512_cmplt_epu16_mask(__m512i __a, __m512i __b) {
234 // CHECK-LABEL: @test_mm512_cmplt_epu16_mask
235 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 -1)
236 return (__mmask32)_mm512_cmplt_epu16_mask(__a, __b);
237 }
238
test_mm512_mask_cmplt_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)239 __mmask32 test_mm512_mask_cmplt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
240 // CHECK-LABEL: @test_mm512_mask_cmplt_epu16_mask
241 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 {{.*}})
242 return (__mmask32)_mm512_mask_cmplt_epu16_mask(__u, __a, __b);
243 }
244
test_mm512_cmpneq_epi8_mask(__m512i __a,__m512i __b)245 __mmask64 test_mm512_cmpneq_epi8_mask(__m512i __a, __m512i __b) {
246 // CHECK-LABEL: @test_mm512_cmpneq_epi8_mask
247 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 -1)
248 return (__mmask64)_mm512_cmpneq_epi8_mask(__a, __b);
249 }
250
test_mm512_mask_cmpneq_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)251 __mmask64 test_mm512_mask_cmpneq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
252 // CHECK-LABEL: @test_mm512_mask_cmpneq_epi8_mask
253 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 {{.*}})
254 return (__mmask64)_mm512_mask_cmpneq_epi8_mask(__u, __a, __b);
255 }
256
test_mm512_cmpneq_epu8_mask(__m512i __a,__m512i __b)257 __mmask64 test_mm512_cmpneq_epu8_mask(__m512i __a, __m512i __b) {
258 // CHECK-LABEL: @test_mm512_cmpneq_epu8_mask
259 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 -1)
260 return (__mmask64)_mm512_cmpneq_epu8_mask(__a, __b);
261 }
262
test_mm512_mask_cmpneq_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)263 __mmask64 test_mm512_mask_cmpneq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
264 // CHECK-LABEL: @test_mm512_mask_cmpneq_epu8_mask
265 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 {{.*}})
266 return (__mmask64)_mm512_mask_cmpneq_epu8_mask(__u, __a, __b);
267 }
268
test_mm512_cmpneq_epi16_mask(__m512i __a,__m512i __b)269 __mmask32 test_mm512_cmpneq_epi16_mask(__m512i __a, __m512i __b) {
270 // CHECK-LABEL: @test_mm512_cmpneq_epi16_mask
271 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 -1)
272 return (__mmask32)_mm512_cmpneq_epi16_mask(__a, __b);
273 }
274
test_mm512_mask_cmpneq_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)275 __mmask32 test_mm512_mask_cmpneq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
276 // CHECK-LABEL: @test_mm512_mask_cmpneq_epi16_mask
277 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 {{.*}})
278 return (__mmask32)_mm512_mask_cmpneq_epi16_mask(__u, __a, __b);
279 }
280
test_mm512_cmpneq_epu16_mask(__m512i __a,__m512i __b)281 __mmask32 test_mm512_cmpneq_epu16_mask(__m512i __a, __m512i __b) {
282 // CHECK-LABEL: @test_mm512_cmpneq_epu16_mask
283 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 -1)
284 return (__mmask32)_mm512_cmpneq_epu16_mask(__a, __b);
285 }
286
test_mm512_mask_cmpneq_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)287 __mmask32 test_mm512_mask_cmpneq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
288 // CHECK-LABEL: @test_mm512_mask_cmpneq_epu16_mask
289 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 {{.*}})
290 return (__mmask32)_mm512_mask_cmpneq_epu16_mask(__u, __a, __b);
291 }
292
test_mm512_cmp_epi8_mask(__m512i __a,__m512i __b)293 __mmask64 test_mm512_cmp_epi8_mask(__m512i __a, __m512i __b) {
294 // CHECK-LABEL: @test_mm512_cmp_epi8_mask
295 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 -1)
296 return (__mmask64)_mm512_cmp_epi8_mask(__a, __b, 7);
297 }
298
test_mm512_mask_cmp_epi8_mask(__mmask64 __u,__m512i __a,__m512i __b)299 __mmask64 test_mm512_mask_cmp_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
300 // CHECK-LABEL: @test_mm512_mask_cmp_epi8_mask
301 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 {{.*}})
302 return (__mmask64)_mm512_mask_cmp_epi8_mask(__u, __a, __b, 7);
303 }
304
test_mm512_cmp_epu8_mask(__m512i __a,__m512i __b)305 __mmask64 test_mm512_cmp_epu8_mask(__m512i __a, __m512i __b) {
306 // CHECK-LABEL: @test_mm512_cmp_epu8_mask
307 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 -1)
308 return (__mmask64)_mm512_cmp_epu8_mask(__a, __b, 7);
309 }
310
test_mm512_mask_cmp_epu8_mask(__mmask64 __u,__m512i __a,__m512i __b)311 __mmask64 test_mm512_mask_cmp_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
312 // CHECK-LABEL: @test_mm512_mask_cmp_epu8_mask
313 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 {{.*}})
314 return (__mmask64)_mm512_mask_cmp_epu8_mask(__u, __a, __b, 7);
315 }
316
test_mm512_cmp_epi16_mask(__m512i __a,__m512i __b)317 __mmask32 test_mm512_cmp_epi16_mask(__m512i __a, __m512i __b) {
318 // CHECK-LABEL: @test_mm512_cmp_epi16_mask
319 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 -1)
320 return (__mmask32)_mm512_cmp_epi16_mask(__a, __b, 7);
321 }
322
test_mm512_mask_cmp_epi16_mask(__mmask32 __u,__m512i __a,__m512i __b)323 __mmask32 test_mm512_mask_cmp_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
324 // CHECK-LABEL: @test_mm512_mask_cmp_epi16_mask
325 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 {{.*}})
326 return (__mmask32)_mm512_mask_cmp_epi16_mask(__u, __a, __b, 7);
327 }
328
test_mm512_cmp_epu16_mask(__m512i __a,__m512i __b)329 __mmask32 test_mm512_cmp_epu16_mask(__m512i __a, __m512i __b) {
330 // CHECK-LABEL: @test_mm512_cmp_epu16_mask
331 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 -1)
332 return (__mmask32)_mm512_cmp_epu16_mask(__a, __b, 7);
333 }
334
test_mm512_mask_cmp_epu16_mask(__mmask32 __u,__m512i __a,__m512i __b)335 __mmask32 test_mm512_mask_cmp_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
336 // CHECK-LABEL: @test_mm512_mask_cmp_epu16_mask
337 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 {{.*}})
338 return (__mmask32)_mm512_mask_cmp_epu16_mask(__u, __a, __b, 7);
339 }
340