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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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