xref: /aosp_15_r20/external/clang/test/CodeGen/avx512vl-builtins.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512f -target-feature +avx512vl -emit-llvm -o - -Werror | FileCheck %s
2*67e74705SXin Li 
3*67e74705SXin Li // Don't include mm_malloc.h, it's system specific.
4*67e74705SXin Li #define __MM_MALLOC_H
5*67e74705SXin Li 
6*67e74705SXin Li #include <immintrin.h>
7*67e74705SXin Li 
test_mm_cmpeq_epu32_mask(__m128i __a,__m128i __b)8*67e74705SXin Li __mmask8 test_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {
9*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpeq_epu32_mask
10*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
11*67e74705SXin Li   // CHECK: shufflevector <4 x i1> %{{.*}}, <4 x i1> zeroinitializer, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
12*67e74705SXin Li   return (__mmask8)_mm_cmpeq_epu32_mask(__a, __b);
13*67e74705SXin Li }
14*67e74705SXin Li 
test_mm_mask_cmpeq_epu32_mask(__mmask8 __u,__m128i __a,__m128i __b)15*67e74705SXin Li __mmask8 test_mm_mask_cmpeq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
16*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpeq_epu32_mask
17*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
18*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
19*67e74705SXin Li   return (__mmask8)_mm_mask_cmpeq_epu32_mask(__u, __a, __b);
20*67e74705SXin Li }
21*67e74705SXin Li 
test_mm_cmpeq_epu64_mask(__m128i __a,__m128i __b)22*67e74705SXin Li __mmask8 test_mm_cmpeq_epu64_mask(__m128i __a, __m128i __b) {
23*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpeq_epu64_mask
24*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
25*67e74705SXin Li   // CHECK: shufflevector <2 x i1> %{{.*}}, <2 x i1> zeroinitializer, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 2, i32 3, i32 2, i32 3>
26*67e74705SXin Li   return (__mmask8)_mm_cmpeq_epu64_mask(__a, __b);
27*67e74705SXin Li }
28*67e74705SXin Li 
test_mm_mask_cmpeq_epu64_mask(__mmask8 __u,__m128i __a,__m128i __b)29*67e74705SXin Li __mmask8 test_mm_mask_cmpeq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
30*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpeq_epu64_mask
31*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
32*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
33*67e74705SXin Li   return (__mmask8)_mm_mask_cmpeq_epu64_mask(__u, __a, __b);
34*67e74705SXin Li }
35*67e74705SXin Li 
test_mm_cmpge_epi32_mask(__m128i __a,__m128i __b)36*67e74705SXin Li __mmask8 test_mm_cmpge_epi32_mask(__m128i __a, __m128i __b) {
37*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpge_epi32_mask
38*67e74705SXin Li   // CHECK: icmp sge <4 x i32> %{{.*}}, %{{.*}}
39*67e74705SXin Li   return (__mmask8)_mm_cmpge_epi32_mask(__a, __b);
40*67e74705SXin Li }
41*67e74705SXin Li 
test_mm_mask_cmpge_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)42*67e74705SXin Li __mmask8 test_mm_mask_cmpge_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
43*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpge_epi32_mask
44*67e74705SXin Li   // CHECK: icmp sge <4 x i32> %{{.*}}, %{{.*}}
45*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
46*67e74705SXin Li   return (__mmask8)_mm_mask_cmpge_epi32_mask(__u, __a, __b);
47*67e74705SXin Li }
48*67e74705SXin Li 
test_mm_cmpge_epi64_mask(__m128i __a,__m128i __b)49*67e74705SXin Li __mmask8 test_mm_cmpge_epi64_mask(__m128i __a, __m128i __b) {
50*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpge_epi64_mask
51*67e74705SXin Li   // CHECK: icmp sge <2 x i64> %{{.*}}, %{{.*}}
52*67e74705SXin Li   return (__mmask8)_mm_cmpge_epi64_mask(__a, __b);
53*67e74705SXin Li }
54*67e74705SXin Li 
test_mm_mask_cmpge_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)55*67e74705SXin Li __mmask8 test_mm_mask_cmpge_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
56*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpge_epi64_mask
57*67e74705SXin Li   // CHECK: icmp sge <2 x i64> %{{.*}}, %{{.*}}
58*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
59*67e74705SXin Li   return (__mmask8)_mm_mask_cmpge_epi64_mask(__u, __a, __b);
60*67e74705SXin Li }
61*67e74705SXin Li 
test_mm256_cmpge_epi32_mask(__m256i __a,__m256i __b)62*67e74705SXin Li __mmask8 test_mm256_cmpge_epi32_mask(__m256i __a, __m256i __b) {
63*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpge_epi32_mask
64*67e74705SXin Li   // CHECK: icmp sge <8 x i32> %{{.*}}, %{{.*}}
65*67e74705SXin Li   return (__mmask8)_mm256_cmpge_epi32_mask(__a, __b);
66*67e74705SXin Li }
67*67e74705SXin Li 
test_mm256_mask_cmpge_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)68*67e74705SXin Li __mmask8 test_mm256_mask_cmpge_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
69*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpge_epi32_mask
70*67e74705SXin Li   // CHECK: icmp sge <8 x i32> %{{.*}}, %{{.*}}
71*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
72*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpge_epi32_mask(__u, __a, __b);
73*67e74705SXin Li }
74*67e74705SXin Li 
test_mm256_cmpge_epi64_mask(__m256i __a,__m256i __b)75*67e74705SXin Li __mmask8 test_mm256_cmpge_epi64_mask(__m256i __a, __m256i __b) {
76*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpge_epi64_mask
77*67e74705SXin Li   // CHECK: icmp sge <4 x i64> %{{.*}}, %{{.*}}
78*67e74705SXin Li   return (__mmask8)_mm256_cmpge_epi64_mask(__a, __b);
79*67e74705SXin Li }
80*67e74705SXin Li 
test_mm256_mask_cmpge_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)81*67e74705SXin Li __mmask8 test_mm256_mask_cmpge_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
82*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpge_epi64_mask
83*67e74705SXin Li   // CHECK: icmp sge <4 x i64> %{{.*}}, %{{.*}}
84*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
85*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpge_epi64_mask(__u, __a, __b);
86*67e74705SXin Li }
87*67e74705SXin Li 
test_mm_cmpge_epu32_mask(__m128i __a,__m128i __b)88*67e74705SXin Li __mmask8 test_mm_cmpge_epu32_mask(__m128i __a, __m128i __b) {
89*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpge_epu32_mask
90*67e74705SXin Li   // CHECK: icmp uge <4 x i32> %{{.*}}, %{{.*}}
91*67e74705SXin Li   return (__mmask8)_mm_cmpge_epu32_mask(__a, __b);
92*67e74705SXin Li }
93*67e74705SXin Li 
test_mm_mask_cmpge_epu32_mask(__mmask8 __u,__m128i __a,__m128i __b)94*67e74705SXin Li __mmask8 test_mm_mask_cmpge_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
95*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpge_epu32_mask
96*67e74705SXin Li   // CHECK: icmp uge <4 x i32> %{{.*}}, %{{.*}}
97*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
98*67e74705SXin Li   return (__mmask8)_mm_mask_cmpge_epu32_mask(__u, __a, __b);
99*67e74705SXin Li }
100*67e74705SXin Li 
test_mm_cmpge_epu64_mask(__m128i __a,__m128i __b)101*67e74705SXin Li __mmask8 test_mm_cmpge_epu64_mask(__m128i __a, __m128i __b) {
102*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpge_epu64_mask
103*67e74705SXin Li   // CHECK: icmp uge <2 x i64> %{{.*}}, %{{.*}}
104*67e74705SXin Li   return (__mmask8)_mm_cmpge_epu64_mask(__a, __b);
105*67e74705SXin Li }
106*67e74705SXin Li 
test_mm_mask_cmpge_epu64_mask(__mmask8 __u,__m128i __a,__m128i __b)107*67e74705SXin Li __mmask8 test_mm_mask_cmpge_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
108*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpge_epu64_mask
109*67e74705SXin Li   // CHECK: icmp uge <2 x i64> %{{.*}}, %{{.*}}
110*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
111*67e74705SXin Li   return (__mmask8)_mm_mask_cmpge_epu64_mask(__u, __a, __b);
112*67e74705SXin Li }
113*67e74705SXin Li 
test_mm256_cmpge_epu32_mask(__m256i __a,__m256i __b)114*67e74705SXin Li __mmask8 test_mm256_cmpge_epu32_mask(__m256i __a, __m256i __b) {
115*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpge_epu32_mask
116*67e74705SXin Li   // CHECK: icmp uge <8 x i32> %{{.*}}, %{{.*}}
117*67e74705SXin Li   return (__mmask8)_mm256_cmpge_epu32_mask(__a, __b);
118*67e74705SXin Li }
119*67e74705SXin Li 
test_mm256_mask_cmpge_epu32_mask(__mmask8 __u,__m256i __a,__m256i __b)120*67e74705SXin Li __mmask8 test_mm256_mask_cmpge_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
121*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpge_epu32_mask
122*67e74705SXin Li   // CHECK: icmp uge <8 x i32> %{{.*}}, %{{.*}}
123*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
124*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpge_epu32_mask(__u, __a, __b);
125*67e74705SXin Li }
126*67e74705SXin Li 
test_mm256_cmpge_epu64_mask(__m256i __a,__m256i __b)127*67e74705SXin Li __mmask8 test_mm256_cmpge_epu64_mask(__m256i __a, __m256i __b) {
128*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpge_epu64_mask
129*67e74705SXin Li   // CHECK: icmp uge <4 x i64> %{{.*}}, %{{.*}}
130*67e74705SXin Li   return (__mmask8)_mm256_cmpge_epu64_mask(__a, __b);
131*67e74705SXin Li }
132*67e74705SXin Li 
test_mm256_mask_cmpge_epu64_mask(__mmask8 __u,__m256i __a,__m256i __b)133*67e74705SXin Li __mmask8 test_mm256_mask_cmpge_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
134*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpge_epu64_mask
135*67e74705SXin Li   // CHECK: icmp uge <4 x i64> %{{.*}}, %{{.*}}
136*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
137*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpge_epu64_mask(__u, __a, __b);
138*67e74705SXin Li }
139*67e74705SXin Li 
test_mm_cmpgt_epu32_mask(__m128i __a,__m128i __b)140*67e74705SXin Li __mmask8 test_mm_cmpgt_epu32_mask(__m128i __a, __m128i __b) {
141*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpgt_epu32_mask
142*67e74705SXin Li   // CHECK: icmp ugt <4 x i32> %{{.*}}, %{{.*}}
143*67e74705SXin Li   return (__mmask8)_mm_cmpgt_epu32_mask(__a, __b);
144*67e74705SXin Li }
145*67e74705SXin Li 
test_mm_mask_cmpgt_epu32_mask(__mmask8 __u,__m128i __a,__m128i __b)146*67e74705SXin Li __mmask8 test_mm_mask_cmpgt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
147*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpgt_epu32_mask
148*67e74705SXin Li   // CHECK: icmp ugt <4 x i32> %{{.*}}, %{{.*}}
149*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
150*67e74705SXin Li   return (__mmask8)_mm_mask_cmpgt_epu32_mask(__u, __a, __b);
151*67e74705SXin Li }
152*67e74705SXin Li 
test_mm_cmpgt_epu64_mask(__m128i __a,__m128i __b)153*67e74705SXin Li __mmask8 test_mm_cmpgt_epu64_mask(__m128i __a, __m128i __b) {
154*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpgt_epu64_mask
155*67e74705SXin Li   // CHECK: icmp ugt <2 x i64> %{{.*}}, %{{.*}}
156*67e74705SXin Li   return (__mmask8)_mm_cmpgt_epu64_mask(__a, __b);
157*67e74705SXin Li }
158*67e74705SXin Li 
test_mm_mask_cmpgt_epu64_mask(__mmask8 __u,__m128i __a,__m128i __b)159*67e74705SXin Li __mmask8 test_mm_mask_cmpgt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
160*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpgt_epu64_mask
161*67e74705SXin Li   // CHECK: icmp ugt <2 x i64> %{{.*}}, %{{.*}}
162*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
163*67e74705SXin Li   return (__mmask8)_mm_mask_cmpgt_epu64_mask(__u, __a, __b);
164*67e74705SXin Li }
165*67e74705SXin Li 
test_mm256_cmpgt_epu32_mask(__m256i __a,__m256i __b)166*67e74705SXin Li __mmask8 test_mm256_cmpgt_epu32_mask(__m256i __a, __m256i __b) {
167*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpgt_epu32_mask
168*67e74705SXin Li   // CHECK: icmp ugt <8 x i32> %{{.*}}, %{{.*}}
169*67e74705SXin Li   return (__mmask8)_mm256_cmpgt_epu32_mask(__a, __b);
170*67e74705SXin Li }
171*67e74705SXin Li 
test_mm256_mask_cmpgt_epu32_mask(__mmask8 __u,__m256i __a,__m256i __b)172*67e74705SXin Li __mmask8 test_mm256_mask_cmpgt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
173*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpgt_epu32_mask
174*67e74705SXin Li   // CHECK: icmp ugt <8 x i32> %{{.*}}, %{{.*}}
175*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
176*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpgt_epu32_mask(__u, __a, __b);
177*67e74705SXin Li }
178*67e74705SXin Li 
test_mm256_cmpgt_epu64_mask(__m256i __a,__m256i __b)179*67e74705SXin Li __mmask8 test_mm256_cmpgt_epu64_mask(__m256i __a, __m256i __b) {
180*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpgt_epu64_mask
181*67e74705SXin Li   // CHECK: icmp ugt <4 x i64> %{{.*}}, %{{.*}}
182*67e74705SXin Li   return (__mmask8)_mm256_cmpgt_epu64_mask(__a, __b);
183*67e74705SXin Li }
184*67e74705SXin Li 
test_mm256_mask_cmpgt_epu64_mask(__mmask8 __u,__m256i __a,__m256i __b)185*67e74705SXin Li __mmask8 test_mm256_mask_cmpgt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
186*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpgt_epu64_mask
187*67e74705SXin Li   // CHECK: icmp ugt <4 x i64> %{{.*}}, %{{.*}}
188*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
189*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpgt_epu64_mask(__u, __a, __b);
190*67e74705SXin Li }
191*67e74705SXin Li 
test_mm_cmple_epi32_mask(__m128i __a,__m128i __b)192*67e74705SXin Li __mmask8 test_mm_cmple_epi32_mask(__m128i __a, __m128i __b) {
193*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmple_epi32_mask
194*67e74705SXin Li   // CHECK: icmp sle <4 x i32> %{{.*}}, %{{.*}}
195*67e74705SXin Li   return (__mmask8)_mm_cmple_epi32_mask(__a, __b);
196*67e74705SXin Li }
197*67e74705SXin Li 
test_mm_mask_cmple_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)198*67e74705SXin Li __mmask8 test_mm_mask_cmple_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
199*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmple_epi32_mask
200*67e74705SXin Li   // CHECK: icmp sle <4 x i32> %{{.*}}, %{{.*}}
201*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
202*67e74705SXin Li   return (__mmask8)_mm_mask_cmple_epi32_mask(__u, __a, __b);
203*67e74705SXin Li }
204*67e74705SXin Li 
test_mm_cmple_epi64_mask(__m128i __a,__m128i __b)205*67e74705SXin Li __mmask8 test_mm_cmple_epi64_mask(__m128i __a, __m128i __b) {
206*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmple_epi64_mask
207*67e74705SXin Li   // CHECK: icmp sle <2 x i64> %{{.*}}, %{{.*}}
208*67e74705SXin Li   return (__mmask8)_mm_cmple_epi64_mask(__a, __b);
209*67e74705SXin Li }
210*67e74705SXin Li 
test_mm_mask_cmple_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)211*67e74705SXin Li __mmask8 test_mm_mask_cmple_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
212*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmple_epi64_mask
213*67e74705SXin Li   // CHECK: icmp sle <2 x i64> %{{.*}}, %{{.*}}
214*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
215*67e74705SXin Li   return (__mmask8)_mm_mask_cmple_epi64_mask(__u, __a, __b);
216*67e74705SXin Li }
217*67e74705SXin Li 
test_mm256_cmple_epi32_mask(__m256i __a,__m256i __b)218*67e74705SXin Li __mmask8 test_mm256_cmple_epi32_mask(__m256i __a, __m256i __b) {
219*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmple_epi32_mask
220*67e74705SXin Li   // CHECK: icmp sle <8 x i32> %{{.*}}, %{{.*}}
221*67e74705SXin Li   return (__mmask8)_mm256_cmple_epi32_mask(__a, __b);
222*67e74705SXin Li }
223*67e74705SXin Li 
test_mm256_mask_cmple_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)224*67e74705SXin Li __mmask8 test_mm256_mask_cmple_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
225*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmple_epi32_mask
226*67e74705SXin Li   // CHECK: icmp sle <8 x i32> %{{.*}}, %{{.*}}
227*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
228*67e74705SXin Li   return (__mmask8)_mm256_mask_cmple_epi32_mask(__u, __a, __b);
229*67e74705SXin Li }
230*67e74705SXin Li 
test_mm256_cmple_epi64_mask(__m256i __a,__m256i __b)231*67e74705SXin Li __mmask8 test_mm256_cmple_epi64_mask(__m256i __a, __m256i __b) {
232*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmple_epi64_mask
233*67e74705SXin Li   // CHECK: icmp sle <4 x i64> %{{.*}}, %{{.*}}
234*67e74705SXin Li   return (__mmask8)_mm256_cmple_epi64_mask(__a, __b);
235*67e74705SXin Li }
236*67e74705SXin Li 
test_mm256_mask_cmple_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)237*67e74705SXin Li __mmask8 test_mm256_mask_cmple_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
238*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmple_epi64_mask
239*67e74705SXin Li   // CHECK: icmp sle <4 x i64> %{{.*}}, %{{.*}}
240*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
241*67e74705SXin Li   return (__mmask8)_mm256_mask_cmple_epi64_mask(__u, __a, __b);
242*67e74705SXin Li }
243*67e74705SXin Li 
test_mm_cmple_epu32_mask(__m128i __a,__m128i __b)244*67e74705SXin Li __mmask8 test_mm_cmple_epu32_mask(__m128i __a, __m128i __b) {
245*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmple_epu32_mask
246*67e74705SXin Li   // CHECK: icmp ule <4 x i32> %{{.*}}, %{{.*}}
247*67e74705SXin Li   return (__mmask8)_mm_cmple_epu32_mask(__a, __b);
248*67e74705SXin Li }
249*67e74705SXin Li 
test_mm_mask_cmple_epu32_mask(__mmask8 __u,__m128i __a,__m128i __b)250*67e74705SXin Li __mmask8 test_mm_mask_cmple_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
251*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmple_epu32_mask
252*67e74705SXin Li   // CHECK: icmp ule <4 x i32> %{{.*}}, %{{.*}}
253*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
254*67e74705SXin Li   return (__mmask8)_mm_mask_cmple_epu32_mask(__u, __a, __b);
255*67e74705SXin Li }
256*67e74705SXin Li 
test_mm_cmple_epu64_mask(__m128i __a,__m128i __b)257*67e74705SXin Li __mmask8 test_mm_cmple_epu64_mask(__m128i __a, __m128i __b) {
258*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmple_epu64_mask
259*67e74705SXin Li   // CHECK: icmp ule <2 x i64> %{{.*}}, %{{.*}}
260*67e74705SXin Li   return (__mmask8)_mm_cmple_epu64_mask(__a, __b);
261*67e74705SXin Li }
262*67e74705SXin Li 
test_mm_mask_cmple_epu64_mask(__mmask8 __u,__m128i __a,__m128i __b)263*67e74705SXin Li __mmask8 test_mm_mask_cmple_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
264*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmple_epu64_mask
265*67e74705SXin Li   // CHECK: icmp ule <2 x i64> %{{.*}}, %{{.*}}
266*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
267*67e74705SXin Li   return (__mmask8)_mm_mask_cmple_epu64_mask(__u, __a, __b);
268*67e74705SXin Li }
269*67e74705SXin Li 
test_mm256_cmple_epu32_mask(__m256i __a,__m256i __b)270*67e74705SXin Li __mmask8 test_mm256_cmple_epu32_mask(__m256i __a, __m256i __b) {
271*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmple_epu32_mask
272*67e74705SXin Li   // CHECK: icmp ule <8 x i32> %{{.*}}, %{{.*}}
273*67e74705SXin Li   return (__mmask8)_mm256_cmple_epu32_mask(__a, __b);
274*67e74705SXin Li }
275*67e74705SXin Li 
test_mm256_mask_cmple_epu32_mask(__mmask8 __u,__m256i __a,__m256i __b)276*67e74705SXin Li __mmask8 test_mm256_mask_cmple_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
277*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmple_epu32_mask
278*67e74705SXin Li   // CHECK: icmp ule <8 x i32> %{{.*}}, %{{.*}}
279*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
280*67e74705SXin Li   return (__mmask8)_mm256_mask_cmple_epu32_mask(__u, __a, __b);
281*67e74705SXin Li }
282*67e74705SXin Li 
test_mm256_cmple_epu64_mask(__m256i __a,__m256i __b)283*67e74705SXin Li __mmask8 test_mm256_cmple_epu64_mask(__m256i __a, __m256i __b) {
284*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmple_epu64_mask
285*67e74705SXin Li   // CHECK: icmp ule <4 x i64> %{{.*}}, %{{.*}}
286*67e74705SXin Li   return (__mmask8)_mm256_cmple_epu64_mask(__a, __b);
287*67e74705SXin Li }
288*67e74705SXin Li 
test_mm256_mask_cmple_epu64_mask(__mmask8 __u,__m256i __a,__m256i __b)289*67e74705SXin Li __mmask8 test_mm256_mask_cmple_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
290*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmple_epu64_mask
291*67e74705SXin Li   // CHECK: icmp ule <4 x i64> %{{.*}}, %{{.*}}
292*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
293*67e74705SXin Li   return (__mmask8)_mm256_mask_cmple_epu64_mask(__u, __a, __b);
294*67e74705SXin Li }
295*67e74705SXin Li 
test_mm_cmplt_epi32_mask(__m128i __a,__m128i __b)296*67e74705SXin Li __mmask8 test_mm_cmplt_epi32_mask(__m128i __a, __m128i __b) {
297*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmplt_epi32_mask
298*67e74705SXin Li   // CHECK: icmp slt <4 x i32> %{{.*}}, %{{.*}}
299*67e74705SXin Li   return (__mmask8)_mm_cmplt_epi32_mask(__a, __b);
300*67e74705SXin Li }
301*67e74705SXin Li 
test_mm_mask_cmplt_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)302*67e74705SXin Li __mmask8 test_mm_mask_cmplt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
303*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmplt_epi32_mask
304*67e74705SXin Li   // CHECK: icmp slt <4 x i32> %{{.*}}, %{{.*}}
305*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
306*67e74705SXin Li   return (__mmask8)_mm_mask_cmplt_epi32_mask(__u, __a, __b);
307*67e74705SXin Li }
308*67e74705SXin Li 
test_mm_cmplt_epi64_mask(__m128i __a,__m128i __b)309*67e74705SXin Li __mmask8 test_mm_cmplt_epi64_mask(__m128i __a, __m128i __b) {
310*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmplt_epi64_mask
311*67e74705SXin Li   // CHECK: icmp slt <2 x i64> %{{.*}}, %{{.*}}
312*67e74705SXin Li   return (__mmask8)_mm_cmplt_epi64_mask(__a, __b);
313*67e74705SXin Li }
314*67e74705SXin Li 
test_mm_mask_cmplt_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)315*67e74705SXin Li __mmask8 test_mm_mask_cmplt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
316*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmplt_epi64_mask
317*67e74705SXin Li   // CHECK: icmp slt <2 x i64> %{{.*}}, %{{.*}}
318*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
319*67e74705SXin Li   return (__mmask8)_mm_mask_cmplt_epi64_mask(__u, __a, __b);
320*67e74705SXin Li }
321*67e74705SXin Li 
test_mm256_cmplt_epi32_mask(__m256i __a,__m256i __b)322*67e74705SXin Li __mmask8 test_mm256_cmplt_epi32_mask(__m256i __a, __m256i __b) {
323*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmplt_epi32_mask
324*67e74705SXin Li   // CHECK: icmp slt <8 x i32> %{{.*}}, %{{.*}}
325*67e74705SXin Li   return (__mmask8)_mm256_cmplt_epi32_mask(__a, __b);
326*67e74705SXin Li }
327*67e74705SXin Li 
test_mm256_mask_cmplt_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)328*67e74705SXin Li __mmask8 test_mm256_mask_cmplt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
329*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmplt_epi32_mask
330*67e74705SXin Li   // CHECK: icmp slt <8 x i32> %{{.*}}, %{{.*}}
331*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
332*67e74705SXin Li   return (__mmask8)_mm256_mask_cmplt_epi32_mask(__u, __a, __b);
333*67e74705SXin Li }
334*67e74705SXin Li 
test_mm256_cmplt_epi64_mask(__m256i __a,__m256i __b)335*67e74705SXin Li __mmask8 test_mm256_cmplt_epi64_mask(__m256i __a, __m256i __b) {
336*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmplt_epi64_mask
337*67e74705SXin Li   // CHECK: icmp slt <4 x i64> %{{.*}}, %{{.*}}
338*67e74705SXin Li   return (__mmask8)_mm256_cmplt_epi64_mask(__a, __b);
339*67e74705SXin Li }
340*67e74705SXin Li 
test_mm256_mask_cmplt_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)341*67e74705SXin Li __mmask8 test_mm256_mask_cmplt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
342*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmplt_epi64_mask
343*67e74705SXin Li   // CHECK: icmp slt <4 x i64> %{{.*}}, %{{.*}}
344*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
345*67e74705SXin Li   return (__mmask8)_mm256_mask_cmplt_epi64_mask(__u, __a, __b);
346*67e74705SXin Li }
347*67e74705SXin Li 
test_mm_cmplt_epu32_mask(__m128i __a,__m128i __b)348*67e74705SXin Li __mmask8 test_mm_cmplt_epu32_mask(__m128i __a, __m128i __b) {
349*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmplt_epu32_mask
350*67e74705SXin Li   // CHECK: icmp ult <4 x i32> %{{.*}}, %{{.*}}
351*67e74705SXin Li   return (__mmask8)_mm_cmplt_epu32_mask(__a, __b);
352*67e74705SXin Li }
353*67e74705SXin Li 
test_mm_mask_cmplt_epu32_mask(__mmask8 __u,__m128i __a,__m128i __b)354*67e74705SXin Li __mmask8 test_mm_mask_cmplt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
355*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmplt_epu32_mask
356*67e74705SXin Li   // CHECK: icmp ult <4 x i32> %{{.*}}, %{{.*}}
357*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
358*67e74705SXin Li   return (__mmask8)_mm_mask_cmplt_epu32_mask(__u, __a, __b);
359*67e74705SXin Li }
360*67e74705SXin Li 
test_mm_cmplt_epu64_mask(__m128i __a,__m128i __b)361*67e74705SXin Li __mmask8 test_mm_cmplt_epu64_mask(__m128i __a, __m128i __b) {
362*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmplt_epu64_mask
363*67e74705SXin Li   // CHECK: icmp ult <2 x i64> %{{.*}}, %{{.*}}
364*67e74705SXin Li   return (__mmask8)_mm_cmplt_epu64_mask(__a, __b);
365*67e74705SXin Li }
366*67e74705SXin Li 
test_mm_mask_cmplt_epu64_mask(__mmask8 __u,__m128i __a,__m128i __b)367*67e74705SXin Li __mmask8 test_mm_mask_cmplt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
368*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmplt_epu64_mask
369*67e74705SXin Li   // CHECK: icmp ult <2 x i64> %{{.*}}, %{{.*}}
370*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
371*67e74705SXin Li   return (__mmask8)_mm_mask_cmplt_epu64_mask(__u, __a, __b);
372*67e74705SXin Li }
373*67e74705SXin Li 
test_mm256_cmplt_epu32_mask(__m256i __a,__m256i __b)374*67e74705SXin Li __mmask8 test_mm256_cmplt_epu32_mask(__m256i __a, __m256i __b) {
375*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmplt_epu32_mask
376*67e74705SXin Li   // CHECK: icmp ult <8 x i32> %{{.*}}, %{{.*}}
377*67e74705SXin Li   return (__mmask8)_mm256_cmplt_epu32_mask(__a, __b);
378*67e74705SXin Li }
379*67e74705SXin Li 
test_mm256_mask_cmplt_epu32_mask(__mmask8 __u,__m256i __a,__m256i __b)380*67e74705SXin Li __mmask8 test_mm256_mask_cmplt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
381*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmplt_epu32_mask
382*67e74705SXin Li   // CHECK: icmp ult <8 x i32> %{{.*}}, %{{.*}}
383*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
384*67e74705SXin Li   return (__mmask8)_mm256_mask_cmplt_epu32_mask(__u, __a, __b);
385*67e74705SXin Li }
386*67e74705SXin Li 
test_mm256_cmplt_epu64_mask(__m256i __a,__m256i __b)387*67e74705SXin Li __mmask8 test_mm256_cmplt_epu64_mask(__m256i __a, __m256i __b) {
388*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmplt_epu64_mask
389*67e74705SXin Li   // CHECK: icmp ult <4 x i64> %{{.*}}, %{{.*}}
390*67e74705SXin Li   return (__mmask8)_mm256_cmplt_epu64_mask(__a, __b);
391*67e74705SXin Li }
392*67e74705SXin Li 
test_mm256_mask_cmplt_epu64_mask(__mmask8 __u,__m256i __a,__m256i __b)393*67e74705SXin Li __mmask8 test_mm256_mask_cmplt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
394*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmplt_epu64_mask
395*67e74705SXin Li   // CHECK: icmp ult <4 x i64> %{{.*}}, %{{.*}}
396*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
397*67e74705SXin Li   return (__mmask8)_mm256_mask_cmplt_epu64_mask(__u, __a, __b);
398*67e74705SXin Li }
399*67e74705SXin Li 
test_mm_cmpneq_epi32_mask(__m128i __a,__m128i __b)400*67e74705SXin Li __mmask8 test_mm_cmpneq_epi32_mask(__m128i __a, __m128i __b) {
401*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpneq_epi32_mask
402*67e74705SXin Li   // CHECK: icmp ne <4 x i32> %{{.*}}, %{{.*}}
403*67e74705SXin Li   return (__mmask8)_mm_cmpneq_epi32_mask(__a, __b);
404*67e74705SXin Li }
405*67e74705SXin Li 
test_mm_mask_cmpneq_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)406*67e74705SXin Li __mmask8 test_mm_mask_cmpneq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
407*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpneq_epi32_mask
408*67e74705SXin Li   // CHECK: icmp ne <4 x i32> %{{.*}}, %{{.*}}
409*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
410*67e74705SXin Li   return (__mmask8)_mm_mask_cmpneq_epi32_mask(__u, __a, __b);
411*67e74705SXin Li }
412*67e74705SXin Li 
test_mm_cmpneq_epi64_mask(__m128i __a,__m128i __b)413*67e74705SXin Li __mmask8 test_mm_cmpneq_epi64_mask(__m128i __a, __m128i __b) {
414*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpneq_epi64_mask
415*67e74705SXin Li   // CHECK: icmp ne <2 x i64> %{{.*}}, %{{.*}}
416*67e74705SXin Li   return (__mmask8)_mm_cmpneq_epi64_mask(__a, __b);
417*67e74705SXin Li }
418*67e74705SXin Li 
test_mm_mask_cmpneq_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)419*67e74705SXin Li __mmask8 test_mm_mask_cmpneq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
420*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpneq_epi64_mask
421*67e74705SXin Li   // CHECK: icmp ne <2 x i64> %{{.*}}, %{{.*}}
422*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
423*67e74705SXin Li   return (__mmask8)_mm_mask_cmpneq_epi64_mask(__u, __a, __b);
424*67e74705SXin Li }
425*67e74705SXin Li 
test_mm256_cmpneq_epi32_mask(__m256i __a,__m256i __b)426*67e74705SXin Li __mmask8 test_mm256_cmpneq_epi32_mask(__m256i __a, __m256i __b) {
427*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpneq_epi32_mask
428*67e74705SXin Li   // CHECK: icmp ne <8 x i32> %{{.*}}, %{{.*}}
429*67e74705SXin Li   return (__mmask8)_mm256_cmpneq_epi32_mask(__a, __b);
430*67e74705SXin Li }
431*67e74705SXin Li 
test_mm256_mask_cmpneq_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)432*67e74705SXin Li __mmask8 test_mm256_mask_cmpneq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
433*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpneq_epi32_mask
434*67e74705SXin Li   // CHECK: icmp ne <8 x i32> %{{.*}}, %{{.*}}
435*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
436*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpneq_epi32_mask(__u, __a, __b);
437*67e74705SXin Li }
438*67e74705SXin Li 
test_mm256_cmpneq_epi64_mask(__m256i __a,__m256i __b)439*67e74705SXin Li __mmask8 test_mm256_cmpneq_epi64_mask(__m256i __a, __m256i __b) {
440*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpneq_epi64_mask
441*67e74705SXin Li   // CHECK: icmp ne <4 x i64> %{{.*}}, %{{.*}}
442*67e74705SXin Li   return (__mmask8)_mm256_cmpneq_epi64_mask(__a, __b);
443*67e74705SXin Li }
444*67e74705SXin Li 
test_mm256_mask_cmpneq_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)445*67e74705SXin Li __mmask8 test_mm256_mask_cmpneq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
446*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpneq_epi64_mask
447*67e74705SXin Li   // CHECK: icmp ne <4 x i64> %{{.*}}, %{{.*}}
448*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
449*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpneq_epi64_mask(__u, __a, __b);
450*67e74705SXin Li }
451*67e74705SXin Li 
test_mm_cmpneq_epu32_mask(__m128i __a,__m128i __b)452*67e74705SXin Li __mmask8 test_mm_cmpneq_epu32_mask(__m128i __a, __m128i __b) {
453*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpneq_epu32_mask
454*67e74705SXin Li   // CHECK: icmp ne <4 x i32> %{{.*}}, %{{.*}}
455*67e74705SXin Li   return (__mmask8)_mm_cmpneq_epu32_mask(__a, __b);
456*67e74705SXin Li }
457*67e74705SXin Li 
test_mm_mask_cmpneq_epu32_mask(__mmask8 __u,__m128i __a,__m128i __b)458*67e74705SXin Li __mmask8 test_mm_mask_cmpneq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
459*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpneq_epu32_mask
460*67e74705SXin Li   // CHECK: icmp ne <4 x i32> %{{.*}}, %{{.*}}
461*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
462*67e74705SXin Li   return (__mmask8)_mm_mask_cmpneq_epu32_mask(__u, __a, __b);
463*67e74705SXin Li }
464*67e74705SXin Li 
test_mm_cmpneq_epu64_mask(__m128i __a,__m128i __b)465*67e74705SXin Li __mmask8 test_mm_cmpneq_epu64_mask(__m128i __a, __m128i __b) {
466*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpneq_epu64_mask
467*67e74705SXin Li   // CHECK: icmp ne <2 x i64> %{{.*}}, %{{.*}}
468*67e74705SXin Li   return (__mmask8)_mm_cmpneq_epu64_mask(__a, __b);
469*67e74705SXin Li }
470*67e74705SXin Li 
test_mm_mask_cmpneq_epu64_mask(__mmask8 __u,__m128i __a,__m128i __b)471*67e74705SXin Li __mmask8 test_mm_mask_cmpneq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
472*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpneq_epu64_mask
473*67e74705SXin Li   // CHECK: icmp ne <2 x i64> %{{.*}}, %{{.*}}
474*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
475*67e74705SXin Li   return (__mmask8)_mm_mask_cmpneq_epu64_mask(__u, __a, __b);
476*67e74705SXin Li }
477*67e74705SXin Li 
test_mm256_cmpneq_epu32_mask(__m256i __a,__m256i __b)478*67e74705SXin Li __mmask8 test_mm256_cmpneq_epu32_mask(__m256i __a, __m256i __b) {
479*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpneq_epu32_mask
480*67e74705SXin Li   // CHECK: icmp ne <8 x i32> %{{.*}}, %{{.*}}
481*67e74705SXin Li   return (__mmask8)_mm256_cmpneq_epu32_mask(__a, __b);
482*67e74705SXin Li }
483*67e74705SXin Li 
test_mm256_mask_cmpneq_epu32_mask(__mmask8 __u,__m256i __a,__m256i __b)484*67e74705SXin Li __mmask8 test_mm256_mask_cmpneq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
485*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpneq_epu32_mask
486*67e74705SXin Li   // CHECK: icmp ne <8 x i32> %{{.*}}, %{{.*}}
487*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
488*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpneq_epu32_mask(__u, __a, __b);
489*67e74705SXin Li }
490*67e74705SXin Li 
test_mm256_cmpneq_epu64_mask(__m256i __a,__m256i __b)491*67e74705SXin Li __mmask8 test_mm256_cmpneq_epu64_mask(__m256i __a, __m256i __b) {
492*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpneq_epu64_mask
493*67e74705SXin Li   // CHECK: icmp ne <4 x i64> %{{.*}}, %{{.*}}
494*67e74705SXin Li   return (__mmask8)_mm256_cmpneq_epu64_mask(__a, __b);
495*67e74705SXin Li }
496*67e74705SXin Li 
test_mm256_mask_cmpneq_epu64_mask(__mmask8 __u,__m256i __a,__m256i __b)497*67e74705SXin Li __mmask8 test_mm256_mask_cmpneq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
498*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpneq_epu64_mask
499*67e74705SXin Li   // CHECK: icmp ne <4 x i64> %{{.*}}, %{{.*}}
500*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
501*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpneq_epu64_mask(__u, __a, __b);
502*67e74705SXin Li }
503*67e74705SXin Li 
test_mm_cmp_epi32_mask(__m128i __a,__m128i __b)504*67e74705SXin Li __mmask8 test_mm_cmp_epi32_mask(__m128i __a, __m128i __b) {
505*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmp_epi32_mask
506*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
507*67e74705SXin Li   return (__mmask8)_mm_cmp_epi32_mask(__a, __b, 0);
508*67e74705SXin Li }
509*67e74705SXin Li 
test_mm_mask_cmp_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)510*67e74705SXin Li __mmask8 test_mm_mask_cmp_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
511*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmp_epi32_mask
512*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
513*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
514*67e74705SXin Li   return (__mmask8)_mm_mask_cmp_epi32_mask(__u, __a, __b, 0);
515*67e74705SXin Li }
516*67e74705SXin Li 
test_mm_cmp_epi64_mask(__m128i __a,__m128i __b)517*67e74705SXin Li __mmask8 test_mm_cmp_epi64_mask(__m128i __a, __m128i __b) {
518*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmp_epi64_mask
519*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
520*67e74705SXin Li   return (__mmask8)_mm_cmp_epi64_mask(__a, __b, 0);
521*67e74705SXin Li }
522*67e74705SXin Li 
test_mm_mask_cmp_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)523*67e74705SXin Li __mmask8 test_mm_mask_cmp_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
524*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmp_epi64_mask
525*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
526*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
527*67e74705SXin Li   return (__mmask8)_mm_mask_cmp_epi64_mask(__u, __a, __b, 0);
528*67e74705SXin Li }
529*67e74705SXin Li 
test_mm256_cmp_epi32_mask(__m256i __a,__m256i __b)530*67e74705SXin Li __mmask8 test_mm256_cmp_epi32_mask(__m256i __a, __m256i __b) {
531*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmp_epi32_mask
532*67e74705SXin Li   // CHECK: icmp eq <8 x i32> %{{.*}}, %{{.*}}
533*67e74705SXin Li   return (__mmask8)_mm256_cmp_epi32_mask(__a, __b, 0);
534*67e74705SXin Li }
535*67e74705SXin Li 
test_mm256_mask_cmp_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)536*67e74705SXin Li __mmask8 test_mm256_mask_cmp_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
537*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmp_epi32_mask
538*67e74705SXin Li   // CHECK: icmp eq <8 x i32> %{{.*}}, %{{.*}}
539*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
540*67e74705SXin Li   return (__mmask8)_mm256_mask_cmp_epi32_mask(__u, __a, __b, 0);
541*67e74705SXin Li }
542*67e74705SXin Li 
test_mm256_cmp_epi64_mask(__m256i __a,__m256i __b)543*67e74705SXin Li __mmask8 test_mm256_cmp_epi64_mask(__m256i __a, __m256i __b) {
544*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmp_epi64_mask
545*67e74705SXin Li   // CHECK: icmp eq <4 x i64> %{{.*}}, %{{.*}}
546*67e74705SXin Li   return (__mmask8)_mm256_cmp_epi64_mask(__a, __b, 0);
547*67e74705SXin Li }
548*67e74705SXin Li 
test_mm256_mask_cmp_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)549*67e74705SXin Li __mmask8 test_mm256_mask_cmp_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
550*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmp_epi64_mask
551*67e74705SXin Li   // CHECK: icmp eq <4 x i64> %{{.*}}, %{{.*}}
552*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
553*67e74705SXin Li   return (__mmask8)_mm256_mask_cmp_epi64_mask(__u, __a, __b, 0);
554*67e74705SXin Li }
555*67e74705SXin Li 
test_mm_cmp_epu32_mask(__m128i __a,__m128i __b)556*67e74705SXin Li __mmask8 test_mm_cmp_epu32_mask(__m128i __a, __m128i __b) {
557*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmp_epu32_mask
558*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
559*67e74705SXin Li   return (__mmask8)_mm_cmp_epu32_mask(__a, __b, 0);
560*67e74705SXin Li }
561*67e74705SXin Li 
test_mm_mask_cmp_epu32_mask(__mmask8 __u,__m128i __a,__m128i __b)562*67e74705SXin Li __mmask8 test_mm_mask_cmp_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
563*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmp_epu32_mask
564*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
565*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
566*67e74705SXin Li   return (__mmask8)_mm_mask_cmp_epu32_mask(__u, __a, __b, 0);
567*67e74705SXin Li }
568*67e74705SXin Li 
test_mm_cmp_epu64_mask(__m128i __a,__m128i __b)569*67e74705SXin Li __mmask8 test_mm_cmp_epu64_mask(__m128i __a, __m128i __b) {
570*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmp_epu64_mask
571*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
572*67e74705SXin Li   return (__mmask8)_mm_cmp_epu64_mask(__a, __b, 0);
573*67e74705SXin Li }
574*67e74705SXin Li 
test_mm_mask_cmp_epu64_mask(__mmask8 __u,__m128i __a,__m128i __b)575*67e74705SXin Li __mmask8 test_mm_mask_cmp_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
576*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmp_epu64_mask
577*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
578*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
579*67e74705SXin Li   return (__mmask8)_mm_mask_cmp_epu64_mask(__u, __a, __b, 0);
580*67e74705SXin Li }
581*67e74705SXin Li 
test_mm256_cmp_epu32_mask(__m256i __a,__m256i __b)582*67e74705SXin Li __mmask8 test_mm256_cmp_epu32_mask(__m256i __a, __m256i __b) {
583*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmp_epu32_mask
584*67e74705SXin Li   // CHECK: icmp eq <8 x i32> %{{.*}}, %{{.*}}
585*67e74705SXin Li   return (__mmask8)_mm256_cmp_epu32_mask(__a, __b, 0);
586*67e74705SXin Li }
587*67e74705SXin Li 
test_mm256_mask_cmp_epu32_mask(__mmask8 __u,__m256i __a,__m256i __b)588*67e74705SXin Li __mmask8 test_mm256_mask_cmp_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
589*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmp_epu32_mask
590*67e74705SXin Li   // CHECK: icmp eq <8 x i32> %{{.*}}, %{{.*}}
591*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
592*67e74705SXin Li   return (__mmask8)_mm256_mask_cmp_epu32_mask(__u, __a, __b, 0);
593*67e74705SXin Li }
594*67e74705SXin Li 
test_mm256_cmp_epu64_mask(__m256i __a,__m256i __b)595*67e74705SXin Li __mmask8 test_mm256_cmp_epu64_mask(__m256i __a, __m256i __b) {
596*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmp_epu64_mask
597*67e74705SXin Li   // CHECK: icmp eq <4 x i64> %{{.*}}, %{{.*}}
598*67e74705SXin Li   return (__mmask8)_mm256_cmp_epu64_mask(__a, __b, 0);
599*67e74705SXin Li }
600*67e74705SXin Li 
test_mm256_mask_cmp_epu64_mask(__mmask8 __u,__m256i __a,__m256i __b)601*67e74705SXin Li __mmask8 test_mm256_mask_cmp_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
602*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmp_epu64_mask
603*67e74705SXin Li   // CHECK: icmp eq <4 x i64> %{{.*}}, %{{.*}}
604*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
605*67e74705SXin Li   return (__mmask8)_mm256_mask_cmp_epu64_mask(__u, __a, __b, 0);
606*67e74705SXin Li }
607*67e74705SXin Li 
test_mm256_mask_add_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)608*67e74705SXin Li __m256i test_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
609*67e74705SXin Li            __m256i __B) {
610*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_add_epi32
611*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.d.256
612*67e74705SXin Li   return _mm256_mask_add_epi32(__W, __U, __A, __B);
613*67e74705SXin Li }
614*67e74705SXin Li 
test_mm256_maskz_add_epi32(__mmask8 __U,__m256i __A,__m256i __B)615*67e74705SXin Li __m256i test_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
616*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_add_epi32
617*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.d.256
618*67e74705SXin Li   return _mm256_maskz_add_epi32(__U, __A, __B);
619*67e74705SXin Li }
620*67e74705SXin Li 
test_mm256_mask_add_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)621*67e74705SXin Li __m256i test_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
622*67e74705SXin Li            __m256i __B) {
623*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_add_epi64
624*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.q.256
625*67e74705SXin Li   return _mm256_mask_add_epi64(__W,__U,__A,__B);
626*67e74705SXin Li }
627*67e74705SXin Li 
test_mm256_maskz_add_epi64(__mmask8 __U,__m256i __A,__m256i __B)628*67e74705SXin Li __m256i test_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
629*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_add_epi64
630*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.q.256
631*67e74705SXin Li   return _mm256_maskz_add_epi64 (__U,__A,__B);
632*67e74705SXin Li }
633*67e74705SXin Li 
test_mm256_mask_sub_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)634*67e74705SXin Li __m256i test_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
635*67e74705SXin Li            __m256i __B) {
636*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_sub_epi32
637*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.d.256
638*67e74705SXin Li   return _mm256_mask_sub_epi32 (__W,__U,__A,__B);
639*67e74705SXin Li }
640*67e74705SXin Li 
test_mm256_maskz_sub_epi32(__mmask8 __U,__m256i __A,__m256i __B)641*67e74705SXin Li __m256i test_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
642*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_sub_epi32
643*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.d.256
644*67e74705SXin Li   return _mm256_maskz_sub_epi32 (__U,__A,__B);
645*67e74705SXin Li }
646*67e74705SXin Li 
test_mm256_mask_sub_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)647*67e74705SXin Li __m256i test_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
648*67e74705SXin Li            __m256i __B) {
649*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_sub_epi64
650*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.q.256
651*67e74705SXin Li   return _mm256_mask_sub_epi64 (__W,__U,__A,__B);
652*67e74705SXin Li }
653*67e74705SXin Li 
test_mm256_maskz_sub_epi64(__mmask8 __U,__m256i __A,__m256i __B)654*67e74705SXin Li __m256i test_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
655*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_sub_epi64
656*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.q.256
657*67e74705SXin Li   return _mm256_maskz_sub_epi64 (__U,__A,__B);
658*67e74705SXin Li }
659*67e74705SXin Li 
test_mm_mask_add_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)660*67e74705SXin Li __m128i test_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
661*67e74705SXin Li         __m128i __B) {
662*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_add_epi32
663*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.d.128
664*67e74705SXin Li   return _mm_mask_add_epi32(__W,__U,__A,__B);
665*67e74705SXin Li }
666*67e74705SXin Li 
667*67e74705SXin Li 
test_mm_maskz_add_epi32(__mmask8 __U,__m128i __A,__m128i __B)668*67e74705SXin Li __m128i test_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
669*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_add_epi32
670*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.d.128
671*67e74705SXin Li   return _mm_maskz_add_epi32 (__U,__A,__B);
672*67e74705SXin Li }
673*67e74705SXin Li 
test_mm_mask_add_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)674*67e74705SXin Li __m128i test_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
675*67e74705SXin Li         __m128i __B) {
676*67e74705SXin Li //CHECK-LABEL: @test_mm_mask_add_epi64
677*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.q.128
678*67e74705SXin Li   return _mm_mask_add_epi64 (__W,__U,__A,__B);
679*67e74705SXin Li }
680*67e74705SXin Li 
test_mm_maskz_add_epi64(__mmask8 __U,__m128i __A,__m128i __B)681*67e74705SXin Li __m128i test_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
682*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_add_epi64
683*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.padd.q.128
684*67e74705SXin Li   return _mm_maskz_add_epi64 (__U,__A,__B);
685*67e74705SXin Li }
686*67e74705SXin Li 
test_mm_mask_sub_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)687*67e74705SXin Li __m128i test_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
688*67e74705SXin Li         __m128i __B) {
689*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_sub_epi32
690*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.d.128
691*67e74705SXin Li   return _mm_mask_sub_epi32(__W, __U, __A, __B);
692*67e74705SXin Li }
693*67e74705SXin Li 
test_mm_maskz_sub_epi32(__mmask8 __U,__m128i __A,__m128i __B)694*67e74705SXin Li __m128i test_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
695*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_sub_epi32
696*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.d.128
697*67e74705SXin Li   return _mm_maskz_sub_epi32(__U, __A, __B);
698*67e74705SXin Li }
699*67e74705SXin Li 
test_mm_mask_sub_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)700*67e74705SXin Li __m128i test_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
701*67e74705SXin Li         __m128i __B) {
702*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_sub_epi64
703*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.q.128
704*67e74705SXin Li   return _mm_mask_sub_epi64 (__W, __U, __A, __B);
705*67e74705SXin Li }
706*67e74705SXin Li 
test_mm_maskz_sub_epi64(__mmask8 __U,__m128i __A,__m128i __B)707*67e74705SXin Li __m128i test_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
708*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_sub_epi64
709*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.psub.q.128
710*67e74705SXin Li   return _mm_maskz_sub_epi64 (__U, __A, __B);
711*67e74705SXin Li }
712*67e74705SXin Li 
test_mm256_mask_mul_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)713*67e74705SXin Li __m256i test_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
714*67e74705SXin Li            __m256i __Y) {
715*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_mul_epi32
716*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmul.dq.256
717*67e74705SXin Li   return _mm256_mask_mul_epi32(__W, __M, __X, __Y);
718*67e74705SXin Li }
719*67e74705SXin Li 
test_mm256_maskz_mul_epi32(__mmask8 __M,__m256i __X,__m256i __Y)720*67e74705SXin Li __m256i test_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) {
721*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_mul_epi32
722*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmul.dq.256
723*67e74705SXin Li   return _mm256_maskz_mul_epi32(__M, __X, __Y);
724*67e74705SXin Li }
725*67e74705SXin Li 
726*67e74705SXin Li 
test_mm_mask_mul_epi32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)727*67e74705SXin Li __m128i test_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
728*67e74705SXin Li         __m128i __Y) {
729*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_mul_epi32
730*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmul.dq.128
731*67e74705SXin Li   return _mm_mask_mul_epi32(__W, __M, __X, __Y);
732*67e74705SXin Li }
733*67e74705SXin Li 
test_mm_maskz_mul_epi32(__mmask8 __M,__m128i __X,__m128i __Y)734*67e74705SXin Li __m128i test_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y) {
735*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_mul_epi32
736*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmul.dq.128
737*67e74705SXin Li   return _mm_maskz_mul_epi32(__M, __X, __Y);
738*67e74705SXin Li }
739*67e74705SXin Li 
test_mm256_mask_mul_epu32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)740*67e74705SXin Li __m256i test_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
741*67e74705SXin Li            __m256i __Y) {
742*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_mul_epu32
743*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.256
744*67e74705SXin Li   return _mm256_mask_mul_epu32(__W, __M, __X, __Y);
745*67e74705SXin Li }
746*67e74705SXin Li 
test_mm256_maskz_mul_epu32(__mmask8 __M,__m256i __X,__m256i __Y)747*67e74705SXin Li __m256i test_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y) {
748*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_mul_epu32
749*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.256
750*67e74705SXin Li   return _mm256_maskz_mul_epu32(__M, __X, __Y);
751*67e74705SXin Li }
752*67e74705SXin Li 
test_mm_mask_mul_epu32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)753*67e74705SXin Li __m128i test_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
754*67e74705SXin Li         __m128i __Y) {
755*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_mul_epu32
756*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.128
757*67e74705SXin Li   return _mm_mask_mul_epu32(__W, __M, __X, __Y);
758*67e74705SXin Li }
759*67e74705SXin Li 
test_mm_maskz_mul_epu32(__mmask8 __M,__m128i __X,__m128i __Y)760*67e74705SXin Li __m128i test_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y) {
761*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_mul_epu32
762*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.128
763*67e74705SXin Li   return _mm_maskz_mul_epu32(__M, __X, __Y);
764*67e74705SXin Li }
765*67e74705SXin Li 
test_mm_maskz_mullo_epi32(__mmask8 __M,__m128i __A,__m128i __B)766*67e74705SXin Li __m128i test_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
767*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_mullo_epi32
768*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmull.d.128
769*67e74705SXin Li   return _mm_maskz_mullo_epi32(__M, __A, __B);
770*67e74705SXin Li }
771*67e74705SXin Li 
test_mm_mask_mullo_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)772*67e74705SXin Li __m128i test_mm_mask_mullo_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
773*67e74705SXin Li           __m128i __B) {
774*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_mullo_epi32
775*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmull.d.128
776*67e74705SXin Li   return _mm_mask_mullo_epi32(__W, __M, __A, __B);
777*67e74705SXin Li }
778*67e74705SXin Li 
test_mm256_maskz_mullo_epi32(__mmask8 __M,__m256i __A,__m256i __B)779*67e74705SXin Li __m256i test_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
780*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_mullo_epi32
781*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmull.d.256
782*67e74705SXin Li   return _mm256_maskz_mullo_epi32(__M, __A, __B);
783*67e74705SXin Li }
784*67e74705SXin Li 
test_mm256_mask_mullo_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)785*67e74705SXin Li __m256i test_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
786*67e74705SXin Li        __m256i __B) {
787*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_mullo_epi32
788*67e74705SXin Li   //CHECK: @llvm.x86.avx512.mask.pmull.d.256
789*67e74705SXin Li   return _mm256_mask_mullo_epi32(__W, __M, __A, __B);
790*67e74705SXin Li }
791*67e74705SXin Li 
test_mm256_mask_and_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)792*67e74705SXin Li __m256i test_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
793*67e74705SXin Li            __m256i __B) {
794*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_and_epi32
795*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
796*67e74705SXin Li   return _mm256_mask_and_epi32(__W, __U, __A, __B);
797*67e74705SXin Li }
798*67e74705SXin Li 
test_mm256_maskz_and_epi32(__mmask8 __U,__m256i __A,__m256i __B)799*67e74705SXin Li __m256i test_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
800*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_and_epi32
801*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
802*67e74705SXin Li   //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
803*67e74705SXin Li   return _mm256_maskz_and_epi32(__U, __A, __B);
804*67e74705SXin Li }
805*67e74705SXin Li 
test_mm_mask_and_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)806*67e74705SXin Li __m128i test_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
807*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_and_epi32
808*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
809*67e74705SXin Li   return _mm_mask_and_epi32(__W, __U, __A, __B);
810*67e74705SXin Li }
811*67e74705SXin Li 
test_mm_maskz_and_epi32(__mmask8 __U,__m128i __A,__m128i __B)812*67e74705SXin Li __m128i test_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
813*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_and_epi32
814*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
815*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
816*67e74705SXin Li   return _mm_maskz_and_epi32(__U, __A, __B);
817*67e74705SXin Li }
818*67e74705SXin Li 
test_mm256_mask_andnot_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)819*67e74705SXin Li __m256i test_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
820*67e74705SXin Li         __m256i __B) {
821*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_andnot_epi32
822*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, <i64 -1, i64 -1, i64 -1, i64 -1>
823*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
824*67e74705SXin Li   //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
825*67e74705SXin Li   return _mm256_mask_andnot_epi32(__W, __U, __A, __B);
826*67e74705SXin Li }
827*67e74705SXin Li 
test_mm256_maskz_andnot_epi32(__mmask8 __U,__m256i __A,__m256i __B)828*67e74705SXin Li __m256i test_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
829*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_andnot_epi32
830*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, <i64 -1, i64 -1, i64 -1, i64 -1>
831*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
832*67e74705SXin Li   //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
833*67e74705SXin Li   return _mm256_maskz_andnot_epi32(__U, __A, __B);
834*67e74705SXin Li }
835*67e74705SXin Li 
test_mm_mask_andnot_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)836*67e74705SXin Li __m128i test_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
837*67e74705SXin Li            __m128i __B) {
838*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_andnot_epi32
839*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, <i64 -1, i64 -1>
840*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
841*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
842*67e74705SXin Li   return _mm_mask_andnot_epi32(__W, __U, __A, __B);
843*67e74705SXin Li }
844*67e74705SXin Li 
test_mm_maskz_andnot_epi32(__mmask8 __U,__m128i __A,__m128i __B)845*67e74705SXin Li __m128i test_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
846*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_andnot_epi32
847*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, <i64 -1, i64 -1>
848*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
849*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
850*67e74705SXin Li   return _mm_maskz_andnot_epi32(__U, __A, __B);
851*67e74705SXin Li }
852*67e74705SXin Li 
test_mm256_mask_or_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)853*67e74705SXin Li __m256i test_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
854*67e74705SXin Li           __m256i __B) {
855*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_or_epi32
856*67e74705SXin Li   //CHECK: or <4 x i64> %{{.*}}, %{{.*}}
857*67e74705SXin Li   return _mm256_mask_or_epi32(__W, __U, __A, __B);
858*67e74705SXin Li }
859*67e74705SXin Li 
test_mm256_maskz_or_epi32(__mmask8 __U,__m256i __A,__m256i __B)860*67e74705SXin Li  __m256i test_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
861*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_or_epi32
862*67e74705SXin Li   //CHECK: or <4 x i64> %{{.*}}, %{{.*}}
863*67e74705SXin Li   //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
864*67e74705SXin Li   return _mm256_maskz_or_epi32(__U, __A, __B);
865*67e74705SXin Li }
866*67e74705SXin Li 
test_mm_mask_or_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)867*67e74705SXin Li  __m128i test_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
868*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_or_epi32
869*67e74705SXin Li   //CHECK: or <2 x i64> %{{.*}}, %{{.*}}
870*67e74705SXin Li   return _mm_mask_or_epi32(__W, __U, __A, __B);
871*67e74705SXin Li }
872*67e74705SXin Li 
test_mm_maskz_or_epi32(__mmask8 __U,__m128i __A,__m128i __B)873*67e74705SXin Li __m128i test_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
874*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_or_epi32
875*67e74705SXin Li   //CHECK: or <2 x i64> %{{.*}}, %{{.*}}
876*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
877*67e74705SXin Li   return _mm_maskz_or_epi32(__U, __A, __B);
878*67e74705SXin Li }
879*67e74705SXin Li 
test_mm256_mask_xor_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)880*67e74705SXin Li __m256i test_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
881*67e74705SXin Li            __m256i __B) {
882*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_xor_epi32
883*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, %{{.*}}
884*67e74705SXin Li   return _mm256_mask_xor_epi32(__W, __U, __A, __B);
885*67e74705SXin Li }
886*67e74705SXin Li 
test_mm256_maskz_xor_epi32(__mmask8 __U,__m256i __A,__m256i __B)887*67e74705SXin Li __m256i test_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
888*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_xor_epi32
889*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, %{{.*}}
890*67e74705SXin Li   //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
891*67e74705SXin Li   return _mm256_maskz_xor_epi32(__U, __A, __B);
892*67e74705SXin Li }
893*67e74705SXin Li 
test_mm_mask_xor_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)894*67e74705SXin Li __m128i test_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
895*67e74705SXin Li         __m128i __B) {
896*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_xor_epi32
897*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, %{{.*}}
898*67e74705SXin Li   return _mm_mask_xor_epi32(__W, __U, __A, __B);
899*67e74705SXin Li }
900*67e74705SXin Li 
test_mm_maskz_xor_epi32(__mmask8 __U,__m128i __A,__m128i __B)901*67e74705SXin Li __m128i test_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
902*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_xor_epi32
903*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, %{{.*}}
904*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
905*67e74705SXin Li   return _mm_maskz_xor_epi32(__U, __A, __B);
906*67e74705SXin Li }
907*67e74705SXin Li 
test_mm256_mask_and_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)908*67e74705SXin Li __m256i test_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
909*67e74705SXin Li            __m256i __B) {
910*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_and_epi64
911*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
912*67e74705SXin Li   return _mm256_mask_and_epi64(__W, __U, __A, __B);
913*67e74705SXin Li }
914*67e74705SXin Li 
test_mm256_maskz_and_epi64(__mmask8 __U,__m256i __A,__m256i __B)915*67e74705SXin Li __m256i test_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
916*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_and_epi64
917*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
918*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
919*67e74705SXin Li   return _mm256_maskz_and_epi64(__U, __A, __B);
920*67e74705SXin Li }
921*67e74705SXin Li 
test_mm_mask_and_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)922*67e74705SXin Li __m128i test_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
923*67e74705SXin Li         __m128i __B) {
924*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_and_epi64
925*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
926*67e74705SXin Li   return _mm_mask_and_epi64(__W,__U, __A, __B);
927*67e74705SXin Li }
928*67e74705SXin Li 
test_mm_maskz_and_epi64(__mmask8 __U,__m128i __A,__m128i __B)929*67e74705SXin Li __m128i test_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
930*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_and_epi64
931*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
932*67e74705SXin Li   //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
933*67e74705SXin Li   return _mm_maskz_and_epi64(__U, __A, __B);
934*67e74705SXin Li }
935*67e74705SXin Li 
test_mm256_mask_andnot_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)936*67e74705SXin Li __m256i test_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
937*67e74705SXin Li         __m256i __B) {
938*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_andnot_epi64
939*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, <i64 -1, i64 -1, i64 -1, i64 -1>
940*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
941*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
942*67e74705SXin Li   return _mm256_mask_andnot_epi64(__W, __U, __A, __B);
943*67e74705SXin Li }
944*67e74705SXin Li 
test_mm256_maskz_andnot_epi64(__mmask8 __U,__m256i __A,__m256i __B)945*67e74705SXin Li __m256i test_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
946*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_andnot_epi64
947*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, <i64 -1, i64 -1, i64 -1, i64 -1>
948*67e74705SXin Li   //CHECK: and <4 x i64> %{{.*}}, %{{.*}}
949*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
950*67e74705SXin Li   return _mm256_maskz_andnot_epi64(__U, __A, __B);
951*67e74705SXin Li }
952*67e74705SXin Li 
test_mm_mask_andnot_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)953*67e74705SXin Li __m128i test_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
954*67e74705SXin Li            __m128i __B) {
955*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_andnot_epi64
956*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, <i64 -1, i64 -1>
957*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
958*67e74705SXin Li   //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
959*67e74705SXin Li   return _mm_mask_andnot_epi64(__W,__U, __A, __B);
960*67e74705SXin Li }
961*67e74705SXin Li 
test_mm_maskz_andnot_epi64(__mmask8 __U,__m128i __A,__m128i __B)962*67e74705SXin Li __m128i test_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
963*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_andnot_epi64
964*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, <i64 -1, i64 -1>
965*67e74705SXin Li   //CHECK: and <2 x i64> %{{.*}}, %{{.*}}
966*67e74705SXin Li   //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
967*67e74705SXin Li   return _mm_maskz_andnot_epi64(__U, __A, __B);
968*67e74705SXin Li }
969*67e74705SXin Li 
test_mm256_mask_or_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)970*67e74705SXin Li __m256i test_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
971*67e74705SXin Li           __m256i __B) {
972*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_or_epi64
973*67e74705SXin Li   //CHECK: or <4 x i64> %{{.*}}, %{{.*}}
974*67e74705SXin Li   return _mm256_mask_or_epi64(__W,__U, __A, __B);
975*67e74705SXin Li }
976*67e74705SXin Li 
test_mm256_maskz_or_epi64(__mmask8 __U,__m256i __A,__m256i __B)977*67e74705SXin Li __m256i test_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
978*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_or_epi64
979*67e74705SXin Li   //CHECK: or <4 x i64> %{{.*}}, %{{.*}}
980*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
981*67e74705SXin Li   return _mm256_maskz_or_epi64(__U, __A, __B);
982*67e74705SXin Li }
983*67e74705SXin Li 
test_mm_mask_or_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)984*67e74705SXin Li __m128i test_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
985*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_or_epi64
986*67e74705SXin Li   //CHECK: or <2 x i64> %{{.*}}, %{{.*}}
987*67e74705SXin Li   return _mm_mask_or_epi64(__W, __U, __A, __B);
988*67e74705SXin Li }
989*67e74705SXin Li 
test_mm_maskz_or_epi64(__mmask8 __U,__m128i __A,__m128i __B)990*67e74705SXin Li __m128i test_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
991*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_or_epi64
992*67e74705SXin Li   //CHECK: or <2 x i64> %{{.*}}, %{{.*}}
993*67e74705SXin Li   //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
994*67e74705SXin Li   return _mm_maskz_or_epi64( __U, __A, __B);
995*67e74705SXin Li }
996*67e74705SXin Li 
test_mm256_mask_xor_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)997*67e74705SXin Li __m256i test_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
998*67e74705SXin Li           __m256i __B) {
999*67e74705SXin Li   //CHECK-LABEL: @test_mm256_mask_xor_epi64
1000*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, %{{.*}}
1001*67e74705SXin Li   return _mm256_mask_xor_epi64(__W,__U, __A, __B);
1002*67e74705SXin Li }
1003*67e74705SXin Li 
test_mm256_maskz_xor_epi64(__mmask8 __U,__m256i __A,__m256i __B)1004*67e74705SXin Li __m256i test_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
1005*67e74705SXin Li   //CHECK-LABEL: @test_mm256_maskz_xor_epi64
1006*67e74705SXin Li   //CHECK: xor <4 x i64> %{{.*}}, %{{.*}}
1007*67e74705SXin Li   //CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
1008*67e74705SXin Li   return _mm256_maskz_xor_epi64(__U, __A, __B);
1009*67e74705SXin Li }
1010*67e74705SXin Li 
test_mm_mask_xor_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1011*67e74705SXin Li __m128i test_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1012*67e74705SXin Li   //CHECK-LABEL: @test_mm_mask_xor_epi64
1013*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, %{{.*}}
1014*67e74705SXin Li   return _mm_mask_xor_epi64(__W, __U, __A, __B);
1015*67e74705SXin Li }
1016*67e74705SXin Li 
test_mm_maskz_xor_epi64(__mmask8 __U,__m128i __A,__m128i __B)1017*67e74705SXin Li __m128i test_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
1018*67e74705SXin Li   //CHECK-LABEL: @test_mm_maskz_xor_epi64
1019*67e74705SXin Li   //CHECK: xor <2 x i64> %{{.*}}, %{{.*}}
1020*67e74705SXin Li   //CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
1021*67e74705SXin Li   return _mm_maskz_xor_epi64( __U, __A, __B);
1022*67e74705SXin Li }
1023*67e74705SXin Li 
test_mm256_cmp_ps_mask(__m256 __A,__m256 __B)1024*67e74705SXin Li __mmask8 test_mm256_cmp_ps_mask(__m256 __A, __m256 __B) {
1025*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmp_ps_mask
1026*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.ps.256
1027*67e74705SXin Li   return (__mmask8)_mm256_cmp_ps_mask(__A, __B, 0);
1028*67e74705SXin Li }
1029*67e74705SXin Li 
test_mm256_mask_cmp_ps_mask(__mmask8 m,__m256 __A,__m256 __B)1030*67e74705SXin Li __mmask8 test_mm256_mask_cmp_ps_mask(__mmask8 m, __m256 __A, __m256 __B) {
1031*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmp_ps_mask
1032*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.ps.256
1033*67e74705SXin Li   return _mm256_mask_cmp_ps_mask(m, __A, __B, 0);
1034*67e74705SXin Li }
1035*67e74705SXin Li 
test_mm_cmp_ps_mask(__m128 __A,__m128 __B)1036*67e74705SXin Li __mmask8 test_mm_cmp_ps_mask(__m128 __A, __m128 __B) {
1037*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmp_ps_mask
1038*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.ps.128
1039*67e74705SXin Li   return (__mmask8)_mm_cmp_ps_mask(__A, __B, 0);
1040*67e74705SXin Li }
1041*67e74705SXin Li 
test_mm_mask_cmp_ps_mask(__mmask8 m,__m128 __A,__m128 __B)1042*67e74705SXin Li __mmask8 test_mm_mask_cmp_ps_mask(__mmask8 m, __m128 __A, __m128 __B) {
1043*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmp_ps_mask
1044*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.ps.128
1045*67e74705SXin Li   return _mm_mask_cmp_ps_mask(m, __A, __B, 0);
1046*67e74705SXin Li }
1047*67e74705SXin Li 
test_mm256_cmp_pd_mask(__m256d __A,__m256d __B)1048*67e74705SXin Li __mmask8 test_mm256_cmp_pd_mask(__m256d __A, __m256d __B) {
1049*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmp_pd_mask
1050*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.pd.256
1051*67e74705SXin Li   return (__mmask8)_mm256_cmp_pd_mask(__A, __B, 0);
1052*67e74705SXin Li }
1053*67e74705SXin Li 
test_mm256_mask_cmp_pd_mask(__mmask8 m,__m256d __A,__m256d __B)1054*67e74705SXin Li __mmask8 test_mm256_mask_cmp_pd_mask(__mmask8 m, __m256d __A, __m256d __B) {
1055*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmp_pd_mask
1056*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.pd.256
1057*67e74705SXin Li   return _mm256_mask_cmp_pd_mask(m, __A, __B, 0);
1058*67e74705SXin Li }
1059*67e74705SXin Li 
test_mm_cmp_pd_mask(__m128d __A,__m128d __B)1060*67e74705SXin Li __mmask8 test_mm_cmp_pd_mask(__m128d __A, __m128d __B) {
1061*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmp_pd_mask
1062*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.pd.128
1063*67e74705SXin Li   return (__mmask8)_mm_cmp_pd_mask(__A, __B, 0);
1064*67e74705SXin Li }
1065*67e74705SXin Li 
test_mm_mask_cmp_pd_mask(__mmask8 m,__m128d __A,__m128d __B)1066*67e74705SXin Li __mmask8 test_mm_mask_cmp_pd_mask(__mmask8 m, __m128d __A, __m128d __B) {
1067*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmp_pd_mask
1068*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cmp.pd.128
1069*67e74705SXin Li   return _mm_mask_cmp_pd_mask(m, __A, __B, 0);
1070*67e74705SXin Li }
1071*67e74705SXin Li 
test_mm_mask_fmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)1072*67e74705SXin Li __m128d test_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
1073*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmadd_pd
1074*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.128
1075*67e74705SXin Li   return _mm_mask_fmadd_pd(__A, __U, __B, __C);
1076*67e74705SXin Li }
1077*67e74705SXin Li 
test_mm_mask_fmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)1078*67e74705SXin Li __m128d test_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
1079*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmsub_pd
1080*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.128
1081*67e74705SXin Li   return _mm_mask_fmsub_pd(__A, __U, __B, __C);
1082*67e74705SXin Li }
1083*67e74705SXin Li 
test_mm_mask3_fmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)1084*67e74705SXin Li __m128d test_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
1085*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmadd_pd
1086*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.128
1087*67e74705SXin Li   return _mm_mask3_fmadd_pd(__A, __B, __C, __U);
1088*67e74705SXin Li }
1089*67e74705SXin Li 
test_mm_mask3_fnmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)1090*67e74705SXin Li __m128d test_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
1091*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fnmadd_pd
1092*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.128
1093*67e74705SXin Li   return _mm_mask3_fnmadd_pd(__A, __B, __C, __U);
1094*67e74705SXin Li }
1095*67e74705SXin Li 
test_mm_maskz_fmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)1096*67e74705SXin Li __m128d test_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
1097*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmadd_pd
1098*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
1099*67e74705SXin Li   return _mm_maskz_fmadd_pd(__U, __A, __B, __C);
1100*67e74705SXin Li }
1101*67e74705SXin Li 
test_mm_maskz_fmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)1102*67e74705SXin Li __m128d test_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
1103*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmsub_pd
1104*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
1105*67e74705SXin Li   return _mm_maskz_fmsub_pd(__U, __A, __B, __C);
1106*67e74705SXin Li }
1107*67e74705SXin Li 
test_mm_maskz_fnmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)1108*67e74705SXin Li __m128d test_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
1109*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fnmadd_pd
1110*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
1111*67e74705SXin Li   return _mm_maskz_fnmadd_pd(__U, __A, __B, __C);
1112*67e74705SXin Li }
1113*67e74705SXin Li 
test_mm_maskz_fnmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)1114*67e74705SXin Li __m128d test_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
1115*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fnmsub_pd
1116*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
1117*67e74705SXin Li   return _mm_maskz_fnmsub_pd(__U, __A, __B, __C);
1118*67e74705SXin Li }
1119*67e74705SXin Li 
test_mm256_mask_fmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)1120*67e74705SXin Li __m256d test_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
1121*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmadd_pd
1122*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.256
1123*67e74705SXin Li   return _mm256_mask_fmadd_pd(__A, __U, __B, __C);
1124*67e74705SXin Li }
1125*67e74705SXin Li 
test_mm256_mask_fmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)1126*67e74705SXin Li __m256d test_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
1127*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmsub_pd
1128*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.256
1129*67e74705SXin Li   return _mm256_mask_fmsub_pd(__A, __U, __B, __C);
1130*67e74705SXin Li }
1131*67e74705SXin Li 
test_mm256_mask3_fmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)1132*67e74705SXin Li __m256d test_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
1133*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmadd_pd
1134*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.256
1135*67e74705SXin Li   return _mm256_mask3_fmadd_pd(__A, __B, __C, __U);
1136*67e74705SXin Li }
1137*67e74705SXin Li 
test_mm256_mask3_fnmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)1138*67e74705SXin Li __m256d test_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
1139*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fnmadd_pd
1140*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.256
1141*67e74705SXin Li   return _mm256_mask3_fnmadd_pd(__A, __B, __C, __U);
1142*67e74705SXin Li }
1143*67e74705SXin Li 
test_mm256_maskz_fmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)1144*67e74705SXin Li __m256d test_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1145*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmadd_pd
1146*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
1147*67e74705SXin Li   return _mm256_maskz_fmadd_pd(__U, __A, __B, __C);
1148*67e74705SXin Li }
1149*67e74705SXin Li 
test_mm256_maskz_fmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)1150*67e74705SXin Li __m256d test_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1151*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmsub_pd
1152*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
1153*67e74705SXin Li   return _mm256_maskz_fmsub_pd(__U, __A, __B, __C);
1154*67e74705SXin Li }
1155*67e74705SXin Li 
test_mm256_maskz_fnmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)1156*67e74705SXin Li __m256d test_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1157*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fnmadd_pd
1158*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
1159*67e74705SXin Li   return _mm256_maskz_fnmadd_pd(__U, __A, __B, __C);
1160*67e74705SXin Li }
1161*67e74705SXin Li 
test_mm256_maskz_fnmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)1162*67e74705SXin Li __m256d test_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1163*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fnmsub_pd
1164*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
1165*67e74705SXin Li   return _mm256_maskz_fnmsub_pd(__U, __A, __B, __C);
1166*67e74705SXin Li }
1167*67e74705SXin Li 
test_mm_mask_fmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)1168*67e74705SXin Li __m128 test_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1169*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmadd_ps
1170*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.128
1171*67e74705SXin Li   return _mm_mask_fmadd_ps(__A, __U, __B, __C);
1172*67e74705SXin Li }
1173*67e74705SXin Li 
test_mm_mask_fmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)1174*67e74705SXin Li __m128 test_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1175*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmsub_ps
1176*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.128
1177*67e74705SXin Li   return _mm_mask_fmsub_ps(__A, __U, __B, __C);
1178*67e74705SXin Li }
1179*67e74705SXin Li 
test_mm_mask3_fmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)1180*67e74705SXin Li __m128 test_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1181*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmadd_ps
1182*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.128
1183*67e74705SXin Li   return _mm_mask3_fmadd_ps(__A, __B, __C, __U);
1184*67e74705SXin Li }
1185*67e74705SXin Li 
test_mm_mask3_fnmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)1186*67e74705SXin Li __m128 test_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1187*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fnmadd_ps
1188*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.128
1189*67e74705SXin Li   return _mm_mask3_fnmadd_ps(__A, __B, __C, __U);
1190*67e74705SXin Li }
1191*67e74705SXin Li 
test_mm_maskz_fmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)1192*67e74705SXin Li __m128 test_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1193*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmadd_ps
1194*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
1195*67e74705SXin Li   return _mm_maskz_fmadd_ps(__U, __A, __B, __C);
1196*67e74705SXin Li }
1197*67e74705SXin Li 
test_mm_maskz_fmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)1198*67e74705SXin Li __m128 test_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1199*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmsub_ps
1200*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
1201*67e74705SXin Li   return _mm_maskz_fmsub_ps(__U, __A, __B, __C);
1202*67e74705SXin Li }
1203*67e74705SXin Li 
test_mm_maskz_fnmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)1204*67e74705SXin Li __m128 test_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1205*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fnmadd_ps
1206*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
1207*67e74705SXin Li   return _mm_maskz_fnmadd_ps(__U, __A, __B, __C);
1208*67e74705SXin Li }
1209*67e74705SXin Li 
test_mm_maskz_fnmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)1210*67e74705SXin Li __m128 test_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1211*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fnmsub_ps
1212*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
1213*67e74705SXin Li   return _mm_maskz_fnmsub_ps(__U, __A, __B, __C);
1214*67e74705SXin Li }
1215*67e74705SXin Li 
test_mm256_mask_fmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)1216*67e74705SXin Li __m256 test_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1217*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmadd_ps
1218*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.256
1219*67e74705SXin Li   return _mm256_mask_fmadd_ps(__A, __U, __B, __C);
1220*67e74705SXin Li }
1221*67e74705SXin Li 
test_mm256_mask_fmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)1222*67e74705SXin Li __m256 test_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1223*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmsub_ps
1224*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.256
1225*67e74705SXin Li   return _mm256_mask_fmsub_ps(__A, __U, __B, __C);
1226*67e74705SXin Li }
1227*67e74705SXin Li 
test_mm256_mask3_fmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)1228*67e74705SXin Li __m256 test_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1229*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmadd_ps
1230*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.256
1231*67e74705SXin Li   return _mm256_mask3_fmadd_ps(__A, __B, __C, __U);
1232*67e74705SXin Li }
1233*67e74705SXin Li 
test_mm256_mask3_fnmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)1234*67e74705SXin Li __m256 test_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1235*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fnmadd_ps
1236*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.256
1237*67e74705SXin Li   return _mm256_mask3_fnmadd_ps(__A, __B, __C, __U);
1238*67e74705SXin Li }
1239*67e74705SXin Li 
test_mm256_maskz_fmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)1240*67e74705SXin Li __m256 test_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1241*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmadd_ps
1242*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
1243*67e74705SXin Li   return _mm256_maskz_fmadd_ps(__U, __A, __B, __C);
1244*67e74705SXin Li }
1245*67e74705SXin Li 
test_mm256_maskz_fmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)1246*67e74705SXin Li __m256 test_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1247*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmsub_ps
1248*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
1249*67e74705SXin Li   return _mm256_maskz_fmsub_ps(__U, __A, __B, __C);
1250*67e74705SXin Li }
1251*67e74705SXin Li 
test_mm256_maskz_fnmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)1252*67e74705SXin Li __m256 test_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1253*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fnmadd_ps
1254*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
1255*67e74705SXin Li   return _mm256_maskz_fnmadd_ps(__U, __A, __B, __C);
1256*67e74705SXin Li }
1257*67e74705SXin Li 
test_mm256_maskz_fnmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)1258*67e74705SXin Li __m256 test_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1259*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fnmsub_ps
1260*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
1261*67e74705SXin Li   return _mm256_maskz_fnmsub_ps(__U, __A, __B, __C);
1262*67e74705SXin Li }
1263*67e74705SXin Li 
test_mm_mask_fmaddsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)1264*67e74705SXin Li __m128d test_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
1265*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmaddsub_pd
1266*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.128
1267*67e74705SXin Li   return _mm_mask_fmaddsub_pd(__A, __U, __B, __C);
1268*67e74705SXin Li }
1269*67e74705SXin Li 
test_mm_mask_fmsubadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)1270*67e74705SXin Li __m128d test_mm_mask_fmsubadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
1271*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmsubadd_pd
1272*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.128
1273*67e74705SXin Li   return _mm_mask_fmsubadd_pd(__A, __U, __B, __C);
1274*67e74705SXin Li }
1275*67e74705SXin Li 
test_mm_mask3_fmaddsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)1276*67e74705SXin Li __m128d test_mm_mask3_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
1277*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmaddsub_pd
1278*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.pd.128
1279*67e74705SXin Li   return _mm_mask3_fmaddsub_pd(__A, __B, __C, __U);
1280*67e74705SXin Li }
1281*67e74705SXin Li 
test_mm_maskz_fmaddsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)1282*67e74705SXin Li __m128d test_mm_maskz_fmaddsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
1283*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmaddsub_pd
1284*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.128
1285*67e74705SXin Li   return _mm_maskz_fmaddsub_pd(__U, __A, __B, __C);
1286*67e74705SXin Li }
1287*67e74705SXin Li 
test_mm_maskz_fmsubadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)1288*67e74705SXin Li __m128d test_mm_maskz_fmsubadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
1289*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmsubadd_pd
1290*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.128
1291*67e74705SXin Li   return _mm_maskz_fmsubadd_pd(__U, __A, __B, __C);
1292*67e74705SXin Li }
1293*67e74705SXin Li 
test_mm256_mask_fmaddsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)1294*67e74705SXin Li __m256d test_mm256_mask_fmaddsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
1295*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmaddsub_pd
1296*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.256
1297*67e74705SXin Li   return _mm256_mask_fmaddsub_pd(__A, __U, __B, __C);
1298*67e74705SXin Li }
1299*67e74705SXin Li 
test_mm256_mask_fmsubadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)1300*67e74705SXin Li __m256d test_mm256_mask_fmsubadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
1301*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmsubadd_pd
1302*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.256
1303*67e74705SXin Li   return _mm256_mask_fmsubadd_pd(__A, __U, __B, __C);
1304*67e74705SXin Li }
1305*67e74705SXin Li 
test_mm256_mask3_fmaddsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)1306*67e74705SXin Li __m256d test_mm256_mask3_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
1307*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmaddsub_pd
1308*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.pd.256
1309*67e74705SXin Li   return _mm256_mask3_fmaddsub_pd(__A, __B, __C, __U);
1310*67e74705SXin Li }
1311*67e74705SXin Li 
test_mm256_maskz_fmaddsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)1312*67e74705SXin Li __m256d test_mm256_maskz_fmaddsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1313*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmaddsub_pd
1314*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.256
1315*67e74705SXin Li   return _mm256_maskz_fmaddsub_pd(__U, __A, __B, __C);
1316*67e74705SXin Li }
1317*67e74705SXin Li 
test_mm256_maskz_fmsubadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)1318*67e74705SXin Li __m256d test_mm256_maskz_fmsubadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1319*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmsubadd_pd
1320*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.256
1321*67e74705SXin Li   return _mm256_maskz_fmsubadd_pd(__U, __A, __B, __C);
1322*67e74705SXin Li }
1323*67e74705SXin Li 
test_mm_mask_fmaddsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)1324*67e74705SXin Li __m128 test_mm_mask_fmaddsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1325*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmaddsub_ps
1326*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.128
1327*67e74705SXin Li   return _mm_mask_fmaddsub_ps(__A, __U, __B, __C);
1328*67e74705SXin Li }
1329*67e74705SXin Li 
test_mm_mask_fmsubadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)1330*67e74705SXin Li __m128 test_mm_mask_fmsubadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1331*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fmsubadd_ps
1332*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.128
1333*67e74705SXin Li   return _mm_mask_fmsubadd_ps(__A, __U, __B, __C);
1334*67e74705SXin Li }
1335*67e74705SXin Li 
test_mm_mask3_fmaddsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)1336*67e74705SXin Li __m128 test_mm_mask3_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1337*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmaddsub_ps
1338*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.ps.128
1339*67e74705SXin Li   return _mm_mask3_fmaddsub_ps(__A, __B, __C, __U);
1340*67e74705SXin Li }
1341*67e74705SXin Li 
test_mm_maskz_fmaddsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)1342*67e74705SXin Li __m128 test_mm_maskz_fmaddsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1343*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmaddsub_ps
1344*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.128
1345*67e74705SXin Li   return _mm_maskz_fmaddsub_ps(__U, __A, __B, __C);
1346*67e74705SXin Li }
1347*67e74705SXin Li 
test_mm_maskz_fmsubadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)1348*67e74705SXin Li __m128 test_mm_maskz_fmsubadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1349*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fmsubadd_ps
1350*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.128
1351*67e74705SXin Li   return _mm_maskz_fmsubadd_ps(__U, __A, __B, __C);
1352*67e74705SXin Li }
1353*67e74705SXin Li 
test_mm256_mask_fmaddsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)1354*67e74705SXin Li __m256 test_mm256_mask_fmaddsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1355*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmaddsub_ps
1356*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.256
1357*67e74705SXin Li   return _mm256_mask_fmaddsub_ps(__A, __U, __B, __C);
1358*67e74705SXin Li }
1359*67e74705SXin Li 
test_mm256_mask_fmsubadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)1360*67e74705SXin Li __m256 test_mm256_mask_fmsubadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1361*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fmsubadd_ps
1362*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.256
1363*67e74705SXin Li   return _mm256_mask_fmsubadd_ps(__A, __U, __B, __C);
1364*67e74705SXin Li }
1365*67e74705SXin Li 
test_mm256_mask3_fmaddsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)1366*67e74705SXin Li __m256 test_mm256_mask3_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1367*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmaddsub_ps
1368*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.ps.256
1369*67e74705SXin Li   return _mm256_mask3_fmaddsub_ps(__A, __B, __C, __U);
1370*67e74705SXin Li }
1371*67e74705SXin Li 
test_mm256_maskz_fmaddsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)1372*67e74705SXin Li __m256 test_mm256_maskz_fmaddsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1373*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmaddsub_ps
1374*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.256
1375*67e74705SXin Li   return _mm256_maskz_fmaddsub_ps(__U, __A, __B, __C);
1376*67e74705SXin Li }
1377*67e74705SXin Li 
test_mm256_maskz_fmsubadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)1378*67e74705SXin Li __m256 test_mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1379*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fmsubadd_ps
1380*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.256
1381*67e74705SXin Li   return _mm256_maskz_fmsubadd_ps(__U, __A, __B, __C);
1382*67e74705SXin Li }
1383*67e74705SXin Li 
test_mm_mask3_fmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)1384*67e74705SXin Li __m128d test_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
1385*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmsub_pd
1386*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsub.pd.128
1387*67e74705SXin Li   return _mm_mask3_fmsub_pd(__A, __B, __C, __U);
1388*67e74705SXin Li }
1389*67e74705SXin Li 
test_mm256_mask3_fmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)1390*67e74705SXin Li __m256d test_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
1391*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmsub_pd
1392*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsub.pd.256
1393*67e74705SXin Li   return _mm256_mask3_fmsub_pd(__A, __B, __C, __U);
1394*67e74705SXin Li }
1395*67e74705SXin Li 
test_mm_mask3_fmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)1396*67e74705SXin Li __m128 test_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1397*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmsub_ps
1398*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsub.ps.128
1399*67e74705SXin Li   return _mm_mask3_fmsub_ps(__A, __B, __C, __U);
1400*67e74705SXin Li }
1401*67e74705SXin Li 
test_mm256_mask3_fmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)1402*67e74705SXin Li __m256 test_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1403*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmsub_ps
1404*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsub.ps.256
1405*67e74705SXin Li   return _mm256_mask3_fmsub_ps(__A, __B, __C, __U);
1406*67e74705SXin Li }
1407*67e74705SXin Li 
test_mm_mask3_fmsubadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)1408*67e74705SXin Li __m128d test_mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
1409*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmsubadd_pd
1410*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.pd.128
1411*67e74705SXin Li   return _mm_mask3_fmsubadd_pd(__A, __B, __C, __U);
1412*67e74705SXin Li }
1413*67e74705SXin Li 
test_mm256_mask3_fmsubadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)1414*67e74705SXin Li __m256d test_mm256_mask3_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
1415*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmsubadd_pd
1416*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.pd.256
1417*67e74705SXin Li   return _mm256_mask3_fmsubadd_pd(__A, __B, __C, __U);
1418*67e74705SXin Li }
1419*67e74705SXin Li 
test_mm_mask3_fmsubadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)1420*67e74705SXin Li __m128 test_mm_mask3_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1421*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fmsubadd_ps
1422*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.ps.128
1423*67e74705SXin Li   return _mm_mask3_fmsubadd_ps(__A, __B, __C, __U);
1424*67e74705SXin Li }
1425*67e74705SXin Li 
test_mm256_mask3_fmsubadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)1426*67e74705SXin Li __m256 test_mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1427*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fmsubadd_ps
1428*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.ps.256
1429*67e74705SXin Li   return _mm256_mask3_fmsubadd_ps(__A, __B, __C, __U);
1430*67e74705SXin Li }
1431*67e74705SXin Li 
test_mm_mask_fnmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)1432*67e74705SXin Li __m128d test_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
1433*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fnmadd_pd
1434*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmadd.pd.128
1435*67e74705SXin Li   return _mm_mask_fnmadd_pd(__A, __U, __B, __C);
1436*67e74705SXin Li }
1437*67e74705SXin Li 
test_mm256_mask_fnmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)1438*67e74705SXin Li __m256d test_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
1439*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fnmadd_pd
1440*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmadd.pd.256
1441*67e74705SXin Li   return _mm256_mask_fnmadd_pd(__A, __U, __B, __C);
1442*67e74705SXin Li }
1443*67e74705SXin Li 
test_mm_mask_fnmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)1444*67e74705SXin Li __m128 test_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1445*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fnmadd_ps
1446*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmadd.ps.128
1447*67e74705SXin Li   return _mm_mask_fnmadd_ps(__A, __U, __B, __C);
1448*67e74705SXin Li }
1449*67e74705SXin Li 
test_mm256_mask_fnmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)1450*67e74705SXin Li __m256 test_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1451*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fnmadd_ps
1452*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmadd.ps.256
1453*67e74705SXin Li   return _mm256_mask_fnmadd_ps(__A, __U, __B, __C);
1454*67e74705SXin Li }
1455*67e74705SXin Li 
test_mm_mask_fnmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)1456*67e74705SXin Li __m128d test_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
1457*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fnmsub_pd
1458*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmsub.pd.128
1459*67e74705SXin Li   return _mm_mask_fnmsub_pd(__A, __U, __B, __C);
1460*67e74705SXin Li }
1461*67e74705SXin Li 
test_mm_mask3_fnmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)1462*67e74705SXin Li __m128d test_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
1463*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fnmsub_pd
1464*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.pd.128
1465*67e74705SXin Li   return _mm_mask3_fnmsub_pd(__A, __B, __C, __U);
1466*67e74705SXin Li }
1467*67e74705SXin Li 
test_mm256_mask_fnmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)1468*67e74705SXin Li __m256d test_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
1469*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fnmsub_pd
1470*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmsub.pd.256
1471*67e74705SXin Li   return _mm256_mask_fnmsub_pd(__A, __U, __B, __C);
1472*67e74705SXin Li }
1473*67e74705SXin Li 
test_mm256_mask3_fnmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)1474*67e74705SXin Li __m256d test_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
1475*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fnmsub_pd
1476*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.pd.256
1477*67e74705SXin Li   return _mm256_mask3_fnmsub_pd(__A, __B, __C, __U);
1478*67e74705SXin Li }
1479*67e74705SXin Li 
test_mm_mask_fnmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)1480*67e74705SXin Li __m128 test_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1481*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fnmsub_ps
1482*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmsub.ps.128
1483*67e74705SXin Li   return _mm_mask_fnmsub_ps(__A, __U, __B, __C);
1484*67e74705SXin Li }
1485*67e74705SXin Li 
test_mm_mask3_fnmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)1486*67e74705SXin Li __m128 test_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1487*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask3_fnmsub_ps
1488*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.ps.128
1489*67e74705SXin Li   return _mm_mask3_fnmsub_ps(__A, __B, __C, __U);
1490*67e74705SXin Li }
1491*67e74705SXin Li 
test_mm256_mask_fnmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)1492*67e74705SXin Li __m256 test_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1493*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fnmsub_ps
1494*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vfnmsub.ps.256
1495*67e74705SXin Li   return _mm256_mask_fnmsub_ps(__A, __U, __B, __C);
1496*67e74705SXin Li }
1497*67e74705SXin Li 
test_mm256_mask3_fnmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)1498*67e74705SXin Li __m256 test_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1499*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask3_fnmsub_ps
1500*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.ps.256
1501*67e74705SXin Li   return _mm256_mask3_fnmsub_ps(__A, __B, __C, __U);
1502*67e74705SXin Li }
1503*67e74705SXin Li 
test_mm_mask_add_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)1504*67e74705SXin Li __m128d test_mm_mask_add_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
1505*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_add_pd
1506*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.pd.128
1507*67e74705SXin Li   return _mm_mask_add_pd(__W,__U,__A,__B);
1508*67e74705SXin Li }
test_mm_maskz_add_pd(__mmask8 __U,__m128d __A,__m128d __B)1509*67e74705SXin Li __m128d test_mm_maskz_add_pd(__mmask8 __U, __m128d __A, __m128d __B) {
1510*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_add_pd
1511*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.pd.128
1512*67e74705SXin Li   return _mm_maskz_add_pd(__U,__A,__B);
1513*67e74705SXin Li }
test_mm256_mask_add_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)1514*67e74705SXin Li __m256d test_mm256_mask_add_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
1515*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_add_pd
1516*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.pd.256
1517*67e74705SXin Li   return _mm256_mask_add_pd(__W,__U,__A,__B);
1518*67e74705SXin Li }
test_mm256_maskz_add_pd(__mmask8 __U,__m256d __A,__m256d __B)1519*67e74705SXin Li __m256d test_mm256_maskz_add_pd(__mmask8 __U, __m256d __A, __m256d __B) {
1520*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_add_pd
1521*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.pd.256
1522*67e74705SXin Li   return _mm256_maskz_add_pd(__U,__A,__B);
1523*67e74705SXin Li }
test_mm_mask_add_ps(__m128 __W,__mmask16 __U,__m128 __A,__m128 __B)1524*67e74705SXin Li __m128 test_mm_mask_add_ps(__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
1525*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_add_ps
1526*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.ps.128
1527*67e74705SXin Li   return _mm_mask_add_ps(__W,__U,__A,__B);
1528*67e74705SXin Li }
test_mm_maskz_add_ps(__mmask16 __U,__m128 __A,__m128 __B)1529*67e74705SXin Li __m128 test_mm_maskz_add_ps(__mmask16 __U, __m128 __A, __m128 __B) {
1530*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_add_ps
1531*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.ps.128
1532*67e74705SXin Li   return _mm_maskz_add_ps(__U,__A,__B);
1533*67e74705SXin Li }
test_mm256_mask_add_ps(__m256 __W,__mmask16 __U,__m256 __A,__m256 __B)1534*67e74705SXin Li __m256 test_mm256_mask_add_ps(__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
1535*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_add_ps
1536*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.ps.256
1537*67e74705SXin Li   return _mm256_mask_add_ps(__W,__U,__A,__B);
1538*67e74705SXin Li }
test_mm256_maskz_add_ps(__mmask16 __U,__m256 __A,__m256 __B)1539*67e74705SXin Li __m256 test_mm256_maskz_add_ps(__mmask16 __U, __m256 __A, __m256 __B) {
1540*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_add_ps
1541*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.add.ps.256
1542*67e74705SXin Li   return _mm256_maskz_add_ps(__U,__A,__B);
1543*67e74705SXin Li }
test_mm_mask_blend_epi32(__mmask8 __U,__m128i __A,__m128i __W)1544*67e74705SXin Li __m128i test_mm_mask_blend_epi32(__mmask8 __U, __m128i __A, __m128i __W) {
1545*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_blend_epi32
1546*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
1547*67e74705SXin Li   return _mm_mask_blend_epi32(__U,__A,__W);
1548*67e74705SXin Li }
test_mm256_mask_blend_epi32(__mmask8 __U,__m256i __A,__m256i __W)1549*67e74705SXin Li __m256i test_mm256_mask_blend_epi32(__mmask8 __U, __m256i __A, __m256i __W) {
1550*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_blend_epi32
1551*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
1552*67e74705SXin Li   return _mm256_mask_blend_epi32(__U,__A,__W);
1553*67e74705SXin Li }
test_mm_mask_blend_pd(__mmask8 __U,__m128d __A,__m128d __W)1554*67e74705SXin Li __m128d test_mm_mask_blend_pd(__mmask8 __U, __m128d __A, __m128d __W) {
1555*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_blend_pd
1556*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
1557*67e74705SXin Li   return _mm_mask_blend_pd(__U,__A,__W);
1558*67e74705SXin Li }
test_mm256_mask_blend_pd(__mmask8 __U,__m256d __A,__m256d __W)1559*67e74705SXin Li __m256d test_mm256_mask_blend_pd(__mmask8 __U, __m256d __A, __m256d __W) {
1560*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_blend_pd
1561*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
1562*67e74705SXin Li   return _mm256_mask_blend_pd(__U,__A,__W);
1563*67e74705SXin Li }
test_mm_mask_blend_ps(__mmask8 __U,__m128 __A,__m128 __W)1564*67e74705SXin Li __m128 test_mm_mask_blend_ps(__mmask8 __U, __m128 __A, __m128 __W) {
1565*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_blend_ps
1566*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
1567*67e74705SXin Li   return _mm_mask_blend_ps(__U,__A,__W);
1568*67e74705SXin Li }
test_mm256_mask_blend_ps(__mmask8 __U,__m256 __A,__m256 __W)1569*67e74705SXin Li __m256 test_mm256_mask_blend_ps(__mmask8 __U, __m256 __A, __m256 __W) {
1570*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_blend_ps
1571*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
1572*67e74705SXin Li   return _mm256_mask_blend_ps(__U,__A,__W);
1573*67e74705SXin Li }
test_mm_mask_blend_epi64(__mmask8 __U,__m128i __A,__m128i __W)1574*67e74705SXin Li __m128i test_mm_mask_blend_epi64(__mmask8 __U, __m128i __A, __m128i __W) {
1575*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_blend_epi64
1576*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
1577*67e74705SXin Li   return _mm_mask_blend_epi64(__U,__A,__W);
1578*67e74705SXin Li }
test_mm256_mask_blend_epi64(__mmask8 __U,__m256i __A,__m256i __W)1579*67e74705SXin Li __m256i test_mm256_mask_blend_epi64(__mmask8 __U, __m256i __A, __m256i __W) {
1580*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_blend_epi64
1581*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
1582*67e74705SXin Li   return _mm256_mask_blend_epi64(__U,__A,__W);
1583*67e74705SXin Li }
test_mm_mask_compress_pd(__m128d __W,__mmask8 __U,__m128d __A)1584*67e74705SXin Li __m128d test_mm_mask_compress_pd(__m128d __W, __mmask8 __U, __m128d __A) {
1585*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compress_pd
1586*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.pd.128
1587*67e74705SXin Li   return _mm_mask_compress_pd(__W,__U,__A);
1588*67e74705SXin Li }
test_mm_maskz_compress_pd(__mmask8 __U,__m128d __A)1589*67e74705SXin Li __m128d test_mm_maskz_compress_pd(__mmask8 __U, __m128d __A) {
1590*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_compress_pd
1591*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.pd.128
1592*67e74705SXin Li   return _mm_maskz_compress_pd(__U,__A);
1593*67e74705SXin Li }
test_mm256_mask_compress_pd(__m256d __W,__mmask8 __U,__m256d __A)1594*67e74705SXin Li __m256d test_mm256_mask_compress_pd(__m256d __W, __mmask8 __U, __m256d __A) {
1595*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compress_pd
1596*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.pd.256
1597*67e74705SXin Li   return _mm256_mask_compress_pd(__W,__U,__A);
1598*67e74705SXin Li }
test_mm256_maskz_compress_pd(__mmask8 __U,__m256d __A)1599*67e74705SXin Li __m256d test_mm256_maskz_compress_pd(__mmask8 __U, __m256d __A) {
1600*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_compress_pd
1601*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.pd.256
1602*67e74705SXin Li   return _mm256_maskz_compress_pd(__U,__A);
1603*67e74705SXin Li }
test_mm_mask_compress_epi64(__m128i __W,__mmask8 __U,__m128i __A)1604*67e74705SXin Li __m128i test_mm_mask_compress_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
1605*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compress_epi64
1606*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.q.128
1607*67e74705SXin Li   return _mm_mask_compress_epi64(__W,__U,__A);
1608*67e74705SXin Li }
test_mm_maskz_compress_epi64(__mmask8 __U,__m128i __A)1609*67e74705SXin Li __m128i test_mm_maskz_compress_epi64(__mmask8 __U, __m128i __A) {
1610*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_compress_epi64
1611*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.q.128
1612*67e74705SXin Li   return _mm_maskz_compress_epi64(__U,__A);
1613*67e74705SXin Li }
test_mm256_mask_compress_epi64(__m256i __W,__mmask8 __U,__m256i __A)1614*67e74705SXin Li __m256i test_mm256_mask_compress_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
1615*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compress_epi64
1616*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.q.256
1617*67e74705SXin Li   return _mm256_mask_compress_epi64(__W,__U,__A);
1618*67e74705SXin Li }
test_mm256_maskz_compress_epi64(__mmask8 __U,__m256i __A)1619*67e74705SXin Li __m256i test_mm256_maskz_compress_epi64(__mmask8 __U, __m256i __A) {
1620*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_compress_epi64
1621*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.q.256
1622*67e74705SXin Li   return _mm256_maskz_compress_epi64(__U,__A);
1623*67e74705SXin Li }
test_mm_mask_compress_ps(__m128 __W,__mmask8 __U,__m128 __A)1624*67e74705SXin Li __m128 test_mm_mask_compress_ps(__m128 __W, __mmask8 __U, __m128 __A) {
1625*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compress_ps
1626*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.ps.128
1627*67e74705SXin Li   return _mm_mask_compress_ps(__W,__U,__A);
1628*67e74705SXin Li }
test_mm_maskz_compress_ps(__mmask8 __U,__m128 __A)1629*67e74705SXin Li __m128 test_mm_maskz_compress_ps(__mmask8 __U, __m128 __A) {
1630*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_compress_ps
1631*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.ps.128
1632*67e74705SXin Li   return _mm_maskz_compress_ps(__U,__A);
1633*67e74705SXin Li }
test_mm256_mask_compress_ps(__m256 __W,__mmask8 __U,__m256 __A)1634*67e74705SXin Li __m256 test_mm256_mask_compress_ps(__m256 __W, __mmask8 __U, __m256 __A) {
1635*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compress_ps
1636*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.ps.256
1637*67e74705SXin Li   return _mm256_mask_compress_ps(__W,__U,__A);
1638*67e74705SXin Li }
test_mm256_maskz_compress_ps(__mmask8 __U,__m256 __A)1639*67e74705SXin Li __m256 test_mm256_maskz_compress_ps(__mmask8 __U, __m256 __A) {
1640*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_compress_ps
1641*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.ps.256
1642*67e74705SXin Li   return _mm256_maskz_compress_ps(__U,__A);
1643*67e74705SXin Li }
test_mm_mask_compress_epi32(__m128i __W,__mmask8 __U,__m128i __A)1644*67e74705SXin Li __m128i test_mm_mask_compress_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
1645*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compress_epi32
1646*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.d.128
1647*67e74705SXin Li   return _mm_mask_compress_epi32(__W,__U,__A);
1648*67e74705SXin Li }
test_mm_maskz_compress_epi32(__mmask8 __U,__m128i __A)1649*67e74705SXin Li __m128i test_mm_maskz_compress_epi32(__mmask8 __U, __m128i __A) {
1650*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_compress_epi32
1651*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.d.128
1652*67e74705SXin Li   return _mm_maskz_compress_epi32(__U,__A);
1653*67e74705SXin Li }
test_mm256_mask_compress_epi32(__m256i __W,__mmask8 __U,__m256i __A)1654*67e74705SXin Li __m256i test_mm256_mask_compress_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
1655*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compress_epi32
1656*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.d.256
1657*67e74705SXin Li   return _mm256_mask_compress_epi32(__W,__U,__A);
1658*67e74705SXin Li }
test_mm256_maskz_compress_epi32(__mmask8 __U,__m256i __A)1659*67e74705SXin Li __m256i test_mm256_maskz_compress_epi32(__mmask8 __U, __m256i __A) {
1660*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_compress_epi32
1661*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.d.256
1662*67e74705SXin Li   return _mm256_maskz_compress_epi32(__U,__A);
1663*67e74705SXin Li }
test_mm_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m128d __A)1664*67e74705SXin Li void test_mm_mask_compressstoreu_pd(void *__P, __mmask8 __U, __m128d __A) {
1665*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compressstoreu_pd
1666*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.pd.128
1667*67e74705SXin Li   return _mm_mask_compressstoreu_pd(__P,__U,__A);
1668*67e74705SXin Li }
test_mm256_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m256d __A)1669*67e74705SXin Li void test_mm256_mask_compressstoreu_pd(void *__P, __mmask8 __U, __m256d __A) {
1670*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compressstoreu_pd
1671*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.pd.256
1672*67e74705SXin Li   return _mm256_mask_compressstoreu_pd(__P,__U,__A);
1673*67e74705SXin Li }
test_mm_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m128i __A)1674*67e74705SXin Li void test_mm_mask_compressstoreu_epi64(void *__P, __mmask8 __U, __m128i __A) {
1675*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compressstoreu_epi64
1676*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.q.128
1677*67e74705SXin Li   return _mm_mask_compressstoreu_epi64(__P,__U,__A);
1678*67e74705SXin Li }
test_mm256_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m256i __A)1679*67e74705SXin Li void test_mm256_mask_compressstoreu_epi64(void *__P, __mmask8 __U, __m256i __A) {
1680*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compressstoreu_epi64
1681*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.q.256
1682*67e74705SXin Li   return _mm256_mask_compressstoreu_epi64(__P,__U,__A);
1683*67e74705SXin Li }
test_mm_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m128 __A)1684*67e74705SXin Li void test_mm_mask_compressstoreu_ps(void *__P, __mmask8 __U, __m128 __A) {
1685*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compressstoreu_ps
1686*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.ps.128
1687*67e74705SXin Li   return _mm_mask_compressstoreu_ps(__P,__U,__A);
1688*67e74705SXin Li }
test_mm256_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m256 __A)1689*67e74705SXin Li void test_mm256_mask_compressstoreu_ps(void *__P, __mmask8 __U, __m256 __A) {
1690*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compressstoreu_ps
1691*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.ps.256
1692*67e74705SXin Li   return _mm256_mask_compressstoreu_ps(__P,__U,__A);
1693*67e74705SXin Li }
test_mm_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m128i __A)1694*67e74705SXin Li void test_mm_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m128i __A) {
1695*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_compressstoreu_epi32
1696*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.d.128
1697*67e74705SXin Li   return _mm_mask_compressstoreu_epi32(__P,__U,__A);
1698*67e74705SXin Li }
test_mm256_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m256i __A)1699*67e74705SXin Li void test_mm256_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m256i __A) {
1700*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_compressstoreu_epi32
1701*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.compress.store.d.256
1702*67e74705SXin Li   return _mm256_mask_compressstoreu_epi32(__P,__U,__A);
1703*67e74705SXin Li }
test_mm_mask_cvtepi32_pd(__m128d __W,__mmask8 __U,__m128i __A)1704*67e74705SXin Li __m128d test_mm_mask_cvtepi32_pd(__m128d __W, __mmask8 __U, __m128i __A) {
1705*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi32_pd
1706*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.128
1707*67e74705SXin Li   return _mm_mask_cvtepi32_pd(__W,__U,__A);
1708*67e74705SXin Li }
test_mm_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1709*67e74705SXin Li __m128d test_mm_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) {
1710*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi32_pd
1711*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.128
1712*67e74705SXin Li   return _mm_maskz_cvtepi32_pd(__U,__A);
1713*67e74705SXin Li }
test_mm256_mask_cvtepi32_pd(__m256d __W,__mmask8 __U,__m128i __A)1714*67e74705SXin Li __m256d test_mm256_mask_cvtepi32_pd(__m256d __W, __mmask8 __U, __m128i __A) {
1715*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi32_pd
1716*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.256
1717*67e74705SXin Li   return _mm256_mask_cvtepi32_pd(__W,__U,__A);
1718*67e74705SXin Li }
test_mm256_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1719*67e74705SXin Li __m256d test_mm256_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) {
1720*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi32_pd
1721*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.256
1722*67e74705SXin Li   return _mm256_maskz_cvtepi32_pd(__U,__A);
1723*67e74705SXin Li }
test_mm_mask_cvtepi32_ps(__m128 __W,__mmask8 __U,__m128i __A)1724*67e74705SXin Li __m128 test_mm_mask_cvtepi32_ps(__m128 __W, __mmask8 __U, __m128i __A) {
1725*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi32_ps
1726*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.128
1727*67e74705SXin Li   return _mm_mask_cvtepi32_ps(__W,__U,__A);
1728*67e74705SXin Li }
test_mm_maskz_cvtepi32_ps(__mmask16 __U,__m128i __A)1729*67e74705SXin Li __m128 test_mm_maskz_cvtepi32_ps(__mmask16 __U, __m128i __A) {
1730*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi32_ps
1731*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.128
1732*67e74705SXin Li   return _mm_maskz_cvtepi32_ps(__U,__A);
1733*67e74705SXin Li }
test_mm256_mask_cvtepi32_ps(__m256 __W,__mmask8 __U,__m256i __A)1734*67e74705SXin Li __m256 test_mm256_mask_cvtepi32_ps(__m256 __W, __mmask8 __U, __m256i __A) {
1735*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi32_ps
1736*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.256
1737*67e74705SXin Li   return _mm256_mask_cvtepi32_ps(__W,__U,__A);
1738*67e74705SXin Li }
test_mm256_maskz_cvtepi32_ps(__mmask16 __U,__m256i __A)1739*67e74705SXin Li __m256 test_mm256_maskz_cvtepi32_ps(__mmask16 __U, __m256i __A) {
1740*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi32_ps
1741*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.256
1742*67e74705SXin Li   return _mm256_maskz_cvtepi32_ps(__U,__A);
1743*67e74705SXin Li }
test_mm_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1744*67e74705SXin Li __m128i test_mm_mask_cvtpd_epi32(__m128i __W, __mmask8 __U, __m128d __A) {
1745*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtpd_epi32
1746*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.128
1747*67e74705SXin Li   return _mm_mask_cvtpd_epi32(__W,__U,__A);
1748*67e74705SXin Li }
test_mm_maskz_cvtpd_epi32(__mmask8 __U,__m128d __A)1749*67e74705SXin Li __m128i test_mm_maskz_cvtpd_epi32(__mmask8 __U, __m128d __A) {
1750*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtpd_epi32
1751*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.128
1752*67e74705SXin Li   return _mm_maskz_cvtpd_epi32(__U,__A);
1753*67e74705SXin Li }
test_mm256_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1754*67e74705SXin Li __m128i test_mm256_mask_cvtpd_epi32(__m128i __W, __mmask8 __U, __m256d __A) {
1755*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtpd_epi32
1756*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.256
1757*67e74705SXin Li   return _mm256_mask_cvtpd_epi32(__W,__U,__A);
1758*67e74705SXin Li }
test_mm256_maskz_cvtpd_epi32(__mmask8 __U,__m256d __A)1759*67e74705SXin Li __m128i test_mm256_maskz_cvtpd_epi32(__mmask8 __U, __m256d __A) {
1760*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtpd_epi32
1761*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.256
1762*67e74705SXin Li   return _mm256_maskz_cvtpd_epi32(__U,__A);
1763*67e74705SXin Li }
test_mm_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m128d __A)1764*67e74705SXin Li __m128 test_mm_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m128d __A) {
1765*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtpd_ps
1766*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps
1767*67e74705SXin Li   return _mm_mask_cvtpd_ps(__W,__U,__A);
1768*67e74705SXin Li }
test_mm_maskz_cvtpd_ps(__mmask8 __U,__m128d __A)1769*67e74705SXin Li __m128 test_mm_maskz_cvtpd_ps(__mmask8 __U, __m128d __A) {
1770*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtpd_ps
1771*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps
1772*67e74705SXin Li   return _mm_maskz_cvtpd_ps(__U,__A);
1773*67e74705SXin Li }
test_mm256_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m256d __A)1774*67e74705SXin Li __m128 test_mm256_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m256d __A) {
1775*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtpd_ps
1776*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps.256
1777*67e74705SXin Li   return _mm256_mask_cvtpd_ps(__W,__U,__A);
1778*67e74705SXin Li }
test_mm256_maskz_cvtpd_ps(__mmask8 __U,__m256d __A)1779*67e74705SXin Li __m128 test_mm256_maskz_cvtpd_ps(__mmask8 __U, __m256d __A) {
1780*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtpd_ps
1781*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps.256
1782*67e74705SXin Li   return _mm256_maskz_cvtpd_ps(__U,__A);
1783*67e74705SXin Li }
test_mm_cvtpd_epu32(__m128d __A)1784*67e74705SXin Li __m128i test_mm_cvtpd_epu32(__m128d __A) {
1785*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtpd_epu32
1786*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128
1787*67e74705SXin Li   return _mm_cvtpd_epu32(__A);
1788*67e74705SXin Li }
test_mm_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)1789*67e74705SXin Li __m128i test_mm_mask_cvtpd_epu32(__m128i __W, __mmask8 __U, __m128d __A) {
1790*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtpd_epu32
1791*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128
1792*67e74705SXin Li   return _mm_mask_cvtpd_epu32(__W,__U,__A);
1793*67e74705SXin Li }
test_mm_maskz_cvtpd_epu32(__mmask8 __U,__m128d __A)1794*67e74705SXin Li __m128i test_mm_maskz_cvtpd_epu32(__mmask8 __U, __m128d __A) {
1795*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtpd_epu32
1796*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128
1797*67e74705SXin Li   return _mm_maskz_cvtpd_epu32(__U,__A);
1798*67e74705SXin Li }
test_mm256_cvtpd_epu32(__m256d __A)1799*67e74705SXin Li __m128i test_mm256_cvtpd_epu32(__m256d __A) {
1800*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtpd_epu32
1801*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256
1802*67e74705SXin Li   return _mm256_cvtpd_epu32(__A);
1803*67e74705SXin Li }
test_mm256_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)1804*67e74705SXin Li __m128i test_mm256_mask_cvtpd_epu32(__m128i __W, __mmask8 __U, __m256d __A) {
1805*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtpd_epu32
1806*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256
1807*67e74705SXin Li   return _mm256_mask_cvtpd_epu32(__W,__U,__A);
1808*67e74705SXin Li }
test_mm256_maskz_cvtpd_epu32(__mmask8 __U,__m256d __A)1809*67e74705SXin Li __m128i test_mm256_maskz_cvtpd_epu32(__mmask8 __U, __m256d __A) {
1810*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtpd_epu32
1811*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256
1812*67e74705SXin Li   return _mm256_maskz_cvtpd_epu32(__U,__A);
1813*67e74705SXin Li }
test_mm_mask_cvtps_epi32(__m128i __W,__mmask8 __U,__m128 __A)1814*67e74705SXin Li __m128i test_mm_mask_cvtps_epi32(__m128i __W, __mmask8 __U, __m128 __A) {
1815*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtps_epi32
1816*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.128
1817*67e74705SXin Li   return _mm_mask_cvtps_epi32(__W,__U,__A);
1818*67e74705SXin Li }
test_mm_maskz_cvtps_epi32(__mmask8 __U,__m128 __A)1819*67e74705SXin Li __m128i test_mm_maskz_cvtps_epi32(__mmask8 __U, __m128 __A) {
1820*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtps_epi32
1821*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.128
1822*67e74705SXin Li   return _mm_maskz_cvtps_epi32(__U,__A);
1823*67e74705SXin Li }
test_mm256_mask_cvtps_epi32(__m256i __W,__mmask8 __U,__m256 __A)1824*67e74705SXin Li __m256i test_mm256_mask_cvtps_epi32(__m256i __W, __mmask8 __U, __m256 __A) {
1825*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtps_epi32
1826*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.256
1827*67e74705SXin Li   return _mm256_mask_cvtps_epi32(__W,__U,__A);
1828*67e74705SXin Li }
test_mm256_maskz_cvtps_epi32(__mmask8 __U,__m256 __A)1829*67e74705SXin Li __m256i test_mm256_maskz_cvtps_epi32(__mmask8 __U, __m256 __A) {
1830*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtps_epi32
1831*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.256
1832*67e74705SXin Li   return _mm256_maskz_cvtps_epi32(__U,__A);
1833*67e74705SXin Li }
test_mm_mask_cvtps_pd(__m128d __W,__mmask8 __U,__m128 __A)1834*67e74705SXin Li __m128d test_mm_mask_cvtps_pd(__m128d __W, __mmask8 __U, __m128 __A) {
1835*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtps_pd
1836*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.128
1837*67e74705SXin Li   return _mm_mask_cvtps_pd(__W,__U,__A);
1838*67e74705SXin Li }
test_mm_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1839*67e74705SXin Li __m128d test_mm_maskz_cvtps_pd(__mmask8 __U, __m128 __A) {
1840*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtps_pd
1841*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.128
1842*67e74705SXin Li   return _mm_maskz_cvtps_pd(__U,__A);
1843*67e74705SXin Li }
test_mm256_mask_cvtps_pd(__m256d __W,__mmask8 __U,__m128 __A)1844*67e74705SXin Li __m256d test_mm256_mask_cvtps_pd(__m256d __W, __mmask8 __U, __m128 __A) {
1845*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtps_pd
1846*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.256
1847*67e74705SXin Li   return _mm256_mask_cvtps_pd(__W,__U,__A);
1848*67e74705SXin Li }
test_mm256_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1849*67e74705SXin Li __m256d test_mm256_maskz_cvtps_pd(__mmask8 __U, __m128 __A) {
1850*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtps_pd
1851*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.256
1852*67e74705SXin Li   return _mm256_maskz_cvtps_pd(__U,__A);
1853*67e74705SXin Li }
test_mm_cvtps_epu32(__m128 __A)1854*67e74705SXin Li __m128i test_mm_cvtps_epu32(__m128 __A) {
1855*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtps_epu32
1856*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128
1857*67e74705SXin Li   return _mm_cvtps_epu32(__A);
1858*67e74705SXin Li }
test_mm_mask_cvtps_epu32(__m128i __W,__mmask8 __U,__m128 __A)1859*67e74705SXin Li __m128i test_mm_mask_cvtps_epu32(__m128i __W, __mmask8 __U, __m128 __A) {
1860*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtps_epu32
1861*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128
1862*67e74705SXin Li   return _mm_mask_cvtps_epu32(__W,__U,__A);
1863*67e74705SXin Li }
test_mm_maskz_cvtps_epu32(__mmask8 __U,__m128 __A)1864*67e74705SXin Li __m128i test_mm_maskz_cvtps_epu32(__mmask8 __U, __m128 __A) {
1865*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtps_epu32
1866*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128
1867*67e74705SXin Li   return _mm_maskz_cvtps_epu32(__U,__A);
1868*67e74705SXin Li }
test_mm256_cvtps_epu32(__m256 __A)1869*67e74705SXin Li __m256i test_mm256_cvtps_epu32(__m256 __A) {
1870*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtps_epu32
1871*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256
1872*67e74705SXin Li   return _mm256_cvtps_epu32(__A);
1873*67e74705SXin Li }
test_mm256_mask_cvtps_epu32(__m256i __W,__mmask8 __U,__m256 __A)1874*67e74705SXin Li __m256i test_mm256_mask_cvtps_epu32(__m256i __W, __mmask8 __U, __m256 __A) {
1875*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtps_epu32
1876*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256
1877*67e74705SXin Li   return _mm256_mask_cvtps_epu32(__W,__U,__A);
1878*67e74705SXin Li }
test_mm256_maskz_cvtps_epu32(__mmask8 __U,__m256 __A)1879*67e74705SXin Li __m256i test_mm256_maskz_cvtps_epu32(__mmask8 __U, __m256 __A) {
1880*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtps_epu32
1881*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256
1882*67e74705SXin Li   return _mm256_maskz_cvtps_epu32(__U,__A);
1883*67e74705SXin Li }
test_mm_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1884*67e74705SXin Li __m128i test_mm_mask_cvttpd_epi32(__m128i __W, __mmask8 __U, __m128d __A) {
1885*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvttpd_epi32
1886*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.128
1887*67e74705SXin Li   return _mm_mask_cvttpd_epi32(__W,__U,__A);
1888*67e74705SXin Li }
test_mm_maskz_cvttpd_epi32(__mmask8 __U,__m128d __A)1889*67e74705SXin Li __m128i test_mm_maskz_cvttpd_epi32(__mmask8 __U, __m128d __A) {
1890*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvttpd_epi32
1891*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.128
1892*67e74705SXin Li   return _mm_maskz_cvttpd_epi32(__U,__A);
1893*67e74705SXin Li }
test_mm256_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1894*67e74705SXin Li __m128i test_mm256_mask_cvttpd_epi32(__m128i __W, __mmask8 __U, __m256d __A) {
1895*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvttpd_epi32
1896*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.256
1897*67e74705SXin Li   return _mm256_mask_cvttpd_epi32(__W,__U,__A);
1898*67e74705SXin Li }
test_mm256_maskz_cvttpd_epi32(__mmask8 __U,__m256d __A)1899*67e74705SXin Li __m128i test_mm256_maskz_cvttpd_epi32(__mmask8 __U, __m256d __A) {
1900*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvttpd_epi32
1901*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.256
1902*67e74705SXin Li   return _mm256_maskz_cvttpd_epi32(__U,__A);
1903*67e74705SXin Li }
test_mm_cvttpd_epu32(__m128d __A)1904*67e74705SXin Li __m128i test_mm_cvttpd_epu32(__m128d __A) {
1905*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvttpd_epu32
1906*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128
1907*67e74705SXin Li   return _mm_cvttpd_epu32(__A);
1908*67e74705SXin Li }
test_mm_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)1909*67e74705SXin Li __m128i test_mm_mask_cvttpd_epu32(__m128i __W, __mmask8 __U, __m128d __A) {
1910*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvttpd_epu32
1911*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128
1912*67e74705SXin Li   return _mm_mask_cvttpd_epu32(__W,__U,__A);
1913*67e74705SXin Li }
test_mm_maskz_cvttpd_epu32(__mmask8 __U,__m128d __A)1914*67e74705SXin Li __m128i test_mm_maskz_cvttpd_epu32(__mmask8 __U, __m128d __A) {
1915*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvttpd_epu32
1916*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128
1917*67e74705SXin Li   return _mm_maskz_cvttpd_epu32(__U,__A);
1918*67e74705SXin Li }
test_mm256_cvttpd_epu32(__m256d __A)1919*67e74705SXin Li __m128i test_mm256_cvttpd_epu32(__m256d __A) {
1920*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvttpd_epu32
1921*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256
1922*67e74705SXin Li   return _mm256_cvttpd_epu32(__A);
1923*67e74705SXin Li }
test_mm256_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)1924*67e74705SXin Li __m128i test_mm256_mask_cvttpd_epu32(__m128i __W, __mmask8 __U, __m256d __A) {
1925*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvttpd_epu32
1926*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256
1927*67e74705SXin Li   return _mm256_mask_cvttpd_epu32(__W,__U,__A);
1928*67e74705SXin Li }
test_mm256_maskz_cvttpd_epu32(__mmask8 __U,__m256d __A)1929*67e74705SXin Li __m128i test_mm256_maskz_cvttpd_epu32(__mmask8 __U, __m256d __A) {
1930*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvttpd_epu32
1931*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256
1932*67e74705SXin Li   return _mm256_maskz_cvttpd_epu32(__U,__A);
1933*67e74705SXin Li }
test_mm_mask_cvttps_epi32(__m128i __W,__mmask8 __U,__m128 __A)1934*67e74705SXin Li __m128i test_mm_mask_cvttps_epi32(__m128i __W, __mmask8 __U, __m128 __A) {
1935*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvttps_epi32
1936*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.128
1937*67e74705SXin Li   return _mm_mask_cvttps_epi32(__W,__U,__A);
1938*67e74705SXin Li }
test_mm_maskz_cvttps_epi32(__mmask8 __U,__m128 __A)1939*67e74705SXin Li __m128i test_mm_maskz_cvttps_epi32(__mmask8 __U, __m128 __A) {
1940*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvttps_epi32
1941*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.128
1942*67e74705SXin Li   return _mm_maskz_cvttps_epi32(__U,__A);
1943*67e74705SXin Li }
test_mm256_mask_cvttps_epi32(__m256i __W,__mmask8 __U,__m256 __A)1944*67e74705SXin Li __m256i test_mm256_mask_cvttps_epi32(__m256i __W, __mmask8 __U, __m256 __A) {
1945*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvttps_epi32
1946*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.256
1947*67e74705SXin Li   return _mm256_mask_cvttps_epi32(__W,__U,__A);
1948*67e74705SXin Li }
test_mm256_maskz_cvttps_epi32(__mmask8 __U,__m256 __A)1949*67e74705SXin Li __m256i test_mm256_maskz_cvttps_epi32(__mmask8 __U, __m256 __A) {
1950*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvttps_epi32
1951*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.256
1952*67e74705SXin Li   return _mm256_maskz_cvttps_epi32(__U,__A);
1953*67e74705SXin Li }
test_mm_cvttps_epu32(__m128 __A)1954*67e74705SXin Li __m128i test_mm_cvttps_epu32(__m128 __A) {
1955*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvttps_epu32
1956*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128
1957*67e74705SXin Li   return _mm_cvttps_epu32(__A);
1958*67e74705SXin Li }
test_mm_mask_cvttps_epu32(__m128i __W,__mmask8 __U,__m128 __A)1959*67e74705SXin Li __m128i test_mm_mask_cvttps_epu32(__m128i __W, __mmask8 __U, __m128 __A) {
1960*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvttps_epu32
1961*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128
1962*67e74705SXin Li   return _mm_mask_cvttps_epu32(__W,__U,__A);
1963*67e74705SXin Li }
test_mm_maskz_cvttps_epu32(__mmask8 __U,__m128 __A)1964*67e74705SXin Li __m128i test_mm_maskz_cvttps_epu32(__mmask8 __U, __m128 __A) {
1965*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvttps_epu32
1966*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128
1967*67e74705SXin Li   return _mm_maskz_cvttps_epu32(__U,__A);
1968*67e74705SXin Li }
test_mm256_cvttps_epu32(__m256 __A)1969*67e74705SXin Li __m256i test_mm256_cvttps_epu32(__m256 __A) {
1970*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvttps_epu32
1971*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256
1972*67e74705SXin Li   return _mm256_cvttps_epu32(__A);
1973*67e74705SXin Li }
test_mm256_mask_cvttps_epu32(__m256i __W,__mmask8 __U,__m256 __A)1974*67e74705SXin Li __m256i test_mm256_mask_cvttps_epu32(__m256i __W, __mmask8 __U, __m256 __A) {
1975*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvttps_epu32
1976*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256
1977*67e74705SXin Li   return _mm256_mask_cvttps_epu32(__W,__U,__A);
1978*67e74705SXin Li }
test_mm256_maskz_cvttps_epu32(__mmask8 __U,__m256 __A)1979*67e74705SXin Li __m256i test_mm256_maskz_cvttps_epu32(__mmask8 __U, __m256 __A) {
1980*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvttps_epu32
1981*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256
1982*67e74705SXin Li   return _mm256_maskz_cvttps_epu32(__U,__A);
1983*67e74705SXin Li }
test_mm_cvtepu32_pd(__m128i __A)1984*67e74705SXin Li __m128d test_mm_cvtepu32_pd(__m128i __A) {
1985*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtepu32_pd
1986*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128
1987*67e74705SXin Li   return _mm_cvtepu32_pd(__A);
1988*67e74705SXin Li }
test_mm_mask_cvtepu32_pd(__m128d __W,__mmask8 __U,__m128i __A)1989*67e74705SXin Li __m128d test_mm_mask_cvtepu32_pd(__m128d __W, __mmask8 __U, __m128i __A) {
1990*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepu32_pd
1991*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128
1992*67e74705SXin Li   return _mm_mask_cvtepu32_pd(__W,__U,__A);
1993*67e74705SXin Li }
test_mm_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)1994*67e74705SXin Li __m128d test_mm_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) {
1995*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepu32_pd
1996*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128
1997*67e74705SXin Li   return _mm_maskz_cvtepu32_pd(__U,__A);
1998*67e74705SXin Li }
test_mm256_cvtepu32_pd(__m128i __A)1999*67e74705SXin Li __m256d test_mm256_cvtepu32_pd(__m128i __A) {
2000*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtepu32_pd
2001*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256
2002*67e74705SXin Li   return _mm256_cvtepu32_pd(__A);
2003*67e74705SXin Li }
test_mm256_mask_cvtepu32_pd(__m256d __W,__mmask8 __U,__m128i __A)2004*67e74705SXin Li __m256d test_mm256_mask_cvtepu32_pd(__m256d __W, __mmask8 __U, __m128i __A) {
2005*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepu32_pd
2006*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256
2007*67e74705SXin Li   return _mm256_mask_cvtepu32_pd(__W,__U,__A);
2008*67e74705SXin Li }
test_mm256_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)2009*67e74705SXin Li __m256d test_mm256_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) {
2010*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepu32_pd
2011*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256
2012*67e74705SXin Li   return _mm256_maskz_cvtepu32_pd(__U,__A);
2013*67e74705SXin Li }
test_mm_cvtepu32_ps(__m128i __A)2014*67e74705SXin Li __m128 test_mm_cvtepu32_ps(__m128i __A) {
2015*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtepu32_ps
2016*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128
2017*67e74705SXin Li   return _mm_cvtepu32_ps(__A);
2018*67e74705SXin Li }
test_mm_mask_cvtepu32_ps(__m128 __W,__mmask8 __U,__m128i __A)2019*67e74705SXin Li __m128 test_mm_mask_cvtepu32_ps(__m128 __W, __mmask8 __U, __m128i __A) {
2020*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepu32_ps
2021*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128
2022*67e74705SXin Li   return _mm_mask_cvtepu32_ps(__W,__U,__A);
2023*67e74705SXin Li }
test_mm_maskz_cvtepu32_ps(__mmask8 __U,__m128i __A)2024*67e74705SXin Li __m128 test_mm_maskz_cvtepu32_ps(__mmask8 __U, __m128i __A) {
2025*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepu32_ps
2026*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128
2027*67e74705SXin Li   return _mm_maskz_cvtepu32_ps(__U,__A);
2028*67e74705SXin Li }
test_mm256_cvtepu32_ps(__m256i __A)2029*67e74705SXin Li __m256 test_mm256_cvtepu32_ps(__m256i __A) {
2030*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtepu32_ps
2031*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256
2032*67e74705SXin Li   return _mm256_cvtepu32_ps(__A);
2033*67e74705SXin Li }
test_mm256_mask_cvtepu32_ps(__m256 __W,__mmask8 __U,__m256i __A)2034*67e74705SXin Li __m256 test_mm256_mask_cvtepu32_ps(__m256 __W, __mmask8 __U, __m256i __A) {
2035*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepu32_ps
2036*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256
2037*67e74705SXin Li   return _mm256_mask_cvtepu32_ps(__W,__U,__A);
2038*67e74705SXin Li }
test_mm256_maskz_cvtepu32_ps(__mmask8 __U,__m256i __A)2039*67e74705SXin Li __m256 test_mm256_maskz_cvtepu32_ps(__mmask8 __U, __m256i __A) {
2040*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepu32_ps
2041*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256
2042*67e74705SXin Li   return _mm256_maskz_cvtepu32_ps(__U,__A);
2043*67e74705SXin Li }
test_mm_mask_div_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)2044*67e74705SXin Li __m128d test_mm_mask_div_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2045*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_div_pd
2046*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.pd.128
2047*67e74705SXin Li   return _mm_mask_div_pd(__W,__U,__A,__B);
2048*67e74705SXin Li }
test_mm_maskz_div_pd(__mmask8 __U,__m128d __A,__m128d __B)2049*67e74705SXin Li __m128d test_mm_maskz_div_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2050*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_div_pd
2051*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.pd.128
2052*67e74705SXin Li   return _mm_maskz_div_pd(__U,__A,__B);
2053*67e74705SXin Li }
test_mm256_mask_div_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)2054*67e74705SXin Li __m256d test_mm256_mask_div_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2055*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_div_pd
2056*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.pd.256
2057*67e74705SXin Li   return _mm256_mask_div_pd(__W,__U,__A,__B);
2058*67e74705SXin Li }
test_mm256_maskz_div_pd(__mmask8 __U,__m256d __A,__m256d __B)2059*67e74705SXin Li __m256d test_mm256_maskz_div_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2060*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_div_pd
2061*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.pd.256
2062*67e74705SXin Li   return _mm256_maskz_div_pd(__U,__A,__B);
2063*67e74705SXin Li }
test_mm_mask_div_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)2064*67e74705SXin Li __m128 test_mm_mask_div_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2065*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_div_ps
2066*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.ps.128
2067*67e74705SXin Li   return _mm_mask_div_ps(__W,__U,__A,__B);
2068*67e74705SXin Li }
test_mm_maskz_div_ps(__mmask8 __U,__m128 __A,__m128 __B)2069*67e74705SXin Li __m128 test_mm_maskz_div_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2070*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_div_ps
2071*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.ps.128
2072*67e74705SXin Li   return _mm_maskz_div_ps(__U,__A,__B);
2073*67e74705SXin Li }
test_mm256_mask_div_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)2074*67e74705SXin Li __m256 test_mm256_mask_div_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2075*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_div_ps
2076*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.ps.256
2077*67e74705SXin Li   return _mm256_mask_div_ps(__W,__U,__A,__B);
2078*67e74705SXin Li }
test_mm256_maskz_div_ps(__mmask8 __U,__m256 __A,__m256 __B)2079*67e74705SXin Li __m256 test_mm256_maskz_div_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2080*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_div_ps
2081*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.div.ps.256
2082*67e74705SXin Li   return _mm256_maskz_div_ps(__U,__A,__B);
2083*67e74705SXin Li }
test_mm_mask_expand_pd(__m128d __W,__mmask8 __U,__m128d __A)2084*67e74705SXin Li __m128d test_mm_mask_expand_pd(__m128d __W, __mmask8 __U, __m128d __A) {
2085*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expand_pd
2086*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.pd.128
2087*67e74705SXin Li   return _mm_mask_expand_pd(__W,__U,__A);
2088*67e74705SXin Li }
test_mm_maskz_expand_pd(__mmask8 __U,__m128d __A)2089*67e74705SXin Li __m128d test_mm_maskz_expand_pd(__mmask8 __U, __m128d __A) {
2090*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expand_pd
2091*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.pd.128
2092*67e74705SXin Li   return _mm_maskz_expand_pd(__U,__A);
2093*67e74705SXin Li }
test_mm256_mask_expand_pd(__m256d __W,__mmask8 __U,__m256d __A)2094*67e74705SXin Li __m256d test_mm256_mask_expand_pd(__m256d __W, __mmask8 __U, __m256d __A) {
2095*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expand_pd
2096*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.pd.256
2097*67e74705SXin Li   return _mm256_mask_expand_pd(__W,__U,__A);
2098*67e74705SXin Li }
test_mm256_maskz_expand_pd(__mmask8 __U,__m256d __A)2099*67e74705SXin Li __m256d test_mm256_maskz_expand_pd(__mmask8 __U, __m256d __A) {
2100*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expand_pd
2101*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.pd.256
2102*67e74705SXin Li   return _mm256_maskz_expand_pd(__U,__A);
2103*67e74705SXin Li }
test_mm_mask_expand_epi64(__m128i __W,__mmask8 __U,__m128i __A)2104*67e74705SXin Li __m128i test_mm_mask_expand_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
2105*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expand_epi64
2106*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.q.128
2107*67e74705SXin Li   return _mm_mask_expand_epi64(__W,__U,__A);
2108*67e74705SXin Li }
test_mm_maskz_expand_epi64(__mmask8 __U,__m128i __A)2109*67e74705SXin Li __m128i test_mm_maskz_expand_epi64(__mmask8 __U, __m128i __A) {
2110*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expand_epi64
2111*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.q.128
2112*67e74705SXin Li   return _mm_maskz_expand_epi64(__U,__A);
2113*67e74705SXin Li }
test_mm256_mask_expand_epi64(__m256i __W,__mmask8 __U,__m256i __A)2114*67e74705SXin Li __m256i test_mm256_mask_expand_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
2115*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expand_epi64
2116*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.q.256
2117*67e74705SXin Li   return _mm256_mask_expand_epi64(__W,__U,__A);
2118*67e74705SXin Li }
test_mm256_maskz_expand_epi64(__mmask8 __U,__m256i __A)2119*67e74705SXin Li __m256i test_mm256_maskz_expand_epi64(__mmask8 __U, __m256i __A) {
2120*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expand_epi64
2121*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.q.256
2122*67e74705SXin Li   return _mm256_maskz_expand_epi64(__U,__A);
2123*67e74705SXin Li }
test_mm_mask_expandloadu_pd(__m128d __W,__mmask8 __U,void const * __P)2124*67e74705SXin Li __m128d test_mm_mask_expandloadu_pd(__m128d __W, __mmask8 __U, void const *__P) {
2125*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expandloadu_pd
2126*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.128
2127*67e74705SXin Li   return _mm_mask_expandloadu_pd(__W,__U,__P);
2128*67e74705SXin Li }
test_mm_maskz_expandloadu_pd(__mmask8 __U,void const * __P)2129*67e74705SXin Li __m128d test_mm_maskz_expandloadu_pd(__mmask8 __U, void const *__P) {
2130*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expandloadu_pd
2131*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.128
2132*67e74705SXin Li   return _mm_maskz_expandloadu_pd(__U,__P);
2133*67e74705SXin Li }
test_mm256_mask_expandloadu_pd(__m256d __W,__mmask8 __U,void const * __P)2134*67e74705SXin Li __m256d test_mm256_mask_expandloadu_pd(__m256d __W, __mmask8 __U, void const *__P) {
2135*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expandloadu_pd
2136*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.256
2137*67e74705SXin Li   return _mm256_mask_expandloadu_pd(__W,__U,__P);
2138*67e74705SXin Li }
test_mm256_maskz_expandloadu_pd(__mmask8 __U,void const * __P)2139*67e74705SXin Li __m256d test_mm256_maskz_expandloadu_pd(__mmask8 __U, void const *__P) {
2140*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expandloadu_pd
2141*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.256
2142*67e74705SXin Li   return _mm256_maskz_expandloadu_pd(__U,__P);
2143*67e74705SXin Li }
test_mm_mask_expandloadu_epi64(__m128i __W,__mmask8 __U,void const * __P)2144*67e74705SXin Li __m128i test_mm_mask_expandloadu_epi64(__m128i __W, __mmask8 __U, void const *__P) {
2145*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expandloadu_epi64
2146*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.q.128
2147*67e74705SXin Li   return _mm_mask_expandloadu_epi64(__W,__U,__P);
2148*67e74705SXin Li }
test_mm_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)2149*67e74705SXin Li __m128i test_mm_maskz_expandloadu_epi64(__mmask8 __U, void const *__P) {
2150*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expandloadu_epi64
2151*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.q.128
2152*67e74705SXin Li   return _mm_maskz_expandloadu_epi64(__U,__P);
2153*67e74705SXin Li }
test_mm256_mask_expandloadu_epi64(__m256i __W,__mmask8 __U,void const * __P)2154*67e74705SXin Li __m256i test_mm256_mask_expandloadu_epi64(__m256i __W, __mmask8 __U,   void const *__P) {
2155*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expandloadu_epi64
2156*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.q.256
2157*67e74705SXin Li   return _mm256_mask_expandloadu_epi64(__W,__U,__P);
2158*67e74705SXin Li }
test_mm256_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)2159*67e74705SXin Li __m256i test_mm256_maskz_expandloadu_epi64(__mmask8 __U, void const *__P) {
2160*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expandloadu_epi64
2161*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.q.256
2162*67e74705SXin Li   return _mm256_maskz_expandloadu_epi64(__U,__P);
2163*67e74705SXin Li }
test_mm_mask_expandloadu_ps(__m128 __W,__mmask8 __U,void const * __P)2164*67e74705SXin Li __m128 test_mm_mask_expandloadu_ps(__m128 __W, __mmask8 __U, void const *__P) {
2165*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expandloadu_ps
2166*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.128
2167*67e74705SXin Li   return _mm_mask_expandloadu_ps(__W,__U,__P);
2168*67e74705SXin Li }
test_mm_maskz_expandloadu_ps(__mmask8 __U,void const * __P)2169*67e74705SXin Li __m128 test_mm_maskz_expandloadu_ps(__mmask8 __U, void const *__P) {
2170*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expandloadu_ps
2171*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.128
2172*67e74705SXin Li   return _mm_maskz_expandloadu_ps(__U,__P);
2173*67e74705SXin Li }
test_mm256_mask_expandloadu_ps(__m256 __W,__mmask8 __U,void const * __P)2174*67e74705SXin Li __m256 test_mm256_mask_expandloadu_ps(__m256 __W, __mmask8 __U, void const *__P) {
2175*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expandloadu_ps
2176*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.256
2177*67e74705SXin Li   return _mm256_mask_expandloadu_ps(__W,__U,__P);
2178*67e74705SXin Li }
test_mm256_maskz_expandloadu_ps(__mmask8 __U,void const * __P)2179*67e74705SXin Li __m256 test_mm256_maskz_expandloadu_ps(__mmask8 __U, void const *__P) {
2180*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expandloadu_ps
2181*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.256
2182*67e74705SXin Li   return _mm256_maskz_expandloadu_ps(__U,__P);
2183*67e74705SXin Li }
test_mm_mask_expandloadu_epi32(__m128i __W,__mmask8 __U,void const * __P)2184*67e74705SXin Li __m128i test_mm_mask_expandloadu_epi32(__m128i __W, __mmask8 __U, void const *__P) {
2185*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expandloadu_epi32
2186*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.d.128
2187*67e74705SXin Li   return _mm_mask_expandloadu_epi32(__W,__U,__P);
2188*67e74705SXin Li }
test_mm_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)2189*67e74705SXin Li __m128i test_mm_maskz_expandloadu_epi32(__mmask8 __U, void const *__P) {
2190*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expandloadu_epi32
2191*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.d.128
2192*67e74705SXin Li   return _mm_maskz_expandloadu_epi32(__U,__P);
2193*67e74705SXin Li }
test_mm256_mask_expandloadu_epi32(__m256i __W,__mmask8 __U,void const * __P)2194*67e74705SXin Li __m256i test_mm256_mask_expandloadu_epi32(__m256i __W, __mmask8 __U,   void const *__P) {
2195*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expandloadu_epi32
2196*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.d.256
2197*67e74705SXin Li   return _mm256_mask_expandloadu_epi32(__W,__U,__P);
2198*67e74705SXin Li }
test_mm256_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)2199*67e74705SXin Li __m256i test_mm256_maskz_expandloadu_epi32(__mmask8 __U, void const *__P) {
2200*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expandloadu_epi32
2201*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.load.d.256
2202*67e74705SXin Li   return _mm256_maskz_expandloadu_epi32(__U,__P);
2203*67e74705SXin Li }
test_mm_mask_expand_ps(__m128 __W,__mmask8 __U,__m128 __A)2204*67e74705SXin Li __m128 test_mm_mask_expand_ps(__m128 __W, __mmask8 __U, __m128 __A) {
2205*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expand_ps
2206*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.ps.128
2207*67e74705SXin Li   return _mm_mask_expand_ps(__W,__U,__A);
2208*67e74705SXin Li }
test_mm_maskz_expand_ps(__mmask8 __U,__m128 __A)2209*67e74705SXin Li __m128 test_mm_maskz_expand_ps(__mmask8 __U, __m128 __A) {
2210*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expand_ps
2211*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.ps.128
2212*67e74705SXin Li   return _mm_maskz_expand_ps(__U,__A);
2213*67e74705SXin Li }
test_mm256_mask_expand_ps(__m256 __W,__mmask8 __U,__m256 __A)2214*67e74705SXin Li __m256 test_mm256_mask_expand_ps(__m256 __W, __mmask8 __U, __m256 __A) {
2215*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expand_ps
2216*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.ps.256
2217*67e74705SXin Li   return _mm256_mask_expand_ps(__W,__U,__A);
2218*67e74705SXin Li }
test_mm256_maskz_expand_ps(__mmask8 __U,__m256 __A)2219*67e74705SXin Li __m256 test_mm256_maskz_expand_ps(__mmask8 __U, __m256 __A) {
2220*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expand_ps
2221*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.ps.256
2222*67e74705SXin Li   return _mm256_maskz_expand_ps(__U,__A);
2223*67e74705SXin Li }
test_mm_mask_expand_epi32(__m128i __W,__mmask8 __U,__m128i __A)2224*67e74705SXin Li __m128i test_mm_mask_expand_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
2225*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_expand_epi32
2226*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.d.128
2227*67e74705SXin Li   return _mm_mask_expand_epi32(__W,__U,__A);
2228*67e74705SXin Li }
test_mm_maskz_expand_epi32(__mmask8 __U,__m128i __A)2229*67e74705SXin Li __m128i test_mm_maskz_expand_epi32(__mmask8 __U, __m128i __A) {
2230*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_expand_epi32
2231*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.d.128
2232*67e74705SXin Li   return _mm_maskz_expand_epi32(__U,__A);
2233*67e74705SXin Li }
test_mm256_mask_expand_epi32(__m256i __W,__mmask8 __U,__m256i __A)2234*67e74705SXin Li __m256i test_mm256_mask_expand_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
2235*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_expand_epi32
2236*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.d.256
2237*67e74705SXin Li   return _mm256_mask_expand_epi32(__W,__U,__A);
2238*67e74705SXin Li }
test_mm256_maskz_expand_epi32(__mmask8 __U,__m256i __A)2239*67e74705SXin Li __m256i test_mm256_maskz_expand_epi32(__mmask8 __U, __m256i __A) {
2240*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_expand_epi32
2241*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.expand.d.256
2242*67e74705SXin Li   return _mm256_maskz_expand_epi32(__U,__A);
2243*67e74705SXin Li }
test_mm_getexp_pd(__m128d __A)2244*67e74705SXin Li __m128d test_mm_getexp_pd(__m128d __A) {
2245*67e74705SXin Li   // CHECK-LABEL: @test_mm_getexp_pd
2246*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.pd.128
2247*67e74705SXin Li   return _mm_getexp_pd(__A);
2248*67e74705SXin Li }
test_mm_mask_getexp_pd(__m128d __W,__mmask8 __U,__m128d __A)2249*67e74705SXin Li __m128d test_mm_mask_getexp_pd(__m128d __W, __mmask8 __U, __m128d __A) {
2250*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_getexp_pd
2251*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.pd.128
2252*67e74705SXin Li   return _mm_mask_getexp_pd(__W,__U,__A);
2253*67e74705SXin Li }
test_mm_maskz_getexp_pd(__mmask8 __U,__m128d __A)2254*67e74705SXin Li __m128d test_mm_maskz_getexp_pd(__mmask8 __U, __m128d __A) {
2255*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_getexp_pd
2256*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.pd.128
2257*67e74705SXin Li   return _mm_maskz_getexp_pd(__U,__A);
2258*67e74705SXin Li }
test_mm256_getexp_pd(__m256d __A)2259*67e74705SXin Li __m256d test_mm256_getexp_pd(__m256d __A) {
2260*67e74705SXin Li   // CHECK-LABEL: @test_mm256_getexp_pd
2261*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.pd.256
2262*67e74705SXin Li   return _mm256_getexp_pd(__A);
2263*67e74705SXin Li }
test_mm256_mask_getexp_pd(__m256d __W,__mmask8 __U,__m256d __A)2264*67e74705SXin Li __m256d test_mm256_mask_getexp_pd(__m256d __W, __mmask8 __U, __m256d __A) {
2265*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_getexp_pd
2266*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.pd.256
2267*67e74705SXin Li   return _mm256_mask_getexp_pd(__W,__U,__A);
2268*67e74705SXin Li }
test_mm256_maskz_getexp_pd(__mmask8 __U,__m256d __A)2269*67e74705SXin Li __m256d test_mm256_maskz_getexp_pd(__mmask8 __U, __m256d __A) {
2270*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_getexp_pd
2271*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.pd.256
2272*67e74705SXin Li   return _mm256_maskz_getexp_pd(__U,__A);
2273*67e74705SXin Li }
test_mm_getexp_ps(__m128 __A)2274*67e74705SXin Li __m128 test_mm_getexp_ps(__m128 __A) {
2275*67e74705SXin Li   // CHECK-LABEL: @test_mm_getexp_ps
2276*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.ps.128
2277*67e74705SXin Li   return _mm_getexp_ps(__A);
2278*67e74705SXin Li }
test_mm_mask_getexp_ps(__m128 __W,__mmask8 __U,__m128 __A)2279*67e74705SXin Li __m128 test_mm_mask_getexp_ps(__m128 __W, __mmask8 __U, __m128 __A) {
2280*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_getexp_ps
2281*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.ps.128
2282*67e74705SXin Li   return _mm_mask_getexp_ps(__W,__U,__A);
2283*67e74705SXin Li }
test_mm_maskz_getexp_ps(__mmask8 __U,__m128 __A)2284*67e74705SXin Li __m128 test_mm_maskz_getexp_ps(__mmask8 __U, __m128 __A) {
2285*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_getexp_ps
2286*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.ps.128
2287*67e74705SXin Li   return _mm_maskz_getexp_ps(__U,__A);
2288*67e74705SXin Li }
test_mm256_getexp_ps(__m256 __A)2289*67e74705SXin Li __m256 test_mm256_getexp_ps(__m256 __A) {
2290*67e74705SXin Li   // CHECK-LABEL: @test_mm256_getexp_ps
2291*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.ps.256
2292*67e74705SXin Li   return _mm256_getexp_ps(__A);
2293*67e74705SXin Li }
test_mm256_mask_getexp_ps(__m256 __W,__mmask8 __U,__m256 __A)2294*67e74705SXin Li __m256 test_mm256_mask_getexp_ps(__m256 __W, __mmask8 __U, __m256 __A) {
2295*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_getexp_ps
2296*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.ps.256
2297*67e74705SXin Li   return _mm256_mask_getexp_ps(__W,__U,__A);
2298*67e74705SXin Li }
test_mm256_maskz_getexp_ps(__mmask8 __U,__m256 __A)2299*67e74705SXin Li __m256 test_mm256_maskz_getexp_ps(__mmask8 __U, __m256 __A) {
2300*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_getexp_ps
2301*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getexp.ps.256
2302*67e74705SXin Li   return _mm256_maskz_getexp_ps(__U,__A);
2303*67e74705SXin Li }
test_mm_mask_max_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)2304*67e74705SXin Li __m128d test_mm_mask_max_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2305*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_max_pd
2306*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.pd
2307*67e74705SXin Li   return _mm_mask_max_pd(__W,__U,__A,__B);
2308*67e74705SXin Li }
test_mm_maskz_max_pd(__mmask8 __U,__m128d __A,__m128d __B)2309*67e74705SXin Li __m128d test_mm_maskz_max_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2310*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_max_pd
2311*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.pd
2312*67e74705SXin Li   return _mm_maskz_max_pd(__U,__A,__B);
2313*67e74705SXin Li }
test_mm256_mask_max_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)2314*67e74705SXin Li __m256d test_mm256_mask_max_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2315*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_max_pd
2316*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.pd.256
2317*67e74705SXin Li   return _mm256_mask_max_pd(__W,__U,__A,__B);
2318*67e74705SXin Li }
test_mm256_maskz_max_pd(__mmask8 __U,__m256d __A,__m256d __B)2319*67e74705SXin Li __m256d test_mm256_maskz_max_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2320*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_max_pd
2321*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.pd.256
2322*67e74705SXin Li   return _mm256_maskz_max_pd(__U,__A,__B);
2323*67e74705SXin Li }
test_mm_mask_max_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)2324*67e74705SXin Li __m128 test_mm_mask_max_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2325*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_max_ps
2326*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.ps
2327*67e74705SXin Li   return _mm_mask_max_ps(__W,__U,__A,__B);
2328*67e74705SXin Li }
test_mm_maskz_max_ps(__mmask8 __U,__m128 __A,__m128 __B)2329*67e74705SXin Li __m128 test_mm_maskz_max_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2330*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_max_ps
2331*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.ps
2332*67e74705SXin Li   return _mm_maskz_max_ps(__U,__A,__B);
2333*67e74705SXin Li }
test_mm256_mask_max_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)2334*67e74705SXin Li __m256 test_mm256_mask_max_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2335*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_max_ps
2336*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.ps.256
2337*67e74705SXin Li   return _mm256_mask_max_ps(__W,__U,__A,__B);
2338*67e74705SXin Li }
test_mm256_maskz_max_ps(__mmask8 __U,__m256 __A,__m256 __B)2339*67e74705SXin Li __m256 test_mm256_maskz_max_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2340*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_max_ps
2341*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.max.ps.256
2342*67e74705SXin Li   return _mm256_maskz_max_ps(__U,__A,__B);
2343*67e74705SXin Li }
test_mm_mask_min_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)2344*67e74705SXin Li __m128d test_mm_mask_min_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2345*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_min_pd
2346*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.pd
2347*67e74705SXin Li   return _mm_mask_min_pd(__W,__U,__A,__B);
2348*67e74705SXin Li }
test_mm_maskz_min_pd(__mmask8 __U,__m128d __A,__m128d __B)2349*67e74705SXin Li __m128d test_mm_maskz_min_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2350*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_min_pd
2351*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.pd
2352*67e74705SXin Li   return _mm_maskz_min_pd(__U,__A,__B);
2353*67e74705SXin Li }
test_mm256_mask_min_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)2354*67e74705SXin Li __m256d test_mm256_mask_min_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2355*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_min_pd
2356*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.pd.256
2357*67e74705SXin Li   return _mm256_mask_min_pd(__W,__U,__A,__B);
2358*67e74705SXin Li }
test_mm256_maskz_min_pd(__mmask8 __U,__m256d __A,__m256d __B)2359*67e74705SXin Li __m256d test_mm256_maskz_min_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2360*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_min_pd
2361*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.pd.256
2362*67e74705SXin Li   return _mm256_maskz_min_pd(__U,__A,__B);
2363*67e74705SXin Li }
test_mm_mask_min_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)2364*67e74705SXin Li __m128 test_mm_mask_min_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2365*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_min_ps
2366*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.ps
2367*67e74705SXin Li   return _mm_mask_min_ps(__W,__U,__A,__B);
2368*67e74705SXin Li }
test_mm_maskz_min_ps(__mmask8 __U,__m128 __A,__m128 __B)2369*67e74705SXin Li __m128 test_mm_maskz_min_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2370*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_min_ps
2371*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.ps
2372*67e74705SXin Li   return _mm_maskz_min_ps(__U,__A,__B);
2373*67e74705SXin Li }
test_mm256_mask_min_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)2374*67e74705SXin Li __m256 test_mm256_mask_min_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2375*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_min_ps
2376*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.ps.256
2377*67e74705SXin Li   return _mm256_mask_min_ps(__W,__U,__A,__B);
2378*67e74705SXin Li }
test_mm256_maskz_min_ps(__mmask8 __U,__m256 __A,__m256 __B)2379*67e74705SXin Li __m256 test_mm256_maskz_min_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2380*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_min_ps
2381*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.min.ps.256
2382*67e74705SXin Li   return _mm256_maskz_min_ps(__U,__A,__B);
2383*67e74705SXin Li }
test_mm_mask_mul_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)2384*67e74705SXin Li __m128d test_mm_mask_mul_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2385*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_mul_pd
2386*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.pd
2387*67e74705SXin Li   return _mm_mask_mul_pd(__W,__U,__A,__B);
2388*67e74705SXin Li }
test_mm_maskz_mul_pd(__mmask8 __U,__m128d __A,__m128d __B)2389*67e74705SXin Li __m128d test_mm_maskz_mul_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2390*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_mul_pd
2391*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.pd
2392*67e74705SXin Li   return _mm_maskz_mul_pd(__U,__A,__B);
2393*67e74705SXin Li }
test_mm256_mask_mul_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)2394*67e74705SXin Li __m256d test_mm256_mask_mul_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2395*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_mul_pd
2396*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.pd.256
2397*67e74705SXin Li   return _mm256_mask_mul_pd(__W,__U,__A,__B);
2398*67e74705SXin Li }
test_mm256_maskz_mul_pd(__mmask8 __U,__m256d __A,__m256d __B)2399*67e74705SXin Li __m256d test_mm256_maskz_mul_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2400*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_mul_pd
2401*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.pd.256
2402*67e74705SXin Li   return _mm256_maskz_mul_pd(__U,__A,__B);
2403*67e74705SXin Li }
test_mm_mask_mul_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)2404*67e74705SXin Li __m128 test_mm_mask_mul_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2405*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_mul_ps
2406*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.ps
2407*67e74705SXin Li   return _mm_mask_mul_ps(__W,__U,__A,__B);
2408*67e74705SXin Li }
test_mm_maskz_mul_ps(__mmask8 __U,__m128 __A,__m128 __B)2409*67e74705SXin Li __m128 test_mm_maskz_mul_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2410*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_mul_ps
2411*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.ps
2412*67e74705SXin Li   return _mm_maskz_mul_ps(__U,__A,__B);
2413*67e74705SXin Li }
test_mm256_mask_mul_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)2414*67e74705SXin Li __m256 test_mm256_mask_mul_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2415*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_mul_ps
2416*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.ps.256
2417*67e74705SXin Li   return _mm256_mask_mul_ps(__W,__U,__A,__B);
2418*67e74705SXin Li }
test_mm256_maskz_mul_ps(__mmask8 __U,__m256 __A,__m256 __B)2419*67e74705SXin Li __m256 test_mm256_maskz_mul_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2420*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_mul_ps
2421*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.mul.ps.256
2422*67e74705SXin Li   return _mm256_maskz_mul_ps(__U,__A,__B);
2423*67e74705SXin Li }
test_mm_mask_abs_epi32(__m128i __W,__mmask8 __U,__m128i __A)2424*67e74705SXin Li __m128i test_mm_mask_abs_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
2425*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_abs_epi32
2426*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.d.128
2427*67e74705SXin Li   return _mm_mask_abs_epi32(__W,__U,__A);
2428*67e74705SXin Li }
test_mm_maskz_abs_epi32(__mmask8 __U,__m128i __A)2429*67e74705SXin Li __m128i test_mm_maskz_abs_epi32(__mmask8 __U, __m128i __A) {
2430*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_abs_epi32
2431*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.d.128
2432*67e74705SXin Li   return _mm_maskz_abs_epi32(__U,__A);
2433*67e74705SXin Li }
test_mm256_mask_abs_epi32(__m256i __W,__mmask8 __U,__m256i __A)2434*67e74705SXin Li __m256i test_mm256_mask_abs_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
2435*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_abs_epi32
2436*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.d.256
2437*67e74705SXin Li   return _mm256_mask_abs_epi32(__W,__U,__A);
2438*67e74705SXin Li }
test_mm256_maskz_abs_epi32(__mmask8 __U,__m256i __A)2439*67e74705SXin Li __m256i test_mm256_maskz_abs_epi32(__mmask8 __U, __m256i __A) {
2440*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_abs_epi32
2441*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.d.256
2442*67e74705SXin Li   return _mm256_maskz_abs_epi32(__U,__A);
2443*67e74705SXin Li }
test_mm_abs_epi64(__m128i __A)2444*67e74705SXin Li __m128i test_mm_abs_epi64(__m128i __A) {
2445*67e74705SXin Li   // CHECK-LABEL: @test_mm_abs_epi64
2446*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.q.128
2447*67e74705SXin Li   return _mm_abs_epi64(__A);
2448*67e74705SXin Li }
test_mm_mask_abs_epi64(__m128i __W,__mmask8 __U,__m128i __A)2449*67e74705SXin Li __m128i test_mm_mask_abs_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
2450*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_abs_epi64
2451*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.q.128
2452*67e74705SXin Li   return _mm_mask_abs_epi64(__W,__U,__A);
2453*67e74705SXin Li }
test_mm_maskz_abs_epi64(__mmask8 __U,__m128i __A)2454*67e74705SXin Li __m128i test_mm_maskz_abs_epi64(__mmask8 __U, __m128i __A) {
2455*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_abs_epi64
2456*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.q.128
2457*67e74705SXin Li   return _mm_maskz_abs_epi64(__U,__A);
2458*67e74705SXin Li }
test_mm256_abs_epi64(__m256i __A)2459*67e74705SXin Li __m256i test_mm256_abs_epi64(__m256i __A) {
2460*67e74705SXin Li   // CHECK-LABEL: @test_mm256_abs_epi64
2461*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.q.256
2462*67e74705SXin Li   return _mm256_abs_epi64(__A);
2463*67e74705SXin Li }
test_mm256_mask_abs_epi64(__m256i __W,__mmask8 __U,__m256i __A)2464*67e74705SXin Li __m256i test_mm256_mask_abs_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
2465*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_abs_epi64
2466*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.q.256
2467*67e74705SXin Li   return _mm256_mask_abs_epi64(__W,__U,__A);
2468*67e74705SXin Li }
test_mm256_maskz_abs_epi64(__mmask8 __U,__m256i __A)2469*67e74705SXin Li __m256i test_mm256_maskz_abs_epi64(__mmask8 __U, __m256i __A) {
2470*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_abs_epi64
2471*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pabs.q.256
2472*67e74705SXin Li   return _mm256_maskz_abs_epi64(__U,__A);
2473*67e74705SXin Li }
test_mm_maskz_max_epi32(__mmask8 __M,__m128i __A,__m128i __B)2474*67e74705SXin Li __m128i test_mm_maskz_max_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
2475*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_max_epi32
2476*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.128
2477*67e74705SXin Li   return _mm_maskz_max_epi32(__M,__A,__B);
2478*67e74705SXin Li }
test_mm_mask_max_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2479*67e74705SXin Li __m128i test_mm_mask_max_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2480*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_max_epi32
2481*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.128
2482*67e74705SXin Li   return _mm_mask_max_epi32(__W,__M,__A,__B);
2483*67e74705SXin Li }
test_mm256_maskz_max_epi32(__mmask8 __M,__m256i __A,__m256i __B)2484*67e74705SXin Li __m256i test_mm256_maskz_max_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
2485*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_max_epi32
2486*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.256
2487*67e74705SXin Li   return _mm256_maskz_max_epi32(__M,__A,__B);
2488*67e74705SXin Li }
test_mm256_mask_max_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2489*67e74705SXin Li __m256i test_mm256_mask_max_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2490*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_max_epi32
2491*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.256
2492*67e74705SXin Li   return _mm256_mask_max_epi32(__W,__M,__A,__B);
2493*67e74705SXin Li }
test_mm_maskz_max_epi64(__mmask8 __M,__m128i __A,__m128i __B)2494*67e74705SXin Li __m128i test_mm_maskz_max_epi64(__mmask8 __M, __m128i __A, __m128i __B) {
2495*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_max_epi64
2496*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.128
2497*67e74705SXin Li   return _mm_maskz_max_epi64(__M,__A,__B);
2498*67e74705SXin Li }
test_mm_mask_max_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2499*67e74705SXin Li __m128i test_mm_mask_max_epi64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2500*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_max_epi64
2501*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.128
2502*67e74705SXin Li   return _mm_mask_max_epi64(__W,__M,__A,__B);
2503*67e74705SXin Li }
test_mm_max_epi64(__m128i __A,__m128i __B)2504*67e74705SXin Li __m128i test_mm_max_epi64(__m128i __A, __m128i __B) {
2505*67e74705SXin Li   // CHECK-LABEL: @test_mm_max_epi64
2506*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.128
2507*67e74705SXin Li   return _mm_max_epi64(__A,__B);
2508*67e74705SXin Li }
test_mm256_maskz_max_epi64(__mmask8 __M,__m256i __A,__m256i __B)2509*67e74705SXin Li __m256i test_mm256_maskz_max_epi64(__mmask8 __M, __m256i __A, __m256i __B) {
2510*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_max_epi64
2511*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.256
2512*67e74705SXin Li   return _mm256_maskz_max_epi64(__M,__A,__B);
2513*67e74705SXin Li }
test_mm256_mask_max_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2514*67e74705SXin Li __m256i test_mm256_mask_max_epi64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2515*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_max_epi64
2516*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.256
2517*67e74705SXin Li   return _mm256_mask_max_epi64(__W,__M,__A,__B);
2518*67e74705SXin Li }
test_mm256_max_epi64(__m256i __A,__m256i __B)2519*67e74705SXin Li __m256i test_mm256_max_epi64(__m256i __A, __m256i __B) {
2520*67e74705SXin Li   // CHECK-LABEL: @test_mm256_max_epi64
2521*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.256
2522*67e74705SXin Li   return _mm256_max_epi64(__A,__B);
2523*67e74705SXin Li }
test_mm_maskz_max_epu32(__mmask8 __M,__m128i __A,__m128i __B)2524*67e74705SXin Li __m128i test_mm_maskz_max_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
2525*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_max_epu32
2526*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.128
2527*67e74705SXin Li   return _mm_maskz_max_epu32(__M,__A,__B);
2528*67e74705SXin Li }
test_mm_mask_max_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2529*67e74705SXin Li __m128i test_mm_mask_max_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2530*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_max_epu32
2531*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.128
2532*67e74705SXin Li   return _mm_mask_max_epu32(__W,__M,__A,__B);
2533*67e74705SXin Li }
test_mm256_maskz_max_epu32(__mmask8 __M,__m256i __A,__m256i __B)2534*67e74705SXin Li __m256i test_mm256_maskz_max_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
2535*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_max_epu32
2536*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.256
2537*67e74705SXin Li   return _mm256_maskz_max_epu32(__M,__A,__B);
2538*67e74705SXin Li }
test_mm256_mask_max_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2539*67e74705SXin Li __m256i test_mm256_mask_max_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2540*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_max_epu32
2541*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.256
2542*67e74705SXin Li   return _mm256_mask_max_epu32(__W,__M,__A,__B);
2543*67e74705SXin Li }
test_mm_maskz_max_epu64(__mmask8 __M,__m128i __A,__m128i __B)2544*67e74705SXin Li __m128i test_mm_maskz_max_epu64(__mmask8 __M, __m128i __A, __m128i __B) {
2545*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_max_epu64
2546*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.128
2547*67e74705SXin Li   return _mm_maskz_max_epu64(__M,__A,__B);
2548*67e74705SXin Li }
test_mm_max_epu64(__m128i __A,__m128i __B)2549*67e74705SXin Li __m128i test_mm_max_epu64(__m128i __A, __m128i __B) {
2550*67e74705SXin Li   // CHECK-LABEL: @test_mm_max_epu64
2551*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.128
2552*67e74705SXin Li   return _mm_max_epu64(__A,__B);
2553*67e74705SXin Li }
test_mm_mask_max_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2554*67e74705SXin Li __m128i test_mm_mask_max_epu64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2555*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_max_epu64
2556*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.128
2557*67e74705SXin Li   return _mm_mask_max_epu64(__W,__M,__A,__B);
2558*67e74705SXin Li }
test_mm256_maskz_max_epu64(__mmask8 __M,__m256i __A,__m256i __B)2559*67e74705SXin Li __m256i test_mm256_maskz_max_epu64(__mmask8 __M, __m256i __A, __m256i __B) {
2560*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_max_epu64
2561*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.256
2562*67e74705SXin Li   return _mm256_maskz_max_epu64(__M,__A,__B);
2563*67e74705SXin Li }
test_mm256_max_epu64(__m256i __A,__m256i __B)2564*67e74705SXin Li __m256i test_mm256_max_epu64(__m256i __A, __m256i __B) {
2565*67e74705SXin Li   // CHECK-LABEL: @test_mm256_max_epu64
2566*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.256
2567*67e74705SXin Li   return _mm256_max_epu64(__A,__B);
2568*67e74705SXin Li }
test_mm256_mask_max_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2569*67e74705SXin Li __m256i test_mm256_mask_max_epu64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2570*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_max_epu64
2571*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.256
2572*67e74705SXin Li   return _mm256_mask_max_epu64(__W,__M,__A,__B);
2573*67e74705SXin Li }
test_mm_maskz_min_epi32(__mmask8 __M,__m128i __A,__m128i __B)2574*67e74705SXin Li __m128i test_mm_maskz_min_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
2575*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_min_epi32
2576*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.d.128
2577*67e74705SXin Li   return _mm_maskz_min_epi32(__M,__A,__B);
2578*67e74705SXin Li }
test_mm_mask_min_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2579*67e74705SXin Li __m128i test_mm_mask_min_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2580*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_min_epi32
2581*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.d.128
2582*67e74705SXin Li   return _mm_mask_min_epi32(__W,__M,__A,__B);
2583*67e74705SXin Li }
test_mm256_maskz_min_epi32(__mmask8 __M,__m256i __A,__m256i __B)2584*67e74705SXin Li __m256i test_mm256_maskz_min_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
2585*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_min_epi32
2586*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.d.256
2587*67e74705SXin Li   return _mm256_maskz_min_epi32(__M,__A,__B);
2588*67e74705SXin Li }
test_mm256_mask_min_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2589*67e74705SXin Li __m256i test_mm256_mask_min_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2590*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_min_epi32
2591*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.d.256
2592*67e74705SXin Li   return _mm256_mask_min_epi32(__W,__M,__A,__B);
2593*67e74705SXin Li }
test_mm_min_epi64(__m128i __A,__m128i __B)2594*67e74705SXin Li __m128i test_mm_min_epi64(__m128i __A, __m128i __B) {
2595*67e74705SXin Li   // CHECK-LABEL: @test_mm_min_epi64
2596*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.q.128
2597*67e74705SXin Li   return _mm_min_epi64(__A,__B);
2598*67e74705SXin Li }
test_mm_mask_min_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2599*67e74705SXin Li __m128i test_mm_mask_min_epi64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2600*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_min_epi64
2601*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.q.128
2602*67e74705SXin Li   return _mm_mask_min_epi64(__W,__M,__A,__B);
2603*67e74705SXin Li }
test_mm_maskz_min_epi64(__mmask8 __M,__m128i __A,__m128i __B)2604*67e74705SXin Li __m128i test_mm_maskz_min_epi64(__mmask8 __M, __m128i __A, __m128i __B) {
2605*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_min_epi64
2606*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.q.128
2607*67e74705SXin Li   return _mm_maskz_min_epi64(__M,__A,__B);
2608*67e74705SXin Li }
test_mm256_min_epi64(__m256i __A,__m256i __B)2609*67e74705SXin Li __m256i test_mm256_min_epi64(__m256i __A, __m256i __B) {
2610*67e74705SXin Li   // CHECK-LABEL: @test_mm256_min_epi64
2611*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.q.256
2612*67e74705SXin Li   return _mm256_min_epi64(__A,__B);
2613*67e74705SXin Li }
test_mm256_mask_min_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2614*67e74705SXin Li __m256i test_mm256_mask_min_epi64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2615*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_min_epi64
2616*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.q.256
2617*67e74705SXin Li   return _mm256_mask_min_epi64(__W,__M,__A,__B);
2618*67e74705SXin Li }
test_mm256_maskz_min_epi64(__mmask8 __M,__m256i __A,__m256i __B)2619*67e74705SXin Li __m256i test_mm256_maskz_min_epi64(__mmask8 __M, __m256i __A, __m256i __B) {
2620*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_min_epi64
2621*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmins.q.256
2622*67e74705SXin Li   return _mm256_maskz_min_epi64(__M,__A,__B);
2623*67e74705SXin Li }
test_mm_maskz_min_epu32(__mmask8 __M,__m128i __A,__m128i __B)2624*67e74705SXin Li __m128i test_mm_maskz_min_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
2625*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_min_epu32
2626*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.d.128
2627*67e74705SXin Li   return _mm_maskz_min_epu32(__M,__A,__B);
2628*67e74705SXin Li }
test_mm_mask_min_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2629*67e74705SXin Li __m128i test_mm_mask_min_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2630*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_min_epu32
2631*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.d.128
2632*67e74705SXin Li   return _mm_mask_min_epu32(__W,__M,__A,__B);
2633*67e74705SXin Li }
test_mm256_maskz_min_epu32(__mmask8 __M,__m256i __A,__m256i __B)2634*67e74705SXin Li __m256i test_mm256_maskz_min_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
2635*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_min_epu32
2636*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.d.256
2637*67e74705SXin Li   return _mm256_maskz_min_epu32(__M,__A,__B);
2638*67e74705SXin Li }
test_mm256_mask_min_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2639*67e74705SXin Li __m256i test_mm256_mask_min_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2640*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_min_epu32
2641*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.d.256
2642*67e74705SXin Li   return _mm256_mask_min_epu32(__W,__M,__A,__B);
2643*67e74705SXin Li }
test_mm_min_epu64(__m128i __A,__m128i __B)2644*67e74705SXin Li __m128i test_mm_min_epu64(__m128i __A, __m128i __B) {
2645*67e74705SXin Li   // CHECK-LABEL: @test_mm_min_epu64
2646*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.q.128
2647*67e74705SXin Li   return _mm_min_epu64(__A,__B);
2648*67e74705SXin Li }
test_mm_mask_min_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)2649*67e74705SXin Li __m128i test_mm_mask_min_epu64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2650*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_min_epu64
2651*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.q.128
2652*67e74705SXin Li   return _mm_mask_min_epu64(__W,__M,__A,__B);
2653*67e74705SXin Li }
test_mm_maskz_min_epu64(__mmask8 __M,__m128i __A,__m128i __B)2654*67e74705SXin Li __m128i test_mm_maskz_min_epu64(__mmask8 __M, __m128i __A, __m128i __B) {
2655*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_min_epu64
2656*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.q.128
2657*67e74705SXin Li   return _mm_maskz_min_epu64(__M,__A,__B);
2658*67e74705SXin Li }
test_mm256_min_epu64(__m256i __A,__m256i __B)2659*67e74705SXin Li __m256i test_mm256_min_epu64(__m256i __A, __m256i __B) {
2660*67e74705SXin Li   // CHECK-LABEL: @test_mm256_min_epu64
2661*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.q.256
2662*67e74705SXin Li   return _mm256_min_epu64(__A,__B);
2663*67e74705SXin Li }
test_mm256_mask_min_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)2664*67e74705SXin Li __m256i test_mm256_mask_min_epu64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2665*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_min_epu64
2666*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.q.256
2667*67e74705SXin Li   return _mm256_mask_min_epu64(__W,__M,__A,__B);
2668*67e74705SXin Li }
test_mm256_maskz_min_epu64(__mmask8 __M,__m256i __A,__m256i __B)2669*67e74705SXin Li __m256i test_mm256_maskz_min_epu64(__mmask8 __M, __m256i __A, __m256i __B) {
2670*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_min_epu64
2671*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pminu.q.256
2672*67e74705SXin Li   return _mm256_maskz_min_epu64(__M,__A,__B);
2673*67e74705SXin Li }
test_mm_roundscale_pd(__m128d __A)2674*67e74705SXin Li __m128d test_mm_roundscale_pd(__m128d __A) {
2675*67e74705SXin Li   // CHECK-LABEL: @test_mm_roundscale_pd
2676*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.128
2677*67e74705SXin Li   return _mm_roundscale_pd(__A,4);
2678*67e74705SXin Li }
test_mm_mask_roundscale_pd(__m128d __W,__mmask8 __U,__m128d __A)2679*67e74705SXin Li __m128d test_mm_mask_roundscale_pd(__m128d __W, __mmask8 __U, __m128d __A) {
2680*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_roundscale_pd
2681*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.128
2682*67e74705SXin Li   return _mm_mask_roundscale_pd(__W,__U,__A,4);
2683*67e74705SXin Li }
test_mm_maskz_roundscale_pd(__mmask8 __U,__m128d __A)2684*67e74705SXin Li __m128d test_mm_maskz_roundscale_pd(__mmask8 __U, __m128d __A) {
2685*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_roundscale_pd
2686*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.128
2687*67e74705SXin Li   return _mm_maskz_roundscale_pd(__U,__A,4);
2688*67e74705SXin Li }
test_mm256_roundscale_pd(__m256d __A)2689*67e74705SXin Li __m256d test_mm256_roundscale_pd(__m256d __A) {
2690*67e74705SXin Li   // CHECK-LABEL: @test_mm256_roundscale_pd
2691*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.256
2692*67e74705SXin Li   return _mm256_roundscale_pd(__A,4);
2693*67e74705SXin Li }
test_mm256_mask_roundscale_pd(__m256d __W,__mmask8 __U,__m256d __A)2694*67e74705SXin Li __m256d test_mm256_mask_roundscale_pd(__m256d __W, __mmask8 __U, __m256d __A) {
2695*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_roundscale_pd
2696*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.256
2697*67e74705SXin Li   return _mm256_mask_roundscale_pd(__W,__U,__A,4);
2698*67e74705SXin Li }
test_mm256_maskz_roundscale_pd(__mmask8 __U,__m256d __A)2699*67e74705SXin Li __m256d test_mm256_maskz_roundscale_pd(__mmask8 __U, __m256d __A) {
2700*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_roundscale_pd
2701*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.256
2702*67e74705SXin Li   return _mm256_maskz_roundscale_pd(__U,__A,4);
2703*67e74705SXin Li }
test_mm_roundscale_ps(__m128 __A)2704*67e74705SXin Li __m128 test_mm_roundscale_ps(__m128 __A) {
2705*67e74705SXin Li   // CHECK-LABEL: @test_mm_roundscale_ps
2706*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.128
2707*67e74705SXin Li   return _mm_roundscale_ps(__A,4);
2708*67e74705SXin Li }
test_mm_mask_roundscale_ps(__m128 __W,__mmask8 __U,__m128 __A)2709*67e74705SXin Li __m128 test_mm_mask_roundscale_ps(__m128 __W, __mmask8 __U, __m128 __A) {
2710*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_roundscale_ps
2711*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.128
2712*67e74705SXin Li   return _mm_mask_roundscale_ps(__W,__U,__A,4);
2713*67e74705SXin Li }
test_mm_maskz_roundscale_ps(__mmask8 __U,__m128 __A)2714*67e74705SXin Li __m128 test_mm_maskz_roundscale_ps(__mmask8 __U, __m128 __A) {
2715*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_roundscale_ps
2716*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.128
2717*67e74705SXin Li   return _mm_maskz_roundscale_ps(__U,__A, 4);
2718*67e74705SXin Li }
test_mm256_roundscale_ps(__m256 __A)2719*67e74705SXin Li __m256 test_mm256_roundscale_ps(__m256 __A) {
2720*67e74705SXin Li   // CHECK-LABEL: @test_mm256_roundscale_ps
2721*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.256
2722*67e74705SXin Li   return _mm256_roundscale_ps(__A,4);
2723*67e74705SXin Li }
test_mm256_mask_roundscale_ps(__m256 __W,__mmask8 __U,__m256 __A)2724*67e74705SXin Li __m256 test_mm256_mask_roundscale_ps(__m256 __W, __mmask8 __U, __m256 __A) {
2725*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_roundscale_ps
2726*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.256
2727*67e74705SXin Li   return _mm256_mask_roundscale_ps(__W,__U,__A,4);
2728*67e74705SXin Li }
test_mm256_maskz_roundscale_ps(__mmask8 __U,__m256 __A)2729*67e74705SXin Li __m256 test_mm256_maskz_roundscale_ps(__mmask8 __U, __m256 __A) {
2730*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_roundscale_ps
2731*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.256
2732*67e74705SXin Li   return _mm256_maskz_roundscale_ps(__U,__A,4);
2733*67e74705SXin Li }
test_mm_scalef_pd(__m128d __A,__m128d __B)2734*67e74705SXin Li __m128d test_mm_scalef_pd(__m128d __A, __m128d __B) {
2735*67e74705SXin Li   // CHECK-LABEL: @test_mm_scalef_pd
2736*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.pd.128
2737*67e74705SXin Li   return _mm_scalef_pd(__A,__B);
2738*67e74705SXin Li }
test_mm_mask_scalef_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)2739*67e74705SXin Li __m128d test_mm_mask_scalef_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2740*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_scalef_pd
2741*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.pd.128
2742*67e74705SXin Li   return _mm_mask_scalef_pd(__W,__U,__A,__B);
2743*67e74705SXin Li }
test_mm_maskz_scalef_pd(__mmask8 __U,__m128d __A,__m128d __B)2744*67e74705SXin Li __m128d test_mm_maskz_scalef_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2745*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_scalef_pd
2746*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.pd.128
2747*67e74705SXin Li   return _mm_maskz_scalef_pd(__U,__A,__B);
2748*67e74705SXin Li }
test_mm256_scalef_pd(__m256d __A,__m256d __B)2749*67e74705SXin Li __m256d test_mm256_scalef_pd(__m256d __A, __m256d __B) {
2750*67e74705SXin Li   // CHECK-LABEL: @test_mm256_scalef_pd
2751*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.pd.256
2752*67e74705SXin Li   return _mm256_scalef_pd(__A,__B);
2753*67e74705SXin Li }
test_mm256_mask_scalef_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)2754*67e74705SXin Li __m256d test_mm256_mask_scalef_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2755*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_scalef_pd
2756*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.pd.256
2757*67e74705SXin Li   return _mm256_mask_scalef_pd(__W,__U,__A,__B);
2758*67e74705SXin Li }
test_mm256_maskz_scalef_pd(__mmask8 __U,__m256d __A,__m256d __B)2759*67e74705SXin Li __m256d test_mm256_maskz_scalef_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2760*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_scalef_pd
2761*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.pd.256
2762*67e74705SXin Li   return _mm256_maskz_scalef_pd(__U,__A,__B);
2763*67e74705SXin Li }
test_mm_scalef_ps(__m128 __A,__m128 __B)2764*67e74705SXin Li __m128 test_mm_scalef_ps(__m128 __A, __m128 __B) {
2765*67e74705SXin Li   // CHECK-LABEL: @test_mm_scalef_ps
2766*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.ps.128
2767*67e74705SXin Li   return _mm_scalef_ps(__A,__B);
2768*67e74705SXin Li }
test_mm_mask_scalef_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)2769*67e74705SXin Li __m128 test_mm_mask_scalef_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2770*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_scalef_ps
2771*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.ps.128
2772*67e74705SXin Li   return _mm_mask_scalef_ps(__W,__U,__A,__B);
2773*67e74705SXin Li }
test_mm_maskz_scalef_ps(__mmask8 __U,__m128 __A,__m128 __B)2774*67e74705SXin Li __m128 test_mm_maskz_scalef_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2775*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_scalef_ps
2776*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.ps.128
2777*67e74705SXin Li   return _mm_maskz_scalef_ps(__U,__A,__B);
2778*67e74705SXin Li }
test_mm256_scalef_ps(__m256 __A,__m256 __B)2779*67e74705SXin Li __m256 test_mm256_scalef_ps(__m256 __A, __m256 __B) {
2780*67e74705SXin Li   // CHECK-LABEL: @test_mm256_scalef_ps
2781*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.ps.256
2782*67e74705SXin Li   return _mm256_scalef_ps(__A,__B);
2783*67e74705SXin Li }
test_mm256_mask_scalef_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)2784*67e74705SXin Li __m256 test_mm256_mask_scalef_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2785*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_scalef_ps
2786*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.ps.256
2787*67e74705SXin Li   return _mm256_mask_scalef_ps(__W,__U,__A,__B);
2788*67e74705SXin Li }
test_mm256_maskz_scalef_ps(__mmask8 __U,__m256 __A,__m256 __B)2789*67e74705SXin Li __m256 test_mm256_maskz_scalef_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2790*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_scalef_ps
2791*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.scalef.ps.256
2792*67e74705SXin Li   return _mm256_maskz_scalef_ps(__U,__A,__B);
2793*67e74705SXin Li }
test_mm_i64scatter_pd(double * __addr,__m128i __index,__m128d __v1)2794*67e74705SXin Li void test_mm_i64scatter_pd(double *__addr, __m128i __index,  __m128d __v1) {
2795*67e74705SXin Li   // CHECK-LABEL: @test_mm_i64scatter_pd
2796*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv2.df
2797*67e74705SXin Li   return _mm_i64scatter_pd(__addr,__index,__v1,2);
2798*67e74705SXin Li }
test_mm_mask_i64scatter_pd(double * __addr,__mmask8 __mask,__m128i __index,__m128d __v1)2799*67e74705SXin Li void test_mm_mask_i64scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1) {
2800*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i64scatter_pd
2801*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv2.df
2802*67e74705SXin Li   return _mm_mask_i64scatter_pd(__addr,__mask,__index,__v1,2);
2803*67e74705SXin Li }
test_mm_i64scatter_epi64(long long * __addr,__m128i __index,__m128i __v1)2804*67e74705SXin Li void test_mm_i64scatter_epi64(long long *__addr, __m128i __index,  __m128i __v1) {
2805*67e74705SXin Li   // CHECK-LABEL: @test_mm_i64scatter_epi64
2806*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv2.di
2807*67e74705SXin Li   return _mm_i64scatter_epi64(__addr,__index,__v1,2);
2808*67e74705SXin Li }
test_mm_mask_i64scatter_epi64(long long * __addr,__mmask8 __mask,__m128i __index,__m128i __v1)2809*67e74705SXin Li void test_mm_mask_i64scatter_epi64(long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
2810*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i64scatter_epi64
2811*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv2.di
2812*67e74705SXin Li   return _mm_mask_i64scatter_epi64(__addr,__mask,__index,__v1,2);
2813*67e74705SXin Li }
test_mm256_i64scatter_pd(double * __addr,__m256i __index,__m256d __v1)2814*67e74705SXin Li void test_mm256_i64scatter_pd(double *__addr, __m256i __index,  __m256d __v1) {
2815*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i64scatter_pd
2816*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.df
2817*67e74705SXin Li   return _mm256_i64scatter_pd(__addr,__index,__v1,2);
2818*67e74705SXin Li }
test_mm256_mask_i64scatter_pd(double * __addr,__mmask8 __mask,__m256i __index,__m256d __v1)2819*67e74705SXin Li void test_mm256_mask_i64scatter_pd(double *__addr, __mmask8 __mask, __m256i __index, __m256d __v1) {
2820*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i64scatter_pd
2821*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.df
2822*67e74705SXin Li   return _mm256_mask_i64scatter_pd(__addr,__mask,__index,__v1,2);
2823*67e74705SXin Li }
test_mm256_i64scatter_epi64(long long * __addr,__m256i __index,__m256i __v1)2824*67e74705SXin Li void test_mm256_i64scatter_epi64(long long *__addr, __m256i __index,  __m256i __v1) {
2825*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i64scatter_epi64
2826*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.di
2827*67e74705SXin Li   return _mm256_i64scatter_epi64(__addr,__index,__v1,2);
2828*67e74705SXin Li }
test_mm256_mask_i64scatter_epi64(long long * __addr,__mmask8 __mask,__m256i __index,__m256i __v1)2829*67e74705SXin Li void test_mm256_mask_i64scatter_epi64(long long *__addr, __mmask8 __mask,  __m256i __index, __m256i __v1) {
2830*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i64scatter_epi64
2831*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.di
2832*67e74705SXin Li   return _mm256_mask_i64scatter_epi64(__addr,__mask,__index,__v1,2);
2833*67e74705SXin Li }
test_mm_i64scatter_ps(float * __addr,__m128i __index,__m128 __v1)2834*67e74705SXin Li void test_mm_i64scatter_ps(float *__addr, __m128i __index, __m128 __v1) {
2835*67e74705SXin Li   // CHECK-LABEL: @test_mm_i64scatter_ps
2836*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.sf
2837*67e74705SXin Li   return _mm_i64scatter_ps(__addr,__index,__v1,2);
2838*67e74705SXin Li }
test_mm_mask_i64scatter_ps(float * __addr,__mmask8 __mask,__m128i __index,__m128 __v1)2839*67e74705SXin Li void test_mm_mask_i64scatter_ps(float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1) {
2840*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i64scatter_ps
2841*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.sf
2842*67e74705SXin Li   return _mm_mask_i64scatter_ps(__addr,__mask,__index,__v1,2);
2843*67e74705SXin Li }
test_mm_i64scatter_epi32(int * __addr,__m128i __index,__m128i __v1)2844*67e74705SXin Li void test_mm_i64scatter_epi32(int *__addr, __m128i __index,  __m128i __v1) {
2845*67e74705SXin Li   // CHECK-LABEL: @test_mm_i64scatter_epi32
2846*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.si
2847*67e74705SXin Li   return _mm_i64scatter_epi32(__addr,__index,__v1,2);
2848*67e74705SXin Li }
test_mm_mask_i64scatter_epi32(int * __addr,__mmask8 __mask,__m128i __index,__m128i __v1)2849*67e74705SXin Li void test_mm_mask_i64scatter_epi32(int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
2850*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i64scatter_epi32
2851*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv4.si
2852*67e74705SXin Li   return _mm_mask_i64scatter_epi32(__addr,__mask,__index,__v1,2);
2853*67e74705SXin Li }
test_mm256_i64scatter_ps(float * __addr,__m256i __index,__m128 __v1)2854*67e74705SXin Li void test_mm256_i64scatter_ps(float *__addr, __m256i __index,  __m128 __v1) {
2855*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i64scatter_ps
2856*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv8.sf
2857*67e74705SXin Li   return _mm256_i64scatter_ps(__addr,__index,__v1,2);
2858*67e74705SXin Li }
test_mm256_mask_i64scatter_ps(float * __addr,__mmask8 __mask,__m256i __index,__m128 __v1)2859*67e74705SXin Li void test_mm256_mask_i64scatter_ps(float *__addr, __mmask8 __mask, __m256i __index, __m128 __v1) {
2860*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i64scatter_ps
2861*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv8.sf
2862*67e74705SXin Li   return _mm256_mask_i64scatter_ps(__addr,__mask,__index,__v1,2);
2863*67e74705SXin Li }
test_mm256_i64scatter_epi32(int * __addr,__m256i __index,__m128i __v1)2864*67e74705SXin Li void test_mm256_i64scatter_epi32(int *__addr, __m256i __index,  __m128i __v1) {
2865*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i64scatter_epi32
2866*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv8.si
2867*67e74705SXin Li   return _mm256_i64scatter_epi32(__addr,__index,__v1,2);
2868*67e74705SXin Li }
test_mm256_mask_i64scatter_epi32(int * __addr,__mmask8 __mask,__m256i __index,__m128i __v1)2869*67e74705SXin Li void test_mm256_mask_i64scatter_epi32(int *__addr, __mmask8 __mask,  __m256i __index, __m128i __v1) {
2870*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i64scatter_epi32
2871*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scatterdiv8.si
2872*67e74705SXin Li   return _mm256_mask_i64scatter_epi32(__addr,__mask,__index,__v1,2);
2873*67e74705SXin Li }
test_mm_i32scatter_pd(double * __addr,__m128i __index,__m128d __v1)2874*67e74705SXin Li void test_mm_i32scatter_pd(double *__addr, __m128i __index,  __m128d __v1) {
2875*67e74705SXin Li   // CHECK-LABEL: @test_mm_i32scatter_pd
2876*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv2.df
2877*67e74705SXin Li   return _mm_i32scatter_pd(__addr,__index,__v1,2);
2878*67e74705SXin Li }
test_mm_mask_i32scatter_pd(double * __addr,__mmask8 __mask,__m128i __index,__m128d __v1)2879*67e74705SXin Li void test_mm_mask_i32scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1) {
2880*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32scatter_pd
2881*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv2.df
2882*67e74705SXin Li   return _mm_mask_i32scatter_pd(__addr,__mask,__index,__v1,2);
2883*67e74705SXin Li }
test_mm_i32scatter_epi64(long long * __addr,__m128i __index,__m128i __v1)2884*67e74705SXin Li void test_mm_i32scatter_epi64(long long *__addr, __m128i __index,  __m128i __v1) {
2885*67e74705SXin Li   // CHECK-LABEL: @test_mm_i32scatter_epi64
2886*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv2.di
2887*67e74705SXin Li   return _mm_i32scatter_epi64(__addr,__index,__v1,2);
2888*67e74705SXin Li }
test_mm_mask_i32scatter_epi64(long long * __addr,__mmask8 __mask,__m128i __index,__m128i __v1)2889*67e74705SXin Li void test_mm_mask_i32scatter_epi64(long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
2890*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32scatter_epi64
2891*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv2.di
2892*67e74705SXin Li   return _mm_mask_i32scatter_epi64(__addr,__mask,__index,__v1,2);
2893*67e74705SXin Li }
test_mm256_i32scatter_pd(double * __addr,__m128i __index,__m256d __v1)2894*67e74705SXin Li void test_mm256_i32scatter_pd(double *__addr, __m128i __index,  __m256d __v1) {
2895*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i32scatter_pd
2896*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.df
2897*67e74705SXin Li   return _mm256_i32scatter_pd(__addr,__index,__v1,2);
2898*67e74705SXin Li }
test_mm256_mask_i32scatter_pd(double * __addr,__mmask8 __mask,__m128i __index,__m256d __v1)2899*67e74705SXin Li void test_mm256_mask_i32scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m256d __v1) {
2900*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32scatter_pd
2901*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.df
2902*67e74705SXin Li   return _mm256_mask_i32scatter_pd(__addr,__mask,__index,__v1,2);
2903*67e74705SXin Li }
test_mm256_i32scatter_epi64(long long * __addr,__m128i __index,__m256i __v1)2904*67e74705SXin Li void test_mm256_i32scatter_epi64(long long *__addr, __m128i __index,  __m256i __v1) {
2905*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i32scatter_epi64
2906*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.di
2907*67e74705SXin Li   return _mm256_i32scatter_epi64(__addr,__index,__v1,2);
2908*67e74705SXin Li }
test_mm256_mask_i32scatter_epi64(long long * __addr,__mmask8 __mask,__m128i __index,__m256i __v1)2909*67e74705SXin Li void test_mm256_mask_i32scatter_epi64(long long *__addr, __mmask8 __mask,  __m128i __index, __m256i __v1) {
2910*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32scatter_epi64
2911*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.di
2912*67e74705SXin Li   return _mm256_mask_i32scatter_epi64(__addr,__mask,__index,__v1,2);
2913*67e74705SXin Li }
test_mm_i32scatter_ps(float * __addr,__m128i __index,__m128 __v1)2914*67e74705SXin Li void test_mm_i32scatter_ps(float *__addr, __m128i __index, __m128 __v1) {
2915*67e74705SXin Li   // CHECK-LABEL: @test_mm_i32scatter_ps
2916*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.sf
2917*67e74705SXin Li   return _mm_i32scatter_ps(__addr,__index,__v1,2);
2918*67e74705SXin Li }
test_mm_mask_i32scatter_ps(float * __addr,__mmask8 __mask,__m128i __index,__m128 __v1)2919*67e74705SXin Li void test_mm_mask_i32scatter_ps(float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1) {
2920*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32scatter_ps
2921*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.sf
2922*67e74705SXin Li   return _mm_mask_i32scatter_ps(__addr,__mask,__index,__v1,2);
2923*67e74705SXin Li }
test_mm_i32scatter_epi32(int * __addr,__m128i __index,__m128i __v1)2924*67e74705SXin Li void test_mm_i32scatter_epi32(int *__addr, __m128i __index,  __m128i __v1) {
2925*67e74705SXin Li   // CHECK-LABEL: @test_mm_i32scatter_epi32
2926*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.si
2927*67e74705SXin Li   return _mm_i32scatter_epi32(__addr,__index,__v1,2);
2928*67e74705SXin Li }
test_mm_mask_i32scatter_epi32(int * __addr,__mmask8 __mask,__m128i __index,__m128i __v1)2929*67e74705SXin Li void test_mm_mask_i32scatter_epi32(int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
2930*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32scatter_epi32
2931*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv4.si
2932*67e74705SXin Li   return _mm_mask_i32scatter_epi32(__addr,__mask,__index,__v1,2);
2933*67e74705SXin Li }
test_mm256_i32scatter_ps(float * __addr,__m256i __index,__m256 __v1)2934*67e74705SXin Li void test_mm256_i32scatter_ps(float *__addr, __m256i __index,  __m256 __v1) {
2935*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i32scatter_ps
2936*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv8.sf
2937*67e74705SXin Li   return _mm256_i32scatter_ps(__addr,__index,__v1,2);
2938*67e74705SXin Li }
test_mm256_mask_i32scatter_ps(float * __addr,__mmask8 __mask,__m256i __index,__m256 __v1)2939*67e74705SXin Li void test_mm256_mask_i32scatter_ps(float *__addr, __mmask8 __mask, __m256i __index, __m256 __v1) {
2940*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32scatter_ps
2941*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv8.sf
2942*67e74705SXin Li   return _mm256_mask_i32scatter_ps(__addr,__mask,__index,__v1,2);
2943*67e74705SXin Li }
test_mm256_i32scatter_epi32(int * __addr,__m256i __index,__m256i __v1)2944*67e74705SXin Li void test_mm256_i32scatter_epi32(int *__addr, __m256i __index,  __m256i __v1) {
2945*67e74705SXin Li   // CHECK-LABEL: @test_mm256_i32scatter_epi32
2946*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv8.si
2947*67e74705SXin Li   return _mm256_i32scatter_epi32(__addr,__index,__v1,2);
2948*67e74705SXin Li }
test_mm256_mask_i32scatter_epi32(int * __addr,__mmask8 __mask,__m256i __index,__m256i __v1)2949*67e74705SXin Li void test_mm256_mask_i32scatter_epi32(int *__addr, __mmask8 __mask,  __m256i __index, __m256i __v1) {
2950*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32scatter_epi32
2951*67e74705SXin Li   // CHECK: @llvm.x86.avx512.scattersiv8.si
2952*67e74705SXin Li   return _mm256_mask_i32scatter_epi32(__addr,__mask,__index,__v1,2);
2953*67e74705SXin Li }
test_mm_mask_sqrt_pd(__m128d __W,__mmask8 __U,__m128d __A)2954*67e74705SXin Li __m128d test_mm_mask_sqrt_pd(__m128d __W, __mmask8 __U, __m128d __A) {
2955*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sqrt_pd
2956*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.128
2957*67e74705SXin Li   return _mm_mask_sqrt_pd(__W,__U,__A);
2958*67e74705SXin Li }
test_mm_maskz_sqrt_pd(__mmask8 __U,__m128d __A)2959*67e74705SXin Li __m128d test_mm_maskz_sqrt_pd(__mmask8 __U, __m128d __A) {
2960*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sqrt_pd
2961*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.128
2962*67e74705SXin Li   return _mm_maskz_sqrt_pd(__U,__A);
2963*67e74705SXin Li }
test_mm256_mask_sqrt_pd(__m256d __W,__mmask8 __U,__m256d __A)2964*67e74705SXin Li __m256d test_mm256_mask_sqrt_pd(__m256d __W, __mmask8 __U, __m256d __A) {
2965*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sqrt_pd
2966*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.256
2967*67e74705SXin Li   return _mm256_mask_sqrt_pd(__W,__U,__A);
2968*67e74705SXin Li }
test_mm256_maskz_sqrt_pd(__mmask8 __U,__m256d __A)2969*67e74705SXin Li __m256d test_mm256_maskz_sqrt_pd(__mmask8 __U, __m256d __A) {
2970*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sqrt_pd
2971*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.256
2972*67e74705SXin Li   return _mm256_maskz_sqrt_pd(__U,__A);
2973*67e74705SXin Li }
test_mm_mask_sqrt_ps(__m128 __W,__mmask8 __U,__m128 __A)2974*67e74705SXin Li __m128 test_mm_mask_sqrt_ps(__m128 __W, __mmask8 __U, __m128 __A) {
2975*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sqrt_ps
2976*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.128
2977*67e74705SXin Li   return _mm_mask_sqrt_ps(__W,__U,__A);
2978*67e74705SXin Li }
test_mm_maskz_sqrt_ps(__mmask8 __U,__m128 __A)2979*67e74705SXin Li __m128 test_mm_maskz_sqrt_ps(__mmask8 __U, __m128 __A) {
2980*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sqrt_ps
2981*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.128
2982*67e74705SXin Li   return _mm_maskz_sqrt_ps(__U,__A);
2983*67e74705SXin Li }
test_mm256_mask_sqrt_ps(__m256 __W,__mmask8 __U,__m256 __A)2984*67e74705SXin Li __m256 test_mm256_mask_sqrt_ps(__m256 __W, __mmask8 __U, __m256 __A) {
2985*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sqrt_ps
2986*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.256
2987*67e74705SXin Li   return _mm256_mask_sqrt_ps(__W,__U,__A);
2988*67e74705SXin Li }
test_mm256_maskz_sqrt_ps(__mmask8 __U,__m256 __A)2989*67e74705SXin Li __m256 test_mm256_maskz_sqrt_ps(__mmask8 __U, __m256 __A) {
2990*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sqrt_ps
2991*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.256
2992*67e74705SXin Li   return _mm256_maskz_sqrt_ps(__U,__A);
2993*67e74705SXin Li }
test_mm_mask_sub_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)2994*67e74705SXin Li __m128d test_mm_mask_sub_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2995*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sub_pd
2996*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.pd.128
2997*67e74705SXin Li   return _mm_mask_sub_pd(__W,__U,__A,__B);
2998*67e74705SXin Li }
test_mm_maskz_sub_pd(__mmask8 __U,__m128d __A,__m128d __B)2999*67e74705SXin Li __m128d test_mm_maskz_sub_pd(__mmask8 __U, __m128d __A, __m128d __B) {
3000*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sub_pd
3001*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.pd.128
3002*67e74705SXin Li   return _mm_maskz_sub_pd(__U,__A,__B);
3003*67e74705SXin Li }
test_mm256_mask_sub_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)3004*67e74705SXin Li __m256d test_mm256_mask_sub_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
3005*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sub_pd
3006*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.pd.256
3007*67e74705SXin Li   return _mm256_mask_sub_pd(__W,__U,__A,__B);
3008*67e74705SXin Li }
test_mm256_maskz_sub_pd(__mmask8 __U,__m256d __A,__m256d __B)3009*67e74705SXin Li __m256d test_mm256_maskz_sub_pd(__mmask8 __U, __m256d __A, __m256d __B) {
3010*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sub_pd
3011*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.pd.256
3012*67e74705SXin Li   return _mm256_maskz_sub_pd(__U,__A,__B);
3013*67e74705SXin Li }
test_mm_mask_sub_ps(__m128 __W,__mmask16 __U,__m128 __A,__m128 __B)3014*67e74705SXin Li __m128 test_mm_mask_sub_ps(__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
3015*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sub_ps
3016*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.ps.128
3017*67e74705SXin Li   return _mm_mask_sub_ps(__W,__U,__A,__B);
3018*67e74705SXin Li }
test_mm_maskz_sub_ps(__mmask16 __U,__m128 __A,__m128 __B)3019*67e74705SXin Li __m128 test_mm_maskz_sub_ps(__mmask16 __U, __m128 __A, __m128 __B) {
3020*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sub_ps
3021*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.ps.128
3022*67e74705SXin Li   return _mm_maskz_sub_ps(__U,__A,__B);
3023*67e74705SXin Li }
test_mm256_mask_sub_ps(__m256 __W,__mmask16 __U,__m256 __A,__m256 __B)3024*67e74705SXin Li __m256 test_mm256_mask_sub_ps(__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
3025*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sub_ps
3026*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.ps.256
3027*67e74705SXin Li   return _mm256_mask_sub_ps(__W,__U,__A,__B);
3028*67e74705SXin Li }
test_mm256_maskz_sub_ps(__mmask16 __U,__m256 __A,__m256 __B)3029*67e74705SXin Li __m256 test_mm256_maskz_sub_ps(__mmask16 __U, __m256 __A, __m256 __B) {
3030*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sub_ps
3031*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.sub.ps.256
3032*67e74705SXin Li   return _mm256_maskz_sub_ps(__U,__A,__B);
3033*67e74705SXin Li }
test_mm_mask2_permutex2var_epi32(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)3034*67e74705SXin Li __m128i test_mm_mask2_permutex2var_epi32(__m128i __A, __m128i __I, __mmask8 __U,  __m128i __B) {
3035*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask2_permutex2var_epi32
3036*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.d.128
3037*67e74705SXin Li   return _mm_mask2_permutex2var_epi32(__A,__I,__U,__B);
3038*67e74705SXin Li }
test_mm256_mask2_permutex2var_epi32(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)3039*67e74705SXin Li __m256i test_mm256_mask2_permutex2var_epi32(__m256i __A, __m256i __I, __mmask8 __U, __m256i __B) {
3040*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask2_permutex2var_epi32
3041*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.d.256
3042*67e74705SXin Li   return _mm256_mask2_permutex2var_epi32(__A,__I,__U,__B);
3043*67e74705SXin Li }
test_mm_mask2_permutex2var_pd(__m128d __A,__m128i __I,__mmask8 __U,__m128d __B)3044*67e74705SXin Li __m128d test_mm_mask2_permutex2var_pd(__m128d __A, __m128i __I, __mmask8 __U, __m128d __B) {
3045*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask2_permutex2var_pd
3046*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.pd.128
3047*67e74705SXin Li   return _mm_mask2_permutex2var_pd(__A,__I,__U,__B);
3048*67e74705SXin Li }
test_mm256_mask2_permutex2var_pd(__m256d __A,__m256i __I,__mmask8 __U,__m256d __B)3049*67e74705SXin Li __m256d test_mm256_mask2_permutex2var_pd(__m256d __A, __m256i __I, __mmask8 __U,  __m256d __B) {
3050*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask2_permutex2var_pd
3051*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.pd.256
3052*67e74705SXin Li   return _mm256_mask2_permutex2var_pd(__A,__I,__U,__B);
3053*67e74705SXin Li }
test_mm_mask2_permutex2var_ps(__m128 __A,__m128i __I,__mmask8 __U,__m128 __B)3054*67e74705SXin Li __m128 test_mm_mask2_permutex2var_ps(__m128 __A, __m128i __I, __mmask8 __U, __m128 __B) {
3055*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask2_permutex2var_ps
3056*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.ps.128
3057*67e74705SXin Li   return _mm_mask2_permutex2var_ps(__A,__I,__U,__B);
3058*67e74705SXin Li }
test_mm256_mask2_permutex2var_ps(__m256 __A,__m256i __I,__mmask8 __U,__m256 __B)3059*67e74705SXin Li __m256 test_mm256_mask2_permutex2var_ps(__m256 __A, __m256i __I, __mmask8 __U,  __m256 __B) {
3060*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask2_permutex2var_ps
3061*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.ps.256
3062*67e74705SXin Li   return _mm256_mask2_permutex2var_ps(__A,__I,__U,__B);
3063*67e74705SXin Li }
test_mm_mask2_permutex2var_epi64(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)3064*67e74705SXin Li __m128i test_mm_mask2_permutex2var_epi64(__m128i __A, __m128i __I, __mmask8 __U,  __m128i __B) {
3065*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask2_permutex2var_epi64
3066*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.q.128
3067*67e74705SXin Li   return _mm_mask2_permutex2var_epi64(__A,__I,__U,__B);
3068*67e74705SXin Li }
test_mm256_mask2_permutex2var_epi64(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)3069*67e74705SXin Li __m256i test_mm256_mask2_permutex2var_epi64(__m256i __A, __m256i __I, __mmask8 __U, __m256i __B) {
3070*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask2_permutex2var_epi64
3071*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermi2var.q.256
3072*67e74705SXin Li   return _mm256_mask2_permutex2var_epi64(__A,__I,__U,__B);
3073*67e74705SXin Li }
test_mm_permutex2var_epi32(__m128i __A,__m128i __I,__m128i __B)3074*67e74705SXin Li __m128i test_mm_permutex2var_epi32(__m128i __A, __m128i __I, __m128i __B) {
3075*67e74705SXin Li   // CHECK-LABEL: @test_mm_permutex2var_epi32
3076*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.128
3077*67e74705SXin Li   return _mm_permutex2var_epi32(__A,__I,__B);
3078*67e74705SXin Li }
test_mm_mask_permutex2var_epi32(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)3079*67e74705SXin Li __m128i test_mm_mask_permutex2var_epi32(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) {
3080*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permutex2var_epi32
3081*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.128
3082*67e74705SXin Li   return _mm_mask_permutex2var_epi32(__A,__U,__I,__B);
3083*67e74705SXin Li }
test_mm_maskz_permutex2var_epi32(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)3084*67e74705SXin Li __m128i test_mm_maskz_permutex2var_epi32(__mmask8 __U, __m128i __A, __m128i __I,  __m128i __B) {
3085*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permutex2var_epi32
3086*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.d.128
3087*67e74705SXin Li   return _mm_maskz_permutex2var_epi32(__U,__A,__I,__B);
3088*67e74705SXin Li }
test_mm256_permutex2var_epi32(__m256i __A,__m256i __I,__m256i __B)3089*67e74705SXin Li __m256i test_mm256_permutex2var_epi32(__m256i __A, __m256i __I, __m256i __B) {
3090*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutex2var_epi32
3091*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.256
3092*67e74705SXin Li   return _mm256_permutex2var_epi32(__A,__I,__B);
3093*67e74705SXin Li }
test_mm256_mask_permutex2var_epi32(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)3094*67e74705SXin Li __m256i test_mm256_mask_permutex2var_epi32(__m256i __A, __mmask8 __U, __m256i __I, __m256i __B) {
3095*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutex2var_epi32
3096*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.256
3097*67e74705SXin Li   return _mm256_mask_permutex2var_epi32(__A,__U,__I,__B);
3098*67e74705SXin Li }
test_mm256_maskz_permutex2var_epi32(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)3099*67e74705SXin Li __m256i test_mm256_maskz_permutex2var_epi32(__mmask8 __U, __m256i __A, __m256i __I, __m256i __B) {
3100*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutex2var_epi32
3101*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.d.256
3102*67e74705SXin Li   return _mm256_maskz_permutex2var_epi32(__U,__A,__I,__B);
3103*67e74705SXin Li }
test_mm_permutex2var_pd(__m128d __A,__m128i __I,__m128d __B)3104*67e74705SXin Li __m128d test_mm_permutex2var_pd(__m128d __A, __m128i __I, __m128d __B) {
3105*67e74705SXin Li   // CHECK-LABEL: @test_mm_permutex2var_pd
3106*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.128
3107*67e74705SXin Li   return _mm_permutex2var_pd(__A,__I,__B);
3108*67e74705SXin Li }
test_mm_mask_permutex2var_pd(__m128d __A,__mmask8 __U,__m128i __I,__m128d __B)3109*67e74705SXin Li __m128d test_mm_mask_permutex2var_pd(__m128d __A, __mmask8 __U, __m128i __I, __m128d __B) {
3110*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permutex2var_pd
3111*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.128
3112*67e74705SXin Li   return _mm_mask_permutex2var_pd(__A,__U,__I,__B);
3113*67e74705SXin Li }
test_mm_maskz_permutex2var_pd(__mmask8 __U,__m128d __A,__m128i __I,__m128d __B)3114*67e74705SXin Li __m128d test_mm_maskz_permutex2var_pd(__mmask8 __U, __m128d __A, __m128i __I, __m128d __B) {
3115*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permutex2var_pd
3116*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.pd.128
3117*67e74705SXin Li   return _mm_maskz_permutex2var_pd(__U,__A,__I,__B);
3118*67e74705SXin Li }
test_mm256_permutex2var_pd(__m256d __A,__m256i __I,__m256d __B)3119*67e74705SXin Li __m256d test_mm256_permutex2var_pd(__m256d __A, __m256i __I, __m256d __B) {
3120*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutex2var_pd
3121*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.256
3122*67e74705SXin Li   return _mm256_permutex2var_pd(__A,__I,__B);
3123*67e74705SXin Li }
test_mm256_mask_permutex2var_pd(__m256d __A,__mmask8 __U,__m256i __I,__m256d __B)3124*67e74705SXin Li __m256d test_mm256_mask_permutex2var_pd(__m256d __A, __mmask8 __U, __m256i __I, __m256d __B) {
3125*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutex2var_pd
3126*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.256
3127*67e74705SXin Li   return _mm256_mask_permutex2var_pd(__A,__U,__I,__B);
3128*67e74705SXin Li }
test_mm256_maskz_permutex2var_pd(__mmask8 __U,__m256d __A,__m256i __I,__m256d __B)3129*67e74705SXin Li __m256d test_mm256_maskz_permutex2var_pd(__mmask8 __U, __m256d __A, __m256i __I,  __m256d __B) {
3130*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutex2var_pd
3131*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.pd.256
3132*67e74705SXin Li   return _mm256_maskz_permutex2var_pd(__U,__A,__I,__B);
3133*67e74705SXin Li }
test_mm_permutex2var_ps(__m128 __A,__m128i __I,__m128 __B)3134*67e74705SXin Li __m128 test_mm_permutex2var_ps(__m128 __A, __m128i __I, __m128 __B) {
3135*67e74705SXin Li   // CHECK-LABEL: @test_mm_permutex2var_ps
3136*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.128
3137*67e74705SXin Li   return _mm_permutex2var_ps(__A,__I,__B);
3138*67e74705SXin Li }
test_mm_mask_permutex2var_ps(__m128 __A,__mmask8 __U,__m128i __I,__m128 __B)3139*67e74705SXin Li __m128 test_mm_mask_permutex2var_ps(__m128 __A, __mmask8 __U, __m128i __I, __m128 __B) {
3140*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permutex2var_ps
3141*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.128
3142*67e74705SXin Li   return _mm_mask_permutex2var_ps(__A,__U,__I,__B);
3143*67e74705SXin Li }
test_mm_maskz_permutex2var_ps(__mmask8 __U,__m128 __A,__m128i __I,__m128 __B)3144*67e74705SXin Li __m128 test_mm_maskz_permutex2var_ps(__mmask8 __U, __m128 __A, __m128i __I, __m128 __B) {
3145*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permutex2var_ps
3146*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.ps.128
3147*67e74705SXin Li   return _mm_maskz_permutex2var_ps(__U,__A,__I,__B);
3148*67e74705SXin Li }
test_mm256_permutex2var_ps(__m256 __A,__m256i __I,__m256 __B)3149*67e74705SXin Li __m256 test_mm256_permutex2var_ps(__m256 __A, __m256i __I, __m256 __B) {
3150*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutex2var_ps
3151*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.256
3152*67e74705SXin Li   return _mm256_permutex2var_ps(__A,__I,__B);
3153*67e74705SXin Li }
test_mm256_mask_permutex2var_ps(__m256 __A,__mmask8 __U,__m256i __I,__m256 __B)3154*67e74705SXin Li __m256 test_mm256_mask_permutex2var_ps(__m256 __A, __mmask8 __U, __m256i __I, __m256 __B) {
3155*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutex2var_ps
3156*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.256
3157*67e74705SXin Li   return _mm256_mask_permutex2var_ps(__A,__U,__I,__B);
3158*67e74705SXin Li }
test_mm256_maskz_permutex2var_ps(__mmask8 __U,__m256 __A,__m256i __I,__m256 __B)3159*67e74705SXin Li __m256 test_mm256_maskz_permutex2var_ps(__mmask8 __U, __m256 __A, __m256i __I, __m256 __B) {
3160*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutex2var_ps
3161*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.ps.256
3162*67e74705SXin Li   return _mm256_maskz_permutex2var_ps(__U,__A,__I,__B);
3163*67e74705SXin Li }
test_mm_permutex2var_epi64(__m128i __A,__m128i __I,__m128i __B)3164*67e74705SXin Li __m128i test_mm_permutex2var_epi64(__m128i __A, __m128i __I, __m128i __B) {
3165*67e74705SXin Li   // CHECK-LABEL: @test_mm_permutex2var_epi64
3166*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.128
3167*67e74705SXin Li   return _mm_permutex2var_epi64(__A,__I,__B);
3168*67e74705SXin Li }
test_mm_mask_permutex2var_epi64(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)3169*67e74705SXin Li __m128i test_mm_mask_permutex2var_epi64(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) {
3170*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permutex2var_epi64
3171*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.128
3172*67e74705SXin Li   return _mm_mask_permutex2var_epi64(__A,__U,__I,__B);
3173*67e74705SXin Li }
test_mm_maskz_permutex2var_epi64(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)3174*67e74705SXin Li __m128i test_mm_maskz_permutex2var_epi64(__mmask8 __U, __m128i __A, __m128i __I, __m128i __B) {
3175*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permutex2var_epi64
3176*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.q.128
3177*67e74705SXin Li   return _mm_maskz_permutex2var_epi64(__U,__A,__I,__B);
3178*67e74705SXin Li }
test_mm256_permutex2var_epi64(__m256i __A,__m256i __I,__m256i __B)3179*67e74705SXin Li __m256i test_mm256_permutex2var_epi64(__m256i __A, __m256i __I, __m256i __B) {
3180*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutex2var_epi64
3181*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.256
3182*67e74705SXin Li   return _mm256_permutex2var_epi64(__A,__I,__B);
3183*67e74705SXin Li }
test_mm256_mask_permutex2var_epi64(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)3184*67e74705SXin Li __m256i test_mm256_mask_permutex2var_epi64(__m256i __A, __mmask8 __U, __m256i __I, __m256i __B) {
3185*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutex2var_epi64
3186*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.256
3187*67e74705SXin Li   return _mm256_mask_permutex2var_epi64(__A,__U,__I,__B);
3188*67e74705SXin Li }
test_mm256_maskz_permutex2var_epi64(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)3189*67e74705SXin Li __m256i test_mm256_maskz_permutex2var_epi64(__mmask8 __U, __m256i __A, __m256i __I, __m256i __B) {
3190*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutex2var_epi64
3191*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.q.256
3192*67e74705SXin Li   return _mm256_maskz_permutex2var_epi64(__U,__A,__I,__B);
3193*67e74705SXin Li }
3194*67e74705SXin Li 
test_mm_mask_cvtepi8_epi32(__m128i __W,__mmask8 __U,__m128i __A)3195*67e74705SXin Li __m128i test_mm_mask_cvtepi8_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3196*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi8_epi32
3197*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.128
3198*67e74705SXin Li   return _mm_mask_cvtepi8_epi32(__W, __U, __A);
3199*67e74705SXin Li }
3200*67e74705SXin Li 
test_mm_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)3201*67e74705SXin Li __m128i test_mm_maskz_cvtepi8_epi32(__mmask8 __U, __m128i __A) {
3202*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi8_epi32
3203*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.128
3204*67e74705SXin Li   return _mm_maskz_cvtepi8_epi32(__U, __A);
3205*67e74705SXin Li }
3206*67e74705SXin Li 
test_mm256_mask_cvtepi8_epi32(__m256i __W,__mmask8 __U,__m128i __A)3207*67e74705SXin Li __m256i test_mm256_mask_cvtepi8_epi32(__m256i __W, __mmask8 __U, __m128i __A) {
3208*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi8_epi32
3209*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.256
3210*67e74705SXin Li   return _mm256_mask_cvtepi8_epi32(__W, __U, __A);
3211*67e74705SXin Li }
3212*67e74705SXin Li 
test_mm256_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)3213*67e74705SXin Li __m256i test_mm256_maskz_cvtepi8_epi32(__mmask8 __U, __m128i __A) {
3214*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi8_epi32
3215*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.256
3216*67e74705SXin Li   return _mm256_maskz_cvtepi8_epi32(__U, __A);
3217*67e74705SXin Li }
3218*67e74705SXin Li 
test_mm_mask_cvtepi8_epi64(__m128i __W,__mmask8 __U,__m128i __A)3219*67e74705SXin Li __m128i test_mm_mask_cvtepi8_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
3220*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi8_epi64
3221*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.128
3222*67e74705SXin Li   return _mm_mask_cvtepi8_epi64(__W, __U, __A);
3223*67e74705SXin Li }
3224*67e74705SXin Li 
test_mm_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)3225*67e74705SXin Li __m128i test_mm_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A) {
3226*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi8_epi64
3227*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.128
3228*67e74705SXin Li   return _mm_maskz_cvtepi8_epi64(__U, __A);
3229*67e74705SXin Li }
3230*67e74705SXin Li 
test_mm256_mask_cvtepi8_epi64(__m256i __W,__mmask8 __U,__m128i __A)3231*67e74705SXin Li __m256i test_mm256_mask_cvtepi8_epi64(__m256i __W, __mmask8 __U, __m128i __A) {
3232*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi8_epi64
3233*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.256
3234*67e74705SXin Li   return _mm256_mask_cvtepi8_epi64(__W, __U, __A);
3235*67e74705SXin Li }
3236*67e74705SXin Li 
test_mm256_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)3237*67e74705SXin Li __m256i test_mm256_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A) {
3238*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi8_epi64
3239*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.256
3240*67e74705SXin Li   return _mm256_maskz_cvtepi8_epi64(__U, __A);
3241*67e74705SXin Li }
3242*67e74705SXin Li 
test_mm_mask_cvtepi32_epi64(__m128i __W,__mmask8 __U,__m128i __X)3243*67e74705SXin Li __m128i test_mm_mask_cvtepi32_epi64(__m128i __W, __mmask8 __U, __m128i __X) {
3244*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi32_epi64
3245*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.128
3246*67e74705SXin Li   return _mm_mask_cvtepi32_epi64(__W, __U, __X);
3247*67e74705SXin Li }
3248*67e74705SXin Li 
test_mm_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)3249*67e74705SXin Li __m128i test_mm_maskz_cvtepi32_epi64(__mmask8 __U, __m128i __X) {
3250*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi32_epi64
3251*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.128
3252*67e74705SXin Li   return _mm_maskz_cvtepi32_epi64(__U, __X);
3253*67e74705SXin Li }
3254*67e74705SXin Li 
test_mm256_mask_cvtepi32_epi64(__m256i __W,__mmask8 __U,__m128i __X)3255*67e74705SXin Li __m256i test_mm256_mask_cvtepi32_epi64(__m256i __W, __mmask8 __U, __m128i __X) {
3256*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi32_epi64
3257*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.256
3258*67e74705SXin Li   return _mm256_mask_cvtepi32_epi64(__W, __U, __X);
3259*67e74705SXin Li }
3260*67e74705SXin Li 
test_mm256_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)3261*67e74705SXin Li __m256i test_mm256_maskz_cvtepi32_epi64(__mmask8 __U, __m128i __X) {
3262*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi32_epi64
3263*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.256
3264*67e74705SXin Li   return _mm256_maskz_cvtepi32_epi64(__U, __X);
3265*67e74705SXin Li }
3266*67e74705SXin Li 
test_mm_mask_cvtepi16_epi32(__m128i __W,__mmask8 __U,__m128i __A)3267*67e74705SXin Li __m128i test_mm_mask_cvtepi16_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3268*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi16_epi32
3269*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.128
3270*67e74705SXin Li   return _mm_mask_cvtepi16_epi32(__W, __U, __A);
3271*67e74705SXin Li }
3272*67e74705SXin Li 
test_mm_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)3273*67e74705SXin Li __m128i test_mm_maskz_cvtepi16_epi32(__mmask8 __U, __m128i __A) {
3274*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi16_epi32
3275*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.128
3276*67e74705SXin Li   return _mm_maskz_cvtepi16_epi32(__U, __A);
3277*67e74705SXin Li }
3278*67e74705SXin Li 
test_mm256_mask_cvtepi16_epi32(__m256i __W,__mmask8 __U,__m128i __A)3279*67e74705SXin Li __m256i test_mm256_mask_cvtepi16_epi32(__m256i __W, __mmask8 __U, __m128i __A) {
3280*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi16_epi32
3281*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.256
3282*67e74705SXin Li   return _mm256_mask_cvtepi16_epi32(__W, __U, __A);
3283*67e74705SXin Li }
3284*67e74705SXin Li 
test_mm256_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)3285*67e74705SXin Li __m256i test_mm256_maskz_cvtepi16_epi32(__mmask8 __U, __m128i __A) {
3286*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi16_epi32
3287*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.256
3288*67e74705SXin Li   return _mm256_maskz_cvtepi16_epi32(__U, __A);
3289*67e74705SXin Li }
3290*67e74705SXin Li 
test_mm_mask_cvtepi16_epi64(__m128i __W,__mmask8 __U,__m128i __A)3291*67e74705SXin Li __m128i test_mm_mask_cvtepi16_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
3292*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi16_epi64
3293*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.128
3294*67e74705SXin Li   return _mm_mask_cvtepi16_epi64(__W, __U, __A);
3295*67e74705SXin Li }
3296*67e74705SXin Li 
test_mm_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)3297*67e74705SXin Li __m128i test_mm_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A) {
3298*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi16_epi64
3299*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.128
3300*67e74705SXin Li   return _mm_maskz_cvtepi16_epi64(__U, __A);
3301*67e74705SXin Li }
3302*67e74705SXin Li 
test_mm256_mask_cvtepi16_epi64(__m256i __W,__mmask8 __U,__m128i __A)3303*67e74705SXin Li __m256i test_mm256_mask_cvtepi16_epi64(__m256i __W, __mmask8 __U, __m128i __A) {
3304*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi16_epi64
3305*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.256
3306*67e74705SXin Li   return _mm256_mask_cvtepi16_epi64(__W, __U, __A);
3307*67e74705SXin Li }
3308*67e74705SXin Li 
test_mm256_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)3309*67e74705SXin Li __m256i test_mm256_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A) {
3310*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi16_epi64
3311*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.256
3312*67e74705SXin Li   return _mm256_maskz_cvtepi16_epi64(__U, __A);
3313*67e74705SXin Li }
3314*67e74705SXin Li 
test_mm_mask_cvtepu8_epi32(__m128i __W,__mmask8 __U,__m128i __A)3315*67e74705SXin Li __m128i test_mm_mask_cvtepu8_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3316*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepu8_epi32
3317*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.128
3318*67e74705SXin Li   return _mm_mask_cvtepu8_epi32(__W, __U, __A);
3319*67e74705SXin Li }
3320*67e74705SXin Li 
test_mm_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)3321*67e74705SXin Li __m128i test_mm_maskz_cvtepu8_epi32(__mmask8 __U, __m128i __A) {
3322*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepu8_epi32
3323*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.128
3324*67e74705SXin Li   return _mm_maskz_cvtepu8_epi32(__U, __A);
3325*67e74705SXin Li }
3326*67e74705SXin Li 
test_mm256_mask_cvtepu8_epi32(__m256i __W,__mmask8 __U,__m128i __A)3327*67e74705SXin Li __m256i test_mm256_mask_cvtepu8_epi32(__m256i __W, __mmask8 __U, __m128i __A) {
3328*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepu8_epi32
3329*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.256
3330*67e74705SXin Li   return _mm256_mask_cvtepu8_epi32(__W, __U, __A);
3331*67e74705SXin Li }
3332*67e74705SXin Li 
test_mm256_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)3333*67e74705SXin Li __m256i test_mm256_maskz_cvtepu8_epi32(__mmask8 __U, __m128i __A) {
3334*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepu8_epi32
3335*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.d.256
3336*67e74705SXin Li   return _mm256_maskz_cvtepu8_epi32(__U, __A);
3337*67e74705SXin Li }
3338*67e74705SXin Li 
test_mm_mask_cvtepu8_epi64(__m128i __W,__mmask8 __U,__m128i __A)3339*67e74705SXin Li __m128i test_mm_mask_cvtepu8_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
3340*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepu8_epi64
3341*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.128
3342*67e74705SXin Li   return _mm_mask_cvtepu8_epi64(__W, __U, __A);
3343*67e74705SXin Li }
3344*67e74705SXin Li 
test_mm_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)3345*67e74705SXin Li __m128i test_mm_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A) {
3346*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepu8_epi64
3347*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.128
3348*67e74705SXin Li   return _mm_maskz_cvtepu8_epi64(__U, __A);
3349*67e74705SXin Li }
3350*67e74705SXin Li 
test_mm256_mask_cvtepu8_epi64(__m256i __W,__mmask8 __U,__m128i __A)3351*67e74705SXin Li __m256i test_mm256_mask_cvtepu8_epi64(__m256i __W, __mmask8 __U, __m128i __A) {
3352*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepu8_epi64
3353*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.256
3354*67e74705SXin Li   return _mm256_mask_cvtepu8_epi64(__W, __U, __A);
3355*67e74705SXin Li }
3356*67e74705SXin Li 
test_mm256_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)3357*67e74705SXin Li __m256i test_mm256_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A) {
3358*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepu8_epi64
3359*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxb.q.256
3360*67e74705SXin Li   return _mm256_maskz_cvtepu8_epi64(__U, __A);
3361*67e74705SXin Li }
3362*67e74705SXin Li 
test_mm_mask_cvtepu32_epi64(__m128i __W,__mmask8 __U,__m128i __X)3363*67e74705SXin Li __m128i test_mm_mask_cvtepu32_epi64(__m128i __W, __mmask8 __U, __m128i __X) {
3364*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepu32_epi64
3365*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.128
3366*67e74705SXin Li   return _mm_mask_cvtepu32_epi64(__W, __U, __X);
3367*67e74705SXin Li }
3368*67e74705SXin Li 
test_mm_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3369*67e74705SXin Li __m128i test_mm_maskz_cvtepu32_epi64(__mmask8 __U, __m128i __X) {
3370*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepu32_epi64
3371*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.128
3372*67e74705SXin Li   return _mm_maskz_cvtepu32_epi64(__U, __X);
3373*67e74705SXin Li }
3374*67e74705SXin Li 
test_mm256_mask_cvtepu32_epi64(__m256i __W,__mmask8 __U,__m128i __X)3375*67e74705SXin Li __m256i test_mm256_mask_cvtepu32_epi64(__m256i __W, __mmask8 __U, __m128i __X) {
3376*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepu32_epi64
3377*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.256
3378*67e74705SXin Li   return _mm256_mask_cvtepu32_epi64(__W, __U, __X);
3379*67e74705SXin Li }
3380*67e74705SXin Li 
test_mm256_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3381*67e74705SXin Li __m256i test_mm256_maskz_cvtepu32_epi64(__mmask8 __U, __m128i __X) {
3382*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepu32_epi64
3383*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxd.q.256
3384*67e74705SXin Li   return _mm256_maskz_cvtepu32_epi64(__U, __X);
3385*67e74705SXin Li }
3386*67e74705SXin Li 
test_mm_mask_cvtepu16_epi32(__m128i __W,__mmask8 __U,__m128i __A)3387*67e74705SXin Li __m128i test_mm_mask_cvtepu16_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3388*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepu16_epi32
3389*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.128
3390*67e74705SXin Li   return _mm_mask_cvtepu16_epi32(__W, __U, __A);
3391*67e74705SXin Li }
3392*67e74705SXin Li 
test_mm_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3393*67e74705SXin Li __m128i test_mm_maskz_cvtepu16_epi32(__mmask8 __U, __m128i __A) {
3394*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepu16_epi32
3395*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.128
3396*67e74705SXin Li   return _mm_maskz_cvtepu16_epi32(__U, __A);
3397*67e74705SXin Li }
3398*67e74705SXin Li 
test_mm256_mask_cvtepu16_epi32(__m256i __W,__mmask8 __U,__m128i __A)3399*67e74705SXin Li __m256i test_mm256_mask_cvtepu16_epi32(__m256i __W, __mmask8 __U, __m128i __A) {
3400*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepu16_epi32
3401*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.256
3402*67e74705SXin Li   return _mm256_mask_cvtepu16_epi32(__W, __U, __A);
3403*67e74705SXin Li }
3404*67e74705SXin Li 
test_mm256_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3405*67e74705SXin Li __m256i test_mm256_maskz_cvtepu16_epi32(__mmask8 __U, __m128i __A) {
3406*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepu16_epi32
3407*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.d.256
3408*67e74705SXin Li   return _mm256_maskz_cvtepu16_epi32(__U, __A);
3409*67e74705SXin Li }
3410*67e74705SXin Li 
test_mm_mask_cvtepu16_epi64(__m128i __W,__mmask8 __U,__m128i __A)3411*67e74705SXin Li __m128i test_mm_mask_cvtepu16_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
3412*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepu16_epi64
3413*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.128
3414*67e74705SXin Li   return _mm_mask_cvtepu16_epi64(__W, __U, __A);
3415*67e74705SXin Li }
3416*67e74705SXin Li 
test_mm_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3417*67e74705SXin Li __m128i test_mm_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A) {
3418*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepu16_epi64
3419*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.128
3420*67e74705SXin Li   return _mm_maskz_cvtepu16_epi64(__U, __A);
3421*67e74705SXin Li }
3422*67e74705SXin Li 
test_mm256_mask_cvtepu16_epi64(__m256i __W,__mmask8 __U,__m128i __A)3423*67e74705SXin Li __m256i test_mm256_mask_cvtepu16_epi64(__m256i __W, __mmask8 __U, __m128i __A) {
3424*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepu16_epi64
3425*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.256
3426*67e74705SXin Li   return _mm256_mask_cvtepu16_epi64(__W, __U, __A);
3427*67e74705SXin Li }
3428*67e74705SXin Li 
test_mm256_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3429*67e74705SXin Li __m256i test_mm256_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A) {
3430*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepu16_epi64
3431*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovzxw.q.256
3432*67e74705SXin Li   return _mm256_maskz_cvtepu16_epi64(__U, __A);
3433*67e74705SXin Li }
3434*67e74705SXin Li 
test_mm_rol_epi32(__m128i __A)3435*67e74705SXin Li __m128i test_mm_rol_epi32(__m128i __A) {
3436*67e74705SXin Li   // CHECK-LABEL: @test_mm_rol_epi32
3437*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.d.128
3438*67e74705SXin Li   return _mm_rol_epi32(__A, 5);
3439*67e74705SXin Li }
3440*67e74705SXin Li 
test_mm_mask_rol_epi32(__m128i __W,__mmask8 __U,__m128i __A)3441*67e74705SXin Li __m128i test_mm_mask_rol_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3442*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rol_epi32
3443*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.d.128
3444*67e74705SXin Li   return _mm_mask_rol_epi32(__W, __U, __A, 5);
3445*67e74705SXin Li }
3446*67e74705SXin Li 
test_mm_maskz_rol_epi32(__mmask8 __U,__m128i __A)3447*67e74705SXin Li __m128i test_mm_maskz_rol_epi32(__mmask8 __U, __m128i __A) {
3448*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rol_epi32
3449*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.d.128
3450*67e74705SXin Li   return _mm_maskz_rol_epi32(__U, __A, 5);
3451*67e74705SXin Li }
3452*67e74705SXin Li 
test_mm256_rol_epi32(__m256i __A)3453*67e74705SXin Li __m256i test_mm256_rol_epi32(__m256i __A) {
3454*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rol_epi32
3455*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.d.256
3456*67e74705SXin Li   return _mm256_rol_epi32(__A, 5);
3457*67e74705SXin Li }
3458*67e74705SXin Li 
test_mm256_mask_rol_epi32(__m256i __W,__mmask8 __U,__m256i __A)3459*67e74705SXin Li __m256i test_mm256_mask_rol_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
3460*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rol_epi32
3461*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.d.256
3462*67e74705SXin Li   return _mm256_mask_rol_epi32(__W, __U, __A, 5);
3463*67e74705SXin Li }
3464*67e74705SXin Li 
test_mm256_maskz_rol_epi32(__mmask8 __U,__m256i __A)3465*67e74705SXin Li __m256i test_mm256_maskz_rol_epi32(__mmask8 __U, __m256i __A) {
3466*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rol_epi32
3467*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.d.256
3468*67e74705SXin Li   return _mm256_maskz_rol_epi32(__U, __A, 5);
3469*67e74705SXin Li }
3470*67e74705SXin Li 
test_mm_rol_epi64(__m128i __A)3471*67e74705SXin Li __m128i test_mm_rol_epi64(__m128i __A) {
3472*67e74705SXin Li   // CHECK-LABEL: @test_mm_rol_epi64
3473*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.q.128
3474*67e74705SXin Li   return _mm_rol_epi64(__A, 5);
3475*67e74705SXin Li }
3476*67e74705SXin Li 
test_mm_mask_rol_epi64(__m128i __W,__mmask8 __U,__m128i __A)3477*67e74705SXin Li __m128i test_mm_mask_rol_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
3478*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rol_epi64
3479*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.q.128
3480*67e74705SXin Li   return _mm_mask_rol_epi64(__W, __U, __A, 5);
3481*67e74705SXin Li }
3482*67e74705SXin Li 
test_mm_maskz_rol_epi64(__mmask8 __U,__m128i __A)3483*67e74705SXin Li __m128i test_mm_maskz_rol_epi64(__mmask8 __U, __m128i __A) {
3484*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rol_epi64
3485*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.q.128
3486*67e74705SXin Li   return _mm_maskz_rol_epi64(__U, __A, 5);
3487*67e74705SXin Li }
3488*67e74705SXin Li 
test_mm256_rol_epi64(__m256i __A)3489*67e74705SXin Li __m256i test_mm256_rol_epi64(__m256i __A) {
3490*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rol_epi64
3491*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.q.256
3492*67e74705SXin Li   return _mm256_rol_epi64(__A, 5);
3493*67e74705SXin Li }
3494*67e74705SXin Li 
test_mm256_mask_rol_epi64(__m256i __W,__mmask8 __U,__m256i __A)3495*67e74705SXin Li __m256i test_mm256_mask_rol_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
3496*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rol_epi64
3497*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.q.256
3498*67e74705SXin Li   return _mm256_mask_rol_epi64(__W, __U, __A, 5);
3499*67e74705SXin Li }
3500*67e74705SXin Li 
test_mm256_maskz_rol_epi64(__mmask8 __U,__m256i __A)3501*67e74705SXin Li __m256i test_mm256_maskz_rol_epi64(__mmask8 __U, __m256i __A) {
3502*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rol_epi64
3503*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prol.q.256
3504*67e74705SXin Li   return _mm256_maskz_rol_epi64(__U, __A, 5);
3505*67e74705SXin Li }
3506*67e74705SXin Li 
test_mm_rolv_epi32(__m128i __A,__m128i __B)3507*67e74705SXin Li __m128i test_mm_rolv_epi32(__m128i __A, __m128i __B) {
3508*67e74705SXin Li   // CHECK-LABEL: @test_mm_rolv_epi32
3509*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.d.128
3510*67e74705SXin Li   return _mm_rolv_epi32(__A, __B);
3511*67e74705SXin Li }
3512*67e74705SXin Li 
test_mm_mask_rolv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3513*67e74705SXin Li __m128i test_mm_mask_rolv_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
3514*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rolv_epi32
3515*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.d.128
3516*67e74705SXin Li   return _mm_mask_rolv_epi32(__W, __U, __A, __B);
3517*67e74705SXin Li }
3518*67e74705SXin Li 
test_mm_maskz_rolv_epi32(__mmask8 __U,__m128i __A,__m128i __B)3519*67e74705SXin Li __m128i test_mm_maskz_rolv_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
3520*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rolv_epi32
3521*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.d.128
3522*67e74705SXin Li   return _mm_maskz_rolv_epi32(__U, __A, __B);
3523*67e74705SXin Li }
3524*67e74705SXin Li 
test_mm256_rolv_epi32(__m256i __A,__m256i __B)3525*67e74705SXin Li __m256i test_mm256_rolv_epi32(__m256i __A, __m256i __B) {
3526*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rolv_epi32
3527*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.d.256
3528*67e74705SXin Li   return _mm256_rolv_epi32(__A, __B);
3529*67e74705SXin Li }
3530*67e74705SXin Li 
test_mm256_mask_rolv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3531*67e74705SXin Li __m256i test_mm256_mask_rolv_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
3532*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rolv_epi32
3533*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.d.256
3534*67e74705SXin Li   return _mm256_mask_rolv_epi32(__W, __U, __A, __B);
3535*67e74705SXin Li }
3536*67e74705SXin Li 
test_mm256_maskz_rolv_epi32(__mmask8 __U,__m256i __A,__m256i __B)3537*67e74705SXin Li __m256i test_mm256_maskz_rolv_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
3538*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rolv_epi32
3539*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.d.256
3540*67e74705SXin Li   return _mm256_maskz_rolv_epi32(__U, __A, __B);
3541*67e74705SXin Li }
3542*67e74705SXin Li 
test_mm_rolv_epi64(__m128i __A,__m128i __B)3543*67e74705SXin Li __m128i test_mm_rolv_epi64(__m128i __A, __m128i __B) {
3544*67e74705SXin Li   // CHECK-LABEL: @test_mm_rolv_epi64
3545*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.q.128
3546*67e74705SXin Li   return _mm_rolv_epi64(__A, __B);
3547*67e74705SXin Li }
3548*67e74705SXin Li 
test_mm_mask_rolv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3549*67e74705SXin Li __m128i test_mm_mask_rolv_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
3550*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rolv_epi64
3551*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.q.128
3552*67e74705SXin Li   return _mm_mask_rolv_epi64(__W, __U, __A, __B);
3553*67e74705SXin Li }
3554*67e74705SXin Li 
test_mm_maskz_rolv_epi64(__mmask8 __U,__m128i __A,__m128i __B)3555*67e74705SXin Li __m128i test_mm_maskz_rolv_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
3556*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rolv_epi64
3557*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.q.128
3558*67e74705SXin Li   return _mm_maskz_rolv_epi64(__U, __A, __B);
3559*67e74705SXin Li }
3560*67e74705SXin Li 
test_mm256_rolv_epi64(__m256i __A,__m256i __B)3561*67e74705SXin Li __m256i test_mm256_rolv_epi64(__m256i __A, __m256i __B) {
3562*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rolv_epi64
3563*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.q.256
3564*67e74705SXin Li   return _mm256_rolv_epi64(__A, __B);
3565*67e74705SXin Li }
3566*67e74705SXin Li 
test_mm256_mask_rolv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3567*67e74705SXin Li __m256i test_mm256_mask_rolv_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
3568*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rolv_epi64
3569*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.q.256
3570*67e74705SXin Li   return _mm256_mask_rolv_epi64(__W, __U, __A, __B);
3571*67e74705SXin Li }
3572*67e74705SXin Li 
test_mm256_maskz_rolv_epi64(__mmask8 __U,__m256i __A,__m256i __B)3573*67e74705SXin Li __m256i test_mm256_maskz_rolv_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
3574*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rolv_epi64
3575*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prolv.q.256
3576*67e74705SXin Li   return _mm256_maskz_rolv_epi64(__U, __A, __B);
3577*67e74705SXin Li }
3578*67e74705SXin Li 
test_mm_ror_epi32(__m128i __A)3579*67e74705SXin Li __m128i test_mm_ror_epi32(__m128i __A) {
3580*67e74705SXin Li   // CHECK-LABEL: @test_mm_ror_epi32
3581*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.d.128
3582*67e74705SXin Li   return _mm_ror_epi32(__A, 5);
3583*67e74705SXin Li }
3584*67e74705SXin Li 
test_mm_mask_ror_epi32(__m128i __W,__mmask8 __U,__m128i __A)3585*67e74705SXin Li __m128i test_mm_mask_ror_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3586*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_ror_epi32
3587*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.d.128
3588*67e74705SXin Li   return _mm_mask_ror_epi32(__W, __U, __A, 5);
3589*67e74705SXin Li }
3590*67e74705SXin Li 
test_mm_maskz_ror_epi32(__mmask8 __U,__m128i __A)3591*67e74705SXin Li __m128i test_mm_maskz_ror_epi32(__mmask8 __U, __m128i __A) {
3592*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_ror_epi32
3593*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.d.128
3594*67e74705SXin Li   return _mm_maskz_ror_epi32(__U, __A, 5);
3595*67e74705SXin Li }
3596*67e74705SXin Li 
test_mm256_ror_epi32(__m256i __A)3597*67e74705SXin Li __m256i test_mm256_ror_epi32(__m256i __A) {
3598*67e74705SXin Li   // CHECK-LABEL: @test_mm256_ror_epi32
3599*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.d.256
3600*67e74705SXin Li   return _mm256_ror_epi32(__A, 5);
3601*67e74705SXin Li }
3602*67e74705SXin Li 
test_mm256_mask_ror_epi32(__m256i __W,__mmask8 __U,__m256i __A)3603*67e74705SXin Li __m256i test_mm256_mask_ror_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
3604*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_ror_epi32
3605*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.d.256
3606*67e74705SXin Li   return _mm256_mask_ror_epi32(__W, __U, __A, 5);
3607*67e74705SXin Li }
3608*67e74705SXin Li 
test_mm256_maskz_ror_epi32(__mmask8 __U,__m256i __A)3609*67e74705SXin Li __m256i test_mm256_maskz_ror_epi32(__mmask8 __U, __m256i __A) {
3610*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_ror_epi32
3611*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.d.256
3612*67e74705SXin Li   return _mm256_maskz_ror_epi32(__U, __A, 5);
3613*67e74705SXin Li }
3614*67e74705SXin Li 
test_mm_ror_epi64(__m128i __A)3615*67e74705SXin Li __m128i test_mm_ror_epi64(__m128i __A) {
3616*67e74705SXin Li   // CHECK-LABEL: @test_mm_ror_epi64
3617*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.q.128
3618*67e74705SXin Li   return _mm_ror_epi64(__A, 5);
3619*67e74705SXin Li }
3620*67e74705SXin Li 
test_mm_mask_ror_epi64(__m128i __W,__mmask8 __U,__m128i __A)3621*67e74705SXin Li __m128i test_mm_mask_ror_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
3622*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_ror_epi64
3623*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.q.128
3624*67e74705SXin Li   return _mm_mask_ror_epi64(__W, __U, __A, 5);
3625*67e74705SXin Li }
3626*67e74705SXin Li 
test_mm_maskz_ror_epi64(__mmask8 __U,__m128i __A)3627*67e74705SXin Li __m128i test_mm_maskz_ror_epi64(__mmask8 __U, __m128i __A) {
3628*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_ror_epi64
3629*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.q.128
3630*67e74705SXin Li   return _mm_maskz_ror_epi64(__U, __A, 5);
3631*67e74705SXin Li }
3632*67e74705SXin Li 
test_mm256_ror_epi64(__m256i __A)3633*67e74705SXin Li __m256i test_mm256_ror_epi64(__m256i __A) {
3634*67e74705SXin Li   // CHECK-LABEL: @test_mm256_ror_epi64
3635*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.q.256
3636*67e74705SXin Li   return _mm256_ror_epi64(__A, 5);
3637*67e74705SXin Li }
3638*67e74705SXin Li 
test_mm256_mask_ror_epi64(__m256i __W,__mmask8 __U,__m256i __A)3639*67e74705SXin Li __m256i test_mm256_mask_ror_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
3640*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_ror_epi64
3641*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.q.256
3642*67e74705SXin Li   return _mm256_mask_ror_epi64(__W, __U, __A,5);
3643*67e74705SXin Li }
3644*67e74705SXin Li 
test_mm256_maskz_ror_epi64(__mmask8 __U,__m256i __A)3645*67e74705SXin Li __m256i test_mm256_maskz_ror_epi64(__mmask8 __U, __m256i __A) {
3646*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_ror_epi64
3647*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pror.q.256
3648*67e74705SXin Li   return _mm256_maskz_ror_epi64(__U, __A, 5);
3649*67e74705SXin Li }
3650*67e74705SXin Li 
3651*67e74705SXin Li 
test_mm_rorv_epi32(__m128i __A,__m128i __B)3652*67e74705SXin Li __m128i test_mm_rorv_epi32(__m128i __A, __m128i __B) {
3653*67e74705SXin Li   // CHECK-LABEL: @test_mm_rorv_epi32
3654*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.d.128
3655*67e74705SXin Li   return _mm_rorv_epi32(__A, __B);
3656*67e74705SXin Li }
3657*67e74705SXin Li 
test_mm_mask_rorv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3658*67e74705SXin Li __m128i test_mm_mask_rorv_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
3659*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rorv_epi32
3660*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.d.128
3661*67e74705SXin Li   return _mm_mask_rorv_epi32(__W, __U, __A, __B);
3662*67e74705SXin Li }
3663*67e74705SXin Li 
test_mm_maskz_rorv_epi32(__mmask8 __U,__m128i __A,__m128i __B)3664*67e74705SXin Li __m128i test_mm_maskz_rorv_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
3665*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rorv_epi32
3666*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.d.128
3667*67e74705SXin Li   return _mm_maskz_rorv_epi32(__U, __A, __B);
3668*67e74705SXin Li }
3669*67e74705SXin Li 
test_mm256_rorv_epi32(__m256i __A,__m256i __B)3670*67e74705SXin Li __m256i test_mm256_rorv_epi32(__m256i __A, __m256i __B) {
3671*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rorv_epi32
3672*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.d.256
3673*67e74705SXin Li   return _mm256_rorv_epi32(__A, __B);
3674*67e74705SXin Li }
3675*67e74705SXin Li 
test_mm256_mask_rorv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3676*67e74705SXin Li __m256i test_mm256_mask_rorv_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
3677*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rorv_epi32
3678*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.d.256
3679*67e74705SXin Li   return _mm256_mask_rorv_epi32(__W, __U, __A, __B);
3680*67e74705SXin Li }
3681*67e74705SXin Li 
test_mm256_maskz_rorv_epi32(__mmask8 __U,__m256i __A,__m256i __B)3682*67e74705SXin Li __m256i test_mm256_maskz_rorv_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
3683*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rorv_epi32
3684*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.d.256
3685*67e74705SXin Li   return _mm256_maskz_rorv_epi32(__U, __A, __B);
3686*67e74705SXin Li }
3687*67e74705SXin Li 
test_mm_rorv_epi64(__m128i __A,__m128i __B)3688*67e74705SXin Li __m128i test_mm_rorv_epi64(__m128i __A, __m128i __B) {
3689*67e74705SXin Li   // CHECK-LABEL: @test_mm_rorv_epi64
3690*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.q.128
3691*67e74705SXin Li   return _mm_rorv_epi64(__A, __B);
3692*67e74705SXin Li }
3693*67e74705SXin Li 
test_mm_mask_rorv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3694*67e74705SXin Li __m128i test_mm_mask_rorv_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
3695*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rorv_epi64
3696*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.q.128
3697*67e74705SXin Li   return _mm_mask_rorv_epi64(__W, __U, __A, __B);
3698*67e74705SXin Li }
3699*67e74705SXin Li 
test_mm_maskz_rorv_epi64(__mmask8 __U,__m128i __A,__m128i __B)3700*67e74705SXin Li __m128i test_mm_maskz_rorv_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
3701*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rorv_epi64
3702*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.q.128
3703*67e74705SXin Li   return _mm_maskz_rorv_epi64(__U, __A, __B);
3704*67e74705SXin Li }
3705*67e74705SXin Li 
test_mm256_rorv_epi64(__m256i __A,__m256i __B)3706*67e74705SXin Li __m256i test_mm256_rorv_epi64(__m256i __A, __m256i __B) {
3707*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rorv_epi64
3708*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.q.256
3709*67e74705SXin Li   return _mm256_rorv_epi64(__A, __B);
3710*67e74705SXin Li }
3711*67e74705SXin Li 
test_mm256_mask_rorv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3712*67e74705SXin Li __m256i test_mm256_mask_rorv_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
3713*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rorv_epi64
3714*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.q.256
3715*67e74705SXin Li   return _mm256_mask_rorv_epi64(__W, __U, __A, __B);
3716*67e74705SXin Li }
3717*67e74705SXin Li 
test_mm256_maskz_rorv_epi64(__mmask8 __U,__m256i __A,__m256i __B)3718*67e74705SXin Li __m256i test_mm256_maskz_rorv_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
3719*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rorv_epi64
3720*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.prorv.q.256
3721*67e74705SXin Li   return _mm256_maskz_rorv_epi64(__U, __A, __B);
3722*67e74705SXin Li }
3723*67e74705SXin Li 
test_mm_mask_sllv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)3724*67e74705SXin Li __m128i test_mm_mask_sllv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
3725*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sllv_epi64
3726*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3727*67e74705SXin Li   return _mm_mask_sllv_epi64(__W, __U, __X, __Y);
3728*67e74705SXin Li }
3729*67e74705SXin Li 
test_mm_maskz_sllv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)3730*67e74705SXin Li __m128i test_mm_maskz_sllv_epi64(__mmask8 __U, __m128i __X, __m128i __Y) {
3731*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sllv_epi64
3732*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3733*67e74705SXin Li   return _mm_maskz_sllv_epi64(__U, __X, __Y);
3734*67e74705SXin Li }
3735*67e74705SXin Li 
test_mm256_mask_sllv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)3736*67e74705SXin Li __m256i test_mm256_mask_sllv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
3737*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sllv_epi64
3738*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3739*67e74705SXin Li   return _mm256_mask_sllv_epi64(__W, __U, __X, __Y);
3740*67e74705SXin Li }
3741*67e74705SXin Li 
test_mm256_maskz_sllv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)3742*67e74705SXin Li __m256i test_mm256_maskz_sllv_epi64(__mmask8 __U, __m256i __X, __m256i __Y) {
3743*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sllv_epi64
3744*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3745*67e74705SXin Li   return _mm256_maskz_sllv_epi64(__U, __X, __Y);
3746*67e74705SXin Li }
3747*67e74705SXin Li 
test_mm_mask_sllv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)3748*67e74705SXin Li __m128i test_mm_mask_sllv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
3749*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sllv_epi32
3750*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3751*67e74705SXin Li   return _mm_mask_sllv_epi32(__W, __U, __X, __Y);
3752*67e74705SXin Li }
3753*67e74705SXin Li 
test_mm_maskz_sllv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)3754*67e74705SXin Li __m128i test_mm_maskz_sllv_epi32(__mmask8 __U, __m128i __X, __m128i __Y) {
3755*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sllv_epi32
3756*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3757*67e74705SXin Li   return _mm_maskz_sllv_epi32(__U, __X, __Y);
3758*67e74705SXin Li }
3759*67e74705SXin Li 
test_mm256_mask_sllv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)3760*67e74705SXin Li __m256i test_mm256_mask_sllv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
3761*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sllv_epi32
3762*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3763*67e74705SXin Li   return _mm256_mask_sllv_epi32(__W, __U, __X, __Y);
3764*67e74705SXin Li }
3765*67e74705SXin Li 
test_mm256_maskz_sllv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)3766*67e74705SXin Li __m256i test_mm256_maskz_sllv_epi32(__mmask8 __U, __m256i __X, __m256i __Y) {
3767*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sllv_epi32
3768*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psllv
3769*67e74705SXin Li   return _mm256_maskz_sllv_epi32(__U, __X, __Y);
3770*67e74705SXin Li }
3771*67e74705SXin Li 
test_mm_mask_srlv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)3772*67e74705SXin Li __m128i test_mm_mask_srlv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
3773*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srlv_epi64
3774*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3775*67e74705SXin Li   return _mm_mask_srlv_epi64(__W, __U, __X, __Y);
3776*67e74705SXin Li }
3777*67e74705SXin Li 
test_mm_maskz_srlv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)3778*67e74705SXin Li __m128i test_mm_maskz_srlv_epi64(__mmask8 __U, __m128i __X, __m128i __Y) {
3779*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srlv_epi64
3780*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3781*67e74705SXin Li   return _mm_maskz_srlv_epi64(__U, __X, __Y);
3782*67e74705SXin Li }
3783*67e74705SXin Li 
test_mm256_mask_srlv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)3784*67e74705SXin Li __m256i test_mm256_mask_srlv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
3785*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srlv_epi64
3786*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3787*67e74705SXin Li   return _mm256_mask_srlv_epi64(__W, __U, __X, __Y);
3788*67e74705SXin Li }
3789*67e74705SXin Li 
test_mm256_maskz_srlv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)3790*67e74705SXin Li __m256i test_mm256_maskz_srlv_epi64(__mmask8 __U, __m256i __X, __m256i __Y) {
3791*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srlv_epi64
3792*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3793*67e74705SXin Li   return _mm256_maskz_srlv_epi64(__U, __X, __Y);
3794*67e74705SXin Li }
3795*67e74705SXin Li 
test_mm_mask_srlv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)3796*67e74705SXin Li __m128i test_mm_mask_srlv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
3797*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srlv_epi32
3798*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3799*67e74705SXin Li   return _mm_mask_srlv_epi32(__W, __U, __X, __Y);
3800*67e74705SXin Li }
3801*67e74705SXin Li 
test_mm_maskz_srlv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)3802*67e74705SXin Li __m128i test_mm_maskz_srlv_epi32(__mmask8 __U, __m128i __X, __m128i __Y) {
3803*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srlv_epi32
3804*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3805*67e74705SXin Li   return _mm_maskz_srlv_epi32(__U, __X, __Y);
3806*67e74705SXin Li }
3807*67e74705SXin Li 
test_mm256_mask_srlv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)3808*67e74705SXin Li __m256i test_mm256_mask_srlv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
3809*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srlv_epi32
3810*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3811*67e74705SXin Li   return _mm256_mask_srlv_epi32(__W, __U, __X, __Y);
3812*67e74705SXin Li }
3813*67e74705SXin Li 
test_mm256_maskz_srlv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)3814*67e74705SXin Li __m256i test_mm256_maskz_srlv_epi32(__mmask8 __U, __m256i __X, __m256i __Y) {
3815*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srlv_epi32
3816*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrlv
3817*67e74705SXin Li   return _mm256_maskz_srlv_epi32(__U, __X, __Y);
3818*67e74705SXin Li }
3819*67e74705SXin Li 
test_mm_mask_srl_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3820*67e74705SXin Li __m128i test_mm_mask_srl_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
3821*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srl_epi32
3822*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.d.128
3823*67e74705SXin Li   return _mm_mask_srl_epi32(__W, __U, __A, __B);
3824*67e74705SXin Li }
3825*67e74705SXin Li 
test_mm_maskz_srl_epi32(__mmask8 __U,__m128i __A,__m128i __B)3826*67e74705SXin Li __m128i test_mm_maskz_srl_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
3827*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srl_epi32
3828*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.d.128
3829*67e74705SXin Li   return _mm_maskz_srl_epi32(__U, __A, __B);
3830*67e74705SXin Li }
3831*67e74705SXin Li 
test_mm256_mask_srl_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3832*67e74705SXin Li __m256i test_mm256_mask_srl_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
3833*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srl_epi32
3834*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.d.256
3835*67e74705SXin Li   return _mm256_mask_srl_epi32(__W, __U, __A, __B);
3836*67e74705SXin Li }
3837*67e74705SXin Li 
test_mm256_maskz_srl_epi32(__mmask8 __U,__m256i __A,__m128i __B)3838*67e74705SXin Li __m256i test_mm256_maskz_srl_epi32(__mmask8 __U, __m256i __A, __m128i __B) {
3839*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srl_epi32
3840*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.d.256
3841*67e74705SXin Li   return _mm256_maskz_srl_epi32(__U, __A, __B);
3842*67e74705SXin Li }
3843*67e74705SXin Li 
test_mm_mask_srli_epi32(__m128i __W,__mmask8 __U,__m128i __A)3844*67e74705SXin Li __m128i test_mm_mask_srli_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3845*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srli_epi32
3846*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.di.128
3847*67e74705SXin Li   return _mm_mask_srli_epi32(__W, __U, __A, 5);
3848*67e74705SXin Li }
3849*67e74705SXin Li 
test_mm_maskz_srli_epi32(__mmask8 __U,__m128i __A)3850*67e74705SXin Li __m128i test_mm_maskz_srli_epi32(__mmask8 __U, __m128i __A) {
3851*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srli_epi32
3852*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.di.128
3853*67e74705SXin Li   return _mm_maskz_srli_epi32(__U, __A, 5);
3854*67e74705SXin Li }
3855*67e74705SXin Li 
test_mm256_mask_srli_epi32(__m256i __W,__mmask8 __U,__m256i __A)3856*67e74705SXin Li __m256i test_mm256_mask_srli_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
3857*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srli_epi32
3858*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.di.256
3859*67e74705SXin Li   return _mm256_mask_srli_epi32(__W, __U, __A, 5);
3860*67e74705SXin Li }
3861*67e74705SXin Li 
test_mm256_maskz_srli_epi32(__mmask8 __U,__m256i __A)3862*67e74705SXin Li __m256i test_mm256_maskz_srli_epi32(__mmask8 __U, __m256i __A) {
3863*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srli_epi32
3864*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.di.256
3865*67e74705SXin Li   return _mm256_maskz_srli_epi32(__U, __A, 5);
3866*67e74705SXin Li }
3867*67e74705SXin Li 
test_mm_mask_srl_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3868*67e74705SXin Li __m128i test_mm_mask_srl_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
3869*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srl_epi64
3870*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.q.128
3871*67e74705SXin Li   return _mm_mask_srl_epi64(__W, __U, __A, __B);
3872*67e74705SXin Li }
3873*67e74705SXin Li 
test_mm_maskz_srl_epi64(__mmask8 __U,__m128i __A,__m128i __B)3874*67e74705SXin Li __m128i test_mm_maskz_srl_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
3875*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srl_epi64
3876*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.q.128
3877*67e74705SXin Li   return _mm_maskz_srl_epi64(__U, __A, __B);
3878*67e74705SXin Li }
3879*67e74705SXin Li 
test_mm256_mask_srl_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3880*67e74705SXin Li __m256i test_mm256_mask_srl_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
3881*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srl_epi64
3882*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.q.256
3883*67e74705SXin Li   return _mm256_mask_srl_epi64(__W, __U, __A, __B);
3884*67e74705SXin Li }
3885*67e74705SXin Li 
test_mm256_maskz_srl_epi64(__mmask8 __U,__m256i __A,__m128i __B)3886*67e74705SXin Li __m256i test_mm256_maskz_srl_epi64(__mmask8 __U, __m256i __A, __m128i __B) {
3887*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srl_epi64
3888*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.q.256
3889*67e74705SXin Li   return _mm256_maskz_srl_epi64(__U, __A, __B);
3890*67e74705SXin Li }
3891*67e74705SXin Li 
test_mm_mask_srli_epi64(__m128i __W,__mmask8 __U,__m128i __A)3892*67e74705SXin Li __m128i test_mm_mask_srli_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
3893*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srli_epi64
3894*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.qi.128
3895*67e74705SXin Li   return _mm_mask_srli_epi64(__W, __U, __A, 5);
3896*67e74705SXin Li }
3897*67e74705SXin Li 
test_mm_maskz_srli_epi64(__mmask8 __U,__m128i __A)3898*67e74705SXin Li __m128i test_mm_maskz_srli_epi64(__mmask8 __U, __m128i __A) {
3899*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srli_epi64
3900*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.qi.128
3901*67e74705SXin Li   return _mm_maskz_srli_epi64(__U, __A, 5);
3902*67e74705SXin Li }
3903*67e74705SXin Li 
test_mm256_mask_srli_epi64(__m256i __W,__mmask8 __U,__m256i __A)3904*67e74705SXin Li __m256i test_mm256_mask_srli_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
3905*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srli_epi64
3906*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.qi.256
3907*67e74705SXin Li   return _mm256_mask_srli_epi64(__W, __U, __A, 5);
3908*67e74705SXin Li }
3909*67e74705SXin Li 
test_mm256_maskz_srli_epi64(__mmask8 __U,__m256i __A)3910*67e74705SXin Li __m256i test_mm256_maskz_srli_epi64(__mmask8 __U, __m256i __A) {
3911*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srli_epi64
3912*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrl.qi.256
3913*67e74705SXin Li   return _mm256_maskz_srli_epi64(__U, __A, 5);
3914*67e74705SXin Li }
3915*67e74705SXin Li 
test_mm_mask_srav_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)3916*67e74705SXin Li __m128i test_mm_mask_srav_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
3917*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srav_epi32
3918*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav
3919*67e74705SXin Li   return _mm_mask_srav_epi32(__W, __U, __X, __Y);
3920*67e74705SXin Li }
3921*67e74705SXin Li 
test_mm_maskz_srav_epi32(__mmask8 __U,__m128i __X,__m128i __Y)3922*67e74705SXin Li __m128i test_mm_maskz_srav_epi32(__mmask8 __U, __m128i __X, __m128i __Y) {
3923*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srav_epi32
3924*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav
3925*67e74705SXin Li   return _mm_maskz_srav_epi32(__U, __X, __Y);
3926*67e74705SXin Li }
3927*67e74705SXin Li 
test_mm256_mask_srav_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)3928*67e74705SXin Li __m256i test_mm256_mask_srav_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
3929*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srav_epi32
3930*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav
3931*67e74705SXin Li   return _mm256_mask_srav_epi32(__W, __U, __X, __Y);
3932*67e74705SXin Li }
3933*67e74705SXin Li 
test_mm256_maskz_srav_epi32(__mmask8 __U,__m256i __X,__m256i __Y)3934*67e74705SXin Li __m256i test_mm256_maskz_srav_epi32(__mmask8 __U, __m256i __X, __m256i __Y) {
3935*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srav_epi32
3936*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav
3937*67e74705SXin Li   return _mm256_maskz_srav_epi32(__U, __X, __Y);
3938*67e74705SXin Li }
3939*67e74705SXin Li 
test_mm_srav_epi64(__m128i __X,__m128i __Y)3940*67e74705SXin Li __m128i test_mm_srav_epi64(__m128i __X, __m128i __Y) {
3941*67e74705SXin Li   // CHECK-LABEL: @test_mm_srav_epi64
3942*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav.q.128
3943*67e74705SXin Li   return _mm_srav_epi64(__X, __Y);
3944*67e74705SXin Li }
3945*67e74705SXin Li 
test_mm_mask_srav_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)3946*67e74705SXin Li __m128i test_mm_mask_srav_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
3947*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srav_epi64
3948*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav.q.128
3949*67e74705SXin Li   return _mm_mask_srav_epi64(__W, __U, __X, __Y);
3950*67e74705SXin Li }
3951*67e74705SXin Li 
test_mm_maskz_srav_epi64(__mmask8 __U,__m128i __X,__m128i __Y)3952*67e74705SXin Li __m128i test_mm_maskz_srav_epi64(__mmask8 __U, __m128i __X, __m128i __Y) {
3953*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srav_epi64
3954*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav.q.128
3955*67e74705SXin Li   return _mm_maskz_srav_epi64(__U, __X, __Y);
3956*67e74705SXin Li }
3957*67e74705SXin Li 
test_mm256_srav_epi64(__m256i __X,__m256i __Y)3958*67e74705SXin Li __m256i test_mm256_srav_epi64(__m256i __X, __m256i __Y) {
3959*67e74705SXin Li   // CHECK-LABEL: @test_mm256_srav_epi64
3960*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav.q.256
3961*67e74705SXin Li   return _mm256_srav_epi64(__X, __Y);
3962*67e74705SXin Li }
3963*67e74705SXin Li 
test_mm256_mask_srav_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)3964*67e74705SXin Li __m256i test_mm256_mask_srav_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y) {
3965*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srav_epi64
3966*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav.q.256
3967*67e74705SXin Li   return _mm256_mask_srav_epi64(__W, __U, __X, __Y);
3968*67e74705SXin Li }
3969*67e74705SXin Li 
test_mm256_maskz_srav_epi64(__mmask8 __U,__m256i __X,__m256i __Y)3970*67e74705SXin Li __m256i test_mm256_maskz_srav_epi64(__mmask8 __U, __m256i __X, __m256i __Y) {
3971*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srav_epi64
3972*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psrav.q.256
3973*67e74705SXin Li   return _mm256_maskz_srav_epi64(__U, __X, __Y);
3974*67e74705SXin Li }
3975*67e74705SXin Li 
test_mm_mask_store_epi32(void * __P,__mmask8 __U,__m128i __A)3976*67e74705SXin Li void test_mm_mask_store_epi32(void *__P, __mmask8 __U, __m128i __A) {
3977*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_store_epi32
3978*67e74705SXin Li   // CHECK: @llvm.masked.store.v4i32.p0v4i32(<4 x i32> %{{.*}}, <4 x i32>* %{{.}}, i32 16, <4 x i1> %{{.*}})
3979*67e74705SXin Li   return _mm_mask_store_epi32(__P, __U, __A);
3980*67e74705SXin Li }
3981*67e74705SXin Li 
test_mm256_mask_store_epi32(void * __P,__mmask8 __U,__m256i __A)3982*67e74705SXin Li void test_mm256_mask_store_epi32(void *__P, __mmask8 __U, __m256i __A) {
3983*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_store_epi32
3984*67e74705SXin Li   // CHECK: @llvm.masked.store.v8i32.p0v8i32(<8 x i32> %{{.*}}, <8 x i32>* %{{.}}, i32 32, <8 x i1> %{{.*}})
3985*67e74705SXin Li   return _mm256_mask_store_epi32(__P, __U, __A);
3986*67e74705SXin Li }
3987*67e74705SXin Li 
test_mm_mask_mov_epi32(__m128i __W,__mmask8 __U,__m128i __A)3988*67e74705SXin Li __m128i test_mm_mask_mov_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
3989*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_mov_epi32
3990*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
3991*67e74705SXin Li   return _mm_mask_mov_epi32(__W, __U, __A);
3992*67e74705SXin Li }
3993*67e74705SXin Li 
test_mm_maskz_mov_epi32(__mmask8 __U,__m128i __A)3994*67e74705SXin Li __m128i test_mm_maskz_mov_epi32(__mmask8 __U, __m128i __A) {
3995*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_mov_epi32
3996*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
3997*67e74705SXin Li   return _mm_maskz_mov_epi32(__U, __A);
3998*67e74705SXin Li }
3999*67e74705SXin Li 
test_mm256_mask_mov_epi32(__m256i __W,__mmask8 __U,__m256i __A)4000*67e74705SXin Li __m256i test_mm256_mask_mov_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
4001*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_mov_epi32
4002*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
4003*67e74705SXin Li   return _mm256_mask_mov_epi32(__W, __U, __A);
4004*67e74705SXin Li }
4005*67e74705SXin Li 
test_mm256_maskz_mov_epi32(__mmask8 __U,__m256i __A)4006*67e74705SXin Li __m256i test_mm256_maskz_mov_epi32(__mmask8 __U, __m256i __A) {
4007*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_mov_epi32
4008*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
4009*67e74705SXin Li   return _mm256_maskz_mov_epi32(__U, __A);
4010*67e74705SXin Li }
4011*67e74705SXin Li 
test_mm_mask_mov_epi64(__m128i __W,__mmask8 __U,__m128i __A)4012*67e74705SXin Li __m128i test_mm_mask_mov_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
4013*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_mov_epi64
4014*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
4015*67e74705SXin Li   return _mm_mask_mov_epi64(__W, __U, __A);
4016*67e74705SXin Li }
4017*67e74705SXin Li 
test_mm_maskz_mov_epi64(__mmask8 __U,__m128i __A)4018*67e74705SXin Li __m128i test_mm_maskz_mov_epi64(__mmask8 __U, __m128i __A) {
4019*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_mov_epi64
4020*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
4021*67e74705SXin Li   return _mm_maskz_mov_epi64(__U, __A);
4022*67e74705SXin Li }
4023*67e74705SXin Li 
test_mm256_mask_mov_epi64(__m256i __W,__mmask8 __U,__m256i __A)4024*67e74705SXin Li __m256i test_mm256_mask_mov_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
4025*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_mov_epi64
4026*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
4027*67e74705SXin Li   return _mm256_mask_mov_epi64(__W, __U, __A);
4028*67e74705SXin Li }
4029*67e74705SXin Li 
test_mm256_maskz_mov_epi64(__mmask8 __U,__m256i __A)4030*67e74705SXin Li __m256i test_mm256_maskz_mov_epi64(__mmask8 __U, __m256i __A) {
4031*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_mov_epi64
4032*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
4033*67e74705SXin Li   return _mm256_maskz_mov_epi64(__U, __A);
4034*67e74705SXin Li }
4035*67e74705SXin Li 
test_mm_mask_load_epi32(__m128i __W,__mmask8 __U,void const * __P)4036*67e74705SXin Li __m128i test_mm_mask_load_epi32(__m128i __W, __mmask8 __U, void const *__P) {
4037*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_load_epi32
4038*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %{{.*}}, i32 16, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
4039*67e74705SXin Li   return _mm_mask_load_epi32(__W, __U, __P);
4040*67e74705SXin Li }
4041*67e74705SXin Li 
test_mm_maskz_load_epi32(__mmask8 __U,void const * __P)4042*67e74705SXin Li __m128i test_mm_maskz_load_epi32(__mmask8 __U, void const *__P) {
4043*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_load_epi32
4044*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %{{.*}}, i32 16, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
4045*67e74705SXin Li   return _mm_maskz_load_epi32(__U, __P);
4046*67e74705SXin Li }
4047*67e74705SXin Li 
test_mm256_mask_load_epi32(__m256i __W,__mmask8 __U,void const * __P)4048*67e74705SXin Li __m256i test_mm256_mask_load_epi32(__m256i __W, __mmask8 __U, void const *__P) {
4049*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_load_epi32
4050*67e74705SXin Li   // CHECK: @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %{{.*}}, i32 32, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
4051*67e74705SXin Li   return _mm256_mask_load_epi32(__W, __U, __P);
4052*67e74705SXin Li }
4053*67e74705SXin Li 
test_mm256_maskz_load_epi32(__mmask8 __U,void const * __P)4054*67e74705SXin Li __m256i test_mm256_maskz_load_epi32(__mmask8 __U, void const *__P) {
4055*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_load_epi32
4056*67e74705SXin Li   // CHECK: @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %{{.*}}, i32 32, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
4057*67e74705SXin Li   return _mm256_maskz_load_epi32(__U, __P);
4058*67e74705SXin Li }
4059*67e74705SXin Li 
test_mm_mask_load_epi64(__m128i __W,__mmask8 __U,void const * __P)4060*67e74705SXin Li __m128i test_mm_mask_load_epi64(__m128i __W, __mmask8 __U, void const *__P) {
4061*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_load_epi64
4062*67e74705SXin Li   // CHECK: @llvm.masked.load.v2i64.p0v2i64(<2 x i64>* %{{.*}}, i32 16, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
4063*67e74705SXin Li   return _mm_mask_load_epi64(__W, __U, __P);
4064*67e74705SXin Li }
4065*67e74705SXin Li 
test_mm_maskz_load_epi64(__mmask8 __U,void const * __P)4066*67e74705SXin Li __m128i test_mm_maskz_load_epi64(__mmask8 __U, void const *__P) {
4067*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_load_epi64
4068*67e74705SXin Li   // CHECK: @llvm.masked.load.v2i64.p0v2i64(<2 x i64>* %{{.*}}, i32 16, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
4069*67e74705SXin Li   return _mm_maskz_load_epi64(__U, __P);
4070*67e74705SXin Li }
4071*67e74705SXin Li 
test_mm256_mask_load_epi64(__m256i __W,__mmask8 __U,void const * __P)4072*67e74705SXin Li __m256i test_mm256_mask_load_epi64(__m256i __W, __mmask8 __U, void const *__P) {
4073*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_load_epi64
4074*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %{{.*}}, i32 32, <4 x i1> %{{.*}}, <4 x i64> %{{.*}})
4075*67e74705SXin Li   return _mm256_mask_load_epi64(__W, __U, __P);
4076*67e74705SXin Li }
4077*67e74705SXin Li 
test_mm256_maskz_load_epi64(__mmask8 __U,void const * __P)4078*67e74705SXin Li __m256i test_mm256_maskz_load_epi64(__mmask8 __U, void const *__P) {
4079*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_load_epi64
4080*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %{{.*}}, i32 32, <4 x i1> %{{.*}}, <4 x i64> %{{.*}})
4081*67e74705SXin Li   return _mm256_maskz_load_epi64(__U, __P);
4082*67e74705SXin Li }
4083*67e74705SXin Li 
test_mm_mask_store_epi64(void * __P,__mmask8 __U,__m128i __A)4084*67e74705SXin Li void test_mm_mask_store_epi64(void *__P, __mmask8 __U, __m128i __A) {
4085*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_store_epi64
4086*67e74705SXin Li   // CHECK: @llvm.masked.store.v2i64.p0v2i64(<2 x i64> %{{.*}}, <2 x i64>* %{{.*}}, i32 16, <2 x i1> %{{.*}})
4087*67e74705SXin Li   return _mm_mask_store_epi64(__P, __U, __A);
4088*67e74705SXin Li }
4089*67e74705SXin Li 
test_mm256_mask_store_epi64(void * __P,__mmask8 __U,__m256i __A)4090*67e74705SXin Li void test_mm256_mask_store_epi64(void *__P, __mmask8 __U, __m256i __A) {
4091*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_store_epi64
4092*67e74705SXin Li   // CHECK: @llvm.masked.store.v4i64.p0v4i64(<4 x i64> %{{.*}}, <4 x i64>* %{{.*}}, i32 32, <4 x i1> %{{.*}})
4093*67e74705SXin Li   return _mm256_mask_store_epi64(__P, __U, __A);
4094*67e74705SXin Li }
4095*67e74705SXin Li 
test_mm_mask_movedup_pd(__m128d __W,__mmask8 __U,__m128d __A)4096*67e74705SXin Li __m128d test_mm_mask_movedup_pd(__m128d __W, __mmask8 __U, __m128d __A) {
4097*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_movedup_pd
4098*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> zeroinitializer
4099*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4100*67e74705SXin Li   return _mm_mask_movedup_pd(__W, __U, __A);
4101*67e74705SXin Li }
4102*67e74705SXin Li 
test_mm_maskz_movedup_pd(__mmask8 __U,__m128d __A)4103*67e74705SXin Li __m128d test_mm_maskz_movedup_pd(__mmask8 __U, __m128d __A) {
4104*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_movedup_pd
4105*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> zeroinitializer
4106*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4107*67e74705SXin Li   return _mm_maskz_movedup_pd(__U, __A);
4108*67e74705SXin Li }
4109*67e74705SXin Li 
test_mm256_mask_movedup_pd(__m256d __W,__mmask8 __U,__m256d __A)4110*67e74705SXin Li __m256d test_mm256_mask_movedup_pd(__m256d __W, __mmask8 __U, __m256d __A) {
4111*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_movedup_pd
4112*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> %{{.*}}, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
4113*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
4114*67e74705SXin Li   return _mm256_mask_movedup_pd(__W, __U, __A);
4115*67e74705SXin Li }
4116*67e74705SXin Li 
test_mm256_maskz_movedup_pd(__mmask8 __U,__m256d __A)4117*67e74705SXin Li __m256d test_mm256_maskz_movedup_pd(__mmask8 __U, __m256d __A) {
4118*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_movedup_pd
4119*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> %{{.*}}, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
4120*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
4121*67e74705SXin Li   return _mm256_maskz_movedup_pd(__U, __A);
4122*67e74705SXin Li }
4123*67e74705SXin Li 
test_mm_mask_set1_epi32(__m128i __O,__mmask8 __M)4124*67e74705SXin Li __m128i test_mm_mask_set1_epi32(__m128i __O, __mmask8 __M) {
4125*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_set1_epi32
4126*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.d.gpr.128
4127*67e74705SXin Li   return _mm_mask_set1_epi32(__O, __M, 5);
4128*67e74705SXin Li }
4129*67e74705SXin Li 
test_mm_maskz_set1_epi32(__mmask8 __M)4130*67e74705SXin Li __m128i test_mm_maskz_set1_epi32(__mmask8 __M) {
4131*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_set1_epi32
4132*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.d.gpr.128
4133*67e74705SXin Li   return _mm_maskz_set1_epi32(__M, 5);
4134*67e74705SXin Li }
4135*67e74705SXin Li 
test_mm256_mask_set1_epi32(__m256i __O,__mmask8 __M)4136*67e74705SXin Li __m256i test_mm256_mask_set1_epi32(__m256i __O, __mmask8 __M) {
4137*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_set1_epi32
4138*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.d.gpr.256
4139*67e74705SXin Li   return _mm256_mask_set1_epi32(__O, __M, 5);
4140*67e74705SXin Li }
4141*67e74705SXin Li 
test_mm256_maskz_set1_epi32(__mmask8 __M)4142*67e74705SXin Li __m256i test_mm256_maskz_set1_epi32(__mmask8 __M) {
4143*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_set1_epi32
4144*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.d.gpr.256
4145*67e74705SXin Li   return _mm256_maskz_set1_epi32(__M, 5);
4146*67e74705SXin Li }
4147*67e74705SXin Li 
test_mm_mask_set1_epi64(__m128i __O,__mmask8 __M,long long __A)4148*67e74705SXin Li __m128i test_mm_mask_set1_epi64(__m128i __O, __mmask8 __M, long long __A) {
4149*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_set1_epi64
4150*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.q.gpr.128
4151*67e74705SXin Li   return _mm_mask_set1_epi64(__O, __M, __A);
4152*67e74705SXin Li }
4153*67e74705SXin Li 
test_mm_maskz_set1_epi64(__mmask8 __M,long long __A)4154*67e74705SXin Li __m128i test_mm_maskz_set1_epi64(__mmask8 __M, long long __A) {
4155*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_set1_epi64
4156*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.q.gpr.128
4157*67e74705SXin Li   return _mm_maskz_set1_epi64(__M, __A);
4158*67e74705SXin Li }
4159*67e74705SXin Li 
test_mm256_mask_set1_epi64(__m256i __O,__mmask8 __M,long long __A)4160*67e74705SXin Li __m256i test_mm256_mask_set1_epi64(__m256i __O, __mmask8 __M, long long __A) {
4161*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_set1_epi64
4162*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.q.gpr.256
4163*67e74705SXin Li   return _mm256_mask_set1_epi64(__O, __M, __A);
4164*67e74705SXin Li }
4165*67e74705SXin Li 
test_mm256_maskz_set1_epi64(__mmask8 __M,long long __A)4166*67e74705SXin Li __m256i test_mm256_maskz_set1_epi64(__mmask8 __M, long long __A) {
4167*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_set1_epi64
4168*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pbroadcast.q.gpr.256
4169*67e74705SXin Li   return _mm256_maskz_set1_epi64(__M, __A);
4170*67e74705SXin Li }
4171*67e74705SXin Li 
test_mm_fixupimm_pd(__m128d __A,__m128d __B,__m128i __C)4172*67e74705SXin Li __m128d test_mm_fixupimm_pd(__m128d __A, __m128d __B, __m128i __C) {
4173*67e74705SXin Li   // CHECK-LABEL: @test_mm_fixupimm_pd
4174*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.128
4175*67e74705SXin Li   return _mm_fixupimm_pd(__A, __B, __C, 5);
4176*67e74705SXin Li }
4177*67e74705SXin Li 
test_mm_mask_fixupimm_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128i __C)4178*67e74705SXin Li __m128d test_mm_mask_fixupimm_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128i __C) {
4179*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fixupimm_pd
4180*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.128
4181*67e74705SXin Li   return _mm_mask_fixupimm_pd(__A, __U, __B, __C, 5);
4182*67e74705SXin Li }
4183*67e74705SXin Li 
test_mm_maskz_fixupimm_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128i __C)4184*67e74705SXin Li __m128d test_mm_maskz_fixupimm_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128i __C) {
4185*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fixupimm_pd
4186*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.fixupimm.pd.128
4187*67e74705SXin Li   return _mm_maskz_fixupimm_pd(__U, __A, __B, __C, 5);
4188*67e74705SXin Li }
4189*67e74705SXin Li 
test_mm256_fixupimm_pd(__m256d __A,__m256d __B,__m256i __C)4190*67e74705SXin Li __m256d test_mm256_fixupimm_pd(__m256d __A, __m256d __B, __m256i __C) {
4191*67e74705SXin Li   // CHECK-LABEL: @test_mm256_fixupimm_pd
4192*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.256
4193*67e74705SXin Li   return _mm256_fixupimm_pd(__A, __B, __C, 5);
4194*67e74705SXin Li }
4195*67e74705SXin Li 
test_mm256_mask_fixupimm_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256i __C)4196*67e74705SXin Li __m256d test_mm256_mask_fixupimm_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256i __C) {
4197*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fixupimm_pd
4198*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.256
4199*67e74705SXin Li   return _mm256_mask_fixupimm_pd(__A, __U, __B, __C, 5);
4200*67e74705SXin Li }
4201*67e74705SXin Li 
test_mm256_maskz_fixupimm_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256i __C)4202*67e74705SXin Li __m256d test_mm256_maskz_fixupimm_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256i __C) {
4203*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fixupimm_pd
4204*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.fixupimm.pd.256
4205*67e74705SXin Li   return _mm256_maskz_fixupimm_pd(__U, __A, __B, __C, 5);
4206*67e74705SXin Li }
4207*67e74705SXin Li 
test_mm_fixupimm_ps(__m128 __A,__m128 __B,__m128i __C)4208*67e74705SXin Li __m128 test_mm_fixupimm_ps(__m128 __A, __m128 __B, __m128i __C) {
4209*67e74705SXin Li   // CHECK-LABEL: @test_mm_fixupimm_ps
4210*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.128
4211*67e74705SXin Li   return _mm_fixupimm_ps(__A, __B, __C, 5);
4212*67e74705SXin Li }
4213*67e74705SXin Li 
test_mm_mask_fixupimm_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128i __C)4214*67e74705SXin Li __m128 test_mm_mask_fixupimm_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128i __C) {
4215*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_fixupimm_ps
4216*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.128
4217*67e74705SXin Li   return _mm_mask_fixupimm_ps(__A, __U, __B, __C, 5);
4218*67e74705SXin Li }
4219*67e74705SXin Li 
test_mm_maskz_fixupimm_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128i __C)4220*67e74705SXin Li __m128 test_mm_maskz_fixupimm_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128i __C) {
4221*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_fixupimm_ps
4222*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.fixupimm.ps.128
4223*67e74705SXin Li   return _mm_maskz_fixupimm_ps(__U, __A, __B, __C, 5);
4224*67e74705SXin Li }
4225*67e74705SXin Li 
test_mm256_fixupimm_ps(__m256 __A,__m256 __B,__m256i __C)4226*67e74705SXin Li __m256 test_mm256_fixupimm_ps(__m256 __A, __m256 __B, __m256i __C) {
4227*67e74705SXin Li   // CHECK-LABEL: @test_mm256_fixupimm_ps
4228*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.256
4229*67e74705SXin Li   return _mm256_fixupimm_ps(__A, __B, __C, 5);
4230*67e74705SXin Li }
4231*67e74705SXin Li 
test_mm256_mask_fixupimm_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256i __C)4232*67e74705SXin Li __m256 test_mm256_mask_fixupimm_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256i __C) {
4233*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_fixupimm_ps
4234*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.256
4235*67e74705SXin Li   return _mm256_mask_fixupimm_ps(__A, __U, __B, __C, 5);
4236*67e74705SXin Li }
4237*67e74705SXin Li 
test_mm256_maskz_fixupimm_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256i __C)4238*67e74705SXin Li __m256 test_mm256_maskz_fixupimm_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256i __C) {
4239*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_fixupimm_ps
4240*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.fixupimm.ps.256
4241*67e74705SXin Li   return _mm256_maskz_fixupimm_ps(__U, __A, __B, __C, 5);
4242*67e74705SXin Li }
4243*67e74705SXin Li 
test_mm_mask_load_pd(__m128d __W,__mmask8 __U,void const * __P)4244*67e74705SXin Li __m128d test_mm_mask_load_pd(__m128d __W, __mmask8 __U, void const *__P) {
4245*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_load_pd
4246*67e74705SXin Li   // CHECK: @llvm.masked.load.v2f64.p0v2f64(<2 x double>* %{{.*}}, i32 16, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
4247*67e74705SXin Li   return _mm_mask_load_pd(__W, __U, __P);
4248*67e74705SXin Li }
4249*67e74705SXin Li 
test_mm_maskz_load_pd(__mmask8 __U,void const * __P)4250*67e74705SXin Li __m128d test_mm_maskz_load_pd(__mmask8 __U, void const *__P) {
4251*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_load_pd
4252*67e74705SXin Li   // CHECK: @llvm.masked.load.v2f64.p0v2f64(<2 x double>* %{{.*}}, i32 16, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
4253*67e74705SXin Li   return _mm_maskz_load_pd(__U, __P);
4254*67e74705SXin Li }
4255*67e74705SXin Li 
test_mm256_mask_load_pd(__m256d __W,__mmask8 __U,void const * __P)4256*67e74705SXin Li __m256d test_mm256_mask_load_pd(__m256d __W, __mmask8 __U, void const *__P) {
4257*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_load_pd
4258*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %{{.*}}, i32 32, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
4259*67e74705SXin Li   return _mm256_mask_load_pd(__W, __U, __P);
4260*67e74705SXin Li }
4261*67e74705SXin Li 
test_mm256_maskz_load_pd(__mmask8 __U,void const * __P)4262*67e74705SXin Li __m256d test_mm256_maskz_load_pd(__mmask8 __U, void const *__P) {
4263*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_load_pd
4264*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %{{.*}}, i32 32, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
4265*67e74705SXin Li   return _mm256_maskz_load_pd(__U, __P);
4266*67e74705SXin Li }
4267*67e74705SXin Li 
test_mm_mask_load_ps(__m128 __W,__mmask8 __U,void const * __P)4268*67e74705SXin Li __m128 test_mm_mask_load_ps(__m128 __W, __mmask8 __U, void const *__P) {
4269*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_load_ps
4270*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %{{.*}}, i32 16, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
4271*67e74705SXin Li   return _mm_mask_load_ps(__W, __U, __P);
4272*67e74705SXin Li }
4273*67e74705SXin Li 
test_mm_maskz_load_ps(__mmask8 __U,void const * __P)4274*67e74705SXin Li __m128 test_mm_maskz_load_ps(__mmask8 __U, void const *__P) {
4275*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_load_ps
4276*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %{{.*}}, i32 16, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
4277*67e74705SXin Li   return _mm_maskz_load_ps(__U, __P);
4278*67e74705SXin Li }
4279*67e74705SXin Li 
test_mm256_mask_load_ps(__m256 __W,__mmask8 __U,void const * __P)4280*67e74705SXin Li __m256 test_mm256_mask_load_ps(__m256 __W, __mmask8 __U, void const *__P) {
4281*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_load_ps
4282*67e74705SXin Li   // CHECK: @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %{{.*}}, i32 32, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
4283*67e74705SXin Li   return _mm256_mask_load_ps(__W, __U, __P);
4284*67e74705SXin Li }
4285*67e74705SXin Li 
test_mm256_maskz_load_ps(__mmask8 __U,void const * __P)4286*67e74705SXin Li __m256 test_mm256_maskz_load_ps(__mmask8 __U, void const *__P) {
4287*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_load_ps
4288*67e74705SXin Li   // CHECK: @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %{{.*}}, i32 32, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
4289*67e74705SXin Li   return _mm256_maskz_load_ps(__U, __P);
4290*67e74705SXin Li }
4291*67e74705SXin Li 
test_mm_mask_loadu_epi64(__m128i __W,__mmask8 __U,void const * __P)4292*67e74705SXin Li __m128i test_mm_mask_loadu_epi64(__m128i __W, __mmask8 __U, void const *__P) {
4293*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_loadu_epi64
4294*67e74705SXin Li   // CHECK: @llvm.masked.load.v2i64.p0v2i64(<2 x i64>* %{{.*}}, i32 1, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
4295*67e74705SXin Li   return _mm_mask_loadu_epi64(__W, __U, __P);
4296*67e74705SXin Li }
4297*67e74705SXin Li 
test_mm_maskz_loadu_epi64(__mmask8 __U,void const * __P)4298*67e74705SXin Li __m128i test_mm_maskz_loadu_epi64(__mmask8 __U, void const *__P) {
4299*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_loadu_epi64
4300*67e74705SXin Li   // CHECK: @llvm.masked.load.v2i64.p0v2i64(<2 x i64>* %{{.*}}, i32 1, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
4301*67e74705SXin Li   return _mm_maskz_loadu_epi64(__U, __P);
4302*67e74705SXin Li }
4303*67e74705SXin Li 
test_mm256_mask_loadu_epi64(__m256i __W,__mmask8 __U,void const * __P)4304*67e74705SXin Li __m256i test_mm256_mask_loadu_epi64(__m256i __W, __mmask8 __U, void const *__P) {
4305*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_loadu_epi64
4306*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x i64> %{{.*}})
4307*67e74705SXin Li   return _mm256_mask_loadu_epi64(__W, __U, __P);
4308*67e74705SXin Li }
4309*67e74705SXin Li 
test_mm256_maskz_loadu_epi64(__mmask8 __U,void const * __P)4310*67e74705SXin Li __m256i test_mm256_maskz_loadu_epi64(__mmask8 __U, void const *__P) {
4311*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_loadu_epi64
4312*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i64.p0v4i64(<4 x i64>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x i64> %{{.*}})
4313*67e74705SXin Li   return _mm256_maskz_loadu_epi64(__U, __P);
4314*67e74705SXin Li }
4315*67e74705SXin Li 
test_mm_mask_loadu_epi32(__m128i __W,__mmask8 __U,void const * __P)4316*67e74705SXin Li __m128i test_mm_mask_loadu_epi32(__m128i __W, __mmask8 __U, void const *__P) {
4317*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_loadu_epi32
4318*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
4319*67e74705SXin Li   return _mm_mask_loadu_epi32(__W, __U, __P);
4320*67e74705SXin Li }
4321*67e74705SXin Li 
test_mm_maskz_loadu_epi32(__mmask8 __U,void const * __P)4322*67e74705SXin Li __m128i test_mm_maskz_loadu_epi32(__mmask8 __U, void const *__P) {
4323*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_loadu_epi32
4324*67e74705SXin Li   // CHECK: @llvm.masked.load.v4i32.p0v4i32(<4 x i32>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
4325*67e74705SXin Li   return _mm_maskz_loadu_epi32(__U, __P);
4326*67e74705SXin Li }
4327*67e74705SXin Li 
test_mm256_mask_loadu_epi32(__m256i __W,__mmask8 __U,void const * __P)4328*67e74705SXin Li __m256i test_mm256_mask_loadu_epi32(__m256i __W, __mmask8 __U, void const *__P) {
4329*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_loadu_epi32
4330*67e74705SXin Li   // CHECK: @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %{{.*}}, i32 1, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
4331*67e74705SXin Li   return _mm256_mask_loadu_epi32(__W, __U, __P);
4332*67e74705SXin Li }
4333*67e74705SXin Li 
test_mm256_maskz_loadu_epi32(__mmask8 __U,void const * __P)4334*67e74705SXin Li __m256i test_mm256_maskz_loadu_epi32(__mmask8 __U, void const *__P) {
4335*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_loadu_epi32
4336*67e74705SXin Li   // CHECK: @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %{{.*}}, i32 1, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
4337*67e74705SXin Li   return _mm256_maskz_loadu_epi32(__U, __P);
4338*67e74705SXin Li }
4339*67e74705SXin Li 
test_mm_mask_loadu_pd(__m128d __W,__mmask8 __U,void const * __P)4340*67e74705SXin Li __m128d test_mm_mask_loadu_pd(__m128d __W, __mmask8 __U, void const *__P) {
4341*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_loadu_pd
4342*67e74705SXin Li   // CHECK: @llvm.masked.load.v2f64.p0v2f64(<2 x double>* %{{.*}}, i32 1, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
4343*67e74705SXin Li   return _mm_mask_loadu_pd(__W, __U, __P);
4344*67e74705SXin Li }
4345*67e74705SXin Li 
test_mm_maskz_loadu_pd(__mmask8 __U,void const * __P)4346*67e74705SXin Li __m128d test_mm_maskz_loadu_pd(__mmask8 __U, void const *__P) {
4347*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_loadu_pd
4348*67e74705SXin Li   // CHECK: @llvm.masked.load.v2f64.p0v2f64(<2 x double>* %{{.*}}, i32 1, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
4349*67e74705SXin Li   return _mm_maskz_loadu_pd(__U, __P);
4350*67e74705SXin Li }
4351*67e74705SXin Li 
test_mm256_mask_loadu_pd(__m256d __W,__mmask8 __U,void const * __P)4352*67e74705SXin Li __m256d test_mm256_mask_loadu_pd(__m256d __W, __mmask8 __U, void const *__P) {
4353*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_loadu_pd
4354*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
4355*67e74705SXin Li   return _mm256_mask_loadu_pd(__W, __U, __P);
4356*67e74705SXin Li }
4357*67e74705SXin Li 
test_mm256_maskz_loadu_pd(__mmask8 __U,void const * __P)4358*67e74705SXin Li __m256d test_mm256_maskz_loadu_pd(__mmask8 __U, void const *__P) {
4359*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_loadu_pd
4360*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f64.p0v4f64(<4 x double>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
4361*67e74705SXin Li   return _mm256_maskz_loadu_pd(__U, __P);
4362*67e74705SXin Li }
4363*67e74705SXin Li 
test_mm_mask_loadu_ps(__m128 __W,__mmask8 __U,void const * __P)4364*67e74705SXin Li __m128 test_mm_mask_loadu_ps(__m128 __W, __mmask8 __U, void const *__P) {
4365*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_loadu_ps
4366*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
4367*67e74705SXin Li   return _mm_mask_loadu_ps(__W, __U, __P);
4368*67e74705SXin Li }
4369*67e74705SXin Li 
test_mm_maskz_loadu_ps(__mmask8 __U,void const * __P)4370*67e74705SXin Li __m128 test_mm_maskz_loadu_ps(__mmask8 __U, void const *__P) {
4371*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_loadu_ps
4372*67e74705SXin Li   // CHECK: @llvm.masked.load.v4f32.p0v4f32(<4 x float>* %{{.*}}, i32 1, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
4373*67e74705SXin Li   return _mm_maskz_loadu_ps(__U, __P);
4374*67e74705SXin Li }
4375*67e74705SXin Li 
test_mm256_mask_loadu_ps(__m256 __W,__mmask8 __U,void const * __P)4376*67e74705SXin Li __m256 test_mm256_mask_loadu_ps(__m256 __W, __mmask8 __U, void const *__P) {
4377*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_loadu_ps
4378*67e74705SXin Li   // CHECK: @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %{{.*}}, i32 1, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
4379*67e74705SXin Li   return _mm256_mask_loadu_ps(__W, __U, __P);
4380*67e74705SXin Li }
4381*67e74705SXin Li 
test_mm256_maskz_loadu_ps(__mmask8 __U,void const * __P)4382*67e74705SXin Li __m256 test_mm256_maskz_loadu_ps(__mmask8 __U, void const *__P) {
4383*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_loadu_ps
4384*67e74705SXin Li   // CHECK: @llvm.masked.load.v8f32.p0v8f32(<8 x float>* %{{.*}}, i32 1, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
4385*67e74705SXin Li   return _mm256_maskz_loadu_ps(__U, __P);
4386*67e74705SXin Li }
4387*67e74705SXin Li 
test_mm_mask_store_pd(void * __P,__mmask8 __U,__m128d __A)4388*67e74705SXin Li void test_mm_mask_store_pd(void *__P, __mmask8 __U, __m128d __A) {
4389*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_store_pd
4390*67e74705SXin Li   // CHECK: @llvm.masked.store.v2f64.p0v2f64(<2 x double> %{{.*}}, <2 x double>* %{{.*}}, i32 16, <2 x i1> %{{.*}})
4391*67e74705SXin Li   return _mm_mask_store_pd(__P, __U, __A);
4392*67e74705SXin Li }
4393*67e74705SXin Li 
test_mm256_mask_store_pd(void * __P,__mmask8 __U,__m256d __A)4394*67e74705SXin Li void test_mm256_mask_store_pd(void *__P, __mmask8 __U, __m256d __A) {
4395*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_store_pd
4396*67e74705SXin Li   // CHECK: @llvm.masked.store.v4f64.p0v4f64(<4 x double> %{{.*}}, <4 x double>* %{{.*}}, i32 32, <4 x i1> %{{.*}})
4397*67e74705SXin Li   return _mm256_mask_store_pd(__P, __U, __A);
4398*67e74705SXin Li }
4399*67e74705SXin Li 
test_mm_mask_store_ps(void * __P,__mmask8 __U,__m128 __A)4400*67e74705SXin Li void test_mm_mask_store_ps(void *__P, __mmask8 __U, __m128 __A) {
4401*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_store_ps
4402*67e74705SXin Li   // CHECK: @llvm.masked.store.v4f32.p0v4f32(<4 x float> %{{.*}}, <4 x float>* %{{.*}}, i32 16, <4 x i1> %{{.*}})
4403*67e74705SXin Li   return _mm_mask_store_ps(__P, __U, __A);
4404*67e74705SXin Li }
4405*67e74705SXin Li 
test_mm256_mask_store_ps(void * __P,__mmask8 __U,__m256 __A)4406*67e74705SXin Li void test_mm256_mask_store_ps(void *__P, __mmask8 __U, __m256 __A) {
4407*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_store_ps
4408*67e74705SXin Li   // CHECK: @llvm.masked.store.v8f32.p0v8f32(<8 x float> %{{.*}}, <8 x float>* %{{.*}}, i32 32, <8 x i1> %{{.*}})
4409*67e74705SXin Li   return _mm256_mask_store_ps(__P, __U, __A);
4410*67e74705SXin Li }
4411*67e74705SXin Li 
test_mm_mask_storeu_epi64(void * __P,__mmask8 __U,__m128i __A)4412*67e74705SXin Li void test_mm_mask_storeu_epi64(void *__P, __mmask8 __U, __m128i __A) {
4413*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_storeu_epi64
4414*67e74705SXin Li   // CHECK: @llvm.masked.store.v2i64.p0v2i64(<2 x i64> %{{.*}}, <2 x i64>* %{{.*}}, i32 1, <2 x i1> %{{.*}})
4415*67e74705SXin Li   return _mm_mask_storeu_epi64(__P, __U, __A);
4416*67e74705SXin Li }
4417*67e74705SXin Li 
test_mm256_mask_storeu_epi64(void * __P,__mmask8 __U,__m256i __A)4418*67e74705SXin Li void test_mm256_mask_storeu_epi64(void *__P, __mmask8 __U, __m256i __A) {
4419*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_storeu_epi64
4420*67e74705SXin Li   // CHECK: @llvm.masked.store.v4i64.p0v4i64(<4 x i64> %{{.*}}, <4 x i64>* %{{.*}}, i32 1, <4 x i1> %{{.*}})
4421*67e74705SXin Li   return _mm256_mask_storeu_epi64(__P, __U, __A);
4422*67e74705SXin Li }
4423*67e74705SXin Li 
test_mm_mask_storeu_epi32(void * __P,__mmask8 __U,__m128i __A)4424*67e74705SXin Li void test_mm_mask_storeu_epi32(void *__P, __mmask8 __U, __m128i __A) {
4425*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_storeu_epi32
4426*67e74705SXin Li   // CHECK: @llvm.masked.store.v4i32.p0v4i32(<4 x i32> %{{.*}}, <4 x i32>* %{{.*}}, i32 1, <4 x i1> %{{.*}})
4427*67e74705SXin Li   return _mm_mask_storeu_epi32(__P, __U, __A);
4428*67e74705SXin Li }
4429*67e74705SXin Li 
test_mm256_mask_storeu_epi32(void * __P,__mmask8 __U,__m256i __A)4430*67e74705SXin Li void test_mm256_mask_storeu_epi32(void *__P, __mmask8 __U, __m256i __A) {
4431*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_storeu_epi32
4432*67e74705SXin Li   // CHECK: @llvm.masked.store.v8i32.p0v8i32(<8 x i32> %{{.*}}, <8 x i32>* %{{.*}}, i32 1, <8 x i1> %{{.*}})
4433*67e74705SXin Li   return _mm256_mask_storeu_epi32(__P, __U, __A);
4434*67e74705SXin Li }
4435*67e74705SXin Li 
test_mm_mask_storeu_pd(void * __P,__mmask8 __U,__m128d __A)4436*67e74705SXin Li void test_mm_mask_storeu_pd(void *__P, __mmask8 __U, __m128d __A) {
4437*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_storeu_pd
4438*67e74705SXin Li   // CHECK: @llvm.masked.store.v2f64.p0v2f64(<2 x double> %{{.*}}, <2 x double>* %{{.*}}, i32 1, <2 x i1> %{{.*}})
4439*67e74705SXin Li   return _mm_mask_storeu_pd(__P, __U, __A);
4440*67e74705SXin Li }
4441*67e74705SXin Li 
test_mm256_mask_storeu_pd(void * __P,__mmask8 __U,__m256d __A)4442*67e74705SXin Li void test_mm256_mask_storeu_pd(void *__P, __mmask8 __U, __m256d __A) {
4443*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_storeu_pd
4444*67e74705SXin Li   // CHECK: @llvm.masked.store.v4f64.p0v4f64(<4 x double> %{{.*}}, <4 x double>* %{{.*}}, i32 1, <4 x i1> %{{.*}})
4445*67e74705SXin Li   return _mm256_mask_storeu_pd(__P, __U, __A);
4446*67e74705SXin Li }
4447*67e74705SXin Li 
test_mm_mask_storeu_ps(void * __P,__mmask8 __U,__m128 __A)4448*67e74705SXin Li void test_mm_mask_storeu_ps(void *__P, __mmask8 __U, __m128 __A) {
4449*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_storeu_ps
4450*67e74705SXin Li   // CHECK: @llvm.masked.store.v4f32.p0v4f32(<4 x float> %{{.*}}, <4 x float>* %{{.*}}, i32 1, <4 x i1> %{{.*}})
4451*67e74705SXin Li   return _mm_mask_storeu_ps(__P, __U, __A);
4452*67e74705SXin Li }
4453*67e74705SXin Li 
test_mm256_mask_storeu_ps(void * __P,__mmask8 __U,__m256 __A)4454*67e74705SXin Li void test_mm256_mask_storeu_ps(void *__P, __mmask8 __U, __m256 __A) {
4455*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_storeu_ps
4456*67e74705SXin Li   // CHECK: @llvm.masked.store.v8f32.p0v8f32(<8 x float> %{{.*}}, <8 x float>* %{{.*}}, i32 1, <8 x i1> %{{.*}})
4457*67e74705SXin Li   return _mm256_mask_storeu_ps(__P, __U, __A);
4458*67e74705SXin Li }
4459*67e74705SXin Li 
test_mm_mask_unpackhi_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)4460*67e74705SXin Li __m128d test_mm_mask_unpackhi_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
4461*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpackhi_pd
4462*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> <i32 1, i32 3>
4463*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4464*67e74705SXin Li   return _mm_mask_unpackhi_pd(__W, __U, __A, __B);
4465*67e74705SXin Li }
4466*67e74705SXin Li 
test_mm_maskz_unpackhi_pd(__mmask8 __U,__m128d __A,__m128d __B)4467*67e74705SXin Li __m128d test_mm_maskz_unpackhi_pd(__mmask8 __U, __m128d __A, __m128d __B) {
4468*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpackhi_pd
4469*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> <i32 1, i32 3>
4470*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4471*67e74705SXin Li   return _mm_maskz_unpackhi_pd(__U, __A, __B);
4472*67e74705SXin Li }
4473*67e74705SXin Li 
test_mm256_mask_unpackhi_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)4474*67e74705SXin Li __m256d test_mm256_mask_unpackhi_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
4475*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpackhi_pd
4476*67e74705SXin Li   // CHECK: shufflevector <8 x i1> %{{.*}}, <8 x i1> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
4477*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x double> %{{.*}}, <4 x double> %{{.*}}
4478*67e74705SXin Li   return _mm256_mask_unpackhi_pd(__W, __U, __A, __B);
4479*67e74705SXin Li }
4480*67e74705SXin Li 
test_mm256_maskz_unpackhi_pd(__mmask8 __U,__m256d __A,__m256d __B)4481*67e74705SXin Li __m256d test_mm256_maskz_unpackhi_pd(__mmask8 __U, __m256d __A, __m256d __B) {
4482*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpackhi_pd
4483*67e74705SXin Li   // CHECK: shufflevector <8 x i1> %{{.*}}, <8 x i1> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
4484*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x double> %{{.*}}, <4 x double> %{{.*}}
4485*67e74705SXin Li   return _mm256_maskz_unpackhi_pd(__U, __A, __B);
4486*67e74705SXin Li }
4487*67e74705SXin Li 
test_mm_mask_unpackhi_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)4488*67e74705SXin Li __m128 test_mm_mask_unpackhi_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
4489*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpackhi_ps
4490*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 2, i32 6, i32 3, i32 7>
4491*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}} <4 x float> %{{.*}}
4492*67e74705SXin Li   return _mm_mask_unpackhi_ps(__W, __U, __A, __B);
4493*67e74705SXin Li }
4494*67e74705SXin Li 
test_mm_maskz_unpackhi_ps(__mmask8 __U,__m128 __A,__m128 __B)4495*67e74705SXin Li __m128 test_mm_maskz_unpackhi_ps(__mmask8 __U, __m128 __A, __m128 __B) {
4496*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpackhi_ps
4497*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 2, i32 6, i32 3, i32 7>
4498*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}} <4 x float> %{{.*}}
4499*67e74705SXin Li   return _mm_maskz_unpackhi_ps(__U, __A, __B);
4500*67e74705SXin Li }
4501*67e74705SXin Li 
test_mm256_mask_unpackhi_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)4502*67e74705SXin Li __m256 test_mm256_mask_unpackhi_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
4503*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpackhi_ps
4504*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 2, i32 10, i32 3, i32 11, i32 6, i32 14, i32 7, i32 15>
4505*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
4506*67e74705SXin Li   return _mm256_mask_unpackhi_ps(__W, __U, __A, __B);
4507*67e74705SXin Li }
4508*67e74705SXin Li 
test_mm256_maskz_unpackhi_ps(__mmask8 __U,__m256 __A,__m256 __B)4509*67e74705SXin Li __m256 test_mm256_maskz_unpackhi_ps(__mmask8 __U, __m256 __A, __m256 __B) {
4510*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpackhi_ps
4511*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 2, i32 10, i32 3, i32 11, i32 6, i32 14, i32 7, i32 15>
4512*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
4513*67e74705SXin Li   return _mm256_maskz_unpackhi_ps(__U, __A, __B);
4514*67e74705SXin Li }
4515*67e74705SXin Li 
test_mm_mask_unpacklo_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)4516*67e74705SXin Li __m128d test_mm_mask_unpacklo_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
4517*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpacklo_pd
4518*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> <i32 0, i32 2>
4519*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4520*67e74705SXin Li   return _mm_mask_unpacklo_pd(__W, __U, __A, __B);
4521*67e74705SXin Li }
4522*67e74705SXin Li 
test_mm_maskz_unpacklo_pd(__mmask8 __U,__m128d __A,__m128d __B)4523*67e74705SXin Li __m128d test_mm_maskz_unpacklo_pd(__mmask8 __U, __m128d __A, __m128d __B) {
4524*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpacklo_pd
4525*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> <i32 0, i32 2>
4526*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4527*67e74705SXin Li   return _mm_maskz_unpacklo_pd(__U, __A, __B);
4528*67e74705SXin Li }
4529*67e74705SXin Li 
test_mm256_mask_unpacklo_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)4530*67e74705SXin Li __m256d test_mm256_mask_unpacklo_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
4531*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpacklo_pd
4532*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 2, i32 6>
4533*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x double> %{{.*}}, <4 x double> %{{.*}}
4534*67e74705SXin Li   return _mm256_mask_unpacklo_pd(__W, __U, __A, __B);
4535*67e74705SXin Li }
4536*67e74705SXin Li 
test_mm256_maskz_unpacklo_pd(__mmask8 __U,__m256d __A,__m256d __B)4537*67e74705SXin Li __m256d test_mm256_maskz_unpacklo_pd(__mmask8 __U, __m256d __A, __m256d __B) {
4538*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpacklo_pd
4539*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 2, i32 6>
4540*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x double> %{{.*}}, <4 x double> %{{.*}}
4541*67e74705SXin Li   return _mm256_maskz_unpacklo_pd(__U, __A, __B);
4542*67e74705SXin Li }
4543*67e74705SXin Li 
test_mm_mask_unpacklo_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)4544*67e74705SXin Li __m128 test_mm_mask_unpacklo_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
4545*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpacklo_ps
4546*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 1, i32 5>
4547*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x float> %{{.*}}, <4 x float> %{{.*}}
4548*67e74705SXin Li   return _mm_mask_unpacklo_ps(__W, __U, __A, __B);
4549*67e74705SXin Li }
4550*67e74705SXin Li 
test_mm_maskz_unpacklo_ps(__mmask8 __U,__m128 __A,__m128 __B)4551*67e74705SXin Li __m128 test_mm_maskz_unpacklo_ps(__mmask8 __U, __m128 __A, __m128 __B) {
4552*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpacklo_ps
4553*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 1, i32 5>
4554*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x float> %{{.*}}, <4 x float> %{{.*}}
4555*67e74705SXin Li   return _mm_maskz_unpacklo_ps(__U, __A, __B);
4556*67e74705SXin Li }
4557*67e74705SXin Li 
test_mm256_mask_unpacklo_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)4558*67e74705SXin Li __m256 test_mm256_mask_unpacklo_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
4559*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpacklo_ps
4560*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 4, i32 12, i32 5, i32 13>
4561*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
4562*67e74705SXin Li   return _mm256_mask_unpacklo_ps(__W, __U, __A, __B);
4563*67e74705SXin Li }
4564*67e74705SXin Li 
test_mm256_maskz_unpacklo_ps(__mmask8 __U,__m256 __A,__m256 __B)4565*67e74705SXin Li __m256 test_mm256_maskz_unpacklo_ps(__mmask8 __U, __m256 __A, __m256 __B) {
4566*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpacklo_ps
4567*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 4, i32 12, i32 5, i32 13>
4568*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
4569*67e74705SXin Li   return _mm256_maskz_unpacklo_ps(__U, __A, __B);
4570*67e74705SXin Li }
4571*67e74705SXin Li 
test_mm_rcp14_pd(__m128d __A)4572*67e74705SXin Li __m128d test_mm_rcp14_pd(__m128d __A) {
4573*67e74705SXin Li   // CHECK-LABEL: @test_mm_rcp14_pd
4574*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.pd.128
4575*67e74705SXin Li   return _mm_rcp14_pd(__A);
4576*67e74705SXin Li }
4577*67e74705SXin Li 
test_mm_mask_rcp14_pd(__m128d __W,__mmask8 __U,__m128d __A)4578*67e74705SXin Li __m128d test_mm_mask_rcp14_pd(__m128d __W, __mmask8 __U, __m128d __A) {
4579*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rcp14_pd
4580*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.pd.128
4581*67e74705SXin Li   return _mm_mask_rcp14_pd(__W, __U, __A);
4582*67e74705SXin Li }
4583*67e74705SXin Li 
test_mm_maskz_rcp14_pd(__mmask8 __U,__m128d __A)4584*67e74705SXin Li __m128d test_mm_maskz_rcp14_pd(__mmask8 __U, __m128d __A) {
4585*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rcp14_pd
4586*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.pd.128
4587*67e74705SXin Li   return _mm_maskz_rcp14_pd(__U, __A);
4588*67e74705SXin Li }
4589*67e74705SXin Li 
test_mm256_rcp14_pd(__m256d __A)4590*67e74705SXin Li __m256d test_mm256_rcp14_pd(__m256d __A) {
4591*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rcp14_pd
4592*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.pd.256
4593*67e74705SXin Li   return _mm256_rcp14_pd(__A);
4594*67e74705SXin Li }
4595*67e74705SXin Li 
test_mm256_mask_rcp14_pd(__m256d __W,__mmask8 __U,__m256d __A)4596*67e74705SXin Li __m256d test_mm256_mask_rcp14_pd(__m256d __W, __mmask8 __U, __m256d __A) {
4597*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rcp14_pd
4598*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.pd.256
4599*67e74705SXin Li   return _mm256_mask_rcp14_pd(__W, __U, __A);
4600*67e74705SXin Li }
4601*67e74705SXin Li 
test_mm256_maskz_rcp14_pd(__mmask8 __U,__m256d __A)4602*67e74705SXin Li __m256d test_mm256_maskz_rcp14_pd(__mmask8 __U, __m256d __A) {
4603*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rcp14_pd
4604*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.pd.256
4605*67e74705SXin Li   return _mm256_maskz_rcp14_pd(__U, __A);
4606*67e74705SXin Li }
4607*67e74705SXin Li 
test_mm_rcp14_ps(__m128 __A)4608*67e74705SXin Li __m128 test_mm_rcp14_ps(__m128 __A) {
4609*67e74705SXin Li   // CHECK-LABEL: @test_mm_rcp14_ps
4610*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.ps.128
4611*67e74705SXin Li   return _mm_rcp14_ps(__A);
4612*67e74705SXin Li }
4613*67e74705SXin Li 
test_mm_mask_rcp14_ps(__m128 __W,__mmask8 __U,__m128 __A)4614*67e74705SXin Li __m128 test_mm_mask_rcp14_ps(__m128 __W, __mmask8 __U, __m128 __A) {
4615*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rcp14_ps
4616*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.ps.128
4617*67e74705SXin Li   return _mm_mask_rcp14_ps(__W, __U, __A);
4618*67e74705SXin Li }
4619*67e74705SXin Li 
test_mm_maskz_rcp14_ps(__mmask8 __U,__m128 __A)4620*67e74705SXin Li __m128 test_mm_maskz_rcp14_ps(__mmask8 __U, __m128 __A) {
4621*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rcp14_ps
4622*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.ps.128
4623*67e74705SXin Li   return _mm_maskz_rcp14_ps(__U, __A);
4624*67e74705SXin Li }
4625*67e74705SXin Li 
test_mm256_rcp14_ps(__m256 __A)4626*67e74705SXin Li __m256 test_mm256_rcp14_ps(__m256 __A) {
4627*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rcp14_ps
4628*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.ps.256
4629*67e74705SXin Li   return _mm256_rcp14_ps(__A);
4630*67e74705SXin Li }
4631*67e74705SXin Li 
test_mm256_mask_rcp14_ps(__m256 __W,__mmask8 __U,__m256 __A)4632*67e74705SXin Li __m256 test_mm256_mask_rcp14_ps(__m256 __W, __mmask8 __U, __m256 __A) {
4633*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rcp14_ps
4634*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.ps.256
4635*67e74705SXin Li   return _mm256_mask_rcp14_ps(__W, __U, __A);
4636*67e74705SXin Li }
4637*67e74705SXin Li 
test_mm256_maskz_rcp14_ps(__mmask8 __U,__m256 __A)4638*67e74705SXin Li __m256 test_mm256_maskz_rcp14_ps(__mmask8 __U, __m256 __A) {
4639*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rcp14_ps
4640*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rcp14.ps.256
4641*67e74705SXin Li   return _mm256_maskz_rcp14_ps(__U, __A);
4642*67e74705SXin Li }
4643*67e74705SXin Li 
test_mm_mask_permute_pd(__m128d __W,__mmask8 __U,__m128d __X)4644*67e74705SXin Li __m128d test_mm_mask_permute_pd(__m128d __W, __mmask8 __U, __m128d __X) {
4645*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permute_pd
4646*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> undef, <2 x i32> <i32 1, i32 0>
4647*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4648*67e74705SXin Li   return _mm_mask_permute_pd(__W, __U, __X, 1);
4649*67e74705SXin Li }
4650*67e74705SXin Li 
test_mm_maskz_permute_pd(__mmask8 __U,__m128d __X)4651*67e74705SXin Li __m128d test_mm_maskz_permute_pd(__mmask8 __U, __m128d __X) {
4652*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permute_pd
4653*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> undef, <2 x i32> <i32 1, i32 0>
4654*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
4655*67e74705SXin Li   return _mm_maskz_permute_pd(__U, __X, 1);
4656*67e74705SXin Li }
4657*67e74705SXin Li 
test_mm256_mask_permute_pd(__m256d __W,__mmask8 __U,__m256d __X)4658*67e74705SXin Li __m256d test_mm256_mask_permute_pd(__m256d __W, __mmask8 __U, __m256d __X) {
4659*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permute_pd
4660*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> undef, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
4661*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
4662*67e74705SXin Li   return _mm256_mask_permute_pd(__W, __U, __X, 5);
4663*67e74705SXin Li }
4664*67e74705SXin Li 
test_mm256_maskz_permute_pd(__mmask8 __U,__m256d __X)4665*67e74705SXin Li __m256d test_mm256_maskz_permute_pd(__mmask8 __U, __m256d __X) {
4666*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permute_pd
4667*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> undef, <4 x i32> <i32 1, i32 0, i32 3, i32 2>
4668*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
4669*67e74705SXin Li   return _mm256_maskz_permute_pd(__U, __X, 5);
4670*67e74705SXin Li }
4671*67e74705SXin Li 
test_mm_mask_permute_ps(__m128 __W,__mmask8 __U,__m128 __X)4672*67e74705SXin Li __m128 test_mm_mask_permute_ps(__m128 __W, __mmask8 __U, __m128 __X) {
4673*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permute_ps
4674*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> undef, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
4675*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
4676*67e74705SXin Li   return _mm_mask_permute_ps(__W, __U, __X, 0x1b);
4677*67e74705SXin Li }
4678*67e74705SXin Li 
test_mm_maskz_permute_ps(__mmask8 __U,__m128 __X)4679*67e74705SXin Li __m128 test_mm_maskz_permute_ps(__mmask8 __U, __m128 __X) {
4680*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permute_ps
4681*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> undef, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
4682*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
4683*67e74705SXin Li   return _mm_maskz_permute_ps(__U, __X, 0x1b);
4684*67e74705SXin Li }
4685*67e74705SXin Li 
test_mm256_mask_permute_ps(__m256 __W,__mmask8 __U,__m256 __X)4686*67e74705SXin Li __m256 test_mm256_mask_permute_ps(__m256 __W, __mmask8 __U, __m256 __X) {
4687*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permute_ps
4688*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> undef, <8 x i32> <i32 3, i32 2, i32 1, i32 0, i32 7, i32 6, i32 5, i32 4>
4689*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
4690*67e74705SXin Li   return _mm256_mask_permute_ps(__W, __U, __X, 0x1b);
4691*67e74705SXin Li }
4692*67e74705SXin Li 
test_mm256_maskz_permute_ps(__mmask8 __U,__m256 __X)4693*67e74705SXin Li __m256 test_mm256_maskz_permute_ps(__mmask8 __U, __m256 __X) {
4694*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permute_ps
4695*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> undef, <8 x i32> <i32 3, i32 2, i32 1, i32 0, i32 7, i32 6, i32 5, i32 4>
4696*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
4697*67e74705SXin Li   return _mm256_maskz_permute_ps(__U, __X, 0x1b);
4698*67e74705SXin Li }
4699*67e74705SXin Li 
test_mm_mask_permutevar_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128i __C)4700*67e74705SXin Li __m128d test_mm_mask_permutevar_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128i __C) {
4701*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permutevar_pd
4702*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.pd
4703*67e74705SXin Li   return _mm_mask_permutevar_pd(__W, __U, __A, __C);
4704*67e74705SXin Li }
4705*67e74705SXin Li 
test_mm_maskz_permutevar_pd(__mmask8 __U,__m128d __A,__m128i __C)4706*67e74705SXin Li __m128d test_mm_maskz_permutevar_pd(__mmask8 __U, __m128d __A, __m128i __C) {
4707*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permutevar_pd
4708*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.pd
4709*67e74705SXin Li   return _mm_maskz_permutevar_pd(__U, __A, __C);
4710*67e74705SXin Li }
4711*67e74705SXin Li 
test_mm256_mask_permutevar_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256i __C)4712*67e74705SXin Li __m256d test_mm256_mask_permutevar_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256i __C) {
4713*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutevar_pd
4714*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.pd.256
4715*67e74705SXin Li   return _mm256_mask_permutevar_pd(__W, __U, __A, __C);
4716*67e74705SXin Li }
4717*67e74705SXin Li 
test_mm256_maskz_permutevar_pd(__mmask8 __U,__m256d __A,__m256i __C)4718*67e74705SXin Li __m256d test_mm256_maskz_permutevar_pd(__mmask8 __U, __m256d __A, __m256i __C) {
4719*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutevar_pd
4720*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.pd.256
4721*67e74705SXin Li   return _mm256_maskz_permutevar_pd(__U, __A, __C);
4722*67e74705SXin Li }
4723*67e74705SXin Li 
test_mm_mask_permutevar_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128i __C)4724*67e74705SXin Li __m128 test_mm_mask_permutevar_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128i __C) {
4725*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_permutevar_ps
4726*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.ps
4727*67e74705SXin Li   return _mm_mask_permutevar_ps(__W, __U, __A, __C);
4728*67e74705SXin Li }
4729*67e74705SXin Li 
test_mm_maskz_permutevar_ps(__mmask8 __U,__m128 __A,__m128i __C)4730*67e74705SXin Li __m128 test_mm_maskz_permutevar_ps(__mmask8 __U, __m128 __A, __m128i __C) {
4731*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_permutevar_ps
4732*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.ps
4733*67e74705SXin Li   return _mm_maskz_permutevar_ps(__U, __A, __C);
4734*67e74705SXin Li }
4735*67e74705SXin Li 
test_mm256_mask_permutevar_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256i __C)4736*67e74705SXin Li __m256 test_mm256_mask_permutevar_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256i __C) {
4737*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutevar_ps
4738*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.ps.256
4739*67e74705SXin Li   return _mm256_mask_permutevar_ps(__W, __U, __A, __C);
4740*67e74705SXin Li }
4741*67e74705SXin Li 
test_mm256_maskz_permutevar_ps(__mmask8 __U,__m256 __A,__m256i __C)4742*67e74705SXin Li __m256 test_mm256_maskz_permutevar_ps(__mmask8 __U, __m256 __A, __m256i __C) {
4743*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutevar_ps
4744*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vpermilvar.ps.256
4745*67e74705SXin Li   return _mm256_maskz_permutevar_ps(__U, __A, __C);
4746*67e74705SXin Li }
4747*67e74705SXin Li 
test_mm_test_epi32_mask(__m128i __A,__m128i __B)4748*67e74705SXin Li __mmask8 test_mm_test_epi32_mask(__m128i __A, __m128i __B) {
4749*67e74705SXin Li   // CHECK-LABEL: @test_mm_test_epi32_mask
4750*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.d.128
4751*67e74705SXin Li   return _mm_test_epi32_mask(__A, __B);
4752*67e74705SXin Li }
4753*67e74705SXin Li 
test_mm_mask_test_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)4754*67e74705SXin Li __mmask8 test_mm_mask_test_epi32_mask(__mmask8 __U, __m128i __A, __m128i __B) {
4755*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_test_epi32_mask
4756*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.d.128
4757*67e74705SXin Li   return _mm_mask_test_epi32_mask(__U, __A, __B);
4758*67e74705SXin Li }
4759*67e74705SXin Li 
test_mm256_test_epi32_mask(__m256i __A,__m256i __B)4760*67e74705SXin Li __mmask8 test_mm256_test_epi32_mask(__m256i __A, __m256i __B) {
4761*67e74705SXin Li   // CHECK-LABEL: @test_mm256_test_epi32_mask
4762*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.d.256
4763*67e74705SXin Li   return _mm256_test_epi32_mask(__A, __B);
4764*67e74705SXin Li }
4765*67e74705SXin Li 
test_mm256_mask_test_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)4766*67e74705SXin Li __mmask8 test_mm256_mask_test_epi32_mask(__mmask8 __U, __m256i __A, __m256i __B) {
4767*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_test_epi32_mask
4768*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.d.256
4769*67e74705SXin Li   return _mm256_mask_test_epi32_mask(__U, __A, __B);
4770*67e74705SXin Li }
4771*67e74705SXin Li 
test_mm_test_epi64_mask(__m128i __A,__m128i __B)4772*67e74705SXin Li __mmask8 test_mm_test_epi64_mask(__m128i __A, __m128i __B) {
4773*67e74705SXin Li   // CHECK-LABEL: @test_mm_test_epi64_mask
4774*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.q.128
4775*67e74705SXin Li   return _mm_test_epi64_mask(__A, __B);
4776*67e74705SXin Li }
4777*67e74705SXin Li 
test_mm_mask_test_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)4778*67e74705SXin Li __mmask8 test_mm_mask_test_epi64_mask(__mmask8 __U, __m128i __A, __m128i __B) {
4779*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_test_epi64_mask
4780*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.q.128
4781*67e74705SXin Li   return _mm_mask_test_epi64_mask(__U, __A, __B);
4782*67e74705SXin Li }
4783*67e74705SXin Li 
test_mm256_test_epi64_mask(__m256i __A,__m256i __B)4784*67e74705SXin Li __mmask8 test_mm256_test_epi64_mask(__m256i __A, __m256i __B) {
4785*67e74705SXin Li   // CHECK-LABEL: @test_mm256_test_epi64_mask
4786*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.q.256
4787*67e74705SXin Li   return _mm256_test_epi64_mask(__A, __B);
4788*67e74705SXin Li }
4789*67e74705SXin Li 
test_mm256_mask_test_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)4790*67e74705SXin Li __mmask8 test_mm256_mask_test_epi64_mask(__mmask8 __U, __m256i __A, __m256i __B) {
4791*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_test_epi64_mask
4792*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestm.q.256
4793*67e74705SXin Li   return _mm256_mask_test_epi64_mask(__U, __A, __B);
4794*67e74705SXin Li }
4795*67e74705SXin Li 
test_mm_testn_epi32_mask(__m128i __A,__m128i __B)4796*67e74705SXin Li __mmask8 test_mm_testn_epi32_mask(__m128i __A, __m128i __B) {
4797*67e74705SXin Li   // CHECK-LABEL: @test_mm_testn_epi32_mask
4798*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.d.128
4799*67e74705SXin Li   return _mm_testn_epi32_mask(__A, __B);
4800*67e74705SXin Li }
4801*67e74705SXin Li 
test_mm_mask_testn_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)4802*67e74705SXin Li __mmask8 test_mm_mask_testn_epi32_mask(__mmask8 __U, __m128i __A, __m128i __B) {
4803*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_testn_epi32_mask
4804*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.d.128
4805*67e74705SXin Li   return _mm_mask_testn_epi32_mask(__U, __A, __B);
4806*67e74705SXin Li }
4807*67e74705SXin Li 
test_mm256_testn_epi32_mask(__m256i __A,__m256i __B)4808*67e74705SXin Li __mmask8 test_mm256_testn_epi32_mask(__m256i __A, __m256i __B) {
4809*67e74705SXin Li   // CHECK-LABEL: @test_mm256_testn_epi32_mask
4810*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.d.256
4811*67e74705SXin Li   return _mm256_testn_epi32_mask(__A, __B);
4812*67e74705SXin Li }
4813*67e74705SXin Li 
test_mm256_mask_testn_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)4814*67e74705SXin Li __mmask8 test_mm256_mask_testn_epi32_mask(__mmask8 __U, __m256i __A, __m256i __B) {
4815*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_testn_epi32_mask
4816*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.d.256
4817*67e74705SXin Li   return _mm256_mask_testn_epi32_mask(__U, __A, __B);
4818*67e74705SXin Li }
4819*67e74705SXin Li 
test_mm_testn_epi64_mask(__m128i __A,__m128i __B)4820*67e74705SXin Li __mmask8 test_mm_testn_epi64_mask(__m128i __A, __m128i __B) {
4821*67e74705SXin Li   // CHECK-LABEL: @test_mm_testn_epi64_mask
4822*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.q.128
4823*67e74705SXin Li   return _mm_testn_epi64_mask(__A, __B);
4824*67e74705SXin Li }
4825*67e74705SXin Li 
test_mm_mask_testn_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)4826*67e74705SXin Li __mmask8 test_mm_mask_testn_epi64_mask(__mmask8 __U, __m128i __A, __m128i __B) {
4827*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_testn_epi64_mask
4828*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.q.128
4829*67e74705SXin Li   return _mm_mask_testn_epi64_mask(__U, __A, __B);
4830*67e74705SXin Li }
4831*67e74705SXin Li 
test_mm256_testn_epi64_mask(__m256i __A,__m256i __B)4832*67e74705SXin Li __mmask8 test_mm256_testn_epi64_mask(__m256i __A, __m256i __B) {
4833*67e74705SXin Li   // CHECK-LABEL: @test_mm256_testn_epi64_mask
4834*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.q.256
4835*67e74705SXin Li   return _mm256_testn_epi64_mask(__A, __B);
4836*67e74705SXin Li }
4837*67e74705SXin Li 
test_mm256_mask_testn_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)4838*67e74705SXin Li __mmask8 test_mm256_mask_testn_epi64_mask(__mmask8 __U, __m256i __A, __m256i __B) {
4839*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_testn_epi64_mask
4840*67e74705SXin Li   // CHECK: @llvm.x86.avx512.ptestnm.q.256
4841*67e74705SXin Li   return _mm256_mask_testn_epi64_mask(__U, __A, __B);
4842*67e74705SXin Li }
test_mm_mask_unpackhi_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4843*67e74705SXin Li __m128i test_mm_mask_unpackhi_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
4844*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpackhi_epi32
4845*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> <i32 2, i32 6, i32 3, i32 7>
4846*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
4847*67e74705SXin Li   return _mm_mask_unpackhi_epi32(__W, __U, __A, __B);
4848*67e74705SXin Li }
4849*67e74705SXin Li 
test_mm_maskz_unpackhi_epi32(__mmask8 __U,__m128i __A,__m128i __B)4850*67e74705SXin Li __m128i test_mm_maskz_unpackhi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
4851*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpackhi_epi32
4852*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> <i32 2, i32 6, i32 3, i32 7>
4853*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
4854*67e74705SXin Li   return _mm_maskz_unpackhi_epi32(__U, __A, __B);
4855*67e74705SXin Li }
4856*67e74705SXin Li 
test_mm256_mask_unpackhi_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4857*67e74705SXin Li __m256i test_mm256_mask_unpackhi_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
4858*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpackhi_epi32
4859*67e74705SXin Li   // CHECK: shufflevector <8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> <i32 2, i32 10, i32 3, i32 11, i32 6, i32 14, i32 7, i32 15>
4860*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
4861*67e74705SXin Li   return _mm256_mask_unpackhi_epi32(__W, __U, __A, __B);
4862*67e74705SXin Li }
4863*67e74705SXin Li 
test_mm256_maskz_unpackhi_epi32(__mmask8 __U,__m256i __A,__m256i __B)4864*67e74705SXin Li __m256i test_mm256_maskz_unpackhi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
4865*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi32
4866*67e74705SXin Li   // CHECK: shufflevector <8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> <i32 2, i32 10, i32 3, i32 11, i32 6, i32 14, i32 7, i32 15>
4867*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
4868*67e74705SXin Li   return _mm256_maskz_unpackhi_epi32(__U, __A, __B);
4869*67e74705SXin Li }
4870*67e74705SXin Li 
test_mm_mask_unpackhi_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4871*67e74705SXin Li __m128i test_mm_mask_unpackhi_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
4872*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpackhi_epi64
4873*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> <i32 1, i32 3>
4874*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
4875*67e74705SXin Li   return _mm_mask_unpackhi_epi64(__W, __U, __A, __B);
4876*67e74705SXin Li }
4877*67e74705SXin Li 
test_mm_maskz_unpackhi_epi64(__mmask8 __U,__m128i __A,__m128i __B)4878*67e74705SXin Li __m128i test_mm_maskz_unpackhi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
4879*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpackhi_epi64
4880*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> <i32 1, i32 3>
4881*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
4882*67e74705SXin Li   return _mm_maskz_unpackhi_epi64(__U, __A, __B);
4883*67e74705SXin Li }
4884*67e74705SXin Li 
test_mm256_mask_unpackhi_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4885*67e74705SXin Li __m256i test_mm256_mask_unpackhi_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
4886*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpackhi_epi64
4887*67e74705SXin Li   // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> %{{.*}}, <4 x i32> <i32 1, i32 5, i32 3, i32 7>
4888*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
4889*67e74705SXin Li   return _mm256_mask_unpackhi_epi64(__W, __U, __A, __B);
4890*67e74705SXin Li }
4891*67e74705SXin Li 
test_mm256_maskz_unpackhi_epi64(__mmask8 __U,__m256i __A,__m256i __B)4892*67e74705SXin Li __m256i test_mm256_maskz_unpackhi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
4893*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi64
4894*67e74705SXin Li   // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> %{{.*}}, <4 x i32> <i32 1, i32 5, i32 3, i32 7>
4895*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
4896*67e74705SXin Li   return _mm256_maskz_unpackhi_epi64(__U, __A, __B);
4897*67e74705SXin Li }
4898*67e74705SXin Li 
test_mm_mask_unpacklo_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4899*67e74705SXin Li __m128i test_mm_mask_unpacklo_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
4900*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpacklo_epi32
4901*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 1, i32 5>
4902*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
4903*67e74705SXin Li   return _mm_mask_unpacklo_epi32(__W, __U, __A, __B);
4904*67e74705SXin Li }
4905*67e74705SXin Li 
test_mm_maskz_unpacklo_epi32(__mmask8 __U,__m128i __A,__m128i __B)4906*67e74705SXin Li __m128i test_mm_maskz_unpacklo_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
4907*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpacklo_epi32
4908*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 1, i32 5>
4909*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
4910*67e74705SXin Li   return _mm_maskz_unpacklo_epi32(__U, __A, __B);
4911*67e74705SXin Li }
4912*67e74705SXin Li 
test_mm256_mask_unpacklo_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4913*67e74705SXin Li __m256i test_mm256_mask_unpacklo_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
4914*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpacklo_epi32
4915*67e74705SXin Li   // CHECK: shufflevector <8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 4, i32 12, i32 5, i32 13>
4916*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
4917*67e74705SXin Li   return _mm256_mask_unpacklo_epi32(__W, __U, __A, __B);
4918*67e74705SXin Li }
4919*67e74705SXin Li 
test_mm256_maskz_unpacklo_epi32(__mmask8 __U,__m256i __A,__m256i __B)4920*67e74705SXin Li __m256i test_mm256_maskz_unpacklo_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
4921*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi32
4922*67e74705SXin Li   // CHECK: shufflevector <8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 4, i32 12, i32 5, i32 13>
4923*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
4924*67e74705SXin Li   return _mm256_maskz_unpacklo_epi32(__U, __A, __B);
4925*67e74705SXin Li }
4926*67e74705SXin Li 
test_mm_mask_unpacklo_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4927*67e74705SXin Li __m128i test_mm_mask_unpacklo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
4928*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_unpacklo_epi64
4929*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> <i32 0, i32 2>
4930*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
4931*67e74705SXin Li   return _mm_mask_unpacklo_epi64(__W, __U, __A, __B);
4932*67e74705SXin Li }
4933*67e74705SXin Li 
test_mm_maskz_unpacklo_epi64(__mmask8 __U,__m128i __A,__m128i __B)4934*67e74705SXin Li __m128i test_mm_maskz_unpacklo_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
4935*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_unpacklo_epi64
4936*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> <i32 0, i32 2>
4937*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
4938*67e74705SXin Li   return _mm_maskz_unpacklo_epi64(__U, __A, __B);
4939*67e74705SXin Li }
4940*67e74705SXin Li 
test_mm256_mask_unpacklo_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4941*67e74705SXin Li __m256i test_mm256_mask_unpacklo_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
4942*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_unpacklo_epi64
4943*67e74705SXin Li   // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 2, i32 6>
4944*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
4945*67e74705SXin Li   return _mm256_mask_unpacklo_epi64(__W, __U, __A, __B);
4946*67e74705SXin Li }
4947*67e74705SXin Li 
test_mm256_maskz_unpacklo_epi64(__mmask8 __U,__m256i __A,__m256i __B)4948*67e74705SXin Li __m256i test_mm256_maskz_unpacklo_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
4949*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi64
4950*67e74705SXin Li   // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> %{{.*}}, <4 x i32> <i32 0, i32 4, i32 2, i32 6>
4951*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
4952*67e74705SXin Li   return _mm256_maskz_unpacklo_epi64(__U, __A, __B);
4953*67e74705SXin Li }
4954*67e74705SXin Li 
test_mm_mask_sra_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4955*67e74705SXin Li __m128i test_mm_mask_sra_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
4956*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sra_epi32
4957*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.d.128
4958*67e74705SXin Li   return _mm_mask_sra_epi32(__W, __U, __A, __B);
4959*67e74705SXin Li }
4960*67e74705SXin Li 
test_mm_maskz_sra_epi32(__mmask8 __U,__m128i __A,__m128i __B)4961*67e74705SXin Li __m128i test_mm_maskz_sra_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
4962*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sra_epi32
4963*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.d.128
4964*67e74705SXin Li   return _mm_maskz_sra_epi32(__U, __A, __B);
4965*67e74705SXin Li }
4966*67e74705SXin Li 
test_mm256_mask_sra_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)4967*67e74705SXin Li __m256i test_mm256_mask_sra_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
4968*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sra_epi32
4969*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.d.256
4970*67e74705SXin Li   return _mm256_mask_sra_epi32(__W, __U, __A, __B);
4971*67e74705SXin Li }
4972*67e74705SXin Li 
test_mm256_maskz_sra_epi32(__mmask8 __U,__m256i __A,__m128i __B)4973*67e74705SXin Li __m256i test_mm256_maskz_sra_epi32(__mmask8 __U, __m256i __A, __m128i __B) {
4974*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sra_epi32
4975*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.d.256
4976*67e74705SXin Li   return _mm256_maskz_sra_epi32(__U, __A, __B);
4977*67e74705SXin Li }
4978*67e74705SXin Li 
test_mm_mask_srai_epi32(__m128i __W,__mmask8 __U,__m128i __A)4979*67e74705SXin Li __m128i test_mm_mask_srai_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
4980*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srai_epi32
4981*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.di.128
4982*67e74705SXin Li   return _mm_mask_srai_epi32(__W, __U, __A, 5);
4983*67e74705SXin Li }
4984*67e74705SXin Li 
test_mm_maskz_srai_epi32(__mmask8 __U,__m128i __A)4985*67e74705SXin Li __m128i test_mm_maskz_srai_epi32(__mmask8 __U, __m128i __A) {
4986*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srai_epi32
4987*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.di.128
4988*67e74705SXin Li   return _mm_maskz_srai_epi32(__U, __A, 5);
4989*67e74705SXin Li }
4990*67e74705SXin Li 
test_mm256_mask_srai_epi32(__m256i __W,__mmask8 __U,__m256i __A)4991*67e74705SXin Li __m256i test_mm256_mask_srai_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
4992*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srai_epi32
4993*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.di.256
4994*67e74705SXin Li   return _mm256_mask_srai_epi32(__W, __U, __A, 5);
4995*67e74705SXin Li }
4996*67e74705SXin Li 
test_mm256_maskz_srai_epi32(__mmask8 __U,__m256i __A)4997*67e74705SXin Li __m256i test_mm256_maskz_srai_epi32(__mmask8 __U, __m256i __A) {
4998*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srai_epi32
4999*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.di.256
5000*67e74705SXin Li   return _mm256_maskz_srai_epi32(__U, __A, 5);
5001*67e74705SXin Li }
5002*67e74705SXin Li 
test_mm_sra_epi64(__m128i __A,__m128i __B)5003*67e74705SXin Li __m128i test_mm_sra_epi64(__m128i __A, __m128i __B) {
5004*67e74705SXin Li   // CHECK-LABEL: @test_mm_sra_epi64
5005*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.q.128
5006*67e74705SXin Li   return _mm_sra_epi64(__A, __B);
5007*67e74705SXin Li }
5008*67e74705SXin Li 
test_mm_mask_sra_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5009*67e74705SXin Li __m128i test_mm_mask_sra_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
5010*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_sra_epi64
5011*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.q.128
5012*67e74705SXin Li   return _mm_mask_sra_epi64(__W, __U, __A, __B);
5013*67e74705SXin Li }
5014*67e74705SXin Li 
test_mm_maskz_sra_epi64(__mmask8 __U,__m128i __A,__m128i __B)5015*67e74705SXin Li __m128i test_mm_maskz_sra_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
5016*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_sra_epi64
5017*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.q.128
5018*67e74705SXin Li   return _mm_maskz_sra_epi64(__U, __A, __B);
5019*67e74705SXin Li }
5020*67e74705SXin Li 
test_mm256_sra_epi64(__m256i __A,__m128i __B)5021*67e74705SXin Li __m256i test_mm256_sra_epi64(__m256i __A, __m128i __B) {
5022*67e74705SXin Li   // CHECK-LABEL: @test_mm256_sra_epi64
5023*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.q.256
5024*67e74705SXin Li   return _mm256_sra_epi64(__A, __B);
5025*67e74705SXin Li }
5026*67e74705SXin Li 
test_mm256_mask_sra_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)5027*67e74705SXin Li __m256i test_mm256_mask_sra_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
5028*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_sra_epi64
5029*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.q.256
5030*67e74705SXin Li   return _mm256_mask_sra_epi64(__W, __U, __A, __B);
5031*67e74705SXin Li }
5032*67e74705SXin Li 
test_mm256_maskz_sra_epi64(__mmask8 __U,__m256i __A,__m128i __B)5033*67e74705SXin Li __m256i test_mm256_maskz_sra_epi64(__mmask8 __U, __m256i __A, __m128i __B) {
5034*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_sra_epi64
5035*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.q.256
5036*67e74705SXin Li   return _mm256_maskz_sra_epi64(__U, __A, __B);
5037*67e74705SXin Li }
5038*67e74705SXin Li 
test_mm_srai_epi64(__m128i __A)5039*67e74705SXin Li __m128i test_mm_srai_epi64(__m128i __A) {
5040*67e74705SXin Li   // CHECK-LABEL: @test_mm_srai_epi64
5041*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.qi.128
5042*67e74705SXin Li   return _mm_srai_epi64(__A, 5);
5043*67e74705SXin Li }
5044*67e74705SXin Li 
test_mm_mask_srai_epi64(__m128i __W,__mmask8 __U,__m128i __A)5045*67e74705SXin Li __m128i test_mm_mask_srai_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
5046*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_srai_epi64
5047*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.qi.128
5048*67e74705SXin Li   return _mm_mask_srai_epi64(__W, __U, __A, 5);
5049*67e74705SXin Li }
5050*67e74705SXin Li 
test_mm_maskz_srai_epi64(__mmask8 __U,__m128i __A)5051*67e74705SXin Li __m128i test_mm_maskz_srai_epi64(__mmask8 __U, __m128i __A) {
5052*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_srai_epi64
5053*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.qi.128
5054*67e74705SXin Li   return _mm_maskz_srai_epi64(__U, __A, 5);
5055*67e74705SXin Li }
5056*67e74705SXin Li 
test_mm256_srai_epi64(__m256i __A)5057*67e74705SXin Li __m256i test_mm256_srai_epi64(__m256i __A) {
5058*67e74705SXin Li   // CHECK-LABEL: @test_mm256_srai_epi64
5059*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.qi.256
5060*67e74705SXin Li   return _mm256_srai_epi64(__A, 5);
5061*67e74705SXin Li }
5062*67e74705SXin Li 
test_mm256_mask_srai_epi64(__m256i __W,__mmask8 __U,__m256i __A)5063*67e74705SXin Li __m256i test_mm256_mask_srai_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
5064*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_srai_epi64
5065*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.qi.256
5066*67e74705SXin Li   return _mm256_mask_srai_epi64(__W, __U, __A, 5);
5067*67e74705SXin Li }
5068*67e74705SXin Li 
test_mm256_maskz_srai_epi64(__mmask8 __U,__m256i __A)5069*67e74705SXin Li __m256i test_mm256_maskz_srai_epi64(__mmask8 __U, __m256i __A) {
5070*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_srai_epi64
5071*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.psra.qi.256
5072*67e74705SXin Li   return _mm256_maskz_srai_epi64(__U, __A, 5);
5073*67e74705SXin Li }
5074*67e74705SXin Li 
test_mm_ternarylogic_epi32(__m128i __A,__m128i __B,__m128i __C)5075*67e74705SXin Li __m128i test_mm_ternarylogic_epi32(__m128i __A, __m128i __B, __m128i __C) {
5076*67e74705SXin Li   // CHECK-LABEL: @test_mm_ternarylogic_epi32
5077*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.d.128
5078*67e74705SXin Li   return _mm_ternarylogic_epi32(__A, __B, __C, 4);
5079*67e74705SXin Li }
5080*67e74705SXin Li 
test_mm_mask_ternarylogic_epi32(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C)5081*67e74705SXin Li __m128i test_mm_mask_ternarylogic_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
5082*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_ternarylogic_epi32
5083*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.d.128
5084*67e74705SXin Li   return _mm_mask_ternarylogic_epi32(__A, __U, __B, __C, 4);
5085*67e74705SXin Li }
5086*67e74705SXin Li 
test_mm_maskz_ternarylogic_epi32(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C)5087*67e74705SXin Li __m128i test_mm_maskz_ternarylogic_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
5088*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_ternarylogic_epi32
5089*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.pternlog.d.128
5090*67e74705SXin Li   return _mm_maskz_ternarylogic_epi32(__U, __A, __B, __C, 4);
5091*67e74705SXin Li }
5092*67e74705SXin Li 
test_mm256_ternarylogic_epi32(__m256i __A,__m256i __B,__m256i __C)5093*67e74705SXin Li __m256i test_mm256_ternarylogic_epi32(__m256i __A, __m256i __B, __m256i __C) {
5094*67e74705SXin Li   // CHECK-LABEL: @test_mm256_ternarylogic_epi32
5095*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.d.256
5096*67e74705SXin Li   return _mm256_ternarylogic_epi32(__A, __B, __C, 4);
5097*67e74705SXin Li }
5098*67e74705SXin Li 
test_mm256_mask_ternarylogic_epi32(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C)5099*67e74705SXin Li __m256i test_mm256_mask_ternarylogic_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
5100*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_ternarylogic_epi32
5101*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.d.256
5102*67e74705SXin Li   return _mm256_mask_ternarylogic_epi32(__A, __U, __B, __C, 4);
5103*67e74705SXin Li }
5104*67e74705SXin Li 
test_mm256_maskz_ternarylogic_epi32(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C)5105*67e74705SXin Li __m256i test_mm256_maskz_ternarylogic_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
5106*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_ternarylogic_epi32
5107*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.pternlog.d.256
5108*67e74705SXin Li   return _mm256_maskz_ternarylogic_epi32(__U, __A, __B, __C, 4);
5109*67e74705SXin Li }
5110*67e74705SXin Li 
test_mm_ternarylogic_epi64(__m128i __A,__m128i __B,__m128i __C)5111*67e74705SXin Li __m128i test_mm_ternarylogic_epi64(__m128i __A, __m128i __B, __m128i __C) {
5112*67e74705SXin Li   // CHECK-LABEL: @test_mm_ternarylogic_epi64
5113*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.q.128
5114*67e74705SXin Li   return _mm_ternarylogic_epi64(__A, __B, __C, 4);
5115*67e74705SXin Li }
5116*67e74705SXin Li 
test_mm_mask_ternarylogic_epi64(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C)5117*67e74705SXin Li __m128i test_mm_mask_ternarylogic_epi64(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
5118*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_ternarylogic_epi64
5119*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.q.128
5120*67e74705SXin Li   return _mm_mask_ternarylogic_epi64(__A, __U, __B, __C, 4);
5121*67e74705SXin Li }
5122*67e74705SXin Li 
test_mm_maskz_ternarylogic_epi64(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C)5123*67e74705SXin Li __m128i test_mm_maskz_ternarylogic_epi64(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
5124*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_ternarylogic_epi64
5125*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.pternlog.q.128
5126*67e74705SXin Li   return _mm_maskz_ternarylogic_epi64(__U, __A, __B, __C, 4);
5127*67e74705SXin Li }
5128*67e74705SXin Li 
test_mm256_ternarylogic_epi64(__m256i __A,__m256i __B,__m256i __C)5129*67e74705SXin Li __m256i test_mm256_ternarylogic_epi64(__m256i __A, __m256i __B, __m256i __C) {
5130*67e74705SXin Li   // CHECK-LABEL: @test_mm256_ternarylogic_epi64
5131*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.q.256
5132*67e74705SXin Li   return _mm256_ternarylogic_epi64(__A, __B, __C, 4);
5133*67e74705SXin Li }
5134*67e74705SXin Li 
test_mm256_mask_ternarylogic_epi64(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C)5135*67e74705SXin Li __m256i test_mm256_mask_ternarylogic_epi64(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
5136*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_ternarylogic_epi64
5137*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pternlog.q.256
5138*67e74705SXin Li   return _mm256_mask_ternarylogic_epi64(__A, __U, __B, __C, 4);
5139*67e74705SXin Li }
5140*67e74705SXin Li 
test_mm256_maskz_ternarylogic_epi64(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C)5141*67e74705SXin Li __m256i test_mm256_maskz_ternarylogic_epi64(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
5142*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_ternarylogic_epi64
5143*67e74705SXin Li   // CHECK: @llvm.x86.avx512.maskz.pternlog.q.256
5144*67e74705SXin Li   return _mm256_maskz_ternarylogic_epi64(__U, __A, __B, __C, 4);
5145*67e74705SXin Li }
test_mm256_shuffle_f32x4(__m256 __A,__m256 __B)5146*67e74705SXin Li __m256 test_mm256_shuffle_f32x4(__m256 __A, __m256 __B) {
5147*67e74705SXin Li   // CHECK-LABEL: @test_mm256_shuffle_f32x4
5148*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.f32x4
5149*67e74705SXin Li   return _mm256_shuffle_f32x4(__A, __B, 3);
5150*67e74705SXin Li }
5151*67e74705SXin Li 
test_mm256_mask_shuffle_f32x4(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)5152*67e74705SXin Li __m256 test_mm256_mask_shuffle_f32x4(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
5153*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_shuffle_f32x4
5154*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.f32x4
5155*67e74705SXin Li   return _mm256_mask_shuffle_f32x4(__W, __U, __A, __B, 3);
5156*67e74705SXin Li }
5157*67e74705SXin Li 
test_mm256_maskz_shuffle_f32x4(__mmask8 __U,__m256 __A,__m256 __B)5158*67e74705SXin Li __m256 test_mm256_maskz_shuffle_f32x4(__mmask8 __U, __m256 __A, __m256 __B) {
5159*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_shuffle_f32x4
5160*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.f32x4
5161*67e74705SXin Li   return _mm256_maskz_shuffle_f32x4(__U, __A, __B, 3);
5162*67e74705SXin Li }
5163*67e74705SXin Li 
test_mm256_shuffle_f64x2(__m256d __A,__m256d __B)5164*67e74705SXin Li __m256d test_mm256_shuffle_f64x2(__m256d __A, __m256d __B) {
5165*67e74705SXin Li   // CHECK-LABEL: @test_mm256_shuffle_f64x2
5166*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.f64x2
5167*67e74705SXin Li   return _mm256_shuffle_f64x2(__A, __B, 3);
5168*67e74705SXin Li }
5169*67e74705SXin Li 
test_mm256_mask_shuffle_f64x2(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)5170*67e74705SXin Li __m256d test_mm256_mask_shuffle_f64x2(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
5171*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_shuffle_f64x2
5172*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.f64x2
5173*67e74705SXin Li   return _mm256_mask_shuffle_f64x2(__W, __U, __A, __B, 3);
5174*67e74705SXin Li }
5175*67e74705SXin Li 
test_mm256_maskz_shuffle_f64x2(__mmask8 __U,__m256d __A,__m256d __B)5176*67e74705SXin Li __m256d test_mm256_maskz_shuffle_f64x2(__mmask8 __U, __m256d __A, __m256d __B) {
5177*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_shuffle_f64x2
5178*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.f64x2
5179*67e74705SXin Li   return _mm256_maskz_shuffle_f64x2(__U, __A, __B, 3);
5180*67e74705SXin Li }
5181*67e74705SXin Li 
test_mm256_shuffle_i32x4(__m256i __A,__m256i __B)5182*67e74705SXin Li __m256i test_mm256_shuffle_i32x4(__m256i __A, __m256i __B) {
5183*67e74705SXin Li   // CHECK-LABEL: @test_mm256_shuffle_i32x4
5184*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.i32x4
5185*67e74705SXin Li   return _mm256_shuffle_i32x4(__A, __B, 3);
5186*67e74705SXin Li }
5187*67e74705SXin Li 
test_mm256_mask_shuffle_i32x4(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5188*67e74705SXin Li __m256i test_mm256_mask_shuffle_i32x4(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
5189*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_shuffle_i32x4
5190*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.i32x4
5191*67e74705SXin Li   return _mm256_mask_shuffle_i32x4(__W, __U, __A, __B, 3);
5192*67e74705SXin Li }
5193*67e74705SXin Li 
test_mm256_maskz_shuffle_i32x4(__mmask8 __U,__m256i __A,__m256i __B)5194*67e74705SXin Li __m256i test_mm256_maskz_shuffle_i32x4(__mmask8 __U, __m256i __A, __m256i __B) {
5195*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_shuffle_i32x4
5196*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.i32x4
5197*67e74705SXin Li   return _mm256_maskz_shuffle_i32x4(__U, __A, __B, 3);
5198*67e74705SXin Li }
5199*67e74705SXin Li 
test_mm256_shuffle_i64x2(__m256i __A,__m256i __B)5200*67e74705SXin Li __m256i test_mm256_shuffle_i64x2(__m256i __A, __m256i __B) {
5201*67e74705SXin Li   // CHECK-LABEL: @test_mm256_shuffle_i64x2
5202*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.i64x2
5203*67e74705SXin Li   return _mm256_shuffle_i64x2(__A, __B, 3);
5204*67e74705SXin Li }
5205*67e74705SXin Li 
test_mm256_mask_shuffle_i64x2(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5206*67e74705SXin Li __m256i test_mm256_mask_shuffle_i64x2(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
5207*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_shuffle_i64x2
5208*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.i64x2
5209*67e74705SXin Li   return _mm256_mask_shuffle_i64x2(__W, __U, __A, __B, 3);
5210*67e74705SXin Li }
5211*67e74705SXin Li 
test_mm256_maskz_shuffle_i64x2(__mmask8 __U,__m256i __A,__m256i __B)5212*67e74705SXin Li __m256i test_mm256_maskz_shuffle_i64x2(__mmask8 __U, __m256i __A, __m256i __B) {
5213*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_shuffle_i64x2
5214*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.shuf.i64x2
5215*67e74705SXin Li   return _mm256_maskz_shuffle_i64x2(__U, __A, __B, 3);
5216*67e74705SXin Li }
5217*67e74705SXin Li 
test_mm_mask_shuffle_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)5218*67e74705SXin Li __m128d test_mm_mask_shuffle_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
5219*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_shuffle_pd
5220*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> <i32 1, i32 3>
5221*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
5222*67e74705SXin Li   return _mm_mask_shuffle_pd(__W, __U, __A, __B, 3);
5223*67e74705SXin Li }
5224*67e74705SXin Li 
test_mm_maskz_shuffle_pd(__mmask8 __U,__m128d __A,__m128d __B)5225*67e74705SXin Li __m128d test_mm_maskz_shuffle_pd(__mmask8 __U, __m128d __A, __m128d __B) {
5226*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_shuffle_pd
5227*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <2 x i32> <i32 1, i32 3>
5228*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
5229*67e74705SXin Li   return _mm_maskz_shuffle_pd(__U, __A, __B, 3);
5230*67e74705SXin Li }
5231*67e74705SXin Li 
test_mm256_mask_shuffle_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)5232*67e74705SXin Li __m256d test_mm256_mask_shuffle_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
5233*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_shuffle_pd
5234*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> %{{.*}}, <4 x i32> <i32 1, i32 5, i32 2, i32 6>
5235*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
5236*67e74705SXin Li   return _mm256_mask_shuffle_pd(__W, __U, __A, __B, 3);
5237*67e74705SXin Li }
5238*67e74705SXin Li 
test_mm256_maskz_shuffle_pd(__mmask8 __U,__m256d __A,__m256d __B)5239*67e74705SXin Li __m256d test_mm256_maskz_shuffle_pd(__mmask8 __U, __m256d __A, __m256d __B) {
5240*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_shuffle_pd
5241*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> %{{.*}}, <4 x i32> <i32 1, i32 5, i32 2, i32 6>
5242*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
5243*67e74705SXin Li   return _mm256_maskz_shuffle_pd(__U, __A, __B, 3);
5244*67e74705SXin Li }
5245*67e74705SXin Li 
test_mm_mask_shuffle_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)5246*67e74705SXin Li __m128 test_mm_mask_shuffle_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
5247*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_shuffle_ps
5248*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 4, i32 4>
5249*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
5250*67e74705SXin Li   return _mm_mask_shuffle_ps(__W, __U, __A, __B, 4);
5251*67e74705SXin Li }
5252*67e74705SXin Li 
test_mm_maskz_shuffle_ps(__mmask8 __U,__m128 __A,__m128 __B)5253*67e74705SXin Li __m128 test_mm_maskz_shuffle_ps(__mmask8 __U, __m128 __A, __m128 __B) {
5254*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_shuffle_ps
5255*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 4, i32 4>
5256*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
5257*67e74705SXin Li   return _mm_maskz_shuffle_ps(__U, __A, __B, 4);
5258*67e74705SXin Li }
5259*67e74705SXin Li 
test_mm256_mask_shuffle_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)5260*67e74705SXin Li __m256 test_mm256_mask_shuffle_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
5261*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_shuffle_ps
5262*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 8, i32 8, i32 4, i32 5, i32 12, i32 12>
5263*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
5264*67e74705SXin Li   return _mm256_mask_shuffle_ps(__W, __U, __A, __B, 4);
5265*67e74705SXin Li }
5266*67e74705SXin Li 
test_mm256_maskz_shuffle_ps(__mmask8 __U,__m256 __A,__m256 __B)5267*67e74705SXin Li __m256 test_mm256_maskz_shuffle_ps(__mmask8 __U, __m256 __A, __m256 __B) {
5268*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_shuffle_ps
5269*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 8, i32 8, i32 4, i32 5, i32 12, i32 12>
5270*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
5271*67e74705SXin Li   return _mm256_maskz_shuffle_ps(__U, __A, __B, 4);
5272*67e74705SXin Li }
5273*67e74705SXin Li 
test_mm_rsqrt14_pd(__m128d __A)5274*67e74705SXin Li __m128d test_mm_rsqrt14_pd(__m128d __A) {
5275*67e74705SXin Li   // CHECK-LABEL: @test_mm_rsqrt14_pd
5276*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.pd.128
5277*67e74705SXin Li   return _mm_rsqrt14_pd(__A);
5278*67e74705SXin Li }
5279*67e74705SXin Li 
test_mm_mask_rsqrt14_pd(__m128d __W,__mmask8 __U,__m128d __A)5280*67e74705SXin Li __m128d test_mm_mask_rsqrt14_pd(__m128d __W, __mmask8 __U, __m128d __A) {
5281*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rsqrt14_pd
5282*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.pd.128
5283*67e74705SXin Li   return _mm_mask_rsqrt14_pd(__W, __U, __A);
5284*67e74705SXin Li }
5285*67e74705SXin Li 
test_mm_maskz_rsqrt14_pd(__mmask8 __U,__m128d __A)5286*67e74705SXin Li __m128d test_mm_maskz_rsqrt14_pd(__mmask8 __U, __m128d __A) {
5287*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rsqrt14_pd
5288*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.pd.128
5289*67e74705SXin Li   return _mm_maskz_rsqrt14_pd(__U, __A);
5290*67e74705SXin Li }
5291*67e74705SXin Li 
test_mm256_rsqrt14_pd(__m256d __A)5292*67e74705SXin Li __m256d test_mm256_rsqrt14_pd(__m256d __A) {
5293*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rsqrt14_pd
5294*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.pd.256
5295*67e74705SXin Li   return _mm256_rsqrt14_pd(__A);
5296*67e74705SXin Li }
5297*67e74705SXin Li 
test_mm256_mask_rsqrt14_pd(__m256d __W,__mmask8 __U,__m256d __A)5298*67e74705SXin Li __m256d test_mm256_mask_rsqrt14_pd(__m256d __W, __mmask8 __U, __m256d __A) {
5299*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rsqrt14_pd
5300*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.pd.256
5301*67e74705SXin Li   return _mm256_mask_rsqrt14_pd(__W, __U, __A);
5302*67e74705SXin Li }
5303*67e74705SXin Li 
test_mm256_maskz_rsqrt14_pd(__mmask8 __U,__m256d __A)5304*67e74705SXin Li __m256d test_mm256_maskz_rsqrt14_pd(__mmask8 __U, __m256d __A) {
5305*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rsqrt14_pd
5306*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.pd.256
5307*67e74705SXin Li   return _mm256_maskz_rsqrt14_pd(__U, __A);
5308*67e74705SXin Li }
5309*67e74705SXin Li 
test_mm_rsqrt14_ps(__m128 __A)5310*67e74705SXin Li __m128 test_mm_rsqrt14_ps(__m128 __A) {
5311*67e74705SXin Li   // CHECK-LABEL: @test_mm_rsqrt14_ps
5312*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.ps.128
5313*67e74705SXin Li   return _mm_rsqrt14_ps(__A);
5314*67e74705SXin Li }
5315*67e74705SXin Li 
test_mm_mask_rsqrt14_ps(__m128 __W,__mmask8 __U,__m128 __A)5316*67e74705SXin Li __m128 test_mm_mask_rsqrt14_ps(__m128 __W, __mmask8 __U, __m128 __A) {
5317*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_rsqrt14_ps
5318*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.ps.128
5319*67e74705SXin Li   return _mm_mask_rsqrt14_ps(__W, __U, __A);
5320*67e74705SXin Li }
5321*67e74705SXin Li 
test_mm_maskz_rsqrt14_ps(__mmask8 __U,__m128 __A)5322*67e74705SXin Li __m128 test_mm_maskz_rsqrt14_ps(__mmask8 __U, __m128 __A) {
5323*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_rsqrt14_ps
5324*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.ps.128
5325*67e74705SXin Li   return _mm_maskz_rsqrt14_ps(__U, __A);
5326*67e74705SXin Li }
5327*67e74705SXin Li 
test_mm256_rsqrt14_ps(__m256 __A)5328*67e74705SXin Li __m256 test_mm256_rsqrt14_ps(__m256 __A) {
5329*67e74705SXin Li   // CHECK-LABEL: @test_mm256_rsqrt14_ps
5330*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.ps.256
5331*67e74705SXin Li   return _mm256_rsqrt14_ps(__A);
5332*67e74705SXin Li }
5333*67e74705SXin Li 
test_mm256_mask_rsqrt14_ps(__m256 __W,__mmask8 __U,__m256 __A)5334*67e74705SXin Li __m256 test_mm256_mask_rsqrt14_ps(__m256 __W, __mmask8 __U, __m256 __A) {
5335*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_rsqrt14_ps
5336*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.ps.256
5337*67e74705SXin Li   return _mm256_mask_rsqrt14_ps(__W, __U, __A);
5338*67e74705SXin Li }
5339*67e74705SXin Li 
test_mm256_maskz_rsqrt14_ps(__mmask8 __U,__m256 __A)5340*67e74705SXin Li __m256 test_mm256_maskz_rsqrt14_ps(__mmask8 __U, __m256 __A) {
5341*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_rsqrt14_ps
5342*67e74705SXin Li   // CHECK: @llvm.x86.avx512.rsqrt14.ps.256
5343*67e74705SXin Li   return _mm256_maskz_rsqrt14_ps(__U, __A);
5344*67e74705SXin Li }
5345*67e74705SXin Li 
test_mm256_broadcast_f32x4(__m128 __A)5346*67e74705SXin Li __m256 test_mm256_broadcast_f32x4(__m128 __A) {
5347*67e74705SXin Li   // CHECK-LABEL: @test_mm256_broadcast_f32x4
5348*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.broadcastf32x4
5349*67e74705SXin Li   return _mm256_broadcast_f32x4(__A);
5350*67e74705SXin Li }
5351*67e74705SXin Li 
test_mm256_mask_broadcast_f32x4(__m256 __O,__mmask8 __M,__m128 __A)5352*67e74705SXin Li __m256 test_mm256_mask_broadcast_f32x4(__m256 __O, __mmask8 __M, __m128 __A) {
5353*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_broadcast_f32x4
5354*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.broadcastf32x4
5355*67e74705SXin Li   return _mm256_mask_broadcast_f32x4(__O, __M, __A);
5356*67e74705SXin Li }
5357*67e74705SXin Li 
test_mm256_maskz_broadcast_f32x4(__mmask8 __M,__m128 __A)5358*67e74705SXin Li __m256 test_mm256_maskz_broadcast_f32x4(__mmask8 __M, __m128 __A) {
5359*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_broadcast_f32x4
5360*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.broadcastf32x4
5361*67e74705SXin Li   return _mm256_maskz_broadcast_f32x4(__M, __A);
5362*67e74705SXin Li }
5363*67e74705SXin Li 
test_mm256_broadcast_i32x4(__m128i __A)5364*67e74705SXin Li __m256i test_mm256_broadcast_i32x4(__m128i __A) {
5365*67e74705SXin Li   // CHECK-LABEL: @test_mm256_broadcast_i32x4
5366*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.broadcasti32x4
5367*67e74705SXin Li   return _mm256_broadcast_i32x4(__A);
5368*67e74705SXin Li }
5369*67e74705SXin Li 
test_mm256_mask_broadcast_i32x4(__m256i __O,__mmask8 __M,__m128i __A)5370*67e74705SXin Li __m256i test_mm256_mask_broadcast_i32x4(__m256i __O, __mmask8 __M, __m128i __A) {
5371*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_broadcast_i32x4
5372*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.broadcasti32x4
5373*67e74705SXin Li   return _mm256_mask_broadcast_i32x4(__O, __M, __A);
5374*67e74705SXin Li }
5375*67e74705SXin Li 
test_mm256_maskz_broadcast_i32x4(__mmask8 __M,__m128i __A)5376*67e74705SXin Li __m256i test_mm256_maskz_broadcast_i32x4(__mmask8 __M, __m128i __A) {
5377*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_broadcast_i32x4
5378*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.broadcasti32x4
5379*67e74705SXin Li   return _mm256_maskz_broadcast_i32x4(__M, __A);
5380*67e74705SXin Li }
5381*67e74705SXin Li 
test_mm256_mask_broadcastsd_pd(__m256d __O,__mmask8 __M,__m128d __A)5382*67e74705SXin Li __m256d test_mm256_mask_broadcastsd_pd(__m256d __O, __mmask8 __M, __m128d __A) {
5383*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_broadcastsd_pd
5384*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <4 x i32> zeroinitializer
5385*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
5386*67e74705SXin Li   return _mm256_mask_broadcastsd_pd(__O, __M, __A);
5387*67e74705SXin Li }
5388*67e74705SXin Li 
test_mm256_maskz_broadcastsd_pd(__mmask8 __M,__m128d __A)5389*67e74705SXin Li __m256d test_mm256_maskz_broadcastsd_pd(__mmask8 __M, __m128d __A) {
5390*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_broadcastsd_pd
5391*67e74705SXin Li   // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <4 x i32> zeroinitializer
5392*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
5393*67e74705SXin Li   return _mm256_maskz_broadcastsd_pd(__M, __A);
5394*67e74705SXin Li }
5395*67e74705SXin Li 
test_mm_mask_broadcastss_ps(__m128 __O,__mmask8 __M,__m128 __A)5396*67e74705SXin Li __m128 test_mm_mask_broadcastss_ps(__m128 __O, __mmask8 __M, __m128 __A) {
5397*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_broadcastss_ps
5398*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> zeroinitializer
5399*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
5400*67e74705SXin Li   return _mm_mask_broadcastss_ps(__O, __M, __A);
5401*67e74705SXin Li }
5402*67e74705SXin Li 
test_mm_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)5403*67e74705SXin Li __m128 test_mm_maskz_broadcastss_ps(__mmask8 __M, __m128 __A) {
5404*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_broadcastss_ps
5405*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> zeroinitializer
5406*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
5407*67e74705SXin Li   return _mm_maskz_broadcastss_ps(__M, __A);
5408*67e74705SXin Li }
5409*67e74705SXin Li 
test_mm256_mask_broadcastss_ps(__m256 __O,__mmask8 __M,__m128 __A)5410*67e74705SXin Li __m256 test_mm256_mask_broadcastss_ps(__m256 __O, __mmask8 __M, __m128 __A) {
5411*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_broadcastss_ps
5412*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <8 x i32> zeroinitializer
5413*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
5414*67e74705SXin Li   return _mm256_mask_broadcastss_ps(__O, __M, __A);
5415*67e74705SXin Li }
5416*67e74705SXin Li 
test_mm256_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)5417*67e74705SXin Li __m256 test_mm256_maskz_broadcastss_ps(__mmask8 __M, __m128 __A) {
5418*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_broadcastss_ps
5419*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <8 x i32> zeroinitializer
5420*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
5421*67e74705SXin Li   return _mm256_maskz_broadcastss_ps(__M, __A);
5422*67e74705SXin Li }
5423*67e74705SXin Li 
test_mm_mask_broadcastd_epi32(__m128i __O,__mmask8 __M,__m128i __A)5424*67e74705SXin Li __m128i test_mm_mask_broadcastd_epi32(__m128i __O, __mmask8 __M, __m128i __A) {
5425*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_broadcastd_epi32
5426*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> zeroinitializer
5427*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
5428*67e74705SXin Li   return _mm_mask_broadcastd_epi32(__O, __M, __A);
5429*67e74705SXin Li }
5430*67e74705SXin Li 
test_mm_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)5431*67e74705SXin Li __m128i test_mm_maskz_broadcastd_epi32(__mmask8 __M, __m128i __A) {
5432*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_broadcastd_epi32
5433*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> zeroinitializer
5434*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
5435*67e74705SXin Li   return _mm_maskz_broadcastd_epi32(__M, __A);
5436*67e74705SXin Li }
5437*67e74705SXin Li 
test_mm256_mask_broadcastd_epi32(__m256i __O,__mmask8 __M,__m128i __A)5438*67e74705SXin Li __m256i test_mm256_mask_broadcastd_epi32(__m256i __O, __mmask8 __M, __m128i __A) {
5439*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_broadcastd_epi32
5440*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <8 x i32> zeroinitializer
5441*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
5442*67e74705SXin Li   return _mm256_mask_broadcastd_epi32(__O, __M, __A);
5443*67e74705SXin Li }
5444*67e74705SXin Li 
test_mm256_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)5445*67e74705SXin Li __m256i test_mm256_maskz_broadcastd_epi32(__mmask8 __M, __m128i __A) {
5446*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_broadcastd_epi32
5447*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <8 x i32> zeroinitializer
5448*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
5449*67e74705SXin Li   return _mm256_maskz_broadcastd_epi32(__M, __A);
5450*67e74705SXin Li }
5451*67e74705SXin Li 
test_mm_mask_broadcastq_epi64(__m128i __O,__mmask8 __M,__m128i __A)5452*67e74705SXin Li __m128i test_mm_mask_broadcastq_epi64(__m128i __O, __mmask8 __M, __m128i __A) {
5453*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_broadcastq_epi64
5454*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> zeroinitializer
5455*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
5456*67e74705SXin Li   return _mm_mask_broadcastq_epi64(__O, __M, __A);
5457*67e74705SXin Li }
5458*67e74705SXin Li 
test_mm_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)5459*67e74705SXin Li __m128i test_mm_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
5460*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_broadcastq_epi64
5461*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> zeroinitializer
5462*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
5463*67e74705SXin Li   return _mm_maskz_broadcastq_epi64(__M, __A);
5464*67e74705SXin Li }
5465*67e74705SXin Li 
test_mm256_mask_broadcastq_epi64(__m256i __O,__mmask8 __M,__m128i __A)5466*67e74705SXin Li __m256i test_mm256_mask_broadcastq_epi64(__m256i __O, __mmask8 __M, __m128i __A) {
5467*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_broadcastq_epi64
5468*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <4 x i32> zeroinitializer
5469*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
5470*67e74705SXin Li   return _mm256_mask_broadcastq_epi64(__O, __M, __A);
5471*67e74705SXin Li }
5472*67e74705SXin Li 
test_mm256_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)5473*67e74705SXin Li __m256i test_mm256_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
5474*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_broadcastq_epi64
5475*67e74705SXin Li   // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <4 x i32> zeroinitializer
5476*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
5477*67e74705SXin Li   return _mm256_maskz_broadcastq_epi64(__M, __A);
5478*67e74705SXin Li }
5479*67e74705SXin Li 
test_mm_cvtsepi32_epi8(__m128i __A)5480*67e74705SXin Li __m128i test_mm_cvtsepi32_epi8(__m128i __A) {
5481*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtsepi32_epi8
5482*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.128
5483*67e74705SXin Li   return _mm_cvtsepi32_epi8(__A);
5484*67e74705SXin Li }
5485*67e74705SXin Li 
test_mm_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)5486*67e74705SXin Li __m128i test_mm_mask_cvtsepi32_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
5487*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi32_epi8
5488*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.128
5489*67e74705SXin Li   return _mm_mask_cvtsepi32_epi8(__O, __M, __A);
5490*67e74705SXin Li }
5491*67e74705SXin Li 
test_mm_maskz_cvtsepi32_epi8(__mmask8 __M,__m128i __A)5492*67e74705SXin Li __m128i test_mm_maskz_cvtsepi32_epi8(__mmask8 __M, __m128i __A) {
5493*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtsepi32_epi8
5494*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.128
5495*67e74705SXin Li   return _mm_maskz_cvtsepi32_epi8(__M, __A);
5496*67e74705SXin Li }
5497*67e74705SXin Li 
test_mm_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)5498*67e74705SXin Li void test_mm_mask_cvtsepi32_storeu_epi8(void * __P, __mmask8 __M, __m128i __A) {
5499*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi32_storeu_epi8
5500*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.mem.128
5501*67e74705SXin Li   return _mm_mask_cvtsepi32_storeu_epi8(__P, __M, __A);
5502*67e74705SXin Li }
5503*67e74705SXin Li 
test_mm256_cvtsepi32_epi8(__m256i __A)5504*67e74705SXin Li __m128i test_mm256_cvtsepi32_epi8(__m256i __A) {
5505*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtsepi32_epi8
5506*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.256
5507*67e74705SXin Li   return _mm256_cvtsepi32_epi8(__A);
5508*67e74705SXin Li }
5509*67e74705SXin Li 
test_mm256_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)5510*67e74705SXin Li __m128i test_mm256_mask_cvtsepi32_epi8(__m128i __O, __mmask8 __M, __m256i __A) {
5511*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi32_epi8
5512*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.256
5513*67e74705SXin Li   return _mm256_mask_cvtsepi32_epi8(__O, __M, __A);
5514*67e74705SXin Li }
5515*67e74705SXin Li 
test_mm256_maskz_cvtsepi32_epi8(__mmask8 __M,__m256i __A)5516*67e74705SXin Li __m128i test_mm256_maskz_cvtsepi32_epi8(__mmask8 __M, __m256i __A) {
5517*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtsepi32_epi8
5518*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.256
5519*67e74705SXin Li   return _mm256_maskz_cvtsepi32_epi8(__M, __A);
5520*67e74705SXin Li }
5521*67e74705SXin Li 
test_mm256_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)5522*67e74705SXin Li void test_mm256_mask_cvtsepi32_storeu_epi8(void * __P, __mmask8 __M, __m256i __A) {
5523*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi32_storeu_epi8
5524*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.db.mem.256
5525*67e74705SXin Li   return _mm256_mask_cvtsepi32_storeu_epi8(__P, __M, __A);
5526*67e74705SXin Li }
5527*67e74705SXin Li 
test_mm_cvtsepi32_epi16(__m128i __A)5528*67e74705SXin Li __m128i test_mm_cvtsepi32_epi16(__m128i __A) {
5529*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtsepi32_epi16
5530*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.128
5531*67e74705SXin Li   return _mm_cvtsepi32_epi16(__A);
5532*67e74705SXin Li }
5533*67e74705SXin Li 
test_mm_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)5534*67e74705SXin Li __m128i test_mm_mask_cvtsepi32_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
5535*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi32_epi16
5536*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.128
5537*67e74705SXin Li   return _mm_mask_cvtsepi32_epi16(__O, __M, __A);
5538*67e74705SXin Li }
5539*67e74705SXin Li 
test_mm_maskz_cvtsepi32_epi16(__mmask8 __M,__m128i __A)5540*67e74705SXin Li __m128i test_mm_maskz_cvtsepi32_epi16(__mmask8 __M, __m128i __A) {
5541*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtsepi32_epi16
5542*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.128
5543*67e74705SXin Li   return _mm_maskz_cvtsepi32_epi16(__M, __A);
5544*67e74705SXin Li }
5545*67e74705SXin Li 
test_mm_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)5546*67e74705SXin Li void test_mm_mask_cvtsepi32_storeu_epi16(void * __P, __mmask8 __M, __m128i __A) {
5547*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi32_storeu_epi16
5548*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.mem.128
5549*67e74705SXin Li   return _mm_mask_cvtsepi32_storeu_epi16(__P, __M, __A);
5550*67e74705SXin Li }
5551*67e74705SXin Li 
test_mm256_cvtsepi32_epi16(__m256i __A)5552*67e74705SXin Li __m128i test_mm256_cvtsepi32_epi16(__m256i __A) {
5553*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtsepi32_epi16
5554*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.256
5555*67e74705SXin Li   return _mm256_cvtsepi32_epi16(__A);
5556*67e74705SXin Li }
5557*67e74705SXin Li 
test_mm256_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)5558*67e74705SXin Li __m128i test_mm256_mask_cvtsepi32_epi16(__m128i __O, __mmask8 __M, __m256i __A) {
5559*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi32_epi16
5560*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.256
5561*67e74705SXin Li   return _mm256_mask_cvtsepi32_epi16(__O, __M, __A);
5562*67e74705SXin Li }
5563*67e74705SXin Li 
test_mm256_maskz_cvtsepi32_epi16(__mmask8 __M,__m256i __A)5564*67e74705SXin Li __m128i test_mm256_maskz_cvtsepi32_epi16(__mmask8 __M, __m256i __A) {
5565*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtsepi32_epi16
5566*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.256
5567*67e74705SXin Li   return _mm256_maskz_cvtsepi32_epi16(__M, __A);
5568*67e74705SXin Li }
5569*67e74705SXin Li 
test_mm256_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)5570*67e74705SXin Li void test_mm256_mask_cvtsepi32_storeu_epi16(void * __P, __mmask8 __M, __m256i __A) {
5571*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi32_storeu_epi16
5572*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.dw.mem.256
5573*67e74705SXin Li   return _mm256_mask_cvtsepi32_storeu_epi16(__P, __M, __A);
5574*67e74705SXin Li }
5575*67e74705SXin Li 
test_mm_cvtsepi64_epi8(__m128i __A)5576*67e74705SXin Li __m128i test_mm_cvtsepi64_epi8(__m128i __A) {
5577*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtsepi64_epi8
5578*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.128
5579*67e74705SXin Li   return _mm_cvtsepi64_epi8(__A);
5580*67e74705SXin Li }
5581*67e74705SXin Li 
test_mm_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)5582*67e74705SXin Li __m128i test_mm_mask_cvtsepi64_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
5583*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi64_epi8
5584*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.128
5585*67e74705SXin Li   return _mm_mask_cvtsepi64_epi8(__O, __M, __A);
5586*67e74705SXin Li }
5587*67e74705SXin Li 
test_mm_maskz_cvtsepi64_epi8(__mmask8 __M,__m128i __A)5588*67e74705SXin Li __m128i test_mm_maskz_cvtsepi64_epi8(__mmask8 __M, __m128i __A) {
5589*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtsepi64_epi8
5590*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.128
5591*67e74705SXin Li   return _mm_maskz_cvtsepi64_epi8(__M, __A);
5592*67e74705SXin Li }
5593*67e74705SXin Li 
test_mm_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)5594*67e74705SXin Li void test_mm_mask_cvtsepi64_storeu_epi8(void * __P, __mmask8 __M, __m128i __A) {
5595*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi64_storeu_epi8
5596*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.mem.128
5597*67e74705SXin Li   return _mm_mask_cvtsepi64_storeu_epi8(__P, __M, __A);
5598*67e74705SXin Li }
5599*67e74705SXin Li 
test_mm256_cvtsepi64_epi8(__m256i __A)5600*67e74705SXin Li __m128i test_mm256_cvtsepi64_epi8(__m256i __A) {
5601*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtsepi64_epi8
5602*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.256
5603*67e74705SXin Li   return _mm256_cvtsepi64_epi8(__A);
5604*67e74705SXin Li }
5605*67e74705SXin Li 
test_mm256_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)5606*67e74705SXin Li __m128i test_mm256_mask_cvtsepi64_epi8(__m128i __O, __mmask8 __M, __m256i __A) {
5607*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi64_epi8
5608*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.256
5609*67e74705SXin Li   return _mm256_mask_cvtsepi64_epi8(__O, __M, __A);
5610*67e74705SXin Li }
5611*67e74705SXin Li 
test_mm256_maskz_cvtsepi64_epi8(__mmask8 __M,__m256i __A)5612*67e74705SXin Li __m128i test_mm256_maskz_cvtsepi64_epi8(__mmask8 __M, __m256i __A) {
5613*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtsepi64_epi8
5614*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.256
5615*67e74705SXin Li   return _mm256_maskz_cvtsepi64_epi8(__M, __A);
5616*67e74705SXin Li }
5617*67e74705SXin Li 
test_mm256_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)5618*67e74705SXin Li void test_mm256_mask_cvtsepi64_storeu_epi8(void * __P, __mmask8 __M, __m256i __A) {
5619*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi64_storeu_epi8
5620*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qb.mem.256
5621*67e74705SXin Li   return _mm256_mask_cvtsepi64_storeu_epi8(__P, __M, __A);
5622*67e74705SXin Li }
5623*67e74705SXin Li 
test_mm_cvtsepi64_epi32(__m128i __A)5624*67e74705SXin Li __m128i test_mm_cvtsepi64_epi32(__m128i __A) {
5625*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtsepi64_epi32
5626*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.128
5627*67e74705SXin Li   return _mm_cvtsepi64_epi32(__A);
5628*67e74705SXin Li }
5629*67e74705SXin Li 
test_mm_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)5630*67e74705SXin Li __m128i test_mm_mask_cvtsepi64_epi32(__m128i __O, __mmask8 __M, __m128i __A) {
5631*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi64_epi32
5632*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.128
5633*67e74705SXin Li   return _mm_mask_cvtsepi64_epi32(__O, __M, __A);
5634*67e74705SXin Li }
5635*67e74705SXin Li 
test_mm_maskz_cvtsepi64_epi32(__mmask8 __M,__m128i __A)5636*67e74705SXin Li __m128i test_mm_maskz_cvtsepi64_epi32(__mmask8 __M, __m128i __A) {
5637*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtsepi64_epi32
5638*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.128
5639*67e74705SXin Li   return _mm_maskz_cvtsepi64_epi32(__M, __A);
5640*67e74705SXin Li }
5641*67e74705SXin Li 
test_mm_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)5642*67e74705SXin Li void test_mm_mask_cvtsepi64_storeu_epi32(void * __P, __mmask8 __M, __m128i __A) {
5643*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi64_storeu_epi32
5644*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.mem.128
5645*67e74705SXin Li   return _mm_mask_cvtsepi64_storeu_epi32(__P, __M, __A);
5646*67e74705SXin Li }
5647*67e74705SXin Li 
test_mm256_cvtsepi64_epi32(__m256i __A)5648*67e74705SXin Li __m128i test_mm256_cvtsepi64_epi32(__m256i __A) {
5649*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtsepi64_epi32
5650*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.256
5651*67e74705SXin Li   return _mm256_cvtsepi64_epi32(__A);
5652*67e74705SXin Li }
5653*67e74705SXin Li 
test_mm256_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)5654*67e74705SXin Li __m128i test_mm256_mask_cvtsepi64_epi32(__m128i __O, __mmask8 __M, __m256i __A) {
5655*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi64_epi32
5656*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.256
5657*67e74705SXin Li   return _mm256_mask_cvtsepi64_epi32(__O, __M, __A);
5658*67e74705SXin Li }
5659*67e74705SXin Li 
test_mm256_maskz_cvtsepi64_epi32(__mmask8 __M,__m256i __A)5660*67e74705SXin Li __m128i test_mm256_maskz_cvtsepi64_epi32(__mmask8 __M, __m256i __A) {
5661*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtsepi64_epi32
5662*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.256
5663*67e74705SXin Li   return _mm256_maskz_cvtsepi64_epi32(__M, __A);
5664*67e74705SXin Li }
5665*67e74705SXin Li 
test_mm256_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)5666*67e74705SXin Li void test_mm256_mask_cvtsepi64_storeu_epi32(void * __P, __mmask8 __M, __m256i __A) {
5667*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi64_storeu_epi32
5668*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qd.mem.256
5669*67e74705SXin Li   return _mm256_mask_cvtsepi64_storeu_epi32(__P, __M, __A);
5670*67e74705SXin Li }
5671*67e74705SXin Li 
test_mm_cvtsepi64_epi16(__m128i __A)5672*67e74705SXin Li __m128i test_mm_cvtsepi64_epi16(__m128i __A) {
5673*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtsepi64_epi16
5674*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.128
5675*67e74705SXin Li   return _mm_cvtsepi64_epi16(__A);
5676*67e74705SXin Li }
5677*67e74705SXin Li 
test_mm_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)5678*67e74705SXin Li __m128i test_mm_mask_cvtsepi64_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
5679*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi64_epi16
5680*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.128
5681*67e74705SXin Li   return _mm_mask_cvtsepi64_epi16(__O, __M, __A);
5682*67e74705SXin Li }
5683*67e74705SXin Li 
test_mm_maskz_cvtsepi64_epi16(__mmask8 __M,__m128i __A)5684*67e74705SXin Li __m128i test_mm_maskz_cvtsepi64_epi16(__mmask8 __M, __m128i __A) {
5685*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtsepi64_epi16
5686*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.128
5687*67e74705SXin Li   return _mm_maskz_cvtsepi64_epi16(__M, __A);
5688*67e74705SXin Li }
5689*67e74705SXin Li 
test_mm_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)5690*67e74705SXin Li void test_mm_mask_cvtsepi64_storeu_epi16(void * __P, __mmask8 __M, __m128i __A) {
5691*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtsepi64_storeu_epi16
5692*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.mem.128
5693*67e74705SXin Li   return _mm_mask_cvtsepi64_storeu_epi16(__P, __M, __A);
5694*67e74705SXin Li }
5695*67e74705SXin Li 
test_mm256_cvtsepi64_epi16(__m256i __A)5696*67e74705SXin Li __m128i test_mm256_cvtsepi64_epi16(__m256i __A) {
5697*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtsepi64_epi16
5698*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.256
5699*67e74705SXin Li   return _mm256_cvtsepi64_epi16(__A);
5700*67e74705SXin Li }
5701*67e74705SXin Li 
test_mm256_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)5702*67e74705SXin Li __m128i test_mm256_mask_cvtsepi64_epi16(__m128i __O, __mmask8 __M, __m256i __A) {
5703*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi64_epi16
5704*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.256
5705*67e74705SXin Li   return _mm256_mask_cvtsepi64_epi16(__O, __M, __A);
5706*67e74705SXin Li }
5707*67e74705SXin Li 
test_mm256_maskz_cvtsepi64_epi16(__mmask8 __M,__m256i __A)5708*67e74705SXin Li __m128i test_mm256_maskz_cvtsepi64_epi16(__mmask8 __M, __m256i __A) {
5709*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtsepi64_epi16
5710*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.256
5711*67e74705SXin Li   return _mm256_maskz_cvtsepi64_epi16(__M, __A);
5712*67e74705SXin Li }
5713*67e74705SXin Li 
test_mm256_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)5714*67e74705SXin Li void test_mm256_mask_cvtsepi64_storeu_epi16(void * __P, __mmask8 __M, __m256i __A) {
5715*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtsepi64_storeu_epi16
5716*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovs.qw.mem.256
5717*67e74705SXin Li   return _mm256_mask_cvtsepi64_storeu_epi16(__P, __M, __A);
5718*67e74705SXin Li }
5719*67e74705SXin Li 
test_mm_cvtusepi32_epi8(__m128i __A)5720*67e74705SXin Li __m128i test_mm_cvtusepi32_epi8(__m128i __A) {
5721*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtusepi32_epi8
5722*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.128
5723*67e74705SXin Li   return _mm_cvtusepi32_epi8(__A);
5724*67e74705SXin Li }
5725*67e74705SXin Li 
test_mm_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)5726*67e74705SXin Li __m128i test_mm_mask_cvtusepi32_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
5727*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi32_epi8
5728*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.128
5729*67e74705SXin Li   return _mm_mask_cvtusepi32_epi8(__O, __M, __A);
5730*67e74705SXin Li }
5731*67e74705SXin Li 
test_mm_maskz_cvtusepi32_epi8(__mmask8 __M,__m128i __A)5732*67e74705SXin Li __m128i test_mm_maskz_cvtusepi32_epi8(__mmask8 __M, __m128i __A) {
5733*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtusepi32_epi8
5734*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.128
5735*67e74705SXin Li   return _mm_maskz_cvtusepi32_epi8(__M, __A);
5736*67e74705SXin Li }
5737*67e74705SXin Li 
test_mm_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)5738*67e74705SXin Li void test_mm_mask_cvtusepi32_storeu_epi8(void * __P, __mmask8 __M, __m128i __A) {
5739*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi32_storeu_epi8
5740*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.mem.128
5741*67e74705SXin Li   return _mm_mask_cvtusepi32_storeu_epi8(__P, __M, __A);
5742*67e74705SXin Li }
5743*67e74705SXin Li 
test_mm256_cvtusepi32_epi8(__m256i __A)5744*67e74705SXin Li __m128i test_mm256_cvtusepi32_epi8(__m256i __A) {
5745*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtusepi32_epi8
5746*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.256
5747*67e74705SXin Li   return _mm256_cvtusepi32_epi8(__A);
5748*67e74705SXin Li }
5749*67e74705SXin Li 
test_mm256_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)5750*67e74705SXin Li __m128i test_mm256_mask_cvtusepi32_epi8(__m128i __O, __mmask8 __M, __m256i __A) {
5751*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi32_epi8
5752*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.256
5753*67e74705SXin Li   return _mm256_mask_cvtusepi32_epi8(__O, __M, __A);
5754*67e74705SXin Li }
5755*67e74705SXin Li 
test_mm256_maskz_cvtusepi32_epi8(__mmask8 __M,__m256i __A)5756*67e74705SXin Li __m128i test_mm256_maskz_cvtusepi32_epi8(__mmask8 __M, __m256i __A) {
5757*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtusepi32_epi8
5758*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.256
5759*67e74705SXin Li   return _mm256_maskz_cvtusepi32_epi8(__M, __A);
5760*67e74705SXin Li }
5761*67e74705SXin Li 
test_mm256_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)5762*67e74705SXin Li void test_mm256_mask_cvtusepi32_storeu_epi8(void * __P, __mmask8 __M, __m256i __A) {
5763*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi32_storeu_epi8
5764*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.db.mem.256
5765*67e74705SXin Li   return _mm256_mask_cvtusepi32_storeu_epi8(__P, __M, __A);
5766*67e74705SXin Li }
5767*67e74705SXin Li 
test_mm_cvtusepi32_epi16(__m128i __A)5768*67e74705SXin Li __m128i test_mm_cvtusepi32_epi16(__m128i __A) {
5769*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtusepi32_epi16
5770*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.128
5771*67e74705SXin Li   return _mm_cvtusepi32_epi16(__A);
5772*67e74705SXin Li }
5773*67e74705SXin Li 
test_mm_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)5774*67e74705SXin Li __m128i test_mm_mask_cvtusepi32_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
5775*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi32_epi16
5776*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.128
5777*67e74705SXin Li   return _mm_mask_cvtusepi32_epi16(__O, __M, __A);
5778*67e74705SXin Li }
5779*67e74705SXin Li 
test_mm_maskz_cvtusepi32_epi16(__mmask8 __M,__m128i __A)5780*67e74705SXin Li __m128i test_mm_maskz_cvtusepi32_epi16(__mmask8 __M, __m128i __A) {
5781*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtusepi32_epi16
5782*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.128
5783*67e74705SXin Li   return _mm_maskz_cvtusepi32_epi16(__M, __A);
5784*67e74705SXin Li }
5785*67e74705SXin Li 
test_mm_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)5786*67e74705SXin Li void test_mm_mask_cvtusepi32_storeu_epi16(void * __P, __mmask8 __M, __m128i __A) {
5787*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi32_storeu_epi16
5788*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.mem.128
5789*67e74705SXin Li   return _mm_mask_cvtusepi32_storeu_epi16(__P, __M, __A);
5790*67e74705SXin Li }
5791*67e74705SXin Li 
test_mm256_cvtusepi32_epi16(__m256i __A)5792*67e74705SXin Li __m128i test_mm256_cvtusepi32_epi16(__m256i __A) {
5793*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtusepi32_epi16
5794*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.256
5795*67e74705SXin Li   return _mm256_cvtusepi32_epi16(__A);
5796*67e74705SXin Li }
5797*67e74705SXin Li 
test_mm256_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)5798*67e74705SXin Li __m128i test_mm256_mask_cvtusepi32_epi16(__m128i __O, __mmask8 __M, __m256i __A) {
5799*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi32_epi16
5800*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.256
5801*67e74705SXin Li   return _mm256_mask_cvtusepi32_epi16(__O, __M, __A);
5802*67e74705SXin Li }
5803*67e74705SXin Li 
test_mm256_maskz_cvtusepi32_epi16(__mmask8 __M,__m256i __A)5804*67e74705SXin Li __m128i test_mm256_maskz_cvtusepi32_epi16(__mmask8 __M, __m256i __A) {
5805*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtusepi32_epi16
5806*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.256
5807*67e74705SXin Li   return _mm256_maskz_cvtusepi32_epi16(__M, __A);
5808*67e74705SXin Li }
5809*67e74705SXin Li 
test_mm256_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)5810*67e74705SXin Li void test_mm256_mask_cvtusepi32_storeu_epi16(void * __P, __mmask8 __M, __m256i __A) {
5811*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi32_storeu_epi16
5812*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.dw.mem.256
5813*67e74705SXin Li   return _mm256_mask_cvtusepi32_storeu_epi16(__P, __M, __A);
5814*67e74705SXin Li }
5815*67e74705SXin Li 
test_mm_cvtusepi64_epi8(__m128i __A)5816*67e74705SXin Li __m128i test_mm_cvtusepi64_epi8(__m128i __A) {
5817*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtusepi64_epi8
5818*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.128
5819*67e74705SXin Li   return _mm_cvtusepi64_epi8(__A);
5820*67e74705SXin Li }
5821*67e74705SXin Li 
test_mm_mask_cvtusepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)5822*67e74705SXin Li __m128i test_mm_mask_cvtusepi64_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
5823*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi64_epi8
5824*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.128
5825*67e74705SXin Li   return _mm_mask_cvtusepi64_epi8(__O, __M, __A);
5826*67e74705SXin Li }
5827*67e74705SXin Li 
test_mm_maskz_cvtusepi64_epi8(__mmask8 __M,__m128i __A)5828*67e74705SXin Li __m128i test_mm_maskz_cvtusepi64_epi8(__mmask8 __M, __m128i __A) {
5829*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtusepi64_epi8
5830*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.128
5831*67e74705SXin Li   return _mm_maskz_cvtusepi64_epi8(__M, __A);
5832*67e74705SXin Li }
5833*67e74705SXin Li 
test_mm_mask_cvtusepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)5834*67e74705SXin Li void test_mm_mask_cvtusepi64_storeu_epi8(void * __P, __mmask8 __M, __m128i __A) {
5835*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi64_storeu_epi8
5836*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.mem.128
5837*67e74705SXin Li   return _mm_mask_cvtusepi64_storeu_epi8(__P, __M, __A);
5838*67e74705SXin Li }
5839*67e74705SXin Li 
test_mm256_cvtusepi64_epi8(__m256i __A)5840*67e74705SXin Li __m128i test_mm256_cvtusepi64_epi8(__m256i __A) {
5841*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtusepi64_epi8
5842*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.256
5843*67e74705SXin Li   return _mm256_cvtusepi64_epi8(__A);
5844*67e74705SXin Li }
5845*67e74705SXin Li 
test_mm256_mask_cvtusepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)5846*67e74705SXin Li __m128i test_mm256_mask_cvtusepi64_epi8(__m128i __O, __mmask8 __M, __m256i __A) {
5847*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi64_epi8
5848*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.256
5849*67e74705SXin Li   return _mm256_mask_cvtusepi64_epi8(__O, __M, __A);
5850*67e74705SXin Li }
5851*67e74705SXin Li 
test_mm256_maskz_cvtusepi64_epi8(__mmask8 __M,__m256i __A)5852*67e74705SXin Li __m128i test_mm256_maskz_cvtusepi64_epi8(__mmask8 __M, __m256i __A) {
5853*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtusepi64_epi8
5854*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.256
5855*67e74705SXin Li   return _mm256_maskz_cvtusepi64_epi8(__M, __A);
5856*67e74705SXin Li }
5857*67e74705SXin Li 
test_mm256_mask_cvtusepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)5858*67e74705SXin Li void test_mm256_mask_cvtusepi64_storeu_epi8(void * __P, __mmask8 __M, __m256i __A) {
5859*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi64_storeu_epi8
5860*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qb.mem.256
5861*67e74705SXin Li   return _mm256_mask_cvtusepi64_storeu_epi8(__P, __M, __A);
5862*67e74705SXin Li }
5863*67e74705SXin Li 
test_mm_cvtusepi64_epi32(__m128i __A)5864*67e74705SXin Li __m128i test_mm_cvtusepi64_epi32(__m128i __A) {
5865*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtusepi64_epi32
5866*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.128
5867*67e74705SXin Li   return _mm_cvtusepi64_epi32(__A);
5868*67e74705SXin Li }
5869*67e74705SXin Li 
test_mm_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)5870*67e74705SXin Li __m128i test_mm_mask_cvtusepi64_epi32(__m128i __O, __mmask8 __M, __m128i __A) {
5871*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi64_epi32
5872*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.128
5873*67e74705SXin Li   return _mm_mask_cvtusepi64_epi32(__O, __M, __A);
5874*67e74705SXin Li }
5875*67e74705SXin Li 
test_mm_maskz_cvtusepi64_epi32(__mmask8 __M,__m128i __A)5876*67e74705SXin Li __m128i test_mm_maskz_cvtusepi64_epi32(__mmask8 __M, __m128i __A) {
5877*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtusepi64_epi32
5878*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.128
5879*67e74705SXin Li   return _mm_maskz_cvtusepi64_epi32(__M, __A);
5880*67e74705SXin Li }
5881*67e74705SXin Li 
test_mm_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)5882*67e74705SXin Li void test_mm_mask_cvtusepi64_storeu_epi32(void * __P, __mmask8 __M, __m128i __A) {
5883*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi64_storeu_epi32
5884*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.mem.128
5885*67e74705SXin Li   return _mm_mask_cvtusepi64_storeu_epi32(__P, __M, __A);
5886*67e74705SXin Li }
5887*67e74705SXin Li 
test_mm256_cvtusepi64_epi32(__m256i __A)5888*67e74705SXin Li __m128i test_mm256_cvtusepi64_epi32(__m256i __A) {
5889*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtusepi64_epi32
5890*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.256
5891*67e74705SXin Li   return _mm256_cvtusepi64_epi32(__A);
5892*67e74705SXin Li }
5893*67e74705SXin Li 
test_mm256_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)5894*67e74705SXin Li __m128i test_mm256_mask_cvtusepi64_epi32(__m128i __O, __mmask8 __M, __m256i __A) {
5895*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi64_epi32
5896*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.256
5897*67e74705SXin Li   return _mm256_mask_cvtusepi64_epi32(__O, __M, __A);
5898*67e74705SXin Li }
5899*67e74705SXin Li 
test_mm256_maskz_cvtusepi64_epi32(__mmask8 __M,__m256i __A)5900*67e74705SXin Li __m128i test_mm256_maskz_cvtusepi64_epi32(__mmask8 __M, __m256i __A) {
5901*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtusepi64_epi32
5902*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.256
5903*67e74705SXin Li   return _mm256_maskz_cvtusepi64_epi32(__M, __A);
5904*67e74705SXin Li }
5905*67e74705SXin Li 
test_mm256_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)5906*67e74705SXin Li void test_mm256_mask_cvtusepi64_storeu_epi32(void * __P, __mmask8 __M, __m256i __A) {
5907*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi64_storeu_epi32
5908*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qd.mem.256
5909*67e74705SXin Li   return _mm256_mask_cvtusepi64_storeu_epi32(__P, __M, __A);
5910*67e74705SXin Li }
5911*67e74705SXin Li 
test_mm_cvtusepi64_epi16(__m128i __A)5912*67e74705SXin Li __m128i test_mm_cvtusepi64_epi16(__m128i __A) {
5913*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtusepi64_epi16
5914*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.128
5915*67e74705SXin Li   return _mm_cvtusepi64_epi16(__A);
5916*67e74705SXin Li }
5917*67e74705SXin Li 
test_mm_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)5918*67e74705SXin Li __m128i test_mm_mask_cvtusepi64_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
5919*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi64_epi16
5920*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.128
5921*67e74705SXin Li   return _mm_mask_cvtusepi64_epi16(__O, __M, __A);
5922*67e74705SXin Li }
5923*67e74705SXin Li 
test_mm_maskz_cvtusepi64_epi16(__mmask8 __M,__m128i __A)5924*67e74705SXin Li __m128i test_mm_maskz_cvtusepi64_epi16(__mmask8 __M, __m128i __A) {
5925*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtusepi64_epi16
5926*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.128
5927*67e74705SXin Li   return _mm_maskz_cvtusepi64_epi16(__M, __A);
5928*67e74705SXin Li }
5929*67e74705SXin Li 
test_mm_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)5930*67e74705SXin Li void test_mm_mask_cvtusepi64_storeu_epi16(void * __P, __mmask8 __M, __m128i __A) {
5931*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtusepi64_storeu_epi16
5932*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.mem.128
5933*67e74705SXin Li   return _mm_mask_cvtusepi64_storeu_epi16(__P, __M, __A);
5934*67e74705SXin Li }
5935*67e74705SXin Li 
test_mm256_cvtusepi64_epi16(__m256i __A)5936*67e74705SXin Li __m128i test_mm256_cvtusepi64_epi16(__m256i __A) {
5937*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtusepi64_epi16
5938*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.256
5939*67e74705SXin Li   return _mm256_cvtusepi64_epi16(__A);
5940*67e74705SXin Li }
5941*67e74705SXin Li 
test_mm256_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)5942*67e74705SXin Li __m128i test_mm256_mask_cvtusepi64_epi16(__m128i __O, __mmask8 __M, __m256i __A) {
5943*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi64_epi16
5944*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.256
5945*67e74705SXin Li   return _mm256_mask_cvtusepi64_epi16(__O, __M, __A);
5946*67e74705SXin Li }
5947*67e74705SXin Li 
test_mm256_maskz_cvtusepi64_epi16(__mmask8 __M,__m256i __A)5948*67e74705SXin Li __m128i test_mm256_maskz_cvtusepi64_epi16(__mmask8 __M, __m256i __A) {
5949*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtusepi64_epi16
5950*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.256
5951*67e74705SXin Li   return _mm256_maskz_cvtusepi64_epi16(__M, __A);
5952*67e74705SXin Li }
5953*67e74705SXin Li 
test_mm256_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)5954*67e74705SXin Li void test_mm256_mask_cvtusepi64_storeu_epi16(void * __P, __mmask8 __M, __m256i __A) {
5955*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtusepi64_storeu_epi16
5956*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmovus.qw.mem.256
5957*67e74705SXin Li   return _mm256_mask_cvtusepi64_storeu_epi16(__P, __M, __A);
5958*67e74705SXin Li }
5959*67e74705SXin Li 
test_mm_cvtepi32_epi8(__m128i __A)5960*67e74705SXin Li __m128i test_mm_cvtepi32_epi8(__m128i __A) {
5961*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtepi32_epi8
5962*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.128
5963*67e74705SXin Li   return _mm_cvtepi32_epi8(__A);
5964*67e74705SXin Li }
5965*67e74705SXin Li 
test_mm_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)5966*67e74705SXin Li __m128i test_mm_mask_cvtepi32_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
5967*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi32_epi8
5968*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.128
5969*67e74705SXin Li   return _mm_mask_cvtepi32_epi8(__O, __M, __A);
5970*67e74705SXin Li }
5971*67e74705SXin Li 
test_mm_maskz_cvtepi32_epi8(__mmask8 __M,__m128i __A)5972*67e74705SXin Li __m128i test_mm_maskz_cvtepi32_epi8(__mmask8 __M, __m128i __A) {
5973*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi32_epi8
5974*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.128
5975*67e74705SXin Li   return _mm_maskz_cvtepi32_epi8(__M, __A);
5976*67e74705SXin Li }
5977*67e74705SXin Li 
test_mm_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)5978*67e74705SXin Li void test_mm_mask_cvtepi32_storeu_epi8(void * __P, __mmask8 __M, __m128i __A) {
5979*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi32_storeu_epi8
5980*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.mem.128
5981*67e74705SXin Li   return _mm_mask_cvtepi32_storeu_epi8(__P, __M, __A);
5982*67e74705SXin Li }
5983*67e74705SXin Li 
test_mm256_cvtepi32_epi8(__m256i __A)5984*67e74705SXin Li __m128i test_mm256_cvtepi32_epi8(__m256i __A) {
5985*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtepi32_epi8
5986*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.256
5987*67e74705SXin Li   return _mm256_cvtepi32_epi8(__A);
5988*67e74705SXin Li }
5989*67e74705SXin Li 
test_mm256_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)5990*67e74705SXin Li __m128i test_mm256_mask_cvtepi32_epi8(__m128i __O, __mmask8 __M, __m256i __A) {
5991*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi32_epi8
5992*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.256
5993*67e74705SXin Li   return _mm256_mask_cvtepi32_epi8(__O, __M, __A);
5994*67e74705SXin Li }
5995*67e74705SXin Li 
test_mm256_maskz_cvtepi32_epi8(__mmask8 __M,__m256i __A)5996*67e74705SXin Li __m128i test_mm256_maskz_cvtepi32_epi8(__mmask8 __M, __m256i __A) {
5997*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi32_epi8
5998*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.256
5999*67e74705SXin Li   return _mm256_maskz_cvtepi32_epi8(__M, __A);
6000*67e74705SXin Li }
6001*67e74705SXin Li 
test_mm256_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)6002*67e74705SXin Li void test_mm256_mask_cvtepi32_storeu_epi8(void * __P, __mmask8 __M, __m256i __A) {
6003*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi32_storeu_epi8
6004*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.db.mem.256
6005*67e74705SXin Li   return _mm256_mask_cvtepi32_storeu_epi8(__P, __M, __A);
6006*67e74705SXin Li }
6007*67e74705SXin Li 
test_mm_cvtepi32_epi16(__m128i __A)6008*67e74705SXin Li __m128i test_mm_cvtepi32_epi16(__m128i __A) {
6009*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtepi32_epi16
6010*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.128
6011*67e74705SXin Li   return _mm_cvtepi32_epi16(__A);
6012*67e74705SXin Li }
6013*67e74705SXin Li 
test_mm_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)6014*67e74705SXin Li __m128i test_mm_mask_cvtepi32_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
6015*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi32_epi16
6016*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.128
6017*67e74705SXin Li   return _mm_mask_cvtepi32_epi16(__O, __M, __A);
6018*67e74705SXin Li }
6019*67e74705SXin Li 
test_mm_maskz_cvtepi32_epi16(__mmask8 __M,__m128i __A)6020*67e74705SXin Li __m128i test_mm_maskz_cvtepi32_epi16(__mmask8 __M, __m128i __A) {
6021*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi32_epi16
6022*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.128
6023*67e74705SXin Li   return _mm_maskz_cvtepi32_epi16(__M, __A);
6024*67e74705SXin Li }
6025*67e74705SXin Li 
test_mm_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)6026*67e74705SXin Li void test_mm_mask_cvtepi32_storeu_epi16(void * __P, __mmask8 __M, __m128i __A) {
6027*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi32_storeu_epi16
6028*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.mem.128
6029*67e74705SXin Li   return _mm_mask_cvtepi32_storeu_epi16(__P, __M, __A);
6030*67e74705SXin Li }
6031*67e74705SXin Li 
test_mm256_cvtepi32_epi16(__m256i __A)6032*67e74705SXin Li __m128i test_mm256_cvtepi32_epi16(__m256i __A) {
6033*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtepi32_epi16
6034*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.256
6035*67e74705SXin Li   return _mm256_cvtepi32_epi16(__A);
6036*67e74705SXin Li }
6037*67e74705SXin Li 
test_mm256_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)6038*67e74705SXin Li __m128i test_mm256_mask_cvtepi32_epi16(__m128i __O, __mmask8 __M, __m256i __A) {
6039*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi32_epi16
6040*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.256
6041*67e74705SXin Li   return _mm256_mask_cvtepi32_epi16(__O, __M, __A);
6042*67e74705SXin Li }
6043*67e74705SXin Li 
test_mm256_maskz_cvtepi32_epi16(__mmask8 __M,__m256i __A)6044*67e74705SXin Li __m128i test_mm256_maskz_cvtepi32_epi16(__mmask8 __M, __m256i __A) {
6045*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi32_epi16
6046*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.256
6047*67e74705SXin Li   return _mm256_maskz_cvtepi32_epi16(__M, __A);
6048*67e74705SXin Li }
6049*67e74705SXin Li 
test_mm256_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)6050*67e74705SXin Li void test_mm256_mask_cvtepi32_storeu_epi16(void *  __P, __mmask8 __M, __m256i __A) {
6051*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi32_storeu_epi16
6052*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.dw.mem.256
6053*67e74705SXin Li   return _mm256_mask_cvtepi32_storeu_epi16(__P, __M, __A);
6054*67e74705SXin Li }
6055*67e74705SXin Li 
test_mm_cvtepi64_epi8(__m128i __A)6056*67e74705SXin Li __m128i test_mm_cvtepi64_epi8(__m128i __A) {
6057*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtepi64_epi8
6058*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.128
6059*67e74705SXin Li   return _mm_cvtepi64_epi8(__A);
6060*67e74705SXin Li }
6061*67e74705SXin Li 
test_mm_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)6062*67e74705SXin Li __m128i test_mm_mask_cvtepi64_epi8(__m128i __O, __mmask8 __M, __m128i __A) {
6063*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi64_epi8
6064*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.128
6065*67e74705SXin Li   return _mm_mask_cvtepi64_epi8(__O, __M, __A);
6066*67e74705SXin Li }
6067*67e74705SXin Li 
test_mm_maskz_cvtepi64_epi8(__mmask8 __M,__m128i __A)6068*67e74705SXin Li __m128i test_mm_maskz_cvtepi64_epi8(__mmask8 __M, __m128i __A) {
6069*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi64_epi8
6070*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.128
6071*67e74705SXin Li   return _mm_maskz_cvtepi64_epi8(__M, __A);
6072*67e74705SXin Li }
6073*67e74705SXin Li 
test_mm_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)6074*67e74705SXin Li void test_mm_mask_cvtepi64_storeu_epi8(void * __P, __mmask8 __M, __m128i __A) {
6075*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi64_storeu_epi8
6076*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.mem.128
6077*67e74705SXin Li   return _mm_mask_cvtepi64_storeu_epi8(__P, __M, __A);
6078*67e74705SXin Li }
6079*67e74705SXin Li 
test_mm256_cvtepi64_epi8(__m256i __A)6080*67e74705SXin Li __m128i test_mm256_cvtepi64_epi8(__m256i __A) {
6081*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtepi64_epi8
6082*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.256
6083*67e74705SXin Li   return _mm256_cvtepi64_epi8(__A);
6084*67e74705SXin Li }
6085*67e74705SXin Li 
test_mm256_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)6086*67e74705SXin Li __m128i test_mm256_mask_cvtepi64_epi8(__m128i __O, __mmask8 __M, __m256i __A) {
6087*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi64_epi8
6088*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.256
6089*67e74705SXin Li   return _mm256_mask_cvtepi64_epi8(__O, __M, __A);
6090*67e74705SXin Li }
6091*67e74705SXin Li 
test_mm256_maskz_cvtepi64_epi8(__mmask8 __M,__m256i __A)6092*67e74705SXin Li __m128i test_mm256_maskz_cvtepi64_epi8(__mmask8 __M, __m256i __A) {
6093*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi64_epi8
6094*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.256
6095*67e74705SXin Li   return _mm256_maskz_cvtepi64_epi8(__M, __A);
6096*67e74705SXin Li }
6097*67e74705SXin Li 
test_mm256_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)6098*67e74705SXin Li void test_mm256_mask_cvtepi64_storeu_epi8(void * __P, __mmask8 __M, __m256i __A) {
6099*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi64_storeu_epi8
6100*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qb.mem.256
6101*67e74705SXin Li   return _mm256_mask_cvtepi64_storeu_epi8(__P, __M, __A);
6102*67e74705SXin Li }
6103*67e74705SXin Li 
test_mm_cvtepi64_epi32(__m128i __A)6104*67e74705SXin Li __m128i test_mm_cvtepi64_epi32(__m128i __A) {
6105*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtepi64_epi32
6106*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.128
6107*67e74705SXin Li   return _mm_cvtepi64_epi32(__A);
6108*67e74705SXin Li }
6109*67e74705SXin Li 
test_mm_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)6110*67e74705SXin Li __m128i test_mm_mask_cvtepi64_epi32(__m128i __O, __mmask8 __M, __m128i __A) {
6111*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi64_epi32
6112*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.128
6113*67e74705SXin Li   return _mm_mask_cvtepi64_epi32(__O, __M, __A);
6114*67e74705SXin Li }
6115*67e74705SXin Li 
test_mm_maskz_cvtepi64_epi32(__mmask8 __M,__m128i __A)6116*67e74705SXin Li __m128i test_mm_maskz_cvtepi64_epi32(__mmask8 __M, __m128i __A) {
6117*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi64_epi32
6118*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.128
6119*67e74705SXin Li   return _mm_maskz_cvtepi64_epi32(__M, __A);
6120*67e74705SXin Li }
6121*67e74705SXin Li 
test_mm_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)6122*67e74705SXin Li void test_mm_mask_cvtepi64_storeu_epi32(void * __P, __mmask8 __M, __m128i __A) {
6123*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi64_storeu_epi32
6124*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.mem.128
6125*67e74705SXin Li   return _mm_mask_cvtepi64_storeu_epi32(__P, __M, __A);
6126*67e74705SXin Li }
6127*67e74705SXin Li 
test_mm256_cvtepi64_epi32(__m256i __A)6128*67e74705SXin Li __m128i test_mm256_cvtepi64_epi32(__m256i __A) {
6129*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtepi64_epi32
6130*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.256
6131*67e74705SXin Li   return _mm256_cvtepi64_epi32(__A);
6132*67e74705SXin Li }
6133*67e74705SXin Li 
test_mm256_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)6134*67e74705SXin Li __m128i test_mm256_mask_cvtepi64_epi32(__m128i __O, __mmask8 __M, __m256i __A) {
6135*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi64_epi32
6136*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.256
6137*67e74705SXin Li   return _mm256_mask_cvtepi64_epi32(__O, __M, __A);
6138*67e74705SXin Li }
6139*67e74705SXin Li 
test_mm256_maskz_cvtepi64_epi32(__mmask8 __M,__m256i __A)6140*67e74705SXin Li __m128i test_mm256_maskz_cvtepi64_epi32(__mmask8 __M, __m256i __A) {
6141*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi64_epi32
6142*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.256
6143*67e74705SXin Li   return _mm256_maskz_cvtepi64_epi32(__M, __A);
6144*67e74705SXin Li }
6145*67e74705SXin Li 
test_mm256_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)6146*67e74705SXin Li void test_mm256_mask_cvtepi64_storeu_epi32(void * __P, __mmask8 __M, __m256i __A) {
6147*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi64_storeu_epi32
6148*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qd.mem.256
6149*67e74705SXin Li   return _mm256_mask_cvtepi64_storeu_epi32(__P, __M, __A);
6150*67e74705SXin Li }
6151*67e74705SXin Li 
test_mm_cvtepi64_epi16(__m128i __A)6152*67e74705SXin Li __m128i test_mm_cvtepi64_epi16(__m128i __A) {
6153*67e74705SXin Li   // CHECK-LABEL: @test_mm_cvtepi64_epi16
6154*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.128
6155*67e74705SXin Li   return _mm_cvtepi64_epi16(__A);
6156*67e74705SXin Li }
6157*67e74705SXin Li 
test_mm_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)6158*67e74705SXin Li __m128i test_mm_mask_cvtepi64_epi16(__m128i __O, __mmask8 __M, __m128i __A) {
6159*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi64_epi16
6160*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.128
6161*67e74705SXin Li   return _mm_mask_cvtepi64_epi16(__O, __M, __A);
6162*67e74705SXin Li }
6163*67e74705SXin Li 
test_mm_maskz_cvtepi64_epi16(__mmask8 __M,__m128i __A)6164*67e74705SXin Li __m128i test_mm_maskz_cvtepi64_epi16(__mmask8 __M, __m128i __A) {
6165*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtepi64_epi16
6166*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.128
6167*67e74705SXin Li   return _mm_maskz_cvtepi64_epi16(__M, __A);
6168*67e74705SXin Li }
6169*67e74705SXin Li 
test_mm_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)6170*67e74705SXin Li void test_mm_mask_cvtepi64_storeu_epi16(void * __P, __mmask8 __M, __m128i __A) {
6171*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtepi64_storeu_epi16
6172*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.mem.128
6173*67e74705SXin Li   return _mm_mask_cvtepi64_storeu_epi16(__P, __M, __A);
6174*67e74705SXin Li }
6175*67e74705SXin Li 
test_mm256_cvtepi64_epi16(__m256i __A)6176*67e74705SXin Li __m128i test_mm256_cvtepi64_epi16(__m256i __A) {
6177*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cvtepi64_epi16
6178*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.256
6179*67e74705SXin Li   return _mm256_cvtepi64_epi16(__A);
6180*67e74705SXin Li }
6181*67e74705SXin Li 
test_mm256_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)6182*67e74705SXin Li __m128i test_mm256_mask_cvtepi64_epi16(__m128i __O, __mmask8 __M, __m256i __A) {
6183*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi64_epi16
6184*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.256
6185*67e74705SXin Li   return _mm256_mask_cvtepi64_epi16(__O, __M, __A);
6186*67e74705SXin Li }
6187*67e74705SXin Li 
test_mm256_maskz_cvtepi64_epi16(__mmask8 __M,__m256i __A)6188*67e74705SXin Li __m128i test_mm256_maskz_cvtepi64_epi16(__mmask8 __M, __m256i __A) {
6189*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtepi64_epi16
6190*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.256
6191*67e74705SXin Li   return _mm256_maskz_cvtepi64_epi16(__M, __A);
6192*67e74705SXin Li }
6193*67e74705SXin Li 
test_mm256_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)6194*67e74705SXin Li void test_mm256_mask_cvtepi64_storeu_epi16(void * __P, __mmask8 __M, __m256i __A) {
6195*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtepi64_storeu_epi16
6196*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.pmov.qw.mem.256
6197*67e74705SXin Li   return _mm256_mask_cvtepi64_storeu_epi16(__P, __M, __A);
6198*67e74705SXin Li }
6199*67e74705SXin Li 
test_mm256_extractf32x4_ps(__m256 __A)6200*67e74705SXin Li __m128 test_mm256_extractf32x4_ps(__m256 __A) {
6201*67e74705SXin Li   // CHECK-LABEL: @test_mm256_extractf32x4_ps
6202*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vextractf32x4
6203*67e74705SXin Li   return _mm256_extractf32x4_ps(__A, 1);
6204*67e74705SXin Li }
6205*67e74705SXin Li 
test_mm256_mask_extractf32x4_ps(__m128 __W,__mmask8 __U,__m256 __A)6206*67e74705SXin Li __m128 test_mm256_mask_extractf32x4_ps(__m128 __W, __mmask8 __U, __m256 __A) {
6207*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_extractf32x4_ps
6208*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vextractf32x4
6209*67e74705SXin Li   return _mm256_mask_extractf32x4_ps(__W, __U, __A, 1);
6210*67e74705SXin Li }
6211*67e74705SXin Li 
test_mm256_maskz_extractf32x4_ps(__mmask8 __U,__m256 __A)6212*67e74705SXin Li __m128 test_mm256_maskz_extractf32x4_ps(__mmask8 __U, __m256 __A) {
6213*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_extractf32x4_ps
6214*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vextractf32x4
6215*67e74705SXin Li   return _mm256_maskz_extractf32x4_ps(__U, __A, 1);
6216*67e74705SXin Li }
6217*67e74705SXin Li 
test_mm256_extracti32x4_epi32(__m256i __A)6218*67e74705SXin Li __m128i test_mm256_extracti32x4_epi32(__m256i __A) {
6219*67e74705SXin Li   // CHECK-LABEL: @test_mm256_extracti32x4_epi32
6220*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vextracti32x4
6221*67e74705SXin Li   return _mm256_extracti32x4_epi32(__A, 1);
6222*67e74705SXin Li }
6223*67e74705SXin Li 
test_mm256_mask_extracti32x4_epi32(__m128i __W,__mmask8 __U,__m256i __A)6224*67e74705SXin Li __m128i test_mm256_mask_extracti32x4_epi32(__m128i __W, __mmask8 __U, __m256i __A) {
6225*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_extracti32x4_epi32
6226*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vextracti32x4
6227*67e74705SXin Li   return _mm256_mask_extracti32x4_epi32(__W, __U, __A, 1);
6228*67e74705SXin Li }
6229*67e74705SXin Li 
test_mm256_maskz_extracti32x4_epi32(__mmask8 __U,__m256i __A)6230*67e74705SXin Li __m128i test_mm256_maskz_extracti32x4_epi32(__mmask8 __U, __m256i __A) {
6231*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_extracti32x4_epi32
6232*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vextracti32x4
6233*67e74705SXin Li   return _mm256_maskz_extracti32x4_epi32(__U, __A, 1);
6234*67e74705SXin Li }
6235*67e74705SXin Li 
test_mm256_insertf32x4(__m256 __A,__m128 __B)6236*67e74705SXin Li __m256 test_mm256_insertf32x4(__m256 __A, __m128 __B) {
6237*67e74705SXin Li   // CHECK-LABEL: @test_mm256_insertf32x4
6238*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.insertf32x4
6239*67e74705SXin Li   return _mm256_insertf32x4(__A, __B, 1);
6240*67e74705SXin Li }
6241*67e74705SXin Li 
test_mm256_mask_insertf32x4(__m256 __W,__mmask8 __U,__m256 __A,__m128 __B)6242*67e74705SXin Li __m256 test_mm256_mask_insertf32x4(__m256 __W, __mmask8 __U, __m256 __A, __m128 __B) {
6243*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_insertf32x4
6244*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.insertf32x4
6245*67e74705SXin Li   return _mm256_mask_insertf32x4(__W, __U, __A, __B, 1);
6246*67e74705SXin Li }
6247*67e74705SXin Li 
test_mm256_maskz_insertf32x4(__mmask8 __U,__m256 __A,__m128 __B)6248*67e74705SXin Li __m256 test_mm256_maskz_insertf32x4(__mmask8 __U, __m256 __A, __m128 __B) {
6249*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_insertf32x4
6250*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.insertf32x4
6251*67e74705SXin Li   return _mm256_maskz_insertf32x4(__U, __A, __B, 1);
6252*67e74705SXin Li }
6253*67e74705SXin Li 
test_mm256_inserti32x4(__m256i __A,__m128i __B)6254*67e74705SXin Li __m256i test_mm256_inserti32x4(__m256i __A, __m128i __B) {
6255*67e74705SXin Li   // CHECK-LABEL: @test_mm256_inserti32x4
6256*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.inserti32x4
6257*67e74705SXin Li   return _mm256_inserti32x4(__A, __B, 1);
6258*67e74705SXin Li }
6259*67e74705SXin Li 
test_mm256_mask_inserti32x4(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)6260*67e74705SXin Li __m256i test_mm256_mask_inserti32x4(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
6261*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_inserti32x4
6262*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.inserti32x4
6263*67e74705SXin Li   return _mm256_mask_inserti32x4(__W, __U, __A, __B, 1);
6264*67e74705SXin Li }
6265*67e74705SXin Li 
test_mm256_maskz_inserti32x4(__mmask8 __U,__m256i __A,__m128i __B)6266*67e74705SXin Li __m256i test_mm256_maskz_inserti32x4(__mmask8 __U, __m256i __A, __m128i __B) {
6267*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_inserti32x4
6268*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.inserti32x4
6269*67e74705SXin Li   return _mm256_maskz_inserti32x4(__U, __A, __B, 1);
6270*67e74705SXin Li }
6271*67e74705SXin Li 
test_mm_getmant_pd(__m128d __A)6272*67e74705SXin Li __m128d test_mm_getmant_pd(__m128d __A) {
6273*67e74705SXin Li   // CHECK-LABEL: @test_mm_getmant_pd
6274*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.pd.128
6275*67e74705SXin Li   return _mm_getmant_pd(__A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6276*67e74705SXin Li }
6277*67e74705SXin Li 
test_mm_mask_getmant_pd(__m128d __W,__mmask8 __U,__m128d __A)6278*67e74705SXin Li __m128d test_mm_mask_getmant_pd(__m128d __W, __mmask8 __U, __m128d __A) {
6279*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_getmant_pd
6280*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.pd.128
6281*67e74705SXin Li   return _mm_mask_getmant_pd(__W, __U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6282*67e74705SXin Li }
6283*67e74705SXin Li 
test_mm_maskz_getmant_pd(__mmask8 __U,__m128d __A)6284*67e74705SXin Li __m128d test_mm_maskz_getmant_pd(__mmask8 __U, __m128d __A) {
6285*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_getmant_pd
6286*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.pd.128
6287*67e74705SXin Li   return _mm_maskz_getmant_pd(__U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6288*67e74705SXin Li }
6289*67e74705SXin Li 
test_mm256_getmant_pd(__m256d __A)6290*67e74705SXin Li __m256d test_mm256_getmant_pd(__m256d __A) {
6291*67e74705SXin Li   // CHECK-LABEL: @test_mm256_getmant_pd
6292*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.pd.256
6293*67e74705SXin Li   return _mm256_getmant_pd(__A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6294*67e74705SXin Li }
6295*67e74705SXin Li 
test_mm256_mask_getmant_pd(__m256d __W,__mmask8 __U,__m256d __A)6296*67e74705SXin Li __m256d test_mm256_mask_getmant_pd(__m256d __W, __mmask8 __U, __m256d __A) {
6297*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_getmant_pd
6298*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.pd.256
6299*67e74705SXin Li   return _mm256_mask_getmant_pd(__W, __U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6300*67e74705SXin Li }
6301*67e74705SXin Li 
test_mm256_maskz_getmant_pd(__mmask8 __U,__m256d __A)6302*67e74705SXin Li __m256d test_mm256_maskz_getmant_pd(__mmask8 __U, __m256d __A) {
6303*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_getmant_pd
6304*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.pd.256
6305*67e74705SXin Li   return _mm256_maskz_getmant_pd(__U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6306*67e74705SXin Li }
6307*67e74705SXin Li 
test_mm_getmant_ps(__m128 __A)6308*67e74705SXin Li __m128 test_mm_getmant_ps(__m128 __A) {
6309*67e74705SXin Li   // CHECK-LABEL: @test_mm_getmant_ps
6310*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.ps.128
6311*67e74705SXin Li   return _mm_getmant_ps(__A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6312*67e74705SXin Li }
6313*67e74705SXin Li 
test_mm_mask_getmant_ps(__m128 __W,__mmask8 __U,__m128 __A)6314*67e74705SXin Li __m128 test_mm_mask_getmant_ps(__m128 __W, __mmask8 __U, __m128 __A) {
6315*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_getmant_ps
6316*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.ps.128
6317*67e74705SXin Li   return _mm_mask_getmant_ps(__W, __U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6318*67e74705SXin Li }
6319*67e74705SXin Li 
test_mm_maskz_getmant_ps(__mmask8 __U,__m128 __A)6320*67e74705SXin Li __m128 test_mm_maskz_getmant_ps(__mmask8 __U, __m128 __A) {
6321*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_getmant_ps
6322*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.ps.128
6323*67e74705SXin Li   return _mm_maskz_getmant_ps(__U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6324*67e74705SXin Li }
6325*67e74705SXin Li 
test_mm256_getmant_ps(__m256 __A)6326*67e74705SXin Li __m256 test_mm256_getmant_ps(__m256 __A) {
6327*67e74705SXin Li   // CHECK-LABEL: @test_mm256_getmant_ps
6328*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.ps.256
6329*67e74705SXin Li   return _mm256_getmant_ps(__A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6330*67e74705SXin Li }
6331*67e74705SXin Li 
test_mm256_mask_getmant_ps(__m256 __W,__mmask8 __U,__m256 __A)6332*67e74705SXin Li __m256 test_mm256_mask_getmant_ps(__m256 __W, __mmask8 __U, __m256 __A) {
6333*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_getmant_ps
6334*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.ps.256
6335*67e74705SXin Li   return _mm256_mask_getmant_ps(__W, __U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6336*67e74705SXin Li }
6337*67e74705SXin Li 
test_mm256_maskz_getmant_ps(__mmask8 __U,__m256 __A)6338*67e74705SXin Li __m256 test_mm256_maskz_getmant_ps(__mmask8 __U, __m256 __A) {
6339*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_getmant_ps
6340*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.getmant.ps.256
6341*67e74705SXin Li   return _mm256_maskz_getmant_ps(__U, __A,_MM_MANT_NORM_p5_2, _MM_MANT_SIGN_nan);
6342*67e74705SXin Li }
6343*67e74705SXin Li 
test_mm_mmask_i64gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6344*67e74705SXin Li __m128d test_mm_mmask_i64gather_pd(__m128d __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6345*67e74705SXin Li   // CHECK-LABEL: @test_mm_mmask_i64gather_pd
6346*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div2.df
6347*67e74705SXin Li   return _mm_mmask_i64gather_pd(__v1_old, __mask, __index, __addr, 2);
6348*67e74705SXin Li }
6349*67e74705SXin Li 
test_mm_mmask_i64gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6350*67e74705SXin Li __m128i test_mm_mmask_i64gather_epi64(__m128i __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6351*67e74705SXin Li   // CHECK-LABEL: @test_mm_mmask_i64gather_epi64
6352*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div2.di
6353*67e74705SXin Li   return _mm_mmask_i64gather_epi64(__v1_old, __mask, __index, __addr, 2);
6354*67e74705SXin Li }
6355*67e74705SXin Li 
test_mm256_mmask_i64gather_pd(__m256d __v1_old,__mmask8 __mask,__m256i __index,void const * __addr)6356*67e74705SXin Li __m256d test_mm256_mmask_i64gather_pd(__m256d __v1_old, __mmask8 __mask, __m256i __index, void const *__addr) {
6357*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mmask_i64gather_pd
6358*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div4.df
6359*67e74705SXin Li   return _mm256_mmask_i64gather_pd(__v1_old, __mask, __index, __addr, 2);
6360*67e74705SXin Li }
6361*67e74705SXin Li 
test_mm256_mmask_i64gather_epi64(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr)6362*67e74705SXin Li __m256i test_mm256_mmask_i64gather_epi64(__m256i __v1_old, __mmask8 __mask, __m256i __index, void const *__addr) {
6363*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mmask_i64gather_epi64
6364*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div4.di
6365*67e74705SXin Li   return _mm256_mmask_i64gather_epi64(__v1_old, __mask, __index, __addr, 2);
6366*67e74705SXin Li }
6367*67e74705SXin Li 
test_mm_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6368*67e74705SXin Li __m128 test_mm_mmask_i64gather_ps(__m128 __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6369*67e74705SXin Li   // CHECK-LABEL: @test_mm_mmask_i64gather_ps
6370*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div4.sf
6371*67e74705SXin Li   return _mm_mmask_i64gather_ps(__v1_old, __mask, __index, __addr, 2);
6372*67e74705SXin Li }
6373*67e74705SXin Li 
test_mm_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6374*67e74705SXin Li __m128i test_mm_mmask_i64gather_epi32(__m128i __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6375*67e74705SXin Li   // CHECK-LABEL: @test_mm_mmask_i64gather_epi32
6376*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div4.si
6377*67e74705SXin Li   return _mm_mmask_i64gather_epi32(__v1_old, __mask, __index, __addr, 2);
6378*67e74705SXin Li }
6379*67e74705SXin Li 
test_mm256_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr)6380*67e74705SXin Li __m128 test_mm256_mmask_i64gather_ps(__m128 __v1_old, __mmask8 __mask, __m256i __index, void const *__addr) {
6381*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mmask_i64gather_ps
6382*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div8.sf
6383*67e74705SXin Li   return _mm256_mmask_i64gather_ps(__v1_old, __mask, __index, __addr, 2);
6384*67e74705SXin Li }
6385*67e74705SXin Li 
test_mm256_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr)6386*67e74705SXin Li __m128i test_mm256_mmask_i64gather_epi32(__m128i __v1_old, __mmask8 __mask, __m256i __index, void const *__addr) {
6387*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mmask_i64gather_epi32
6388*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3div8.si
6389*67e74705SXin Li   return _mm256_mmask_i64gather_epi32(__v1_old, __mask, __index, __addr, 2);
6390*67e74705SXin Li }
6391*67e74705SXin Li 
test_mm_mask_i32gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6392*67e74705SXin Li __m128d test_mm_mask_i32gather_pd(__m128d __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6393*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32gather_pd
6394*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv2.df
6395*67e74705SXin Li   return _mm_mmask_i32gather_pd(__v1_old, __mask, __index, __addr, 2);
6396*67e74705SXin Li }
6397*67e74705SXin Li 
test_mm_mask_i32gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6398*67e74705SXin Li __m128i test_mm_mask_i32gather_epi64(__m128i __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6399*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32gather_epi64
6400*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv2.di
6401*67e74705SXin Li   return _mm_mmask_i32gather_epi64(__v1_old, __mask, __index, __addr, 2);
6402*67e74705SXin Li }
6403*67e74705SXin Li 
test_mm256_mask_i32gather_pd(__m256d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6404*67e74705SXin Li __m256d test_mm256_mask_i32gather_pd(__m256d __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6405*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32gather_pd
6406*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv4.df
6407*67e74705SXin Li   return _mm256_mmask_i32gather_pd(__v1_old, __mask, __index, __addr, 2);
6408*67e74705SXin Li }
6409*67e74705SXin Li 
test_mm256_mask_i32gather_epi64(__m256i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6410*67e74705SXin Li __m256i test_mm256_mask_i32gather_epi64(__m256i __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6411*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32gather_epi64
6412*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv4.di
6413*67e74705SXin Li   return _mm256_mmask_i32gather_epi64(__v1_old, __mask, __index, __addr, 2);
6414*67e74705SXin Li }
6415*67e74705SXin Li 
test_mm_mask_i32gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6416*67e74705SXin Li __m128 test_mm_mask_i32gather_ps(__m128 __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6417*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32gather_ps
6418*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv4.sf
6419*67e74705SXin Li   return _mm_mmask_i32gather_ps(__v1_old, __mask, __index, __addr, 2);
6420*67e74705SXin Li }
6421*67e74705SXin Li 
test_mm_mask_i32gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr)6422*67e74705SXin Li __m128i test_mm_mask_i32gather_epi32(__m128i __v1_old, __mmask8 __mask, __m128i __index, void const *__addr) {
6423*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_i32gather_epi32
6424*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv4.si
6425*67e74705SXin Li   return _mm_mmask_i32gather_epi32(__v1_old, __mask, __index, __addr, 2);
6426*67e74705SXin Li }
6427*67e74705SXin Li 
test_mm256_mask_i32gather_ps(__m256 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr)6428*67e74705SXin Li __m256 test_mm256_mask_i32gather_ps(__m256 __v1_old, __mmask8 __mask, __m256i __index, void const *__addr) {
6429*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32gather_ps
6430*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv8.sf
6431*67e74705SXin Li   return _mm256_mmask_i32gather_ps(__v1_old, __mask, __index, __addr, 2);
6432*67e74705SXin Li }
6433*67e74705SXin Li 
test_mm256_mask_i32gather_epi32(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr)6434*67e74705SXin Li __m256i test_mm256_mask_i32gather_epi32(__m256i __v1_old, __mmask8 __mask, __m256i __index, void const *__addr) {
6435*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_i32gather_epi32
6436*67e74705SXin Li   // CHECK: @llvm.x86.avx512.gather3siv8.si
6437*67e74705SXin Li   return _mm256_mmask_i32gather_epi32(__v1_old, __mask, __index, __addr, 2);
6438*67e74705SXin Li }
6439*67e74705SXin Li 
test_mm256_permutex_pd(__m256d __X)6440*67e74705SXin Li __m256d test_mm256_permutex_pd(__m256d __X) {
6441*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutex_pd
6442*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> undef, <4 x i32> <i32 3, i32 0, i32 0, i32 0>
6443*67e74705SXin Li   return _mm256_permutex_pd(__X, 3);
6444*67e74705SXin Li }
6445*67e74705SXin Li 
test_mm256_mask_permutex_pd(__m256d __W,__mmask8 __U,__m256d __X)6446*67e74705SXin Li __m256d test_mm256_mask_permutex_pd(__m256d __W, __mmask8 __U, __m256d __X) {
6447*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutex_pd
6448*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> undef, <4 x i32> <i32 1, i32 0, i32 0, i32 0>
6449*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
6450*67e74705SXin Li   return _mm256_mask_permutex_pd(__W, __U, __X, 1);
6451*67e74705SXin Li }
6452*67e74705SXin Li 
test_mm256_maskz_permutex_pd(__mmask8 __U,__m256d __X)6453*67e74705SXin Li __m256d test_mm256_maskz_permutex_pd(__mmask8 __U, __m256d __X) {
6454*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutex_pd
6455*67e74705SXin Li   // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> undef, <4 x i32> <i32 1, i32 0, i32 0, i32 0>
6456*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
6457*67e74705SXin Li   return _mm256_maskz_permutex_pd(__U, __X, 1);
6458*67e74705SXin Li }
6459*67e74705SXin Li 
test_mm256_permutex_epi64(__m256i __X)6460*67e74705SXin Li __m256i test_mm256_permutex_epi64(__m256i __X) {
6461*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutex_epi64
6462*67e74705SXin Li   // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> undef, <4 x i32> <i32 3, i32 0, i32 0, i32 0>
6463*67e74705SXin Li   return _mm256_permutex_epi64(__X, 3);
6464*67e74705SXin Li }
6465*67e74705SXin Li 
test_mm256_mask_permutex_epi64(__m256i __W,__mmask8 __M,__m256i __X)6466*67e74705SXin Li __m256i test_mm256_mask_permutex_epi64(__m256i __W, __mmask8 __M, __m256i __X) {
6467*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutex_epi64
6468*67e74705SXin Li   // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> undef, <4 x i32> <i32 3, i32 0, i32 0, i32 0>
6469*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
6470*67e74705SXin Li   return _mm256_mask_permutex_epi64(__W, __M, __X, 3);
6471*67e74705SXin Li }
6472*67e74705SXin Li 
test_mm256_maskz_permutex_epi64(__mmask8 __M,__m256i __X)6473*67e74705SXin Li __m256i test_mm256_maskz_permutex_epi64(__mmask8 __M, __m256i __X) {
6474*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutex_epi64
6475*67e74705SXin Li   // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> undef, <4 x i32> <i32 3, i32 0, i32 0, i32 0>
6476*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
6477*67e74705SXin Li   return _mm256_maskz_permutex_epi64(__M, __X, 3);
6478*67e74705SXin Li }
6479*67e74705SXin Li 
test_mm256_permutexvar_pd(__m256i __X,__m256d __Y)6480*67e74705SXin Li __m256d test_mm256_permutexvar_pd(__m256i __X, __m256d __Y) {
6481*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutexvar_pd
6482*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.df.256
6483*67e74705SXin Li   return _mm256_permutexvar_pd(__X, __Y);
6484*67e74705SXin Li }
6485*67e74705SXin Li 
test_mm256_mask_permutexvar_pd(__m256d __W,__mmask8 __U,__m256i __X,__m256d __Y)6486*67e74705SXin Li __m256d test_mm256_mask_permutexvar_pd(__m256d __W, __mmask8 __U, __m256i __X, __m256d __Y) {
6487*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutexvar_pd
6488*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.df.256
6489*67e74705SXin Li   return _mm256_mask_permutexvar_pd(__W, __U, __X, __Y);
6490*67e74705SXin Li }
6491*67e74705SXin Li 
test_mm256_maskz_permutexvar_pd(__mmask8 __U,__m256i __X,__m256d __Y)6492*67e74705SXin Li __m256d test_mm256_maskz_permutexvar_pd(__mmask8 __U, __m256i __X, __m256d __Y) {
6493*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutexvar_pd
6494*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.df.256
6495*67e74705SXin Li   return _mm256_maskz_permutexvar_pd(__U, __X, __Y);
6496*67e74705SXin Li }
6497*67e74705SXin Li 
test_mm256_maskz_permutexvar_epi64(__mmask8 __M,__m256i __X,__m256i __Y)6498*67e74705SXin Li __m256i test_mm256_maskz_permutexvar_epi64(__mmask8 __M, __m256i __X, __m256i __Y) {
6499*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutexvar_epi64
6500*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.di.256
6501*67e74705SXin Li   return _mm256_maskz_permutexvar_epi64(__M, __X, __Y);
6502*67e74705SXin Li }
6503*67e74705SXin Li 
test_mm256_mask_permutexvar_epi64(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)6504*67e74705SXin Li __m256i test_mm256_mask_permutexvar_epi64(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
6505*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutexvar_epi64
6506*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.di.256
6507*67e74705SXin Li   return _mm256_mask_permutexvar_epi64(__W, __M, __X, __Y);
6508*67e74705SXin Li }
6509*67e74705SXin Li 
test_mm256_mask_permutexvar_ps(__m256 __W,__mmask8 __U,__m256i __X,__m256 __Y)6510*67e74705SXin Li __m256 test_mm256_mask_permutexvar_ps(__m256 __W, __mmask8 __U, __m256i __X, __m256 __Y) {
6511*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutexvar_ps
6512*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.sf.256
6513*67e74705SXin Li   return _mm256_mask_permutexvar_ps(__W, __U, __X, __Y);
6514*67e74705SXin Li }
6515*67e74705SXin Li 
test_mm256_maskz_permutexvar_ps(__mmask8 __U,__m256i __X,__m256 __Y)6516*67e74705SXin Li __m256 test_mm256_maskz_permutexvar_ps(__mmask8 __U, __m256i __X, __m256 __Y) {
6517*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutexvar_ps
6518*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.sf.256
6519*67e74705SXin Li   return _mm256_maskz_permutexvar_ps(__U, __X, __Y);
6520*67e74705SXin Li }
6521*67e74705SXin Li 
test_mm256_permutexvar_ps(__m256i __X,__m256 __Y)6522*67e74705SXin Li __m256 test_mm256_permutexvar_ps(__m256i __X, __m256 __Y) {
6523*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutexvar_ps
6524*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.sf.256
6525*67e74705SXin Li   return _mm256_permutexvar_ps( __X, __Y);
6526*67e74705SXin Li }
6527*67e74705SXin Li 
test_mm256_maskz_permutexvar_epi32(__mmask8 __M,__m256i __X,__m256i __Y)6528*67e74705SXin Li __m256i test_mm256_maskz_permutexvar_epi32(__mmask8 __M, __m256i __X, __m256i __Y) {
6529*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_permutexvar_epi32
6530*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.si.256
6531*67e74705SXin Li   return _mm256_maskz_permutexvar_epi32(__M, __X, __Y);
6532*67e74705SXin Li }
6533*67e74705SXin Li 
test_mm256_permutexvar_epi32(__m256i __X,__m256i __Y)6534*67e74705SXin Li __m256i test_mm256_permutexvar_epi32(__m256i __X, __m256i __Y) {
6535*67e74705SXin Li   // CHECK-LABEL: @test_mm256_permutexvar_epi32
6536*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.si.256
6537*67e74705SXin Li   return _mm256_permutexvar_epi32(__X, __Y);
6538*67e74705SXin Li }
6539*67e74705SXin Li 
test_mm256_mask_permutexvar_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)6540*67e74705SXin Li __m256i test_mm256_mask_permutexvar_epi32(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
6541*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_permutexvar_epi32
6542*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.permvar.si.256
6543*67e74705SXin Li   return _mm256_mask_permutexvar_epi32(__W, __M, __X, __Y);
6544*67e74705SXin Li }
6545*67e74705SXin Li 
test_mm_alignr_epi32(__m128i __A,__m128i __B)6546*67e74705SXin Li __m128i test_mm_alignr_epi32(__m128i __A, __m128i __B) {
6547*67e74705SXin Li   // CHECK-LABEL: @test_mm_alignr_epi32
6548*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.d.128
6549*67e74705SXin Li   return _mm_alignr_epi32(__A, __B, 1);
6550*67e74705SXin Li }
6551*67e74705SXin Li 
test_mm_mask_alignr_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)6552*67e74705SXin Li __m128i test_mm_mask_alignr_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
6553*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_alignr_epi32
6554*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.d.128
6555*67e74705SXin Li   return _mm_mask_alignr_epi32(__W, __U, __A, __B, 1);
6556*67e74705SXin Li }
6557*67e74705SXin Li 
test_mm_maskz_alignr_epi32(__mmask8 __U,__m128i __A,__m128i __B)6558*67e74705SXin Li __m128i test_mm_maskz_alignr_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
6559*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_alignr_epi32
6560*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.d.128
6561*67e74705SXin Li   return _mm_maskz_alignr_epi32(__U, __A, __B, 1);
6562*67e74705SXin Li }
6563*67e74705SXin Li 
test_mm256_alignr_epi32(__m256i __A,__m256i __B)6564*67e74705SXin Li __m256i test_mm256_alignr_epi32(__m256i __A, __m256i __B) {
6565*67e74705SXin Li   // CHECK-LABEL: @test_mm256_alignr_epi32
6566*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.d.256
6567*67e74705SXin Li   return _mm256_alignr_epi32(__A, __B, 1);
6568*67e74705SXin Li }
6569*67e74705SXin Li 
test_mm256_mask_alignr_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)6570*67e74705SXin Li __m256i test_mm256_mask_alignr_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
6571*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_alignr_epi32
6572*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.d.256
6573*67e74705SXin Li   return _mm256_mask_alignr_epi32(__W, __U, __A, __B, 1);
6574*67e74705SXin Li }
6575*67e74705SXin Li 
test_mm256_maskz_alignr_epi32(__mmask8 __U,__m256i __A,__m256i __B)6576*67e74705SXin Li __m256i test_mm256_maskz_alignr_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
6577*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_alignr_epi32
6578*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.d.256
6579*67e74705SXin Li   return _mm256_maskz_alignr_epi32(__U, __A, __B, 1);
6580*67e74705SXin Li }
6581*67e74705SXin Li 
test_mm_alignr_epi64(__m128i __A,__m128i __B)6582*67e74705SXin Li __m128i test_mm_alignr_epi64(__m128i __A, __m128i __B) {
6583*67e74705SXin Li   // CHECK-LABEL: @test_mm_alignr_epi64
6584*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.q.128
6585*67e74705SXin Li   return _mm_alignr_epi64(__A, __B, 1);
6586*67e74705SXin Li }
6587*67e74705SXin Li 
test_mm_mask_alignr_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)6588*67e74705SXin Li __m128i test_mm_mask_alignr_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
6589*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_alignr_epi64
6590*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.q.128
6591*67e74705SXin Li   return _mm_mask_alignr_epi64(__W, __U, __A, __B, 1);
6592*67e74705SXin Li }
6593*67e74705SXin Li 
test_mm_maskz_alignr_epi64(__mmask8 __U,__m128i __A,__m128i __B)6594*67e74705SXin Li __m128i test_mm_maskz_alignr_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
6595*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_alignr_epi64
6596*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.q.128
6597*67e74705SXin Li   return _mm_maskz_alignr_epi64(__U, __A, __B, 1);
6598*67e74705SXin Li }
6599*67e74705SXin Li 
test_mm256_alignr_epi64(__m256i __A,__m256i __B)6600*67e74705SXin Li __m256i test_mm256_alignr_epi64(__m256i __A, __m256i __B) {
6601*67e74705SXin Li   // CHECK-LABEL: @test_mm256_alignr_epi64
6602*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.q.256
6603*67e74705SXin Li   return _mm256_alignr_epi64(__A, __B, 1);
6604*67e74705SXin Li }
6605*67e74705SXin Li 
test_mm256_mask_alignr_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)6606*67e74705SXin Li __m256i test_mm256_mask_alignr_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
6607*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_alignr_epi64
6608*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.q.256
6609*67e74705SXin Li   return _mm256_mask_alignr_epi64(__W, __U, __A, __B, 1);
6610*67e74705SXin Li }
6611*67e74705SXin Li 
test_mm256_maskz_alignr_epi64(__mmask8 __U,__m256i __A,__m256i __B)6612*67e74705SXin Li __m256i test_mm256_maskz_alignr_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
6613*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_alignr_epi64
6614*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.valign.q.256
6615*67e74705SXin Li   return _mm256_maskz_alignr_epi64(__U, __A, __B, 1);
6616*67e74705SXin Li }
6617*67e74705SXin Li 
test_mm_mask_movehdup_ps(__m128 __W,__mmask8 __U,__m128 __A)6618*67e74705SXin Li __m128 test_mm_mask_movehdup_ps(__m128 __W, __mmask8 __U, __m128 __A) {
6619*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_movehdup_ps
6620*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 1, i32 1, i32 3, i32 3>
6621*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x float> %{{.*}}, <4 x float> %{{.*}}
6622*67e74705SXin Li   return _mm_mask_movehdup_ps(__W, __U, __A);
6623*67e74705SXin Li }
6624*67e74705SXin Li 
test_mm_maskz_movehdup_ps(__mmask8 __U,__m128 __A)6625*67e74705SXin Li __m128 test_mm_maskz_movehdup_ps(__mmask8 __U, __m128 __A) {
6626*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_movehdup_ps
6627*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 1, i32 1, i32 3, i32 3>
6628*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x float> %{{.*}}, <4 x float> %{{.*}}
6629*67e74705SXin Li   return _mm_maskz_movehdup_ps(__U, __A);
6630*67e74705SXin Li }
6631*67e74705SXin Li 
test_mm256_mask_movehdup_ps(__m256 __W,__mmask8 __U,__m256 __A)6632*67e74705SXin Li __m256 test_mm256_mask_movehdup_ps(__m256 __W, __mmask8 __U, __m256 __A) {
6633*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_movehdup_ps
6634*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 1, i32 1, i32 3, i32 3, i32 5, i32 5, i32 7, i32 7>
6635*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}} <8 x float> %{{.*}}, <8 x float> %{{.*}}
6636*67e74705SXin Li   return _mm256_mask_movehdup_ps(__W, __U, __A);
6637*67e74705SXin Li }
6638*67e74705SXin Li 
test_mm256_maskz_movehdup_ps(__mmask8 __U,__m256 __A)6639*67e74705SXin Li __m256 test_mm256_maskz_movehdup_ps(__mmask8 __U, __m256 __A) {
6640*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_movehdup_ps
6641*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 1, i32 1, i32 3, i32 3, i32 5, i32 5, i32 7, i32 7>
6642*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}} <8 x float> %{{.*}}, <8 x float> %{{.*}}
6643*67e74705SXin Li   return _mm256_maskz_movehdup_ps(__U, __A);
6644*67e74705SXin Li }
6645*67e74705SXin Li 
test_mm_mask_moveldup_ps(__m128 __W,__mmask8 __U,__m128 __A)6646*67e74705SXin Li __m128 test_mm_mask_moveldup_ps(__m128 __W, __mmask8 __U, __m128 __A) {
6647*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_moveldup_ps
6648*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
6649*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x float> %{{.*}}, <4 x float> %{{.*}}
6650*67e74705SXin Li   return _mm_mask_moveldup_ps(__W, __U, __A);
6651*67e74705SXin Li }
6652*67e74705SXin Li 
test_mm_maskz_moveldup_ps(__mmask8 __U,__m128 __A)6653*67e74705SXin Li __m128 test_mm_maskz_moveldup_ps(__mmask8 __U, __m128 __A) {
6654*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_moveldup_ps
6655*67e74705SXin Li   // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
6656*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}} <4 x float> %{{.*}}, <4 x float> %{{.*}}
6657*67e74705SXin Li   return _mm_maskz_moveldup_ps(__U, __A);
6658*67e74705SXin Li }
6659*67e74705SXin Li 
test_mm256_mask_moveldup_ps(__m256 __W,__mmask8 __U,__m256 __A)6660*67e74705SXin Li __m256 test_mm256_mask_moveldup_ps(__m256 __W, __mmask8 __U, __m256 __A) {
6661*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_moveldup_ps
6662*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 0, i32 0, i32 2, i32 2, i32 4, i32 4, i32 6, i32 6>
6663*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}} <8 x float> %{{.*}}, <8 x float> %{{.*}}
6664*67e74705SXin Li   return _mm256_mask_moveldup_ps(__W, __U, __A);
6665*67e74705SXin Li }
6666*67e74705SXin Li 
test_mm256_maskz_moveldup_ps(__mmask8 __U,__m256 __A)6667*67e74705SXin Li __m256 test_mm256_maskz_moveldup_ps(__mmask8 __U, __m256 __A) {
6668*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_moveldup_ps
6669*67e74705SXin Li   // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <8 x i32> <i32 0, i32 0, i32 2, i32 2, i32 4, i32 4, i32 6, i32 6>
6670*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}} <8 x float> %{{.*}}, <8 x float> %{{.*}}
6671*67e74705SXin Li   return _mm256_maskz_moveldup_ps(__U, __A);
6672*67e74705SXin Li }
6673*67e74705SXin Li 
test_mm_mask_shuffle_epi32(__m128i __W,__mmask8 __U,__m128i __A)6674*67e74705SXin Li __m128i test_mm_mask_shuffle_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
6675*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_shuffle_epi32
6676*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> <i32 1, i32 0, i32 0, i32 0>
6677*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
6678*67e74705SXin Li   return _mm_mask_shuffle_epi32(__W, __U, __A, 1);
6679*67e74705SXin Li }
6680*67e74705SXin Li 
test_mm_maskz_shuffle_epi32(__mmask8 __U,__m128i __A)6681*67e74705SXin Li __m128i test_mm_maskz_shuffle_epi32(__mmask8 __U, __m128i __A) {
6682*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_shuffle_epi32
6683*67e74705SXin Li   // CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> <i32 2, i32 0, i32 0, i32 0>
6684*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
6685*67e74705SXin Li   return _mm_maskz_shuffle_epi32(__U, __A, 2);
6686*67e74705SXin Li }
6687*67e74705SXin Li 
test_mm256_mask_shuffle_epi32(__m256i __W,__mmask8 __U,__m256i __A)6688*67e74705SXin Li __m256i test_mm256_mask_shuffle_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
6689*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_shuffle_epi32
6690*67e74705SXin Li   // CHECK: shufflevector <8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> <i32 2, i32 0, i32 0, i32 0, i32 6, i32 4, i32 4, i32 4>
6691*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
6692*67e74705SXin Li   return _mm256_mask_shuffle_epi32(__W, __U, __A, 2);
6693*67e74705SXin Li }
6694*67e74705SXin Li 
test_mm256_maskz_shuffle_epi32(__mmask8 __U,__m256i __A)6695*67e74705SXin Li __m256i test_mm256_maskz_shuffle_epi32(__mmask8 __U, __m256i __A) {
6696*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_shuffle_epi32
6697*67e74705SXin Li   // CHECK: shufflevector <8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> <i32 2, i32 0, i32 0, i32 0, i32 6, i32 4, i32 4, i32 4>
6698*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
6699*67e74705SXin Li   return _mm256_maskz_shuffle_epi32(__U, __A, 2);
6700*67e74705SXin Li }
6701*67e74705SXin Li 
test_mm_mask_mov_pd(__m128d __W,__mmask8 __U,__m128d __A)6702*67e74705SXin Li __m128d test_mm_mask_mov_pd(__m128d __W, __mmask8 __U, __m128d __A) {
6703*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_mov_pd
6704*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
6705*67e74705SXin Li   return _mm_mask_mov_pd(__W, __U, __A);
6706*67e74705SXin Li }
6707*67e74705SXin Li 
test_mm_maskz_mov_pd(__mmask8 __U,__m128d __A)6708*67e74705SXin Li __m128d test_mm_maskz_mov_pd(__mmask8 __U, __m128d __A) {
6709*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_mov_pd
6710*67e74705SXin Li   // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
6711*67e74705SXin Li   return _mm_maskz_mov_pd(__U, __A);
6712*67e74705SXin Li }
6713*67e74705SXin Li 
test_mm256_mask_mov_pd(__m256d __W,__mmask8 __U,__m256d __A)6714*67e74705SXin Li __m256d test_mm256_mask_mov_pd(__m256d __W, __mmask8 __U, __m256d __A) {
6715*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_mov_pd
6716*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
6717*67e74705SXin Li   return _mm256_mask_mov_pd(__W, __U, __A);
6718*67e74705SXin Li }
6719*67e74705SXin Li 
test_mm256_maskz_mov_pd(__mmask8 __U,__m256d __A)6720*67e74705SXin Li __m256d test_mm256_maskz_mov_pd(__mmask8 __U, __m256d __A) {
6721*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_mov_pd
6722*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
6723*67e74705SXin Li   return _mm256_maskz_mov_pd(__U, __A);
6724*67e74705SXin Li }
6725*67e74705SXin Li 
test_mm_mask_mov_ps(__m128 __W,__mmask8 __U,__m128 __A)6726*67e74705SXin Li __m128 test_mm_mask_mov_ps(__m128 __W, __mmask8 __U, __m128 __A) {
6727*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_mov_ps
6728*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
6729*67e74705SXin Li   return _mm_mask_mov_ps(__W, __U, __A);
6730*67e74705SXin Li }
6731*67e74705SXin Li 
test_mm_maskz_mov_ps(__mmask8 __U,__m128 __A)6732*67e74705SXin Li __m128 test_mm_maskz_mov_ps(__mmask8 __U, __m128 __A) {
6733*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_mov_ps
6734*67e74705SXin Li   // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
6735*67e74705SXin Li   return _mm_maskz_mov_ps(__U, __A);
6736*67e74705SXin Li }
6737*67e74705SXin Li 
test_mm256_mask_mov_ps(__m256 __W,__mmask8 __U,__m256 __A)6738*67e74705SXin Li __m256 test_mm256_mask_mov_ps(__m256 __W, __mmask8 __U, __m256 __A) {
6739*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_mov_ps
6740*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
6741*67e74705SXin Li   return _mm256_mask_mov_ps(__W, __U, __A);
6742*67e74705SXin Li }
6743*67e74705SXin Li 
test_mm256_maskz_mov_ps(__mmask8 __U,__m256 __A)6744*67e74705SXin Li __m256 test_mm256_maskz_mov_ps(__mmask8 __U, __m256 __A) {
6745*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_mov_ps
6746*67e74705SXin Li   // CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}
6747*67e74705SXin Li   return _mm256_maskz_mov_ps(__U, __A);
6748*67e74705SXin Li }
6749*67e74705SXin Li 
test_mm_mask_cvtph_ps(__m128 __W,__mmask8 __U,__m128i __A)6750*67e74705SXin Li __m128 test_mm_mask_cvtph_ps(__m128 __W, __mmask8 __U, __m128i __A) {
6751*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtph_ps
6752*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtph2ps.128
6753*67e74705SXin Li   return _mm_mask_cvtph_ps(__W, __U, __A);
6754*67e74705SXin Li }
6755*67e74705SXin Li 
test_mm_maskz_cvtph_ps(__mmask8 __U,__m128i __A)6756*67e74705SXin Li __m128 test_mm_maskz_cvtph_ps(__mmask8 __U, __m128i __A) {
6757*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtph_ps
6758*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtph2ps.128
6759*67e74705SXin Li   return _mm_maskz_cvtph_ps(__U, __A);
6760*67e74705SXin Li }
6761*67e74705SXin Li 
test_mm256_mask_cvtph_ps(__m256 __W,__mmask8 __U,__m128i __A)6762*67e74705SXin Li __m256 test_mm256_mask_cvtph_ps(__m256 __W, __mmask8 __U, __m128i __A) {
6763*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtph_ps
6764*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtph2ps.256
6765*67e74705SXin Li   return _mm256_mask_cvtph_ps(__W, __U, __A);
6766*67e74705SXin Li }
6767*67e74705SXin Li 
test_mm256_maskz_cvtph_ps(__mmask8 __U,__m128i __A)6768*67e74705SXin Li __m256 test_mm256_maskz_cvtph_ps(__mmask8 __U, __m128i __A) {
6769*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtph_ps
6770*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtph2ps.256
6771*67e74705SXin Li   return _mm256_maskz_cvtph_ps(__U, __A);
6772*67e74705SXin Li }
6773*67e74705SXin Li 
test_mm_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m128 __A)6774*67e74705SXin Li __m128i test_mm_mask_cvtps_ph(__m128i __W, __mmask8 __U, __m128 __A) {
6775*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvtps_ph
6776*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.128
6777*67e74705SXin Li   return _mm_mask_cvtps_ph(__W, __U, __A);
6778*67e74705SXin Li }
6779*67e74705SXin Li 
test_mm_maskz_cvtps_ph(__mmask8 __U,__m128 __A)6780*67e74705SXin Li __m128i test_mm_maskz_cvtps_ph(__mmask8 __U, __m128 __A) {
6781*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvtps_ph
6782*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.128
6783*67e74705SXin Li   return _mm_maskz_cvtps_ph(__U, __A);
6784*67e74705SXin Li }
6785*67e74705SXin Li 
test_mm256_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m256 __A)6786*67e74705SXin Li __m128i test_mm256_mask_cvtps_ph(__m128i __W, __mmask8 __U, __m256 __A) {
6787*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvtps_ph
6788*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.256
6789*67e74705SXin Li   return _mm256_mask_cvtps_ph(__W, __U, __A);
6790*67e74705SXin Li }
6791*67e74705SXin Li 
test_mm256_maskz_cvtps_ph(__mmask8 __U,__m256 __A)6792*67e74705SXin Li __m128i test_mm256_maskz_cvtps_ph(__mmask8 __U, __m256 __A) {
6793*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvtps_ph
6794*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.256
6795*67e74705SXin Li   return _mm256_maskz_cvtps_ph(__U, __A);
6796*67e74705SXin Li }
6797*67e74705SXin Li 
test_mm_mask_cvt_roundps_ph(__m128i __W,__mmask8 __U,__m128 __A)6798*67e74705SXin Li __m128i test_mm_mask_cvt_roundps_ph(__m128i __W, __mmask8 __U, __m128 __A) {
6799*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cvt_roundps_ph
6800*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.128
6801*67e74705SXin Li   return _mm_mask_cvt_roundps_ph(__W, __U, __A, _MM_FROUND_CUR_DIRECTION);
6802*67e74705SXin Li }
6803*67e74705SXin Li 
test_mm_maskz_cvt_roundps_ph(__mmask8 __U,__m128 __A)6804*67e74705SXin Li __m128i test_mm_maskz_cvt_roundps_ph(__mmask8 __U, __m128 __A) {
6805*67e74705SXin Li   // CHECK-LABEL: @test_mm_maskz_cvt_roundps_ph
6806*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.128
6807*67e74705SXin Li   return _mm_maskz_cvt_roundps_ph(__U, __A, _MM_FROUND_CUR_DIRECTION);
6808*67e74705SXin Li }
6809*67e74705SXin Li 
test_mm256_mask_cvt_roundps_ph(__m128i __W,__mmask8 __U,__m256 __A)6810*67e74705SXin Li __m128i test_mm256_mask_cvt_roundps_ph(__m128i __W, __mmask8 __U, __m256 __A) {
6811*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cvt_roundps_ph
6812*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.256
6813*67e74705SXin Li   return _mm256_mask_cvt_roundps_ph(__W, __U, __A, _MM_FROUND_CUR_DIRECTION);
6814*67e74705SXin Li }
6815*67e74705SXin Li 
test_mm256_maskz_cvt_roundps_ph(__mmask8 __U,__m256 __A)6816*67e74705SXin Li __m128i test_mm256_maskz_cvt_roundps_ph(__mmask8 __U, __m256 __A) {
6817*67e74705SXin Li   // CHECK-LABEL: @test_mm256_maskz_cvt_roundps_ph
6818*67e74705SXin Li   // CHECK: @llvm.x86.avx512.mask.vcvtps2ph.256
6819*67e74705SXin Li   return _mm256_maskz_cvt_roundps_ph(__U, __A, _MM_FROUND_CUR_DIRECTION);
6820*67e74705SXin Li }
6821*67e74705SXin Li 
test_mm_cmpeq_epi32_mask(__m128i __a,__m128i __b)6822*67e74705SXin Li __mmask8 test_mm_cmpeq_epi32_mask(__m128i __a, __m128i __b) {
6823*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpeq_epi32_mask
6824*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
6825*67e74705SXin Li   return (__mmask8)_mm_cmpeq_epi32_mask(__a, __b);
6826*67e74705SXin Li }
6827*67e74705SXin Li 
test_mm_mask_cmpeq_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)6828*67e74705SXin Li __mmask8 test_mm_mask_cmpeq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
6829*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpeq_epi32_mask
6830*67e74705SXin Li   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
6831*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
6832*67e74705SXin Li   return (__mmask8)_mm_mask_cmpeq_epi32_mask(__u, __a, __b);
6833*67e74705SXin Li }
6834*67e74705SXin Li 
test_mm_mask_cmpeq_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)6835*67e74705SXin Li __mmask8 test_mm_mask_cmpeq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
6836*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpeq_epi64_mask
6837*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
6838*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
6839*67e74705SXin Li   return (__mmask8)_mm_mask_cmpeq_epi64_mask(__u, __a, __b);
6840*67e74705SXin Li }
6841*67e74705SXin Li 
test_mm_cmpeq_epi64_mask(__m128i __a,__m128i __b)6842*67e74705SXin Li __mmask8 test_mm_cmpeq_epi64_mask(__m128i __a, __m128i __b) {
6843*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpeq_epi64_mask
6844*67e74705SXin Li   // CHECK: icmp eq <2 x i64> %{{.*}}, %{{.*}}
6845*67e74705SXin Li   return (__mmask8)_mm_cmpeq_epi64_mask(__a, __b);
6846*67e74705SXin Li }
6847*67e74705SXin Li 
test_mm_cmpgt_epi32_mask(__m128i __a,__m128i __b)6848*67e74705SXin Li __mmask8 test_mm_cmpgt_epi32_mask(__m128i __a, __m128i __b) {
6849*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpgt_epi32_mask
6850*67e74705SXin Li   // CHECK: icmp sgt <4 x i32> %{{.*}}, %{{.*}}
6851*67e74705SXin Li   return (__mmask8)_mm_cmpgt_epi32_mask(__a, __b);
6852*67e74705SXin Li }
6853*67e74705SXin Li 
test_mm_mask_cmpgt_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)6854*67e74705SXin Li __mmask8 test_mm_mask_cmpgt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
6855*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpgt_epi32_mask
6856*67e74705SXin Li   // CHECK: icmp sgt <4 x i32> %{{.*}}, %{{.*}}
6857*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
6858*67e74705SXin Li   return (__mmask8)_mm_mask_cmpgt_epi32_mask(__u, __a, __b);
6859*67e74705SXin Li }
6860*67e74705SXin Li 
test_mm_mask_cmpgt_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)6861*67e74705SXin Li __mmask8 test_mm_mask_cmpgt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
6862*67e74705SXin Li   // CHECK-LABEL: @test_mm_mask_cmpgt_epi64_mask
6863*67e74705SXin Li   // CHECK: icmp sgt <2 x i64> %{{.*}}, %{{.*}}
6864*67e74705SXin Li   // CHECK: and <2 x i1> %{{.*}}, %{{.*}}
6865*67e74705SXin Li   return (__mmask8)_mm_mask_cmpgt_epi64_mask(__u, __a, __b);
6866*67e74705SXin Li }
6867*67e74705SXin Li 
test_mm_cmpgt_epi64_mask(__m128i __a,__m128i __b)6868*67e74705SXin Li __mmask8 test_mm_cmpgt_epi64_mask(__m128i __a, __m128i __b) {
6869*67e74705SXin Li   // CHECK-LABEL: @test_mm_cmpgt_epi64_mask
6870*67e74705SXin Li   // CHECK: icmp sgt <2 x i64> %{{.*}}, %{{.*}}
6871*67e74705SXin Li   return (__mmask8)_mm_cmpgt_epi64_mask(__a, __b);
6872*67e74705SXin Li }
6873*67e74705SXin Li 
test_mm256_cmpeq_epi32_mask(__m256i __a,__m256i __b)6874*67e74705SXin Li __mmask8 test_mm256_cmpeq_epi32_mask(__m256i __a, __m256i __b) {
6875*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpeq_epi32_mask
6876*67e74705SXin Li   // CHECK: icmp eq <8 x i32> %{{.*}}, %{{.*}}
6877*67e74705SXin Li   return (__mmask8)_mm256_cmpeq_epi32_mask(__a, __b);
6878*67e74705SXin Li }
6879*67e74705SXin Li 
test_mm256_mask_cmpeq_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)6880*67e74705SXin Li __mmask8 test_mm256_mask_cmpeq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
6881*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpeq_epi32_mask
6882*67e74705SXin Li   // CHECK: icmp eq <8 x i32> %{{.*}}, %{{.*}}
6883*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
6884*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpeq_epi32_mask(__u, __a, __b);
6885*67e74705SXin Li }
6886*67e74705SXin Li 
test_mm256_mask_cmpeq_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)6887*67e74705SXin Li __mmask8 test_mm256_mask_cmpeq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
6888*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpeq_epi64_mask
6889*67e74705SXin Li   // CHECK: icmp eq <4 x i64> %{{.*}}, %{{.*}}
6890*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
6891*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpeq_epi64_mask(__u, __a, __b);
6892*67e74705SXin Li }
6893*67e74705SXin Li 
test_mm256_cmpeq_epi64_mask(__m256i __a,__m256i __b)6894*67e74705SXin Li __mmask8 test_mm256_cmpeq_epi64_mask(__m256i __a, __m256i __b) {
6895*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpeq_epi64_mask
6896*67e74705SXin Li   // CHECK: icmp eq <4 x i64> %{{.*}}, %{{.*}}
6897*67e74705SXin Li   return (__mmask8)_mm256_cmpeq_epi64_mask(__a, __b);
6898*67e74705SXin Li }
6899*67e74705SXin Li 
test_mm256_cmpgt_epi32_mask(__m256i __a,__m256i __b)6900*67e74705SXin Li __mmask8 test_mm256_cmpgt_epi32_mask(__m256i __a, __m256i __b) {
6901*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpgt_epi32_mask
6902*67e74705SXin Li   // CHECK: icmp sgt <8 x i32> %{{.*}}, %{{.*}}
6903*67e74705SXin Li   return (__mmask8)_mm256_cmpgt_epi32_mask(__a, __b);
6904*67e74705SXin Li }
6905*67e74705SXin Li 
test_mm256_mask_cmpgt_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)6906*67e74705SXin Li __mmask8 test_mm256_mask_cmpgt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
6907*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpgt_epi32_mask
6908*67e74705SXin Li   // CHECK: icmp sgt <8 x i32> %{{.*}}, %{{.*}}
6909*67e74705SXin Li   // CHECK: and <8 x i1> %{{.*}}, %{{.*}}
6910*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpgt_epi32_mask(__u, __a, __b);
6911*67e74705SXin Li }
6912*67e74705SXin Li 
test_mm256_mask_cmpgt_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)6913*67e74705SXin Li __mmask8 test_mm256_mask_cmpgt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
6914*67e74705SXin Li   // CHECK-LABEL: @test_mm256_mask_cmpgt_epi64_mask
6915*67e74705SXin Li   // CHECK: icmp sgt <4 x i64> %{{.*}}, %{{.*}}
6916*67e74705SXin Li   // CHECK: and <4 x i1> %{{.*}}, %{{.*}}
6917*67e74705SXin Li   return (__mmask8)_mm256_mask_cmpgt_epi64_mask(__u, __a, __b);
6918*67e74705SXin Li }
6919*67e74705SXin Li 
test_mm256_cmpgt_epi64_mask(__m256i __a,__m256i __b)6920*67e74705SXin Li __mmask8 test_mm256_cmpgt_epi64_mask(__m256i __a, __m256i __b) {
6921*67e74705SXin Li   // CHECK-LABEL: @test_mm256_cmpgt_epi64_mask
6922*67e74705SXin Li   // CHECK: icmp sgt <4 x i64> %{{.*}}, %{{.*}}
6923*67e74705SXin Li   return (__mmask8)_mm256_cmpgt_epi64_mask(__a, __b);
6924*67e74705SXin Li }
6925