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