• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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