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