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
128 return (unsigned int)__builtin_ia32_kmovb((__mmask8)__A);
129}
130
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
1051 return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A);
1052}
1053
1054static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1056 return (__m512i) __builtin_ia32_cvtmask2d512 (__A);
1057}
1058
1059static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1061 return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
1062}
1063
1066 return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A);
1067}
1068
1069static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1071 return (__m512)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
1072 0, 1, 0, 1, 0, 1, 0, 1,
1073 0, 1, 0, 1, 0, 1, 0, 1);
1074}
1075
1076static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1077_mm512_mask_broadcast_f32x2(__m512 __O, __mmask16 __M, __m128 __A) {
1078 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1079 (__v16sf)_mm512_broadcast_f32x2(__A),
1080 (__v16sf)__O);
1081}
1082
1083static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1085 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1086 (__v16sf)_mm512_broadcast_f32x2(__A),
1087 (__v16sf)_mm512_setzero_ps());
1088}
1089
1090static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1092 return (__m512)__builtin_shufflevector((__v8sf)__A, (__v8sf)__A,
1093 0, 1, 2, 3, 4, 5, 6, 7,
1094 0, 1, 2, 3, 4, 5, 6, 7);
1095}
1096
1097static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1098_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A) {
1099 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1100 (__v16sf)_mm512_broadcast_f32x8(__A),
1101 (__v16sf)__O);
1102}
1103
1104static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1106 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
1107 (__v16sf)_mm512_broadcast_f32x8(__A),
1108 (__v16sf)_mm512_setzero_ps());
1109}
1110
1111static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1113 return (__m512d)__builtin_shufflevector((__v2df)__A, (__v2df)__A,
1114 0, 1, 0, 1, 0, 1, 0, 1);
1115}
1116
1117static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1118_mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A) {
1119 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__M,
1120 (__v8df)_mm512_broadcast_f64x2(__A),
1121 (__v8df)__O);
1122}
1123
1124static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1126 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__M,
1127 (__v8df)_mm512_broadcast_f64x2(__A),
1128 (__v8df)_mm512_setzero_pd());
1129}
1130
1131static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1133 return (__m512i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
1134 0, 1, 0, 1, 0, 1, 0, 1,
1135 0, 1, 0, 1, 0, 1, 0, 1);
1136}
1137
1138static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1139_mm512_mask_broadcast_i32x2(__m512i __O, __mmask16 __M, __m128i __A) {
1140 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1141 (__v16si)_mm512_broadcast_i32x2(__A),
1142 (__v16si)__O);
1143}
1144
1145static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1147 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1148 (__v16si)_mm512_broadcast_i32x2(__A),
1149 (__v16si)_mm512_setzero_si512());
1150}
1151
1152static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1154 return (__m512i)__builtin_shufflevector((__v8si)__A, (__v8si)__A,
1155 0, 1, 2, 3, 4, 5, 6, 7,
1156 0, 1, 2, 3, 4, 5, 6, 7);
1157}
1158
1159static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1160_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A) {
1161 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1162 (__v16si)_mm512_broadcast_i32x8(__A),
1163 (__v16si)__O);
1164}
1165
1166static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1168 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
1169 (__v16si)_mm512_broadcast_i32x8(__A),
1170 (__v16si)_mm512_setzero_si512());
1171}
1172
1173static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1175 return (__m512i)__builtin_shufflevector((__v2di)__A, (__v2di)__A,
1176 0, 1, 0, 1, 0, 1, 0, 1);
1177}
1178
1179static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1180_mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A) {
1181 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1182 (__v8di)_mm512_broadcast_i64x2(__A),
1183 (__v8di)__O);
1184}
1185
1186static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1188 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
1189 (__v8di)_mm512_broadcast_i64x2(__A),
1190 (__v8di)_mm512_setzero_si512());
1191}
1192
1193#define _mm512_extractf32x8_ps(A, imm) \
1194 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1195 (__v8sf)_mm256_setzero_ps(), \
1196 (__mmask8) - 1))
1197
1198#define _mm512_mask_extractf32x8_ps(W, U, A, imm) \
1199 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1200 (__v8sf)(__m256)(W), \
1201 (__mmask8)(U)))
1202
1203#define _mm512_maskz_extractf32x8_ps(U, A, imm) \
1204 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1205 (__v8sf)_mm256_setzero_ps(), \
1206 (__mmask8)(U)))
1207
1208#define _mm512_extractf64x2_pd(A, imm) \
1209 ((__m128d)__builtin_ia32_extractf64x2_512_mask( \
1210 (__v8df)(__m512d)(A), (int)(imm), (__v2df)_mm_setzero_pd(), \
1211 (__mmask8) - 1))
1212
1213#define _mm512_mask_extractf64x2_pd(W, U, A, imm) \
1214 ((__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1215 (int)(imm), \
1216 (__v2df)(__m128d)(W), \
1217 (__mmask8)(U)))
1218
1219#define _mm512_maskz_extractf64x2_pd(U, A, imm) \
1220 ((__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1221 (int)(imm), \
1222 (__v2df)_mm_setzero_pd(), \
1223 (__mmask8)(U)))
1224
1225#define _mm512_extracti32x8_epi32(A, imm) \
1226 ((__m256i)__builtin_ia32_extracti32x8_mask( \
1227 (__v16si)(__m512i)(A), (int)(imm), (__v8si)_mm256_setzero_si256(), \
1228 (__mmask8) - 1))
1229
1230#define _mm512_mask_extracti32x8_epi32(W, U, A, imm) \
1231 ((__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1232 (__v8si)(__m256i)(W), \
1233 (__mmask8)(U)))
1234
1235#define _mm512_maskz_extracti32x8_epi32(U, A, imm) \
1236 ((__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1237 (__v8si)_mm256_setzero_si256(), \
1238 (__mmask8)(U)))
1239
1240#define _mm512_extracti64x2_epi64(A, imm) \
1241 ((__m128i)__builtin_ia32_extracti64x2_512_mask( \
1242 (__v8di)(__m512i)(A), (int)(imm), (__v2di)_mm_setzero_si128(), \
1243 (__mmask8) - 1))
1244
1245#define _mm512_mask_extracti64x2_epi64(W, U, A, imm) \
1246 ((__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1247 (int)(imm), \
1248 (__v2di)(__m128i)(W), \
1249 (__mmask8)(U)))
1250
1251#define _mm512_maskz_extracti64x2_epi64(U, A, imm) \
1252 ((__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1253 (int)(imm), \
1254 (__v2di)_mm_setzero_si128(), \
1255 (__mmask8)(U)))
1256
1257#define _mm512_insertf32x8(A, B, imm) \
1258 ((__m512)__builtin_ia32_insertf32x8((__v16sf)(__m512)(A), \
1259 (__v8sf)(__m256)(B), (int)(imm)))
1260
1261#define _mm512_mask_insertf32x8(W, U, A, B, imm) \
1262 ((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
1263 (__v16sf)_mm512_insertf32x8((A), (B), (imm)), \
1264 (__v16sf)(__m512)(W)))
1265
1266#define _mm512_maskz_insertf32x8(U, A, B, imm) \
1267 ((__m512)__builtin_ia32_selectps_512((__mmask16)(U), \
1268 (__v16sf)_mm512_insertf32x8((A), (B), (imm)), \
1269 (__v16sf)_mm512_setzero_ps()))
1270
1271#define _mm512_insertf64x2(A, B, imm) \
1272 ((__m512d)__builtin_ia32_insertf64x2_512((__v8df)(__m512d)(A), \
1273 (__v2df)(__m128d)(B), (int)(imm)))
1274
1275#define _mm512_mask_insertf64x2(W, U, A, B, imm) \
1276 ((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
1277 (__v8df)_mm512_insertf64x2((A), (B), (imm)), \
1278 (__v8df)(__m512d)(W)))
1279
1280#define _mm512_maskz_insertf64x2(U, A, B, imm) \
1281 ((__m512d)__builtin_ia32_selectpd_512((__mmask8)(U), \
1282 (__v8df)_mm512_insertf64x2((A), (B), (imm)), \
1283 (__v8df)_mm512_setzero_pd()))
1284
1285#define _mm512_inserti32x8(A, B, imm) \
1286 ((__m512i)__builtin_ia32_inserti32x8((__v16si)(__m512i)(A), \
1287 (__v8si)(__m256i)(B), (int)(imm)))
1288
1289#define _mm512_mask_inserti32x8(W, U, A, B, imm) \
1290 ((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
1291 (__v16si)_mm512_inserti32x8((A), (B), (imm)), \
1292 (__v16si)(__m512i)(W)))
1293
1294#define _mm512_maskz_inserti32x8(U, A, B, imm) \
1295 ((__m512i)__builtin_ia32_selectd_512((__mmask16)(U), \
1296 (__v16si)_mm512_inserti32x8((A), (B), (imm)), \
1297 (__v16si)_mm512_setzero_si512()))
1298
1299#define _mm512_inserti64x2(A, B, imm) \
1300 ((__m512i)__builtin_ia32_inserti64x2_512((__v8di)(__m512i)(A), \
1301 (__v2di)(__m128i)(B), (int)(imm)))
1302
1303#define _mm512_mask_inserti64x2(W, U, A, B, imm) \
1304 ((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
1305 (__v8di)_mm512_inserti64x2((A), (B), (imm)), \
1306 (__v8di)(__m512i)(W)))
1307
1308#define _mm512_maskz_inserti64x2(U, A, B, imm) \
1309 ((__m512i)__builtin_ia32_selectq_512((__mmask8)(U), \
1310 (__v8di)_mm512_inserti64x2((A), (B), (imm)), \
1311 (__v8di)_mm512_setzero_si512()))
1312
1313#define _mm512_mask_fpclass_ps_mask(U, A, imm) \
1314 ((__mmask16)__builtin_ia32_fpclassps512_mask((__v16sf)(__m512)(A), \
1315 (int)(imm), (__mmask16)(U)))
1316
1317#define _mm512_fpclass_ps_mask(A, imm) \
1318 ((__mmask16)__builtin_ia32_fpclassps512_mask((__v16sf)(__m512)(A), \
1319 (int)(imm), (__mmask16)-1))
1320
1321#define _mm512_mask_fpclass_pd_mask(U, A, imm) \
1322 ((__mmask8)__builtin_ia32_fpclasspd512_mask((__v8df)(__m512d)(A), (int)(imm), \
1323 (__mmask8)(U)))
1324
1325#define _mm512_fpclass_pd_mask(A, imm) \
1326 ((__mmask8)__builtin_ia32_fpclasspd512_mask((__v8df)(__m512d)(A), (int)(imm), \
1327 (__mmask8)-1))
1328
1329#define _mm_fpclass_sd_mask(A, imm) \
1330 ((__mmask8)__builtin_ia32_fpclasssd_mask((__v2df)(__m128d)(A), (int)(imm), \
1331 (__mmask8)-1))
1332
1333#define _mm_mask_fpclass_sd_mask(U, A, imm) \
1334 ((__mmask8)__builtin_ia32_fpclasssd_mask((__v2df)(__m128d)(A), (int)(imm), \
1335 (__mmask8)(U)))
1336
1337#define _mm_fpclass_ss_mask(A, imm) \
1338 ((__mmask8)__builtin_ia32_fpclassss_mask((__v4sf)(__m128)(A), (int)(imm), \
1339 (__mmask8)-1))
1340
1341#define _mm_mask_fpclass_ss_mask(U, A, imm) \
1342 ((__mmask8)__builtin_ia32_fpclassss_mask((__v4sf)(__m128)(A), (int)(imm), \
1343 (__mmask8)(U)))
1344
1345#undef __DEFAULT_FN_ATTRS512
1346#undef __DEFAULT_FN_ATTRS
1347#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
1348#undef __DEFAULT_FN_ATTRS_CONSTEXPR
1349
1350#endif
#define __DEFAULT_FN_ATTRS
#define __DEFAULT_FN_ATTRS512_CONSTEXPR
#define __DEFAULT_FN_ATTRS512
#define __DEFAULT_FN_ATTRS_CONSTEXPR
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__ __mmask8 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_movepi64_mask(__m512i __A)
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__ __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__ __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__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR _cvtu32_mask8(unsigned int __A)
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__ __mmask16 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_movepi32_mask(__m512i __A)
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 __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__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_movm_epi64(__mmask8 __A)
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__ unsigned int __DEFAULT_FN_ATTRS_CONSTEXPR _cvtmask8_u32(__mmask8 __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__ __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__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_movm_epi32(__mmask16 __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:4291