clang 22.0.0git
avx512dqintrin.h
Go to the documentation of this file.
1/*===---- avx512dqintrin.h - AVX512DQ intrinsics ---------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __IMMINTRIN_H
11#error "Never use <avx512dqintrin.h> directly; include <immintrin.h> instead."
12#endif
13
14#ifndef __AVX512DQINTRIN_H
15#define __AVX512DQINTRIN_H
16
17/* Define the default attributes for the functions in this file. */
18#define __DEFAULT_FN_ATTRS512 \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq"), \
20 __min_vector_width__(512)))
21#define __DEFAULT_FN_ATTRS \
22 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq")))
23
24#if defined(__cplusplus) && (__cplusplus >= 201103L)
25#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
26#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
27#else
28#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
29#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
30#endif
31
32static __inline __mmask8 __DEFAULT_FN_ATTRS
34{
35 return __builtin_ia32_knotqi(__M);
36}
37
38static __inline__ __mmask8 __DEFAULT_FN_ATTRS
40{
41 return (__mmask8)__builtin_ia32_kandqi((__mmask8)__A, (__mmask8)__B);
42}
43
44static __inline__ __mmask8 __DEFAULT_FN_ATTRS
46{
47 return (__mmask8)__builtin_ia32_kandnqi((__mmask8)__A, (__mmask8)__B);
48}
49
50static __inline__ __mmask8 __DEFAULT_FN_ATTRS
52{
53 return (__mmask8)__builtin_ia32_korqi((__mmask8)__A, (__mmask8)__B);
54}
55
56static __inline__ __mmask8 __DEFAULT_FN_ATTRS
58{
59 return (__mmask8)__builtin_ia32_kxnorqi((__mmask8)__A, (__mmask8)__B);
60}
61
62static __inline__ __mmask8 __DEFAULT_FN_ATTRS
64{
65 return (__mmask8)__builtin_ia32_kxorqi((__mmask8)__A, (__mmask8)__B);
66}
67
68static __inline__ unsigned char __DEFAULT_FN_ATTRS
70{
71 return (unsigned char)__builtin_ia32_kortestcqi(__A, __B);
72}
73
74static __inline__ unsigned char __DEFAULT_FN_ATTRS
76{
77 return (unsigned char)__builtin_ia32_kortestzqi(__A, __B);
78}
79
80static __inline__ unsigned char __DEFAULT_FN_ATTRS
81_kortest_mask8_u8(__mmask8 __A, __mmask8 __B, unsigned char *__C) {
82 *__C = (unsigned char)__builtin_ia32_kortestcqi(__A, __B);
83 return (unsigned char)__builtin_ia32_kortestzqi(__A, __B);
84}
85
86static __inline__ unsigned char __DEFAULT_FN_ATTRS
88{
89 return (unsigned char)__builtin_ia32_ktestcqi(__A, __B);
90}
91
92static __inline__ unsigned char __DEFAULT_FN_ATTRS
94{
95 return (unsigned char)__builtin_ia32_ktestzqi(__A, __B);
96}
97
98static __inline__ unsigned char __DEFAULT_FN_ATTRS
99_ktest_mask8_u8(__mmask8 __A, __mmask8 __B, unsigned char *__C) {
100 *__C = (unsigned char)__builtin_ia32_ktestcqi(__A, __B);
101 return (unsigned char)__builtin_ia32_ktestzqi(__A, __B);
102}
103
104static __inline__ unsigned char __DEFAULT_FN_ATTRS
106{
107 return (unsigned char)__builtin_ia32_ktestchi(__A, __B);
108}
109
110static __inline__ unsigned char __DEFAULT_FN_ATTRS
112{
113 return (unsigned char)__builtin_ia32_ktestzhi(__A, __B);
114}
115
116static __inline__ unsigned char __DEFAULT_FN_ATTRS
117_ktest_mask16_u8(__mmask16 __A, __mmask16 __B, unsigned char *__C) {
118 *__C = (unsigned char)__builtin_ia32_ktestchi(__A, __B);
119 return (unsigned char)__builtin_ia32_ktestzhi(__A, __B);
120}
121
122static __inline__ __mmask8 __DEFAULT_FN_ATTRS
124{
125 return (__mmask8)__builtin_ia32_kaddqi((__mmask8)__A, (__mmask8)__B);
126}
127
128static __inline__ __mmask16 __DEFAULT_FN_ATTRS
130{
131 return (__mmask16)__builtin_ia32_kaddhi((__mmask16)__A, (__mmask16)__B);
132}
133
134#define _kshiftli_mask8(A, I) \
135 ((__mmask8)__builtin_ia32_kshiftliqi((__mmask8)(A), (unsigned int)(I)))
136
137#define _kshiftri_mask8(A, I) \
138 ((__mmask8)__builtin_ia32_kshiftriqi((__mmask8)(A), (unsigned int)(I)))
139
140static __inline__ unsigned int __DEFAULT_FN_ATTRS
142 return (unsigned int)__builtin_ia32_kmovb((__mmask8)__A);
143}
144
145static __inline__ __mmask8 __DEFAULT_FN_ATTRS
146_cvtu32_mask8(unsigned int __A) {
147 return (__mmask8)__builtin_ia32_kmovb((__mmask8)__A);
148}
149
150static __inline__ __mmask8 __DEFAULT_FN_ATTRS
152 return (__mmask8)__builtin_ia32_kmovb(*(__mmask8 *)__A);
153}
154
155static __inline__ void __DEFAULT_FN_ATTRS
157 *(__mmask8 *)__A = __builtin_ia32_kmovb((__mmask8)__B);
158}
159
160static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
161_mm512_mullo_epi64(__m512i __A, __m512i __B) {
162 return (__m512i) ((__v8du) __A * (__v8du) __B);
163}
164
165static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
166_mm512_mask_mullo_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
167 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
168 (__v8di)_mm512_mullo_epi64(__A, __B),
169 (__v8di)__W);
170}
171
172static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
173_mm512_maskz_mullo_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
174 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
175 (__v8di)_mm512_mullo_epi64(__A, __B),
176 (__v8di)_mm512_setzero_si512());
177}
178
179static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
180_mm512_xor_pd(__m512d __A, __m512d __B) {
181 return (__m512d)((__v8du)__A ^ (__v8du)__B);
182}
183
184static __inline__ __m512d __DEFAULT_FN_ATTRS512
185_mm512_mask_xor_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
186 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
187 (__v8df)_mm512_xor_pd(__A, __B),
188 (__v8df)__W);
189}
190
191static __inline__ __m512d __DEFAULT_FN_ATTRS512
192_mm512_maskz_xor_pd(__mmask8 __U, __m512d __A, __m512d __B) {
193 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
194 (__v8df)_mm512_xor_pd(__A, __B),
195 (__v8df)_mm512_setzero_pd());
196}
197
198static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
199_mm512_xor_ps (__m512 __A, __m512 __B) {
200 return (__m512)((__v16su)__A ^ (__v16su)__B);
201}
202
203static __inline__ __m512 __DEFAULT_FN_ATTRS512
204_mm512_mask_xor_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
205 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
206 (__v16sf)_mm512_xor_ps(__A, __B),
207 (__v16sf)__W);
208}
209
210static __inline__ __m512 __DEFAULT_FN_ATTRS512
211_mm512_maskz_xor_ps(__mmask16 __U, __m512 __A, __m512 __B) {
212 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
213 (__v16sf)_mm512_xor_ps(__A, __B),
214 (__v16sf)_mm512_setzero_ps());
215}
216
217static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
218_mm512_or_pd(__m512d __A, __m512d __B) {
219 return (__m512d)((__v8du)__A | (__v8du)__B);
220}
221
222static __inline__ __m512d __DEFAULT_FN_ATTRS512
223_mm512_mask_or_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
224 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
225 (__v8df)_mm512_or_pd(__A, __B),
226 (__v8df)__W);
227}
228
229static __inline__ __m512d __DEFAULT_FN_ATTRS512
230_mm512_maskz_or_pd(__mmask8 __U, __m512d __A, __m512d __B) {
231 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
232 (__v8df)_mm512_or_pd(__A, __B),
233 (__v8df)_mm512_setzero_pd());
234}
235
236static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
237_mm512_or_ps(__m512 __A, __m512 __B) {
238 return (__m512)((__v16su)__A | (__v16su)__B);
239}
240
241static __inline__ __m512 __DEFAULT_FN_ATTRS512
242_mm512_mask_or_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
243 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
244 (__v16sf)_mm512_or_ps(__A, __B),
245 (__v16sf)__W);
246}
247
248static __inline__ __m512 __DEFAULT_FN_ATTRS512
249_mm512_maskz_or_ps(__mmask16 __U, __m512 __A, __m512 __B) {
250 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
251 (__v16sf)_mm512_or_ps(__A, __B),
252 (__v16sf)_mm512_setzero_ps());
253}
254
255static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
256_mm512_and_pd(__m512d __A, __m512d __B) {
257 return (__m512d)((__v8du)__A & (__v8du)__B);
258}
259
260static __inline__ __m512d __DEFAULT_FN_ATTRS512
261_mm512_mask_and_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
262 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
263 (__v8df)_mm512_and_pd(__A, __B),
264 (__v8df)__W);
265}
266
267static __inline__ __m512d __DEFAULT_FN_ATTRS512
268_mm512_maskz_and_pd(__mmask8 __U, __m512d __A, __m512d __B) {
269 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
270 (__v8df)_mm512_and_pd(__A, __B),
271 (__v8df)_mm512_setzero_pd());
272}
273
274static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
275_mm512_and_ps(__m512 __A, __m512 __B) {
276 return (__m512)((__v16su)__A & (__v16su)__B);
277}
278
279static __inline__ __m512 __DEFAULT_FN_ATTRS512
280_mm512_mask_and_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
281 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
282 (__v16sf)_mm512_and_ps(__A, __B),
283 (__v16sf)__W);
284}
285
286static __inline__ __m512 __DEFAULT_FN_ATTRS512
287_mm512_maskz_and_ps(__mmask16 __U, __m512 __A, __m512 __B) {
288 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
289 (__v16sf)_mm512_and_ps(__A, __B),
290 (__v16sf)_mm512_setzero_ps());
291}
292
293static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
294_mm512_andnot_pd(__m512d __A, __m512d __B) {
295 return (__m512d)(~(__v8du)__A & (__v8du)__B);
296}
297
298static __inline__ __m512d __DEFAULT_FN_ATTRS512
299_mm512_mask_andnot_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
300 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
301 (__v8df)_mm512_andnot_pd(__A, __B),
302 (__v8df)__W);
303}
304
305static __inline__ __m512d __DEFAULT_FN_ATTRS512
306_mm512_maskz_andnot_pd(__mmask8 __U, __m512d __A, __m512d __B) {
307 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
308 (__v8df)_mm512_andnot_pd(__A, __B),
309 (__v8df)_mm512_setzero_pd());
310}
311
312static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
313_mm512_andnot_ps(__m512 __A, __m512 __B) {
314 return (__m512)(~(__v16su)__A & (__v16su)__B);
315}
316
317static __inline__ __m512 __DEFAULT_FN_ATTRS512
318_mm512_mask_andnot_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
319 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
320 (__v16sf)_mm512_andnot_ps(__A, __B),
321 (__v16sf)__W);
322}
323
324static __inline__ __m512 __DEFAULT_FN_ATTRS512
325_mm512_maskz_andnot_ps(__mmask16 __U, __m512 __A, __m512 __B) {
326 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
327 (__v16sf)_mm512_andnot_ps(__A, __B),
328 (__v16sf)_mm512_setzero_ps());
329}
330
331static __inline__ __m512i __DEFAULT_FN_ATTRS512
332_mm512_cvtpd_epi64 (__m512d __A) {
333 return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
334 (__v8di) _mm512_setzero_si512(),
335 (__mmask8) -1,
337}
338
339static __inline__ __m512i __DEFAULT_FN_ATTRS512
340_mm512_mask_cvtpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A) {
341 return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
342 (__v8di) __W,
343 (__mmask8) __U,
345}
346
347static __inline__ __m512i __DEFAULT_FN_ATTRS512
349 return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
350 (__v8di) _mm512_setzero_si512(),
351 (__mmask8) __U,
353}
354
355#define _mm512_cvt_roundpd_epi64(A, R) \
356 ((__m512i)__builtin_ia32_cvtpd2qq512_mask((__v8df)(__m512d)(A), \
357 (__v8di)_mm512_setzero_si512(), \
358 (__mmask8)-1, (int)(R)))
359
360#define _mm512_mask_cvt_roundpd_epi64(W, U, A, R) \
361 ((__m512i)__builtin_ia32_cvtpd2qq512_mask((__v8df)(__m512d)(A), \
362 (__v8di)(__m512i)(W), \
363 (__mmask8)(U), (int)(R)))
364
365#define _mm512_maskz_cvt_roundpd_epi64(U, A, R) \
366 ((__m512i)__builtin_ia32_cvtpd2qq512_mask((__v8df)(__m512d)(A), \
367 (__v8di)_mm512_setzero_si512(), \
368 (__mmask8)(U), (int)(R)))
369
370static __inline__ __m512i __DEFAULT_FN_ATTRS512
371_mm512_cvtpd_epu64 (__m512d __A) {
372 return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
373 (__v8di) _mm512_setzero_si512(),
374 (__mmask8) -1,
376}
377
378static __inline__ __m512i __DEFAULT_FN_ATTRS512
379_mm512_mask_cvtpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A) {
380 return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
381 (__v8di) __W,
382 (__mmask8) __U,
384}
385
386static __inline__ __m512i __DEFAULT_FN_ATTRS512
388 return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
389 (__v8di) _mm512_setzero_si512(),
390 (__mmask8) __U,
392}
393
394#define _mm512_cvt_roundpd_epu64(A, R) \
395 ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((__v8df)(__m512d)(A), \
396 (__v8di)_mm512_setzero_si512(), \
397 (__mmask8)-1, (int)(R)))
398
399#define _mm512_mask_cvt_roundpd_epu64(W, U, A, R) \
400 ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((__v8df)(__m512d)(A), \
401 (__v8di)(__m512i)(W), \
402 (__mmask8)(U), (int)(R)))
403
404#define _mm512_maskz_cvt_roundpd_epu64(U, A, R) \
405 ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((__v8df)(__m512d)(A), \
406 (__v8di)_mm512_setzero_si512(), \
407 (__mmask8)(U), (int)(R)))
408
409static __inline__ __m512i __DEFAULT_FN_ATTRS512
410_mm512_cvtps_epi64 (__m256 __A) {
411 return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
412 (__v8di) _mm512_setzero_si512(),
413 (__mmask8) -1,
415}
416
417static __inline__ __m512i __DEFAULT_FN_ATTRS512
418_mm512_mask_cvtps_epi64 (__m512i __W, __mmask8 __U, __m256 __A) {
419 return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
420 (__v8di) __W,
421 (__mmask8) __U,
423}
424
425static __inline__ __m512i __DEFAULT_FN_ATTRS512
427 return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
428 (__v8di) _mm512_setzero_si512(),
429 (__mmask8) __U,
431}
432
433#define _mm512_cvt_roundps_epi64(A, R) \
434 ((__m512i)__builtin_ia32_cvtps2qq512_mask((__v8sf)(__m256)(A), \
435 (__v8di)_mm512_setzero_si512(), \
436 (__mmask8)-1, (int)(R)))
437
438#define _mm512_mask_cvt_roundps_epi64(W, U, A, R) \
439 ((__m512i)__builtin_ia32_cvtps2qq512_mask((__v8sf)(__m256)(A), \
440 (__v8di)(__m512i)(W), \
441 (__mmask8)(U), (int)(R)))
442
443#define _mm512_maskz_cvt_roundps_epi64(U, A, R) \
444 ((__m512i)__builtin_ia32_cvtps2qq512_mask((__v8sf)(__m256)(A), \
445 (__v8di)_mm512_setzero_si512(), \
446 (__mmask8)(U), (int)(R)))
447
448static __inline__ __m512i __DEFAULT_FN_ATTRS512
449_mm512_cvtps_epu64 (__m256 __A) {
450 return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
451 (__v8di) _mm512_setzero_si512(),
452 (__mmask8) -1,
454}
455
456static __inline__ __m512i __DEFAULT_FN_ATTRS512
457_mm512_mask_cvtps_epu64 (__m512i __W, __mmask8 __U, __m256 __A) {
458 return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
459 (__v8di) __W,
460 (__mmask8) __U,
462}
463
464static __inline__ __m512i __DEFAULT_FN_ATTRS512
466 return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
467 (__v8di) _mm512_setzero_si512(),
468 (__mmask8) __U,
470}
471
472#define _mm512_cvt_roundps_epu64(A, R) \
473 ((__m512i)__builtin_ia32_cvtps2uqq512_mask((__v8sf)(__m256)(A), \
474 (__v8di)_mm512_setzero_si512(), \
475 (__mmask8)-1, (int)(R)))
476
477#define _mm512_mask_cvt_roundps_epu64(W, U, A, R) \
478 ((__m512i)__builtin_ia32_cvtps2uqq512_mask((__v8sf)(__m256)(A), \
479 (__v8di)(__m512i)(W), \
480 (__mmask8)(U), (int)(R)))
481
482#define _mm512_maskz_cvt_roundps_epu64(U, A, R) \
483 ((__m512i)__builtin_ia32_cvtps2uqq512_mask((__v8sf)(__m256)(A), \
484 (__v8di)_mm512_setzero_si512(), \
485 (__mmask8)(U), (int)(R)))
486
487static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
488_mm512_cvtepi64_pd(__m512i __A) {
489 return (__m512d)__builtin_convertvector((__v8di)__A, __v8df);
490}
491
492static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
493_mm512_mask_cvtepi64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
494 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
495 (__v8df)_mm512_cvtepi64_pd(__A),
496 (__v8df)__W);
497}
498
499static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
501 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
502 (__v8df)_mm512_cvtepi64_pd(__A),
503 (__v8df)_mm512_setzero_pd());
504}
505
506#define _mm512_cvt_roundepi64_pd(A, R) \
507 ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(__m512i)(A), \
508 (__v8df)_mm512_setzero_pd(), \
509 (__mmask8)-1, (int)(R)))
510
511#define _mm512_mask_cvt_roundepi64_pd(W, U, A, R) \
512 ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(__m512i)(A), \
513 (__v8df)(__m512d)(W), \
514 (__mmask8)(U), (int)(R)))
515
516#define _mm512_maskz_cvt_roundepi64_pd(U, A, R) \
517 ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(__m512i)(A), \
518 (__v8df)_mm512_setzero_pd(), \
519 (__mmask8)(U), (int)(R)))
520
521static __inline__ __m256 __DEFAULT_FN_ATTRS512
522_mm512_cvtepi64_ps (__m512i __A) {
523 return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
524 (__v8sf) _mm256_setzero_ps(),
525 (__mmask8) -1,
527}
528
529static __inline__ __m256 __DEFAULT_FN_ATTRS512
530_mm512_mask_cvtepi64_ps (__m256 __W, __mmask8 __U, __m512i __A) {
531 return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
532 (__v8sf) __W,
533 (__mmask8) __U,
535}
536
537static __inline__ __m256 __DEFAULT_FN_ATTRS512
539 return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
540 (__v8sf) _mm256_setzero_ps(),
541 (__mmask8) __U,
543}
544
545#define _mm512_cvt_roundepi64_ps(A, R) \
546 ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(__m512i)(A), \
547 (__v8sf)_mm256_setzero_ps(), \
548 (__mmask8)-1, (int)(R)))
549
550#define _mm512_mask_cvt_roundepi64_ps(W, U, A, R) \
551 ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(__m512i)(A), \
552 (__v8sf)(__m256)(W), (__mmask8)(U), \
553 (int)(R)))
554
555#define _mm512_maskz_cvt_roundepi64_ps(U, A, R) \
556 ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(__m512i)(A), \
557 (__v8sf)_mm256_setzero_ps(), \
558 (__mmask8)(U), (int)(R)))
559
560
561static __inline__ __m512i __DEFAULT_FN_ATTRS512
562_mm512_cvttpd_epi64 (__m512d __A) {
563 return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
564 (__v8di) _mm512_setzero_si512(),
565 (__mmask8) -1,
567}
568
569static __inline__ __m512i __DEFAULT_FN_ATTRS512
570_mm512_mask_cvttpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A) {
571 return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
572 (__v8di) __W,
573 (__mmask8) __U,
575}
576
577static __inline__ __m512i __DEFAULT_FN_ATTRS512
579 return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
580 (__v8di) _mm512_setzero_si512(),
581 (__mmask8) __U,
583}
584
585#define _mm512_cvtt_roundpd_epi64(A, R) \
586 ((__m512i)__builtin_ia32_cvttpd2qq512_mask((__v8df)(__m512d)(A), \
587 (__v8di)_mm512_setzero_si512(), \
588 (__mmask8)-1, (int)(R)))
589
590#define _mm512_mask_cvtt_roundpd_epi64(W, U, A, R) \
591 ((__m512i)__builtin_ia32_cvttpd2qq512_mask((__v8df)(__m512d)(A), \
592 (__v8di)(__m512i)(W), \
593 (__mmask8)(U), (int)(R)))
594
595#define _mm512_maskz_cvtt_roundpd_epi64(U, A, R) \
596 ((__m512i)__builtin_ia32_cvttpd2qq512_mask((__v8df)(__m512d)(A), \
597 (__v8di)_mm512_setzero_si512(), \
598 (__mmask8)(U), (int)(R)))
599
600static __inline__ __m512i __DEFAULT_FN_ATTRS512
601_mm512_cvttpd_epu64 (__m512d __A) {
602 return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
603 (__v8di) _mm512_setzero_si512(),
604 (__mmask8) -1,
606}
607
608static __inline__ __m512i __DEFAULT_FN_ATTRS512
609_mm512_mask_cvttpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A) {
610 return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
611 (__v8di) __W,
612 (__mmask8) __U,
614}
615
616static __inline__ __m512i __DEFAULT_FN_ATTRS512
618 return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
619 (__v8di) _mm512_setzero_si512(),
620 (__mmask8) __U,
622}
623
624#define _mm512_cvtt_roundpd_epu64(A, R) \
625 ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((__v8df)(__m512d)(A), \
626 (__v8di)_mm512_setzero_si512(), \
627 (__mmask8)-1, (int)(R)))
628
629#define _mm512_mask_cvtt_roundpd_epu64(W, U, A, R) \
630 ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((__v8df)(__m512d)(A), \
631 (__v8di)(__m512i)(W), \
632 (__mmask8)(U), (int)(R)))
633
634#define _mm512_maskz_cvtt_roundpd_epu64(U, A, R) \
635 ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((__v8df)(__m512d)(A), \
636 (__v8di)_mm512_setzero_si512(), \
637 (__mmask8)(U), (int)(R)))
638
639static __inline__ __m512i __DEFAULT_FN_ATTRS512
641 return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
642 (__v8di) _mm512_setzero_si512(),
643 (__mmask8) -1,
645}
646
647static __inline__ __m512i __DEFAULT_FN_ATTRS512
648_mm512_mask_cvttps_epi64 (__m512i __W, __mmask8 __U, __m256 __A) {
649 return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
650 (__v8di) __W,
651 (__mmask8) __U,
653}
654
655static __inline__ __m512i __DEFAULT_FN_ATTRS512
657 return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
658 (__v8di) _mm512_setzero_si512(),
659 (__mmask8) __U,
661}
662
663#define _mm512_cvtt_roundps_epi64(A, R) \
664 ((__m512i)__builtin_ia32_cvttps2qq512_mask((__v8sf)(__m256)(A), \
665 (__v8di)_mm512_setzero_si512(), \
666 (__mmask8)-1, (int)(R)))
667
668#define _mm512_mask_cvtt_roundps_epi64(W, U, A, R) \
669 ((__m512i)__builtin_ia32_cvttps2qq512_mask((__v8sf)(__m256)(A), \
670 (__v8di)(__m512i)(W), \
671 (__mmask8)(U), (int)(R)))
672
673#define _mm512_maskz_cvtt_roundps_epi64(U, A, R) \
674 ((__m512i)__builtin_ia32_cvttps2qq512_mask((__v8sf)(__m256)(A), \
675 (__v8di)_mm512_setzero_si512(), \
676 (__mmask8)(U), (int)(R)))
677
678static __inline__ __m512i __DEFAULT_FN_ATTRS512
680 return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
681 (__v8di) _mm512_setzero_si512(),
682 (__mmask8) -1,
684}
685
686static __inline__ __m512i __DEFAULT_FN_ATTRS512
687_mm512_mask_cvttps_epu64 (__m512i __W, __mmask8 __U, __m256 __A) {
688 return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
689 (__v8di) __W,
690 (__mmask8) __U,
692}
693
694static __inline__ __m512i __DEFAULT_FN_ATTRS512
696 return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
697 (__v8di) _mm512_setzero_si512(),
698 (__mmask8) __U,
700}
701
702#define _mm512_cvtt_roundps_epu64(A, R) \
703 ((__m512i)__builtin_ia32_cvttps2uqq512_mask((__v8sf)(__m256)(A), \
704 (__v8di)_mm512_setzero_si512(), \
705 (__mmask8)-1, (int)(R)))
706
707#define _mm512_mask_cvtt_roundps_epu64(W, U, A, R) \
708 ((__m512i)__builtin_ia32_cvttps2uqq512_mask((__v8sf)(__m256)(A), \
709 (__v8di)(__m512i)(W), \
710 (__mmask8)(U), (int)(R)))
711
712#define _mm512_maskz_cvtt_roundps_epu64(U, A, R) \
713 ((__m512i)__builtin_ia32_cvttps2uqq512_mask((__v8sf)(__m256)(A), \
714 (__v8di)_mm512_setzero_si512(), \
715 (__mmask8)(U), (int)(R)))
716
717static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
718_mm512_cvtepu64_pd(__m512i __A) {
719 return (__m512d)__builtin_convertvector((__v8du)__A, __v8df);
720}
721
722static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
723_mm512_mask_cvtepu64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
724 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
725 (__v8df)_mm512_cvtepu64_pd(__A),
726 (__v8df)__W);
727}
728
729static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
731 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
732 (__v8df)_mm512_cvtepu64_pd(__A),
733 (__v8df)_mm512_setzero_pd());
734}
735
736#define _mm512_cvt_roundepu64_pd(A, R) \
737 ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(__m512i)(A), \
738 (__v8df)_mm512_setzero_pd(), \
739 (__mmask8)-1, (int)(R)))
740
741#define _mm512_mask_cvt_roundepu64_pd(W, U, A, R) \
742 ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(__m512i)(A), \
743 (__v8df)(__m512d)(W), \
744 (__mmask8)(U), (int)(R)))
745
746
747#define _mm512_maskz_cvt_roundepu64_pd(U, A, R) \
748 ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(__m512i)(A), \
749 (__v8df)_mm512_setzero_pd(), \
750 (__mmask8)(U), (int)(R)))
751
752
753static __inline__ __m256 __DEFAULT_FN_ATTRS512
754_mm512_cvtepu64_ps (__m512i __A) {
755 return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
756 (__v8sf) _mm256_setzero_ps(),
757 (__mmask8) -1,
759}
760
761static __inline__ __m256 __DEFAULT_FN_ATTRS512
762_mm512_mask_cvtepu64_ps (__m256 __W, __mmask8 __U, __m512i __A) {
763 return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
764 (__v8sf) __W,
765 (__mmask8) __U,
767}
768
769static __inline__ __m256 __DEFAULT_FN_ATTRS512
771 return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
772 (__v8sf) _mm256_setzero_ps(),
773 (__mmask8) __U,
775}
776
777#define _mm512_cvt_roundepu64_ps(A, R) \
778 ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(__m512i)(A), \
779 (__v8sf)_mm256_setzero_ps(), \
780 (__mmask8)-1, (int)(R)))
781
782#define _mm512_mask_cvt_roundepu64_ps(W, U, A, R) \
783 ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(__m512i)(A), \
784 (__v8sf)(__m256)(W), (__mmask8)(U), \
785 (int)(R)))
786
787#define _mm512_maskz_cvt_roundepu64_ps(U, A, R) \
788 ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(__m512i)(A), \
789 (__v8sf)_mm256_setzero_ps(), \
790 (__mmask8)(U), (int)(R)))
791
792#define _mm512_range_pd(A, B, C) \
793 ((__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
794 (__v8df)(__m512d)(B), (int)(C), \
795 (__v8df)_mm512_setzero_pd(), \
796 (__mmask8)-1, \
797 _MM_FROUND_CUR_DIRECTION))
798
799#define _mm512_mask_range_pd(W, U, A, B, C) \
800 ((__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
801 (__v8df)(__m512d)(B), (int)(C), \
802 (__v8df)(__m512d)(W), (__mmask8)(U), \
803 _MM_FROUND_CUR_DIRECTION))
804
805#define _mm512_maskz_range_pd(U, A, B, C) \
806 ((__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
807 (__v8df)(__m512d)(B), (int)(C), \
808 (__v8df)_mm512_setzero_pd(), \
809 (__mmask8)(U), \
810 _MM_FROUND_CUR_DIRECTION))
811
812#define _mm512_range_round_pd(A, B, C, R) \
813 ((__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
814 (__v8df)(__m512d)(B), (int)(C), \
815 (__v8df)_mm512_setzero_pd(), \
816 (__mmask8)-1, (int)(R)))
817
818#define _mm512_mask_range_round_pd(W, U, A, B, C, R) \
819 ((__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
820 (__v8df)(__m512d)(B), (int)(C), \
821 (__v8df)(__m512d)(W), (__mmask8)(U), \
822 (int)(R)))
823
824#define _mm512_maskz_range_round_pd(U, A, B, C, R) \
825 ((__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
826 (__v8df)(__m512d)(B), (int)(C), \
827 (__v8df)_mm512_setzero_pd(), \
828 (__mmask8)(U), (int)(R)))
829
830#define _mm512_range_ps(A, B, C) \
831 ((__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
832 (__v16sf)(__m512)(B), (int)(C), \
833 (__v16sf)_mm512_setzero_ps(), \
834 (__mmask16)-1, \
835 _MM_FROUND_CUR_DIRECTION))
836
837#define _mm512_mask_range_ps(W, U, A, B, C) \
838 ((__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
839 (__v16sf)(__m512)(B), (int)(C), \
840 (__v16sf)(__m512)(W), (__mmask16)(U), \
841 _MM_FROUND_CUR_DIRECTION))
842
843#define _mm512_maskz_range_ps(U, A, B, C) \
844 ((__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
845 (__v16sf)(__m512)(B), (int)(C), \
846 (__v16sf)_mm512_setzero_ps(), \
847 (__mmask16)(U), \
848 _MM_FROUND_CUR_DIRECTION))
849
850#define _mm512_range_round_ps(A, B, C, R) \
851 ((__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
852 (__v16sf)(__m512)(B), (int)(C), \
853 (__v16sf)_mm512_setzero_ps(), \
854 (__mmask16)-1, (int)(R)))
855
856#define _mm512_mask_range_round_ps(W, U, A, B, C, R) \
857 ((__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
858 (__v16sf)(__m512)(B), (int)(C), \
859 (__v16sf)(__m512)(W), (__mmask16)(U), \
860 (int)(R)))
861
862#define _mm512_maskz_range_round_ps(U, A, B, C, R) \
863 ((__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
864 (__v16sf)(__m512)(B), (int)(C), \
865 (__v16sf)_mm512_setzero_ps(), \
866 (__mmask16)(U), (int)(R)))
867
868#define _mm_range_round_ss(A, B, C, R) \
869 ((__m128)__builtin_ia32_rangess128_round_mask((__v4sf)(__m128)(A), \
870 (__v4sf)(__m128)(B), \
871 (__v4sf)_mm_setzero_ps(), \
872 (__mmask8) -1, (int)(C),\
873 (int)(R)))
874
875#define _mm_range_ss(A ,B , C) _mm_range_round_ss(A, B, C ,_MM_FROUND_CUR_DIRECTION)
876
877#define _mm_mask_range_round_ss(W, U, A, B, C, R) \
878 ((__m128)__builtin_ia32_rangess128_round_mask((__v4sf)(__m128)(A), \
879 (__v4sf)(__m128)(B), \
880 (__v4sf)(__m128)(W),\
881 (__mmask8)(U), (int)(C),\
882 (int)(R)))
883
884#define _mm_mask_range_ss(W , U, A, B, C) _mm_mask_range_round_ss(W, U, A, B, C , _MM_FROUND_CUR_DIRECTION)
885
886#define _mm_maskz_range_round_ss(U, A, B, C, R) \
887 ((__m128)__builtin_ia32_rangess128_round_mask((__v4sf)(__m128)(A), \
888 (__v4sf)(__m128)(B), \
889 (__v4sf)_mm_setzero_ps(), \
890 (__mmask8)(U), (int)(C),\
891 (int)(R)))
892
893#define _mm_maskz_range_ss(U, A ,B , C) _mm_maskz_range_round_ss(U, A, B, C ,_MM_FROUND_CUR_DIRECTION)
894
895#define _mm_range_round_sd(A, B, C, R) \
896 ((__m128d)__builtin_ia32_rangesd128_round_mask((__v2df)(__m128d)(A), \
897 (__v2df)(__m128d)(B), \
898 (__v2df)_mm_setzero_pd(), \
899 (__mmask8) -1, (int)(C),\
900 (int)(R)))
901
902#define _mm_range_sd(A ,B , C) _mm_range_round_sd(A, B, C ,_MM_FROUND_CUR_DIRECTION)
903
904#define _mm_mask_range_round_sd(W, U, A, B, C, R) \
905 ((__m128d)__builtin_ia32_rangesd128_round_mask((__v2df)(__m128d)(A), \
906 (__v2df)(__m128d)(B), \
907 (__v2df)(__m128d)(W),\
908 (__mmask8)(U), (int)(C),\
909 (int)(R)))
910
911#define _mm_mask_range_sd(W, U, A, B, C) _mm_mask_range_round_sd(W, U, A, B, C ,_MM_FROUND_CUR_DIRECTION)
912
913#define _mm_maskz_range_round_sd(U, A, B, C, R) \
914 ((__m128d)__builtin_ia32_rangesd128_round_mask((__v2df)(__m128d)(A), \
915 (__v2df)(__m128d)(B), \
916 (__v2df)_mm_setzero_pd(), \
917 (__mmask8)(U), (int)(C),\
918 (int)(R)))
919
920#define _mm_maskz_range_sd(U, A, B, C) _mm_maskz_range_round_sd(U, A, B, C ,_MM_FROUND_CUR_DIRECTION)
921
922#define _mm512_reduce_pd(A, B) \
923 ((__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
924 (__v8df)_mm512_setzero_pd(), \
925 (__mmask8)-1, \
926 _MM_FROUND_CUR_DIRECTION))
927
928#define _mm512_mask_reduce_pd(W, U, A, B) \
929 ((__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
930 (__v8df)(__m512d)(W), \
931 (__mmask8)(U), \
932 _MM_FROUND_CUR_DIRECTION))
933
934#define _mm512_maskz_reduce_pd(U, A, B) \
935 ((__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
936 (__v8df)_mm512_setzero_pd(), \
937 (__mmask8)(U), \
938 _MM_FROUND_CUR_DIRECTION))
939
940#define _mm512_reduce_ps(A, B) \
941 ((__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
942 (__v16sf)_mm512_setzero_ps(), \
943 (__mmask16)-1, \
944 _MM_FROUND_CUR_DIRECTION))
945
946#define _mm512_mask_reduce_ps(W, U, A, B) \
947 ((__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
948 (__v16sf)(__m512)(W), \
949 (__mmask16)(U), \
950 _MM_FROUND_CUR_DIRECTION))
951
952#define _mm512_maskz_reduce_ps(U, A, B) \
953 ((__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
954 (__v16sf)_mm512_setzero_ps(), \
955 (__mmask16)(U), \
956 _MM_FROUND_CUR_DIRECTION))
957
958#define _mm512_reduce_round_pd(A, B, R) \
959 ((__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
960 (__v8df)_mm512_setzero_pd(), \
961 (__mmask8)-1, (int)(R)))
962
963#define _mm512_mask_reduce_round_pd(W, U, A, B, R) \
964 ((__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
965 (__v8df)(__m512d)(W), \
966 (__mmask8)(U), (int)(R)))
967
968#define _mm512_maskz_reduce_round_pd(U, A, B, R) \
969 ((__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
970 (__v8df)_mm512_setzero_pd(), \
971 (__mmask8)(U), (int)(R)))
972
973#define _mm512_reduce_round_ps(A, B, R) \
974 ((__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
975 (__v16sf)_mm512_setzero_ps(), \
976 (__mmask16)-1, (int)(R)))
977
978#define _mm512_mask_reduce_round_ps(W, U, A, B, R) \
979 ((__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
980 (__v16sf)(__m512)(W), \
981 (__mmask16)(U), (int)(R)))
982
983#define _mm512_maskz_reduce_round_ps(U, A, B, R) \
984 ((__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
985 (__v16sf)_mm512_setzero_ps(), \
986 (__mmask16)(U), (int)(R)))
987
988#define _mm_reduce_ss(A, B, C) \
989 ((__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
990 (__v4sf)(__m128)(B), \
991 (__v4sf)_mm_setzero_ps(), (__mmask8)-1, \
992 (int)(C), _MM_FROUND_CUR_DIRECTION))
993
994#define _mm_mask_reduce_ss(W, U, A, B, C) \
995 ((__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
996 (__v4sf)(__m128)(B), \
997 (__v4sf)(__m128)(W), (__mmask8)(U), \
998 (int)(C), _MM_FROUND_CUR_DIRECTION))
999
1000#define _mm_maskz_reduce_ss(U, A, B, C) \
1001 ((__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
1002 (__v4sf)(__m128)(B), \
1003 (__v4sf)_mm_setzero_ps(), \
1004 (__mmask8)(U), (int)(C), \
1005 _MM_FROUND_CUR_DIRECTION))
1006
1007#define _mm_reduce_round_ss(A, B, C, R) \
1008 ((__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
1009 (__v4sf)(__m128)(B), \
1010 (__v4sf)_mm_setzero_ps(), (__mmask8)-1, \
1011 (int)(C), (int)(R)))
1012
1013#define _mm_mask_reduce_round_ss(W, U, A, B, C, R) \
1014 ((__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
1015 (__v4sf)(__m128)(B), \
1016 (__v4sf)(__m128)(W), (__mmask8)(U), \
1017 (int)(C), (int)(R)))
1018
1019#define _mm_maskz_reduce_round_ss(U, A, B, C, R) \
1020 ((__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
1021 (__v4sf)(__m128)(B), \
1022 (__v4sf)_mm_setzero_ps(), \
1023 (__mmask8)(U), (int)(C), (int)(R)))
1024
1025#define _mm_reduce_sd(A, B, C) \
1026 ((__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
1027 (__v2df)(__m128d)(B), \
1028 (__v2df)_mm_setzero_pd(), \
1029 (__mmask8)-1, (int)(C), \
1030 _MM_FROUND_CUR_DIRECTION))
1031
1032#define _mm_mask_reduce_sd(W, U, A, B, C) \
1033 ((__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
1034 (__v2df)(__m128d)(B), \
1035 (__v2df)(__m128d)(W), (__mmask8)(U), \
1036 (int)(C), _MM_FROUND_CUR_DIRECTION))
1037
1038#define _mm_maskz_reduce_sd(U, A, B, C) \
1039 ((__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
1040 (__v2df)(__m128d)(B), \
1041 (__v2df)_mm_setzero_pd(), \
1042 (__mmask8)(U), (int)(C), \
1043 _MM_FROUND_CUR_DIRECTION))
1044
1045#define _mm_reduce_round_sd(A, B, C, R) \
1046 ((__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
1047 (__v2df)(__m128d)(B), \
1048 (__v2df)_mm_setzero_pd(), \
1049 (__mmask8)-1, (int)(C), (int)(R)))
1050
1051#define _mm_mask_reduce_round_sd(W, U, A, B, C, R) \
1052 ((__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
1053 (__v2df)(__m128d)(B), \
1054 (__v2df)(__m128d)(W), (__mmask8)(U), \
1055 (int)(C), (int)(R)))
1056
1057#define _mm_maskz_reduce_round_sd(U, A, B, C, R) \
1058 ((__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
1059 (__v2df)(__m128d)(B), \
1060 (__v2df)_mm_setzero_pd(), \
1061 (__mmask8)(U), (int)(C), (int)(R)))
1062
1063static __inline__ __mmask16 __DEFAULT_FN_ATTRS512
1065{
1066 return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A);
1067}
1068
1069static __inline__ __m512i __DEFAULT_FN_ATTRS512
1071{
1072 return (__m512i) __builtin_ia32_cvtmask2d512 (__A);
1073}
1074
1075static __inline__ __m512i __DEFAULT_FN_ATTRS512
1077{
1078 return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
1079}
1080
1081static __inline__ __mmask8 __DEFAULT_FN_ATTRS512
1083{
1084 return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A);
1085}
1086
1087static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1089 return (__m512)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
1090 0, 1, 0, 1, 0, 1, 0, 1,
1091 0, 1, 0, 1, 0, 1, 0, 1);
1092}
1093
1094static __inline__ __m512 __DEFAULT_FN_ATTRS512
1095_mm512_mask_broadcast_f32x2 (__m512 __O, __mmask16 __M, __m128 __A)
1096{
1097 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1098 (__v16sf)_mm512_broadcast_f32x2(__A),
1099 (__v16sf)__O);
1100}
1101
1102static __inline__ __m512 __DEFAULT_FN_ATTRS512
1104{
1105 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1106 (__v16sf)_mm512_broadcast_f32x2(__A),
1107 (__v16sf)_mm512_setzero_ps());
1108}
1109
1110static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1112 return (__m512)__builtin_shufflevector((__v8sf)__A, (__v8sf)__A,
1113 0, 1, 2, 3, 4, 5, 6, 7,
1114 0, 1, 2, 3, 4, 5, 6, 7);
1115}
1116
1117static __inline__ __m512 __DEFAULT_FN_ATTRS512
1118_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A)
1119{
1120 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1121 (__v16sf)_mm512_broadcast_f32x8(__A),
1122 (__v16sf)__O);
1123}
1124
1125static __inline__ __m512 __DEFAULT_FN_ATTRS512
1127{
1128 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1129 (__v16sf)_mm512_broadcast_f32x8(__A),
1130 (__v16sf)_mm512_setzero_ps());
1131}
1132
1133static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1135 return (__m512d)__builtin_shufflevector((__v2df)__A, (__v2df)__A,
1136 0, 1, 0, 1, 0, 1, 0, 1);
1137}
1138
1139static __inline__ __m512d __DEFAULT_FN_ATTRS512
1140_mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A)
1141{
1142 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__M,
1143 (__v8df)_mm512_broadcast_f64x2(__A),
1144 (__v8df)__O);
1145}
1146
1147static __inline__ __m512d __DEFAULT_FN_ATTRS512
1149{
1150 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__M,
1151 (__v8df)_mm512_broadcast_f64x2(__A),
1152 (__v8df)_mm512_setzero_pd());
1153}
1154
1155static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1157 return (__m512i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
1158 0, 1, 0, 1, 0, 1, 0, 1,
1159 0, 1, 0, 1, 0, 1, 0, 1);
1160}
1161
1162static __inline__ __m512i __DEFAULT_FN_ATTRS512
1163_mm512_mask_broadcast_i32x2 (__m512i __O, __mmask16 __M, __m128i __A)
1164{
1165 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1166 (__v16si)_mm512_broadcast_i32x2(__A),
1167 (__v16si)__O);
1168}
1169
1170static __inline__ __m512i __DEFAULT_FN_ATTRS512
1172{
1173 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1174 (__v16si)_mm512_broadcast_i32x2(__A),
1175 (__v16si)_mm512_setzero_si512());
1176}
1177
1178static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1180 return (__m512i)__builtin_shufflevector((__v8si)__A, (__v8si)__A,
1181 0, 1, 2, 3, 4, 5, 6, 7,
1182 0, 1, 2, 3, 4, 5, 6, 7);
1183}
1184
1185static __inline__ __m512i __DEFAULT_FN_ATTRS512
1186_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A)
1187{
1188 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1189 (__v16si)_mm512_broadcast_i32x8(__A),
1190 (__v16si)__O);
1191}
1192
1193static __inline__ __m512i __DEFAULT_FN_ATTRS512
1195{
1196 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1197 (__v16si)_mm512_broadcast_i32x8(__A),
1198 (__v16si)_mm512_setzero_si512());
1199}
1200
1201static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1203 return (__m512i)__builtin_shufflevector((__v2di)__A, (__v2di)__A,
1204 0, 1, 0, 1, 0, 1, 0, 1);
1205}
1206
1207static __inline__ __m512i __DEFAULT_FN_ATTRS512
1208_mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A)
1209{
1210 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1211 (__v8di)_mm512_broadcast_i64x2(__A),
1212 (__v8di)__O);
1213}
1214
1215static __inline__ __m512i __DEFAULT_FN_ATTRS512
1217{
1218 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1219 (__v8di)_mm512_broadcast_i64x2(__A),
1220 (__v8di)_mm512_setzero_si512());
1221}
1222
1223#define _mm512_extractf32x8_ps(A, imm) \
1224 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1225 (__v8sf)_mm256_undefined_ps(), \
1226 (__mmask8)-1))
1227
1228#define _mm512_mask_extractf32x8_ps(W, U, A, imm) \
1229 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1230 (__v8sf)(__m256)(W), \
1231 (__mmask8)(U)))
1232
1233#define _mm512_maskz_extractf32x8_ps(U, A, imm) \
1234 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1235 (__v8sf)_mm256_setzero_ps(), \
1236 (__mmask8)(U)))
1237
1238#define _mm512_extractf64x2_pd(A, imm) \
1239 ((__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1240 (int)(imm), \
1241 (__v2df)_mm_undefined_pd(), \
1242 (__mmask8)-1))
1243
1244#define _mm512_mask_extractf64x2_pd(W, U, A, imm) \
1245 ((__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1246 (int)(imm), \
1247 (__v2df)(__m128d)(W), \
1248 (__mmask8)(U)))
1249
1250#define _mm512_maskz_extractf64x2_pd(U, A, imm) \
1251 ((__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1252 (int)(imm), \
1253 (__v2df)_mm_setzero_pd(), \
1254 (__mmask8)(U)))
1255
1256#define _mm512_extracti32x8_epi32(A, imm) \
1257 ((__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1258 (__v8si)_mm256_undefined_si256(), \
1259 (__mmask8)-1))
1260
1261#define _mm512_mask_extracti32x8_epi32(W, U, A, imm) \
1262 ((__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1263 (__v8si)(__m256i)(W), \
1264 (__mmask8)(U)))
1265
1266#define _mm512_maskz_extracti32x8_epi32(U, A, imm) \
1267 ((__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1268 (__v8si)_mm256_setzero_si256(), \
1269 (__mmask8)(U)))
1270
1271#define _mm512_extracti64x2_epi64(A, imm) \
1272 ((__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1273 (int)(imm), \
1274 (__v2di)_mm_undefined_si128(), \
1275 (__mmask8)-1))
1276
1277#define _mm512_mask_extracti64x2_epi64(W, U, A, imm) \
1278 ((__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1279 (int)(imm), \
1280 (__v2di)(__m128i)(W), \
1281 (__mmask8)(U)))
1282
1283#define _mm512_maskz_extracti64x2_epi64(U, A, imm) \
1284 ((__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1285 (int)(imm), \
1286 (__v2di)_mm_setzero_si128(), \
1287 (__mmask8)(U)))
1288
1289#define _mm512_insertf32x8(A, B, imm) \
1290 ((__m512)__builtin_ia32_insertf32x8((__v16sf)(__m512)(A), \
1291 (__v8sf)(__m256)(B), (int)(imm)))
1292
1293#define _mm512_mask_insertf32x8(W, U, A, B, imm) \
1294 ((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
1295 (__v16sf)_mm512_insertf32x8((A), (B), (imm)), \
1296 (__v16sf)(__m512)(W)))
1297
1298#define _mm512_maskz_insertf32x8(U, A, B, imm) \
1299 ((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
1300 (__v16sf)_mm512_insertf32x8((A), (B), (imm)), \
1301 (__v16sf)_mm512_setzero_ps()))
1302
1303#define _mm512_insertf64x2(A, B, imm) \
1304 ((__m512d)__builtin_ia32_insertf64x2_512((__v8df)(__m512d)(A), \
1305 (__v2df)(__m128d)(B), (int)(imm)))
1306
1307#define _mm512_mask_insertf64x2(W, U, A, B, imm) \
1308 ((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
1309 (__v8df)_mm512_insertf64x2((A), (B), (imm)), \
1310 (__v8df)(__m512d)(W)))
1311
1312#define _mm512_maskz_insertf64x2(U, A, B, imm) \
1313 ((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
1314 (__v8df)_mm512_insertf64x2((A), (B), (imm)), \
1315 (__v8df)_mm512_setzero_pd()))
1316
1317#define _mm512_inserti32x8(A, B, imm) \
1318 ((__m512i)__builtin_ia32_inserti32x8((__v16si)(__m512i)(A), \
1319 (__v8si)(__m256i)(B), (int)(imm)))
1320
1321#define _mm512_mask_inserti32x8(W, U, A, B, imm) \
1322 ((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
1323 (__v16si)_mm512_inserti32x8((A), (B), (imm)), \
1324 (__v16si)(__m512i)(W)))
1325
1326#define _mm512_maskz_inserti32x8(U, A, B, imm) \
1327 ((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
1328 (__v16si)_mm512_inserti32x8((A), (B), (imm)), \
1329 (__v16si)_mm512_setzero_si512()))
1330
1331#define _mm512_inserti64x2(A, B, imm) \
1332 ((__m512i)__builtin_ia32_inserti64x2_512((__v8di)(__m512i)(A), \
1333 (__v2di)(__m128i)(B), (int)(imm)))
1334
1335#define _mm512_mask_inserti64x2(W, U, A, B, imm) \
1336 ((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
1337 (__v8di)_mm512_inserti64x2((A), (B), (imm)), \
1338 (__v8di)(__m512i)(W)))
1339
1340#define _mm512_maskz_inserti64x2(U, A, B, imm) \
1341 ((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
1342 (__v8di)_mm512_inserti64x2((A), (B), (imm)), \
1343 (__v8di)_mm512_setzero_si512()))
1344
1345#define _mm512_mask_fpclass_ps_mask(U, A, imm) \
1346 ((__mmask16)__builtin_ia32_fpclassps512_mask((__v16sf)(__m512)(A), \
1347 (int)(imm), (__mmask16)(U)))
1348
1349#define _mm512_fpclass_ps_mask(A, imm) \
1350 ((__mmask16)__builtin_ia32_fpclassps512_mask((__v16sf)(__m512)(A), \
1351 (int)(imm), (__mmask16)-1))
1352
1353#define _mm512_mask_fpclass_pd_mask(U, A, imm) \
1354 ((__mmask8)__builtin_ia32_fpclasspd512_mask((__v8df)(__m512d)(A), (int)(imm), \
1355 (__mmask8)(U)))
1356
1357#define _mm512_fpclass_pd_mask(A, imm) \
1358 ((__mmask8)__builtin_ia32_fpclasspd512_mask((__v8df)(__m512d)(A), (int)(imm), \
1359 (__mmask8)-1))
1360
1361#define _mm_fpclass_sd_mask(A, imm) \
1362 ((__mmask8)__builtin_ia32_fpclasssd_mask((__v2df)(__m128d)(A), (int)(imm), \
1363 (__mmask8)-1))
1364
1365#define _mm_mask_fpclass_sd_mask(U, A, imm) \
1366 ((__mmask8)__builtin_ia32_fpclasssd_mask((__v2df)(__m128d)(A), (int)(imm), \
1367 (__mmask8)(U)))
1368
1369#define _mm_fpclass_ss_mask(A, imm) \
1370 ((__mmask8)__builtin_ia32_fpclassss_mask((__v4sf)(__m128)(A), (int)(imm), \
1371 (__mmask8)-1))
1372
1373#define _mm_mask_fpclass_ss_mask(U, A, imm) \
1374 ((__mmask8)__builtin_ia32_fpclassss_mask((__v4sf)(__m128)(A), (int)(imm), \
1375 (__mmask8)(U)))
1376
1377#undef __DEFAULT_FN_ATTRS512
1378#undef __DEFAULT_FN_ATTRS
1379#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
1380#undef __DEFAULT_FN_ATTRS_CONSTEXPR
1381
1382#endif
#define __DEFAULT_FN_ATTRS
#define __DEFAULT_FN_ATTRS512_CONSTEXPR
#define __DEFAULT_FN_ATTRS512
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_movm_epi64(__mmask8 __A)
static __inline__ __m256 __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtepi64_ps(__mmask8 __U, __m512i __A)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _load_mask8(__mmask8 *__A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcast_i32x2(__m128i __A)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _kadd_mask8(__mmask8 __A, __mmask8 __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_mask_xor_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvttpd_epu64(__m512d __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_xor_ps(__m512 __A, __m512 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mullo_epi64(__m512i __A, __m512i __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_mask_andnot_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvtpd_epi64(__m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvttpd_epi64(__m512i __W, __mmask8 __U, __m512d __A)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _kandn_mask8(__mmask8 __A, __mmask8 __B)
static __inline__ __m256 __DEFAULT_FN_ATTRS512 _mm512_cvtepi64_ps(__m512i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_maskz_andnot_ps(__mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtpd_epu64(__mmask8 __U, __m512d __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_cvtepu64_pd(__m512d __W, __mmask8 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcast_i32x8(__mmask16 __M, __m256i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_and_pd(__m512d __A, __m512d __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_xor_pd(__m512d __A, __m512d __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcast_f32x2(__mmask16 __M, __m128 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvttps_epu64(__mmask8 __U, __m256 __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktest_mask8_u8(__mmask8 __A, __mmask8 __B, unsigned char *__C)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_mask_andnot_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvttps_epi64(__m256 __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_cvtepi64_pd(__mmask8 __U, __m512i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_maskz_or_ps(__mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtpd_epi64(__m512i __W, __mmask8 __U, __m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_mullo_epi64(__mmask8 __U, __m512i __A, __m512i __B)
static __inline__ void __DEFAULT_FN_ATTRS _store_mask8(__mmask8 *__A, __mmask8 __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcast_f32x8(__m256 __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortestz_mask8_u8(__mmask8 __A, __mmask8 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvttpd_epu64(__m512i __W, __mmask8 __U, __m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvttps_epi64(__m512i __W, __mmask8 __U, __m256 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtpd_epi64(__mmask8 __U, __m512d __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcast_f64x2(__m128d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvttps_epu64(__m512i __W, __mmask8 __U, __m256 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtps_epu64(__mmask8 __U, __m256 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_mullo_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
static __inline__ __m256 __DEFAULT_FN_ATTRS512 _mm512_mask_cvtepi64_ps(__m256 __W, __mmask8 __U, __m512i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _kadd_mask16(__mmask16 __A, __mmask16 __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcast_i32x2(__mmask16 __M, __m128i __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_or_pd(__m512d __A, __m512d __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _cvtu32_mask8(unsigned int __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_maskz_and_pd(__mmask8 __U, __m512d __A, __m512d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A)
static __inline__ __m256 __DEFAULT_FN_ATTRS512 _mm512_cvtepu64_ps(__m512i __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_cvtepu64_pd(__mmask8 __U, __m512i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS512 _mm512_movepi32_mask(__m512i __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestc_mask16_u8(__mmask16 __A, __mmask16 __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_maskz_or_pd(__mmask8 __U, __m512d __A, __m512d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvtps_epu64(__m256 __A)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _kor_mask8(__mmask8 __A, __mmask8 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_mask_xor_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m256 __DEFAULT_FN_ATTRS512 _mm512_mask_cvtepu64_ps(__m256 __W, __mmask8 __U, __m512i __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_mask_and_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtps_epi64(__mmask8 __U, __m256 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcast_i32x8(__m256i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_mask_and_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtepi64_pd(__m512i __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestz_mask8_u8(__mmask8 __A, __mmask8 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_maskz_andnot_pd(__mmask8 __U, __m512d __A, __m512d __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_maskz_and_ps(__mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtps_epu64(__m512i __W, __mmask8 __U, __m256 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_broadcast_i32x2(__m512i __O, __mmask16 __M, __m128i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_movm_epi32(__mmask16 __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_mask_broadcast_f32x2(__m512 __O, __mmask16 __M, __m128 __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestz_mask16_u8(__mmask16 __A, __mmask16 __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortest_mask8_u8(__mmask8 __A, __mmask8 __B, unsigned char *__C)
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_and_ps(__m512 __A, __m512 __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_cvtepi64_pd(__m512d __W, __mmask8 __U, __m512i __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestc_mask8_u8(__mmask8 __A, __mmask8 __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _kxor_mask8(__mmask8 __A, __mmask8 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvttpd_epu64(__mmask8 __U, __m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvttpd_epi64(__m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvtps_epi64(__m256 __A)
static __inline__ __m256 __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtepu64_ps(__mmask8 __U, __m512i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_maskz_xor_ps(__mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtps_epi64(__m512i __W, __mmask8 __U, __m256 __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_mask_or_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvtpd_epu64(__m512d __A)
static __inline__ unsigned int __DEFAULT_FN_ATTRS _cvtmask8_u32(__mmask8 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvttpd_epi64(__mmask8 __U, __m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvttps_epi64(__mmask8 __U, __m256 __A)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _kand_mask8(__mmask8 __A, __mmask8 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvttps_epu64(__m256 __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_andnot_ps(__m512 __A, __m512 __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _kxnor_mask8(__mmask8 __A, __mmask8 __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_maskz_xor_pd(__mmask8 __U, __m512d __A, __m512d __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktest_mask16_u8(__mmask16 __A, __mmask16 __B, unsigned char *__C)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_mask_or_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_or_ps(__m512 __A, __m512 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtpd_epu64(__m512i __W, __mmask8 __U, __m512d __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtepu64_pd(__m512i __A)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS512 _mm512_movepi64_mask(__m512i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcast_f32x8(__mmask16 __M, __m256 __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcast_f32x2(__m128 __A)
static __inline __mmask8 __DEFAULT_FN_ATTRS _knot_mask8(__mmask8 __M)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcast_i64x2(__m128i __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_andnot_pd(__m512d __A, __m512d __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortestc_mask8_u8(__mmask8 __A, __mmask8 __B)
static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setzero_pd(void)
unsigned char __mmask8
static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setzero_ps(void)
unsigned short __mmask16
#define _MM_FROUND_CUR_DIRECTION
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setzero_si512(void)
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_setzero_ps(void)
Constructs a 256-bit floating-point vector of [8 x float] with all vector elements initialized to zer...
Definition avxintrin.h:4328