1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512f -target-feature +avx512er -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_rsqrt28_round_pd(__m512d a)8 __m512d test_mm512_rsqrt28_round_pd(__m512d a) {
9   // CHECK-LABEL: @test_mm512_rsqrt28_round_pd
10   // CHECK: @llvm.x86.avx512.rsqrt28.pd
11   return _mm512_rsqrt28_round_pd(a, _MM_FROUND_TO_NEAREST_INT);
12 }
13 
test_mm512_mask_rsqrt28_round_pd(__m512d s,__mmask8 m,__m512d a)14 __m512d test_mm512_mask_rsqrt28_round_pd(__m512d s, __mmask8 m, __m512d a) {
15   // CHECK-LABEL: @test_mm512_mask_rsqrt28_round_pd
16   // CHECK: @llvm.x86.avx512.rsqrt28.pd
17   return _mm512_mask_rsqrt28_round_pd(s, m, a, _MM_FROUND_TO_NEAREST_INT);
18 }
19 
test_mm512_maskz_rsqrt28_round_pd(__mmask8 m,__m512d a)20 __m512d test_mm512_maskz_rsqrt28_round_pd(__mmask8 m, __m512d a) {
21   // CHECK-LABEL: @test_mm512_maskz_rsqrt28_round_pd
22   // CHECK: @llvm.x86.avx512.rsqrt28.pd
23   return _mm512_maskz_rsqrt28_round_pd(m, a, _MM_FROUND_TO_NEAREST_INT);
24 }
25 
test_mm512_rsqrt28_pd(__m512d a)26 __m512d test_mm512_rsqrt28_pd(__m512d a) {
27   // CHECK-LABEL: @test_mm512_rsqrt28_pd
28   // CHECK: @llvm.x86.avx512.rsqrt28.pd
29   return _mm512_rsqrt28_pd(a);
30 }
31 
test_mm512_mask_rsqrt28_pd(__m512d s,__mmask8 m,__m512d a)32 __m512d test_mm512_mask_rsqrt28_pd(__m512d s, __mmask8 m, __m512d a) {
33   // CHECK-LABEL: @test_mm512_mask_rsqrt28_pd
34   // CHECK: @llvm.x86.avx512.rsqrt28.pd
35   return _mm512_mask_rsqrt28_pd(s, m, a);
36 }
37 
test_mm512_maskz_rsqrt28_pd(__mmask8 m,__m512d a)38 __m512d test_mm512_maskz_rsqrt28_pd(__mmask8 m, __m512d a) {
39   // CHECK-LABEL: @test_mm512_maskz_rsqrt28_pd
40   // CHECK: @llvm.x86.avx512.rsqrt28.pd
41   return _mm512_maskz_rsqrt28_pd(m, a);
42 }
43 
test_mm512_rsqrt28_round_ps(__m512 a)44 __m512 test_mm512_rsqrt28_round_ps(__m512 a) {
45   // CHECK-LABEL: @test_mm512_rsqrt28_round_ps
46   // CHECK: @llvm.x86.avx512.rsqrt28.ps
47   return _mm512_rsqrt28_round_ps(a, _MM_FROUND_TO_NEAREST_INT);
48 }
49 
test_mm512_mask_rsqrt28_round_ps(__m512 s,__mmask16 m,__m512 a)50 __m512 test_mm512_mask_rsqrt28_round_ps(__m512 s, __mmask16 m, __m512 a) {
51   // CHECK-LABEL: @test_mm512_mask_rsqrt28_round_ps
52   // CHECK: @llvm.x86.avx512.rsqrt28.ps
53   return _mm512_mask_rsqrt28_round_ps(s, m, a, _MM_FROUND_TO_NEAREST_INT);
54 }
55 
test_mm512_maskz_rsqrt28_round_ps(__mmask16 m,__m512 a)56 __m512 test_mm512_maskz_rsqrt28_round_ps(__mmask16 m, __m512 a) {
57   // CHECK-LABEL: @test_mm512_maskz_rsqrt28_round_ps
58   // CHECK: @llvm.x86.avx512.rsqrt28.ps
59   return _mm512_maskz_rsqrt28_round_ps(m, a, _MM_FROUND_TO_NEAREST_INT);
60 }
61 
test_mm512_rsqrt28_ps(__m512 a)62 __m512 test_mm512_rsqrt28_ps(__m512 a) {
63   // CHECK-LABEL: @test_mm512_rsqrt28_ps
64   // CHECK: @llvm.x86.avx512.rsqrt28.ps
65   return _mm512_rsqrt28_ps(a);
66 }
67 
test_mm512_mask_rsqrt28_ps(__m512 s,__mmask16 m,__m512 a)68 __m512 test_mm512_mask_rsqrt28_ps(__m512 s, __mmask16 m, __m512 a) {
69   // CHECK-LABEL: @test_mm512_mask_rsqrt28_ps
70   // CHECK: @llvm.x86.avx512.rsqrt28.ps
71   return _mm512_mask_rsqrt28_ps(s, m, a);
72 }
73 
test_mm512_maskz_rsqrt28_ps(__mmask16 m,__m512 a)74 __m512 test_mm512_maskz_rsqrt28_ps(__mmask16 m, __m512 a) {
75   // CHECK-LABEL: @test_mm512_maskz_rsqrt28_ps
76   // CHECK: @llvm.x86.avx512.rsqrt28.ps
77   return _mm512_maskz_rsqrt28_ps(m, a);
78 }
79 
test_mm_rsqrt28_round_ss(__m128 a,__m128 b)80 __m128 test_mm_rsqrt28_round_ss(__m128 a, __m128 b) {
81   // CHECK-LABEL: @test_mm_rsqrt28_round_ss
82   // CHECK: @llvm.x86.avx512.rsqrt28.ss
83   return _mm_rsqrt28_round_ss(a, b, _MM_FROUND_TO_NEAREST_INT);
84 }
85 
test_mm_mask_rsqrt28_round_ss(__m128 s,__mmask16 m,__m128 a,__m128 b)86 __m128 test_mm_mask_rsqrt28_round_ss(__m128 s, __mmask16 m, __m128 a, __m128 b) {
87   // CHECK-LABEL: @test_mm_mask_rsqrt28_round_ss
88   // CHECK: @llvm.x86.avx512.rsqrt28.ss
89   return _mm_mask_rsqrt28_round_ss(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
90 }
91 
test_mm_maskz_rsqrt28_round_ss(__mmask16 m,__m128 a,__m128 b)92 __m128 test_mm_maskz_rsqrt28_round_ss(__mmask16 m, __m128 a, __m128 b) {
93   // CHECK-LABEL: @test_mm_maskz_rsqrt28_round_ss
94   // CHECK: @llvm.x86.avx512.rsqrt28.ss
95   return _mm_maskz_rsqrt28_round_ss(m, a, b, _MM_FROUND_TO_NEAREST_INT);
96 }
97 
test_mm_rsqrt28_ss(__m128 a,__m128 b)98 __m128 test_mm_rsqrt28_ss(__m128 a, __m128 b) {
99   // CHECK-LABEL: @test_mm_rsqrt28_ss
100   // CHECK: @llvm.x86.avx512.rsqrt28.ss
101   return _mm_rsqrt28_ss(a, b);
102 }
103 
test_mm_mask_rsqrt28_ss(__m128 s,__mmask16 m,__m128 a,__m128 b)104 __m128 test_mm_mask_rsqrt28_ss(__m128 s, __mmask16 m, __m128 a, __m128 b) {
105   // CHECK-LABEL: @test_mm_mask_rsqrt28_ss
106   // CHECK: @llvm.x86.avx512.rsqrt28.ss
107   return _mm_mask_rsqrt28_ss(s, m, a, b);
108 }
109 
test_mm_maskz_rsqrt28_ss(__mmask16 m,__m128 a,__m128 b)110 __m128 test_mm_maskz_rsqrt28_ss(__mmask16 m, __m128 a, __m128 b) {
111   // CHECK-LABEL: @test_mm_maskz_rsqrt28_ss
112   // CHECK: @llvm.x86.avx512.rsqrt28.ss
113   return _mm_maskz_rsqrt28_ss(m, a, b);
114 }
115 
test_mm_rsqrt28_round_sd(__m128d a,__m128d b)116 __m128d test_mm_rsqrt28_round_sd(__m128d a, __m128d b) {
117   // CHECK-LABEL: @test_mm_rsqrt28_round_sd
118   // CHECK: @llvm.x86.avx512.rsqrt28.sd
119   return _mm_rsqrt28_round_sd(a, b, _MM_FROUND_TO_NEAREST_INT);
120 }
121 
test_mm_mask_rsqrt28_round_sd(__m128d s,__mmask8 m,__m128d a,__m128d b)122 __m128d test_mm_mask_rsqrt28_round_sd(__m128d s, __mmask8 m, __m128d a, __m128d b) {
123   // CHECK-LABEL: @test_mm_mask_rsqrt28_round_sd
124   // CHECK: @llvm.x86.avx512.rsqrt28.sd
125   return _mm_mask_rsqrt28_round_sd(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
126 }
127 
test_mm_maskz_rsqrt28_round_sd(__mmask8 m,__m128d a,__m128d b)128 __m128d test_mm_maskz_rsqrt28_round_sd(__mmask8 m, __m128d a, __m128d b) {
129   // CHECK-LABEL: @test_mm_maskz_rsqrt28_round_sd
130   // CHECK: @llvm.x86.avx512.rsqrt28.sd
131   return _mm_maskz_rsqrt28_round_sd(m, a, b, _MM_FROUND_TO_NEAREST_INT);
132 }
133 
test_mm512_rcp28_round_pd(__m512d a)134 __m512d test_mm512_rcp28_round_pd(__m512d a) {
135   // CHECK-LABEL: @test_mm512_rcp28_round_pd
136   // CHECK: @llvm.x86.avx512.rcp28.pd
137   return _mm512_rcp28_round_pd(a, _MM_FROUND_TO_NEAREST_INT);
138 }
139 
test_mm512_mask_rcp28_round_pd(__m512d s,__mmask8 m,__m512d a)140 __m512d test_mm512_mask_rcp28_round_pd(__m512d s, __mmask8 m, __m512d a) {
141   // CHECK-LABEL: @test_mm512_mask_rcp28_round_pd
142   // CHECK: @llvm.x86.avx512.rcp28.pd
143   return _mm512_mask_rcp28_round_pd(s, m, a, _MM_FROUND_TO_NEAREST_INT);
144 }
145 
test_mm512_maskz_rcp28_round_pd(__mmask8 m,__m512d a)146 __m512d test_mm512_maskz_rcp28_round_pd(__mmask8 m, __m512d a) {
147   // CHECK-LABEL: @test_mm512_maskz_rcp28_round_pd
148   // CHECK: @llvm.x86.avx512.rcp28.pd
149   return _mm512_maskz_rcp28_round_pd(m, a, _MM_FROUND_TO_NEAREST_INT);
150 }
151 
test_mm512_rcp28_pd(__m512d a)152 __m512d test_mm512_rcp28_pd(__m512d a) {
153   // CHECK-LABEL: @test_mm512_rcp28_pd
154   // CHECK: @llvm.x86.avx512.rcp28.pd
155   return _mm512_rcp28_pd(a);
156 }
157 
test_mm512_mask_rcp28_pd(__m512d s,__mmask8 m,__m512d a)158 __m512d test_mm512_mask_rcp28_pd(__m512d s, __mmask8 m, __m512d a) {
159   // CHECK-LABEL: @test_mm512_mask_rcp28_pd
160   // CHECK: @llvm.x86.avx512.rcp28.pd
161   return _mm512_mask_rcp28_pd(s, m, a);
162 }
163 
test_mm512_maskz_rcp28_pd(__mmask8 m,__m512d a)164 __m512d test_mm512_maskz_rcp28_pd(__mmask8 m, __m512d a) {
165   // CHECK-LABEL: @test_mm512_maskz_rcp28_pd
166   // CHECK: @llvm.x86.avx512.rcp28.pd
167   return _mm512_maskz_rcp28_pd(m, a);
168 }
169 
test_mm512_rcp28_round_ps(__m512 a)170 __m512 test_mm512_rcp28_round_ps(__m512 a) {
171   // CHECK-LABEL: @test_mm512_rcp28_round_ps
172   // CHECK: @llvm.x86.avx512.rcp28.ps
173   return _mm512_rcp28_round_ps(a, _MM_FROUND_TO_NEAREST_INT);
174 }
175 
test_mm512_mask_rcp28_round_ps(__m512 s,__mmask16 m,__m512 a)176 __m512 test_mm512_mask_rcp28_round_ps(__m512 s, __mmask16 m, __m512 a) {
177   // CHECK-LABEL: @test_mm512_mask_rcp28_round_ps
178   // CHECK: @llvm.x86.avx512.rcp28.ps
179   return _mm512_mask_rcp28_round_ps(s, m, a, _MM_FROUND_TO_NEAREST_INT);
180 }
181 
test_mm512_maskz_rcp28_round_ps(__mmask16 m,__m512 a)182 __m512 test_mm512_maskz_rcp28_round_ps(__mmask16 m, __m512 a) {
183   // CHECK-LABEL: @test_mm512_maskz_rcp28_round_ps
184   // CHECK: @llvm.x86.avx512.rcp28.ps
185   return _mm512_maskz_rcp28_round_ps(m, a, _MM_FROUND_TO_NEAREST_INT);
186 }
187 
test_mm512_rcp28_ps(__m512 a)188 __m512 test_mm512_rcp28_ps(__m512 a) {
189   // CHECK-LABEL: @test_mm512_rcp28_ps
190   // CHECK: @llvm.x86.avx512.rcp28.ps
191   return _mm512_rcp28_ps(a);
192 }
193 
test_mm512_mask_rcp28_ps(__m512 s,__mmask16 m,__m512 a)194 __m512 test_mm512_mask_rcp28_ps(__m512 s, __mmask16 m, __m512 a) {
195   // CHECK-LABEL: @test_mm512_mask_rcp28_ps
196   // CHECK: @llvm.x86.avx512.rcp28.ps
197   return _mm512_mask_rcp28_ps(s, m, a);
198 }
199 
test_mm512_maskz_rcp28_ps(__mmask16 m,__m512 a)200 __m512 test_mm512_maskz_rcp28_ps(__mmask16 m, __m512 a) {
201   // CHECK-LABEL: @test_mm512_maskz_rcp28_ps
202   // CHECK: @llvm.x86.avx512.rcp28.ps
203   return _mm512_maskz_rcp28_ps(m, a);
204 }
205 
test_mm_rcp28_round_ss(__m128 a,__m128 b)206 __m128 test_mm_rcp28_round_ss(__m128 a, __m128 b) {
207   // CHECK-LABEL: @test_mm_rcp28_round_ss
208   // CHECK: @llvm.x86.avx512.rcp28.ss
209   return _mm_rcp28_round_ss(a, b, _MM_FROUND_TO_NEAREST_INT);
210 }
211 
test_mm_mask_rcp28_round_ss(__m128 s,__mmask16 m,__m128 a,__m128 b)212 __m128 test_mm_mask_rcp28_round_ss(__m128 s, __mmask16 m, __m128 a, __m128 b) {
213   // CHECK-LABEL: @test_mm_mask_rcp28_round_ss
214   // CHECK: @llvm.x86.avx512.rcp28.ss
215   return _mm_mask_rcp28_round_ss(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
216 }
217 
test_mm_maskz_rcp28_round_ss(__mmask16 m,__m128 a,__m128 b)218 __m128 test_mm_maskz_rcp28_round_ss(__mmask16 m, __m128 a, __m128 b) {
219   // CHECK-LABEL: @test_mm_maskz_rcp28_round_ss
220   // CHECK: @llvm.x86.avx512.rcp28.ss
221   return _mm_maskz_rcp28_round_ss(m, a, b, _MM_FROUND_TO_NEAREST_INT);
222 }
223 
test_mm_rcp28_ss(__m128 a,__m128 b)224 __m128 test_mm_rcp28_ss(__m128 a, __m128 b) {
225   // CHECK-LABEL: @test_mm_rcp28_ss
226   // CHECK: @llvm.x86.avx512.rcp28.ss
227   return _mm_rcp28_ss(a, b);
228 }
229 
test_mm_mask_rcp28_ss(__m128 s,__mmask16 m,__m128 a,__m128 b)230 __m128 test_mm_mask_rcp28_ss(__m128 s, __mmask16 m, __m128 a, __m128 b) {
231   // CHECK-LABEL: @test_mm_mask_rcp28_ss
232   // CHECK: @llvm.x86.avx512.rcp28.ss
233   return _mm_mask_rcp28_ss(s, m, a, b);
234 }
235 
test_mm_maskz_rcp28_ss(__mmask16 m,__m128 a,__m128 b)236 __m128 test_mm_maskz_rcp28_ss(__mmask16 m, __m128 a, __m128 b) {
237   // CHECK-LABEL: @test_mm_maskz_rcp28_ss
238   // CHECK: @llvm.x86.avx512.rcp28.ss
239   return _mm_maskz_rcp28_ss(m, a, b);
240 }
241 
test_mm_rcp28_round_sd(__m128d a,__m128d b)242 __m128d test_mm_rcp28_round_sd(__m128d a, __m128d b) {
243   // CHECK-LABEL: @test_mm_rcp28_round_sd
244   // CHECK: @llvm.x86.avx512.rcp28.sd
245   return _mm_rcp28_round_sd(a, b, _MM_FROUND_TO_NEAREST_INT);
246 }
247 
test_mm_mask_rcp28_round_sd(__m128d s,__mmask8 m,__m128d a,__m128d b)248 __m128d test_mm_mask_rcp28_round_sd(__m128d s, __mmask8 m, __m128d a, __m128d b) {
249   // CHECK-LABEL: @test_mm_mask_rcp28_round_sd
250   // CHECK: @llvm.x86.avx512.rcp28.sd
251   return _mm_mask_rcp28_round_sd(s, m, a, b, _MM_FROUND_TO_NEAREST_INT);
252 }
253 
test_mm_maskz_rcp28_round_sd(__mmask8 m,__m128d a,__m128d b)254 __m128d test_mm_maskz_rcp28_round_sd(__mmask8 m, __m128d a, __m128d b) {
255   // CHECK-LABEL: @test_mm_maskz_rcp28_round_sd
256   // CHECK: @llvm.x86.avx512.rcp28.sd
257   return _mm_maskz_rcp28_round_sd(m, a, b, _MM_FROUND_TO_NEAREST_INT);
258 }
259 
test_mm_rcp28_sd(__m128d a,__m128d b)260 __m128d test_mm_rcp28_sd(__m128d a, __m128d b) {
261   // CHECK-LABEL: @test_mm_rcp28_sd
262   // CHECK: @llvm.x86.avx512.rcp28.sd
263   return _mm_rcp28_sd(a, b);
264 }
265 
test_mm_mask_rcp28_sd(__m128d s,__mmask8 m,__m128d a,__m128d b)266 __m128d test_mm_mask_rcp28_sd(__m128d s, __mmask8 m, __m128d a, __m128d b) {
267   // CHECK-LABEL: @test_mm_mask_rcp28_sd
268   // CHECK: @llvm.x86.avx512.rcp28.sd
269   return _mm_mask_rcp28_sd(s, m, a, b);
270 }
271 
test_mm_maskz_rcp28_sd(__mmask8 m,__m128d a,__m128d b)272 __m128d test_mm_maskz_rcp28_sd(__mmask8 m, __m128d a, __m128d b) {
273   // CHECK-LABEL: @test_mm_maskz_rcp28_sd
274   // CHECK: @llvm.x86.avx512.rcp28.sd
275   return _mm_maskz_rcp28_sd(m, a, b);
276 }
277 
test_mm512_exp2a23_round_pd(__m512d a)278 __m512d test_mm512_exp2a23_round_pd(__m512d a) {
279   // CHECK-LABEL: @test_mm512_exp2a23_round_pd
280   // CHECK: @llvm.x86.avx512.exp2.pd
281   return _mm512_exp2a23_round_pd(a, _MM_FROUND_TO_NEAREST_INT);
282 }
283 
test_mm512_mask_exp2a23_round_pd(__m512d s,__mmask8 m,__m512d a)284 __m512d test_mm512_mask_exp2a23_round_pd(__m512d s, __mmask8 m, __m512d a) {
285   // CHECK-LABEL: @test_mm512_mask_exp2a23_round_pd
286   // CHECK: @llvm.x86.avx512.exp2.pd
287   return _mm512_mask_exp2a23_round_pd(s, m, a, _MM_FROUND_TO_NEAREST_INT);
288 }
289 
test_mm512_maskz_exp2a23_round_pd(__mmask8 m,__m512d a)290 __m512d test_mm512_maskz_exp2a23_round_pd(__mmask8 m, __m512d a) {
291   // CHECK-LABEL: @test_mm512_maskz_exp2a23_round_pd
292   // CHECK: @llvm.x86.avx512.exp2.pd
293   return _mm512_maskz_exp2a23_round_pd(m, a, _MM_FROUND_TO_NEAREST_INT);
294 }
295 
test_mm512_exp2a23_pd(__m512d a)296 __m512d test_mm512_exp2a23_pd(__m512d a) {
297   // CHECK-LABEL: @test_mm512_exp2a23_pd
298   // CHECK: @llvm.x86.avx512.exp2.pd
299   return _mm512_exp2a23_pd(a);
300 }
301 
test_mm512_mask_exp2a23_pd(__m512d s,__mmask8 m,__m512d a)302 __m512d test_mm512_mask_exp2a23_pd(__m512d s, __mmask8 m, __m512d a) {
303   // CHECK-LABEL: @test_mm512_mask_exp2a23_pd
304   // CHECK: @llvm.x86.avx512.exp2.pd
305   return _mm512_mask_exp2a23_pd(s, m, a);
306 }
307 
test_mm512_maskz_exp2a23_pd(__mmask8 m,__m512d a)308 __m512d test_mm512_maskz_exp2a23_pd(__mmask8 m, __m512d a) {
309   // CHECK-LABEL: @test_mm512_maskz_exp2a23_pd
310   // CHECK: @llvm.x86.avx512.exp2.pd
311   return _mm512_maskz_exp2a23_pd(m, a);
312 }
313 
test_mm512_exp2a23_round_ps(__m512 a)314 __m512 test_mm512_exp2a23_round_ps(__m512 a) {
315   // CHECK-LABEL: @test_mm512_exp2a23_round_ps
316   // CHECK: @llvm.x86.avx512.exp2.ps
317   return _mm512_exp2a23_round_ps(a, _MM_FROUND_TO_NEAREST_INT);
318 }
319 
test_mm512_mask_exp2a23_round_ps(__m512 s,__mmask16 m,__m512 a)320 __m512 test_mm512_mask_exp2a23_round_ps(__m512 s, __mmask16 m, __m512 a) {
321   // CHECK-LABEL: @test_mm512_mask_exp2a23_round_ps
322   // CHECK: @llvm.x86.avx512.exp2.ps
323   return _mm512_mask_exp2a23_round_ps(s, m, a, _MM_FROUND_TO_NEAREST_INT);
324 }
325 
test_mm512_maskz_exp2a23_round_ps(__mmask16 m,__m512 a)326 __m512 test_mm512_maskz_exp2a23_round_ps(__mmask16 m, __m512 a) {
327   // CHECK-LABEL: @test_mm512_maskz_exp2a23_round_ps
328   // CHECK: @llvm.x86.avx512.exp2.ps
329   return _mm512_maskz_exp2a23_round_ps(m, a, _MM_FROUND_TO_NEAREST_INT);
330 }
331 
test_mm512_exp2a23_ps(__m512 a)332 __m512 test_mm512_exp2a23_ps(__m512 a) {
333   // CHECK-LABEL: @test_mm512_exp2a23_ps
334   // CHECK: @llvm.x86.avx512.exp2.ps
335   return _mm512_exp2a23_ps(a);
336 }
337 
test_mm512_mask_exp2a23_ps(__m512 s,__mmask16 m,__m512 a)338 __m512 test_mm512_mask_exp2a23_ps(__m512 s, __mmask16 m, __m512 a) {
339   // CHECK-LABEL: @test_mm512_mask_exp2a23_ps
340   // CHECK: @llvm.x86.avx512.exp2.ps
341   return _mm512_mask_exp2a23_ps(s, m, a);
342 }
343 
test_mm512_maskz_exp2a23_ps(__mmask16 m,__m512 a)344 __m512 test_mm512_maskz_exp2a23_ps(__mmask16 m, __m512 a) {
345   // CHECK-LABEL: @test_mm512_maskz_exp2a23_ps
346   // CHECK: @llvm.x86.avx512.exp2.ps
347   return _mm512_maskz_exp2a23_ps(m, a);
348 }
349 
350