• 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_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