1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512dq -emit-llvm -o - -Werror | FileCheck %s
2
3 // Don't include mm_malloc.h, it's system specific.
4 #define __MM_MALLOC_H
5
6 #include <immintrin.h>
7
test_mm512_mullo_epi64(__m512i __A,__m512i __B)8 __m512i test_mm512_mullo_epi64 (__m512i __A, __m512i __B) {
9 // CHECK-LABEL: @test_mm512_mullo_epi64
10 // CHECK: mul <8 x i64>
11 return (__m512i) ((__v8di) __A * (__v8di) __B);
12 }
13
test_mm512_mask_mullo_epi64(__m512i __W,__mmask8 __U,__m512i __A,__m512i __B)14 __m512i test_mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
15 // CHECK-LABEL: @test_mm512_mask_mullo_epi64
16 // CHECK: @llvm.x86.avx512.mask.pmull.q.512
17 return (__m512i) _mm512_mask_mullo_epi64(__W, __U, __A, __B);
18 }
19
test_mm512_maskz_mullo_epi64(__mmask8 __U,__m512i __A,__m512i __B)20 __m512i test_mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B) {
21 // CHECK-LABEL: @test_mm512_maskz_mullo_epi64
22 // CHECK: @llvm.x86.avx512.mask.pmull.q.512
23 return (__m512i) _mm512_maskz_mullo_epi64(__U, __A, __B);
24 }
25
test_mm512_xor_pd(__m512d __A,__m512d __B)26 __m512d test_mm512_xor_pd (__m512d __A, __m512d __B) {
27 // CHECK-LABEL: @test_mm512_xor_pd
28 // CHECK: xor <8 x i64>
29 return (__m512d) _mm512_xor_pd(__A, __B);
30 }
31
test_mm512_mask_xor_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)32 __m512d test_mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
33 // CHECK-LABEL: @test_mm512_mask_xor_pd
34 // CHECK: @llvm.x86.avx512.mask.xor.pd.512
35 return (__m512d) _mm512_mask_xor_pd(__W, __U, __A, __B);
36 }
37
test_mm512_maskz_xor_pd(__mmask8 __U,__m512d __A,__m512d __B)38 __m512d test_mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B) {
39 // CHECK-LABEL: @test_mm512_maskz_xor_pd
40 // CHECK: @llvm.x86.avx512.mask.xor.pd.512
41 return (__m512d) _mm512_maskz_xor_pd(__U, __A, __B);
42 }
43
test_mm512_xor_ps(__m512 __A,__m512 __B)44 __m512 test_mm512_xor_ps (__m512 __A, __m512 __B) {
45 // CHECK-LABEL: @test_mm512_xor_ps
46 // CHECK: xor <16 x i32>
47 return (__m512) _mm512_xor_ps(__A, __B);
48 }
49
test_mm512_mask_xor_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)50 __m512 test_mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
51 // CHECK-LABEL: @test_mm512_mask_xor_ps
52 // CHECK: @llvm.x86.avx512.mask.xor.ps.512
53 return (__m512) _mm512_mask_xor_ps(__W, __U, __A, __B);
54 }
55
test_mm512_maskz_xor_ps(__mmask16 __U,__m512 __A,__m512 __B)56 __m512 test_mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B) {
57 // CHECK-LABEL: @test_mm512_maskz_xor_ps
58 // CHECK: @llvm.x86.avx512.mask.xor.ps.512
59 return (__m512) _mm512_maskz_xor_ps(__U, __A, __B);
60 }
61
test_mm512_or_pd(__m512d __A,__m512d __B)62 __m512d test_mm512_or_pd (__m512d __A, __m512d __B) {
63 // CHECK-LABEL: @test_mm512_or_pd
64 // CHECK: or <8 x i64>
65 return (__m512d) _mm512_or_pd(__A, __B);
66 }
67
test_mm512_mask_or_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)68 __m512d test_mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
69 // CHECK-LABEL: @test_mm512_mask_or_pd
70 // CHECK: @llvm.x86.avx512.mask.or.pd.512
71 return (__m512d) _mm512_mask_or_pd(__W, __U, __A, __B);
72 }
73
test_mm512_maskz_or_pd(__mmask8 __U,__m512d __A,__m512d __B)74 __m512d test_mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B) {
75 // CHECK-LABEL: @test_mm512_maskz_or_pd
76 // CHECK: @llvm.x86.avx512.mask.or.pd.512
77 return (__m512d) _mm512_maskz_or_pd(__U, __A, __B);
78 }
79
test_mm512_or_ps(__m512 __A,__m512 __B)80 __m512 test_mm512_or_ps (__m512 __A, __m512 __B) {
81 // CHECK-LABEL: @test_mm512_or_ps
82 // CHECK: or <16 x i32>
83 return (__m512) _mm512_or_ps(__A, __B);
84 }
85
test_mm512_mask_or_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)86 __m512 test_mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
87 // CHECK-LABEL: @test_mm512_mask_or_ps
88 // CHECK: @llvm.x86.avx512.mask.or.ps.512
89 return (__m512) _mm512_mask_or_ps(__W, __U, __A, __B);
90 }
91
test_mm512_maskz_or_ps(__mmask16 __U,__m512 __A,__m512 __B)92 __m512 test_mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B) {
93 // CHECK-LABEL: @test_mm512_maskz_or_ps
94 // CHECK: @llvm.x86.avx512.mask.or.ps.512
95 return (__m512) _mm512_maskz_or_ps(__U, __A, __B);
96 }
97
test_mm512_and_pd(__m512d __A,__m512d __B)98 __m512d test_mm512_and_pd (__m512d __A, __m512d __B) {
99 // CHECK-LABEL: @test_mm512_and_pd
100 // CHECK: and <8 x i64>
101 return (__m512d) _mm512_and_pd(__A, __B);
102 }
103
test_mm512_mask_and_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)104 __m512d test_mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
105 // CHECK-LABEL: @test_mm512_mask_and_pd
106 // CHECK: @llvm.x86.avx512.mask.and.pd.512
107 return (__m512d) _mm512_mask_and_pd(__W, __U, __A, __B);
108 }
109
test_mm512_maskz_and_pd(__mmask8 __U,__m512d __A,__m512d __B)110 __m512d test_mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B) {
111 // CHECK-LABEL: @test_mm512_maskz_and_pd
112 // CHECK: @llvm.x86.avx512.mask.and.pd.512
113 return (__m512d) _mm512_maskz_and_pd(__U, __A, __B);
114 }
115
test_mm512_and_ps(__m512 __A,__m512 __B)116 __m512 test_mm512_and_ps (__m512 __A, __m512 __B) {
117 // CHECK-LABEL: @test_mm512_and_ps
118 // CHECK: and <16 x i32>
119 return (__m512) _mm512_and_ps(__A, __B);
120 }
121
test_mm512_mask_and_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)122 __m512 test_mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
123 // CHECK-LABEL: @test_mm512_mask_and_ps
124 // CHECK: @llvm.x86.avx512.mask.and.ps.512
125 return (__m512) _mm512_mask_and_ps(__W, __U, __A, __B);
126 }
127
test_mm512_maskz_and_ps(__mmask16 __U,__m512 __A,__m512 __B)128 __m512 test_mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B) {
129 // CHECK-LABEL: @test_mm512_maskz_and_ps
130 // CHECK: @llvm.x86.avx512.mask.and.ps.512
131 return (__m512) _mm512_maskz_and_ps(__U, __A, __B);
132 }
133
test_mm512_andnot_pd(__m512d __A,__m512d __B)134 __m512d test_mm512_andnot_pd (__m512d __A, __m512d __B) {
135 // CHECK-LABEL: @test_mm512_andnot_pd
136 // CHECK: @llvm.x86.avx512.mask.andn.pd.512
137 return (__m512d) _mm512_andnot_pd(__A, __B);
138 }
139
test_mm512_mask_andnot_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)140 __m512d test_mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
141 // CHECK-LABEL: @test_mm512_mask_andnot_pd
142 // CHECK: @llvm.x86.avx512.mask.andn.pd.512
143 return (__m512d) _mm512_mask_andnot_pd(__W, __U, __A, __B);
144 }
145
test_mm512_maskz_andnot_pd(__mmask8 __U,__m512d __A,__m512d __B)146 __m512d test_mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B) {
147 // CHECK-LABEL: @test_mm512_maskz_andnot_pd
148 // CHECK: @llvm.x86.avx512.mask.andn.pd.512
149 return (__m512d) _mm512_maskz_andnot_pd(__U, __A, __B);
150 }
151
test_mm512_andnot_ps(__m512 __A,__m512 __B)152 __m512 test_mm512_andnot_ps (__m512 __A, __m512 __B) {
153 // CHECK-LABEL: @test_mm512_andnot_ps
154 // CHECK: @llvm.x86.avx512.mask.andn.ps.512
155 return (__m512) _mm512_andnot_ps(__A, __B);
156 }
157
test_mm512_mask_andnot_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)158 __m512 test_mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
159 // CHECK-LABEL: @test_mm512_mask_andnot_ps
160 // CHECK: @llvm.x86.avx512.mask.andn.ps.512
161 return (__m512) _mm512_mask_andnot_ps(__W, __U, __A, __B);
162 }
163
test_mm512_maskz_andnot_ps(__mmask16 __U,__m512 __A,__m512 __B)164 __m512 test_mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B) {
165 // CHECK-LABEL: @test_mm512_maskz_andnot_ps
166 // CHECK: @llvm.x86.avx512.mask.andn.ps.512
167 return (__m512) _mm512_maskz_andnot_ps(__U, __A, __B);
168 }
169
test_mm512_cvtpd_epi64(__m512d __A)170 __m512i test_mm512_cvtpd_epi64(__m512d __A) {
171 // CHECK-LABEL: @test_mm512_cvtpd_epi64
172 // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
173 return _mm512_cvtpd_epi64(__A);
174 }
175
test_mm512_mask_cvtpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)176 __m512i test_mm512_mask_cvtpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
177 // CHECK-LABEL: @test_mm512_mask_cvtpd_epi64
178 // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
179 return _mm512_mask_cvtpd_epi64(__W, __U, __A);
180 }
181
test_mm512_maskz_cvtpd_epi64(__mmask8 __U,__m512d __A)182 __m512i test_mm512_maskz_cvtpd_epi64(__mmask8 __U, __m512d __A) {
183 // CHECK-LABEL: @test_mm512_maskz_cvtpd_epi64
184 // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
185 return _mm512_maskz_cvtpd_epi64(__U, __A);
186 }
187
test_mm512_cvt_roundpd_epi64(__m512d __A)188 __m512i test_mm512_cvt_roundpd_epi64(__m512d __A) {
189 // CHECK-LABEL: @test_mm512_cvt_roundpd_epi64
190 // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
191 return _mm512_cvt_roundpd_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
192 }
193
test_mm512_mask_cvt_roundpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)194 __m512i test_mm512_mask_cvt_roundpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
195 // CHECK-LABEL: @test_mm512_mask_cvt_roundpd_epi64
196 // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
197 return _mm512_mask_cvt_roundpd_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
198 }
199
test_mm512_maskz_cvt_roundpd_epi64(__mmask8 __U,__m512d __A)200 __m512i test_mm512_maskz_cvt_roundpd_epi64(__mmask8 __U, __m512d __A) {
201 // CHECK-LABEL: @test_mm512_maskz_cvt_roundpd_epi64
202 // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
203 return _mm512_maskz_cvt_roundpd_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
204 }
205
test_mm512_cvtpd_epu64(__m512d __A)206 __m512i test_mm512_cvtpd_epu64(__m512d __A) {
207 // CHECK-LABEL: @test_mm512_cvtpd_epu64
208 // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
209 return _mm512_cvtpd_epu64(__A);
210 }
211
test_mm512_mask_cvtpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)212 __m512i test_mm512_mask_cvtpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
213 // CHECK-LABEL: @test_mm512_mask_cvtpd_epu64
214 // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
215 return _mm512_mask_cvtpd_epu64(__W, __U, __A);
216 }
217
test_mm512_maskz_cvtpd_epu64(__mmask8 __U,__m512d __A)218 __m512i test_mm512_maskz_cvtpd_epu64(__mmask8 __U, __m512d __A) {
219 // CHECK-LABEL: @test_mm512_maskz_cvtpd_epu64
220 // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
221 return _mm512_maskz_cvtpd_epu64(__U, __A);
222 }
223
test_mm512_cvt_roundpd_epu64(__m512d __A)224 __m512i test_mm512_cvt_roundpd_epu64(__m512d __A) {
225 // CHECK-LABEL: @test_mm512_cvt_roundpd_epu64
226 // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
227 return _mm512_cvt_roundpd_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
228 }
229
test_mm512_mask_cvt_roundpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)230 __m512i test_mm512_mask_cvt_roundpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
231 // CHECK-LABEL: @test_mm512_mask_cvt_roundpd_epu64
232 // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
233 return _mm512_mask_cvt_roundpd_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
234 }
235
test_mm512_maskz_cvt_roundpd_epu64(__mmask8 __U,__m512d __A)236 __m512i test_mm512_maskz_cvt_roundpd_epu64(__mmask8 __U, __m512d __A) {
237 // CHECK-LABEL: @test_mm512_maskz_cvt_roundpd_epu64
238 // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
239 return _mm512_maskz_cvt_roundpd_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
240 }
241
test_mm512_cvtps_epi64(__m256 __A)242 __m512i test_mm512_cvtps_epi64(__m256 __A) {
243 // CHECK-LABEL: @test_mm512_cvtps_epi64
244 // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
245 return _mm512_cvtps_epi64(__A);
246 }
247
test_mm512_mask_cvtps_epi64(__m512i __W,__mmask8 __U,__m256 __A)248 __m512i test_mm512_mask_cvtps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
249 // CHECK-LABEL: @test_mm512_mask_cvtps_epi64
250 // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
251 return _mm512_mask_cvtps_epi64(__W, __U, __A);
252 }
253
test_mm512_maskz_cvtps_epi64(__mmask8 __U,__m256 __A)254 __m512i test_mm512_maskz_cvtps_epi64(__mmask8 __U, __m256 __A) {
255 // CHECK-LABEL: @test_mm512_maskz_cvtps_epi64
256 // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
257 return _mm512_maskz_cvtps_epi64(__U, __A);
258 }
259
test_mm512_cvt_roundps_epi64(__m256 __A)260 __m512i test_mm512_cvt_roundps_epi64(__m256 __A) {
261 // CHECK-LABEL: @test_mm512_cvt_roundps_epi64
262 // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
263 return _mm512_cvt_roundps_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
264 }
265
test_mm512_mask_cvt_roundps_epi64(__m512i __W,__mmask8 __U,__m256 __A)266 __m512i test_mm512_mask_cvt_roundps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
267 // CHECK-LABEL: @test_mm512_mask_cvt_roundps_epi64
268 // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
269 return _mm512_mask_cvt_roundps_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
270 }
271
test_mm512_maskz_cvt_roundps_epi64(__mmask8 __U,__m256 __A)272 __m512i test_mm512_maskz_cvt_roundps_epi64(__mmask8 __U, __m256 __A) {
273 // CHECK-LABEL: @test_mm512_maskz_cvt_roundps_epi64
274 // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
275 return _mm512_maskz_cvt_roundps_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
276 }
277
test_mm512_cvtps_epu64(__m256 __A)278 __m512i test_mm512_cvtps_epu64(__m256 __A) {
279 // CHECK-LABEL: @test_mm512_cvtps_epu64
280 // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
281 return _mm512_cvtps_epu64(__A);
282 }
283
test_mm512_mask_cvtps_epu64(__m512i __W,__mmask8 __U,__m256 __A)284 __m512i test_mm512_mask_cvtps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
285 // CHECK-LABEL: @test_mm512_mask_cvtps_epu64
286 // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
287 return _mm512_mask_cvtps_epu64(__W, __U, __A);
288 }
289
test_mm512_maskz_cvtps_epu64(__mmask8 __U,__m256 __A)290 __m512i test_mm512_maskz_cvtps_epu64(__mmask8 __U, __m256 __A) {
291 // CHECK-LABEL: @test_mm512_maskz_cvtps_epu64
292 // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
293 return _mm512_maskz_cvtps_epu64(__U, __A);
294 }
295
test_mm512_cvt_roundps_epu64(__m256 __A)296 __m512i test_mm512_cvt_roundps_epu64(__m256 __A) {
297 // CHECK-LABEL: @test_mm512_cvt_roundps_epu64
298 // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
299 return _mm512_cvt_roundps_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
300 }
301
test_mm512_mask_cvt_roundps_epu64(__m512i __W,__mmask8 __U,__m256 __A)302 __m512i test_mm512_mask_cvt_roundps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
303 // CHECK-LABEL: @test_mm512_mask_cvt_roundps_epu64
304 // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
305 return _mm512_mask_cvt_roundps_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
306 }
307
test_mm512_maskz_cvt_roundps_epu64(__mmask8 __U,__m256 __A)308 __m512i test_mm512_maskz_cvt_roundps_epu64(__mmask8 __U, __m256 __A) {
309 // CHECK-LABEL: @test_mm512_maskz_cvt_roundps_epu64
310 // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
311 return _mm512_maskz_cvt_roundps_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
312 }
313
test_mm512_cvtepi64_pd(__m512i __A)314 __m512d test_mm512_cvtepi64_pd(__m512i __A) {
315 // CHECK-LABEL: @test_mm512_cvtepi64_pd
316 // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
317 return _mm512_cvtepi64_pd(__A);
318 }
319
test_mm512_mask_cvtepi64_pd(__m512d __W,__mmask8 __U,__m512i __A)320 __m512d test_mm512_mask_cvtepi64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
321 // CHECK-LABEL: @test_mm512_mask_cvtepi64_pd
322 // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
323 return _mm512_mask_cvtepi64_pd(__W, __U, __A);
324 }
325
test_mm512_maskz_cvtepi64_pd(__mmask8 __U,__m512i __A)326 __m512d test_mm512_maskz_cvtepi64_pd(__mmask8 __U, __m512i __A) {
327 // CHECK-LABEL: @test_mm512_maskz_cvtepi64_pd
328 // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
329 return _mm512_maskz_cvtepi64_pd(__U, __A);
330 }
331
test_mm512_cvt_roundepi64_pd(__m512i __A)332 __m512d test_mm512_cvt_roundepi64_pd(__m512i __A) {
333 // CHECK-LABEL: @test_mm512_cvt_roundepi64_pd
334 // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
335 return _mm512_cvt_roundepi64_pd(__A, _MM_FROUND_TO_NEAREST_INT);
336 }
337
test_mm512_mask_cvt_roundepi64_pd(__m512d __W,__mmask8 __U,__m512i __A)338 __m512d test_mm512_mask_cvt_roundepi64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
339 // CHECK-LABEL: @test_mm512_mask_cvt_roundepi64_pd
340 // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
341 return _mm512_mask_cvt_roundepi64_pd(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
342 }
343
test_mm512_maskz_cvt_roundepi64_pd(__mmask8 __U,__m512i __A)344 __m512d test_mm512_maskz_cvt_roundepi64_pd(__mmask8 __U, __m512i __A) {
345 // CHECK-LABEL: @test_mm512_maskz_cvt_roundepi64_pd
346 // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
347 return _mm512_maskz_cvt_roundepi64_pd(__U, __A, _MM_FROUND_TO_NEAREST_INT);
348 }
349
test_mm512_cvtepi64_ps(__m512i __A)350 __m256 test_mm512_cvtepi64_ps(__m512i __A) {
351 // CHECK-LABEL: @test_mm512_cvtepi64_ps
352 // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
353 return _mm512_cvtepi64_ps(__A);
354 }
355
test_mm512_mask_cvtepi64_ps(__m256 __W,__mmask8 __U,__m512i __A)356 __m256 test_mm512_mask_cvtepi64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
357 // CHECK-LABEL: @test_mm512_mask_cvtepi64_ps
358 // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
359 return _mm512_mask_cvtepi64_ps(__W, __U, __A);
360 }
361
test_mm512_maskz_cvtepi64_ps(__mmask8 __U,__m512i __A)362 __m256 test_mm512_maskz_cvtepi64_ps(__mmask8 __U, __m512i __A) {
363 // CHECK-LABEL: @test_mm512_maskz_cvtepi64_ps
364 // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
365 return _mm512_maskz_cvtepi64_ps(__U, __A);
366 }
367
test_mm512_cvt_roundepi64_ps(__m512i __A)368 __m256 test_mm512_cvt_roundepi64_ps(__m512i __A) {
369 // CHECK-LABEL: @test_mm512_cvt_roundepi64_ps
370 // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
371 return _mm512_cvt_roundepi64_ps(__A, _MM_FROUND_TO_NEAREST_INT);
372 }
373
test_mm512_mask_cvt_roundepi64_ps(__m256 __W,__mmask8 __U,__m512i __A)374 __m256 test_mm512_mask_cvt_roundepi64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
375 // CHECK-LABEL: @test_mm512_mask_cvt_roundepi64_ps
376 // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
377 return _mm512_mask_cvt_roundepi64_ps(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
378 }
379
test_mm512_maskz_cvt_roundepi64_ps(__mmask8 __U,__m512i __A)380 __m256 test_mm512_maskz_cvt_roundepi64_ps(__mmask8 __U, __m512i __A) {
381 // CHECK-LABEL: @test_mm512_maskz_cvt_roundepi64_ps
382 // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
383 return _mm512_maskz_cvt_roundepi64_ps(__U, __A, _MM_FROUND_TO_NEAREST_INT);
384 }
385
test_mm512_cvttpd_epi64(__m512d __A)386 __m512i test_mm512_cvttpd_epi64(__m512d __A) {
387 // CHECK-LABEL: @test_mm512_cvttpd_epi64
388 // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
389 return _mm512_cvttpd_epi64(__A);
390 }
391
test_mm512_mask_cvttpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)392 __m512i test_mm512_mask_cvttpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
393 // CHECK-LABEL: @test_mm512_mask_cvttpd_epi64
394 // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
395 return _mm512_mask_cvttpd_epi64(__W, __U, __A);
396 }
397
test_mm512_maskz_cvttpd_epi64(__mmask8 __U,__m512d __A)398 __m512i test_mm512_maskz_cvttpd_epi64(__mmask8 __U, __m512d __A) {
399 // CHECK-LABEL: @test_mm512_maskz_cvttpd_epi64
400 // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
401 return _mm512_maskz_cvttpd_epi64(__U, __A);
402 }
403
test_mm512_cvtt_roundpd_epi64(__m512d __A)404 __m512i test_mm512_cvtt_roundpd_epi64(__m512d __A) {
405 // CHECK-LABEL: @test_mm512_cvtt_roundpd_epi64
406 // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
407 return _mm512_cvtt_roundpd_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
408 }
409
test_mm512_mask_cvtt_roundpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)410 __m512i test_mm512_mask_cvtt_roundpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
411 // CHECK-LABEL: @test_mm512_mask_cvtt_roundpd_epi64
412 // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
413 return _mm512_mask_cvtt_roundpd_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
414 }
415
test_mm512_maskz_cvtt_roundpd_epi64(__mmask8 __U,__m512d __A)416 __m512i test_mm512_maskz_cvtt_roundpd_epi64(__mmask8 __U, __m512d __A) {
417 // CHECK-LABEL: @test_mm512_maskz_cvtt_roundpd_epi64
418 // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
419 return _mm512_maskz_cvtt_roundpd_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
420 }
421
test_mm512_cvttpd_epu64(__m512d __A)422 __m512i test_mm512_cvttpd_epu64(__m512d __A) {
423 // CHECK-LABEL: @test_mm512_cvttpd_epu64
424 // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
425 return _mm512_cvttpd_epu64(__A);
426 }
427
test_mm512_mask_cvttpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)428 __m512i test_mm512_mask_cvttpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
429 // CHECK-LABEL: @test_mm512_mask_cvttpd_epu64
430 // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
431 return _mm512_mask_cvttpd_epu64(__W, __U, __A);
432 }
433
test_mm512_maskz_cvttpd_epu64(__mmask8 __U,__m512d __A)434 __m512i test_mm512_maskz_cvttpd_epu64(__mmask8 __U, __m512d __A) {
435 // CHECK-LABEL: @test_mm512_maskz_cvttpd_epu64
436 // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
437 return _mm512_maskz_cvttpd_epu64(__U, __A);
438 }
439
test_mm512_cvtt_roundpd_epu64(__m512d __A)440 __m512i test_mm512_cvtt_roundpd_epu64(__m512d __A) {
441 // CHECK-LABEL: @test_mm512_cvtt_roundpd_epu64
442 // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
443 return _mm512_cvtt_roundpd_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
444 }
445
test_mm512_mask_cvtt_roundpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)446 __m512i test_mm512_mask_cvtt_roundpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
447 // CHECK-LABEL: @test_mm512_mask_cvtt_roundpd_epu64
448 // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
449 return _mm512_mask_cvtt_roundpd_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
450 }
451
test_mm512_maskz_cvtt_roundpd_epu64(__mmask8 __U,__m512d __A)452 __m512i test_mm512_maskz_cvtt_roundpd_epu64(__mmask8 __U, __m512d __A) {
453 // CHECK-LABEL: @test_mm512_maskz_cvtt_roundpd_epu64
454 // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
455 return _mm512_maskz_cvtt_roundpd_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
456 }
457
test_mm512_cvttps_epi64(__m256 __A)458 __m512i test_mm512_cvttps_epi64(__m256 __A) {
459 // CHECK-LABEL: @test_mm512_cvttps_epi64
460 // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
461 return _mm512_cvttps_epi64(__A);
462 }
463
test_mm512_mask_cvttps_epi64(__m512i __W,__mmask8 __U,__m256 __A)464 __m512i test_mm512_mask_cvttps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
465 // CHECK-LABEL: @test_mm512_mask_cvttps_epi64
466 // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
467 return _mm512_mask_cvttps_epi64(__W, __U, __A);
468 }
469
test_mm512_maskz_cvttps_epi64(__mmask8 __U,__m256 __A)470 __m512i test_mm512_maskz_cvttps_epi64(__mmask8 __U, __m256 __A) {
471 // CHECK-LABEL: @test_mm512_maskz_cvttps_epi64
472 // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
473 return _mm512_maskz_cvttps_epi64(__U, __A);
474 }
475
test_mm512_cvtt_roundps_epi64(__m256 __A)476 __m512i test_mm512_cvtt_roundps_epi64(__m256 __A) {
477 // CHECK-LABEL: @test_mm512_cvtt_roundps_epi64
478 // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
479 return _mm512_cvtt_roundps_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
480 }
481
test_mm512_mask_cvtt_roundps_epi64(__m512i __W,__mmask8 __U,__m256 __A)482 __m512i test_mm512_mask_cvtt_roundps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
483 // CHECK-LABEL: @test_mm512_mask_cvtt_roundps_epi64
484 // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
485 return _mm512_mask_cvtt_roundps_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
486 }
487
test_mm512_maskz_cvtt_roundps_epi64(__mmask8 __U,__m256 __A)488 __m512i test_mm512_maskz_cvtt_roundps_epi64(__mmask8 __U, __m256 __A) {
489 // CHECK-LABEL: @test_mm512_maskz_cvtt_roundps_epi64
490 // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
491 return _mm512_maskz_cvtt_roundps_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
492 }
493
test_mm512_cvttps_epu64(__m256 __A)494 __m512i test_mm512_cvttps_epu64(__m256 __A) {
495 // CHECK-LABEL: @test_mm512_cvttps_epu64
496 // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
497 return _mm512_cvttps_epu64(__A);
498 }
499
test_mm512_mask_cvttps_epu64(__m512i __W,__mmask8 __U,__m256 __A)500 __m512i test_mm512_mask_cvttps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
501 // CHECK-LABEL: @test_mm512_mask_cvttps_epu64
502 // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
503 return _mm512_mask_cvttps_epu64(__W, __U, __A);
504 }
505
test_mm512_maskz_cvttps_epu64(__mmask8 __U,__m256 __A)506 __m512i test_mm512_maskz_cvttps_epu64(__mmask8 __U, __m256 __A) {
507 // CHECK-LABEL: @test_mm512_maskz_cvttps_epu64
508 // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
509 return _mm512_maskz_cvttps_epu64(__U, __A);
510 }
511
test_mm512_cvtt_roundps_epu64(__m256 __A)512 __m512i test_mm512_cvtt_roundps_epu64(__m256 __A) {
513 // CHECK-LABEL: @test_mm512_cvtt_roundps_epu64
514 // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
515 return _mm512_cvtt_roundps_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
516 }
517
test_mm512_mask_cvtt_roundps_epu64(__m512i __W,__mmask8 __U,__m256 __A)518 __m512i test_mm512_mask_cvtt_roundps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
519 // CHECK-LABEL: @test_mm512_mask_cvtt_roundps_epu64
520 // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
521 return _mm512_mask_cvtt_roundps_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
522 }
523
test_mm512_maskz_cvtt_roundps_epu64(__mmask8 __U,__m256 __A)524 __m512i test_mm512_maskz_cvtt_roundps_epu64(__mmask8 __U, __m256 __A) {
525 // CHECK-LABEL: @test_mm512_maskz_cvtt_roundps_epu64
526 // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
527 return _mm512_maskz_cvtt_roundps_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
528 }
529
test_mm512_cvtepu64_pd(__m512i __A)530 __m512d test_mm512_cvtepu64_pd(__m512i __A) {
531 // CHECK-LABEL: @test_mm512_cvtepu64_pd
532 // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
533 return _mm512_cvtepu64_pd(__A);
534 }
535
test_mm512_mask_cvtepu64_pd(__m512d __W,__mmask8 __U,__m512i __A)536 __m512d test_mm512_mask_cvtepu64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
537 // CHECK-LABEL: @test_mm512_mask_cvtepu64_pd
538 // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
539 return _mm512_mask_cvtepu64_pd(__W, __U, __A);
540 }
541
test_mm512_maskz_cvtepu64_pd(__mmask8 __U,__m512i __A)542 __m512d test_mm512_maskz_cvtepu64_pd(__mmask8 __U, __m512i __A) {
543 // CHECK-LABEL: @test_mm512_maskz_cvtepu64_pd
544 // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
545 return _mm512_maskz_cvtepu64_pd(__U, __A);
546 }
547
test_mm512_cvt_roundepu64_pd(__m512i __A)548 __m512d test_mm512_cvt_roundepu64_pd(__m512i __A) {
549 // CHECK-LABEL: @test_mm512_cvt_roundepu64_pd
550 // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
551 return _mm512_cvt_roundepu64_pd(__A, _MM_FROUND_TO_NEAREST_INT);
552 }
553
test_mm512_mask_cvt_roundepu64_pd(__m512d __W,__mmask8 __U,__m512i __A)554 __m512d test_mm512_mask_cvt_roundepu64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
555 // CHECK-LABEL: @test_mm512_mask_cvt_roundepu64_pd
556 // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
557 return _mm512_mask_cvt_roundepu64_pd(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
558 }
559
test_mm512_maskz_cvt_roundepu64_pd(__mmask8 __U,__m512i __A)560 __m512d test_mm512_maskz_cvt_roundepu64_pd(__mmask8 __U, __m512i __A) {
561 // CHECK-LABEL: @test_mm512_maskz_cvt_roundepu64_pd
562 // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
563 return _mm512_maskz_cvt_roundepu64_pd(__U, __A, _MM_FROUND_TO_NEAREST_INT);
564 }
565
test_mm512_cvtepu64_ps(__m512i __A)566 __m256 test_mm512_cvtepu64_ps(__m512i __A) {
567 // CHECK-LABEL: @test_mm512_cvtepu64_ps
568 // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
569 return _mm512_cvtepu64_ps(__A);
570 }
571
test_mm512_mask_cvtepu64_ps(__m256 __W,__mmask8 __U,__m512i __A)572 __m256 test_mm512_mask_cvtepu64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
573 // CHECK-LABEL: @test_mm512_mask_cvtepu64_ps
574 // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
575 return _mm512_mask_cvtepu64_ps(__W, __U, __A);
576 }
577
test_mm512_maskz_cvtepu64_ps(__mmask8 __U,__m512i __A)578 __m256 test_mm512_maskz_cvtepu64_ps(__mmask8 __U, __m512i __A) {
579 // CHECK-LABEL: @test_mm512_maskz_cvtepu64_ps
580 // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
581 return _mm512_maskz_cvtepu64_ps(__U, __A);
582 }
583
test_mm512_cvt_roundepu64_ps(__m512i __A)584 __m256 test_mm512_cvt_roundepu64_ps(__m512i __A) {
585 // CHECK-LABEL: @test_mm512_cvt_roundepu64_ps
586 // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
587 return _mm512_cvt_roundepu64_ps(__A, _MM_FROUND_TO_NEAREST_INT);
588 }
589
test_mm512_mask_cvt_roundepu64_ps(__m256 __W,__mmask8 __U,__m512i __A)590 __m256 test_mm512_mask_cvt_roundepu64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
591 // CHECK-LABEL: @test_mm512_mask_cvt_roundepu64_ps
592 // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
593 return _mm512_mask_cvt_roundepu64_ps(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
594 }
595
test_mm512_maskz_cvt_roundepu64_ps(__mmask8 __U,__m512i __A)596 __m256 test_mm512_maskz_cvt_roundepu64_ps(__mmask8 __U, __m512i __A) {
597 // CHECK-LABEL: @test_mm512_maskz_cvt_roundepu64_ps
598 // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
599 return _mm512_maskz_cvt_roundepu64_ps(__U, __A, _MM_FROUND_TO_NEAREST_INT);
600 }
601
test_mm512_range_pd(__m512d __A,__m512d __B)602 __m512d test_mm512_range_pd(__m512d __A, __m512d __B) {
603 // CHECK-LABEL: @test_mm512_range_pd
604 // CHECK: @llvm.x86.avx512.mask.range.pd.512
605 return _mm512_range_pd(__A, __B, 4);
606 }
607
test_mm512_mask_range_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)608 __m512d test_mm512_mask_range_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
609 // CHECK-LABEL: @test_mm512_mask_range_pd
610 // CHECK: @llvm.x86.avx512.mask.range.pd.512
611 return _mm512_mask_range_pd(__W, __U, __A, __B, 4);
612 }
613
test_mm512_maskz_range_pd(__mmask8 __U,__m512d __A,__m512d __B)614 __m512d test_mm512_maskz_range_pd(__mmask8 __U, __m512d __A, __m512d __B) {
615 // CHECK-LABEL: @test_mm512_maskz_range_pd
616 // CHECK: @llvm.x86.avx512.mask.range.pd.512
617 return _mm512_maskz_range_pd(__U, __A, __B, 4);
618 }
619
test_mm512_range_round_pd(__m512d __A,__m512d __B)620 __m512d test_mm512_range_round_pd(__m512d __A, __m512d __B) {
621 // CHECK-LABEL: @test_mm512_range_round_pd
622 // CHECK: @llvm.x86.avx512.mask.range.pd.512
623 return _mm512_range_round_pd(__A, __B, 4, 8);
624 }
625
test_mm512_mask_range_round_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)626 __m512d test_mm512_mask_range_round_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
627 // CHECK-LABEL: @test_mm512_mask_range_round_pd
628 // CHECK: @llvm.x86.avx512.mask.range.pd.512
629 return _mm512_mask_range_round_pd(__W, __U, __A, __B, 4, 8);
630 }
631
test_mm512_maskz_range_round_pd(__mmask8 __U,__m512d __A,__m512d __B)632 __m512d test_mm512_maskz_range_round_pd(__mmask8 __U, __m512d __A, __m512d __B) {
633 // CHECK-LABEL: @test_mm512_maskz_range_round_pd
634 // CHECK: @llvm.x86.avx512.mask.range.pd.512
635 return _mm512_maskz_range_round_pd(__U, __A, __B, 4, 8);
636 }
637
test_mm512_range_round_sd(__m128d __A,__m128d __B)638 __m128d test_mm512_range_round_sd(__m128d __A, __m128d __B) {
639 // CHECK-LABEL: @test_mm512_range_round_sd
640 // CHECK: @llvm.x86.avx512.mask.range.sd
641 return _mm_range_round_sd(__A, __B, 4, 8);
642 }
643
test_mm512_mask_range_round_sd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)644 __m128d test_mm512_mask_range_round_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
645 // CHECK-LABEL: test_mm512_mask_range_round_sd
646 // CHECK: @llvm.x86.avx512.mask.range.sd
647 return _mm_mask_range_round_sd(__W, __U, __A, __B, 4, 8);
648 }
649
test_mm512_maskz_range_round_sd(__mmask8 __U,__m128d __A,__m128d __B)650 __m128d test_mm512_maskz_range_round_sd(__mmask8 __U, __m128d __A, __m128d __B) {
651 // CHECK-LABEL: @test_mm512_maskz_range_round_sd
652 // CHECK: @llvm.x86.avx512.mask.range.sd
653 return _mm_maskz_range_round_sd(__U, __A, __B, 4, 8);
654 }
655
test_mm512_range_round_ss(__m128d __A,__m128d __B)656 __m128d test_mm512_range_round_ss(__m128d __A, __m128d __B) {
657 // CHECK-LABEL: @test_mm512_range_round_ss
658 // CHECK: @llvm.x86.avx512.mask.range.ss
659 return _mm_range_round_ss(__A, __B, 4, 8);
660 }
661
test_mm512_mask_range_round_ss(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)662 __m128d test_mm512_mask_range_round_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
663 // CHECK-LABEL: @test_mm512_mask_range_round_ss
664 // CHECK: @llvm.x86.avx512.mask.range.ss
665 return _mm_mask_range_round_ss(__W, __U, __A, __B, 4, 8);
666 }
667
test_mm512_maskz_range_round_ss(__mmask8 __U,__m128 __A,__m128 __B)668 __m128 test_mm512_maskz_range_round_ss(__mmask8 __U, __m128 __A, __m128 __B) {
669 // CHECK-LABEL: @test_mm512_maskz_range_round_ss
670 // CHECK: @llvm.x86.avx512.mask.range.ss
671 return _mm_maskz_range_round_ss(__U, __A, __B, 4, 8);
672 }
673
test_mm_range_sd(__m128d __A,__m128d __B)674 __m128d test_mm_range_sd(__m128d __A, __m128d __B) {
675 // CHECK-LABEL: @test_mm_range_sd
676 // CHECK: @llvm.x86.avx512.mask.range.sd
677 return _mm_range_sd(__A, __B, 4);
678 }
679
test_mm_mask_range_sd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)680 __m128d test_mm_mask_range_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
681 // CHECK-LABEL: test_mm_mask_range_sd
682 // CHECK: @llvm.x86.avx512.mask.range.sd
683 return _mm_mask_range_sd(__W, __U, __A, __B, 4);
684 }
685
test_mm_maskz_range_sd(__mmask8 __U,__m128d __A,__m128d __B)686 __m128d test_mm_maskz_range_sd(__mmask8 __U, __m128d __A, __m128d __B) {
687 // CHECK-LABEL: @test_mm_maskz_range_sd
688 // CHECK: @llvm.x86.avx512.mask.range.sd
689 return _mm_maskz_range_sd(__U, __A, __B, 4);
690 }
691
test_mm_range_ss(__m128d __A,__m128d __B)692 __m128d test_mm_range_ss(__m128d __A, __m128d __B) {
693 // CHECK-LABEL: @test_mm_range_ss
694 // CHECK: @llvm.x86.avx512.mask.range.ss
695 return _mm_range_ss(__A, __B, 4);
696 }
697
test_mm_mask_range_ss(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)698 __m128d test_mm_mask_range_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
699 // CHECK-LABEL: @test_mm_mask_range_ss
700 // CHECK: @llvm.x86.avx512.mask.range.ss
701 return _mm_mask_range_ss(__W, __U, __A, __B, 4);
702 }
703
test_mm_maskz_range_ss(__mmask8 __U,__m128 __A,__m128 __B)704 __m128 test_mm_maskz_range_ss(__mmask8 __U, __m128 __A, __m128 __B) {
705 // CHECK-LABEL: @test_mm_maskz_range_ss
706 // CHECK: @llvm.x86.avx512.mask.range.ss
707 return _mm_maskz_range_ss(__U, __A, __B, 4);
708 }
709
test_mm512_range_ps(__m512 __A,__m512 __B)710 __m512 test_mm512_range_ps(__m512 __A, __m512 __B) {
711 // CHECK-LABEL: @test_mm512_range_ps
712 // CHECK: @llvm.x86.avx512.mask.range.ps.512
713 return _mm512_range_ps(__A, __B, 4);
714 }
715
test_mm512_mask_range_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)716 __m512 test_mm512_mask_range_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
717 // CHECK-LABEL: @test_mm512_mask_range_ps
718 // CHECK: @llvm.x86.avx512.mask.range.ps.512
719 return _mm512_mask_range_ps(__W, __U, __A, __B, 4);
720 }
721
test_mm512_maskz_range_ps(__mmask16 __U,__m512 __A,__m512 __B)722 __m512 test_mm512_maskz_range_ps(__mmask16 __U, __m512 __A, __m512 __B) {
723 // CHECK-LABEL: @test_mm512_maskz_range_ps
724 // CHECK: @llvm.x86.avx512.mask.range.ps.512
725 return _mm512_maskz_range_ps(__U, __A, __B, 4);
726 }
727
test_mm512_range_round_ps(__m512 __A,__m512 __B)728 __m512 test_mm512_range_round_ps(__m512 __A, __m512 __B) {
729 // CHECK-LABEL: @test_mm512_range_round_ps
730 // CHECK: @llvm.x86.avx512.mask.range.ps.512
731 return _mm512_range_round_ps(__A, __B, 4, 8);
732 }
733
test_mm512_mask_range_round_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)734 __m512 test_mm512_mask_range_round_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
735 // CHECK-LABEL: @test_mm512_mask_range_round_ps
736 // CHECK: @llvm.x86.avx512.mask.range.ps.512
737 return _mm512_mask_range_round_ps(__W, __U, __A, __B, 4, 8);
738 }
739
test_mm512_maskz_range_round_ps(__mmask16 __U,__m512 __A,__m512 __B)740 __m512 test_mm512_maskz_range_round_ps(__mmask16 __U, __m512 __A, __m512 __B) {
741 // CHECK-LABEL: @test_mm512_maskz_range_round_ps
742 // CHECK: @llvm.x86.avx512.mask.range.ps.512
743 return _mm512_maskz_range_round_ps(__U, __A, __B, 4, 8);
744 }
745
test_mm512_reduce_pd(__m512d __A)746 __m512d test_mm512_reduce_pd(__m512d __A) {
747 // CHECK-LABEL: @test_mm512_reduce_pd
748 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
749 return _mm512_reduce_pd(__A, 4);
750 }
751
test_mm512_mask_reduce_pd(__m512d __W,__mmask8 __U,__m512d __A)752 __m512d test_mm512_mask_reduce_pd(__m512d __W, __mmask8 __U, __m512d __A) {
753 // CHECK-LABEL: @test_mm512_mask_reduce_pd
754 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
755 return _mm512_mask_reduce_pd(__W, __U, __A, 4);
756 }
757
test_mm512_maskz_reduce_pd(__mmask8 __U,__m512d __A)758 __m512d test_mm512_maskz_reduce_pd(__mmask8 __U, __m512d __A) {
759 // CHECK-LABEL: @test_mm512_maskz_reduce_pd
760 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
761 return _mm512_maskz_reduce_pd(__U, __A, 4);
762 }
763
test_mm512_reduce_ps(__m512 __A)764 __m512 test_mm512_reduce_ps(__m512 __A) {
765 // CHECK-LABEL: @test_mm512_reduce_ps
766 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
767 return _mm512_reduce_ps(__A, 4);
768 }
769
test_mm512_mask_reduce_ps(__m512 __W,__mmask16 __U,__m512 __A)770 __m512 test_mm512_mask_reduce_ps(__m512 __W, __mmask16 __U, __m512 __A) {
771 // CHECK-LABEL: @test_mm512_mask_reduce_ps
772 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
773 return _mm512_mask_reduce_ps(__W, __U, __A, 4);
774 }
775
test_mm512_maskz_reduce_ps(__mmask16 __U,__m512 __A)776 __m512 test_mm512_maskz_reduce_ps(__mmask16 __U, __m512 __A) {
777 // CHECK-LABEL: @test_mm512_maskz_reduce_ps
778 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
779 return _mm512_maskz_reduce_ps(__U, __A, 4);
780 }
781
test_mm512_reduce_round_pd(__m512d __A)782 __m512d test_mm512_reduce_round_pd(__m512d __A) {
783 // CHECK-LABEL: @test_mm512_reduce_round_pd
784 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
785 return _mm512_reduce_round_pd(__A, 4, 8);
786 }
787
test_mm512_mask_reduce_round_pd(__m512d __W,__mmask8 __U,__m512d __A)788 __m512d test_mm512_mask_reduce_round_pd(__m512d __W, __mmask8 __U, __m512d __A) {
789 // CHECK-LABEL: @test_mm512_mask_reduce_round_pd
790 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
791 return _mm512_mask_reduce_round_pd(__W, __U, __A, 4, 8);
792 }
793
test_mm512_maskz_reduce_round_pd(__mmask8 __U,__m512d __A)794 __m512d test_mm512_maskz_reduce_round_pd(__mmask8 __U, __m512d __A) {
795 // CHECK-LABEL: @test_mm512_maskz_reduce_round_pd
796 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
797 return _mm512_maskz_reduce_round_pd(__U, __A, 4, 8);
798 }
799
test_mm512_reduce_round_ps(__m512 __A)800 __m512 test_mm512_reduce_round_ps(__m512 __A) {
801 // CHECK-LABEL: @test_mm512_reduce_round_ps
802 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
803 return _mm512_reduce_round_ps(__A, 4, 8);
804 }
805
test_mm512_mask_reduce_round_ps(__m512 __W,__mmask16 __U,__m512 __A)806 __m512 test_mm512_mask_reduce_round_ps(__m512 __W, __mmask16 __U, __m512 __A) {
807 // CHECK-LABEL: @test_mm512_mask_reduce_round_ps
808 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
809 return _mm512_mask_reduce_round_ps(__W, __U, __A, 4, 8);
810 }
811
test_mm512_maskz_reduce_round_ps(__mmask16 __U,__m512 __A)812 __m512 test_mm512_maskz_reduce_round_ps(__mmask16 __U, __m512 __A) {
813 // CHECK-LABEL: @test_mm512_maskz_reduce_round_ps
814 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
815 return _mm512_maskz_reduce_round_ps(__U, __A, 4, 8);
816 }
817
test_mm_reduce_ss(__m128 __A,__m128 __B)818 __m128 test_mm_reduce_ss(__m128 __A, __m128 __B) {
819 // CHECK-LABEL: @test_mm_reduce_ss
820 // CHECK: @llvm.x86.avx512.mask.reduce.ss
821 return _mm_reduce_ss(__A, __B, 4);
822 }
823
test_mm_mask_reduce_ss(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)824 __m128 test_mm_mask_reduce_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
825 // CHECK-LABEL: @test_mm_mask_reduce_ss
826 // CHECK: @llvm.x86.avx512.mask.reduce.ss
827 return _mm_mask_reduce_ss(__W, __U, __A, __B, 4);
828 }
829
test_mm_maskz_reduce_ss(__mmask8 __U,__m128 __A,__m128 __B)830 __m128 test_mm_maskz_reduce_ss(__mmask8 __U, __m128 __A, __m128 __B) {
831 // CHECK-LABEL: @test_mm_maskz_reduce_ss
832 // CHECK: @llvm.x86.avx512.mask.reduce.ss
833 return _mm_maskz_reduce_ss(__U, __A, __B, 4);
834 }
835
test_mm_reduce_round_ss(__m128 __A,__m128 __B)836 __m128 test_mm_reduce_round_ss(__m128 __A, __m128 __B) {
837 // CHECK-LABEL: @test_mm_reduce_round_ss
838 // CHECK: @llvm.x86.avx512.mask.reduce.ss
839 return _mm_reduce_round_ss(__A, __B, 4, 8);
840 }
841
test_mm_mask_reduce_round_ss(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)842 __m128 test_mm_mask_reduce_round_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
843 // CHECK-LABEL: @test_mm_mask_reduce_round_ss
844 // CHECK: @llvm.x86.avx512.mask.reduce.ss
845 return _mm_mask_reduce_round_ss(__W, __U, __A, __B, 4, 8);
846 }
847
test_mm_maskz_reduce_round_ss(__mmask8 __U,__m128 __A,__m128 __B)848 __m128 test_mm_maskz_reduce_round_ss(__mmask8 __U, __m128 __A, __m128 __B) {
849 // CHECK-LABEL: @test_mm_maskz_reduce_round_ss
850 // CHECK: @llvm.x86.avx512.mask.reduce.ss
851 return _mm_maskz_reduce_round_ss(__U, __A, __B, 4, 8);
852 }
853
test_mm_reduce_sd(__m128d __A,__m128d __B)854 __m128d test_mm_reduce_sd(__m128d __A, __m128d __B) {
855 // CHECK-LABEL: @test_mm_reduce_sd
856 // CHECK: @llvm.x86.avx512.mask.reduce.sd
857 return _mm_reduce_sd(__A, __B, 4);
858 }
859
test_mm_mask_reduce_sd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)860 __m128d test_mm_mask_reduce_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
861 // CHECK-LABEL: @test_mm_mask_reduce_sd
862 // CHECK: @llvm.x86.avx512.mask.reduce.sd
863 return _mm_mask_reduce_sd(__W, __U, __A, __B, 4);
864 }
865
test_mm_maskz_reduce_sd(__mmask8 __U,__m128d __A,__m128d __B)866 __m128d test_mm_maskz_reduce_sd(__mmask8 __U, __m128d __A, __m128d __B) {
867 // CHECK-LABEL: @test_mm_maskz_reduce_sd
868 // CHECK: @llvm.x86.avx512.mask.reduce.sd
869 return _mm_maskz_reduce_sd(__U, __A, __B, 4);
870 }
871
test_mm_reduce_round_sd(__m128d __A,__m128d __B)872 __m128d test_mm_reduce_round_sd(__m128d __A, __m128d __B) {
873 // CHECK-LABEL: @test_mm_reduce_round_sd
874 // CHECK: @llvm.x86.avx512.mask.reduce.sd
875 return _mm_reduce_round_sd(__A, __B, 4, 8);
876 }
877
test_mm_mask_reduce_round_sd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)878 __m128d test_mm_mask_reduce_round_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
879 // CHECK-LABEL: @test_mm_mask_reduce_round_sd
880 // CHECK: @llvm.x86.avx512.mask.reduce.sd
881 return _mm_mask_reduce_round_sd(__W, __U, __A, __B, 4, 8);
882 }
883
test_mm_maskz_reduce_round_sd(__mmask8 __U,__m128d __A,__m128d __B)884 __m128d test_mm_maskz_reduce_round_sd(__mmask8 __U, __m128d __A, __m128d __B) {
885 // CHECK-LABEL: @test_mm_maskz_reduce_round_sd
886 // CHECK: @llvm.x86.avx512.mask.reduce.sd
887 return _mm_maskz_reduce_round_sd(__U, __A, __B, 4, 8);
888 }
889
test_mm512_movepi32_mask(__m512i __A)890 __mmask16 test_mm512_movepi32_mask(__m512i __A) {
891 // CHECK-LABEL: @test_mm512_movepi32_mask
892 // CHECK: @llvm.x86.avx512.cvtd2mask.512
893 return _mm512_movepi32_mask(__A);
894 }
895
test_mm512_movm_epi32(__mmask16 __A)896 __m512i test_mm512_movm_epi32(__mmask16 __A) {
897 // CHECK-LABEL: @test_mm512_movm_epi32
898 // CHECK: @llvm.x86.avx512.cvtmask2d.512
899 return _mm512_movm_epi32(__A);
900 }
901
test_mm512_movm_epi64(__mmask8 __A)902 __m512i test_mm512_movm_epi64(__mmask8 __A) {
903 // CHECK-LABEL: @test_mm512_movm_epi64
904 // CHECK: @llvm.x86.avx512.cvtmask2q.512
905 return _mm512_movm_epi64(__A);
906 }
907
test_mm512_movepi64_mask(__m512i __A)908 __mmask8 test_mm512_movepi64_mask(__m512i __A) {
909 // CHECK-LABEL: @test_mm512_movepi64_mask
910 // CHECK: @llvm.x86.avx512.cvtq2mask.512
911 return _mm512_movepi64_mask(__A);
912 }
913
test_mm512_broadcast_f32x2(__m128 __A)914 __m512 test_mm512_broadcast_f32x2(__m128 __A) {
915 // CHECK-LABEL: @test_mm512_broadcast_f32x2
916 // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
917 return _mm512_broadcast_f32x2(__A);
918 }
919
test_mm512_mask_broadcast_f32x2(__m512 __O,__mmask16 __M,__m128 __A)920 __m512 test_mm512_mask_broadcast_f32x2(__m512 __O, __mmask16 __M, __m128 __A) {
921 // CHECK-LABEL: @test_mm512_mask_broadcast_f32x2
922 // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
923 return _mm512_mask_broadcast_f32x2(__O, __M, __A);
924 }
925
test_mm512_maskz_broadcast_f32x2(__mmask16 __M,__m128 __A)926 __m512 test_mm512_maskz_broadcast_f32x2(__mmask16 __M, __m128 __A) {
927 // CHECK-LABEL: @test_mm512_maskz_broadcast_f32x2
928 // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
929 return _mm512_maskz_broadcast_f32x2(__M, __A);
930 }
931
test_mm512_broadcast_f32x8(__m256 __A)932 __m512 test_mm512_broadcast_f32x8(__m256 __A) {
933 // CHECK-LABEL: @test_mm512_broadcast_f32x8
934 // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
935 return _mm512_broadcast_f32x8(__A);
936 }
937
test_mm512_mask_broadcast_f32x8(__m512 __O,__mmask16 __M,__m256 __A)938 __m512 test_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A) {
939 // CHECK-LABEL: @test_mm512_mask_broadcast_f32x8
940 // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
941 return _mm512_mask_broadcast_f32x8(__O, __M, __A);
942 }
943
test_mm512_maskz_broadcast_f32x8(__mmask16 __M,__m256 __A)944 __m512 test_mm512_maskz_broadcast_f32x8(__mmask16 __M, __m256 __A) {
945 // CHECK-LABEL: @test_mm512_maskz_broadcast_f32x8
946 // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
947 return _mm512_maskz_broadcast_f32x8(__M, __A);
948 }
949
test_mm512_broadcast_f64x2(__m128d __A)950 __m512d test_mm512_broadcast_f64x2(__m128d __A) {
951 // CHECK-LABEL: @test_mm512_broadcast_f64x2
952 // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
953 return _mm512_broadcast_f64x2(__A);
954 }
955
test_mm512_mask_broadcast_f64x2(__m512d __O,__mmask8 __M,__m128d __A)956 __m512d test_mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A) {
957 // CHECK-LABEL: @test_mm512_mask_broadcast_f64x2
958 // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
959 return _mm512_mask_broadcast_f64x2(__O, __M, __A);
960 }
961
test_mm512_maskz_broadcast_f64x2(__mmask8 __M,__m128d __A)962 __m512d test_mm512_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A) {
963 // CHECK-LABEL: @test_mm512_maskz_broadcast_f64x2
964 // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
965 return _mm512_maskz_broadcast_f64x2(__M, __A);
966 }
967
test_mm512_broadcast_i32x2(__m128i __A)968 __m512i test_mm512_broadcast_i32x2(__m128i __A) {
969 // CHECK-LABEL: @test_mm512_broadcast_i32x2
970 // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
971 return _mm512_broadcast_i32x2(__A);
972 }
973
test_mm512_mask_broadcast_i32x2(__m512i __O,__mmask16 __M,__m128i __A)974 __m512i test_mm512_mask_broadcast_i32x2(__m512i __O, __mmask16 __M, __m128i __A) {
975 // CHECK-LABEL: @test_mm512_mask_broadcast_i32x2
976 // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
977 return _mm512_mask_broadcast_i32x2(__O, __M, __A);
978 }
979
test_mm512_maskz_broadcast_i32x2(__mmask16 __M,__m128i __A)980 __m512i test_mm512_maskz_broadcast_i32x2(__mmask16 __M, __m128i __A) {
981 // CHECK-LABEL: @test_mm512_maskz_broadcast_i32x2
982 // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
983 return _mm512_maskz_broadcast_i32x2(__M, __A);
984 }
985
test_mm512_broadcast_i32x8(__m256i __A)986 __m512i test_mm512_broadcast_i32x8(__m256i __A) {
987 // CHECK-LABEL: @test_mm512_broadcast_i32x8
988 // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
989 return _mm512_broadcast_i32x8(__A);
990 }
991
test_mm512_mask_broadcast_i32x8(__m512i __O,__mmask16 __M,__m256i __A)992 __m512i test_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A) {
993 // CHECK-LABEL: @test_mm512_mask_broadcast_i32x8
994 // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
995 return _mm512_mask_broadcast_i32x8(__O, __M, __A);
996 }
997
test_mm512_maskz_broadcast_i32x8(__mmask16 __M,__m256i __A)998 __m512i test_mm512_maskz_broadcast_i32x8(__mmask16 __M, __m256i __A) {
999 // CHECK-LABEL: @test_mm512_maskz_broadcast_i32x8
1000 // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
1001 return _mm512_maskz_broadcast_i32x8(__M, __A);
1002 }
1003
test_mm512_broadcast_i64x2(__m128i __A)1004 __m512i test_mm512_broadcast_i64x2(__m128i __A) {
1005 // CHECK-LABEL: @test_mm512_broadcast_i64x2
1006 // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
1007 return _mm512_broadcast_i64x2(__A);
1008 }
1009
test_mm512_mask_broadcast_i64x2(__m512i __O,__mmask8 __M,__m128i __A)1010 __m512i test_mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A) {
1011 // CHECK-LABEL: @test_mm512_mask_broadcast_i64x2
1012 // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
1013 return _mm512_mask_broadcast_i64x2(__O, __M, __A);
1014 }
1015
test_mm512_maskz_broadcast_i64x2(__mmask8 __M,__m128i __A)1016 __m512i test_mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A) {
1017 // CHECK-LABEL: @test_mm512_maskz_broadcast_i64x2
1018 // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
1019 return _mm512_maskz_broadcast_i64x2(__M, __A);
1020 }
test_mm512_extractf32x8_ps(__m512 __A)1021 __m256 test_mm512_extractf32x8_ps(__m512 __A) {
1022 // CHECK-LABEL: @test_mm512_extractf32x8_ps
1023 // CHECK: @llvm.x86.avx512.mask.vextractf32x8
1024 return _mm512_extractf32x8_ps(__A, 1);
1025 }
1026
test_mm512_mask_extractf32x8_ps(__m256 __W,__mmask8 __U,__m512 __A)1027 __m256 test_mm512_mask_extractf32x8_ps(__m256 __W, __mmask8 __U, __m512 __A) {
1028 // CHECK-LABEL: @test_mm512_mask_extractf32x8_ps
1029 // CHECK: @llvm.x86.avx512.mask.vextractf32x8
1030 return _mm512_mask_extractf32x8_ps(__W, __U, __A, 1);
1031 }
1032
test_mm512_maskz_extractf32x8_ps(__mmask8 __U,__m512 __A)1033 __m256 test_mm512_maskz_extractf32x8_ps(__mmask8 __U, __m512 __A) {
1034 // CHECK-LABEL: @test_mm512_maskz_extractf32x8_ps
1035 // CHECK: @llvm.x86.avx512.mask.vextractf32x8
1036 return _mm512_maskz_extractf32x8_ps(__U, __A, 1);
1037 }
1038
test_mm512_extractf64x2_pd(__m512d __A)1039 __m128d test_mm512_extractf64x2_pd(__m512d __A) {
1040 // CHECK-LABEL: @test_mm512_extractf64x2_pd
1041 // CHECK: @llvm.x86.avx512.mask.vextractf64x2
1042 return _mm512_extractf64x2_pd(__A, 3);
1043 }
1044
test_mm512_mask_extractf64x2_pd(__m128d __W,__mmask8 __U,__m512d __A)1045 __m128d test_mm512_mask_extractf64x2_pd(__m128d __W, __mmask8 __U, __m512d __A) {
1046 // CHECK-LABEL: @test_mm512_mask_extractf64x2_pd
1047 // CHECK: @llvm.x86.avx512.mask.vextractf64x2
1048 return _mm512_mask_extractf64x2_pd(__W, __U, __A, 3);
1049 }
1050
test_mm512_maskz_extractf64x2_pd(__mmask8 __U,__m512d __A)1051 __m128d test_mm512_maskz_extractf64x2_pd(__mmask8 __U, __m512d __A) {
1052 // CHECK-LABEL: @test_mm512_maskz_extractf64x2_pd
1053 // CHECK: @llvm.x86.avx512.mask.vextractf64x2
1054 return _mm512_maskz_extractf64x2_pd(__U, __A, 3);
1055 }
1056
test_mm512_extracti32x8_epi32(__m512i __A)1057 __m256i test_mm512_extracti32x8_epi32(__m512i __A) {
1058 // CHECK-LABEL: @test_mm512_extracti32x8_epi32
1059 // CHECK: @llvm.x86.avx512.mask.vextracti32x8
1060 return _mm512_extracti32x8_epi32(__A, 1);
1061 }
1062
test_mm512_mask_extracti32x8_epi32(__m256i __W,__mmask8 __U,__m512i __A)1063 __m256i test_mm512_mask_extracti32x8_epi32(__m256i __W, __mmask8 __U, __m512i __A) {
1064 // CHECK-LABEL: @test_mm512_mask_extracti32x8_epi32
1065 // CHECK: @llvm.x86.avx512.mask.vextracti32x8
1066 return _mm512_mask_extracti32x8_epi32(__W, __U, __A, 1);
1067 }
1068
test_mm512_maskz_extracti32x8_epi32(__mmask8 __U,__m512i __A)1069 __m256i test_mm512_maskz_extracti32x8_epi32(__mmask8 __U, __m512i __A) {
1070 // CHECK-LABEL: @test_mm512_maskz_extracti32x8_epi32
1071 // CHECK: @llvm.x86.avx512.mask.vextracti32x8
1072 return _mm512_maskz_extracti32x8_epi32(__U, __A, 1);
1073 }
1074
test_mm512_extracti64x2_epi64(__m512i __A)1075 __m128i test_mm512_extracti64x2_epi64(__m512i __A) {
1076 // CHECK-LABEL: @test_mm512_extracti64x2_epi64
1077 // CHECK: @llvm.x86.avx512.mask.vextracti64x2
1078 return _mm512_extracti64x2_epi64(__A, 3);
1079 }
1080
test_mm512_mask_extracti64x2_epi64(__m128i __W,__mmask8 __U,__m512i __A)1081 __m128i test_mm512_mask_extracti64x2_epi64(__m128i __W, __mmask8 __U, __m512i __A) {
1082 // CHECK-LABEL: @test_mm512_mask_extracti64x2_epi64
1083 // CHECK: @llvm.x86.avx512.mask.vextracti64x2
1084 return _mm512_mask_extracti64x2_epi64(__W, __U, __A, 3);
1085 }
1086
test_mm512_maskz_extracti64x2_epi64(__mmask8 __U,__m512i __A)1087 __m128i test_mm512_maskz_extracti64x2_epi64(__mmask8 __U, __m512i __A) {
1088 // CHECK-LABEL: @test_mm512_maskz_extracti64x2_epi64
1089 // CHECK: @llvm.x86.avx512.mask.vextracti64x2
1090 return _mm512_maskz_extracti64x2_epi64(__U, __A, 3);
1091 }
1092
test_mm512_insertf32x8(__m512 __A,__m256 __B)1093 __m512 test_mm512_insertf32x8(__m512 __A, __m256 __B) {
1094 // CHECK-LABEL: @test_mm512_insertf32x8
1095 // CHECK: @llvm.x86.avx512.mask.insertf32x8
1096 return _mm512_insertf32x8(__A, __B, 1);
1097 }
1098
test_mm512_mask_insertf32x8(__m512 __W,__mmask16 __U,__m512 __A,__m256 __B)1099 __m512 test_mm512_mask_insertf32x8(__m512 __W, __mmask16 __U, __m512 __A, __m256 __B) {
1100 // CHECK-LABEL: @test_mm512_mask_insertf32x8
1101 // CHECK: @llvm.x86.avx512.mask.insertf32x8
1102 return _mm512_mask_insertf32x8(__W, __U, __A, __B, 1);
1103 }
1104
test_mm512_maskz_insertf32x8(__mmask16 __U,__m512 __A,__m256 __B)1105 __m512 test_mm512_maskz_insertf32x8(__mmask16 __U, __m512 __A, __m256 __B) {
1106 // CHECK-LABEL: @test_mm512_maskz_insertf32x8
1107 // CHECK: @llvm.x86.avx512.mask.insertf32x8
1108 return _mm512_maskz_insertf32x8(__U, __A, __B, 1);
1109 }
1110
test_mm512_insertf64x2(__m512d __A,__m128d __B)1111 __m512d test_mm512_insertf64x2(__m512d __A, __m128d __B) {
1112 // CHECK-LABEL: @test_mm512_insertf64x2
1113 // CHECK: @llvm.x86.avx512.mask.insertf64x2
1114 return _mm512_insertf64x2(__A, __B, 3);
1115 }
1116
test_mm512_mask_insertf64x2(__m512d __W,__mmask8 __U,__m512d __A,__m128d __B)1117 __m512d test_mm512_mask_insertf64x2(__m512d __W, __mmask8 __U, __m512d __A, __m128d __B) {
1118 // CHECK-LABEL: @test_mm512_mask_insertf64x2
1119 // CHECK: @llvm.x86.avx512.mask.insertf64x2
1120 return _mm512_mask_insertf64x2(__W, __U, __A, __B, 3);
1121 }
1122
test_mm512_maskz_insertf64x2(__mmask8 __U,__m512d __A,__m128d __B)1123 __m512d test_mm512_maskz_insertf64x2(__mmask8 __U, __m512d __A, __m128d __B) {
1124 // CHECK-LABEL: @test_mm512_maskz_insertf64x2
1125 // CHECK: @llvm.x86.avx512.mask.insertf64x2
1126 return _mm512_maskz_insertf64x2(__U, __A, __B, 3);
1127 }
1128
test_mm512_inserti32x8(__m512i __A,__m256i __B)1129 __m512i test_mm512_inserti32x8(__m512i __A, __m256i __B) {
1130 // CHECK-LABEL: @test_mm512_inserti32x8
1131 // CHECK: @llvm.x86.avx512.mask.inserti32x8
1132 return _mm512_inserti32x8(__A, __B, 1);
1133 }
1134
test_mm512_mask_inserti32x8(__m512i __W,__mmask16 __U,__m512i __A,__m256i __B)1135 __m512i test_mm512_mask_inserti32x8(__m512i __W, __mmask16 __U, __m512i __A, __m256i __B) {
1136 // CHECK-LABEL: @test_mm512_mask_inserti32x8
1137 // CHECK: @llvm.x86.avx512.mask.inserti32x8
1138 return _mm512_mask_inserti32x8(__W, __U, __A, __B, 1);
1139 }
1140
test_mm512_maskz_inserti32x8(__mmask16 __U,__m512i __A,__m256i __B)1141 __m512i test_mm512_maskz_inserti32x8(__mmask16 __U, __m512i __A, __m256i __B) {
1142 // CHECK-LABEL: @test_mm512_maskz_inserti32x8
1143 // CHECK: @llvm.x86.avx512.mask.inserti32x8
1144 return _mm512_maskz_inserti32x8(__U, __A, __B, 1);
1145 }
1146
test_mm512_inserti64x2(__m512i __A,__m128i __B)1147 __m512i test_mm512_inserti64x2(__m512i __A, __m128i __B) {
1148 // CHECK-LABEL: @test_mm512_inserti64x2
1149 // CHECK: @llvm.x86.avx512.mask.inserti64x2
1150 return _mm512_inserti64x2(__A, __B, 1);
1151 }
1152
test_mm512_mask_inserti64x2(__m512i __W,__mmask8 __U,__m512i __A,__m128i __B)1153 __m512i test_mm512_mask_inserti64x2(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
1154 // CHECK-LABEL: @test_mm512_mask_inserti64x2
1155 // CHECK: @llvm.x86.avx512.mask.inserti64x2
1156 return _mm512_mask_inserti64x2(__W, __U, __A, __B, 1);
1157 }
1158
test_mm512_maskz_inserti64x2(__mmask8 __U,__m512i __A,__m128i __B)1159 __m512i test_mm512_maskz_inserti64x2(__mmask8 __U, __m512i __A, __m128i __B) {
1160 // CHECK-LABEL: @test_mm512_maskz_inserti64x2
1161 // CHECK: @llvm.x86.avx512.mask.inserti64x2
1162 return _mm512_maskz_inserti64x2(__U, __A, __B, 1);
1163 }
test_mm512_mask_fpclass_pd_mask(__mmask8 __U,__m512d __A)1164 __mmask8 test_mm512_mask_fpclass_pd_mask(__mmask8 __U, __m512d __A) {
1165 // CHECK-LABEL: @test_mm512_mask_fpclass_pd_mask
1166 // CHECK: @llvm.x86.avx512.mask.fpclass.pd.512
1167 return _mm512_mask_fpclass_pd_mask(__U, __A, 4);
1168 }
1169
test_mm512_fpclass_pd_mask(__m512d __A)1170 __mmask8 test_mm512_fpclass_pd_mask(__m512d __A) {
1171 // CHECK-LABEL: @test_mm512_fpclass_pd_mask
1172 // CHECK: @llvm.x86.avx512.mask.fpclass.pd.512
1173 return _mm512_fpclass_pd_mask(__A, 4);
1174 }
1175
test_mm512_mask_fpclass_ps_mask(__mmask16 __U,__m512 __A)1176 __mmask16 test_mm512_mask_fpclass_ps_mask(__mmask16 __U, __m512 __A) {
1177 // CHECK-LABEL: @test_mm512_mask_fpclass_ps_mask
1178 // CHECK: @llvm.x86.avx512.mask.fpclass.ps.512
1179 return _mm512_mask_fpclass_ps_mask(__U, __A, 4);
1180 }
1181
test_mm512_fpclass_ps_mask(__m512 __A)1182 __mmask16 test_mm512_fpclass_ps_mask(__m512 __A) {
1183 // CHECK-LABEL: @test_mm512_fpclass_ps_mask
1184 // CHECK: @llvm.x86.avx512.mask.fpclass.ps.512
1185 return _mm512_fpclass_ps_mask(__A, 4);
1186 }
1187
test_mm_fpclass_sd_mask(__m128 __A)1188 __mmask8 test_mm_fpclass_sd_mask(__m128 __A) {
1189 // CHECK-LABEL: @test_mm_fpclass_sd_mask
1190 // CHECK: @llvm.x86.avx512.mask.fpclass.sd
1191 return _mm_fpclass_sd_mask (__A, 2);
1192 }
1193
test_mm_mask_fpclass_sd_mask(__mmask8 __U,__m128 __A)1194 __mmask8 test_mm_mask_fpclass_sd_mask(__mmask8 __U, __m128 __A) {
1195 // CHECK-LABEL: @test_mm_mask_fpclass_sd_mask
1196 // CHECK: @llvm.x86.avx512.mask.fpclass.sd
1197 return _mm_mask_fpclass_sd_mask (__U, __A, 2);
1198 }
1199
test_mm_fpclass_ss_mask(__m128 __A)1200 __mmask8 test_mm_fpclass_ss_mask(__m128 __A) {
1201 // CHECK-LABEL: @test_mm_fpclass_ss_mask
1202 // CHECK: @llvm.x86.avx512.mask.fpclass.ss
1203 return _mm_fpclass_ss_mask ( __A, 2);
1204 }
1205
test_mm_mask_fpclass_ss_mask(__mmask8 __U,__m128 __A)1206 __mmask8 test_mm_mask_fpclass_ss_mask(__mmask8 __U, __m128 __A) {
1207 // CHECK-LABEL: @test_mm_mask_fpclass_ss_mask
1208 // CHECK: @llvm.x86.avx512.mask.fpclass.ss
1209 return _mm_mask_fpclass_ss_mask (__U, __A, 2);
1210 }
1211
1212