blob: 4d8508d1d5463837b75504e878c9a10643c66a23 [file] [log] [blame]
Stephen Hines176edba2014-12-01 14:53:08 -08001// RUN: %clang_cc1 %s -O0 -triple=x86_64-apple-darwin -ffreestanding -target-feature +avx512bw -target-feature +avx512vl -emit-llvm -o - -Werror | FileCheck %s
2
3#include <immintrin.h>
4
5__mmask32 test_mm256_cmpeq_epi8_mask(__m256i __a, __m256i __b) {
6 // CHECK-LABEL: @test_mm256_cmpeq_epi8_mask
7 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.256
8 return (__mmask32)_mm256_cmpeq_epi8_mask(__a, __b);
9}
10
11__mmask32 test_mm256_mask_cmpeq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
12 // CHECK-LABEL: @test_mm256_mask_cmpeq_epi8_mask
13 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.256
14 return (__mmask32)_mm256_mask_cmpeq_epi8_mask(__u, __a, __b);
15}
16
17__mmask16 test_mm_cmpeq_epi8_mask(__m128i __a, __m128i __b) {
18 // CHECK-LABEL: @test_mm_cmpeq_epi8_mask
19 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.128
20 return (__mmask16)_mm_cmpeq_epi8_mask(__a, __b);
21}
22
23__mmask16 test_mm_mask_cmpeq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
24 // CHECK-LABEL: @test_mm_mask_cmpeq_epi8_mask
25 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.128
26 return (__mmask16)_mm_mask_cmpeq_epi8_mask(__u, __a, __b);
27}
28
29__mmask16 test_mm256_cmpeq_epi16_mask(__m256i __a, __m256i __b) {
30 // CHECK-LABEL: @test_mm256_cmpeq_epi16_mask
31 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.256
32 return (__mmask16)_mm256_cmpeq_epi16_mask(__a, __b);
33}
34
35__mmask16 test_mm256_mask_cmpeq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
36 // CHECK-LABEL: @test_mm256_mask_cmpeq_epi16_mask
37 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.256
38 return (__mmask16)_mm256_mask_cmpeq_epi16_mask(__u, __a, __b);
39}
40
41__mmask8 test_mm_cmpeq_epi16_mask(__m128i __a, __m128i __b) {
42 // CHECK-LABEL: @test_mm_cmpeq_epi16_mask
43 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.128
44 return (__mmask8)_mm_cmpeq_epi16_mask(__a, __b);
45}
46
47__mmask8 test_mm_mask_cmpeq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
48 // CHECK-LABEL: @test_mm_mask_cmpeq_epi16_mask
49 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.128
50 return (__mmask8)_mm_mask_cmpeq_epi16_mask(__u, __a, __b);
51}
Stephen Hines0e2c34f2015-03-23 12:09:02 -070052
53__mmask32 test_mm256_cmpgt_epi8_mask(__m256i __a, __m256i __b) {
54 // CHECK-LABEL: @test_mm256_cmpgt_epi8_mask
55 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.256
56 return (__mmask32)_mm256_cmpgt_epi8_mask(__a, __b);
57}
58
59__mmask32 test_mm256_mask_cmpgt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
60 // CHECK-LABEL: @test_mm256_mask_cmpgt_epi8_mask
61 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.256
62 return (__mmask32)_mm256_mask_cmpgt_epi8_mask(__u, __a, __b);
63}
64
65__mmask16 test_mm_cmpgt_epi8_mask(__m128i __a, __m128i __b) {
66 // CHECK-LABEL: @test_mm_cmpgt_epi8_mask
67 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.128
68 return (__mmask16)_mm_cmpgt_epi8_mask(__a, __b);
69}
70
71__mmask16 test_mm_mask_cmpgt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
72 // CHECK-LABEL: @test_mm_mask_cmpgt_epi8_mask
73 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.128
74 return (__mmask16)_mm_mask_cmpgt_epi8_mask(__u, __a, __b);
75}
76
77__mmask16 test_mm256_cmpgt_epi16_mask(__m256i __a, __m256i __b) {
78 // CHECK-LABEL: @test_mm256_cmpgt_epi16_mask
79 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.256
80 return (__mmask16)_mm256_cmpgt_epi16_mask(__a, __b);
81}
82
83__mmask16 test_mm256_mask_cmpgt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
84 // CHECK-LABEL: @test_mm256_mask_cmpgt_epi16_mask
85 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.256
86 return (__mmask16)_mm256_mask_cmpgt_epi16_mask(__u, __a, __b);
87}
88
89__mmask8 test_mm_cmpgt_epi16_mask(__m128i __a, __m128i __b) {
90 // CHECK-LABEL: @test_mm_cmpgt_epi16_mask
91 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.128
92 return (__mmask8)_mm_cmpgt_epi16_mask(__a, __b);
93}
94
95__mmask8 test_mm_mask_cmpgt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
96 // CHECK-LABEL: @test_mm_mask_cmpgt_epi16_mask
97 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.128
98 return (__mmask8)_mm_mask_cmpgt_epi16_mask(__u, __a, __b);
99}
100
101__mmask16 test_mm_cmpeq_epu8_mask(__m128i __a, __m128i __b) {
102 // CHECK-LABEL: @test_mm_cmpeq_epu8_mask
103 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 0, i16 -1)
104 return (__mmask64)_mm_cmpeq_epu8_mask(__a, __b);
105}
106
107__mmask16 test_mm_mask_cmpeq_epu8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
108 // CHECK-LABEL: @test_mm_mask_cmpeq_epu8_mask
109 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 0, i16 {{.*}})
110 return (__mmask64)_mm_mask_cmpeq_epu8_mask(__u, __a, __b);
111}
112
113__mmask8 test_mm_cmpeq_epu16_mask(__m128i __a, __m128i __b) {
114 // CHECK-LABEL: @test_mm_cmpeq_epu16_mask
115 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 0, i8 -1)
116 return (__mmask32)_mm_cmpeq_epu16_mask(__a, __b);
117}
118
119__mmask8 test_mm_mask_cmpeq_epu16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
120 // CHECK-LABEL: @test_mm_mask_cmpeq_epu16_mask
121 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 0, i8 {{.*}})
122 return (__mmask32)_mm_mask_cmpeq_epu16_mask(__u, __a, __b);
123}
124
125__mmask32 test_mm256_cmpeq_epu8_mask(__m256i __a, __m256i __b) {
126 // CHECK-LABEL: @test_mm256_cmpeq_epu8_mask
127 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 0, i32 -1)
128 return (__mmask64)_mm256_cmpeq_epu8_mask(__a, __b);
129}
130
131__mmask32 test_mm256_mask_cmpeq_epu8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
132 // CHECK-LABEL: @test_mm256_mask_cmpeq_epu8_mask
133 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 0, i32 {{.*}})
134 return (__mmask64)_mm256_mask_cmpeq_epu8_mask(__u, __a, __b);
135}
136
137__mmask16 test_mm256_cmpeq_epu16_mask(__m256i __a, __m256i __b) {
138 // CHECK-LABEL: @test_mm256_cmpeq_epu16_mask
139 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 0, i16 -1)
140 return (__mmask32)_mm256_cmpeq_epu16_mask(__a, __b);
141}
142
143__mmask16 test_mm256_mask_cmpeq_epu16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
144 // CHECK-LABEL: @test_mm256_mask_cmpeq_epu16_mask
145 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 0, i16 {{.*}})
146 return (__mmask32)_mm256_mask_cmpeq_epu16_mask(__u, __a, __b);
147}
148
149__mmask16 test_mm_cmpgt_epu8_mask(__m128i __a, __m128i __b) {
150 // CHECK-LABEL: @test_mm_cmpgt_epu8_mask
151 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 6, i16 -1)
152 return (__mmask64)_mm_cmpgt_epu8_mask(__a, __b);
153}
154
155__mmask16 test_mm_mask_cmpgt_epu8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
156 // CHECK-LABEL: @test_mm_mask_cmpgt_epu8_mask
157 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 6, i16 {{.*}})
158 return (__mmask64)_mm_mask_cmpgt_epu8_mask(__u, __a, __b);
159}
160
161__mmask8 test_mm_cmpgt_epu16_mask(__m128i __a, __m128i __b) {
162 // CHECK-LABEL: @test_mm_cmpgt_epu16_mask
163 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 6, i8 -1)
164 return (__mmask32)_mm_cmpgt_epu16_mask(__a, __b);
165}
166
167__mmask8 test_mm_mask_cmpgt_epu16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
168 // CHECK-LABEL: @test_mm_mask_cmpgt_epu16_mask
169 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 6, i8 {{.*}})
170 return (__mmask32)_mm_mask_cmpgt_epu16_mask(__u, __a, __b);
171}
172
173__mmask32 test_mm256_cmpgt_epu8_mask(__m256i __a, __m256i __b) {
174 // CHECK-LABEL: @test_mm256_cmpgt_epu8_mask
175 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 6, i32 -1)
176 return (__mmask64)_mm256_cmpgt_epu8_mask(__a, __b);
177}
178
179__mmask32 test_mm256_mask_cmpgt_epu8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
180 // CHECK-LABEL: @test_mm256_mask_cmpgt_epu8_mask
181 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 6, i32 {{.*}})
182 return (__mmask64)_mm256_mask_cmpgt_epu8_mask(__u, __a, __b);
183}
184
185__mmask16 test_mm256_cmpgt_epu16_mask(__m256i __a, __m256i __b) {
186 // CHECK-LABEL: @test_mm256_cmpgt_epu16_mask
187 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 6, i16 -1)
188 return (__mmask32)_mm256_cmpgt_epu16_mask(__a, __b);
189}
190
191__mmask16 test_mm256_mask_cmpgt_epu16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
192 // CHECK-LABEL: @test_mm256_mask_cmpgt_epu16_mask
193 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 6, i16 {{.*}})
194 return (__mmask32)_mm256_mask_cmpgt_epu16_mask(__u, __a, __b);
195}
196
197__mmask16 test_mm_cmpge_epi8_mask(__m128i __a, __m128i __b) {
198 // CHECK-LABEL: @test_mm_cmpge_epi8_mask
199 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 5, i16 -1)
200 return (__mmask64)_mm_cmpge_epi8_mask(__a, __b);
201}
202
203__mmask16 test_mm_mask_cmpge_epi8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
204 // CHECK-LABEL: @test_mm_mask_cmpge_epi8_mask
205 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 5, i16 {{.*}})
206 return (__mmask64)_mm_mask_cmpge_epi8_mask(__u, __a, __b);
207}
208
209__mmask16 test_mm_cmpge_epu8_mask(__m128i __a, __m128i __b) {
210 // CHECK-LABEL: @test_mm_cmpge_epu8_mask
211 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 5, i16 -1)
212 return (__mmask64)_mm_cmpge_epu8_mask(__a, __b);
213}
214
215__mmask16 test_mm_mask_cmpge_epu8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
216 // CHECK-LABEL: @test_mm_mask_cmpge_epu8_mask
217 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 5, i16 {{.*}})
218 return (__mmask64)_mm_mask_cmpge_epu8_mask(__u, __a, __b);
219}
220
221__mmask8 test_mm_cmpge_epi16_mask(__m128i __a, __m128i __b) {
222 // CHECK-LABEL: @test_mm_cmpge_epi16_mask
223 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 5, i8 -1)
224 return (__mmask32)_mm_cmpge_epi16_mask(__a, __b);
225}
226
227__mmask8 test_mm_mask_cmpge_epi16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
228 // CHECK-LABEL: @test_mm_mask_cmpge_epi16_mask
229 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 5, i8 {{.*}})
230 return (__mmask32)_mm_mask_cmpge_epi16_mask(__u, __a, __b);
231}
232
233__mmask8 test_mm_cmpge_epu16_mask(__m128i __a, __m128i __b) {
234 // CHECK-LABEL: @test_mm_cmpge_epu16_mask
235 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 5, i8 -1)
236 return (__mmask32)_mm_cmpge_epu16_mask(__a, __b);
237}
238
239__mmask8 test_mm_mask_cmpge_epu16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
240 // CHECK-LABEL: @test_mm_mask_cmpge_epu16_mask
241 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 5, i8 {{.*}})
242 return (__mmask32)_mm_mask_cmpge_epu16_mask(__u, __a, __b);
243}
244
245__mmask32 test_mm256_cmpge_epi8_mask(__m256i __a, __m256i __b) {
246 // CHECK-LABEL: @test_mm256_cmpge_epi8_mask
247 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 5, i32 -1)
248 return (__mmask64)_mm256_cmpge_epi8_mask(__a, __b);
249}
250
251__mmask32 test_mm256_mask_cmpge_epi8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
252 // CHECK-LABEL: @test_mm256_mask_cmpge_epi8_mask
253 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 5, i32 {{.*}})
254 return (__mmask64)_mm256_mask_cmpge_epi8_mask(__u, __a, __b);
255}
256
257__mmask32 test_mm256_cmpge_epu8_mask(__m256i __a, __m256i __b) {
258 // CHECK-LABEL: @test_mm256_cmpge_epu8_mask
259 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 5, i32 -1)
260 return (__mmask64)_mm256_cmpge_epu8_mask(__a, __b);
261}
262
263__mmask32 test_mm256_mask_cmpge_epu8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
264 // CHECK-LABEL: @test_mm256_mask_cmpge_epu8_mask
265 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 5, i32 {{.*}})
266 return (__mmask64)_mm256_mask_cmpge_epu8_mask(__u, __a, __b);
267}
268
269__mmask16 test_mm256_cmpge_epi16_mask(__m256i __a, __m256i __b) {
270 // CHECK-LABEL: @test_mm256_cmpge_epi16_mask
271 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 5, i16 -1)
272 return (__mmask32)_mm256_cmpge_epi16_mask(__a, __b);
273}
274
275__mmask16 test_mm256_mask_cmpge_epi16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
276 // CHECK-LABEL: @test_mm256_mask_cmpge_epi16_mask
277 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 5, i16 {{.*}})
278 return (__mmask32)_mm256_mask_cmpge_epi16_mask(__u, __a, __b);
279}
280
281__mmask16 test_mm256_cmpge_epu16_mask(__m256i __a, __m256i __b) {
282 // CHECK-LABEL: @test_mm256_cmpge_epu16_mask
283 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 5, i16 -1)
284 return (__mmask32)_mm256_cmpge_epu16_mask(__a, __b);
285}
286
287__mmask16 test_mm256_mask_cmpge_epu16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
288 // CHECK-LABEL: @test_mm256_mask_cmpge_epu16_mask
289 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 5, i16 {{.*}})
290 return (__mmask32)_mm256_mask_cmpge_epu16_mask(__u, __a, __b);
291}
292
293__mmask16 test_mm_cmple_epi8_mask(__m128i __a, __m128i __b) {
294 // CHECK-LABEL: @test_mm_cmple_epi8_mask
295 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 2, i16 -1)
296 return (__mmask64)_mm_cmple_epi8_mask(__a, __b);
297}
298
299__mmask16 test_mm_mask_cmple_epi8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
300 // CHECK-LABEL: @test_mm_mask_cmple_epi8_mask
301 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 2, i16 {{.*}})
302 return (__mmask64)_mm_mask_cmple_epi8_mask(__u, __a, __b);
303}
304
305__mmask16 test_mm_cmple_epu8_mask(__m128i __a, __m128i __b) {
306 // CHECK-LABEL: @test_mm_cmple_epu8_mask
307 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 2, i16 -1)
308 return (__mmask64)_mm_cmple_epu8_mask(__a, __b);
309}
310
311__mmask16 test_mm_mask_cmple_epu8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
312 // CHECK-LABEL: @test_mm_mask_cmple_epu8_mask
313 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 2, i16 {{.*}})
314 return (__mmask64)_mm_mask_cmple_epu8_mask(__u, __a, __b);
315}
316
317__mmask8 test_mm_cmple_epi16_mask(__m128i __a, __m128i __b) {
318 // CHECK-LABEL: @test_mm_cmple_epi16_mask
319 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 2, i8 -1)
320 return (__mmask32)_mm_cmple_epi16_mask(__a, __b);
321}
322
323__mmask8 test_mm_mask_cmple_epi16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
324 // CHECK-LABEL: @test_mm_mask_cmple_epi16_mask
325 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 2, i8 {{.*}})
326 return (__mmask32)_mm_mask_cmple_epi16_mask(__u, __a, __b);
327}
328
329__mmask8 test_mm_cmple_epu16_mask(__m128i __a, __m128i __b) {
330 // CHECK-LABEL: @test_mm_cmple_epu16_mask
331 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 2, i8 -1)
332 return (__mmask32)_mm_cmple_epu16_mask(__a, __b);
333}
334
335__mmask8 test_mm_mask_cmple_epu16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
336 // CHECK-LABEL: @test_mm_mask_cmple_epu16_mask
337 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 2, i8 {{.*}})
338 return (__mmask32)_mm_mask_cmple_epu16_mask(__u, __a, __b);
339}
340
341__mmask32 test_mm256_cmple_epi8_mask(__m256i __a, __m256i __b) {
342 // CHECK-LABEL: @test_mm256_cmple_epi8_mask
343 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 2, i32 -1)
344 return (__mmask64)_mm256_cmple_epi8_mask(__a, __b);
345}
346
347__mmask32 test_mm256_mask_cmple_epi8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
348 // CHECK-LABEL: @test_mm256_mask_cmple_epi8_mask
349 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 2, i32 {{.*}})
350 return (__mmask64)_mm256_mask_cmple_epi8_mask(__u, __a, __b);
351}
352
353__mmask32 test_mm256_cmple_epu8_mask(__m256i __a, __m256i __b) {
354 // CHECK-LABEL: @test_mm256_cmple_epu8_mask
355 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 2, i32 -1)
356 return (__mmask64)_mm256_cmple_epu8_mask(__a, __b);
357}
358
359__mmask32 test_mm256_mask_cmple_epu8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
360 // CHECK-LABEL: @test_mm256_mask_cmple_epu8_mask
361 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 2, i32 {{.*}})
362 return (__mmask64)_mm256_mask_cmple_epu8_mask(__u, __a, __b);
363}
364
365__mmask16 test_mm256_cmple_epi16_mask(__m256i __a, __m256i __b) {
366 // CHECK-LABEL: @test_mm256_cmple_epi16_mask
367 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 2, i16 -1)
368 return (__mmask32)_mm256_cmple_epi16_mask(__a, __b);
369}
370
371__mmask16 test_mm256_mask_cmple_epi16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
372 // CHECK-LABEL: @test_mm256_mask_cmple_epi16_mask
373 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 2, i16 {{.*}})
374 return (__mmask32)_mm256_mask_cmple_epi16_mask(__u, __a, __b);
375}
376
377__mmask16 test_mm256_cmple_epu16_mask(__m256i __a, __m256i __b) {
378 // CHECK-LABEL: @test_mm256_cmple_epu16_mask
379 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 2, i16 -1)
380 return (__mmask32)_mm256_cmple_epu16_mask(__a, __b);
381}
382
383__mmask16 test_mm256_mask_cmple_epu16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
384 // CHECK-LABEL: @test_mm256_mask_cmple_epu16_mask
385 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 2, i16 {{.*}})
386 return (__mmask32)_mm256_mask_cmple_epu16_mask(__u, __a, __b);
387}
388
389__mmask16 test_mm_cmplt_epi8_mask(__m128i __a, __m128i __b) {
390 // CHECK-LABEL: @test_mm_cmplt_epi8_mask
391 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 1, i16 -1)
392 return (__mmask64)_mm_cmplt_epi8_mask(__a, __b);
393}
394
395__mmask16 test_mm_mask_cmplt_epi8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
396 // CHECK-LABEL: @test_mm_mask_cmplt_epi8_mask
397 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 1, i16 {{.*}})
398 return (__mmask64)_mm_mask_cmplt_epi8_mask(__u, __a, __b);
399}
400
401__mmask16 test_mm_cmplt_epu8_mask(__m128i __a, __m128i __b) {
402 // CHECK-LABEL: @test_mm_cmplt_epu8_mask
403 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 1, i16 -1)
404 return (__mmask64)_mm_cmplt_epu8_mask(__a, __b);
405}
406
407__mmask16 test_mm_mask_cmplt_epu8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
408 // CHECK-LABEL: @test_mm_mask_cmplt_epu8_mask
409 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 1, i16 {{.*}})
410 return (__mmask64)_mm_mask_cmplt_epu8_mask(__u, __a, __b);
411}
412
413__mmask8 test_mm_cmplt_epi16_mask(__m128i __a, __m128i __b) {
414 // CHECK-LABEL: @test_mm_cmplt_epi16_mask
415 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 1, i8 -1)
416 return (__mmask32)_mm_cmplt_epi16_mask(__a, __b);
417}
418
419__mmask8 test_mm_mask_cmplt_epi16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
420 // CHECK-LABEL: @test_mm_mask_cmplt_epi16_mask
421 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 1, i8 {{.*}})
422 return (__mmask32)_mm_mask_cmplt_epi16_mask(__u, __a, __b);
423}
424
425__mmask8 test_mm_cmplt_epu16_mask(__m128i __a, __m128i __b) {
426 // CHECK-LABEL: @test_mm_cmplt_epu16_mask
427 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 1, i8 -1)
428 return (__mmask32)_mm_cmplt_epu16_mask(__a, __b);
429}
430
431__mmask8 test_mm_mask_cmplt_epu16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
432 // CHECK-LABEL: @test_mm_mask_cmplt_epu16_mask
433 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 1, i8 {{.*}})
434 return (__mmask32)_mm_mask_cmplt_epu16_mask(__u, __a, __b);
435}
436
437__mmask32 test_mm256_cmplt_epi8_mask(__m256i __a, __m256i __b) {
438 // CHECK-LABEL: @test_mm256_cmplt_epi8_mask
439 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 1, i32 -1)
440 return (__mmask64)_mm256_cmplt_epi8_mask(__a, __b);
441}
442
443__mmask32 test_mm256_mask_cmplt_epi8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
444 // CHECK-LABEL: @test_mm256_mask_cmplt_epi8_mask
445 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 1, i32 {{.*}})
446 return (__mmask64)_mm256_mask_cmplt_epi8_mask(__u, __a, __b);
447}
448
449__mmask32 test_mm256_cmplt_epu8_mask(__m256i __a, __m256i __b) {
450 // CHECK-LABEL: @test_mm256_cmplt_epu8_mask
451 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 1, i32 -1)
452 return (__mmask64)_mm256_cmplt_epu8_mask(__a, __b);
453}
454
455__mmask32 test_mm256_mask_cmplt_epu8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
456 // CHECK-LABEL: @test_mm256_mask_cmplt_epu8_mask
457 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 1, i32 {{.*}})
458 return (__mmask64)_mm256_mask_cmplt_epu8_mask(__u, __a, __b);
459}
460
461__mmask16 test_mm256_cmplt_epi16_mask(__m256i __a, __m256i __b) {
462 // CHECK-LABEL: @test_mm256_cmplt_epi16_mask
463 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 1, i16 -1)
464 return (__mmask32)_mm256_cmplt_epi16_mask(__a, __b);
465}
466
467__mmask16 test_mm256_mask_cmplt_epi16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
468 // CHECK-LABEL: @test_mm256_mask_cmplt_epi16_mask
469 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 1, i16 {{.*}})
470 return (__mmask32)_mm256_mask_cmplt_epi16_mask(__u, __a, __b);
471}
472
473__mmask16 test_mm256_cmplt_epu16_mask(__m256i __a, __m256i __b) {
474 // CHECK-LABEL: @test_mm256_cmplt_epu16_mask
475 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 1, i16 -1)
476 return (__mmask32)_mm256_cmplt_epu16_mask(__a, __b);
477}
478
479__mmask16 test_mm256_mask_cmplt_epu16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
480 // CHECK-LABEL: @test_mm256_mask_cmplt_epu16_mask
481 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 1, i16 {{.*}})
482 return (__mmask32)_mm256_mask_cmplt_epu16_mask(__u, __a, __b);
483}
484
485__mmask16 test_mm_cmpneq_epi8_mask(__m128i __a, __m128i __b) {
486 // CHECK-LABEL: @test_mm_cmpneq_epi8_mask
487 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 4, i16 -1)
488 return (__mmask64)_mm_cmpneq_epi8_mask(__a, __b);
489}
490
491__mmask16 test_mm_mask_cmpneq_epi8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
492 // CHECK-LABEL: @test_mm_mask_cmpneq_epi8_mask
493 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 4, i16 {{.*}})
494 return (__mmask64)_mm_mask_cmpneq_epi8_mask(__u, __a, __b);
495}
496
497__mmask16 test_mm_cmpneq_epu8_mask(__m128i __a, __m128i __b) {
498 // CHECK-LABEL: @test_mm_cmpneq_epu8_mask
499 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 4, i16 -1)
500 return (__mmask64)_mm_cmpneq_epu8_mask(__a, __b);
501}
502
503__mmask16 test_mm_mask_cmpneq_epu8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
504 // CHECK-LABEL: @test_mm_mask_cmpneq_epu8_mask
505 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 4, i16 {{.*}})
506 return (__mmask64)_mm_mask_cmpneq_epu8_mask(__u, __a, __b);
507}
508
509__mmask8 test_mm_cmpneq_epi16_mask(__m128i __a, __m128i __b) {
510 // CHECK-LABEL: @test_mm_cmpneq_epi16_mask
511 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 4, i8 -1)
512 return (__mmask32)_mm_cmpneq_epi16_mask(__a, __b);
513}
514
515__mmask8 test_mm_mask_cmpneq_epi16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
516 // CHECK-LABEL: @test_mm_mask_cmpneq_epi16_mask
517 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 4, i8 {{.*}})
518 return (__mmask32)_mm_mask_cmpneq_epi16_mask(__u, __a, __b);
519}
520
521__mmask8 test_mm_cmpneq_epu16_mask(__m128i __a, __m128i __b) {
522 // CHECK-LABEL: @test_mm_cmpneq_epu16_mask
523 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 4, i8 -1)
524 return (__mmask32)_mm_cmpneq_epu16_mask(__a, __b);
525}
526
527__mmask8 test_mm_mask_cmpneq_epu16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
528 // CHECK-LABEL: @test_mm_mask_cmpneq_epu16_mask
529 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 4, i8 {{.*}})
530 return (__mmask32)_mm_mask_cmpneq_epu16_mask(__u, __a, __b);
531}
532
533__mmask32 test_mm256_cmpneq_epi8_mask(__m256i __a, __m256i __b) {
534 // CHECK-LABEL: @test_mm256_cmpneq_epi8_mask
535 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 4, i32 -1)
536 return (__mmask64)_mm256_cmpneq_epi8_mask(__a, __b);
537}
538
539__mmask32 test_mm256_mask_cmpneq_epi8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
540 // CHECK-LABEL: @test_mm256_mask_cmpneq_epi8_mask
541 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 4, i32 {{.*}})
542 return (__mmask64)_mm256_mask_cmpneq_epi8_mask(__u, __a, __b);
543}
544
545__mmask32 test_mm256_cmpneq_epu8_mask(__m256i __a, __m256i __b) {
546 // CHECK-LABEL: @test_mm256_cmpneq_epu8_mask
547 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 4, i32 -1)
548 return (__mmask64)_mm256_cmpneq_epu8_mask(__a, __b);
549}
550
551__mmask32 test_mm256_mask_cmpneq_epu8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
552 // CHECK-LABEL: @test_mm256_mask_cmpneq_epu8_mask
553 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 4, i32 {{.*}})
554 return (__mmask64)_mm256_mask_cmpneq_epu8_mask(__u, __a, __b);
555}
556
557__mmask16 test_mm256_cmpneq_epi16_mask(__m256i __a, __m256i __b) {
558 // CHECK-LABEL: @test_mm256_cmpneq_epi16_mask
559 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 4, i16 -1)
560 return (__mmask32)_mm256_cmpneq_epi16_mask(__a, __b);
561}
562
563__mmask16 test_mm256_mask_cmpneq_epi16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
564 // CHECK-LABEL: @test_mm256_mask_cmpneq_epi16_mask
565 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 4, i16 {{.*}})
566 return (__mmask32)_mm256_mask_cmpneq_epi16_mask(__u, __a, __b);
567}
568
569__mmask16 test_mm256_cmpneq_epu16_mask(__m256i __a, __m256i __b) {
570 // CHECK-LABEL: @test_mm256_cmpneq_epu16_mask
571 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 4, i16 -1)
572 return (__mmask32)_mm256_cmpneq_epu16_mask(__a, __b);
573}
574
575__mmask16 test_mm256_mask_cmpneq_epu16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
576 // CHECK-LABEL: @test_mm256_mask_cmpneq_epu16_mask
577 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 4, i16 {{.*}})
578 return (__mmask32)_mm256_mask_cmpneq_epu16_mask(__u, __a, __b);
579}
580
581__mmask16 test_mm_cmp_epi8_mask(__m128i __a, __m128i __b) {
582 // CHECK-LABEL: @test_mm_cmp_epi8_mask
583 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 7, i16 -1)
584 return (__mmask64)_mm_cmp_epi8_mask(__a, __b, 7);
585}
586
587__mmask16 test_mm_mask_cmp_epi8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
588 // CHECK-LABEL: @test_mm_mask_cmp_epi8_mask
589 // CHECK: @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 7, i16 {{.*}})
590 return (__mmask64)_mm_mask_cmp_epi8_mask(__u, __a, __b, 7);
591}
592
593__mmask16 test_mm_cmp_epu8_mask(__m128i __a, __m128i __b) {
594 // CHECK-LABEL: @test_mm_cmp_epu8_mask
595 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 7, i16 -1)
596 return (__mmask64)_mm_cmp_epu8_mask(__a, __b, 7);
597}
598
599__mmask16 test_mm_mask_cmp_epu8_mask(__mmask64 __u, __m128i __a, __m128i __b) {
600 // CHECK-LABEL: @test_mm_mask_cmp_epu8_mask
601 // CHECK: @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> {{.*}}, <16 x i8> {{.*}}, i8 7, i16 {{.*}})
602 return (__mmask64)_mm_mask_cmp_epu8_mask(__u, __a, __b, 7);
603}
604
605__mmask8 test_mm_cmp_epi16_mask(__m128i __a, __m128i __b) {
606 // CHECK-LABEL: @test_mm_cmp_epi16_mask
607 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 7, i8 -1)
608 return (__mmask32)_mm_cmp_epi16_mask(__a, __b, 7);
609}
610
611__mmask8 test_mm_mask_cmp_epi16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
612 // CHECK-LABEL: @test_mm_mask_cmp_epi16_mask
613 // CHECK: @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 7, i8 {{.*}})
614 return (__mmask32)_mm_mask_cmp_epi16_mask(__u, __a, __b, 7);
615}
616
617__mmask8 test_mm_cmp_epu16_mask(__m128i __a, __m128i __b) {
618 // CHECK-LABEL: @test_mm_cmp_epu16_mask
619 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 7, i8 -1)
620 return (__mmask32)_mm_cmp_epu16_mask(__a, __b, 7);
621}
622
623__mmask8 test_mm_mask_cmp_epu16_mask(__mmask32 __u, __m128i __a, __m128i __b) {
624 // CHECK-LABEL: @test_mm_mask_cmp_epu16_mask
625 // CHECK: @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> {{.*}}, <8 x i16> {{.*}}, i8 7, i8 {{.*}})
626 return (__mmask32)_mm_mask_cmp_epu16_mask(__u, __a, __b, 7);
627}
628
629__mmask32 test_mm256_cmp_epi8_mask(__m256i __a, __m256i __b) {
630 // CHECK-LABEL: @test_mm256_cmp_epi8_mask
631 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 7, i32 -1)
632 return (__mmask64)_mm256_cmp_epi8_mask(__a, __b, 7);
633}
634
635__mmask32 test_mm256_mask_cmp_epi8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
636 // CHECK-LABEL: @test_mm256_mask_cmp_epi8_mask
637 // CHECK: @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 7, i32 {{.*}})
638 return (__mmask64)_mm256_mask_cmp_epi8_mask(__u, __a, __b, 7);
639}
640
641__mmask32 test_mm256_cmp_epu8_mask(__m256i __a, __m256i __b) {
642 // CHECK-LABEL: @test_mm256_cmp_epu8_mask
643 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 7, i32 -1)
644 return (__mmask64)_mm256_cmp_epu8_mask(__a, __b, 7);
645}
646
647__mmask32 test_mm256_mask_cmp_epu8_mask(__mmask64 __u, __m256i __a, __m256i __b) {
648 // CHECK-LABEL: @test_mm256_mask_cmp_epu8_mask
649 // CHECK: @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> {{.*}}, <32 x i8> {{.*}}, i8 7, i32 {{.*}})
650 return (__mmask64)_mm256_mask_cmp_epu8_mask(__u, __a, __b, 7);
651}
652
653__mmask16 test_mm256_cmp_epi16_mask(__m256i __a, __m256i __b) {
654 // CHECK-LABEL: @test_mm256_cmp_epi16_mask
655 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 7, i16 -1)
656 return (__mmask32)_mm256_cmp_epi16_mask(__a, __b, 7);
657}
658
659__mmask16 test_mm256_mask_cmp_epi16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
660 // CHECK-LABEL: @test_mm256_mask_cmp_epi16_mask
661 // CHECK: @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 7, i16 {{.*}})
662 return (__mmask32)_mm256_mask_cmp_epi16_mask(__u, __a, __b, 7);
663}
664
665__mmask16 test_mm256_cmp_epu16_mask(__m256i __a, __m256i __b) {
666 // CHECK-LABEL: @test_mm256_cmp_epu16_mask
667 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 7, i16 -1)
668 return (__mmask32)_mm256_cmp_epu16_mask(__a, __b, 7);
669}
670
671__mmask16 test_mm256_mask_cmp_epu16_mask(__mmask32 __u, __m256i __a, __m256i __b) {
672 // CHECK-LABEL: @test_mm256_mask_cmp_epu16_mask
673 // CHECK: @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> {{.*}}, <16 x i16> {{.*}}, i8 7, i16 {{.*}})
674 return (__mmask32)_mm256_mask_cmp_epu16_mask(__u, __a, __b, 7);
675}