25 #error "Never use <avx512dqintrin.h> directly; include <immintrin.h> instead."
28 #ifndef __AVX512DQINTRIN_H
29 #define __AVX512DQINTRIN_H
32 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512dq")))
35 _mm512_mullo_epi64 (__m512i __A, __m512i __B) {
36 return (__m512i) ((__v8di) __A * (__v8di) __B);
40 _mm512_mask_mullo_epi64 (__m512i __W,
__mmask8 __U, __m512i __A, __m512i __B) {
41 return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
48 _mm512_maskz_mullo_epi64 (
__mmask8 __U, __m512i __A, __m512i __B) {
49 return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
52 _mm512_setzero_si512 (),
57 _mm512_xor_pd (__m512d __A, __m512d __B) {
58 return (__m512d) ((__v8di) __A ^ (__v8di) __B);
62 _mm512_mask_xor_pd (__m512d __W,
__mmask8 __U, __m512d __A, __m512d __B) {
63 return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
70 _mm512_maskz_xor_pd (
__mmask8 __U, __m512d __A, __m512d __B) {
71 return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
79 _mm512_xor_ps (__m512 __A, __m512 __B) {
80 return (__m512) ((__v16si) __A ^ (__v16si) __B);
84 _mm512_mask_xor_ps (__m512 __W,
__mmask16 __U, __m512 __A, __m512 __B) {
85 return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
92 _mm512_maskz_xor_ps (
__mmask16 __U, __m512 __A, __m512 __B) {
93 return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
101 _mm512_or_pd (__m512d __A, __m512d __B) {
102 return (__m512d) ((__v8di) __A | (__v8di) __B);
106 _mm512_mask_or_pd (__m512d __W,
__mmask8 __U, __m512d __A, __m512d __B) {
107 return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
114 _mm512_maskz_or_pd (
__mmask8 __U, __m512d __A, __m512d __B) {
115 return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
118 _mm512_setzero_pd (),
123 _mm512_or_ps (__m512 __A, __m512 __B) {
124 return (__m512) ((__v16si) __A | (__v16si) __B);
128 _mm512_mask_or_ps (__m512 __W,
__mmask16 __U, __m512 __A, __m512 __B) {
129 return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
136 _mm512_maskz_or_ps (
__mmask16 __U, __m512 __A, __m512 __B) {
137 return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
140 _mm512_setzero_ps (),
145 _mm512_and_pd (__m512d __A, __m512d __B) {
146 return (__m512d) ((__v8di) __A & (__v8di) __B);
150 _mm512_mask_and_pd (__m512d __W,
__mmask8 __U, __m512d __A, __m512d __B) {
151 return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
158 _mm512_maskz_and_pd (
__mmask8 __U, __m512d __A, __m512d __B) {
159 return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
162 _mm512_setzero_pd (),
167 _mm512_and_ps (__m512 __A, __m512 __B) {
168 return (__m512) ((__v16si) __A & (__v16si) __B);
172 _mm512_mask_and_ps (__m512 __W,
__mmask16 __U, __m512 __A, __m512 __B) {
173 return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
180 _mm512_maskz_and_ps (
__mmask16 __U, __m512 __A, __m512 __B) {
181 return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
184 _mm512_setzero_ps (),
189 _mm512_andnot_pd (__m512d __A, __m512d __B) {
190 return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
193 _mm512_setzero_pd (),
198 _mm512_mask_andnot_pd (__m512d __W,
__mmask8 __U, __m512d __A, __m512d __B) {
199 return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
206 _mm512_maskz_andnot_pd (
__mmask8 __U, __m512d __A, __m512d __B) {
207 return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
210 _mm512_setzero_pd (),
215 _mm512_andnot_ps (__m512 __A, __m512 __B) {
216 return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
219 _mm512_setzero_ps (),
224 _mm512_mask_andnot_ps (__m512 __W,
__mmask16 __U, __m512 __A, __m512 __B) {
225 return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
232 _mm512_maskz_andnot_ps (
__mmask16 __U, __m512 __A, __m512 __B) {
233 return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
236 _mm512_setzero_ps (),
241 _mm512_cvtpd_epi64 (__m512d __A) {
242 return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
243 (__v8di) _mm512_setzero_si512(),
249 _mm512_mask_cvtpd_epi64 (__m512i __W,
__mmask8 __U, __m512d __A) {
250 return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
257 _mm512_maskz_cvtpd_epi64 (
__mmask8 __U, __m512d __A) {
258 return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
259 (__v8di) _mm512_setzero_si512(),
264 #define _mm512_cvt_roundpd_epi64(__A, __R) __extension__ ({ \
265 (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, \
266 (__v8di) _mm512_setzero_si512(), (__mmask8) -1, __R);})
268 #define _mm512_mask_cvt_roundpd_epi64(__W, __U, __A, __R) __extension__ ({ \
269 (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, \
270 (__v8di) __W, (__mmask8) __U, __R);})
272 #define _mm512_maskz_cvt_roundpd_epi64(__U, __A, __R) __extension__ ({ \
273 (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A, \
274 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R); })
277 _mm512_cvtpd_epu64 (__m512d __A) {
278 return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
279 (__v8di) _mm512_setzero_si512(),
285 _mm512_mask_cvtpd_epu64 (__m512i __W,
__mmask8 __U, __m512d __A) {
286 return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
293 _mm512_maskz_cvtpd_epu64 (
__mmask8 __U, __m512d __A) {
294 return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
295 (__v8di) _mm512_setzero_si512(),
300 #define _mm512_cvt_roundpd_epu64(__A, __R) __extension__ ({ \
301 (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, \
302 (__v8di) _mm512_setzero_si512(), (__mmask8) -1, __R);})
304 #define _mm512_mask_cvt_roundpd_epu64(__W, __U, __A, __R) __extension__ ({ \
305 (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, \
306 (__v8di) __W, (__mmask8) __U, __R);})
308 #define _mm512_maskz_cvt_roundpd_epu64(__U, __A, __R) __extension__ ({ \
309 (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A, \
310 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R);})
313 _mm512_cvtps_epi64 (__m256 __A) {
314 return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
315 (__v8di) _mm512_setzero_si512(),
321 _mm512_mask_cvtps_epi64 (__m512i __W,
__mmask8 __U, __m256 __A) {
322 return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
329 _mm512_maskz_cvtps_epi64 (
__mmask8 __U, __m256 __A) {
330 return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
331 (__v8di) _mm512_setzero_si512(),
336 #define _mm512_cvt_roundps_epi64(__A, __R) __extension__ ({ \
337 (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, \
338 (__v8di) _mm512_setzero_si512(), (__mmask8) -1, __R);})
340 #define _mm512_mask_cvt_roundps_epi64(__W, __U, __A, __R) __extension__ ({ \
341 (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, \
342 (__v8di) __W, (__mmask8) __U, __R);})
344 #define _mm512_maskz_cvt_roundps_epi64(__U, __A, __R) __extension__ ({ \
345 (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A, \
346 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R);})
349 _mm512_cvtps_epu64 (__m256 __A) {
350 return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
351 (__v8di) _mm512_setzero_si512(),
357 _mm512_mask_cvtps_epu64 (__m512i __W,
__mmask8 __U, __m256 __A) {
358 return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
365 _mm512_maskz_cvtps_epu64 (
__mmask8 __U, __m256 __A) {
366 return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
367 (__v8di) _mm512_setzero_si512(),
372 #define _mm512_cvt_roundps_epu64(__A, __R) __extension__ ({ \
373 (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, \
374 (__v8di) _mm512_setzero_si512(), (__mmask8) -1, __R);})
376 #define _mm512_mask_cvt_roundps_epu64(__W, __U, __A, __R) __extension__ ({ \
377 (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, \
378 (__v8di) __W, (__mmask8) __U, __R);})
380 #define _mm512_maskz_cvt_roundps_epu64(__U, __A, __R) __extension__ ({ \
381 (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A, \
382 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R);})
386 _mm512_cvtepi64_pd (__m512i __A) {
387 return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
388 (__v8df) _mm512_setzero_pd(),
394 _mm512_mask_cvtepi64_pd (__m512d __W,
__mmask8 __U, __m512i __A) {
395 return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
402 _mm512_maskz_cvtepi64_pd (
__mmask8 __U, __m512i __A) {
403 return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
404 (__v8df) _mm512_setzero_pd(),
409 #define _mm512_cvt_roundepi64_pd(__A, __R) __extension__ ({ \
410 (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, \
411 (__v8df) _mm512_setzero_pd(), (__mmask8) -1, __R);})
413 #define _mm512_mask_cvt_roundepi64_pd(__W, __U, __A, __R) __extension__ ({ \
414 (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, \
415 (__v8df) __W, (__mmask8) __U, __R);})
417 #define _mm512_maskz_cvt_roundepi64_pd(__U, __A, __R) __extension__ ({ \
418 (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A, \
419 (__v8df) _mm512_setzero_pd(), (__mmask8) __U, __R);})
422 _mm512_cvtepi64_ps (__m512i __A) {
423 return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
424 (__v8sf) _mm256_setzero_ps(),
430 _mm512_mask_cvtepi64_ps (__m256 __W,
__mmask8 __U, __m512i __A) {
431 return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
438 _mm512_maskz_cvtepi64_ps (
__mmask8 __U, __m512i __A) {
439 return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
440 (__v8sf) _mm256_setzero_ps(),
445 #define _mm512_cvt_roundepi64_ps(__A, __R) __extension__ ({ \
446 (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, \
447 (__v8sf) _mm256_setzero_ps(), (__mmask8) -1, __R);})
449 #define _mm512_mask_cvt_roundepi64_ps(__W, __U, __A, __R) __extension__ ({ \
450 (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, \
451 (__v8sf) __W, (__mmask8) __U, __R);})
453 #define _mm512_maskz_cvt_roundepi64_ps(__U, __A, __R) __extension__ ({ \
454 (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A, \
455 (__v8sf) _mm256_setzero_ps(), (__mmask8) __U, __R);})
459 _mm512_cvttpd_epi64 (__m512d __A) {
460 return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
461 (__v8di) _mm512_setzero_si512(),
467 _mm512_mask_cvttpd_epi64 (__m512i __W,
__mmask8 __U, __m512d __A) {
468 return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
475 _mm512_maskz_cvttpd_epi64 (
__mmask8 __U, __m512d __A) {
476 return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
477 (__v8di) _mm512_setzero_si512(),
482 #define _mm512_cvtt_roundpd_epi64(__A, __R) __extension__ ({ \
483 (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, \
484 (__v8di) _mm512_setzero_si512(), (__mmask8) -1, __R);})
486 #define _mm512_mask_cvtt_roundpd_epi64(__W, __U, __A, __R) __extension__ ({ \
487 (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, \
488 (__v8di) __W, (__mmask8) __U, __R);})
490 #define _mm512_maskz_cvtt_roundpd_epi64(__U, __A, __R) __extension__ ({ \
491 (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A, \
492 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R);})
495 _mm512_cvttpd_epu64 (__m512d __A) {
496 return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
497 (__v8di) _mm512_setzero_si512(),
503 _mm512_mask_cvttpd_epu64 (__m512i __W,
__mmask8 __U, __m512d __A) {
504 return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
511 _mm512_maskz_cvttpd_epu64 (
__mmask8 __U, __m512d __A) {
512 return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
513 (__v8di) _mm512_setzero_si512(),
518 #define _mm512_cvtt_roundpd_epu64(__A, __R) __extension__ ({ \
519 (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, \
520 (__v8di) _mm512_setzero_si512(), (__mmask8) -1, __R);})
522 #define _mm512_mask_cvtt_roundpd_epu64(__W, __U, __A, __R) __extension__ ({ \
523 (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, \
524 (__v8di) __W, (__mmask8) __U, __R);})
526 #define _mm512_maskz_cvtt_roundpd_epu64(__U, __A, __R) __extension__ ({ \
527 (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A, \
528 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R);})
531 _mm512_cvttps_epi64 (__m256 __A) {
532 return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
533 (__v8di) _mm512_setzero_si512(),
539 _mm512_mask_cvttps_epi64 (__m512i __W,
__mmask8 __U, __m256 __A) {
540 return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
547 _mm512_maskz_cvttps_epi64 (
__mmask8 __U, __m256 __A) {
548 return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
549 (__v8di) _mm512_setzero_si512(),
554 #define _mm512_cvtt_roundps_epi64(__A, __R) __extension__ ({ \
555 (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, \
556 (__v8di) _mm512_setzero_si512(), (__mmask8) -1, __R);})
558 #define _mm512_mask_cvtt_roundps_epi64(__W, __U, __A, __R) __extension__ ({ \
559 (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, \
560 (__v8di) __W, (__mmask8) __U, __R);})
562 #define _mm512_maskz_cvtt_roundps_epi64(__U, __A, __R) __extension__ ({ \
563 (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A, \
564 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R);})
567 _mm512_cvttps_epu64 (__m256 __A) {
568 return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
569 (__v8di) _mm512_setzero_si512(),
575 _mm512_mask_cvttps_epu64 (__m512i __W,
__mmask8 __U, __m256 __A) {
576 return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
583 _mm512_maskz_cvttps_epu64 (
__mmask8 __U, __m256 __A) {
584 return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
585 (__v8di) _mm512_setzero_si512(),
590 #define _mm512_cvtt_roundps_epu64(__A, __R) __extension__ ({ \
591 (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, \
592 (__v8di) _mm512_setzero_si512(),(__mmask8) -1, __R);})
594 #define _mm512_mask_cvtt_roundps_epu64(__W, __U, __A, __R) __extension__ ({ \
595 (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, \
596 (__v8di) __W, (__mmask8) __U, __R);})
598 #define _mm512_maskz_cvtt_roundps_epu64(__U, __A, __R) __extension__ ({ \
599 (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A, \
600 (__v8di) _mm512_setzero_si512(), (__mmask8) __U, __R);})
603 _mm512_cvtepu64_pd (__m512i __A) {
604 return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
605 (__v8df) _mm512_setzero_pd(),
611 _mm512_mask_cvtepu64_pd (__m512d __W,
__mmask8 __U, __m512i __A) {
612 return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
619 _mm512_maskz_cvtepu64_pd (
__mmask8 __U, __m512i __A) {
620 return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
621 (__v8df) _mm512_setzero_pd(),
626 #define _mm512_cvt_roundepu64_pd(__A, __R) __extension__ ({ \
627 (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, \
628 (__v8df) _mm512_setzero_pd(), (__mmask8) -1, __R);})
630 #define _mm512_mask_cvt_roundepu64_pd(__W, __U, __A, __R) __extension__ ({ \
631 (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, \
632 (__v8df) __W, (__mmask8) __U, __R);})
635 #define _mm512_maskz_cvt_roundepu64_pd(__U, __A, __R) __extension__ ({ \
636 (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A, \
637 (__v8df) _mm512_setzero_pd(), (__mmask8) __U, __R);})
641 _mm512_cvtepu64_ps (__m512i __A) {
642 return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
643 (__v8sf) _mm256_setzero_ps(),
649 _mm512_mask_cvtepu64_ps (__m256 __W,
__mmask8 __U, __m512i __A) {
650 return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
657 _mm512_maskz_cvtepu64_ps (
__mmask8 __U, __m512i __A) {
658 return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
659 (__v8sf) _mm256_setzero_ps(),
664 #define _mm512_cvt_roundepu64_ps(__A, __R) __extension__ ({ \
665 (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, \
666 (__v8sf) _mm256_setzero_ps(), (__mmask8) -1, __R);})
668 #define _mm512_mask_cvt_roundepu64_ps(__W, __U, __A, __R) __extension__ ({ \
669 (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, \
670 (__v8sf) __W, (__mmask8) __U, __R);})
672 #define _mm512_maskz_cvt_roundepu64_ps(__U, __A, __R) __extension__ ({ \
673 (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A, \
674 (__v8sf) _mm256_setzero_ps(), (__mmask8) __U, __R);})
676 #define _mm512_range_pd(__A, __B, __C) __extension__ ({ \
677 (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C,\
678 (__v8df) _mm512_setzero_pd(), (__mmask8) -1, \
679 _MM_FROUND_CUR_DIRECTION);})
681 #define _mm512_mask_range_pd(__W, __U, __A, __B, __C) __extension__ ({ \
682 (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C,\
683 (__v8df) __W, (__mmask8) __U, _MM_FROUND_CUR_DIRECTION);})
685 #define _mm512_maskz_range_pd(__U, __A, __B, __C) __extension__ ({ \
686 (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, \
687 (__v8df) _mm512_setzero_pd(), (__mmask8) __U, \
688 _MM_FROUND_CUR_DIRECTION);})
690 #define _mm512_range_round_pd(__A, __B, __C, __R) __extension__ ({ \
691 (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, \
692 (__v8df) _mm512_setzero_pd(), (__mmask8) -1, __R);})
694 #define _mm512_mask_range_round_pd(__W, __U, __A, __B, __C, __R) __extension__ ({ \
695 (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, \
696 (__v8df) __W, (__mmask8) __U, __R);})
698 #define _mm512_maskz_range_round_pd(__U, __A, __B, __C, __R) __extension__ ({ \
699 (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A, (__v8df) __B, __C, \
700 (__v8df) _mm512_setzero_pd(), (__mmask8) __U, __R);})
702 #define _mm512_range_ps(__A, __B, __C) __extension__ ({ \
703 (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, __C, \
704 (__v16sf) _mm512_setzero_ps(), (__mmask16) -1, \
705 _MM_FROUND_CUR_DIRECTION);})
707 #define _mm512_mask_range_ps(__W, __U, __A, __B, __C) __extension__ ({ \
708 (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, \
709 __C, (__v16sf) __W, (__mmask16) __U, _MM_FROUND_CUR_DIRECTION);})
711 #define _mm512_maskz_range_ps(__U, __A, __B, __C) __extension__ ({ \
712 (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,(__v16sf) __B, \
713 __C, (__v16sf) _mm512_setzero_ps(), (__mmask16) __U, \
714 _MM_FROUND_CUR_DIRECTION);})
716 #define _mm512_range_round_ps(__A, __B, __C, __R) __extension__ ({ \
717 (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, \
718 __C, (__v16sf) _mm512_setzero_ps(), (__mmask16) -1, __R);})
720 #define _mm512_mask_range_round_ps(__W, __U, __A, __B, __C, __R) __extension__ ({ \
721 (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, \
722 __C, (__v16sf) __W, (__mmask16) __U, __R);})
724 #define _mm512_maskz_range_round_ps(__U, __A, __B, __C, __R) __extension__ ({ \
725 (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A, (__v16sf) __B, \
726 __C, (__v16sf) _mm512_setzero_ps(), (__mmask16) __U, __R);})
728 #define _mm512_reduce_pd(__A, __B) __extension__ ({ \
729 (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, \
730 (__v8df) _mm512_setzero_pd(), (__mmask8) -1, _MM_FROUND_CUR_DIRECTION);})
732 #define _mm512_mask_reduce_pd(__W, __U, __A, __B) __extension__ ({ \
733 (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, \
734 (__v8df) __W,(__mmask8) __U, _MM_FROUND_CUR_DIRECTION);})
736 #define _mm512_maskz_reduce_pd(__U, __A, __B) __extension__ ({ \
737 (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, \
738 (__v8df) _mm512_setzero_pd(), (__mmask8) __U, _MM_FROUND_CUR_DIRECTION);})
740 #define _mm512_reduce_ps(__A, __B) __extension__ ({ \
741 (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, \
742 (__v16sf) _mm512_setzero_ps(), (__mmask16) -1, _MM_FROUND_CUR_DIRECTION);})
744 #define _mm512_mask_reduce_ps(__W, __U, __A, __B) __extension__ ({ \
745 (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, \
746 (__v16sf) __W, (__mmask16) __U, _MM_FROUND_CUR_DIRECTION);})
748 #define _mm512_maskz_reduce_ps(__U, __A, __B) __extension__ ({ \
749 (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, \
750 (__v16sf) _mm512_setzero_ps(), (__mmask16) __U, _MM_FROUND_CUR_DIRECTION);})
752 #define _mm512_reduce_round_pd(__A, __B, __R) __extension__ ({\
753 (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, \
754 (__v8df) _mm512_setzero_pd(), (__mmask8) -1, __R);})
756 #define _mm512_mask_reduce_round_pd(__W, __U, __A, __B, __R) __extension__ ({\
757 (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, \
758 (__v8df) __W,(__mmask8) __U, __R);})
760 #define _mm512_maskz_reduce_round_pd(__U, __A, __B, __R) __extension__ ({\
761 (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B, \
762 (__v8df) _mm512_setzero_pd(), (__mmask8) __U, __R);})
764 #define _mm512_reduce_round_ps(__A, __B, __R) __extension__ ({\
765 (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, \
766 (__v16sf) _mm512_setzero_ps(), (__mmask16) -1, __R);})
768 #define _mm512_mask_reduce_round_ps(__W, __U, __A, __B, __R) __extension__ ({\
769 (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, \
770 (__v16sf) __W, (__mmask16) __U, __R);})
772 #define _mm512_maskz_reduce_round_ps(__U, __A, __B, __R) __extension__ ({\
773 (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B, \
774 (__v16sf) _mm512_setzero_ps(), (__mmask16) __U, __R);})
776 #undef __DEFAULT_FN_ATTRS
unsigned char __mmask8
Definition: avx512fintrin.h:39
#define __DEFAULT_FN_ATTRS
Definition: avx512dqintrin.h:32
#define _MM_FROUND_CUR_DIRECTION
Definition: avx512fintrin.h:47
unsigned short __mmask16
Definition: avx512fintrin.h:40