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