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