1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512bw -target-feature +avx512vl -emit-llvm -o - -Werror | FileCheck %s
2 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512bw -target-feature +avx512vl -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s
3 
4 // Don't include mm_malloc.h, it's system specific.
5 #define __MM_MALLOC_H
6 
7 #include <immintrin.h>
8 
test_mm256_cmpeq_epi8_mask(__m256i __a,__m256i __b)9 __mmask32 test_mm256_cmpeq_epi8_mask(__m256i __a, __m256i __b) {
10   // CHECK-LABEL: @test_mm256_cmpeq_epi8_mask
11   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
12   return (__mmask32)_mm256_cmpeq_epi8_mask(__a, __b);
13 }
14 
test_mm256_mask_cmpeq_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)15 __mmask32 test_mm256_mask_cmpeq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
16   // CHECK-LABEL: @test_mm256_mask_cmpeq_epi8_mask
17   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
18   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
19   return (__mmask32)_mm256_mask_cmpeq_epi8_mask(__u, __a, __b);
20 }
21 
test_mm_cmpeq_epi8_mask(__m128i __a,__m128i __b)22 __mmask16 test_mm_cmpeq_epi8_mask(__m128i __a, __m128i __b) {
23   // CHECK-LABEL: @test_mm_cmpeq_epi8_mask
24   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
25   return (__mmask16)_mm_cmpeq_epi8_mask(__a, __b);
26 }
27 
test_mm_mask_cmpeq_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)28 __mmask16 test_mm_mask_cmpeq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
29   // CHECK-LABEL: @test_mm_mask_cmpeq_epi8_mask
30   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
31   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
32   return (__mmask16)_mm_mask_cmpeq_epi8_mask(__u, __a, __b);
33 }
34 
test_mm256_cmpeq_epi16_mask(__m256i __a,__m256i __b)35 __mmask16 test_mm256_cmpeq_epi16_mask(__m256i __a, __m256i __b) {
36   // CHECK-LABEL: @test_mm256_cmpeq_epi16_mask
37   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
38   return (__mmask16)_mm256_cmpeq_epi16_mask(__a, __b);
39 }
40 
test_mm256_mask_cmpeq_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)41 __mmask16 test_mm256_mask_cmpeq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
42   // CHECK-LABEL: @test_mm256_mask_cmpeq_epi16_mask
43   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
44   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
45   return (__mmask16)_mm256_mask_cmpeq_epi16_mask(__u, __a, __b);
46 }
47 
test_mm_cmpeq_epi16_mask(__m128i __a,__m128i __b)48 __mmask8 test_mm_cmpeq_epi16_mask(__m128i __a, __m128i __b) {
49   // CHECK-LABEL: @test_mm_cmpeq_epi16_mask
50   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
51   return (__mmask8)_mm_cmpeq_epi16_mask(__a, __b);
52 }
53 
test_mm_mask_cmpeq_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)54 __mmask8 test_mm_mask_cmpeq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
55   // CHECK-LABEL: @test_mm_mask_cmpeq_epi16_mask
56   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
57   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
58   return (__mmask8)_mm_mask_cmpeq_epi16_mask(__u, __a, __b);
59 }
60 
test_mm256_cmpgt_epi8_mask(__m256i __a,__m256i __b)61 __mmask32 test_mm256_cmpgt_epi8_mask(__m256i __a, __m256i __b) {
62   // CHECK-LABEL: @test_mm256_cmpgt_epi8_mask
63   // CHECK: icmp sgt <32 x i8> %{{.*}}, %{{.*}}
64   return (__mmask32)_mm256_cmpgt_epi8_mask(__a, __b);
65 }
66 
test_mm256_mask_cmpgt_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)67 __mmask32 test_mm256_mask_cmpgt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
68   // CHECK-LABEL: @test_mm256_mask_cmpgt_epi8_mask
69   // CHECK: icmp sgt <32 x i8> %{{.*}}, %{{.*}}
70   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
71   return (__mmask32)_mm256_mask_cmpgt_epi8_mask(__u, __a, __b);
72 }
73 
test_mm_cmpgt_epi8_mask(__m128i __a,__m128i __b)74 __mmask16 test_mm_cmpgt_epi8_mask(__m128i __a, __m128i __b) {
75   // CHECK-LABEL: @test_mm_cmpgt_epi8_mask
76   // CHECK: icmp sgt <16 x i8> %{{.*}}, %{{.*}}
77   return (__mmask16)_mm_cmpgt_epi8_mask(__a, __b);
78 }
79 
test_mm_mask_cmpgt_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)80 __mmask16 test_mm_mask_cmpgt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
81   // CHECK-LABEL: @test_mm_mask_cmpgt_epi8_mask
82   // CHECK: icmp sgt <16 x i8> %{{.*}}, %{{.*}}
83   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
84   return (__mmask16)_mm_mask_cmpgt_epi8_mask(__u, __a, __b);
85 }
86 
test_mm256_cmpgt_epi16_mask(__m256i __a,__m256i __b)87 __mmask16 test_mm256_cmpgt_epi16_mask(__m256i __a, __m256i __b) {
88   // CHECK-LABEL: @test_mm256_cmpgt_epi16_mask
89   // CHECK: icmp sgt <16 x i16> %{{.*}}, %{{.*}}
90   return (__mmask16)_mm256_cmpgt_epi16_mask(__a, __b);
91 }
92 
test_mm256_mask_cmpgt_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)93 __mmask16 test_mm256_mask_cmpgt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
94   // CHECK-LABEL: @test_mm256_mask_cmpgt_epi16_mask
95   // CHECK: icmp sgt <16 x i16> %{{.*}}, %{{.*}}
96   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
97   return (__mmask16)_mm256_mask_cmpgt_epi16_mask(__u, __a, __b);
98 }
99 
test_mm_cmpgt_epi16_mask(__m128i __a,__m128i __b)100 __mmask8 test_mm_cmpgt_epi16_mask(__m128i __a, __m128i __b) {
101   // CHECK-LABEL: @test_mm_cmpgt_epi16_mask
102   // CHECK: icmp sgt <8 x i16> %{{.*}}, %{{.*}}
103   return (__mmask8)_mm_cmpgt_epi16_mask(__a, __b);
104 }
105 
test_mm_mask_cmpgt_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)106 __mmask8 test_mm_mask_cmpgt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
107   // CHECK-LABEL: @test_mm_mask_cmpgt_epi16_mask
108   // CHECK: icmp sgt <8 x i16> %{{.*}}, %{{.*}}
109   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
110   return (__mmask8)_mm_mask_cmpgt_epi16_mask(__u, __a, __b);
111 }
112 
test_mm_cmpeq_epu8_mask(__m128i __a,__m128i __b)113 __mmask16 test_mm_cmpeq_epu8_mask(__m128i __a, __m128i __b) {
114   // CHECK-LABEL: @test_mm_cmpeq_epu8_mask
115   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
116   return (__mmask16)_mm_cmpeq_epu8_mask(__a, __b);
117 }
118 
test_mm_mask_cmpeq_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)119 __mmask16 test_mm_mask_cmpeq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
120   // CHECK-LABEL: @test_mm_mask_cmpeq_epu8_mask
121   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
122   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
123   return (__mmask16)_mm_mask_cmpeq_epu8_mask(__u, __a, __b);
124 }
125 
test_mm_cmpeq_epu16_mask(__m128i __a,__m128i __b)126 __mmask8 test_mm_cmpeq_epu16_mask(__m128i __a, __m128i __b) {
127   // CHECK-LABEL: @test_mm_cmpeq_epu16_mask
128   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
129   return (__mmask8)_mm_cmpeq_epu16_mask(__a, __b);
130 }
131 
test_mm_mask_cmpeq_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)132 __mmask8 test_mm_mask_cmpeq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
133   // CHECK-LABEL: @test_mm_mask_cmpeq_epu16_mask
134   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
135   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
136   return (__mmask8)_mm_mask_cmpeq_epu16_mask(__u, __a, __b);
137 }
138 
test_mm256_cmpeq_epu8_mask(__m256i __a,__m256i __b)139 __mmask32 test_mm256_cmpeq_epu8_mask(__m256i __a, __m256i __b) {
140   // CHECK-LABEL: @test_mm256_cmpeq_epu8_mask
141   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
142   return (__mmask32)_mm256_cmpeq_epu8_mask(__a, __b);
143 }
144 
test_mm256_mask_cmpeq_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)145 __mmask32 test_mm256_mask_cmpeq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
146   // CHECK-LABEL: @test_mm256_mask_cmpeq_epu8_mask
147   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
148   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
149   return (__mmask32)_mm256_mask_cmpeq_epu8_mask(__u, __a, __b);
150 }
151 
test_mm256_cmpeq_epu16_mask(__m256i __a,__m256i __b)152 __mmask16 test_mm256_cmpeq_epu16_mask(__m256i __a, __m256i __b) {
153   // CHECK-LABEL: @test_mm256_cmpeq_epu16_mask
154   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
155   return (__mmask16)_mm256_cmpeq_epu16_mask(__a, __b);
156 }
157 
test_mm256_mask_cmpeq_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)158 __mmask16 test_mm256_mask_cmpeq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
159   // CHECK-LABEL: @test_mm256_mask_cmpeq_epu16_mask
160   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
161   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
162   return (__mmask16)_mm256_mask_cmpeq_epu16_mask(__u, __a, __b);
163 }
164 
test_mm_cmpgt_epu8_mask(__m128i __a,__m128i __b)165 __mmask16 test_mm_cmpgt_epu8_mask(__m128i __a, __m128i __b) {
166   // CHECK-LABEL: @test_mm_cmpgt_epu8_mask
167   // CHECK: icmp ugt <16 x i8> %{{.*}}, %{{.*}}
168   return (__mmask16)_mm_cmpgt_epu8_mask(__a, __b);
169 }
170 
test_mm_mask_cmpgt_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)171 __mmask16 test_mm_mask_cmpgt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
172   // CHECK-LABEL: @test_mm_mask_cmpgt_epu8_mask
173   // CHECK: icmp ugt <16 x i8> %{{.*}}, %{{.*}}
174   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
175   return (__mmask16)_mm_mask_cmpgt_epu8_mask(__u, __a, __b);
176 }
177 
test_mm_cmpgt_epu16_mask(__m128i __a,__m128i __b)178 __mmask8 test_mm_cmpgt_epu16_mask(__m128i __a, __m128i __b) {
179   // CHECK-LABEL: @test_mm_cmpgt_epu16_mask
180   // CHECK: icmp ugt <8 x i16> %{{.*}}, %{{.*}}
181   return (__mmask8)_mm_cmpgt_epu16_mask(__a, __b);
182 }
183 
test_mm_mask_cmpgt_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)184 __mmask8 test_mm_mask_cmpgt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
185   // CHECK-LABEL: @test_mm_mask_cmpgt_epu16_mask
186   // CHECK: icmp ugt <8 x i16> %{{.*}}, %{{.*}}
187   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
188   return (__mmask8)_mm_mask_cmpgt_epu16_mask(__u, __a, __b);
189 }
190 
test_mm256_cmpgt_epu8_mask(__m256i __a,__m256i __b)191 __mmask32 test_mm256_cmpgt_epu8_mask(__m256i __a, __m256i __b) {
192   // CHECK-LABEL: @test_mm256_cmpgt_epu8_mask
193   // CHECK: icmp ugt <32 x i8> %{{.*}}, %{{.*}}
194   return (__mmask32)_mm256_cmpgt_epu8_mask(__a, __b);
195 }
196 
test_mm256_mask_cmpgt_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)197 __mmask32 test_mm256_mask_cmpgt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
198   // CHECK-LABEL: @test_mm256_mask_cmpgt_epu8_mask
199   // CHECK: icmp ugt <32 x i8> %{{.*}}, %{{.*}}
200   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
201   return (__mmask32)_mm256_mask_cmpgt_epu8_mask(__u, __a, __b);
202 }
203 
test_mm256_cmpgt_epu16_mask(__m256i __a,__m256i __b)204 __mmask16 test_mm256_cmpgt_epu16_mask(__m256i __a, __m256i __b) {
205   // CHECK-LABEL: @test_mm256_cmpgt_epu16_mask
206   // CHECK: icmp ugt <16 x i16> %{{.*}}, %{{.*}}
207   return (__mmask16)_mm256_cmpgt_epu16_mask(__a, __b);
208 }
209 
test_mm256_mask_cmpgt_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)210 __mmask16 test_mm256_mask_cmpgt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
211   // CHECK-LABEL: @test_mm256_mask_cmpgt_epu16_mask
212   // CHECK: icmp ugt <16 x i16> %{{.*}}, %{{.*}}
213   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
214   return (__mmask16)_mm256_mask_cmpgt_epu16_mask(__u, __a, __b);
215 }
216 
test_mm_cmpge_epi8_mask(__m128i __a,__m128i __b)217 __mmask16 test_mm_cmpge_epi8_mask(__m128i __a, __m128i __b) {
218   // CHECK-LABEL: @test_mm_cmpge_epi8_mask
219   // CHECK: icmp sge <16 x i8> %{{.*}}, %{{.*}}
220   return (__mmask16)_mm_cmpge_epi8_mask(__a, __b);
221 }
222 
test_mm_mask_cmpge_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)223 __mmask16 test_mm_mask_cmpge_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
224   // CHECK-LABEL: @test_mm_mask_cmpge_epi8_mask
225   // CHECK: icmp sge <16 x i8> %{{.*}}, %{{.*}}
226   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
227   return (__mmask16)_mm_mask_cmpge_epi8_mask(__u, __a, __b);
228 }
229 
test_mm_cmpge_epu8_mask(__m128i __a,__m128i __b)230 __mmask16 test_mm_cmpge_epu8_mask(__m128i __a, __m128i __b) {
231   // CHECK-LABEL: @test_mm_cmpge_epu8_mask
232   // CHECK: icmp uge <16 x i8> %{{.*}}, %{{.*}}
233   return (__mmask16)_mm_cmpge_epu8_mask(__a, __b);
234 }
235 
test_mm_mask_cmpge_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)236 __mmask16 test_mm_mask_cmpge_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
237   // CHECK-LABEL: @test_mm_mask_cmpge_epu8_mask
238   // CHECK: icmp uge <16 x i8> %{{.*}}, %{{.*}}
239   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
240   return (__mmask16)_mm_mask_cmpge_epu8_mask(__u, __a, __b);
241 }
242 
test_mm_cmpge_epi16_mask(__m128i __a,__m128i __b)243 __mmask8 test_mm_cmpge_epi16_mask(__m128i __a, __m128i __b) {
244   // CHECK-LABEL: @test_mm_cmpge_epi16_mask
245   // CHECK: icmp sge <8 x i16> %{{.*}}, %{{.*}}
246   return (__mmask8)_mm_cmpge_epi16_mask(__a, __b);
247 }
248 
test_mm_mask_cmpge_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)249 __mmask8 test_mm_mask_cmpge_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
250   // CHECK-LABEL: @test_mm_mask_cmpge_epi16_mask
251   // CHECK: icmp sge <8 x i16> %{{.*}}, %{{.*}}
252   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
253   return (__mmask8)_mm_mask_cmpge_epi16_mask(__u, __a, __b);
254 }
255 
test_mm_cmpge_epu16_mask(__m128i __a,__m128i __b)256 __mmask8 test_mm_cmpge_epu16_mask(__m128i __a, __m128i __b) {
257   // CHECK-LABEL: @test_mm_cmpge_epu16_mask
258   // CHECK: icmp uge <8 x i16> %{{.*}}, %{{.*}}
259   return (__mmask8)_mm_cmpge_epu16_mask(__a, __b);
260 }
261 
test_mm_mask_cmpge_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)262 __mmask8 test_mm_mask_cmpge_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
263   // CHECK-LABEL: @test_mm_mask_cmpge_epu16_mask
264   // CHECK: icmp uge <8 x i16> %{{.*}}, %{{.*}}
265   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
266   return (__mmask8)_mm_mask_cmpge_epu16_mask(__u, __a, __b);
267 }
268 
test_mm256_cmpge_epi8_mask(__m256i __a,__m256i __b)269 __mmask32 test_mm256_cmpge_epi8_mask(__m256i __a, __m256i __b) {
270   // CHECK-LABEL: @test_mm256_cmpge_epi8_mask
271   // CHECK: icmp sge <32 x i8> %{{.*}}, %{{.*}}
272   return (__mmask32)_mm256_cmpge_epi8_mask(__a, __b);
273 }
274 
test_mm256_mask_cmpge_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)275 __mmask32 test_mm256_mask_cmpge_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
276   // CHECK-LABEL: @test_mm256_mask_cmpge_epi8_mask
277   // CHECK: icmp sge <32 x i8> %{{.*}}, %{{.*}}
278   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
279   return (__mmask32)_mm256_mask_cmpge_epi8_mask(__u, __a, __b);
280 }
281 
test_mm256_cmpge_epu8_mask(__m256i __a,__m256i __b)282 __mmask32 test_mm256_cmpge_epu8_mask(__m256i __a, __m256i __b) {
283   // CHECK-LABEL: @test_mm256_cmpge_epu8_mask
284   // CHECK: icmp uge <32 x i8> %{{.*}}, %{{.*}}
285   return (__mmask32)_mm256_cmpge_epu8_mask(__a, __b);
286 }
287 
test_mm256_mask_cmpge_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)288 __mmask32 test_mm256_mask_cmpge_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
289   // CHECK-LABEL: @test_mm256_mask_cmpge_epu8_mask
290   // CHECK: icmp uge <32 x i8> %{{.*}}, %{{.*}}
291   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
292   return (__mmask32)_mm256_mask_cmpge_epu8_mask(__u, __a, __b);
293 }
294 
test_mm256_cmpge_epi16_mask(__m256i __a,__m256i __b)295 __mmask16 test_mm256_cmpge_epi16_mask(__m256i __a, __m256i __b) {
296   // CHECK-LABEL: @test_mm256_cmpge_epi16_mask
297   // CHECK: icmp sge <16 x i16> %{{.*}}, %{{.*}}
298   return (__mmask16)_mm256_cmpge_epi16_mask(__a, __b);
299 }
300 
test_mm256_mask_cmpge_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)301 __mmask16 test_mm256_mask_cmpge_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
302   // CHECK-LABEL: @test_mm256_mask_cmpge_epi16_mask
303   // CHECK: icmp sge <16 x i16> %{{.*}}, %{{.*}}
304   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
305   return (__mmask16)_mm256_mask_cmpge_epi16_mask(__u, __a, __b);
306 }
307 
test_mm256_cmpge_epu16_mask(__m256i __a,__m256i __b)308 __mmask16 test_mm256_cmpge_epu16_mask(__m256i __a, __m256i __b) {
309   // CHECK-LABEL: @test_mm256_cmpge_epu16_mask
310   // CHECK: icmp uge <16 x i16> %{{.*}}, %{{.*}}
311   return (__mmask16)_mm256_cmpge_epu16_mask(__a, __b);
312 }
313 
test_mm256_mask_cmpge_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)314 __mmask16 test_mm256_mask_cmpge_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
315   // CHECK-LABEL: @test_mm256_mask_cmpge_epu16_mask
316   // CHECK: icmp uge <16 x i16> %{{.*}}, %{{.*}}
317   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
318   return (__mmask16)_mm256_mask_cmpge_epu16_mask(__u, __a, __b);
319 }
320 
test_mm_cmple_epi8_mask(__m128i __a,__m128i __b)321 __mmask16 test_mm_cmple_epi8_mask(__m128i __a, __m128i __b) {
322   // CHECK-LABEL: @test_mm_cmple_epi8_mask
323   // CHECK: icmp sle <16 x i8> %{{.*}}, %{{.*}}
324   return (__mmask16)_mm_cmple_epi8_mask(__a, __b);
325 }
326 
test_mm_mask_cmple_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)327 __mmask16 test_mm_mask_cmple_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
328   // CHECK-LABEL: @test_mm_mask_cmple_epi8_mask
329   // CHECK: icmp sle <16 x i8> %{{.*}}, %{{.*}}
330   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
331   return (__mmask16)_mm_mask_cmple_epi8_mask(__u, __a, __b);
332 }
333 
test_mm_cmple_epu8_mask(__m128i __a,__m128i __b)334 __mmask16 test_mm_cmple_epu8_mask(__m128i __a, __m128i __b) {
335   // CHECK-LABEL: @test_mm_cmple_epu8_mask
336   // CHECK: icmp ule <16 x i8> %{{.*}}, %{{.*}}
337   return (__mmask16)_mm_cmple_epu8_mask(__a, __b);
338 }
339 
test_mm_mask_cmple_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)340 __mmask16 test_mm_mask_cmple_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
341   // CHECK-LABEL: @test_mm_mask_cmple_epu8_mask
342   // CHECK: icmp ule <16 x i8> %{{.*}}, %{{.*}}
343   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
344   return (__mmask16)_mm_mask_cmple_epu8_mask(__u, __a, __b);
345 }
346 
test_mm_cmple_epi16_mask(__m128i __a,__m128i __b)347 __mmask8 test_mm_cmple_epi16_mask(__m128i __a, __m128i __b) {
348   // CHECK-LABEL: @test_mm_cmple_epi16_mask
349   // CHECK: icmp sle <8 x i16> %{{.*}}, %{{.*}}
350   return (__mmask8)_mm_cmple_epi16_mask(__a, __b);
351 }
352 
test_mm_mask_cmple_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)353 __mmask8 test_mm_mask_cmple_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
354   // CHECK-LABEL: @test_mm_mask_cmple_epi16_mask
355   // CHECK: icmp sle <8 x i16> %{{.*}}, %{{.*}}
356   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
357   return (__mmask8)_mm_mask_cmple_epi16_mask(__u, __a, __b);
358 }
359 
test_mm_cmple_epu16_mask(__m128i __a,__m128i __b)360 __mmask8 test_mm_cmple_epu16_mask(__m128i __a, __m128i __b) {
361   // CHECK-LABEL: @test_mm_cmple_epu16_mask
362   // CHECK: icmp ule <8 x i16> %{{.*}}, %{{.*}}
363   return (__mmask8)_mm_cmple_epu16_mask(__a, __b);
364 }
365 
test_mm_mask_cmple_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)366 __mmask8 test_mm_mask_cmple_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
367   // CHECK-LABEL: @test_mm_mask_cmple_epu16_mask
368   // CHECK: icmp ule <8 x i16> %{{.*}}, %{{.*}}
369   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
370   return (__mmask8)_mm_mask_cmple_epu16_mask(__u, __a, __b);
371 }
372 
test_mm256_cmple_epi8_mask(__m256i __a,__m256i __b)373 __mmask32 test_mm256_cmple_epi8_mask(__m256i __a, __m256i __b) {
374   // CHECK-LABEL: @test_mm256_cmple_epi8_mask
375   // CHECK: icmp sle <32 x i8> %{{.*}}, %{{.*}}
376   return (__mmask32)_mm256_cmple_epi8_mask(__a, __b);
377 }
378 
test_mm256_mask_cmple_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)379 __mmask32 test_mm256_mask_cmple_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
380   // CHECK-LABEL: @test_mm256_mask_cmple_epi8_mask
381   // CHECK: icmp sle <32 x i8> %{{.*}}, %{{.*}}
382   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
383   return (__mmask32)_mm256_mask_cmple_epi8_mask(__u, __a, __b);
384 }
385 
test_mm256_cmple_epu8_mask(__m256i __a,__m256i __b)386 __mmask32 test_mm256_cmple_epu8_mask(__m256i __a, __m256i __b) {
387   // CHECK-LABEL: @test_mm256_cmple_epu8_mask
388   // CHECK: icmp ule <32 x i8> %{{.*}}, %{{.*}}
389   return (__mmask32)_mm256_cmple_epu8_mask(__a, __b);
390 }
391 
test_mm256_mask_cmple_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)392 __mmask32 test_mm256_mask_cmple_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
393   // CHECK-LABEL: @test_mm256_mask_cmple_epu8_mask
394   // CHECK: icmp ule <32 x i8> %{{.*}}, %{{.*}}
395   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
396   return (__mmask32)_mm256_mask_cmple_epu8_mask(__u, __a, __b);
397 }
398 
test_mm256_cmple_epi16_mask(__m256i __a,__m256i __b)399 __mmask16 test_mm256_cmple_epi16_mask(__m256i __a, __m256i __b) {
400   // CHECK-LABEL: @test_mm256_cmple_epi16_mask
401   // CHECK: icmp sle <16 x i16> %{{.*}}, %{{.*}}
402   return (__mmask16)_mm256_cmple_epi16_mask(__a, __b);
403 }
404 
test_mm256_mask_cmple_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)405 __mmask16 test_mm256_mask_cmple_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
406   // CHECK-LABEL: @test_mm256_mask_cmple_epi16_mask
407   // CHECK: icmp sle <16 x i16> %{{.*}}, %{{.*}}
408   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
409   return (__mmask16)_mm256_mask_cmple_epi16_mask(__u, __a, __b);
410 }
411 
test_mm256_cmple_epu16_mask(__m256i __a,__m256i __b)412 __mmask16 test_mm256_cmple_epu16_mask(__m256i __a, __m256i __b) {
413   // CHECK-LABEL: @test_mm256_cmple_epu16_mask
414   // CHECK: icmp ule <16 x i16> %{{.*}}, %{{.*}}
415   return (__mmask16)_mm256_cmple_epu16_mask(__a, __b);
416 }
417 
test_mm256_mask_cmple_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)418 __mmask16 test_mm256_mask_cmple_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
419   // CHECK-LABEL: @test_mm256_mask_cmple_epu16_mask
420   // CHECK: icmp ule <16 x i16> %{{.*}}, %{{.*}}
421   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
422   return (__mmask16)_mm256_mask_cmple_epu16_mask(__u, __a, __b);
423 }
424 
test_mm_cmplt_epi8_mask(__m128i __a,__m128i __b)425 __mmask16 test_mm_cmplt_epi8_mask(__m128i __a, __m128i __b) {
426   // CHECK-LABEL: @test_mm_cmplt_epi8_mask
427   // CHECK: icmp slt <16 x i8> %{{.*}}, %{{.*}}
428   return (__mmask16)_mm_cmplt_epi8_mask(__a, __b);
429 }
430 
test_mm_mask_cmplt_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)431 __mmask16 test_mm_mask_cmplt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
432   // CHECK-LABEL: @test_mm_mask_cmplt_epi8_mask
433   // CHECK: icmp slt <16 x i8> %{{.*}}, %{{.*}}
434   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
435   return (__mmask16)_mm_mask_cmplt_epi8_mask(__u, __a, __b);
436 }
437 
test_mm_cmplt_epu8_mask(__m128i __a,__m128i __b)438 __mmask16 test_mm_cmplt_epu8_mask(__m128i __a, __m128i __b) {
439   // CHECK-LABEL: @test_mm_cmplt_epu8_mask
440   // CHECK: icmp ult <16 x i8> %{{.*}}, %{{.*}}
441   return (__mmask16)_mm_cmplt_epu8_mask(__a, __b);
442 }
443 
test_mm_mask_cmplt_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)444 __mmask16 test_mm_mask_cmplt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
445   // CHECK-LABEL: @test_mm_mask_cmplt_epu8_mask
446   // CHECK: icmp ult <16 x i8> %{{.*}}, %{{.*}}
447   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
448   return (__mmask16)_mm_mask_cmplt_epu8_mask(__u, __a, __b);
449 }
450 
test_mm_cmplt_epi16_mask(__m128i __a,__m128i __b)451 __mmask8 test_mm_cmplt_epi16_mask(__m128i __a, __m128i __b) {
452   // CHECK-LABEL: @test_mm_cmplt_epi16_mask
453   // CHECK: icmp slt <8 x i16> %{{.*}}, %{{.*}}
454   return (__mmask8)_mm_cmplt_epi16_mask(__a, __b);
455 }
456 
test_mm_mask_cmplt_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)457 __mmask8 test_mm_mask_cmplt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
458   // CHECK-LABEL: @test_mm_mask_cmplt_epi16_mask
459   // CHECK: icmp slt <8 x i16> %{{.*}}, %{{.*}}
460   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
461   return (__mmask8)_mm_mask_cmplt_epi16_mask(__u, __a, __b);
462 }
463 
test_mm_cmplt_epu16_mask(__m128i __a,__m128i __b)464 __mmask8 test_mm_cmplt_epu16_mask(__m128i __a, __m128i __b) {
465   // CHECK-LABEL: @test_mm_cmplt_epu16_mask
466   // CHECK: icmp ult <8 x i16> %{{.*}}, %{{.*}}
467   return (__mmask8)_mm_cmplt_epu16_mask(__a, __b);
468 }
469 
test_mm_mask_cmplt_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)470 __mmask8 test_mm_mask_cmplt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
471   // CHECK-LABEL: @test_mm_mask_cmplt_epu16_mask
472   // CHECK: icmp ult <8 x i16> %{{.*}}, %{{.*}}
473   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
474   return (__mmask8)_mm_mask_cmplt_epu16_mask(__u, __a, __b);
475 }
476 
test_mm256_cmplt_epi8_mask(__m256i __a,__m256i __b)477 __mmask32 test_mm256_cmplt_epi8_mask(__m256i __a, __m256i __b) {
478   // CHECK-LABEL: @test_mm256_cmplt_epi8_mask
479   // CHECK: icmp slt <32 x i8> %{{.*}}, %{{.*}}
480   return (__mmask32)_mm256_cmplt_epi8_mask(__a, __b);
481 }
482 
test_mm256_mask_cmplt_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)483 __mmask32 test_mm256_mask_cmplt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
484   // CHECK-LABEL: @test_mm256_mask_cmplt_epi8_mask
485   // CHECK: icmp slt <32 x i8> %{{.*}}, %{{.*}}
486   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
487   return (__mmask32)_mm256_mask_cmplt_epi8_mask(__u, __a, __b);
488 }
489 
test_mm256_cmplt_epu8_mask(__m256i __a,__m256i __b)490 __mmask32 test_mm256_cmplt_epu8_mask(__m256i __a, __m256i __b) {
491   // CHECK-LABEL: @test_mm256_cmplt_epu8_mask
492   // CHECK: icmp ult <32 x i8> %{{.*}}, %{{.*}}
493   return (__mmask32)_mm256_cmplt_epu8_mask(__a, __b);
494 }
495 
test_mm256_mask_cmplt_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)496 __mmask32 test_mm256_mask_cmplt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
497   // CHECK-LABEL: @test_mm256_mask_cmplt_epu8_mask
498   // CHECK: icmp ult <32 x i8> %{{.*}}, %{{.*}}
499   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
500   return (__mmask32)_mm256_mask_cmplt_epu8_mask(__u, __a, __b);
501 }
502 
test_mm256_cmplt_epi16_mask(__m256i __a,__m256i __b)503 __mmask16 test_mm256_cmplt_epi16_mask(__m256i __a, __m256i __b) {
504   // CHECK-LABEL: @test_mm256_cmplt_epi16_mask
505   // CHECK: icmp slt <16 x i16> %{{.*}}, %{{.*}}
506   return (__mmask16)_mm256_cmplt_epi16_mask(__a, __b);
507 }
508 
test_mm256_mask_cmplt_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)509 __mmask16 test_mm256_mask_cmplt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
510   // CHECK-LABEL: @test_mm256_mask_cmplt_epi16_mask
511   // CHECK: icmp slt <16 x i16> %{{.*}}, %{{.*}}
512   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
513   return (__mmask16)_mm256_mask_cmplt_epi16_mask(__u, __a, __b);
514 }
515 
test_mm256_cmplt_epu16_mask(__m256i __a,__m256i __b)516 __mmask16 test_mm256_cmplt_epu16_mask(__m256i __a, __m256i __b) {
517   // CHECK-LABEL: @test_mm256_cmplt_epu16_mask
518   // CHECK: icmp ult <16 x i16> %{{.*}}, %{{.*}}
519   return (__mmask16)_mm256_cmplt_epu16_mask(__a, __b);
520 }
521 
test_mm256_mask_cmplt_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)522 __mmask16 test_mm256_mask_cmplt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
523   // CHECK-LABEL: @test_mm256_mask_cmplt_epu16_mask
524   // CHECK: icmp ult <16 x i16> %{{.*}}, %{{.*}}
525   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
526   return (__mmask16)_mm256_mask_cmplt_epu16_mask(__u, __a, __b);
527 }
528 
test_mm_cmpneq_epi8_mask(__m128i __a,__m128i __b)529 __mmask16 test_mm_cmpneq_epi8_mask(__m128i __a, __m128i __b) {
530   // CHECK-LABEL: @test_mm_cmpneq_epi8_mask
531   // CHECK: icmp ne <16 x i8> %{{.*}}, %{{.*}}
532   return (__mmask16)_mm_cmpneq_epi8_mask(__a, __b);
533 }
534 
test_mm_mask_cmpneq_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)535 __mmask16 test_mm_mask_cmpneq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
536   // CHECK-LABEL: @test_mm_mask_cmpneq_epi8_mask
537   // CHECK: icmp ne <16 x i8> %{{.*}}, %{{.*}}
538   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
539   return (__mmask16)_mm_mask_cmpneq_epi8_mask(__u, __a, __b);
540 }
541 
test_mm_cmpneq_epu8_mask(__m128i __a,__m128i __b)542 __mmask16 test_mm_cmpneq_epu8_mask(__m128i __a, __m128i __b) {
543   // CHECK-LABEL: @test_mm_cmpneq_epu8_mask
544   // CHECK: icmp ne <16 x i8> %{{.*}}, %{{.*}}
545   return (__mmask16)_mm_cmpneq_epu8_mask(__a, __b);
546 }
547 
test_mm_mask_cmpneq_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)548 __mmask16 test_mm_mask_cmpneq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
549   // CHECK-LABEL: @test_mm_mask_cmpneq_epu8_mask
550   // CHECK: icmp ne <16 x i8> %{{.*}}, %{{.*}}
551   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
552   return (__mmask16)_mm_mask_cmpneq_epu8_mask(__u, __a, __b);
553 }
554 
test_mm_cmpneq_epi16_mask(__m128i __a,__m128i __b)555 __mmask8 test_mm_cmpneq_epi16_mask(__m128i __a, __m128i __b) {
556   // CHECK-LABEL: @test_mm_cmpneq_epi16_mask
557   // CHECK: icmp ne <8 x i16> %{{.*}}, %{{.*}}
558   return (__mmask8)_mm_cmpneq_epi16_mask(__a, __b);
559 }
560 
test_mm_mask_cmpneq_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)561 __mmask8 test_mm_mask_cmpneq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
562   // CHECK-LABEL: @test_mm_mask_cmpneq_epi16_mask
563   // CHECK: icmp ne <8 x i16> %{{.*}}, %{{.*}}
564   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
565   return (__mmask8)_mm_mask_cmpneq_epi16_mask(__u, __a, __b);
566 }
567 
test_mm_cmpneq_epu16_mask(__m128i __a,__m128i __b)568 __mmask8 test_mm_cmpneq_epu16_mask(__m128i __a, __m128i __b) {
569   // CHECK-LABEL: @test_mm_cmpneq_epu16_mask
570   // CHECK: icmp ne <8 x i16> %{{.*}}, %{{.*}}
571   return (__mmask8)_mm_cmpneq_epu16_mask(__a, __b);
572 }
573 
test_mm_mask_cmpneq_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)574 __mmask8 test_mm_mask_cmpneq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
575   // CHECK-LABEL: @test_mm_mask_cmpneq_epu16_mask
576   // CHECK: icmp ne <8 x i16> %{{.*}}, %{{.*}}
577   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
578   return (__mmask8)_mm_mask_cmpneq_epu16_mask(__u, __a, __b);
579 }
580 
test_mm256_cmpneq_epi8_mask(__m256i __a,__m256i __b)581 __mmask32 test_mm256_cmpneq_epi8_mask(__m256i __a, __m256i __b) {
582   // CHECK-LABEL: @test_mm256_cmpneq_epi8_mask
583   // CHECK: icmp ne <32 x i8> %{{.*}}, %{{.*}}
584   return (__mmask32)_mm256_cmpneq_epi8_mask(__a, __b);
585 }
586 
test_mm256_mask_cmpneq_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)587 __mmask32 test_mm256_mask_cmpneq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
588   // CHECK-LABEL: @test_mm256_mask_cmpneq_epi8_mask
589   // CHECK: icmp ne <32 x i8> %{{.*}}, %{{.*}}
590   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
591   return (__mmask32)_mm256_mask_cmpneq_epi8_mask(__u, __a, __b);
592 }
593 
test_mm256_cmpneq_epu8_mask(__m256i __a,__m256i __b)594 __mmask32 test_mm256_cmpneq_epu8_mask(__m256i __a, __m256i __b) {
595   // CHECK-LABEL: @test_mm256_cmpneq_epu8_mask
596   // CHECK: icmp ne <32 x i8> %{{.*}}, %{{.*}}
597   return (__mmask32)_mm256_cmpneq_epu8_mask(__a, __b);
598 }
599 
test_mm256_mask_cmpneq_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)600 __mmask32 test_mm256_mask_cmpneq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
601   // CHECK-LABEL: @test_mm256_mask_cmpneq_epu8_mask
602   // CHECK: icmp ne <32 x i8> %{{.*}}, %{{.*}}
603   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
604   return (__mmask32)_mm256_mask_cmpneq_epu8_mask(__u, __a, __b);
605 }
606 
test_mm256_cmpneq_epi16_mask(__m256i __a,__m256i __b)607 __mmask16 test_mm256_cmpneq_epi16_mask(__m256i __a, __m256i __b) {
608   // CHECK-LABEL: @test_mm256_cmpneq_epi16_mask
609   // CHECK: icmp ne <16 x i16> %{{.*}}, %{{.*}}
610   return (__mmask16)_mm256_cmpneq_epi16_mask(__a, __b);
611 }
612 
test_mm256_mask_cmpneq_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)613 __mmask16 test_mm256_mask_cmpneq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
614   // CHECK-LABEL: @test_mm256_mask_cmpneq_epi16_mask
615   // CHECK: icmp ne <16 x i16> %{{.*}}, %{{.*}}
616   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
617   return (__mmask16)_mm256_mask_cmpneq_epi16_mask(__u, __a, __b);
618 }
619 
test_mm256_cmpneq_epu16_mask(__m256i __a,__m256i __b)620 __mmask16 test_mm256_cmpneq_epu16_mask(__m256i __a, __m256i __b) {
621   // CHECK-LABEL: @test_mm256_cmpneq_epu16_mask
622   // CHECK: icmp ne <16 x i16> %{{.*}}, %{{.*}}
623   return (__mmask16)_mm256_cmpneq_epu16_mask(__a, __b);
624 }
625 
test_mm256_mask_cmpneq_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)626 __mmask16 test_mm256_mask_cmpneq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
627   // CHECK-LABEL: @test_mm256_mask_cmpneq_epu16_mask
628   // CHECK: icmp ne <16 x i16> %{{.*}}, %{{.*}}
629   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
630   return (__mmask16)_mm256_mask_cmpneq_epu16_mask(__u, __a, __b);
631 }
632 
test_mm_cmp_epi8_mask(__m128i __a,__m128i __b)633 __mmask16 test_mm_cmp_epi8_mask(__m128i __a, __m128i __b) {
634   // CHECK-LABEL: @test_mm_cmp_epi8_mask
635   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
636   return (__mmask16)_mm_cmp_epi8_mask(__a, __b, 0);
637 }
638 
test_mm_mask_cmp_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)639 __mmask16 test_mm_mask_cmp_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
640   // CHECK-LABEL: @test_mm_mask_cmp_epi8_mask
641   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
642   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
643   return (__mmask16)_mm_mask_cmp_epi8_mask(__u, __a, __b, 0);
644 }
645 
test_mm_cmp_epu8_mask(__m128i __a,__m128i __b)646 __mmask16 test_mm_cmp_epu8_mask(__m128i __a, __m128i __b) {
647   // CHECK-LABEL: @test_mm_cmp_epu8_mask
648   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
649   return (__mmask16)_mm_cmp_epu8_mask(__a, __b, 0);
650 }
651 
test_mm_mask_cmp_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)652 __mmask16 test_mm_mask_cmp_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
653   // CHECK-LABEL: @test_mm_mask_cmp_epu8_mask
654   // CHECK: icmp eq <16 x i8> %{{.*}}, %{{.*}}
655   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
656   return (__mmask16)_mm_mask_cmp_epu8_mask(__u, __a, __b, 0);
657 }
658 
test_mm_cmp_epi16_mask(__m128i __a,__m128i __b)659 __mmask8 test_mm_cmp_epi16_mask(__m128i __a, __m128i __b) {
660   // CHECK-LABEL: @test_mm_cmp_epi16_mask
661   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
662   return (__mmask8)_mm_cmp_epi16_mask(__a, __b, 0);
663 }
664 
test_mm_mask_cmp_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)665 __mmask8 test_mm_mask_cmp_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
666   // CHECK-LABEL: @test_mm_mask_cmp_epi16_mask
667   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
668   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
669   return (__mmask8)_mm_mask_cmp_epi16_mask(__u, __a, __b, 0);
670 }
671 
test_mm_cmp_epu16_mask(__m128i __a,__m128i __b)672 __mmask8 test_mm_cmp_epu16_mask(__m128i __a, __m128i __b) {
673   // CHECK-LABEL: @test_mm_cmp_epu16_mask
674   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
675   return (__mmask8)_mm_cmp_epu16_mask(__a, __b, 0);
676 }
677 
test_mm_mask_cmp_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)678 __mmask8 test_mm_mask_cmp_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
679   // CHECK-LABEL: @test_mm_mask_cmp_epu16_mask
680   // CHECK: icmp eq <8 x i16> %{{.*}}, %{{.*}}
681   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
682   return (__mmask8)_mm_mask_cmp_epu16_mask(__u, __a, __b, 0);
683 }
684 
test_mm256_cmp_epi8_mask(__m256i __a,__m256i __b)685 __mmask32 test_mm256_cmp_epi8_mask(__m256i __a, __m256i __b) {
686   // CHECK-LABEL: @test_mm256_cmp_epi8_mask
687   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
688   return (__mmask32)_mm256_cmp_epi8_mask(__a, __b, 0);
689 }
690 
test_mm256_mask_cmp_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)691 __mmask32 test_mm256_mask_cmp_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
692   // CHECK-LABEL: @test_mm256_mask_cmp_epi8_mask
693   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
694   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
695   return (__mmask32)_mm256_mask_cmp_epi8_mask(__u, __a, __b, 0);
696 }
697 
test_mm256_cmp_epu8_mask(__m256i __a,__m256i __b)698 __mmask32 test_mm256_cmp_epu8_mask(__m256i __a, __m256i __b) {
699   // CHECK-LABEL: @test_mm256_cmp_epu8_mask
700   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
701   return (__mmask32)_mm256_cmp_epu8_mask(__a, __b, 0);
702 }
703 
test_mm256_mask_cmp_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)704 __mmask32 test_mm256_mask_cmp_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
705   // CHECK-LABEL: @test_mm256_mask_cmp_epu8_mask
706   // CHECK: icmp eq <32 x i8> %{{.*}}, %{{.*}}
707   // CHECK: and <32 x i1> %{{.*}}, %{{.*}}
708   return (__mmask32)_mm256_mask_cmp_epu8_mask(__u, __a, __b, 0);
709 }
710 
test_mm256_cmp_epi16_mask(__m256i __a,__m256i __b)711 __mmask16 test_mm256_cmp_epi16_mask(__m256i __a, __m256i __b) {
712   // CHECK-LABEL: @test_mm256_cmp_epi16_mask
713   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
714   return (__mmask16)_mm256_cmp_epi16_mask(__a, __b, 0);
715 }
716 
test_mm256_mask_cmp_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)717 __mmask16 test_mm256_mask_cmp_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
718   // CHECK-LABEL: @test_mm256_mask_cmp_epi16_mask
719   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
720   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
721   return (__mmask16)_mm256_mask_cmp_epi16_mask(__u, __a, __b, 0);
722 }
723 
test_mm256_cmp_epu16_mask(__m256i __a,__m256i __b)724 __mmask16 test_mm256_cmp_epu16_mask(__m256i __a, __m256i __b) {
725   // CHECK-LABEL: @test_mm256_cmp_epu16_mask
726   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
727   return (__mmask16)_mm256_cmp_epu16_mask(__a, __b, 0);
728 }
729 
test_mm256_mask_cmp_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)730 __mmask16 test_mm256_mask_cmp_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
731   // CHECK-LABEL: @test_mm256_mask_cmp_epu16_mask
732   // CHECK: icmp eq <16 x i16> %{{.*}}, %{{.*}}
733   // CHECK: and <16 x i1> %{{.*}}, %{{.*}}
734   return (__mmask16)_mm256_mask_cmp_epu16_mask(__u, __a, __b, 0);
735 }
736 
737 
test_mm256_mask_add_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)738 __m256i test_mm256_mask_add_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B){
739   //CHECK-LABEL: @test_mm256_mask_add_epi8
740   //CHECK: @llvm.x86.avx512.mask.padd.b.256
741   return _mm256_mask_add_epi8(__W, __U , __A, __B);
742 }
743 
test_mm256_maskz_add_epi8(__mmask32 __U,__m256i __A,__m256i __B)744 __m256i test_mm256_maskz_add_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
745   //CHECK-LABEL: @test_mm256_maskz_add_epi8
746   //CHECK: @llvm.x86.avx512.mask.padd.b.256
747   return _mm256_maskz_add_epi8(__U , __A, __B);
748 }
test_mm256_mask_add_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)749 __m256i test_mm256_mask_add_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
750   //CHECK-LABEL: @test_mm256_mask_add_epi16
751   //CHECK: @llvm.x86.avx512.mask.padd.w.256
752   return _mm256_mask_add_epi16(__W, __U , __A, __B);
753 }
754 
test_mm256_maskz_add_epi16(__mmask16 __U,__m256i __A,__m256i __B)755 __m256i test_mm256_maskz_add_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
756   //CHECK-LABEL: @test_mm256_maskz_add_epi16
757   //CHECK: @llvm.x86.avx512.mask.padd.w.256
758   return _mm256_maskz_add_epi16(__U , __A, __B);
759 }
760 
test_mm256_mask_sub_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)761 __m256i test_mm256_mask_sub_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
762   //CHECK-LABEL: @test_mm256_mask_sub_epi8
763   //CHECK: @llvm.x86.avx512.mask.psub.b.256
764   return _mm256_mask_sub_epi8(__W, __U , __A, __B);
765 }
766 
test_mm256_maskz_sub_epi8(__mmask32 __U,__m256i __A,__m256i __B)767 __m256i test_mm256_maskz_sub_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
768   //CHECK-LABEL: @test_mm256_maskz_sub_epi8
769   //CHECK: @llvm.x86.avx512.mask.psub.b.256
770   return _mm256_maskz_sub_epi8(__U , __A, __B);
771 }
772 
test_mm256_mask_sub_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)773 __m256i test_mm256_mask_sub_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
774   //CHECK-LABEL: @test_mm256_mask_sub_epi16
775   //CHECK: @llvm.x86.avx512.mask.psub.w.256
776   return _mm256_mask_sub_epi16(__W, __U , __A, __B);
777 }
778 
test_mm256_maskz_sub_epi16(__mmask16 __U,__m256i __A,__m256i __B)779 __m256i test_mm256_maskz_sub_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
780   //CHECK-LABEL: @test_mm256_maskz_sub_epi16
781   //CHECK: @llvm.x86.avx512.mask.psub.w.256
782   return _mm256_maskz_sub_epi16(__U , __A, __B);
783 }
test_mm_mask_add_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)784 __m128i test_mm_mask_add_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
785   //CHECK-LABEL: @test_mm_mask_add_epi8
786   //CHECK: @llvm.x86.avx512.mask.padd.b.128
787   return _mm_mask_add_epi8(__W, __U , __A, __B);
788 }
789 
test_mm_maskz_add_epi8(__mmask16 __U,__m128i __A,__m128i __B)790 __m128i test_mm_maskz_add_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
791   //CHECK-LABEL: @test_mm_maskz_add_epi8
792   //CHECK: @llvm.x86.avx512.mask.padd.b.128
793   return _mm_maskz_add_epi8(__U , __A, __B);
794 }
795 
test_mm_mask_add_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)796 __m128i test_mm_mask_add_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
797   //CHECK-LABEL: @test_mm_mask_add_epi16
798   //CHECK: @llvm.x86.avx512.mask.padd.w.128
799   return _mm_mask_add_epi16(__W, __U , __A, __B);
800 }
801 
test_mm_maskz_add_epi16(__mmask8 __U,__m128i __A,__m128i __B)802 __m128i test_mm_maskz_add_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
803   //CHECK-LABEL: @test_mm_maskz_add_epi16
804   //CHECK: @llvm.x86.avx512.mask.padd.w.128
805   return _mm_maskz_add_epi16(__U , __A, __B);
806 }
807 
test_mm_mask_sub_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)808 __m128i test_mm_mask_sub_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
809   //CHECK-LABEL: @test_mm_mask_sub_epi8
810   //CHECK: @llvm.x86.avx512.mask.psub.b.128
811   return _mm_mask_sub_epi8(__W, __U , __A, __B);
812 }
813 
test_mm_maskz_sub_epi8(__mmask16 __U,__m128i __A,__m128i __B)814 __m128i test_mm_maskz_sub_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
815   //CHECK-LABEL: @test_mm_maskz_sub_epi8
816   //CHECK: @llvm.x86.avx512.mask.psub.b.128
817   return _mm_maskz_sub_epi8(__U , __A, __B);
818 }
819 
test_mm_mask_sub_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)820 __m128i test_mm_mask_sub_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
821   //CHECK-LABEL: @test_mm_mask_sub_epi16
822   //CHECK: @llvm.x86.avx512.mask.psub.w.128
823   return _mm_mask_sub_epi16(__W, __U , __A, __B);
824 }
825 
test_mm_maskz_sub_epi16(__mmask8 __U,__m128i __A,__m128i __B)826 __m128i test_mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
827   //CHECK-LABEL: @test_mm_maskz_sub_epi16
828   //CHECK: @llvm.x86.avx512.mask.psub.w.128
829   return _mm_maskz_sub_epi16(__U , __A, __B);
830 }
831 
test_mm256_mask_mullo_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)832 __m256i test_mm256_mask_mullo_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
833   //CHECK-LABEL: @test_mm256_mask_mullo_epi16
834   //CHECK: @llvm.x86.avx512.mask.pmull.w.256
835   return _mm256_mask_mullo_epi16(__W, __U , __A, __B);
836 }
837 
test_mm256_maskz_mullo_epi16(__mmask16 __U,__m256i __A,__m256i __B)838 __m256i test_mm256_maskz_mullo_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
839   //CHECK-LABEL: @test_mm256_maskz_mullo_epi16
840   //CHECK: @llvm.x86.avx512.mask.pmull.w.256
841   return _mm256_maskz_mullo_epi16(__U , __A, __B);
842 }
843 
test_mm_mask_mullo_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)844 __m128i test_mm_mask_mullo_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
845   //CHECK-LABEL: @test_mm_mask_mullo_epi16
846   //CHECK: @llvm.x86.avx512.mask.pmull.w.128
847   return _mm_mask_mullo_epi16(__W, __U , __A, __B);
848 }
849 
test_mm_maskz_mullo_epi16(__mmask8 __U,__m128i __A,__m128i __B)850 __m128i test_mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
851   //CHECK-LABEL: @test_mm_maskz_mullo_epi16
852   //CHECK: @llvm.x86.avx512.mask.pmull.w.128
853   return _mm_maskz_mullo_epi16(__U , __A, __B);
854 }
855 
856 
test_mm_mask_blend_epi8(__mmask16 __U,__m128i __A,__m128i __W)857 __m128i test_mm_mask_blend_epi8(__mmask16 __U, __m128i __A, __m128i __W) {
858   // CHECK-LABEL: @test_mm_mask_blend_epi8
859   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
860   return _mm_mask_blend_epi8(__U,__A,__W);
861 }
test_mm256_mask_blend_epi8(__mmask32 __U,__m256i __A,__m256i __W)862 __m256i test_mm256_mask_blend_epi8(__mmask32 __U, __m256i __A, __m256i __W) {
863   // CHECK-LABEL: @test_mm256_mask_blend_epi8
864   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
865   return _mm256_mask_blend_epi8(__U,__A,__W);
866 }
867 
test_mm_mask_blend_epi16(__mmask8 __U,__m128i __A,__m128i __W)868 __m128i test_mm_mask_blend_epi16(__mmask8 __U, __m128i __A, __m128i __W) {
869   // CHECK-LABEL: @test_mm_mask_blend_epi16
870   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
871   return _mm_mask_blend_epi16(__U,__A,__W);
872 }
873 
test_mm256_mask_blend_epi16(__mmask16 __U,__m256i __A,__m256i __W)874 __m256i test_mm256_mask_blend_epi16(__mmask16 __U, __m256i __A, __m256i __W) {
875   // CHECK-LABEL: @test_mm256_mask_blend_epi16
876   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
877   return _mm256_mask_blend_epi16(__U,__A,__W);
878 }
879 
test_mm_mask_abs_epi8(__m128i __W,__mmask16 __U,__m128i __A)880 __m128i test_mm_mask_abs_epi8(__m128i __W, __mmask16 __U, __m128i __A) {
881   // CHECK-LABEL: @test_mm_mask_abs_epi8
882   // CHECK: @llvm.x86.avx512.mask.pabs.b.128
883   return _mm_mask_abs_epi8(__W,__U,__A);
884 }
885 
test_mm_maskz_abs_epi8(__mmask16 __U,__m128i __A)886 __m128i test_mm_maskz_abs_epi8(__mmask16 __U, __m128i __A) {
887   // CHECK-LABEL: @test_mm_maskz_abs_epi8
888   // CHECK: @llvm.x86.avx512.mask.pabs.b.128
889   return _mm_maskz_abs_epi8(__U,__A);
890 }
891 
test_mm256_mask_abs_epi8(__m256i __W,__mmask32 __U,__m256i __A)892 __m256i test_mm256_mask_abs_epi8(__m256i __W, __mmask32 __U, __m256i __A) {
893   // CHECK-LABEL: @test_mm256_mask_abs_epi8
894   // CHECK: @llvm.x86.avx512.mask.pabs.b.256
895   return _mm256_mask_abs_epi8(__W,__U,__A);
896 }
897 
test_mm256_maskz_abs_epi8(__mmask32 __U,__m256i __A)898 __m256i test_mm256_maskz_abs_epi8(__mmask32 __U, __m256i __A) {
899   // CHECK-LABEL: @test_mm256_maskz_abs_epi8
900   // CHECK: @llvm.x86.avx512.mask.pabs.b.256
901   return _mm256_maskz_abs_epi8(__U,__A);
902 }
903 
test_mm_mask_abs_epi16(__m128i __W,__mmask8 __U,__m128i __A)904 __m128i test_mm_mask_abs_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
905   // CHECK-LABEL: @test_mm_mask_abs_epi16
906   // CHECK: @llvm.x86.avx512.mask.pabs.w.128
907   return _mm_mask_abs_epi16(__W,__U,__A);
908 }
909 
test_mm_maskz_abs_epi16(__mmask8 __U,__m128i __A)910 __m128i test_mm_maskz_abs_epi16(__mmask8 __U, __m128i __A) {
911   // CHECK-LABEL: @test_mm_maskz_abs_epi16
912   // CHECK: @llvm.x86.avx512.mask.pabs.w.128
913   return _mm_maskz_abs_epi16(__U,__A);
914 }
915 
test_mm256_mask_abs_epi16(__m256i __W,__mmask16 __U,__m256i __A)916 __m256i test_mm256_mask_abs_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
917   // CHECK-LABEL: @test_mm256_mask_abs_epi16
918   // CHECK: @llvm.x86.avx512.mask.pabs.w.256
919   return _mm256_mask_abs_epi16(__W,__U,__A);
920 }
921 
test_mm256_maskz_abs_epi16(__mmask16 __U,__m256i __A)922 __m256i test_mm256_maskz_abs_epi16(__mmask16 __U, __m256i __A) {
923   // CHECK-LABEL: @test_mm256_maskz_abs_epi16
924   // CHECK: @llvm.x86.avx512.mask.pabs.w.256
925   return _mm256_maskz_abs_epi16(__U,__A);
926 }
927 
test_mm_maskz_packs_epi32(__mmask8 __M,__m128i __A,__m128i __B)928 __m128i test_mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
929   // CHECK-LABEL: @test_mm_maskz_packs_epi32
930   // CHECK: @llvm.x86.avx512.mask.packssdw.128
931   return _mm_maskz_packs_epi32(__M,__A,__B);
932 }
test_mm_mask_packs_epi32(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)933 __m128i test_mm_mask_packs_epi32(__m128i __W, __mmask16 __M, __m128i __A,          __m128i __B) {
934   // CHECK-LABEL: @test_mm_mask_packs_epi32
935   // CHECK: @llvm.x86.avx512.mask.packssdw.128
936   return _mm_mask_packs_epi32(__W,__M,__A,__B);
937 }
test_mm256_maskz_packs_epi32(__mmask16 __M,__m256i __A,__m256i __B)938 __m256i test_mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B) {
939   // CHECK-LABEL: @test_mm256_maskz_packs_epi32
940   // CHECK: @llvm.x86.avx512.mask.packssdw.256
941   return _mm256_maskz_packs_epi32(__M,__A,__B);
942 }
test_mm256_mask_packs_epi32(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)943 __m256i test_mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A,       __m256i __B) {
944   // CHECK-LABEL: @test_mm256_mask_packs_epi32
945   // CHECK: @llvm.x86.avx512.mask.packssdw.256
946   return _mm256_mask_packs_epi32(__W,__M,__A,__B);
947 }
test_mm_maskz_packs_epi16(__mmask16 __M,__m128i __A,__m128i __B)948 __m128i test_mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B) {
949   // CHECK-LABEL: @test_mm_maskz_packs_epi16
950   // CHECK: @llvm.x86.avx512.mask.packsswb.128
951   return _mm_maskz_packs_epi16(__M,__A,__B);
952 }
test_mm_mask_packs_epi16(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)953 __m128i test_mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A,          __m128i __B) {
954   // CHECK-LABEL: @test_mm_mask_packs_epi16
955   // CHECK: @llvm.x86.avx512.mask.packsswb.128
956   return _mm_mask_packs_epi16(__W,__M,__A,__B);
957 }
test_mm256_maskz_packs_epi16(__mmask32 __M,__m256i __A,__m256i __B)958 __m256i test_mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B) {
959   // CHECK-LABEL: @test_mm256_maskz_packs_epi16
960   // CHECK: @llvm.x86.avx512.mask.packsswb.256
961   return _mm256_maskz_packs_epi16(__M,__A,__B);
962 }
test_mm256_mask_packs_epi16(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)963 __m256i test_mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A,       __m256i __B) {
964   // CHECK-LABEL: @test_mm256_mask_packs_epi16
965   // CHECK: @llvm.x86.avx512.mask.packsswb.256
966   return _mm256_mask_packs_epi16(__W,__M,__A,__B);
967 }
968 
test_mm_mask_packus_epi32(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)969 __m128i test_mm_mask_packus_epi32(__m128i __W, __mmask16 __M, __m128i __A,           __m128i __B) {
970   // CHECK-LABEL: @test_mm_mask_packus_epi32
971   // CHECK: @llvm.x86.avx512.mask.packusdw.128
972   return _mm_mask_packus_epi32(__W,__M,__A,__B);
973 }
974 
test_mm_maskz_packus_epi32(__mmask8 __M,__m128i __A,__m128i __B)975 __m128i test_mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
976   // CHECK-LABEL: @test_mm_maskz_packus_epi32
977   // CHECK: @llvm.x86.avx512.mask.packusdw.128
978   return _mm_maskz_packus_epi32(__M,__A,__B);
979 }
980 
test_mm256_maskz_packus_epi32(__mmask16 __M,__m256i __A,__m256i __B)981 __m256i test_mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B) {
982   // CHECK-LABEL: @test_mm256_maskz_packus_epi32
983   // CHECK: @llvm.x86.avx512.mask.packusdw.256
984   return _mm256_maskz_packus_epi32(__M,__A,__B);
985 }
986 
test_mm256_mask_packus_epi32(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)987 __m256i test_mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A,        __m256i __B) {
988   // CHECK-LABEL: @test_mm256_mask_packus_epi32
989   // CHECK: @llvm.x86.avx512.mask.packusdw.256
990   return _mm256_mask_packus_epi32(__W,__M,__A,__B);
991 }
992 
test_mm_maskz_packus_epi16(__mmask16 __M,__m128i __A,__m128i __B)993 __m128i test_mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B) {
994   // CHECK-LABEL: @test_mm_maskz_packus_epi16
995   // CHECK: @llvm.x86.avx512.mask.packuswb.128
996   return _mm_maskz_packus_epi16(__M,__A,__B);
997 }
998 
test_mm_mask_packus_epi16(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)999 __m128i test_mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A,           __m128i __B) {
1000   // CHECK-LABEL: @test_mm_mask_packus_epi16
1001   // CHECK: @llvm.x86.avx512.mask.packuswb.128
1002   return _mm_mask_packus_epi16(__W,__M,__A,__B);
1003 }
1004 
test_mm256_maskz_packus_epi16(__mmask32 __M,__m256i __A,__m256i __B)1005 __m256i test_mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B) {
1006   // CHECK-LABEL: @test_mm256_maskz_packus_epi16
1007   // CHECK: @llvm.x86.avx512.mask.packuswb.256
1008   return _mm256_maskz_packus_epi16(__M,__A,__B);
1009 }
1010 
test_mm256_mask_packus_epi16(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1011 __m256i test_mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A,        __m256i __B) {
1012   // CHECK-LABEL: @test_mm256_mask_packus_epi16
1013   // CHECK: @llvm.x86.avx512.mask.packuswb.256
1014   return _mm256_mask_packus_epi16(__W,__M,__A,__B);
1015 }
1016 
test_mm_mask_adds_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1017 __m128i test_mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A,        __m128i __B) {
1018   // CHECK-LABEL: @test_mm_mask_adds_epi8
1019   // CHECK: @llvm.x86.avx512.mask.padds.b.128
1020   return _mm_mask_adds_epi8(__W,__U,__A,__B);
1021 }
test_mm_maskz_adds_epi8(__mmask16 __U,__m128i __A,__m128i __B)1022 __m128i test_mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1023   // CHECK-LABEL: @test_mm_maskz_adds_epi8
1024   // CHECK: @llvm.x86.avx512.mask.padds.b.128
1025   return _mm_maskz_adds_epi8(__U,__A,__B);
1026 }
test_mm256_mask_adds_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1027 __m256i test_mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A,           __m256i __B) {
1028   // CHECK-LABEL: @test_mm256_mask_adds_epi8
1029   // CHECK: @llvm.x86.avx512.mask.padds.b.256
1030   return _mm256_mask_adds_epi8(__W,__U,__A,__B);
1031 }
test_mm256_maskz_adds_epi8(__mmask32 __U,__m256i __A,__m256i __B)1032 __m256i test_mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1033   // CHECK-LABEL: @test_mm256_maskz_adds_epi8
1034   // CHECK: @llvm.x86.avx512.mask.padds.b.256
1035   return _mm256_maskz_adds_epi8(__U,__A,__B);
1036 }
test_mm_mask_adds_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1037 __m128i test_mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A,         __m128i __B) {
1038   // CHECK-LABEL: @test_mm_mask_adds_epi16
1039   // CHECK: @llvm.x86.avx512.mask.padds.w.128
1040   return _mm_mask_adds_epi16(__W,__U,__A,__B);
1041 }
test_mm_maskz_adds_epi16(__mmask8 __U,__m128i __A,__m128i __B)1042 __m128i test_mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1043   // CHECK-LABEL: @test_mm_maskz_adds_epi16
1044   // CHECK: @llvm.x86.avx512.mask.padds.w.128
1045   return _mm_maskz_adds_epi16(__U,__A,__B);
1046 }
test_mm256_mask_adds_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1047 __m256i test_mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A,      __m256i __B) {
1048   // CHECK-LABEL: @test_mm256_mask_adds_epi16
1049   // CHECK: @llvm.x86.avx512.mask.padds.w.256
1050   return _mm256_mask_adds_epi16(__W,__U,__A,__B);
1051 }
test_mm256_maskz_adds_epi16(__mmask16 __U,__m256i __A,__m256i __B)1052 __m256i test_mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1053   // CHECK-LABEL: @test_mm256_maskz_adds_epi16
1054   // CHECK: @llvm.x86.avx512.mask.padds.w.256
1055   return _mm256_maskz_adds_epi16(__U,__A,__B);
1056 }
test_mm_mask_adds_epu8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1057 __m128i test_mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A,        __m128i __B) {
1058   // CHECK-LABEL: @test_mm_mask_adds_epu8
1059   // CHECK: @llvm.x86.avx512.mask.paddus.b.128
1060   return _mm_mask_adds_epu8(__W,__U,__A,__B);
1061 }
test_mm_maskz_adds_epu8(__mmask16 __U,__m128i __A,__m128i __B)1062 __m128i test_mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
1063   // CHECK-LABEL: @test_mm_maskz_adds_epu8
1064   // CHECK: @llvm.x86.avx512.mask.paddus.b.128
1065   return _mm_maskz_adds_epu8(__U,__A,__B);
1066 }
test_mm256_mask_adds_epu8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1067 __m256i test_mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A,           __m256i __B) {
1068   // CHECK-LABEL: @test_mm256_mask_adds_epu8
1069   // CHECK: @llvm.x86.avx512.mask.paddus.b.256
1070   return _mm256_mask_adds_epu8(__W,__U,__A,__B);
1071 }
test_mm256_maskz_adds_epu8(__mmask32 __U,__m256i __A,__m256i __B)1072 __m256i test_mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
1073   // CHECK-LABEL: @test_mm256_maskz_adds_epu8
1074   // CHECK: @llvm.x86.avx512.mask.paddus.b.256
1075   return _mm256_maskz_adds_epu8(__U,__A,__B);
1076 }
test_mm_mask_adds_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1077 __m128i test_mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A,         __m128i __B) {
1078   // CHECK-LABEL: @test_mm_mask_adds_epu16
1079   // CHECK: @llvm.x86.avx512.mask.paddus.w.128
1080   return _mm_mask_adds_epu16(__W,__U,__A,__B);
1081 }
test_mm_maskz_adds_epu16(__mmask8 __U,__m128i __A,__m128i __B)1082 __m128i test_mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
1083   // CHECK-LABEL: @test_mm_maskz_adds_epu16
1084   // CHECK: @llvm.x86.avx512.mask.paddus.w.128
1085   return _mm_maskz_adds_epu16(__U,__A,__B);
1086 }
test_mm256_mask_adds_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1087 __m256i test_mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A,      __m256i __B) {
1088   // CHECK-LABEL: @test_mm256_mask_adds_epu16
1089   // CHECK: @llvm.x86.avx512.mask.paddus.w.256
1090   return _mm256_mask_adds_epu16(__W,__U,__A,__B);
1091 }
test_mm256_maskz_adds_epu16(__mmask16 __U,__m256i __A,__m256i __B)1092 __m256i test_mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
1093   // CHECK-LABEL: @test_mm256_maskz_adds_epu16
1094   // CHECK: @llvm.x86.avx512.mask.paddus.w.256
1095   return _mm256_maskz_adds_epu16(__U,__A,__B);
1096 }
test_mm_mask_avg_epu8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1097 __m128i test_mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A,       __m128i __B) {
1098   // CHECK-LABEL: @test_mm_mask_avg_epu8
1099   // CHECK: @llvm.x86.avx512.mask.pavg.b.128
1100   return _mm_mask_avg_epu8(__W,__U,__A,__B);
1101 }
test_mm_maskz_avg_epu8(__mmask16 __U,__m128i __A,__m128i __B)1102 __m128i test_mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
1103   // CHECK-LABEL: @test_mm_maskz_avg_epu8
1104   // CHECK: @llvm.x86.avx512.mask.pavg.b.128
1105   return _mm_maskz_avg_epu8(__U,__A,__B);
1106 }
test_mm256_mask_avg_epu8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1107 __m256i test_mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A,          __m256i __B) {
1108   // CHECK-LABEL: @test_mm256_mask_avg_epu8
1109   // CHECK: @llvm.x86.avx512.mask.pavg.b.256
1110   return _mm256_mask_avg_epu8(__W,__U,__A,__B);
1111 }
test_mm256_maskz_avg_epu8(__mmask32 __U,__m256i __A,__m256i __B)1112 __m256i test_mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
1113   // CHECK-LABEL: @test_mm256_maskz_avg_epu8
1114   // CHECK: @llvm.x86.avx512.mask.pavg.b.256
1115   return _mm256_maskz_avg_epu8(__U,__A,__B);
1116 }
test_mm_mask_avg_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1117 __m128i test_mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A,        __m128i __B) {
1118   // CHECK-LABEL: @test_mm_mask_avg_epu16
1119   // CHECK: @llvm.x86.avx512.mask.pavg.w.128
1120   return _mm_mask_avg_epu16(__W,__U,__A,__B);
1121 }
test_mm_maskz_avg_epu16(__mmask8 __U,__m128i __A,__m128i __B)1122 __m128i test_mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
1123   // CHECK-LABEL: @test_mm_maskz_avg_epu16
1124   // CHECK: @llvm.x86.avx512.mask.pavg.w.128
1125   return _mm_maskz_avg_epu16(__U,__A,__B);
1126 }
test_mm256_mask_avg_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1127 __m256i test_mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A,           __m256i __B) {
1128   // CHECK-LABEL: @test_mm256_mask_avg_epu16
1129   // CHECK: @llvm.x86.avx512.mask.pavg.w.256
1130   return _mm256_mask_avg_epu16(__W,__U,__A,__B);
1131 }
test_mm256_maskz_avg_epu16(__mmask16 __U,__m256i __A,__m256i __B)1132 __m256i test_mm256_maskz_avg_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
1133   // CHECK-LABEL: @test_mm256_maskz_avg_epu16
1134   // CHECK: @llvm.x86.avx512.mask.pavg.w.256
1135   return _mm256_maskz_avg_epu16(__U,__A,__B);
1136 }
test_mm_maskz_max_epi8(__mmask16 __M,__m128i __A,__m128i __B)1137 __m128i test_mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
1138   // CHECK-LABEL: @test_mm_maskz_max_epi8
1139   // CHECK: @llvm.x86.avx512.mask.pmaxs.b.128
1140   return _mm_maskz_max_epi8(__M,__A,__B);
1141 }
test_mm_mask_max_epi8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1142 __m128i test_mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A,       __m128i __B) {
1143   // CHECK-LABEL: @test_mm_mask_max_epi8
1144   // CHECK: @llvm.x86.avx512.mask.pmaxs.b.128
1145   return _mm_mask_max_epi8(__W,__M,__A,__B);
1146 }
test_mm256_maskz_max_epi8(__mmask32 __M,__m256i __A,__m256i __B)1147 __m256i test_mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
1148   // CHECK-LABEL: @test_mm256_maskz_max_epi8
1149   // CHECK: @llvm.x86.avx512.mask.pmaxs.b.256
1150   return _mm256_maskz_max_epi8(__M,__A,__B);
1151 }
test_mm256_mask_max_epi8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1152 __m256i test_mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A,          __m256i __B) {
1153   // CHECK-LABEL: @test_mm256_mask_max_epi8
1154   // CHECK: @llvm.x86.avx512.mask.pmaxs.b.256
1155   return _mm256_mask_max_epi8(__W,__M,__A,__B);
1156 }
test_mm_maskz_max_epi16(__mmask8 __M,__m128i __A,__m128i __B)1157 __m128i test_mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
1158   // CHECK-LABEL: @test_mm_maskz_max_epi16
1159   // CHECK: @llvm.x86.avx512.mask.pmaxs.w.128
1160   return _mm_maskz_max_epi16(__M,__A,__B);
1161 }
test_mm_mask_max_epi16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1162 __m128i test_mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A,        __m128i __B) {
1163   // CHECK-LABEL: @test_mm_mask_max_epi16
1164   // CHECK: @llvm.x86.avx512.mask.pmaxs.w.128
1165   return _mm_mask_max_epi16(__W,__M,__A,__B);
1166 }
test_mm256_maskz_max_epi16(__mmask16 __M,__m256i __A,__m256i __B)1167 __m256i test_mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
1168   // CHECK-LABEL: @test_mm256_maskz_max_epi16
1169   // CHECK: @llvm.x86.avx512.mask.pmaxs.w.256
1170   return _mm256_maskz_max_epi16(__M,__A,__B);
1171 }
test_mm256_mask_max_epi16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1172 __m256i test_mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A,           __m256i __B) {
1173   // CHECK-LABEL: @test_mm256_mask_max_epi16
1174   // CHECK: @llvm.x86.avx512.mask.pmaxs.w.256
1175   return _mm256_mask_max_epi16(__W,__M,__A,__B);
1176 }
test_mm_maskz_max_epu8(__mmask16 __M,__m128i __A,__m128i __B)1177 __m128i test_mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
1178   // CHECK-LABEL: @test_mm_maskz_max_epu8
1179   // CHECK: @llvm.x86.avx512.mask.pmaxu.b.128
1180   return _mm_maskz_max_epu8(__M,__A,__B);
1181 }
test_mm_mask_max_epu8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1182 __m128i test_mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A,       __m128i __B) {
1183   // CHECK-LABEL: @test_mm_mask_max_epu8
1184   // CHECK: @llvm.x86.avx512.mask.pmaxu.b.128
1185   return _mm_mask_max_epu8(__W,__M,__A,__B);
1186 }
test_mm256_maskz_max_epu8(__mmask32 __M,__m256i __A,__m256i __B)1187 __m256i test_mm256_maskz_max_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
1188   // CHECK-LABEL: @test_mm256_maskz_max_epu8
1189   // CHECK: @llvm.x86.avx512.mask.pmaxu.b.256
1190   return _mm256_maskz_max_epu8(__M,__A,__B);
1191 }
test_mm256_mask_max_epu8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1192 __m256i test_mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A,          __m256i __B) {
1193   // CHECK-LABEL: @test_mm256_mask_max_epu8
1194   // CHECK: @llvm.x86.avx512.mask.pmaxu.b.256
1195   return _mm256_mask_max_epu8(__W,__M,__A,__B);
1196 }
test_mm_maskz_max_epu16(__mmask8 __M,__m128i __A,__m128i __B)1197 __m128i test_mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
1198   // CHECK-LABEL: @test_mm_maskz_max_epu16
1199   // CHECK: @llvm.x86.avx512.mask.pmaxu.w.128
1200   return _mm_maskz_max_epu16(__M,__A,__B);
1201 }
test_mm_mask_max_epu16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1202 __m128i test_mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A,        __m128i __B) {
1203   // CHECK-LABEL: @test_mm_mask_max_epu16
1204   // CHECK: @llvm.x86.avx512.mask.pmaxu.w.128
1205   return _mm_mask_max_epu16(__W,__M,__A,__B);
1206 }
test_mm256_maskz_max_epu16(__mmask16 __M,__m256i __A,__m256i __B)1207 __m256i test_mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
1208   // CHECK-LABEL: @test_mm256_maskz_max_epu16
1209   // CHECK: @llvm.x86.avx512.mask.pmaxu.w.256
1210   return _mm256_maskz_max_epu16(__M,__A,__B);
1211 }
test_mm256_mask_max_epu16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1212 __m256i test_mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A,           __m256i __B) {
1213   // CHECK-LABEL: @test_mm256_mask_max_epu16
1214   // CHECK: @llvm.x86.avx512.mask.pmaxu.w.256
1215   return _mm256_mask_max_epu16(__W,__M,__A,__B);
1216 }
test_mm_maskz_min_epi8(__mmask16 __M,__m128i __A,__m128i __B)1217 __m128i test_mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
1218   // CHECK-LABEL: @test_mm_maskz_min_epi8
1219   // CHECK: @llvm.x86.avx512.mask.pmins.b.128
1220   return _mm_maskz_min_epi8(__M,__A,__B);
1221 }
test_mm_mask_min_epi8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1222 __m128i test_mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A,       __m128i __B) {
1223   // CHECK-LABEL: @test_mm_mask_min_epi8
1224   // CHECK: @llvm.x86.avx512.mask.pmins.b.128
1225   return _mm_mask_min_epi8(__W,__M,__A,__B);
1226 }
test_mm256_maskz_min_epi8(__mmask32 __M,__m256i __A,__m256i __B)1227 __m256i test_mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
1228   // CHECK-LABEL: @test_mm256_maskz_min_epi8
1229   // CHECK: @llvm.x86.avx512.mask.pmins.b.256
1230   return _mm256_maskz_min_epi8(__M,__A,__B);
1231 }
test_mm256_mask_min_epi8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1232 __m256i test_mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A,          __m256i __B) {
1233   // CHECK-LABEL: @test_mm256_mask_min_epi8
1234   // CHECK: @llvm.x86.avx512.mask.pmins.b.256
1235   return _mm256_mask_min_epi8(__W,__M,__A,__B);
1236 }
test_mm_maskz_min_epi16(__mmask8 __M,__m128i __A,__m128i __B)1237 __m128i test_mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
1238   // CHECK-LABEL: @test_mm_maskz_min_epi16
1239   // CHECK: @llvm.x86.avx512.mask.pmins.w.128
1240   return _mm_maskz_min_epi16(__M,__A,__B);
1241 }
test_mm_mask_min_epi16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1242 __m128i test_mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A,        __m128i __B) {
1243   // CHECK-LABEL: @test_mm_mask_min_epi16
1244   // CHECK: @llvm.x86.avx512.mask.pmins.w.128
1245   return _mm_mask_min_epi16(__W,__M,__A,__B);
1246 }
test_mm256_maskz_min_epi16(__mmask16 __M,__m256i __A,__m256i __B)1247 __m256i test_mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
1248   // CHECK-LABEL: @test_mm256_maskz_min_epi16
1249   // CHECK: @llvm.x86.avx512.mask.pmins.w.256
1250   return _mm256_maskz_min_epi16(__M,__A,__B);
1251 }
test_mm256_mask_min_epi16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1252 __m256i test_mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A,           __m256i __B) {
1253   // CHECK-LABEL: @test_mm256_mask_min_epi16
1254   // CHECK: @llvm.x86.avx512.mask.pmins.w.256
1255   return _mm256_mask_min_epi16(__W,__M,__A,__B);
1256 }
test_mm_maskz_min_epu8(__mmask16 __M,__m128i __A,__m128i __B)1257 __m128i test_mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
1258   // CHECK-LABEL: @test_mm_maskz_min_epu8
1259   // CHECK: @llvm.x86.avx512.mask.pminu.b.128
1260   return _mm_maskz_min_epu8(__M,__A,__B);
1261 }
test_mm_mask_min_epu8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1262 __m128i test_mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A,       __m128i __B) {
1263   // CHECK-LABEL: @test_mm_mask_min_epu8
1264   // CHECK: @llvm.x86.avx512.mask.pminu.b.128
1265   return _mm_mask_min_epu8(__W,__M,__A,__B);
1266 }
test_mm256_maskz_min_epu8(__mmask32 __M,__m256i __A,__m256i __B)1267 __m256i test_mm256_maskz_min_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
1268   // CHECK-LABEL: @test_mm256_maskz_min_epu8
1269   // CHECK: @llvm.x86.avx512.mask.pminu.b.256
1270   return _mm256_maskz_min_epu8(__M,__A,__B);
1271 }
test_mm256_mask_min_epu8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1272 __m256i test_mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A,          __m256i __B) {
1273   // CHECK-LABEL: @test_mm256_mask_min_epu8
1274   // CHECK: @llvm.x86.avx512.mask.pminu.b.256
1275   return _mm256_mask_min_epu8(__W,__M,__A,__B);
1276 }
test_mm_maskz_min_epu16(__mmask8 __M,__m128i __A,__m128i __B)1277 __m128i test_mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
1278   // CHECK-LABEL: @test_mm_maskz_min_epu16
1279   // CHECK: @llvm.x86.avx512.mask.pminu.w.128
1280   return _mm_maskz_min_epu16(__M,__A,__B);
1281 }
test_mm_mask_min_epu16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1282 __m128i test_mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A,        __m128i __B) {
1283   // CHECK-LABEL: @test_mm_mask_min_epu16
1284   // CHECK: @llvm.x86.avx512.mask.pminu.w.128
1285   return _mm_mask_min_epu16(__W,__M,__A,__B);
1286 }
test_mm256_maskz_min_epu16(__mmask16 __M,__m256i __A,__m256i __B)1287 __m256i test_mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
1288   // CHECK-LABEL: @test_mm256_maskz_min_epu16
1289   // CHECK: @llvm.x86.avx512.mask.pminu.w.256
1290   return _mm256_maskz_min_epu16(__M,__A,__B);
1291 }
test_mm256_mask_min_epu16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1292 __m256i test_mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A,           __m256i __B) {
1293   // CHECK-LABEL: @test_mm256_mask_min_epu16
1294   // CHECK: @llvm.x86.avx512.mask.pminu.w.256
1295   return _mm256_mask_min_epu16(__W,__M,__A,__B);
1296 }
test_mm_mask_shuffle_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1297 __m128i test_mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A,           __m128i __B) {
1298   // CHECK-LABEL: @test_mm_mask_shuffle_epi8
1299   // CHECK: @llvm.x86.avx512.mask.pshuf.b.128
1300   return _mm_mask_shuffle_epi8(__W,__U,__A,__B);
1301 }
test_mm_maskz_shuffle_epi8(__mmask16 __U,__m128i __A,__m128i __B)1302 __m128i test_mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1303   // CHECK-LABEL: @test_mm_maskz_shuffle_epi8
1304   // CHECK: @llvm.x86.avx512.mask.pshuf.b.128
1305   return _mm_maskz_shuffle_epi8(__U,__A,__B);
1306 }
test_mm256_mask_shuffle_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1307 __m256i test_mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A,        __m256i __B) {
1308   // CHECK-LABEL: @test_mm256_mask_shuffle_epi8
1309   // CHECK: @llvm.x86.avx512.mask.pshuf.b.256
1310   return _mm256_mask_shuffle_epi8(__W,__U,__A,__B);
1311 }
test_mm256_maskz_shuffle_epi8(__mmask32 __U,__m256i __A,__m256i __B)1312 __m256i test_mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1313   // CHECK-LABEL: @test_mm256_maskz_shuffle_epi8
1314   // CHECK: @llvm.x86.avx512.mask.pshuf.b.256
1315   return _mm256_maskz_shuffle_epi8(__U,__A,__B);
1316 }
test_mm_mask_subs_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1317 __m128i test_mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A,        __m128i __B) {
1318   // CHECK-LABEL: @test_mm_mask_subs_epi8
1319   // CHECK: @llvm.x86.avx512.mask.psubs.b.128
1320   return _mm_mask_subs_epi8(__W,__U,__A,__B);
1321 }
test_mm_maskz_subs_epi8(__mmask16 __U,__m128i __A,__m128i __B)1322 __m128i test_mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1323   // CHECK-LABEL: @test_mm_maskz_subs_epi8
1324   // CHECK: @llvm.x86.avx512.mask.psubs.b.128
1325   return _mm_maskz_subs_epi8(__U,__A,__B);
1326 }
test_mm256_mask_subs_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1327 __m256i test_mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A,           __m256i __B) {
1328   // CHECK-LABEL: @test_mm256_mask_subs_epi8
1329   // CHECK: @llvm.x86.avx512.mask.psubs.b.256
1330   return _mm256_mask_subs_epi8(__W,__U,__A,__B);
1331 }
test_mm256_maskz_subs_epi8(__mmask32 __U,__m256i __A,__m256i __B)1332 __m256i test_mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1333   // CHECK-LABEL: @test_mm256_maskz_subs_epi8
1334   // CHECK: @llvm.x86.avx512.mask.psubs.b.256
1335   return _mm256_maskz_subs_epi8(__U,__A,__B);
1336 }
test_mm_mask_subs_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1337 __m128i test_mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A,         __m128i __B) {
1338   // CHECK-LABEL: @test_mm_mask_subs_epi16
1339   // CHECK: @llvm.x86.avx512.mask.psubs.w.128
1340   return _mm_mask_subs_epi16(__W,__U,__A,__B);
1341 }
test_mm_maskz_subs_epi16(__mmask8 __U,__m128i __A,__m128i __B)1342 __m128i test_mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1343   // CHECK-LABEL: @test_mm_maskz_subs_epi16
1344   // CHECK: @llvm.x86.avx512.mask.psubs.w.128
1345   return _mm_maskz_subs_epi16(__U,__A,__B);
1346 }
test_mm256_mask_subs_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1347 __m256i test_mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A,      __m256i __B) {
1348   // CHECK-LABEL: @test_mm256_mask_subs_epi16
1349   // CHECK: @llvm.x86.avx512.mask.psubs.w.256
1350   return _mm256_mask_subs_epi16(__W,__U,__A,__B);
1351 }
test_mm256_maskz_subs_epi16(__mmask16 __U,__m256i __A,__m256i __B)1352 __m256i test_mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1353   // CHECK-LABEL: @test_mm256_maskz_subs_epi16
1354   // CHECK: @llvm.x86.avx512.mask.psubs.w.256
1355   return _mm256_maskz_subs_epi16(__U,__A,__B);
1356 }
test_mm_mask_subs_epu8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1357 __m128i test_mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A,        __m128i __B) {
1358   // CHECK-LABEL: @test_mm_mask_subs_epu8
1359   // CHECK: @llvm.x86.avx512.mask.psubus.b.128
1360   return _mm_mask_subs_epu8(__W,__U,__A,__B);
1361 }
test_mm_maskz_subs_epu8(__mmask16 __U,__m128i __A,__m128i __B)1362 __m128i test_mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
1363   // CHECK-LABEL: @test_mm_maskz_subs_epu8
1364   // CHECK: @llvm.x86.avx512.mask.psubus.b.128
1365   return _mm_maskz_subs_epu8(__U,__A,__B);
1366 }
test_mm256_mask_subs_epu8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1367 __m256i test_mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A,           __m256i __B) {
1368   // CHECK-LABEL: @test_mm256_mask_subs_epu8
1369   // CHECK: @llvm.x86.avx512.mask.psubus.b.256
1370   return _mm256_mask_subs_epu8(__W,__U,__A,__B);
1371 }
test_mm256_maskz_subs_epu8(__mmask32 __U,__m256i __A,__m256i __B)1372 __m256i test_mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
1373   // CHECK-LABEL: @test_mm256_maskz_subs_epu8
1374   // CHECK: @llvm.x86.avx512.mask.psubus.b.256
1375   return _mm256_maskz_subs_epu8(__U,__A,__B);
1376 }
test_mm_mask_subs_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1377 __m128i test_mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A,         __m128i __B) {
1378   // CHECK-LABEL: @test_mm_mask_subs_epu16
1379   // CHECK: @llvm.x86.avx512.mask.psubus.w.128
1380   return _mm_mask_subs_epu16(__W,__U,__A,__B);
1381 }
test_mm_maskz_subs_epu16(__mmask8 __U,__m128i __A,__m128i __B)1382 __m128i test_mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
1383   // CHECK-LABEL: @test_mm_maskz_subs_epu16
1384   // CHECK: @llvm.x86.avx512.mask.psubus.w.128
1385   return _mm_maskz_subs_epu16(__U,__A,__B);
1386 }
test_mm256_mask_subs_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1387 __m256i test_mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A,      __m256i __B) {
1388   // CHECK-LABEL: @test_mm256_mask_subs_epu16
1389   // CHECK: @llvm.x86.avx512.mask.psubus.w.256
1390   return _mm256_mask_subs_epu16(__W,__U,__A,__B);
1391 }
test_mm256_maskz_subs_epu16(__mmask16 __U,__m256i __A,__m256i __B)1392 __m256i test_mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
1393   // CHECK-LABEL: @test_mm256_maskz_subs_epu16
1394   // CHECK: @llvm.x86.avx512.mask.psubus.w.256
1395   return _mm256_maskz_subs_epu16(__U,__A,__B);
1396 }
1397 
1398 
test_mm_mask2_permutex2var_epi16(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)1399 __m128i test_mm_mask2_permutex2var_epi16(__m128i __A, __m128i __I, __mmask8 __U,            __m128i __B) {
1400   // CHECK-LABEL: @test_mm_mask2_permutex2var_epi16
1401   // CHECK: @llvm.x86.avx512.mask.vpermi2var.hi.128
1402   return _mm_mask2_permutex2var_epi16(__A,__I,__U,__B);
1403 }
test_mm256_mask2_permutex2var_epi16(__m256i __A,__m256i __I,__mmask16 __U,__m256i __B)1404 __m256i test_mm256_mask2_permutex2var_epi16(__m256i __A, __m256i __I,         __mmask16 __U, __m256i __B) {
1405   // CHECK-LABEL: @test_mm256_mask2_permutex2var_epi16
1406   // CHECK: @llvm.x86.avx512.mask.vpermi2var.hi.256
1407   return _mm256_mask2_permutex2var_epi16(__A,__I,__U,__B);
1408 }
test_mm_permutex2var_epi16(__m128i __A,__m128i __I,__m128i __B)1409 __m128i test_mm_permutex2var_epi16(__m128i __A, __m128i __I, __m128i __B) {
1410   // CHECK-LABEL: @test_mm_permutex2var_epi16
1411   // CHECK: @llvm.x86.avx512.mask.vpermt2var.hi.128
1412   return _mm_permutex2var_epi16(__A,__I,__B);
1413 }
test_mm_mask_permutex2var_epi16(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)1414 __m128i test_mm_mask_permutex2var_epi16(__m128i __A, __mmask8 __U, __m128i __I,           __m128i __B) {
1415   // CHECK-LABEL: @test_mm_mask_permutex2var_epi16
1416   // CHECK: @llvm.x86.avx512.mask.vpermt2var.hi.128
1417   return _mm_mask_permutex2var_epi16(__A,__U,__I,__B);
1418 }
test_mm_maskz_permutex2var_epi16(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)1419 __m128i test_mm_maskz_permutex2var_epi16(__mmask8 __U, __m128i __A, __m128i __I,            __m128i __B) {
1420   // CHECK-LABEL: @test_mm_maskz_permutex2var_epi16
1421   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.hi.128
1422   return _mm_maskz_permutex2var_epi16(__U,__A,__I,__B);
1423 }
1424 
test_mm256_permutex2var_epi16(__m256i __A,__m256i __I,__m256i __B)1425 __m256i test_mm256_permutex2var_epi16(__m256i __A, __m256i __I, __m256i __B) {
1426   // CHECK-LABEL: @test_mm256_permutex2var_epi16
1427   // CHECK: @llvm.x86.avx512.mask.vpermt2var.hi.256
1428   return _mm256_permutex2var_epi16(__A,__I,__B);
1429 }
test_mm256_mask_permutex2var_epi16(__m256i __A,__mmask16 __U,__m256i __I,__m256i __B)1430 __m256i test_mm256_mask_permutex2var_epi16(__m256i __A, __mmask16 __U,        __m256i __I, __m256i __B) {
1431   // CHECK-LABEL: @test_mm256_mask_permutex2var_epi16
1432   // CHECK: @llvm.x86.avx512.mask.vpermt2var.hi.256
1433   return _mm256_mask_permutex2var_epi16(__A,__U,__I,__B);
1434 }
test_mm256_maskz_permutex2var_epi16(__mmask16 __U,__m256i __A,__m256i __I,__m256i __B)1435 __m256i test_mm256_maskz_permutex2var_epi16(__mmask16 __U, __m256i __A,         __m256i __I, __m256i __B) {
1436   // CHECK-LABEL: @test_mm256_maskz_permutex2var_epi16
1437   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.hi.256
1438   return _mm256_maskz_permutex2var_epi16(__U,__A,__I,__B);
1439 }
test_mm_mask_maddubs_epi16(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)1440 __m128i test_mm_mask_maddubs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
1441   // CHECK-LABEL: @test_mm_mask_maddubs_epi16
1442   // CHECK: @llvm.x86.avx512.mask.pmaddubs.w.128
1443   return _mm_mask_maddubs_epi16(__W, __U, __X, __Y);
1444 }
1445 
test_mm_maskz_maddubs_epi16(__mmask8 __U,__m128i __X,__m128i __Y)1446 __m128i test_mm_maskz_maddubs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
1447   // CHECK-LABEL: @test_mm_maskz_maddubs_epi16
1448   // CHECK: @llvm.x86.avx512.mask.pmaddubs.w.128
1449   return _mm_maskz_maddubs_epi16(__U, __X, __Y);
1450 }
1451 
test_mm256_mask_maddubs_epi16(__m256i __W,__mmask16 __U,__m256i __X,__m256i __Y)1452 __m256i test_mm256_mask_maddubs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) {
1453   // CHECK-LABEL: @test_mm256_mask_maddubs_epi16
1454   // CHECK: @llvm.x86.avx512.mask.pmaddubs.w.256
1455   return _mm256_mask_maddubs_epi16(__W, __U, __X, __Y);
1456 }
1457 
test_mm256_maskz_maddubs_epi16(__mmask16 __U,__m256i __X,__m256i __Y)1458 __m256i test_mm256_maskz_maddubs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
1459   // CHECK-LABEL: @test_mm256_maskz_maddubs_epi16
1460   // CHECK: @llvm.x86.avx512.mask.pmaddubs.w.256
1461   return _mm256_maskz_maddubs_epi16(__U, __X, __Y);
1462 }
1463 
test_mm_mask_madd_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1464 __m128i test_mm_mask_madd_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1465   // CHECK-LABEL: @test_mm_mask_madd_epi16
1466   // CHECK: @llvm.x86.avx512.mask.pmaddw.d.128
1467   return _mm_mask_madd_epi16(__W, __U, __A, __B);
1468 }
1469 
test_mm_maskz_madd_epi16(__mmask8 __U,__m128i __A,__m128i __B)1470 __m128i test_mm_maskz_madd_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1471   // CHECK-LABEL: @test_mm_maskz_madd_epi16
1472   // CHECK: @llvm.x86.avx512.mask.pmaddw.d.128
1473   return _mm_maskz_madd_epi16(__U, __A, __B);
1474 }
1475 
test_mm256_mask_madd_epi16(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)1476 __m256i test_mm256_mask_madd_epi16(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
1477   // CHECK-LABEL: @test_mm256_mask_madd_epi16
1478   // CHECK: @llvm.x86.avx512.mask.pmaddw.d.256
1479   return _mm256_mask_madd_epi16(__W, __U, __A, __B);
1480 }
1481 
test_mm256_maskz_madd_epi16(__mmask8 __U,__m256i __A,__m256i __B)1482 __m256i test_mm256_maskz_madd_epi16(__mmask8 __U, __m256i __A, __m256i __B) {
1483   // CHECK-LABEL: @test_mm256_maskz_madd_epi16
1484   // CHECK: @llvm.x86.avx512.mask.pmaddw.d.256
1485   return _mm256_maskz_madd_epi16(__U, __A, __B);
1486 }
1487 
test_mm_cvtsepi16_epi8(__m128i __A)1488 __m128i test_mm_cvtsepi16_epi8(__m128i __A) {
1489   // CHECK-LABEL: @test_mm_cvtsepi16_epi8
1490   // CHECK: @llvm.x86.avx512.mask.pmovs.wb.128
1491   return _mm_cvtsepi16_epi8(__A);
1492 }
1493 
test_mm_mask_cvtsepi16_epi8(__m128i __O,__mmask8 __M,__m128i __A)1494 __m128i test_mm_mask_cvtsepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
1495   // CHECK-LABEL: @test_mm_mask_cvtsepi16_epi8
1496   // CHECK: @llvm.x86.avx512.mask.pmovs.wb.128
1497   return _mm_mask_cvtsepi16_epi8(__O, __M, __A);
1498 }
1499 
test_mm_maskz_cvtsepi16_epi8(__mmask8 __M,__m128i __A)1500 __m128i test_mm_maskz_cvtsepi16_epi8(__mmask8 __M, __m128i __A) {
1501   // CHECK-LABEL: @test_mm_maskz_cvtsepi16_epi8
1502   // CHECK: @llvm.x86.avx512.mask.pmovs.wb.128
1503   return _mm_maskz_cvtsepi16_epi8(__M, __A);
1504 }
1505 
test_mm256_cvtsepi16_epi8(__m256i __A)1506 __m128i test_mm256_cvtsepi16_epi8(__m256i __A) {
1507   // CHECK-LABEL: @test_mm256_cvtsepi16_epi8
1508   // CHECK: @llvm.x86.avx512.mask.pmovs.wb.256
1509   return _mm256_cvtsepi16_epi8(__A);
1510 }
1511 
test_mm256_mask_cvtsepi16_epi8(__m128i __O,__mmask16 __M,__m256i __A)1512 __m128i test_mm256_mask_cvtsepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A) {
1513   // CHECK-LABEL: @test_mm256_mask_cvtsepi16_epi8
1514   // CHECK: @llvm.x86.avx512.mask.pmovs.wb.256
1515   return _mm256_mask_cvtsepi16_epi8(__O, __M, __A);
1516 }
1517 
test_mm256_maskz_cvtsepi16_epi8(__mmask16 __M,__m256i __A)1518 __m128i test_mm256_maskz_cvtsepi16_epi8(__mmask16 __M, __m256i __A) {
1519   // CHECK-LABEL: @test_mm256_maskz_cvtsepi16_epi8
1520   // CHECK: @llvm.x86.avx512.mask.pmovs.wb.256
1521   return _mm256_maskz_cvtsepi16_epi8(__M, __A);
1522 }
1523 
test_mm_cvtusepi16_epi8(__m128i __A)1524 __m128i test_mm_cvtusepi16_epi8(__m128i __A) {
1525   // CHECK-LABEL: @test_mm_cvtusepi16_epi8
1526   // CHECK: @llvm.x86.avx512.mask.pmovus.wb.128
1527   return _mm_cvtusepi16_epi8(__A);
1528 }
1529 
test_mm_mask_cvtusepi16_epi8(__m128i __O,__mmask8 __M,__m128i __A)1530 __m128i test_mm_mask_cvtusepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
1531   // CHECK-LABEL: @test_mm_mask_cvtusepi16_epi8
1532   // CHECK: @llvm.x86.avx512.mask.pmovus.wb.128
1533   return _mm_mask_cvtusepi16_epi8(__O, __M, __A);
1534 }
1535 
test_mm_maskz_cvtusepi16_epi8(__mmask8 __M,__m128i __A)1536 __m128i test_mm_maskz_cvtusepi16_epi8(__mmask8 __M, __m128i __A) {
1537   // CHECK-LABEL: @test_mm_maskz_cvtusepi16_epi8
1538   // CHECK: @llvm.x86.avx512.mask.pmovus.wb.128
1539   return _mm_maskz_cvtusepi16_epi8(__M, __A);
1540 }
1541 
test_mm256_cvtusepi16_epi8(__m256i __A)1542 __m128i test_mm256_cvtusepi16_epi8(__m256i __A) {
1543   // CHECK-LABEL: @test_mm256_cvtusepi16_epi8
1544   // CHECK: @llvm.x86.avx512.mask.pmovus.wb.256
1545   return _mm256_cvtusepi16_epi8(__A);
1546 }
1547 
test_mm256_mask_cvtusepi16_epi8(__m128i __O,__mmask16 __M,__m256i __A)1548 __m128i test_mm256_mask_cvtusepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A) {
1549   // CHECK-LABEL: @test_mm256_mask_cvtusepi16_epi8
1550   // CHECK: @llvm.x86.avx512.mask.pmovus.wb.256
1551   return _mm256_mask_cvtusepi16_epi8(__O, __M, __A);
1552 }
1553 
test_mm256_maskz_cvtusepi16_epi8(__mmask16 __M,__m256i __A)1554 __m128i test_mm256_maskz_cvtusepi16_epi8(__mmask16 __M, __m256i __A) {
1555   // CHECK-LABEL: @test_mm256_maskz_cvtusepi16_epi8
1556   // CHECK: @llvm.x86.avx512.mask.pmovus.wb.256
1557   return _mm256_maskz_cvtusepi16_epi8(__M, __A);
1558 }
1559 
test_mm_cvtepi16_epi8(__m128i __A)1560 __m128i test_mm_cvtepi16_epi8(__m128i __A) {
1561   // CHECK-LABEL: @test_mm_cvtepi16_epi8
1562   // CHECK: @llvm.x86.avx512.mask.pmov.wb.128
1563   return _mm_cvtepi16_epi8(__A);
1564 }
1565 
test_mm_mask_cvtepi16_epi8(__m128i __O,__mmask8 __M,__m128i __A)1566 __m128i test_mm_mask_cvtepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
1567   // CHECK-LABEL: @test_mm_mask_cvtepi16_epi8
1568   // CHECK: @llvm.x86.avx512.mask.pmov.wb.128
1569   return _mm_mask_cvtepi16_epi8(__O, __M, __A);
1570 }
1571 
test_mm_maskz_cvtepi16_epi8(__mmask8 __M,__m128i __A)1572 __m128i test_mm_maskz_cvtepi16_epi8(__mmask8 __M, __m128i __A) {
1573   // CHECK-LABEL: @test_mm_maskz_cvtepi16_epi8
1574   // CHECK: @llvm.x86.avx512.mask.pmov.wb.128
1575   return _mm_maskz_cvtepi16_epi8(__M, __A);
1576 }
1577 
test_mm256_cvtepi16_epi8(__m256i __A)1578 __m128i test_mm256_cvtepi16_epi8(__m256i __A) {
1579   // CHECK-LABEL: @test_mm256_cvtepi16_epi8
1580   // CHECK: @llvm.x86.avx512.mask.pmov.wb.256
1581   return _mm256_cvtepi16_epi8(__A);
1582 }
1583 
test_mm256_mask_cvtepi16_epi8(__m128i __O,__mmask16 __M,__m256i __A)1584 __m128i test_mm256_mask_cvtepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A) {
1585   // CHECK-LABEL: @test_mm256_mask_cvtepi16_epi8
1586   // CHECK: @llvm.x86.avx512.mask.pmov.wb.256
1587   return _mm256_mask_cvtepi16_epi8(__O, __M, __A);
1588 }
1589 
test_mm256_maskz_cvtepi16_epi8(__mmask16 __M,__m256i __A)1590 __m128i test_mm256_maskz_cvtepi16_epi8(__mmask16 __M, __m256i __A) {
1591   // CHECK-LABEL: @test_mm256_maskz_cvtepi16_epi8
1592   // CHECK: @llvm.x86.avx512.mask.pmov.wb.256
1593   return _mm256_maskz_cvtepi16_epi8(__M, __A);
1594 }
1595 
test_mm_mask_mulhrs_epi16(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)1596 __m128i test_mm_mask_mulhrs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
1597   // CHECK-LABEL: @test_mm_mask_mulhrs_epi16
1598   // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.128
1599   return _mm_mask_mulhrs_epi16(__W, __U, __X, __Y);
1600 }
1601 
test_mm_maskz_mulhrs_epi16(__mmask8 __U,__m128i __X,__m128i __Y)1602 __m128i test_mm_maskz_mulhrs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
1603   // CHECK-LABEL: @test_mm_maskz_mulhrs_epi16
1604   // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.128
1605   return _mm_maskz_mulhrs_epi16(__U, __X, __Y);
1606 }
1607 
test_mm256_mask_mulhrs_epi16(__m256i __W,__mmask16 __U,__m256i __X,__m256i __Y)1608 __m256i test_mm256_mask_mulhrs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) {
1609   // CHECK-LABEL: @test_mm256_mask_mulhrs_epi16
1610   // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.256
1611   return _mm256_mask_mulhrs_epi16(__W, __U, __X, __Y);
1612 }
1613 
test_mm256_maskz_mulhrs_epi16(__mmask16 __U,__m256i __X,__m256i __Y)1614 __m256i test_mm256_maskz_mulhrs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
1615   // CHECK-LABEL: @test_mm256_maskz_mulhrs_epi16
1616   // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.256
1617   return _mm256_maskz_mulhrs_epi16(__U, __X, __Y);
1618 }
1619 
test_mm_mask_mulhi_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1620 __m128i test_mm_mask_mulhi_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1621   // CHECK-LABEL: @test_mm_mask_mulhi_epu16
1622   // CHECK: @llvm.x86.avx512.mask.pmulhu.w.128
1623   return _mm_mask_mulhi_epu16(__W, __U, __A, __B);
1624 }
1625 
test_mm_maskz_mulhi_epu16(__mmask8 __U,__m128i __A,__m128i __B)1626 __m128i test_mm_maskz_mulhi_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
1627   // CHECK-LABEL: @test_mm_maskz_mulhi_epu16
1628   // CHECK: @llvm.x86.avx512.mask.pmulhu.w.128
1629   return _mm_maskz_mulhi_epu16(__U, __A, __B);
1630 }
1631 
test_mm256_mask_mulhi_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1632 __m256i test_mm256_mask_mulhi_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1633   // CHECK-LABEL: @test_mm256_mask_mulhi_epu16
1634   // CHECK: @llvm.x86.avx512.mask.pmulhu.w.256
1635   return _mm256_mask_mulhi_epu16(__W, __U, __A, __B);
1636 }
1637 
test_mm256_maskz_mulhi_epu16(__mmask16 __U,__m256i __A,__m256i __B)1638 __m256i test_mm256_maskz_mulhi_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
1639   // CHECK-LABEL: @test_mm256_maskz_mulhi_epu16
1640   // CHECK: @llvm.x86.avx512.mask.pmulhu.w.256
1641   return _mm256_maskz_mulhi_epu16(__U, __A, __B);
1642 }
1643 
test_mm_mask_mulhi_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1644 __m128i test_mm_mask_mulhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1645   // CHECK-LABEL: @test_mm_mask_mulhi_epi16
1646   // CHECK: @llvm.x86.avx512.mask.pmulh.w.128
1647   return _mm_mask_mulhi_epi16(__W, __U, __A, __B);
1648 }
1649 
test_mm_maskz_mulhi_epi16(__mmask8 __U,__m128i __A,__m128i __B)1650 __m128i test_mm_maskz_mulhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1651   // CHECK-LABEL: @test_mm_maskz_mulhi_epi16
1652   // CHECK: @llvm.x86.avx512.mask.pmulh.w.128
1653   return _mm_maskz_mulhi_epi16(__U, __A, __B);
1654 }
1655 
test_mm256_mask_mulhi_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1656 __m256i test_mm256_mask_mulhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1657   // CHECK-LABEL: @test_mm256_mask_mulhi_epi16
1658   // CHECK: @llvm.x86.avx512.mask.pmulh.w.256
1659   return _mm256_mask_mulhi_epi16(__W, __U, __A, __B);
1660 }
1661 
test_mm256_maskz_mulhi_epi16(__mmask16 __U,__m256i __A,__m256i __B)1662 __m256i test_mm256_maskz_mulhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1663   // CHECK-LABEL: @test_mm256_maskz_mulhi_epi16
1664   // CHECK: @llvm.x86.avx512.mask.pmulh.w.256
1665   return _mm256_maskz_mulhi_epi16(__U, __A, __B);
1666 }
1667 
test_mm_mask_unpackhi_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1668 __m128i test_mm_mask_unpackhi_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
1669   // CHECK-LABEL: @test_mm_mask_unpackhi_epi8
1670   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> <i32 8, i32 24, i32 9, i32 25, i32 10, i32 26, i32 11, i32 27, i32 12, i32 28, i32 13, i32 29, i32 14, i32 30, i32 15, i32 31>
1671   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
1672   return _mm_mask_unpackhi_epi8(__W, __U, __A, __B);
1673 }
1674 
test_mm_maskz_unpackhi_epi8(__mmask16 __U,__m128i __A,__m128i __B)1675 __m128i test_mm_maskz_unpackhi_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1676   // CHECK-LABEL: @test_mm_maskz_unpackhi_epi8
1677   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> <i32 8, i32 24, i32 9, i32 25, i32 10, i32 26, i32 11, i32 27, i32 12, i32 28, i32 13, i32 29, i32 14, i32 30, i32 15, i32 31>
1678   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
1679   return _mm_maskz_unpackhi_epi8(__U, __A, __B);
1680 }
1681 
test_mm256_mask_unpackhi_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1682 __m256i test_mm256_mask_unpackhi_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
1683   // CHECK-LABEL: @test_mm256_mask_unpackhi_epi8
1684   // CHECK: shufflevector <32 x i8> %{{.*}}, <32 x i8> %{{.*}}, <32 x i32> <i32 8, i32 40, i32 9, i32 41, i32 10, i32 42, i32 11, i32 43, i32 12, i32 44, i32 13, i32 45, i32 14, i32 46, i32 15, i32 47, i32 24, i32 56, i32 25, i32 57, i32 26, i32 58, i32 27, i32 59, i32 28, i32 60, i32 29, i32 61, i32 30, i32 62, i32 31, i32 63>
1685   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
1686   return _mm256_mask_unpackhi_epi8(__W, __U, __A, __B);
1687 }
1688 
test_mm256_maskz_unpackhi_epi8(__mmask32 __U,__m256i __A,__m256i __B)1689 __m256i test_mm256_maskz_unpackhi_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1690   // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi8
1691   // CHECK: shufflevector <32 x i8> %{{.*}}, <32 x i8> %{{.*}}, <32 x i32> <i32 8, i32 40, i32 9, i32 41, i32 10, i32 42, i32 11, i32 43, i32 12, i32 44, i32 13, i32 45, i32 14, i32 46, i32 15, i32 47, i32 24, i32 56, i32 25, i32 57, i32 26, i32 58, i32 27, i32 59, i32 28, i32 60, i32 29, i32 61, i32 30, i32 62, i32 31, i32 63>
1692   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
1693   return _mm256_maskz_unpackhi_epi8(__U, __A, __B);
1694 }
1695 
test_mm_mask_unpackhi_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1696 __m128i test_mm_mask_unpackhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1697   // CHECK-LABEL: @test_mm_mask_unpackhi_epi16
1698   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 4, i32 12, i32 5, i32 13, i32 6, i32 14, i32 7, i32 15>
1699   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
1700   return _mm_mask_unpackhi_epi16(__W, __U, __A, __B);
1701 }
1702 
test_mm_maskz_unpackhi_epi16(__mmask8 __U,__m128i __A,__m128i __B)1703 __m128i test_mm_maskz_unpackhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1704   // CHECK-LABEL: @test_mm_maskz_unpackhi_epi16
1705   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 4, i32 12, i32 5, i32 13, i32 6, i32 14, i32 7, i32 15>
1706   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
1707   return _mm_maskz_unpackhi_epi16(__U, __A, __B);
1708 }
1709 
test_mm256_mask_unpackhi_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1710 __m256i test_mm256_mask_unpackhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1711   // CHECK-LABEL: @test_mm256_mask_unpackhi_epi16
1712   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23, i32 12, i32 28, i32 13, i32 29, i32 14, i32 30, i32 15, i32 31>
1713   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
1714   return _mm256_mask_unpackhi_epi16(__W, __U, __A, __B);
1715 }
1716 
test_mm256_maskz_unpackhi_epi16(__mmask16 __U,__m256i __A,__m256i __B)1717 __m256i test_mm256_maskz_unpackhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1718   // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi16
1719   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23, i32 12, i32 28, i32 13, i32 29, i32 14, i32 30, i32 15, i32 31>
1720   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
1721   return _mm256_maskz_unpackhi_epi16(__U, __A, __B);
1722 }
1723 
test_mm_mask_unpacklo_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1724 __m128i test_mm_mask_unpacklo_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
1725   // CHECK-LABEL: @test_mm_mask_unpacklo_epi8
1726   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> <i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23>
1727   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
1728   return _mm_mask_unpacklo_epi8(__W, __U, __A, __B);
1729 }
1730 
test_mm_maskz_unpacklo_epi8(__mmask16 __U,__m128i __A,__m128i __B)1731 __m128i test_mm_maskz_unpacklo_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1732   // CHECK-LABEL: @test_mm_maskz_unpacklo_epi8
1733   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> <i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23>
1734   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
1735   return _mm_maskz_unpacklo_epi8(__U, __A, __B);
1736 }
1737 
test_mm256_mask_unpacklo_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1738 __m256i test_mm256_mask_unpacklo_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
1739   // CHECK-LABEL: @test_mm256_mask_unpacklo_epi8
1740   // CHECK: shufflevector <32 x i8> %{{.*}}, <32 x i8> %{{.*}}, <32 x i32> <i32 0, i32 32, i32 1, i32 33, i32 2, i32 34, i32 3, i32 35, i32 4, i32 36, i32 5, i32 37, i32 6, i32 38, i32 7, i32 39, i32 16, i32 48, i32 17, i32 49, i32 18, i32 50, i32 19, i32 51, i32 20, i32 52, i32 21, i32 53, i32 22, i32 54, i32 23, i32 55>
1741   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
1742   return _mm256_mask_unpacklo_epi8(__W, __U, __A, __B);
1743 }
1744 
test_mm256_maskz_unpacklo_epi8(__mmask32 __U,__m256i __A,__m256i __B)1745 __m256i test_mm256_maskz_unpacklo_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1746   // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi8
1747   // CHECK: shufflevector <32 x i8> %{{.*}}, <32 x i8> %{{.*}}, <32 x i32> <i32 0, i32 32, i32 1, i32 33, i32 2, i32 34, i32 3, i32 35, i32 4, i32 36, i32 5, i32 37, i32 6, i32 38, i32 7, i32 39, i32 16, i32 48, i32 17, i32 49, i32 18, i32 50, i32 19, i32 51, i32 20, i32 52, i32 21, i32 53, i32 22, i32 54, i32 23, i32 55>
1748   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
1749   return _mm256_maskz_unpacklo_epi8(__U, __A, __B);
1750 }
1751 
test_mm_mask_unpacklo_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1752 __m128i test_mm_mask_unpacklo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1753   // CHECK-LABEL: @test_mm_mask_unpacklo_epi16
1754   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11>
1755   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
1756   return _mm_mask_unpacklo_epi16(__W, __U, __A, __B);
1757 }
1758 
test_mm_maskz_unpacklo_epi16(__mmask8 __U,__m128i __A,__m128i __B)1759 __m128i test_mm_maskz_unpacklo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1760   // CHECK-LABEL: @test_mm_maskz_unpacklo_epi16
1761   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11>
1762   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
1763   return _mm_maskz_unpacklo_epi16(__U, __A, __B);
1764 }
1765 
test_mm256_mask_unpacklo_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1766 __m256i test_mm256_mask_unpacklo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1767   // CHECK-LABEL: @test_mm256_mask_unpacklo_epi16
1768   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 8, i32 24, i32 9, i32 25, i32 10, i32 26, i32 11, i32 27>
1769   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
1770   return _mm256_mask_unpacklo_epi16(__W, __U, __A, __B);
1771 }
1772 
test_mm256_maskz_unpacklo_epi16(__mmask16 __U,__m256i __A,__m256i __B)1773 __m256i test_mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1774   // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi16
1775   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 8, i32 24, i32 9, i32 25, i32 10, i32 26, i32 11, i32 27>
1776   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
1777   return _mm256_maskz_unpacklo_epi16(__U, __A, __B);
1778 }
1779 
test_mm_mask_cvtepi8_epi16(__m128i __W,__mmask32 __U,__m128i __A)1780 __m128i test_mm_mask_cvtepi8_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
1781   // CHECK-LABEL: @test_mm_mask_cvtepi8_epi16
1782   // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.128
1783   return _mm_mask_cvtepi8_epi16(__W, __U, __A);
1784 }
1785 
test_mm_maskz_cvtepi8_epi16(__mmask8 __U,__m128i __A)1786 __m128i test_mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A) {
1787   // CHECK-LABEL: @test_mm_maskz_cvtepi8_epi16
1788   // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.128
1789   return _mm_maskz_cvtepi8_epi16(__U, __A);
1790 }
1791 
test_mm256_mask_cvtepi8_epi16(__m256i __W,__mmask32 __U,__m128i __A)1792 __m256i test_mm256_mask_cvtepi8_epi16(__m256i __W, __mmask32 __U, __m128i __A) {
1793   // CHECK-LABEL: @test_mm256_mask_cvtepi8_epi16
1794   // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.256
1795   return _mm256_mask_cvtepi8_epi16(__W, __U, __A);
1796 }
1797 
test_mm256_maskz_cvtepi8_epi16(__mmask16 __U,__m128i __A)1798 __m256i test_mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A) {
1799   // CHECK-LABEL: @test_mm256_maskz_cvtepi8_epi16
1800   // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.256
1801   return _mm256_maskz_cvtepi8_epi16(__U, __A);
1802 }
1803 
test_mm_mask_cvtepu8_epi32(__m128i __W,__mmask8 __U,__m128i __A)1804 __m128i test_mm_mask_cvtepu8_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
1805   // CHECK-LABEL: @test_mm_mask_cvtepu8_epi32
1806   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.128
1807   return _mm_mask_cvtepu8_epi32(__W, __U, __A);
1808 }
1809 
test_mm_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)1810 __m128i test_mm_maskz_cvtepu8_epi32(__mmask8 __U, __m128i __A) {
1811   // CHECK-LABEL: @test_mm_maskz_cvtepu8_epi32
1812   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.128
1813   return _mm_maskz_cvtepu8_epi32(__U, __A);
1814 }
1815 
test_mm256_mask_cvtepu8_epi32(__m256i __W,__mmask8 __U,__m128i __A)1816 __m256i test_mm256_mask_cvtepu8_epi32(__m256i __W, __mmask8 __U, __m128i __A) {
1817   // CHECK-LABEL: @test_mm256_mask_cvtepu8_epi32
1818   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.256
1819   return _mm256_mask_cvtepu8_epi32(__W, __U, __A);
1820 }
1821 
test_mm256_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)1822 __m256i test_mm256_maskz_cvtepu8_epi32(__mmask8 __U, __m128i __A) {
1823   // CHECK-LABEL: @test_mm256_maskz_cvtepu8_epi32
1824   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.256
1825   return _mm256_maskz_cvtepu8_epi32(__U, __A);
1826 }
1827 
test_mm_mask_cvtepu8_epi64(__m128i __W,__mmask8 __U,__m128i __A)1828 __m128i test_mm_mask_cvtepu8_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
1829   // CHECK-LABEL: @test_mm_mask_cvtepu8_epi64
1830   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.128
1831   return _mm_mask_cvtepu8_epi64(__W, __U, __A);
1832 }
1833 
test_mm_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)1834 __m128i test_mm_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A) {
1835   // CHECK-LABEL: @test_mm_maskz_cvtepu8_epi64
1836   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.128
1837   return _mm_maskz_cvtepu8_epi64(__U, __A);
1838 }
1839 
test_mm256_mask_cvtepu8_epi64(__m256i __W,__mmask8 __U,__m128i __A)1840 __m256i test_mm256_mask_cvtepu8_epi64(__m256i __W, __mmask8 __U, __m128i __A) {
1841   // CHECK-LABEL: @test_mm256_mask_cvtepu8_epi64
1842   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.256
1843   return _mm256_mask_cvtepu8_epi64(__W, __U, __A);
1844 }
1845 
test_mm256_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)1846 __m256i test_mm256_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A) {
1847   // CHECK-LABEL: @test_mm256_maskz_cvtepu8_epi64
1848   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.256
1849   return _mm256_maskz_cvtepu8_epi64(__U, __A);
1850 }
1851 
test_mm_mask_cvtepu32_epi64(__m128i __W,__mmask8 __U,__m128i __X)1852 __m128i test_mm_mask_cvtepu32_epi64(__m128i __W, __mmask8 __U, __m128i __X) {
1853   // CHECK-LABEL: @test_mm_mask_cvtepu32_epi64
1854   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.128
1855   return _mm_mask_cvtepu32_epi64(__W, __U, __X);
1856 }
1857 
test_mm_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)1858 __m128i test_mm_maskz_cvtepu32_epi64(__mmask8 __U, __m128i __X) {
1859   // CHECK-LABEL: @test_mm_maskz_cvtepu32_epi64
1860   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.128
1861   return _mm_maskz_cvtepu32_epi64(__U, __X);
1862 }
1863 
test_mm256_mask_cvtepu32_epi64(__m256i __W,__mmask8 __U,__m128i __X)1864 __m256i test_mm256_mask_cvtepu32_epi64(__m256i __W, __mmask8 __U, __m128i __X) {
1865   // CHECK-LABEL: @test_mm256_mask_cvtepu32_epi64
1866   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.256
1867   return _mm256_mask_cvtepu32_epi64(__W, __U, __X);
1868 }
1869 
test_mm256_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)1870 __m256i test_mm256_maskz_cvtepu32_epi64(__mmask8 __U, __m128i __X) {
1871   // CHECK-LABEL: @test_mm256_maskz_cvtepu32_epi64
1872   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.256
1873   return _mm256_maskz_cvtepu32_epi64(__U, __X);
1874 }
1875 
test_mm_mask_cvtepu16_epi32(__m128i __W,__mmask8 __U,__m128i __A)1876 __m128i test_mm_mask_cvtepu16_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
1877   // CHECK-LABEL: @test_mm_mask_cvtepu16_epi32
1878   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.128
1879   return _mm_mask_cvtepu16_epi32(__W, __U, __A);
1880 }
1881 
test_mm_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)1882 __m128i test_mm_maskz_cvtepu16_epi32(__mmask8 __U, __m128i __A) {
1883   // CHECK-LABEL: @test_mm_maskz_cvtepu16_epi32
1884   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.128
1885   return _mm_maskz_cvtepu16_epi32(__U, __A);
1886 }
1887 
test_mm256_mask_cvtepu16_epi32(__m256i __W,__mmask8 __U,__m128i __A)1888 __m256i test_mm256_mask_cvtepu16_epi32(__m256i __W, __mmask8 __U, __m128i __A) {
1889   // CHECK-LABEL: @test_mm256_mask_cvtepu16_epi32
1890   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.256
1891   return _mm256_mask_cvtepu16_epi32(__W, __U, __A);
1892 }
1893 
test_mm256_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)1894 __m256i test_mm256_maskz_cvtepu16_epi32(__mmask8 __U, __m128i __A) {
1895   // CHECK-LABEL: @test_mm256_maskz_cvtepu16_epi32
1896   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.256
1897   return _mm256_maskz_cvtepu16_epi32(__U, __A);
1898 }
1899 
test_mm_mask_cvtepu16_epi64(__m128i __W,__mmask8 __U,__m128i __A)1900 __m128i test_mm_mask_cvtepu16_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
1901   // CHECK-LABEL: @test_mm_mask_cvtepu16_epi64
1902   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.128
1903   return _mm_mask_cvtepu16_epi64(__W, __U, __A);
1904 }
1905 
test_mm_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)1906 __m128i test_mm_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A) {
1907   // CHECK-LABEL: @test_mm_maskz_cvtepu16_epi64
1908   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.128
1909   return _mm_maskz_cvtepu16_epi64(__U, __A);
1910 }
1911 
test_mm256_mask_cvtepu16_epi64(__m256i __W,__mmask8 __U,__m128i __A)1912 __m256i test_mm256_mask_cvtepu16_epi64(__m256i __W, __mmask8 __U, __m128i __A) {
1913   // CHECK-LABEL: @test_mm256_mask_cvtepu16_epi64
1914   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.256
1915   return _mm256_mask_cvtepu16_epi64(__W, __U, __A);
1916 }
1917 
test_mm256_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)1918 __m256i test_mm256_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A) {
1919   // CHECK-LABEL: @test_mm256_maskz_cvtepu16_epi64
1920   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.256
1921   return _mm256_maskz_cvtepu16_epi64(__U, __A);
1922 }
1923 
test_mm_mask_cvtepu8_epi16(__m128i __W,__mmask32 __U,__m128i __A)1924 __m128i test_mm_mask_cvtepu8_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
1925   // CHECK-LABEL: @test_mm_mask_cvtepu8_epi16
1926   // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.128
1927   return _mm_mask_cvtepu8_epi16(__W, __U, __A);
1928 }
1929 
test_mm_maskz_cvtepu8_epi16(__mmask8 __U,__m128i __A)1930 __m128i test_mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A) {
1931   // CHECK-LABEL: @test_mm_maskz_cvtepu8_epi16
1932   // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.128
1933   return _mm_maskz_cvtepu8_epi16(__U, __A);
1934 }
1935 
test_mm256_mask_cvtepu8_epi16(__m256i __W,__mmask32 __U,__m128i __A)1936 __m256i test_mm256_mask_cvtepu8_epi16(__m256i __W, __mmask32 __U, __m128i __A) {
1937   // CHECK-LABEL: @test_mm256_mask_cvtepu8_epi16
1938   // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.256
1939   return _mm256_mask_cvtepu8_epi16(__W, __U, __A);
1940 }
1941 
test_mm256_maskz_cvtepu8_epi16(__mmask16 __U,__m128i __A)1942 __m256i test_mm256_maskz_cvtepu8_epi16(__mmask16 __U, __m128i __A) {
1943   // CHECK-LABEL: @test_mm256_maskz_cvtepu8_epi16
1944   // CHECK: @llvm.x86.avx512.mask.pmovzxb.w.256
1945   return _mm256_maskz_cvtepu8_epi16(__U, __A);
1946 }
1947 
test_mm256_sllv_epi16(__m256i __A,__m256i __B)1948 __m256i test_mm256_sllv_epi16(__m256i __A, __m256i __B) {
1949   // CHECK-LABEL: @test_mm256_sllv_epi16
1950   // CHECK: @llvm.x86.avx512.mask.psllv
1951   return _mm256_sllv_epi16(__A, __B);
1952 }
1953 
test_mm256_mask_sllv_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1954 __m256i test_mm256_mask_sllv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1955   // CHECK-LABEL: @test_mm256_mask_sllv_epi16
1956   // CHECK: @llvm.x86.avx512.mask.psllv
1957   return _mm256_mask_sllv_epi16(__W, __U, __A, __B);
1958 }
1959 
test_mm256_maskz_sllv_epi16(__mmask16 __U,__m256i __A,__m256i __B)1960 __m256i test_mm256_maskz_sllv_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1961   // CHECK-LABEL: @test_mm256_maskz_sllv_epi16
1962   // CHECK: @llvm.x86.avx512.mask.psllv
1963   return _mm256_maskz_sllv_epi16(__U, __A, __B);
1964 }
1965 
test_mm_sllv_epi16(__m128i __A,__m128i __B)1966 __m128i test_mm_sllv_epi16(__m128i __A, __m128i __B) {
1967   // CHECK-LABEL: @test_mm_sllv_epi16
1968   // CHECK: @llvm.x86.avx512.mask.psllv
1969   return _mm_sllv_epi16(__A, __B);
1970 }
1971 
test_mm_mask_sllv_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1972 __m128i test_mm_mask_sllv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1973   // CHECK-LABEL: @test_mm_mask_sllv_epi16
1974   // CHECK: @llvm.x86.avx512.mask.psllv
1975   return _mm_mask_sllv_epi16(__W, __U, __A, __B);
1976 }
1977 
test_mm_maskz_sllv_epi16(__mmask8 __U,__m128i __A,__m128i __B)1978 __m128i test_mm_maskz_sllv_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1979   // CHECK-LABEL: @test_mm_maskz_sllv_epi16
1980   // CHECK: @llvm.x86.avx512.mask.psllv
1981   return _mm_maskz_sllv_epi16(__U, __A, __B);
1982 }
1983 
test_mm_mask_sll_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1984 __m128i test_mm_mask_sll_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1985   // CHECK-LABEL: @test_mm_mask_sll_epi16
1986   // CHECK: @llvm.x86.avx512.mask.psll.w.128
1987   return _mm_mask_sll_epi16(__W, __U, __A, __B);
1988 }
1989 
test_mm_maskz_sll_epi16(__mmask8 __U,__m128i __A,__m128i __B)1990 __m128i test_mm_maskz_sll_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1991   // CHECK-LABEL: @test_mm_maskz_sll_epi16
1992   // CHECK: @llvm.x86.avx512.mask.psll.w.128
1993   return _mm_maskz_sll_epi16(__U, __A, __B);
1994 }
1995 
test_mm256_mask_sll_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m128i __B)1996 __m256i test_mm256_mask_sll_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B) {
1997   // CHECK-LABEL: @test_mm256_mask_sll_epi16
1998   // CHECK: @llvm.x86.avx512.mask.psll.w.256
1999   return _mm256_mask_sll_epi16(__W, __U, __A, __B);
2000 }
2001 
test_mm256_maskz_sll_epi16(__mmask16 __U,__m256i __A,__m128i __B)2002 __m256i test_mm256_maskz_sll_epi16(__mmask16 __U, __m256i __A, __m128i __B) {
2003   // CHECK-LABEL: @test_mm256_maskz_sll_epi16
2004   // CHECK: @llvm.x86.avx512.mask.psll.w.256
2005   return _mm256_maskz_sll_epi16(__U, __A, __B);
2006 }
2007 
test_mm_mask_slli_epi16(__m128i __W,__mmask8 __U,__m128i __A)2008 __m128i test_mm_mask_slli_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
2009   // CHECK-LABEL: @test_mm_mask_slli_epi16
2010   // CHECK: @llvm.x86.avx512.mask.psll.wi.128
2011   return _mm_mask_slli_epi16(__W, __U, __A, 5);
2012 }
2013 
test_mm_maskz_slli_epi16(__mmask8 __U,__m128i __A)2014 __m128i test_mm_maskz_slli_epi16(__mmask8 __U, __m128i __A) {
2015   // CHECK-LABEL: @test_mm_maskz_slli_epi16
2016   // CHECK: @llvm.x86.avx512.mask.psll.wi.128
2017   return _mm_maskz_slli_epi16(__U, __A, 5);
2018 }
2019 
test_mm256_mask_slli_epi16(__m256i __W,__mmask16 __U,__m256i __A)2020 __m256i test_mm256_mask_slli_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
2021   // CHECK-LABEL: @test_mm256_mask_slli_epi16
2022   // CHECK: @llvm.x86.avx512.mask.psll.wi.256
2023   return _mm256_mask_slli_epi16(__W, __U, __A, 5);
2024 }
2025 
test_mm256_maskz_slli_epi16(__mmask16 __U,__m256i __A)2026 __m256i test_mm256_maskz_slli_epi16(__mmask16 __U, __m256i __A) {
2027   // CHECK-LABEL: @test_mm256_maskz_slli_epi16
2028   // CHECK: @llvm.x86.avx512.mask.psll.wi.256
2029   return _mm256_maskz_slli_epi16(__U, __A, 5);
2030 }
2031 
test_mm_mask_mov_epi16(__m128i __W,__mmask8 __U,__m128i __A)2032 __m128i test_mm_mask_mov_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
2033   // CHECK-LABEL: @test_mm_mask_mov_epi16
2034   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2035   return _mm_mask_mov_epi16(__W, __U, __A);
2036 }
2037 
test_mm_maskz_mov_epi16(__mmask8 __U,__m128i __A)2038 __m128i test_mm_maskz_mov_epi16(__mmask8 __U, __m128i __A) {
2039   // CHECK-LABEL: @test_mm_maskz_mov_epi16
2040   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2041   return _mm_maskz_mov_epi16(__U, __A);
2042 }
2043 
test_mm256_mask_mov_epi16(__m256i __W,__mmask16 __U,__m256i __A)2044 __m256i test_mm256_mask_mov_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
2045   // CHECK-LABEL: @test_mm256_mask_mov_epi16
2046   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2047   return _mm256_mask_mov_epi16(__W, __U, __A);
2048 }
2049 
test_mm256_maskz_mov_epi16(__mmask16 __U,__m256i __A)2050 __m256i test_mm256_maskz_mov_epi16(__mmask16 __U, __m256i __A) {
2051   // CHECK-LABEL: @test_mm256_maskz_mov_epi16
2052   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2053   return _mm256_maskz_mov_epi16(__U, __A);
2054 }
2055 
test_mm_mask_mov_epi8(__m128i __W,__mmask16 __U,__m128i __A)2056 __m128i test_mm_mask_mov_epi8(__m128i __W, __mmask16 __U, __m128i __A) {
2057   // CHECK-LABEL: @test_mm_mask_mov_epi8
2058   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
2059   return _mm_mask_mov_epi8(__W, __U, __A);
2060 }
2061 
test_mm_maskz_mov_epi8(__mmask16 __U,__m128i __A)2062 __m128i test_mm_maskz_mov_epi8(__mmask16 __U, __m128i __A) {
2063   // CHECK-LABEL: @test_mm_maskz_mov_epi8
2064   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
2065   return _mm_maskz_mov_epi8(__U, __A);
2066 }
2067 
test_mm256_mask_mov_epi8(__m256i __W,__mmask32 __U,__m256i __A)2068 __m256i test_mm256_mask_mov_epi8(__m256i __W, __mmask32 __U, __m256i __A) {
2069   // CHECK-LABEL: @test_mm256_mask_mov_epi8
2070   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
2071   return _mm256_mask_mov_epi8(__W, __U, __A);
2072 }
2073 
test_mm256_maskz_mov_epi8(__mmask32 __U,__m256i __A)2074 __m256i test_mm256_maskz_mov_epi8(__mmask32 __U, __m256i __A) {
2075   // CHECK-LABEL: @test_mm256_maskz_mov_epi8
2076   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
2077   return _mm256_maskz_mov_epi8(__U, __A);
2078 }
2079 
test_mm_mask_loadu_epi16(__m128i __W,__mmask8 __U,void const * __P)2080 __m128i test_mm_mask_loadu_epi16(__m128i __W, __mmask8 __U, void const *__P) {
2081   // CHECK-LABEL: @test_mm_mask_loadu_epi16
2082   // CHECK: @llvm.masked.load.v8i16.p0v8i16(<8 x i16>* %{{.*}}, i32 1, <8 x i1> %{{.*}}, <8 x i16> %{{.*}})
2083   return _mm_mask_loadu_epi16(__W, __U, __P);
2084 }
2085 
test_mm_maskz_loadu_epi16(__mmask8 __U,void const * __P)2086 __m128i test_mm_maskz_loadu_epi16(__mmask8 __U, void const *__P) {
2087   // CHECK-LABEL: @test_mm_maskz_loadu_epi16
2088   // CHECK: @llvm.masked.load.v8i16.p0v8i16(<8 x i16>* %{{.*}}, i32 1, <8 x i1> %{{.*}}, <8 x i16> %{{.*}})
2089   return _mm_maskz_loadu_epi16(__U, __P);
2090 }
2091 
test_mm256_mask_loadu_epi16(__m256i __W,__mmask16 __U,void const * __P)2092 __m256i test_mm256_mask_loadu_epi16(__m256i __W, __mmask16 __U, void const *__P) {
2093   // CHECK-LABEL: @test_mm256_mask_loadu_epi16
2094   // CHECK: @llvm.masked.load.v16i16.p0v16i16(<16 x i16>* %{{.*}}, i32 1, <16 x i1> %{{.*}}, <16 x i16> %{{.*}})
2095   return _mm256_mask_loadu_epi16(__W, __U, __P);
2096 }
2097 
test_mm256_maskz_loadu_epi16(__mmask16 __U,void const * __P)2098 __m256i test_mm256_maskz_loadu_epi16(__mmask16 __U, void const *__P) {
2099   // CHECK-LABEL: @test_mm256_maskz_loadu_epi16
2100   // CHECK: @llvm.masked.load.v16i16.p0v16i16(<16 x i16>* %{{.*}}, i32 1, <16 x i1> %{{.*}}, <16 x i16> %{{.*}})
2101   return _mm256_maskz_loadu_epi16(__U, __P);
2102 }
2103 
test_mm_mask_loadu_epi8(__m128i __W,__mmask16 __U,void const * __P)2104 __m128i test_mm_mask_loadu_epi8(__m128i __W, __mmask16 __U, void const *__P) {
2105   // CHECK-LABEL: @test_mm_mask_loadu_epi8
2106   // CHECK: @llvm.masked.load.v16i8.p0v16i8(<16 x i8>* %{{.*}}, i32 1, <16 x i1> %{{.*}}, <16 x i8> %{{.*}})
2107   return _mm_mask_loadu_epi8(__W, __U, __P);
2108 }
2109 
test_mm_maskz_loadu_epi8(__mmask16 __U,void const * __P)2110 __m128i test_mm_maskz_loadu_epi8(__mmask16 __U, void const *__P) {
2111   // CHECK-LABEL: @test_mm_maskz_loadu_epi8
2112   // CHECK: @llvm.masked.load.v16i8.p0v16i8(<16 x i8>* %{{.*}}, i32 1, <16 x i1> %{{.*}}, <16 x i8> %{{.*}})
2113   return _mm_maskz_loadu_epi8(__U, __P);
2114 }
2115 
test_mm256_mask_loadu_epi8(__m256i __W,__mmask32 __U,void const * __P)2116 __m256i test_mm256_mask_loadu_epi8(__m256i __W, __mmask32 __U, void const *__P) {
2117   // CHECK-LABEL: @test_mm256_mask_loadu_epi8
2118   // CHECK: @llvm.masked.load.v32i8.p0v32i8(<32 x i8>* %{{.*}}, i32 1, <32 x i1> %{{.*}}, <32 x i8> %{{.*}})
2119   return _mm256_mask_loadu_epi8(__W, __U, __P);
2120 }
2121 
test_mm256_maskz_loadu_epi8(__mmask32 __U,void const * __P)2122 __m256i test_mm256_maskz_loadu_epi8(__mmask32 __U, void const *__P) {
2123   // CHECK-LABEL: @test_mm256_maskz_loadu_epi8
2124   // CHECK: @llvm.masked.load.v32i8.p0v32i8(<32 x i8>* %{{.*}}, i32 1, <32 x i1> %{{.*}}, <32 x i8> %{{.*}})
2125   return _mm256_maskz_loadu_epi8(__U, __P);
2126 }
2127 
test_mm_mask_storeu_epi16(void * __P,__mmask8 __U,__m128i __A)2128 void test_mm_mask_storeu_epi16(void *__P, __mmask8 __U, __m128i __A) {
2129   // CHECK-LABEL: @test_mm_mask_storeu_epi16
2130   // CHECK: @llvm.masked.store.v8i16.p0v8i16(<8 x i16> %{{.*}}, <8 x i16>* %{{.*}}, i32 1, <8 x i1> %{{.*}})
2131   return _mm_mask_storeu_epi16(__P, __U, __A);
2132 }
2133 
test_mm256_mask_storeu_epi16(void * __P,__mmask16 __U,__m256i __A)2134 void test_mm256_mask_storeu_epi16(void *__P, __mmask16 __U, __m256i __A) {
2135   // CHECK-LABEL: @test_mm256_mask_storeu_epi16
2136   // CHECK: @llvm.masked.store.v16i16.p0v16i16(<16 x i16> %{{.*}}, <16 x i16>* %{{.*}}, i32 1, <16 x i1> %{{.*}})
2137   return _mm256_mask_storeu_epi16(__P, __U, __A);
2138 }
2139 
test_mm_mask_storeu_epi8(void * __P,__mmask16 __U,__m128i __A)2140 void test_mm_mask_storeu_epi8(void *__P, __mmask16 __U, __m128i __A) {
2141   // CHECK-LABEL: @test_mm_mask_storeu_epi8
2142   // CHECK: @llvm.masked.store.v16i8.p0v16i8(<16 x i8> %{{.*}}, <16 x i8>* %{{.*}}, i32 1, <16 x i1> %{{.*}})
2143   return _mm_mask_storeu_epi8(__P, __U, __A);
2144 }
2145 
test_mm256_mask_storeu_epi8(void * __P,__mmask32 __U,__m256i __A)2146 void test_mm256_mask_storeu_epi8(void *__P, __mmask32 __U, __m256i __A) {
2147   // CHECK-LABEL: @test_mm256_mask_storeu_epi8
2148   // CHECK: @llvm.masked.store.v32i8.p0v32i8(<32 x i8> %{{.*}}, <32 x i8>* %{{.*}}, i32 1, <32 x i1> %{{.*}})
2149   return _mm256_mask_storeu_epi8(__P, __U, __A);
2150 }
test_mm_test_epi8_mask(__m128i __A,__m128i __B)2151 __mmask16 test_mm_test_epi8_mask(__m128i __A, __m128i __B) {
2152   // CHECK-LABEL: @test_mm_test_epi8_mask
2153   // CHECK: @llvm.x86.avx512.ptestm.b.128
2154   return _mm_test_epi8_mask(__A, __B);
2155 }
2156 
test_mm_mask_test_epi8_mask(__mmask16 __U,__m128i __A,__m128i __B)2157 __mmask16 test_mm_mask_test_epi8_mask(__mmask16 __U, __m128i __A, __m128i __B) {
2158   // CHECK-LABEL: @test_mm_mask_test_epi8_mask
2159   // CHECK: @llvm.x86.avx512.ptestm.b.128
2160   return _mm_mask_test_epi8_mask(__U, __A, __B);
2161 }
2162 
test_mm256_test_epi8_mask(__m256i __A,__m256i __B)2163 __mmask32 test_mm256_test_epi8_mask(__m256i __A, __m256i __B) {
2164   // CHECK-LABEL: @test_mm256_test_epi8_mask
2165   // CHECK: @llvm.x86.avx512.ptestm.b.256
2166   return _mm256_test_epi8_mask(__A, __B);
2167 }
2168 
test_mm256_mask_test_epi8_mask(__mmask32 __U,__m256i __A,__m256i __B)2169 __mmask32 test_mm256_mask_test_epi8_mask(__mmask32 __U, __m256i __A, __m256i __B) {
2170   // CHECK-LABEL: @test_mm256_mask_test_epi8_mask
2171   // CHECK: @llvm.x86.avx512.ptestm.b.256
2172   return _mm256_mask_test_epi8_mask(__U, __A, __B);
2173 }
2174 
test_mm_test_epi16_mask(__m128i __A,__m128i __B)2175 __mmask8 test_mm_test_epi16_mask(__m128i __A, __m128i __B) {
2176   // CHECK-LABEL: @test_mm_test_epi16_mask
2177   // CHECK: @llvm.x86.avx512.ptestm.w.128
2178   return _mm_test_epi16_mask(__A, __B);
2179 }
2180 
test_mm_mask_test_epi16_mask(__mmask8 __U,__m128i __A,__m128i __B)2181 __mmask8 test_mm_mask_test_epi16_mask(__mmask8 __U, __m128i __A, __m128i __B) {
2182   // CHECK-LABEL: @test_mm_mask_test_epi16_mask
2183   // CHECK: @llvm.x86.avx512.ptestm.w.128
2184   return _mm_mask_test_epi16_mask(__U, __A, __B);
2185 }
2186 
test_mm256_test_epi16_mask(__m256i __A,__m256i __B)2187 __mmask16 test_mm256_test_epi16_mask(__m256i __A, __m256i __B) {
2188   // CHECK-LABEL: @test_mm256_test_epi16_mask
2189   // CHECK: @llvm.x86.avx512.ptestm.w.256
2190   return _mm256_test_epi16_mask(__A, __B);
2191 }
2192 
test_mm256_mask_test_epi16_mask(__mmask16 __U,__m256i __A,__m256i __B)2193 __mmask16 test_mm256_mask_test_epi16_mask(__mmask16 __U, __m256i __A, __m256i __B) {
2194   // CHECK-LABEL: @test_mm256_mask_test_epi16_mask
2195   // CHECK: @llvm.x86.avx512.ptestm.w.256
2196   return _mm256_mask_test_epi16_mask(__U, __A, __B);
2197 }
2198 
test_mm_testn_epi8_mask(__m128i __A,__m128i __B)2199 __mmask16 test_mm_testn_epi8_mask(__m128i __A, __m128i __B) {
2200   // CHECK-LABEL: @test_mm_testn_epi8_mask
2201   // CHECK: @llvm.x86.avx512.ptestnm.b.128
2202   return _mm_testn_epi8_mask(__A, __B);
2203 }
2204 
test_mm_mask_testn_epi8_mask(__mmask16 __U,__m128i __A,__m128i __B)2205 __mmask16 test_mm_mask_testn_epi8_mask(__mmask16 __U, __m128i __A, __m128i __B) {
2206   // CHECK-LABEL: @test_mm_mask_testn_epi8_mask
2207   // CHECK: @llvm.x86.avx512.ptestnm.b.128
2208   return _mm_mask_testn_epi8_mask(__U, __A, __B);
2209 }
2210 
test_mm256_testn_epi8_mask(__m256i __A,__m256i __B)2211 __mmask32 test_mm256_testn_epi8_mask(__m256i __A, __m256i __B) {
2212   // CHECK-LABEL: @test_mm256_testn_epi8_mask
2213   // CHECK: @llvm.x86.avx512.ptestnm.b.256
2214   return _mm256_testn_epi8_mask(__A, __B);
2215 }
2216 
test_mm256_mask_testn_epi8_mask(__mmask32 __U,__m256i __A,__m256i __B)2217 __mmask32 test_mm256_mask_testn_epi8_mask(__mmask32 __U, __m256i __A, __m256i __B) {
2218   // CHECK-LABEL: @test_mm256_mask_testn_epi8_mask
2219   // CHECK: @llvm.x86.avx512.ptestnm.b.256
2220   return _mm256_mask_testn_epi8_mask(__U, __A, __B);
2221 }
2222 
test_mm_testn_epi16_mask(__m128i __A,__m128i __B)2223 __mmask8 test_mm_testn_epi16_mask(__m128i __A, __m128i __B) {
2224   // CHECK-LABEL: @test_mm_testn_epi16_mask
2225   // CHECK: @llvm.x86.avx512.ptestnm.w.128
2226   return _mm_testn_epi16_mask(__A, __B);
2227 }
2228 
test_mm_mask_testn_epi16_mask(__mmask8 __U,__m128i __A,__m128i __B)2229 __mmask8 test_mm_mask_testn_epi16_mask(__mmask8 __U, __m128i __A, __m128i __B) {
2230   // CHECK-LABEL: @test_mm_mask_testn_epi16_mask
2231   // CHECK: @llvm.x86.avx512.ptestnm.w.128
2232   return _mm_mask_testn_epi16_mask(__U, __A, __B);
2233 }
2234 
test_mm256_testn_epi16_mask(__m256i __A,__m256i __B)2235 __mmask16 test_mm256_testn_epi16_mask(__m256i __A, __m256i __B) {
2236   // CHECK-LABEL: @test_mm256_testn_epi16_mask
2237   // CHECK: @llvm.x86.avx512.ptestnm.w.256
2238   return _mm256_testn_epi16_mask(__A, __B);
2239 }
2240 
test_mm256_mask_testn_epi16_mask(__mmask16 __U,__m256i __A,__m256i __B)2241 __mmask16 test_mm256_mask_testn_epi16_mask(__mmask16 __U, __m256i __A, __m256i __B) {
2242   // CHECK-LABEL: @test_mm256_mask_testn_epi16_mask
2243   // CHECK: @llvm.x86.avx512.ptestnm.w.256
2244   return _mm256_mask_testn_epi16_mask(__U, __A, __B);
2245 }
2246 
test_mm_movepi8_mask(__m128i __A)2247 __mmask16 test_mm_movepi8_mask(__m128i __A) {
2248   // CHECK-LABEL: @test_mm_movepi8_mask
2249   // CHECK: @llvm.x86.avx512.cvtb2mask.128
2250   return _mm_movepi8_mask(__A);
2251 }
2252 
test_mm256_movepi8_mask(__m256i __A)2253 __mmask32 test_mm256_movepi8_mask(__m256i __A) {
2254   // CHECK-LABEL: @test_mm256_movepi8_mask
2255   // CHECK: @llvm.x86.avx512.cvtb2mask.256
2256   return _mm256_movepi8_mask(__A);
2257 }
2258 
test_mm_movm_epi8(__mmask16 __A)2259 __m128i test_mm_movm_epi8(__mmask16 __A) {
2260   // CHECK-LABEL: @test_mm_movm_epi8
2261   // CHECK: @llvm.x86.avx512.cvtmask2b.128
2262   return _mm_movm_epi8(__A);
2263 }
2264 
test_mm256_movm_epi8(__mmask32 __A)2265 __m256i test_mm256_movm_epi8(__mmask32 __A) {
2266   // CHECK-LABEL: @test_mm256_movm_epi8
2267   // CHECK: @llvm.x86.avx512.cvtmask2b.256
2268   return _mm256_movm_epi8(__A);
2269 }
2270 
test_mm_movm_epi16(__mmask8 __A)2271 __m128i test_mm_movm_epi16(__mmask8 __A) {
2272   // CHECK-LABEL: @test_mm_movm_epi16
2273   // CHECK: @llvm.x86.avx512.cvtmask2w.128
2274   return _mm_movm_epi16(__A);
2275 }
2276 
test_mm256_movm_epi16(__mmask16 __A)2277 __m256i test_mm256_movm_epi16(__mmask16 __A) {
2278   // CHECK-LABEL: @test_mm256_movm_epi16
2279   // CHECK: @llvm.x86.avx512.cvtmask2w.256
2280   return _mm256_movm_epi16(__A);
2281 }
2282 
test_mm_mask_broadcastb_epi8(__m128i __O,__mmask16 __M,__m128i __A)2283 __m128i test_mm_mask_broadcastb_epi8(__m128i __O, __mmask16 __M, __m128i __A) {
2284   // CHECK-LABEL: @test_mm_mask_broadcastb_epi8
2285   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> zeroinitializer
2286   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
2287   return _mm_mask_broadcastb_epi8(__O, __M, __A);
2288 }
2289 
test_mm_maskz_broadcastb_epi8(__mmask16 __M,__m128i __A)2290 __m128i test_mm_maskz_broadcastb_epi8(__mmask16 __M, __m128i __A) {
2291   // CHECK-LABEL: @test_mm_maskz_broadcastb_epi8
2292   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> zeroinitializer
2293   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
2294   return _mm_maskz_broadcastb_epi8(__M, __A);
2295 }
2296 
test_mm256_mask_broadcastb_epi8(__m256i __O,__mmask32 __M,__m128i __A)2297 __m256i test_mm256_mask_broadcastb_epi8(__m256i __O, __mmask32 __M, __m128i __A) {
2298   // CHECK-LABEL: @test_mm256_mask_broadcastb_epi8
2299   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <32 x i32> zeroinitializer
2300   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
2301   return _mm256_mask_broadcastb_epi8(__O, __M, __A);
2302 }
2303 
test_mm256_maskz_broadcastb_epi8(__mmask32 __M,__m128i __A)2304 __m256i test_mm256_maskz_broadcastb_epi8(__mmask32 __M, __m128i __A) {
2305   // CHECK-LABEL: @test_mm256_maskz_broadcastb_epi8
2306   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <32 x i32> zeroinitializer
2307   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
2308   return _mm256_maskz_broadcastb_epi8(__M, __A);
2309 }
2310 
test_mm_mask_broadcastw_epi16(__m128i __O,__mmask8 __M,__m128i __A)2311 __m128i test_mm_mask_broadcastw_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
2312   // CHECK-LABEL: @test_mm_mask_broadcastw_epi16
2313   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> zeroinitializer
2314   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2315   return _mm_mask_broadcastw_epi16(__O, __M, __A);
2316 }
2317 
test_mm_maskz_broadcastw_epi16(__mmask8 __M,__m128i __A)2318 __m128i test_mm_maskz_broadcastw_epi16(__mmask8 __M, __m128i __A) {
2319   // CHECK-LABEL: @test_mm_maskz_broadcastw_epi16
2320   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> zeroinitializer
2321   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2322   return _mm_maskz_broadcastw_epi16(__M, __A);
2323 }
2324 
test_mm256_mask_broadcastw_epi16(__m256i __O,__mmask16 __M,__m128i __A)2325 __m256i test_mm256_mask_broadcastw_epi16(__m256i __O, __mmask16 __M, __m128i __A) {
2326   // CHECK-LABEL: @test_mm256_mask_broadcastw_epi16
2327   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <16 x i32> zeroinitializer
2328   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2329   return _mm256_mask_broadcastw_epi16(__O, __M, __A);
2330 }
2331 
test_mm256_maskz_broadcastw_epi16(__mmask16 __M,__m128i __A)2332 __m256i test_mm256_maskz_broadcastw_epi16(__mmask16 __M, __m128i __A) {
2333   // CHECK-LABEL: @test_mm256_maskz_broadcastw_epi16
2334   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <16 x i32> zeroinitializer
2335   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2336   return _mm256_maskz_broadcastw_epi16(__M, __A);
2337 }
2338 
test_mm256_mask_set1_epi16(__m256i __O,__mmask16 __M,short __A)2339 __m256i test_mm256_mask_set1_epi16(__m256i __O, __mmask16 __M, short __A) {
2340   // CHECK-LABEL: @test_mm256_mask_set1_epi16
2341   // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.256
2342   return _mm256_mask_set1_epi16(__O, __M, __A);
2343 }
2344 
test_mm256_maskz_set1_epi16(__mmask16 __M,short __A)2345 __m256i test_mm256_maskz_set1_epi16(__mmask16 __M, short __A) {
2346   // CHECK-LABEL: @test_mm256_maskz_set1_epi16
2347   // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.256
2348   return _mm256_maskz_set1_epi16(__M, __A);
2349 }
2350 
test_mm_mask_set1_epi16(__m128i __O,__mmask8 __M,short __A)2351 __m128i test_mm_mask_set1_epi16(__m128i __O, __mmask8 __M, short __A) {
2352   // CHECK-LABEL: @test_mm_mask_set1_epi16
2353   // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.128
2354   return _mm_mask_set1_epi16(__O, __M, __A);
2355 }
2356 
test_mm_maskz_set1_epi16(__mmask8 __M,short __A)2357 __m128i test_mm_maskz_set1_epi16(__mmask8 __M, short __A) {
2358   // CHECK-LABEL: @test_mm_maskz_set1_epi16
2359   // CHECK: @llvm.x86.avx512.mask.pbroadcast.w.gpr.128
2360   return _mm_maskz_set1_epi16(__M, __A);
2361 }
test_mm_permutexvar_epi16(__m128i __A,__m128i __B)2362 __m128i test_mm_permutexvar_epi16(__m128i __A, __m128i __B) {
2363   // CHECK-LABEL: @test_mm_permutexvar_epi16
2364   // CHECK: @llvm.x86.avx512.mask.permvar.hi.128
2365   return _mm_permutexvar_epi16(__A, __B);
2366 }
2367 
test_mm_maskz_permutexvar_epi16(__mmask8 __M,__m128i __A,__m128i __B)2368 __m128i test_mm_maskz_permutexvar_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
2369   // CHECK-LABEL: @test_mm_maskz_permutexvar_epi16
2370   // CHECK: @llvm.x86.avx512.mask.permvar.hi.128
2371   return _mm_maskz_permutexvar_epi16(__M, __A, __B);
2372 }
2373 
test_mm_mask_permutexvar_epi16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2374 __m128i test_mm_mask_permutexvar_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2375   // CHECK-LABEL: @test_mm_mask_permutexvar_epi16
2376   // CHECK: @llvm.x86.avx512.mask.permvar.hi.128
2377   return _mm_mask_permutexvar_epi16(__W, __M, __A, __B);
2378 }
2379 
test_mm256_permutexvar_epi16(__m256i __A,__m256i __B)2380 __m256i test_mm256_permutexvar_epi16(__m256i __A, __m256i __B) {
2381   // CHECK-LABEL: @test_mm256_permutexvar_epi16
2382   // CHECK: @llvm.x86.avx512.mask.permvar.hi.256
2383   return _mm256_permutexvar_epi16(__A, __B);
2384 }
2385 
test_mm256_maskz_permutexvar_epi16(__mmask16 __M,__m256i __A,__m256i __B)2386 __m256i test_mm256_maskz_permutexvar_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
2387   // CHECK-LABEL: @test_mm256_maskz_permutexvar_epi16
2388   // CHECK: @llvm.x86.avx512.mask.permvar.hi.256
2389   return _mm256_maskz_permutexvar_epi16(__M, __A, __B);
2390 }
2391 
test_mm256_mask_permutexvar_epi16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)2392 __m256i test_mm256_mask_permutexvar_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
2393   // CHECK-LABEL: @test_mm256_mask_permutexvar_epi16
2394   // CHECK: @llvm.x86.avx512.mask.permvar.hi.256
2395   return _mm256_mask_permutexvar_epi16(__W, __M, __A, __B);
2396 }
test_mm_mask_alignr_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)2397 __m128i test_mm_mask_alignr_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
2398   // CHECK-LABEL: @test_mm_mask_alignr_epi8
2399   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17>
2400   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
2401   return _mm_mask_alignr_epi8(__W, __U, __A, __B, 2);
2402 }
2403 
test_mm_maskz_alignr_epi8(__mmask16 __U,__m128i __A,__m128i __B)2404 __m128i test_mm_maskz_alignr_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
2405   // CHECK-LABEL: @test_mm_maskz_alignr_epi8
2406   // CHECK: shufflevector <16 x i8> %{{.*}}, <16 x i8> %{{.*}}, <16 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17>
2407   // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
2408   return _mm_maskz_alignr_epi8(__U, __A, __B, 2);
2409 }
2410 
test_mm256_mask_alignr_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)2411 __m256i test_mm256_mask_alignr_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
2412   // CHECK-LABEL: @test_mm256_mask_alignr_epi8
2413   // CHECK: shufflevector <32 x i8> %{{.*}}, <32 x i8> %{{.*}}, <32 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 32, i32 33, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 48, i32 49>
2414   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
2415   return _mm256_mask_alignr_epi8(__W, __U, __A, __B, 2);
2416 }
2417 
test_mm256_maskz_alignr_epi8(__mmask32 __U,__m256i __A,__m256i __B)2418 __m256i test_mm256_maskz_alignr_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
2419   // CHECK-LABEL: @test_mm256_maskz_alignr_epi8
2420   // CHECK: shufflevector <32 x i8> %{{.*}}, <32 x i8> %{{.*}}, <32 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 32, i32 33, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 48, i32 49>
2421   // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
2422   return _mm256_maskz_alignr_epi8(__U, __A, __B, 2);
2423 }
2424 
test_mm_dbsad_epu8(__m128i __A,__m128i __B)2425 __m128i test_mm_dbsad_epu8(__m128i __A, __m128i __B) {
2426   // CHECK-LABEL: @test_mm_dbsad_epu8
2427   // CHECK: @llvm.x86.avx512.mask.dbpsadbw.128
2428   return _mm_dbsad_epu8(__A, __B, 170);
2429 }
2430 
test_mm_mask_dbsad_epu8(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2431 __m128i test_mm_mask_dbsad_epu8(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
2432   // CHECK-LABEL: @test_mm_mask_dbsad_epu8
2433   // CHECK: @llvm.x86.avx512.mask.dbpsadbw.128
2434   return _mm_mask_dbsad_epu8(__W, __U, __A, __B, 170);
2435 }
2436 
test_mm_maskz_dbsad_epu8(__mmask8 __U,__m128i __A,__m128i __B)2437 __m128i test_mm_maskz_dbsad_epu8(__mmask8 __U, __m128i __A, __m128i __B) {
2438   // CHECK-LABEL: @test_mm_maskz_dbsad_epu8
2439   // CHECK: @llvm.x86.avx512.mask.dbpsadbw.128
2440   return _mm_maskz_dbsad_epu8(__U, __A, __B, 170);
2441 }
2442 
test_mm256_dbsad_epu8(__m256i __A,__m256i __B)2443 __m256i test_mm256_dbsad_epu8(__m256i __A, __m256i __B) {
2444   // CHECK-LABEL: @test_mm256_dbsad_epu8
2445   // CHECK: @llvm.x86.avx512.mask.dbpsadbw.256
2446   return _mm256_dbsad_epu8(__A, __B, 170);
2447 }
2448 
test_mm256_mask_dbsad_epu8(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2449 __m256i test_mm256_mask_dbsad_epu8(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
2450   // CHECK-LABEL: @test_mm256_mask_dbsad_epu8
2451   // CHECK: @llvm.x86.avx512.mask.dbpsadbw.256
2452   return _mm256_mask_dbsad_epu8(__W, __U, __A, __B, 170);
2453 }
2454 
test_mm256_maskz_dbsad_epu8(__mmask16 __U,__m256i __A,__m256i __B)2455 __m256i test_mm256_maskz_dbsad_epu8(__mmask16 __U, __m256i __A, __m256i __B) {
2456   // CHECK-LABEL: @test_mm256_maskz_dbsad_epu8
2457   // CHECK: @llvm.x86.avx512.mask.dbpsadbw.256
2458   return _mm256_maskz_dbsad_epu8(__U, __A, __B, 170);
2459 }
test_mm_movepi16_mask(__m128i __A)2460 __mmask8 test_mm_movepi16_mask(__m128i __A) {
2461   // CHECK-LABEL: @test_mm_movepi16_mask
2462   // CHECK: @llvm.x86.avx512.cvtw2mask.128
2463   return _mm_movepi16_mask(__A);
2464 }
2465 
test_mm256_movepi16_mask(__m256i __A)2466 __mmask16 test_mm256_movepi16_mask(__m256i __A) {
2467   // CHECK-LABEL: @test_mm256_movepi16_mask
2468   // CHECK: @llvm.x86.avx512.cvtw2mask.256
2469   return _mm256_movepi16_mask(__A);
2470 }
2471 
test_mm_mask_shufflehi_epi16(__m128i __W,__mmask32 __U,__m128i __A)2472 __m128i test_mm_mask_shufflehi_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
2473   // CHECK-LABEL: @test_mm_mask_shufflehi_epi16
2474   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4>
2475   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2476   return _mm_mask_shufflehi_epi16(__W, __U, __A, 5);
2477 }
2478 
test_mm_maskz_shufflehi_epi16(__mmask32 __U,__m128i __A)2479 __m128i test_mm_maskz_shufflehi_epi16(__mmask32 __U, __m128i __A) {
2480   // CHECK-LABEL: @test_mm_maskz_shufflehi_epi16
2481   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4>
2482   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2483   return _mm_maskz_shufflehi_epi16(__U, __A, 5);
2484 }
2485 
test_mm_mask_shufflelo_epi16(__m128i __W,__mmask32 __U,__m128i __A)2486 __m128i test_mm_mask_shufflelo_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
2487   // CHECK-LABEL: @test_mm_mask_shufflelo_epi16
2488   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7>
2489   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2490   return _mm_mask_shufflelo_epi16(__W, __U, __A, 5);
2491 }
2492 
test_mm_maskz_shufflelo_epi16(__mmask32 __U,__m128i __A)2493 __m128i test_mm_maskz_shufflelo_epi16(__mmask32 __U, __m128i __A) {
2494   // CHECK-LABEL: @test_mm_maskz_shufflelo_epi16
2495   // CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> %{{.*}}, <8 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7>
2496   // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
2497   return _mm_maskz_shufflelo_epi16(__U, __A, 5);
2498 }
2499 
test_mm256_mask_shufflehi_epi16(__m256i __W,__mmask32 __U,__m256i __A)2500 __m256i test_mm256_mask_shufflehi_epi16(__m256i __W, __mmask32 __U, __m256i __A) {
2501   // CHECK-LABEL: @test_mm256_mask_shufflehi_epi16
2502   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4, i32 8, i32 9, i32 10, i32 11, i32 13, i32 13, i32 12, i32 12>
2503   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2504   return _mm256_mask_shufflehi_epi16(__W, __U, __A, 5);
2505 }
2506 
test_mm256_maskz_shufflehi_epi16(__mmask32 __U,__m256i __A)2507 __m256i test_mm256_maskz_shufflehi_epi16(__mmask32 __U, __m256i __A) {
2508   // CHECK-LABEL: @test_mm256_maskz_shufflehi_epi16
2509   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4, i32 8, i32 9, i32 10, i32 11, i32 13, i32 13, i32 12, i32 12>
2510   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2511   return _mm256_maskz_shufflehi_epi16(__U, __A, 5);
2512 }
2513 
test_mm256_mask_shufflelo_epi16(__m256i __W,__mmask32 __U,__m256i __A)2514 __m256i test_mm256_mask_shufflelo_epi16(__m256i __W, __mmask32 __U, __m256i __A) {
2515   // CHECK-LABEL: @test_mm256_mask_shufflelo_epi16
2516   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7, i32 9, i32 9, i32 8, i32 8, i32 12, i32 13, i32 14, i32 15>
2517   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2518   return _mm256_mask_shufflelo_epi16(__W, __U, __A, 5);
2519 }
2520 
test_mm256_maskz_shufflelo_epi16(__mmask32 __U,__m256i __A)2521 __m256i test_mm256_maskz_shufflelo_epi16(__mmask32 __U, __m256i __A) {
2522   // CHECK-LABEL: @test_mm256_maskz_shufflelo_epi16
2523   // CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> %{{.*}}, <16 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7, i32 9, i32 9, i32 8, i32 8, i32 12, i32 13, i32 14, i32 15>
2524   // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
2525   return _mm256_maskz_shufflelo_epi16(__U, __A, 5);
2526 }
2527 
test_mm_mask_cvtepi16_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2528 void test_mm_mask_cvtepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2529 {
2530  // CHECK-LABEL:@test_mm_mask_cvtepi16_storeu_epi8
2531  // CHECK: @llvm.x86.avx512.mask.pmov.wb.mem.128
2532  _mm_mask_cvtepi16_storeu_epi8 (__P, __M, __A);
2533 }
2534 
test_mm_mask_cvtsepi16_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2535 void test_mm_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2536 {
2537  // CHECK-LABEL:@test_mm_mask_cvtsepi16_storeu_epi8
2538  // CHECK: @llvm.x86.avx512.mask.pmovs.wb.mem.128
2539   _mm_mask_cvtsepi16_storeu_epi8 ( __P,  __M, __A);
2540 }
2541 
test_mm_mask_cvtusepi16_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2542 void test_mm_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2543 {
2544  // CHECK-LABEL:@test_mm_mask_cvtusepi16_storeu_epi8
2545  // CHECK: @llvm.x86.avx512.mask.pmovus.wb.mem.128
2546   _mm_mask_cvtusepi16_storeu_epi8 (__P, __M, __A);
2547 }
2548 
test_mm256_mask_cvtusepi16_storeu_epi8(void * __P,__mmask16 __M,__m256i __A)2549 void test_mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
2550 {
2551  // CHECK-LABEL:@test_mm256_mask_cvtusepi16_storeu_epi8
2552  // CHECK: @llvm.x86.avx512.mask.pmovus.wb.mem.256
2553   _mm256_mask_cvtusepi16_storeu_epi8 ( __P, __M, __A);
2554 }
2555 
test_mm256_mask_cvtepi16_storeu_epi8(void * __P,__mmask16 __M,__m256i __A)2556 void test_mm256_mask_cvtepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
2557 {
2558  // CHECK-LABEL:@test_mm256_mask_cvtepi16_storeu_epi8
2559  // CHECK: @llvm.x86.avx512.mask.pmov.wb.mem.256
2560   _mm256_mask_cvtepi16_storeu_epi8 ( __P,  __M, __A);
2561 }
2562 
test_mm256_mask_cvtsepi16_storeu_epi8(void * __P,__mmask16 __M,__m256i __A)2563 void test_mm256_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
2564 {
2565  // CHECK-LABEL:@test_mm256_mask_cvtsepi16_storeu_epi8
2566  // CHECK: @llvm.x86.avx512.mask.pmovs.wb.mem.256
2567  _mm256_mask_cvtsepi16_storeu_epi8 ( __P, __M, __A);
2568 }
2569