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_ps(__m512 __A,__m512 __B)638 __m512 test_mm512_range_ps(__m512 __A, __m512 __B) {
639 // CHECK-LABEL: @test_mm512_range_ps
640 // CHECK: @llvm.x86.avx512.mask.range.ps.512
641 return _mm512_range_ps(__A, __B, 4);
642 }
643
test_mm512_mask_range_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)644 __m512 test_mm512_mask_range_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
645 // CHECK-LABEL: @test_mm512_mask_range_ps
646 // CHECK: @llvm.x86.avx512.mask.range.ps.512
647 return _mm512_mask_range_ps(__W, __U, __A, __B, 4);
648 }
649
test_mm512_maskz_range_ps(__mmask16 __U,__m512 __A,__m512 __B)650 __m512 test_mm512_maskz_range_ps(__mmask16 __U, __m512 __A, __m512 __B) {
651 // CHECK-LABEL: @test_mm512_maskz_range_ps
652 // CHECK: @llvm.x86.avx512.mask.range.ps.512
653 return _mm512_maskz_range_ps(__U, __A, __B, 4);
654 }
655
test_mm512_range_round_ps(__m512 __A,__m512 __B)656 __m512 test_mm512_range_round_ps(__m512 __A, __m512 __B) {
657 // CHECK-LABEL: @test_mm512_range_round_ps
658 // CHECK: @llvm.x86.avx512.mask.range.ps.512
659 return _mm512_range_round_ps(__A, __B, 4, 8);
660 }
661
test_mm512_mask_range_round_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)662 __m512 test_mm512_mask_range_round_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
663 // CHECK-LABEL: @test_mm512_mask_range_round_ps
664 // CHECK: @llvm.x86.avx512.mask.range.ps.512
665 return _mm512_mask_range_round_ps(__W, __U, __A, __B, 4, 8);
666 }
667
test_mm512_maskz_range_round_ps(__mmask16 __U,__m512 __A,__m512 __B)668 __m512 test_mm512_maskz_range_round_ps(__mmask16 __U, __m512 __A, __m512 __B) {
669 // CHECK-LABEL: @test_mm512_maskz_range_round_ps
670 // CHECK: @llvm.x86.avx512.mask.range.ps.512
671 return _mm512_maskz_range_round_ps(__U, __A, __B, 4, 8);
672 }
673
test_mm512_reduce_pd(__m512d __A)674 __m512d test_mm512_reduce_pd(__m512d __A) {
675 // CHECK-LABEL: @test_mm512_reduce_pd
676 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
677 return _mm512_reduce_pd(__A, 4);
678 }
679
test_mm512_mask_reduce_pd(__m512d __W,__mmask8 __U,__m512d __A)680 __m512d test_mm512_mask_reduce_pd(__m512d __W, __mmask8 __U, __m512d __A) {
681 // CHECK-LABEL: @test_mm512_mask_reduce_pd
682 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
683 return _mm512_mask_reduce_pd(__W, __U, __A, 4);
684 }
685
test_mm512_maskz_reduce_pd(__mmask8 __U,__m512d __A)686 __m512d test_mm512_maskz_reduce_pd(__mmask8 __U, __m512d __A) {
687 // CHECK-LABEL: @test_mm512_maskz_reduce_pd
688 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
689 return _mm512_maskz_reduce_pd(__U, __A, 4);
690 }
691
test_mm512_reduce_ps(__m512 __A)692 __m512 test_mm512_reduce_ps(__m512 __A) {
693 // CHECK-LABEL: @test_mm512_reduce_ps
694 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
695 return _mm512_reduce_ps(__A, 4);
696 }
697
test_mm512_mask_reduce_ps(__m512 __W,__mmask16 __U,__m512 __A)698 __m512 test_mm512_mask_reduce_ps(__m512 __W, __mmask16 __U, __m512 __A) {
699 // CHECK-LABEL: @test_mm512_mask_reduce_ps
700 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
701 return _mm512_mask_reduce_ps(__W, __U, __A, 4);
702 }
703
test_mm512_maskz_reduce_ps(__mmask16 __U,__m512 __A)704 __m512 test_mm512_maskz_reduce_ps(__mmask16 __U, __m512 __A) {
705 // CHECK-LABEL: @test_mm512_maskz_reduce_ps
706 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
707 return _mm512_maskz_reduce_ps(__U, __A, 4);
708 }
709
test_mm512_reduce_round_pd(__m512d __A)710 __m512d test_mm512_reduce_round_pd(__m512d __A) {
711 // CHECK-LABEL: @test_mm512_reduce_round_pd
712 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
713 return _mm512_reduce_round_pd(__A, 4, 8);
714 }
715
test_mm512_mask_reduce_round_pd(__m512d __W,__mmask8 __U,__m512d __A)716 __m512d test_mm512_mask_reduce_round_pd(__m512d __W, __mmask8 __U, __m512d __A) {
717 // CHECK-LABEL: @test_mm512_mask_reduce_round_pd
718 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
719 return _mm512_mask_reduce_round_pd(__W, __U, __A, 4, 8);
720 }
721
test_mm512_maskz_reduce_round_pd(__mmask8 __U,__m512d __A)722 __m512d test_mm512_maskz_reduce_round_pd(__mmask8 __U, __m512d __A) {
723 // CHECK-LABEL: @test_mm512_maskz_reduce_round_pd
724 // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
725 return _mm512_maskz_reduce_round_pd(__U, __A, 4, 8);
726 }
727
test_mm512_reduce_round_ps(__m512 __A)728 __m512 test_mm512_reduce_round_ps(__m512 __A) {
729 // CHECK-LABEL: @test_mm512_reduce_round_ps
730 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
731 return _mm512_reduce_round_ps(__A, 4, 8);
732 }
733
test_mm512_mask_reduce_round_ps(__m512 __W,__mmask16 __U,__m512 __A)734 __m512 test_mm512_mask_reduce_round_ps(__m512 __W, __mmask16 __U, __m512 __A) {
735 // CHECK-LABEL: @test_mm512_mask_reduce_round_ps
736 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
737 return _mm512_mask_reduce_round_ps(__W, __U, __A, 4, 8);
738 }
739
test_mm512_maskz_reduce_round_ps(__mmask16 __U,__m512 __A)740 __m512 test_mm512_maskz_reduce_round_ps(__mmask16 __U, __m512 __A) {
741 // CHECK-LABEL: @test_mm512_maskz_reduce_round_ps
742 // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
743 return _mm512_maskz_reduce_round_ps(__U, __A, 4, 8);
744 }
745
746