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