clang  3.7.0
avx512fintrin.h
Go to the documentation of this file.
1 /*===---- avx512fintrin.h - AVX2 intrinsics --------------------------------===
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to deal
5  * in the Software without restriction, including without limitation the rights
6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  * copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in
11  * all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  * THE SOFTWARE.
20  *
21  *===-----------------------------------------------------------------------===
22  */
23 #ifndef __IMMINTRIN_H
24 #error "Never use <avx512fintrin.h> directly; include <immintrin.h> instead."
25 #endif
26 
27 #ifndef __AVX512FINTRIN_H
28 #define __AVX512FINTRIN_H
29 
30 typedef double __v8df __attribute__((__vector_size__(64)));
31 typedef float __v16sf __attribute__((__vector_size__(64)));
32 typedef long long __v8di __attribute__((__vector_size__(64)));
33 typedef int __v16si __attribute__((__vector_size__(64)));
34 
35 typedef float __m512 __attribute__((__vector_size__(64)));
36 typedef double __m512d __attribute__((__vector_size__(64)));
37 typedef long long __m512i __attribute__((__vector_size__(64)));
38 
39 typedef unsigned char __mmask8;
40 typedef unsigned short __mmask16;
41 
42 /* Rounding mode macros. */
43 #define _MM_FROUND_TO_NEAREST_INT 0x00
44 #define _MM_FROUND_TO_NEG_INF 0x01
45 #define _MM_FROUND_TO_POS_INF 0x02
46 #define _MM_FROUND_TO_ZERO 0x03
47 #define _MM_FROUND_CUR_DIRECTION 0x04
48 
49 /* Define the default attributes for the functions in this file. */
50 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
51 
52 /* Create vectors with repeated elements */
53 
54 static __inline __m512i __DEFAULT_FN_ATTRS
56 {
57  return (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
58 }
59 
60 static __inline __m512i __DEFAULT_FN_ATTRS
61 _mm512_maskz_set1_epi32(__mmask16 __M, int __A)
62 {
63  return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A,
64  (__v16si)
66  __M);
67 }
68 
69 static __inline __m512i __DEFAULT_FN_ATTRS
70 _mm512_maskz_set1_epi64(__mmask8 __M, long long __A)
71 {
72 #ifdef __x86_64__
73  return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A,
74  (__v8di)
76  __M);
77 #else
78  return (__m512i) __builtin_ia32_pbroadcastq512_mem_mask (__A,
79  (__v8di)
81  __M);
82 #endif
83 }
84 
85 static __inline __m512 __DEFAULT_FN_ATTRS
87 {
88  return (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
89  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
90 }
91 static __inline __m512d __DEFAULT_FN_ATTRS
93 {
94  return (__m512d){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
95 }
96 
97 static __inline __m512 __DEFAULT_FN_ATTRS
98 _mm512_set1_ps(float __w)
99 {
100  return (__m512){ __w, __w, __w, __w, __w, __w, __w, __w,
101  __w, __w, __w, __w, __w, __w, __w, __w };
102 }
103 
104 static __inline __m512d __DEFAULT_FN_ATTRS
105 _mm512_set1_pd(double __w)
106 {
107  return (__m512d){ __w, __w, __w, __w, __w, __w, __w, __w };
108 }
109 
110 static __inline __m512i __DEFAULT_FN_ATTRS
112 {
113  return (__m512i)(__v16si){ __s, __s, __s, __s, __s, __s, __s, __s,
114  __s, __s, __s, __s, __s, __s, __s, __s };
115 }
116 
117 static __inline __m512i __DEFAULT_FN_ATTRS
118 _mm512_set1_epi64(long long __d)
119 {
120  return (__m512i)(__v8di){ __d, __d, __d, __d, __d, __d, __d, __d };
121 }
122 
123 static __inline__ __m512 __DEFAULT_FN_ATTRS
125 {
126  float __f = __X[0];
127  return (__v16sf){ __f, __f, __f, __f,
128  __f, __f, __f, __f,
129  __f, __f, __f, __f,
130  __f, __f, __f, __f };
131 }
132 
133 static __inline__ __m512d __DEFAULT_FN_ATTRS
135 {
136  double __d = __X[0];
137  return (__v8df){ __d, __d, __d, __d,
138  __d, __d, __d, __d };
139 }
140 
141 /* Cast between vector types */
142 
143 static __inline __m512d __DEFAULT_FN_ATTRS
145 {
146  return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, -1, -1, -1, -1);
147 }
148 
149 static __inline __m512 __DEFAULT_FN_ATTRS
151 {
152  return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7,
153  -1, -1, -1, -1, -1, -1, -1, -1);
154 }
155 
156 static __inline __m128d __DEFAULT_FN_ATTRS
158 {
159  return __builtin_shufflevector(__a, __a, 0, 1);
160 }
161 
162 static __inline __m128 __DEFAULT_FN_ATTRS
164 {
165  return __builtin_shufflevector(__a, __a, 0, 1, 2, 3);
166 }
167 
168 /* Bitwise operators */
169 static __inline__ __m512i __DEFAULT_FN_ATTRS
170 _mm512_and_epi32(__m512i __a, __m512i __b)
171 {
172  return __a & __b;
173 }
174 
175 static __inline__ __m512i __DEFAULT_FN_ATTRS
176 _mm512_mask_and_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
177 {
178  return (__m512i) __builtin_ia32_pandd512_mask((__v16si) __a,
179  (__v16si) __b,
180  (__v16si) __src,
181  (__mmask16) __k);
182 }
183 static __inline__ __m512i __DEFAULT_FN_ATTRS
184 _mm512_maskz_and_epi32(__mmask16 __k, __m512i __a, __m512i __b)
185 {
186  return (__m512i) __builtin_ia32_pandd512_mask((__v16si) __a,
187  (__v16si) __b,
188  (__v16si)
190  (__mmask16) __k);
191 }
192 
193 static __inline__ __m512i __DEFAULT_FN_ATTRS
194 _mm512_and_epi64(__m512i __a, __m512i __b)
195 {
196  return __a & __b;
197 }
198 
199 static __inline__ __m512i __DEFAULT_FN_ATTRS
200 _mm512_mask_and_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
201 {
202  return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __a,
203  (__v8di) __b,
204  (__v8di) __src,
205  (__mmask8) __k);
206 }
207 static __inline__ __m512i __DEFAULT_FN_ATTRS
208 _mm512_maskz_and_epi64(__mmask8 __k, __m512i __a, __m512i __b)
209 {
210  return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __a,
211  (__v8di) __b,
212  (__v8di)
214  (__mmask8) __k);
215 }
216 
217 static __inline__ __m512i __DEFAULT_FN_ATTRS
218 _mm512_andnot_epi32 (__m512i __A, __m512i __B)
219 {
220  return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
221  (__v16si) __B,
222  (__v16si)
224  (__mmask16) -1);
225 }
226 
227 static __inline__ __m512i __DEFAULT_FN_ATTRS
228 _mm512_mask_andnot_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
229 {
230  return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
231  (__v16si) __B,
232  (__v16si) __W,
233  (__mmask16) __U);
234 }
235 
236 static __inline__ __m512i __DEFAULT_FN_ATTRS
237 _mm512_maskz_andnot_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
238 {
239  return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
240  (__v16si) __B,
241  (__v16si)
243  (__mmask16) __U);
244 }
245 
246 static __inline__ __m512i __DEFAULT_FN_ATTRS
247 _mm512_andnot_epi64 (__m512i __A, __m512i __B)
248 {
249  return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
250  (__v8di) __B,
251  (__v8di)
253  (__mmask8) -1);
254 }
255 
256 static __inline__ __m512i __DEFAULT_FN_ATTRS
257 _mm512_mask_andnot_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
258 {
259  return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
260  (__v8di) __B,
261  (__v8di) __W, __U);
262 }
263 
264 static __inline__ __m512i __DEFAULT_FN_ATTRS
265 _mm512_maskz_andnot_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
266 {
267  return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
268  (__v8di) __B,
269  (__v8di)
271  __U);
272 }
273 static __inline__ __m512i __DEFAULT_FN_ATTRS
274 _mm512_or_epi32(__m512i __a, __m512i __b)
275 {
276  return __a | __b;
277 }
278 
279 static __inline__ __m512i __DEFAULT_FN_ATTRS
280 _mm512_mask_or_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
281 {
282  return (__m512i) __builtin_ia32_pord512_mask((__v16si) __a,
283  (__v16si) __b,
284  (__v16si) __src,
285  (__mmask16) __k);
286 }
287 static __inline__ __m512i __DEFAULT_FN_ATTRS
288 _mm512_maskz_or_epi32(__mmask16 __k, __m512i __a, __m512i __b)
289 {
290  return (__m512i) __builtin_ia32_pord512_mask((__v16si) __a,
291  (__v16si) __b,
292  (__v16si)
294  (__mmask16) __k);
295 }
296 
297 static __inline__ __m512i __DEFAULT_FN_ATTRS
298 _mm512_or_epi64(__m512i __a, __m512i __b)
299 {
300  return __a | __b;
301 }
302 
303 static __inline__ __m512i __DEFAULT_FN_ATTRS
304 _mm512_mask_or_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
305 {
306  return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __a,
307  (__v8di) __b,
308  (__v8di) __src,
309  (__mmask8) __k);
310 }
311 static __inline__ __m512i __DEFAULT_FN_ATTRS
312 _mm512_maskz_or_epi64(__mmask8 __k, __m512i __a, __m512i __b)
313 {
314  return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __a,
315  (__v8di) __b,
316  (__v8di)
318  (__mmask8) __k);
319 }
320 
321 static __inline__ __m512i __DEFAULT_FN_ATTRS
322 _mm512_xor_epi32(__m512i __a, __m512i __b)
323 {
324  return __a ^ __b;
325 }
326 
327 static __inline__ __m512i __DEFAULT_FN_ATTRS
328 _mm512_mask_xor_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
329 {
330  return (__m512i) __builtin_ia32_pxord512_mask((__v16si) __a,
331  (__v16si) __b,
332  (__v16si) __src,
333  (__mmask16) __k);
334 }
335 static __inline__ __m512i __DEFAULT_FN_ATTRS
336 _mm512_maskz_xor_epi32(__mmask16 __k, __m512i __a, __m512i __b)
337 {
338  return (__m512i) __builtin_ia32_pxord512_mask((__v16si) __a,
339  (__v16si) __b,
340  (__v16si)
342  (__mmask16) __k);
343 }
344 
345 static __inline__ __m512i __DEFAULT_FN_ATTRS
346 _mm512_xor_epi64(__m512i __a, __m512i __b)
347 {
348  return __a ^ __b;
349 }
350 
351 static __inline__ __m512i __DEFAULT_FN_ATTRS
352 _mm512_mask_xor_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
353 {
354  return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __a,
355  (__v8di) __b,
356  (__v8di) __src,
357  (__mmask8) __k);
358 }
359 static __inline__ __m512i __DEFAULT_FN_ATTRS
360 _mm512_maskz_xor_epi64(__mmask8 __k, __m512i __a, __m512i __b)
361 {
362  return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __a,
363  (__v8di) __b,
364  (__v8di)
366  (__mmask8) __k);
367 }
368 
369 static __inline__ __m512i __DEFAULT_FN_ATTRS
370 _mm512_and_si512(__m512i __a, __m512i __b)
371 {
372  return __a & __b;
373 }
374 
375 static __inline__ __m512i __DEFAULT_FN_ATTRS
376 _mm512_or_si512(__m512i __a, __m512i __b)
377 {
378  return __a | __b;
379 }
380 
381 static __inline__ __m512i __DEFAULT_FN_ATTRS
382 _mm512_xor_si512(__m512i __a, __m512i __b)
383 {
384  return __a ^ __b;
385 }
386 /* Arithmetic */
387 
388 static __inline __m512d __DEFAULT_FN_ATTRS
389 _mm512_add_pd(__m512d __a, __m512d __b)
390 {
391  return __a + __b;
392 }
393 
394 static __inline __m512 __DEFAULT_FN_ATTRS
395 _mm512_add_ps(__m512 __a, __m512 __b)
396 {
397  return __a + __b;
398 }
399 
400 static __inline __m512d __DEFAULT_FN_ATTRS
401 _mm512_mul_pd(__m512d __a, __m512d __b)
402 {
403  return __a * __b;
404 }
405 
406 static __inline __m512 __DEFAULT_FN_ATTRS
407 _mm512_mul_ps(__m512 __a, __m512 __b)
408 {
409  return __a * __b;
410 }
411 
412 static __inline __m512d __DEFAULT_FN_ATTRS
413 _mm512_sub_pd(__m512d __a, __m512d __b)
414 {
415  return __a - __b;
416 }
417 
418 static __inline __m512 __DEFAULT_FN_ATTRS
419 _mm512_sub_ps(__m512 __a, __m512 __b)
420 {
421  return __a - __b;
422 }
423 
424 static __inline__ __m512i __DEFAULT_FN_ATTRS
425 _mm512_add_epi64 (__m512i __A, __m512i __B)
426 {
427  return (__m512i) ((__v8di) __A + (__v8di) __B);
428 }
429 
430 static __inline__ __m512i __DEFAULT_FN_ATTRS
431 _mm512_mask_add_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
432 {
433  return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A,
434  (__v8di) __B,
435  (__v8di) __W,
436  (__mmask8) __U);
437 }
438 
439 static __inline__ __m512i __DEFAULT_FN_ATTRS
440 _mm512_maskz_add_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
441 {
442  return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A,
443  (__v8di) __B,
444  (__v8di)
446  (__mmask8) __U);
447 }
448 
449 static __inline__ __m512i __DEFAULT_FN_ATTRS
450 _mm512_sub_epi64 (__m512i __A, __m512i __B)
451 {
452  return (__m512i) ((__v8di) __A - (__v8di) __B);
453 }
454 
455 static __inline__ __m512i __DEFAULT_FN_ATTRS
456 _mm512_mask_sub_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
457 {
458  return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A,
459  (__v8di) __B,
460  (__v8di) __W,
461  (__mmask8) __U);
462 }
463 
464 static __inline__ __m512i __DEFAULT_FN_ATTRS
465 _mm512_maskz_sub_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
466 {
467  return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A,
468  (__v8di) __B,
469  (__v8di)
471  (__mmask8) __U);
472 }
473 
474 static __inline__ __m512i __DEFAULT_FN_ATTRS
475 _mm512_add_epi32 (__m512i __A, __m512i __B)
476 {
477  return (__m512i) ((__v16si) __A + (__v16si) __B);
478 }
479 
480 static __inline__ __m512i __DEFAULT_FN_ATTRS
481 _mm512_mask_add_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
482 {
483  return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A,
484  (__v16si) __B,
485  (__v16si) __W,
486  (__mmask16) __U);
487 }
488 
489 static __inline__ __m512i __DEFAULT_FN_ATTRS
490 _mm512_maskz_add_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
491 {
492  return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A,
493  (__v16si) __B,
494  (__v16si)
496  (__mmask16) __U);
497 }
498 
499 static __inline__ __m512i __DEFAULT_FN_ATTRS
500 _mm512_sub_epi32 (__m512i __A, __m512i __B)
501 {
502  return (__m512i) ((__v16si) __A - (__v16si) __B);
503 }
504 
505 static __inline__ __m512i __DEFAULT_FN_ATTRS
506 _mm512_mask_sub_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
507 {
508  return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A,
509  (__v16si) __B,
510  (__v16si) __W,
511  (__mmask16) __U);
512 }
513 
514 static __inline__ __m512i __DEFAULT_FN_ATTRS
515 _mm512_maskz_sub_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
516 {
517  return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A,
518  (__v16si) __B,
519  (__v16si)
521  (__mmask16) __U);
522 }
523 
524 static __inline__ __m512d __DEFAULT_FN_ATTRS
525 _mm512_max_pd(__m512d __A, __m512d __B)
526 {
527  return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
528  (__v8df) __B,
529  (__v8df)
531  (__mmask8) -1,
533 }
534 
535 static __inline__ __m512 __DEFAULT_FN_ATTRS
536 _mm512_max_ps(__m512 __A, __m512 __B)
537 {
538  return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
539  (__v16sf) __B,
540  (__v16sf)
542  (__mmask16) -1,
544 }
545 
546 static __inline __m512i
548 _mm512_max_epi32(__m512i __A, __m512i __B)
549 {
550  return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
551  (__v16si) __B,
552  (__v16si)
554  (__mmask16) -1);
555 }
556 
557 static __inline __m512i __DEFAULT_FN_ATTRS
558 _mm512_max_epu32(__m512i __A, __m512i __B)
559 {
560  return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
561  (__v16si) __B,
562  (__v16si)
564  (__mmask16) -1);
565 }
566 
567 static __inline __m512i __DEFAULT_FN_ATTRS
568 _mm512_max_epi64(__m512i __A, __m512i __B)
569 {
570  return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
571  (__v8di) __B,
572  (__v8di)
574  (__mmask8) -1);
575 }
576 
577 static __inline __m512i __DEFAULT_FN_ATTRS
578 _mm512_max_epu64(__m512i __A, __m512i __B)
579 {
580  return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
581  (__v8di) __B,
582  (__v8di)
584  (__mmask8) -1);
585 }
586 
587 static __inline__ __m512d __DEFAULT_FN_ATTRS
588 _mm512_min_pd(__m512d __A, __m512d __B)
589 {
590  return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
591  (__v8df) __B,
592  (__v8df)
594  (__mmask8) -1,
596 }
597 
598 static __inline__ __m512 __DEFAULT_FN_ATTRS
599 _mm512_min_ps(__m512 __A, __m512 __B)
600 {
601  return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
602  (__v16sf) __B,
603  (__v16sf)
605  (__mmask16) -1,
607 }
608 
609 static __inline __m512i
611 _mm512_min_epi32(__m512i __A, __m512i __B)
612 {
613  return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
614  (__v16si) __B,
615  (__v16si)
617  (__mmask16) -1);
618 }
619 
620 static __inline __m512i __DEFAULT_FN_ATTRS
621 _mm512_min_epu32(__m512i __A, __m512i __B)
622 {
623  return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
624  (__v16si) __B,
625  (__v16si)
627  (__mmask16) -1);
628 }
629 
630 static __inline __m512i __DEFAULT_FN_ATTRS
631 _mm512_min_epi64(__m512i __A, __m512i __B)
632 {
633  return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
634  (__v8di) __B,
635  (__v8di)
637  (__mmask8) -1);
638 }
639 
640 static __inline __m512i __DEFAULT_FN_ATTRS
641 _mm512_min_epu64(__m512i __A, __m512i __B)
642 {
643  return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
644  (__v8di) __B,
645  (__v8di)
647  (__mmask8) -1);
648 }
649 
650 static __inline __m512i __DEFAULT_FN_ATTRS
651 _mm512_mul_epi32(__m512i __X, __m512i __Y)
652 {
653  return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
654  (__v16si) __Y,
655  (__v8di)
657  (__mmask8) -1);
658 }
659 
660 static __inline __m512i __DEFAULT_FN_ATTRS
661 _mm512_mask_mul_epi32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
662 {
663  return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
664  (__v16si) __Y,
665  (__v8di) __W, __M);
666 }
667 
668 static __inline __m512i __DEFAULT_FN_ATTRS
669 _mm512_maskz_mul_epi32 (__mmask8 __M, __m512i __X, __m512i __Y)
670 {
671  return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
672  (__v16si) __Y,
673  (__v8di)
675  __M);
676 }
677 
678 static __inline __m512i __DEFAULT_FN_ATTRS
679 _mm512_mul_epu32(__m512i __X, __m512i __Y)
680 {
681  return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
682  (__v16si) __Y,
683  (__v8di)
685  (__mmask8) -1);
686 }
687 
688 static __inline __m512i __DEFAULT_FN_ATTRS
689 _mm512_mask_mul_epu32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
690 {
691  return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
692  (__v16si) __Y,
693  (__v8di) __W, __M);
694 }
695 
696 static __inline __m512i __DEFAULT_FN_ATTRS
697 _mm512_maskz_mul_epu32 (__mmask8 __M, __m512i __X, __m512i __Y)
698 {
699  return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
700  (__v16si) __Y,
701  (__v8di)
703  __M);
704 }
705 
706 static __inline __m512i __DEFAULT_FN_ATTRS
707 _mm512_mullo_epi32 (__m512i __A, __m512i __B)
708 {
709  return (__m512i) ((__v16si) __A * (__v16si) __B);
710 }
711 
712 static __inline __m512i __DEFAULT_FN_ATTRS
713 _mm512_maskz_mullo_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
714 {
715  return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A,
716  (__v16si) __B,
717  (__v16si)
719  __M);
720 }
721 
722 static __inline __m512i __DEFAULT_FN_ATTRS
723 _mm512_mask_mullo_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
724 {
725  return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A,
726  (__v16si) __B,
727  (__v16si) __W, __M);
728 }
729 
730 static __inline__ __m512d __DEFAULT_FN_ATTRS
731 _mm512_sqrt_pd(__m512d a)
732 {
733  return (__m512d)__builtin_ia32_sqrtpd512_mask((__v8df)a,
734  (__v8df) _mm512_setzero_pd (),
735  (__mmask8) -1,
737 }
738 
739 static __inline__ __m512 __DEFAULT_FN_ATTRS
740 _mm512_sqrt_ps(__m512 a)
741 {
742  return (__m512)__builtin_ia32_sqrtps512_mask((__v16sf)a,
743  (__v16sf) _mm512_setzero_ps (),
744  (__mmask16) -1,
746 }
747 
748 static __inline__ __m512d __DEFAULT_FN_ATTRS
749 _mm512_rsqrt14_pd(__m512d __A)
750 {
751  return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
752  (__v8df)
754  (__mmask8) -1);}
755 
756 static __inline__ __m512 __DEFAULT_FN_ATTRS
757 _mm512_rsqrt14_ps(__m512 __A)
758 {
759  return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
760  (__v16sf)
762  (__mmask16) -1);
763 }
764 
765 static __inline__ __m128 __DEFAULT_FN_ATTRS
766 _mm_rsqrt14_ss(__m128 __A, __m128 __B)
767 {
768  return (__m128) __builtin_ia32_rsqrt14ss_mask ((__v4sf) __A,
769  (__v4sf) __B,
770  (__v4sf)
771  _mm_setzero_ps (),
772  (__mmask8) -1);
773 }
774 
775 static __inline__ __m128d __DEFAULT_FN_ATTRS
776 _mm_rsqrt14_sd(__m128d __A, __m128d __B)
777 {
778  return (__m128d) __builtin_ia32_rsqrt14sd_mask ((__v2df) __A,
779  (__v2df) __B,
780  (__v2df)
781  _mm_setzero_pd (),
782  (__mmask8) -1);
783 }
784 
785 static __inline__ __m512d __DEFAULT_FN_ATTRS
786 _mm512_rcp14_pd(__m512d __A)
787 {
788  return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
789  (__v8df)
791  (__mmask8) -1);
792 }
793 
794 static __inline__ __m512 __DEFAULT_FN_ATTRS
795 _mm512_rcp14_ps(__m512 __A)
796 {
797  return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
798  (__v16sf)
800  (__mmask16) -1);
801 }
802 static __inline__ __m128 __DEFAULT_FN_ATTRS
803 _mm_rcp14_ss(__m128 __A, __m128 __B)
804 {
805  return (__m128) __builtin_ia32_rcp14ss_mask ((__v4sf) __A,
806  (__v4sf) __B,
807  (__v4sf)
808  _mm_setzero_ps (),
809  (__mmask8) -1);
810 }
811 
812 static __inline__ __m128d __DEFAULT_FN_ATTRS
813 _mm_rcp14_sd(__m128d __A, __m128d __B)
814 {
815  return (__m128d) __builtin_ia32_rcp14sd_mask ((__v2df) __A,
816  (__v2df) __B,
817  (__v2df)
818  _mm_setzero_pd (),
819  (__mmask8) -1);
820 }
821 
822 static __inline __m512 __DEFAULT_FN_ATTRS
823 _mm512_floor_ps(__m512 __A)
824 {
825  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
826  _MM_FROUND_FLOOR,
827  (__v16sf) __A, -1,
829 }
830 
831 static __inline __m512d __DEFAULT_FN_ATTRS
832 _mm512_floor_pd(__m512d __A)
833 {
834  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
835  _MM_FROUND_FLOOR,
836  (__v8df) __A, -1,
838 }
839 
840 static __inline __m512 __DEFAULT_FN_ATTRS
841 _mm512_ceil_ps(__m512 __A)
842 {
843  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
844  _MM_FROUND_CEIL,
845  (__v16sf) __A, -1,
847 }
848 
849 static __inline __m512d __DEFAULT_FN_ATTRS
850 _mm512_ceil_pd(__m512d __A)
851 {
852  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
853  _MM_FROUND_CEIL,
854  (__v8df) __A, -1,
856 }
857 
858 static __inline __m512i __DEFAULT_FN_ATTRS
859 _mm512_abs_epi64(__m512i __A)
860 {
861  return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
862  (__v8di)
864  (__mmask8) -1);
865 }
866 
867 static __inline __m512i __DEFAULT_FN_ATTRS
868 _mm512_abs_epi32(__m512i __A)
869 {
870  return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
871  (__v16si)
873  (__mmask16) -1);
874 }
875 
876 #define _mm512_roundscale_ps(A, B) __extension__ ({ \
877  (__m512)__builtin_ia32_rndscaleps_mask((__v16sf)(A), (B), (__v16sf)(A), \
878  -1, _MM_FROUND_CUR_DIRECTION); })
879 
880 #define _mm512_roundscale_pd(A, B) __extension__ ({ \
881  (__m512d)__builtin_ia32_rndscalepd_mask((__v8df)(A), (B), (__v8df)(A), \
882  -1, _MM_FROUND_CUR_DIRECTION); })
883 
884 #define _mm512_fmadd_round_pd(A, B, C, R) __extension__ ({ \
885  (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) (A), \
886  (__v8df) (B), (__v8df) (C), \
887  (__mmask8) -1, (R)); })
888 
889 
890 #define _mm512_mask_fmadd_round_pd(A, U, B, C, R) __extension__ ({ \
891  (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) (A), \
892  (__v8df) (B), (__v8df) (C), \
893  (__mmask8) (U), (R)); })
894 
895 
896 #define _mm512_mask3_fmadd_round_pd(A, B, C, U, R) __extension__ ({ \
897  (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) (A), \
898  (__v8df) (B), (__v8df) (C), \
899  (__mmask8) (U), (R)); })
900 
901 
902 #define _mm512_maskz_fmadd_round_pd(U, A, B, C, R) __extension__ ({ \
903  (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) (A), \
904  (__v8df) (B), (__v8df) (C), \
905  (__mmask8) (U), (R)); })
906 
907 
908 #define _mm512_fmsub_round_pd(A, B, C, R) __extension__ ({ \
909  (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) (A), \
910  (__v8df) (B), -(__v8df) (C), \
911  (__mmask8) -1, (R)); })
912 
913 
914 #define _mm512_mask_fmsub_round_pd(A, U, B, C, R) __extension__ ({ \
915  (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) (A), \
916  (__v8df) (B), -(__v8df) (C), \
917  (__mmask8) (U), (R)); })
918 
919 
920 #define _mm512_maskz_fmsub_round_pd(U, A, B, C, R) __extension__ ({ \
921  (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) (A), \
922  (__v8df) (B), -(__v8df) (C), \
923  (__mmask8) (U), (R)); })
924 
925 
926 #define _mm512_fnmadd_round_pd(A, B, C, R) __extension__ ({ \
927  (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) (A), \
928  (__v8df) (B), (__v8df) (C), \
929  (__mmask8) -1, (R)); })
930 
931 
932 #define _mm512_mask3_fnmadd_round_pd(A, B, C, U, R) __extension__ ({ \
933  (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) (A), \
934  (__v8df) (B), (__v8df) (C), \
935  (__mmask8) (U), (R)); })
936 
937 
938 #define _mm512_maskz_fnmadd_round_pd(U, A, B, C, R) __extension__ ({ \
939  (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) (A), \
940  (__v8df) (B), (__v8df) (C), \
941  (__mmask8) (U), (R)); })
942 
943 
944 #define _mm512_fnmsub_round_pd(A, B, C, R) __extension__ ({ \
945  (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) (A), \
946  (__v8df) (B), -(__v8df) (C), \
947  (__mmask8) -1, (R)); })
948 
949 
950 #define _mm512_maskz_fnmsub_round_pd(U, A, B, C, R) __extension__ ({ \
951  (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) (A), \
952  (__v8df) (B), -(__v8df) (C), \
953  (__mmask8) (U), (R)); })
954 
955 
956 static __inline__ __m512d __DEFAULT_FN_ATTRS
957 _mm512_fmadd_pd(__m512d __A, __m512d __B, __m512d __C)
958 {
959  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
960  (__v8df) __B,
961  (__v8df) __C,
962  (__mmask8) -1,
964 }
965 
966 static __inline__ __m512d __DEFAULT_FN_ATTRS
967 _mm512_mask_fmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
968 {
969  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
970  (__v8df) __B,
971  (__v8df) __C,
972  (__mmask8) __U,
974 }
975 
976 static __inline__ __m512d __DEFAULT_FN_ATTRS
977 _mm512_mask3_fmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
978 {
979  return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A,
980  (__v8df) __B,
981  (__v8df) __C,
982  (__mmask8) __U,
984 }
985 
986 static __inline__ __m512d __DEFAULT_FN_ATTRS
987 _mm512_maskz_fmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
988 {
989  return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
990  (__v8df) __B,
991  (__v8df) __C,
992  (__mmask8) __U,
994 }
995 
996 static __inline__ __m512d __DEFAULT_FN_ATTRS
997 _mm512_fmsub_pd(__m512d __A, __m512d __B, __m512d __C)
998 {
999  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
1000  (__v8df) __B,
1001  -(__v8df) __C,
1002  (__mmask8) -1,
1004 }
1005 
1006 static __inline__ __m512d __DEFAULT_FN_ATTRS
1007 _mm512_mask_fmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
1008 {
1009  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
1010  (__v8df) __B,
1011  -(__v8df) __C,
1012  (__mmask8) __U,
1014 }
1015 
1016 static __inline__ __m512d __DEFAULT_FN_ATTRS
1017 _mm512_maskz_fmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
1018 {
1019  return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
1020  (__v8df) __B,
1021  -(__v8df) __C,
1022  (__mmask8) __U,
1024 }
1025 
1026 static __inline__ __m512d __DEFAULT_FN_ATTRS
1027 _mm512_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C)
1028 {
1029  return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A,
1030  (__v8df) __B,
1031  (__v8df) __C,
1032  (__mmask8) -1,
1034 }
1035 
1036 static __inline__ __m512d __DEFAULT_FN_ATTRS
1037 _mm512_mask3_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
1038 {
1039  return (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) __A,
1040  (__v8df) __B,
1041  (__v8df) __C,
1042  (__mmask8) __U,
1044 }
1045 
1046 static __inline__ __m512d __DEFAULT_FN_ATTRS
1047 _mm512_maskz_fnmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
1048 {
1049  return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
1050  (__v8df) __B,
1051  (__v8df) __C,
1052  (__mmask8) __U,
1054 }
1055 
1056 static __inline__ __m512d __DEFAULT_FN_ATTRS
1057 _mm512_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C)
1058 {
1059  return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A,
1060  (__v8df) __B,
1061  -(__v8df) __C,
1062  (__mmask8) -1,
1064 }
1065 
1066 static __inline__ __m512d __DEFAULT_FN_ATTRS
1067 _mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
1068 {
1069  return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
1070  (__v8df) __B,
1071  -(__v8df) __C,
1072  (__mmask8) __U,
1074 }
1075 
1076 #define _mm512_fmadd_round_ps(A, B, C, R) __extension__ ({ \
1077  (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) (A), \
1078  (__v16sf) (B), (__v16sf) (C), \
1079  (__mmask16) -1, (R)); })
1080 
1081 
1082 #define _mm512_mask_fmadd_round_ps(A, U, B, C, R) __extension__ ({ \
1083  (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) (A), \
1084  (__v16sf) (B), (__v16sf) (C), \
1085  (__mmask16) (U), (R)); })
1086 
1087 
1088 #define _mm512_mask3_fmadd_round_ps(A, B, C, U, R) __extension__ ({ \
1089  (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) (A), \
1090  (__v16sf) (B), (__v16sf) (C), \
1091  (__mmask16) (U), (R)); })
1092 
1093 
1094 #define _mm512_maskz_fmadd_round_ps(U, A, B, C, R) __extension__ ({ \
1095  (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) (A), \
1096  (__v16sf) (B), (__v16sf) (C), \
1097  (__mmask16) (U), (R)); })
1098 
1099 
1100 #define _mm512_fmsub_round_ps(A, B, C, R) __extension__ ({ \
1101  (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) (A), \
1102  (__v16sf) (B), -(__v16sf) (C), \
1103  (__mmask16) -1, (R)); })
1104 
1105 
1106 #define _mm512_mask_fmsub_round_ps(A, U, B, C, R) __extension__ ({ \
1107  (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) (A), \
1108  (__v16sf) (B), -(__v16sf) (C), \
1109  (__mmask16) (U), (R)); })
1110 
1111 
1112 #define _mm512_maskz_fmsub_round_ps(U, A, B, C, R) __extension__ ({ \
1113  (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) (A), \
1114  (__v16sf) (B), -(__v16sf) (C), \
1115  (__mmask16) (U), (R)); })
1116 
1117 
1118 #define _mm512_fnmadd_round_ps(A, B, C, R) __extension__ ({ \
1119  (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) (A), \
1120  (__v16sf) (B), (__v16sf) (C), \
1121  (__mmask16) -1, (R)); })
1122 
1123 
1124 #define _mm512_mask3_fnmadd_round_ps(A, B, C, U, R) __extension__ ({ \
1125  (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) (A), \
1126  (__v16sf) (B), (__v16sf) (C), \
1127  (__mmask16) (U), (R)); })
1128 
1129 
1130 #define _mm512_maskz_fnmadd_round_ps(U, A, B, C, R) __extension__ ({ \
1131  (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) (A), \
1132  (__v16sf) (B), (__v16sf) (C), \
1133  (__mmask16) (U), (R)); })
1134 
1135 
1136 #define _mm512_fnmsub_round_ps(A, B, C, R) __extension__ ({ \
1137  (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) (A), \
1138  (__v16sf) (B), -(__v16sf) (C), \
1139  (__mmask16) -1, (R)); })
1140 
1141 
1142 #define _mm512_maskz_fnmsub_round_ps(U, A, B, C, R) __extension__ ({ \
1143  (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) (A), \
1144  (__v16sf) (B), -(__v16sf) (C), \
1145  (__mmask16) (U), (R)); })
1146 
1147 
1148 static __inline__ __m512 __DEFAULT_FN_ATTRS
1149 _mm512_fmadd_ps(__m512 __A, __m512 __B, __m512 __C)
1150 {
1151  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
1152  (__v16sf) __B,
1153  (__v16sf) __C,
1154  (__mmask16) -1,
1156 }
1157 
1158 static __inline__ __m512 __DEFAULT_FN_ATTRS
1159 _mm512_mask_fmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
1160 {
1161  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
1162  (__v16sf) __B,
1163  (__v16sf) __C,
1164  (__mmask16) __U,
1166 }
1167 
1168 static __inline__ __m512 __DEFAULT_FN_ATTRS
1169 _mm512_mask3_fmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
1170 {
1171  return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A,
1172  (__v16sf) __B,
1173  (__v16sf) __C,
1174  (__mmask16) __U,
1176 }
1177 
1178 static __inline__ __m512 __DEFAULT_FN_ATTRS
1179 _mm512_maskz_fmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
1180 {
1181  return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
1182  (__v16sf) __B,
1183  (__v16sf) __C,
1184  (__mmask16) __U,
1186 }
1187 
1188 static __inline__ __m512 __DEFAULT_FN_ATTRS
1189 _mm512_fmsub_ps(__m512 __A, __m512 __B, __m512 __C)
1190 {
1191  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
1192  (__v16sf) __B,
1193  -(__v16sf) __C,
1194  (__mmask16) -1,
1196 }
1197 
1198 static __inline__ __m512 __DEFAULT_FN_ATTRS
1199 _mm512_mask_fmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
1200 {
1201  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
1202  (__v16sf) __B,
1203  -(__v16sf) __C,
1204  (__mmask16) __U,
1206 }
1207 
1208 static __inline__ __m512 __DEFAULT_FN_ATTRS
1209 _mm512_maskz_fmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
1210 {
1211  return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
1212  (__v16sf) __B,
1213  -(__v16sf) __C,
1214  (__mmask16) __U,
1216 }
1217 
1218 static __inline__ __m512 __DEFAULT_FN_ATTRS
1219 _mm512_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C)
1220 {
1221  return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A,
1222  (__v16sf) __B,
1223  (__v16sf) __C,
1224  (__mmask16) -1,
1226 }
1227 
1228 static __inline__ __m512 __DEFAULT_FN_ATTRS
1229 _mm512_mask3_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
1230 {
1231  return (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) __A,
1232  (__v16sf) __B,
1233  (__v16sf) __C,
1234  (__mmask16) __U,
1236 }
1237 
1238 static __inline__ __m512 __DEFAULT_FN_ATTRS
1239 _mm512_maskz_fnmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
1240 {
1241  return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
1242  (__v16sf) __B,
1243  (__v16sf) __C,
1244  (__mmask16) __U,
1246 }
1247 
1248 static __inline__ __m512 __DEFAULT_FN_ATTRS
1249 _mm512_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C)
1250 {
1251  return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A,
1252  (__v16sf) __B,
1253  -(__v16sf) __C,
1254  (__mmask16) -1,
1256 }
1257 
1258 static __inline__ __m512 __DEFAULT_FN_ATTRS
1259 _mm512_maskz_fnmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
1260 {
1261  return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
1262  (__v16sf) __B,
1263  -(__v16sf) __C,
1264  (__mmask16) __U,
1266 }
1267 
1268 #define _mm512_fmaddsub_round_pd(A, B, C, R) __extension__ ({ \
1269  (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) (A), \
1270  (__v8df) (B), (__v8df) (C), \
1271  (__mmask8) -1, (R)); })
1272 
1273 
1274 #define _mm512_mask_fmaddsub_round_pd(A, U, B, C, R) __extension__ ({ \
1275  (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) (A), \
1276  (__v8df) (B), (__v8df) (C), \
1277  (__mmask8) (U), (R)); })
1278 
1279 
1280 #define _mm512_mask3_fmaddsub_round_pd(A, B, C, U, R) __extension__ ({ \
1281  (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df) (A), \
1282  (__v8df) (B), (__v8df) (C), \
1283  (__mmask8) (U), (R)); })
1284 
1285 
1286 #define _mm512_maskz_fmaddsub_round_pd(U, A, B, C, R) __extension__ ({ \
1287  (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) (A), \
1288  (__v8df) (B), (__v8df) (C), \
1289  (__mmask8) (U), (R)); })
1290 
1291 
1292 #define _mm512_fmsubadd_round_pd(A, B, C, R) __extension__ ({ \
1293  (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) (A), \
1294  (__v8df) (B), -(__v8df) (C), \
1295  (__mmask8) -1, (R)); })
1296 
1297 
1298 #define _mm512_mask_fmsubadd_round_pd(A, U, B, C, R) __extension__ ({ \
1299  (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) (A), \
1300  (__v8df) (B), -(__v8df) (C), \
1301  (__mmask8) (U), (R)); })
1302 
1303 
1304 #define _mm512_maskz_fmsubadd_round_pd(U, A, B, C, R) __extension__ ({ \
1305  (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) (A), \
1306  (__v8df) (B), -(__v8df) (C), \
1307  (__mmask8) (U), (R)); })
1308 
1309 
1310 static __inline__ __m512d __DEFAULT_FN_ATTRS
1311 _mm512_fmaddsub_pd(__m512d __A, __m512d __B, __m512d __C)
1312 {
1313  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
1314  (__v8df) __B,
1315  (__v8df) __C,
1316  (__mmask8) -1,
1318 }
1319 
1320 static __inline__ __m512d __DEFAULT_FN_ATTRS
1321 _mm512_mask_fmaddsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
1322 {
1323  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
1324  (__v8df) __B,
1325  (__v8df) __C,
1326  (__mmask8) __U,
1328 }
1329 
1330 static __inline__ __m512d __DEFAULT_FN_ATTRS
1331 _mm512_mask3_fmaddsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
1332 {
1333  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df) __A,
1334  (__v8df) __B,
1335  (__v8df) __C,
1336  (__mmask8) __U,
1338 }
1339 
1340 static __inline__ __m512d __DEFAULT_FN_ATTRS
1341 _mm512_maskz_fmaddsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
1342 {
1343  return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
1344  (__v8df) __B,
1345  (__v8df) __C,
1346  (__mmask8) __U,
1348 }
1349 
1350 static __inline__ __m512d __DEFAULT_FN_ATTRS
1351 _mm512_fmsubadd_pd(__m512d __A, __m512d __B, __m512d __C)
1352 {
1353  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
1354  (__v8df) __B,
1355  -(__v8df) __C,
1356  (__mmask8) -1,
1358 }
1359 
1360 static __inline__ __m512d __DEFAULT_FN_ATTRS
1361 _mm512_mask_fmsubadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
1362 {
1363  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
1364  (__v8df) __B,
1365  -(__v8df) __C,
1366  (__mmask8) __U,
1368 }
1369 
1370 static __inline__ __m512d __DEFAULT_FN_ATTRS
1371 _mm512_maskz_fmsubadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
1372 {
1373  return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
1374  (__v8df) __B,
1375  -(__v8df) __C,
1376  (__mmask8) __U,
1378 }
1379 
1380 #define _mm512_fmaddsub_round_ps(A, B, C, R) __extension__ ({ \
1381  (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) (A), \
1382  (__v16sf) (B), (__v16sf) (C), \
1383  (__mmask16) -1, (R)); })
1384 
1385 
1386 #define _mm512_mask_fmaddsub_round_ps(A, U, B, C, R) __extension__ ({ \
1387  (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) (A), \
1388  (__v16sf) (B), (__v16sf) (C), \
1389  (__mmask16) (U), (R)); })
1390 
1391 
1392 #define _mm512_mask3_fmaddsub_round_ps(A, B, C, U, R) __extension__ ({ \
1393  (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf) (A), \
1394  (__v16sf) (B), (__v16sf) (C), \
1395  (__mmask16) (U), (R)); })
1396 
1397 
1398 #define _mm512_maskz_fmaddsub_round_ps(U, A, B, C, R) __extension__ ({ \
1399  (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) (A), \
1400  (__v16sf) (B), (__v16sf) (C), \
1401  (__mmask16) (U), (R)); })
1402 
1403 
1404 #define _mm512_fmsubadd_round_ps(A, B, C, R) __extension__ ({ \
1405  (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) (A), \
1406  (__v16sf) (B), -(__v16sf) (C), \
1407  (__mmask16) -1, (R)); })
1408 
1409 
1410 #define _mm512_mask_fmsubadd_round_ps(A, U, B, C, R) __extension__ ({ \
1411  (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) (A), \
1412  (__v16sf) (B), -(__v16sf) (C), \
1413  (__mmask16) (U), (R)); })
1414 
1415 
1416 #define _mm512_maskz_fmsubadd_round_ps(U, A, B, C, R) __extension__ ({ \
1417  (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) (A), \
1418  (__v16sf) (B), -(__v16sf) (C), \
1419  (__mmask16) (U), (R)); })
1420 
1421 
1422 static __inline__ __m512 __DEFAULT_FN_ATTRS
1423 _mm512_fmaddsub_ps(__m512 __A, __m512 __B, __m512 __C)
1424 {
1425  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
1426  (__v16sf) __B,
1427  (__v16sf) __C,
1428  (__mmask16) -1,
1430 }
1431 
1432 static __inline__ __m512 __DEFAULT_FN_ATTRS
1433 _mm512_mask_fmaddsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
1434 {
1435  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
1436  (__v16sf) __B,
1437  (__v16sf) __C,
1438  (__mmask16) __U,
1440 }
1441 
1442 static __inline__ __m512 __DEFAULT_FN_ATTRS
1443 _mm512_mask3_fmaddsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
1444 {
1445  return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf) __A,
1446  (__v16sf) __B,
1447  (__v16sf) __C,
1448  (__mmask16) __U,
1450 }
1451 
1452 static __inline__ __m512 __DEFAULT_FN_ATTRS
1453 _mm512_maskz_fmaddsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
1454 {
1455  return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
1456  (__v16sf) __B,
1457  (__v16sf) __C,
1458  (__mmask16) __U,
1460 }
1461 
1462 static __inline__ __m512 __DEFAULT_FN_ATTRS
1463 _mm512_fmsubadd_ps(__m512 __A, __m512 __B, __m512 __C)
1464 {
1465  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
1466  (__v16sf) __B,
1467  -(__v16sf) __C,
1468  (__mmask16) -1,
1470 }
1471 
1472 static __inline__ __m512 __DEFAULT_FN_ATTRS
1473 _mm512_mask_fmsubadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
1474 {
1475  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
1476  (__v16sf) __B,
1477  -(__v16sf) __C,
1478  (__mmask16) __U,
1480 }
1481 
1482 static __inline__ __m512 __DEFAULT_FN_ATTRS
1483 _mm512_maskz_fmsubadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
1484 {
1485  return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
1486  (__v16sf) __B,
1487  -(__v16sf) __C,
1488  (__mmask16) __U,
1490 }
1491 
1492 #define _mm512_mask3_fmsub_round_pd(A, B, C, U, R) __extension__ ({ \
1493  (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df) (A), \
1494  (__v8df) (B), (__v8df) (C), \
1495  (__mmask8) (U), (R)); })
1496 
1497 
1498 static __inline__ __m512d __DEFAULT_FN_ATTRS
1499 _mm512_mask3_fmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
1500 {
1501  return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A,
1502  (__v8df) __B,
1503  (__v8df) __C,
1504  (__mmask8) __U,
1506 }
1507 
1508 #define _mm512_mask3_fmsub_round_ps(A, B, C, U, R) __extension__ ({ \
1509  (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf) (A), \
1510  (__v16sf) (B), (__v16sf) (C), \
1511  (__mmask16) (U), (R)); })
1512 
1513 
1514 static __inline__ __m512 __DEFAULT_FN_ATTRS
1515 _mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
1516 {
1517  return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A,
1518  (__v16sf) __B,
1519  (__v16sf) __C,
1520  (__mmask16) __U,
1522 }
1523 
1524 #define _mm512_mask3_fmsubadd_round_pd(A, B, C, U, R) __extension__ ({ \
1525  (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df) (A), \
1526  (__v8df) (B), (__v8df) (C), \
1527  (__mmask8) (U), (R)); })
1528 
1529 
1530 static __inline__ __m512d __DEFAULT_FN_ATTRS
1531 _mm512_mask3_fmsubadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
1532 {
1533  return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df) __A,
1534  (__v8df) __B,
1535  (__v8df) __C,
1536  (__mmask8) __U,
1538 }
1539 
1540 #define _mm512_mask3_fmsubadd_round_ps(A, B, C, U, R) __extension__ ({ \
1541  (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf) (A), \
1542  (__v16sf) (B), (__v16sf) (C), \
1543  (__mmask16) (U), (R)); })
1544 
1545 
1546 static __inline__ __m512 __DEFAULT_FN_ATTRS
1547 _mm512_mask3_fmsubadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
1548 {
1549  return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf) __A,
1550  (__v16sf) __B,
1551  (__v16sf) __C,
1552  (__mmask16) __U,
1554 }
1555 
1556 #define _mm512_mask_fnmadd_round_pd(A, U, B, C, R) __extension__ ({ \
1557  (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) (A), \
1558  (__v8df) (B), (__v8df) (C), \
1559  (__mmask8) (U), (R)); })
1560 
1561 
1562 static __inline__ __m512d __DEFAULT_FN_ATTRS
1563 _mm512_mask_fnmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
1564 {
1565  return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) __A,
1566  (__v8df) __B,
1567  (__v8df) __C,
1568  (__mmask8) __U,
1570 }
1571 
1572 #define _mm512_mask_fnmadd_round_ps(A, U, B, C, R) __extension__ ({ \
1573  (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) (A), \
1574  (__v16sf) (B), (__v16sf) (C), \
1575  (__mmask16) (U), (R)); })
1576 
1577 
1578 static __inline__ __m512 __DEFAULT_FN_ATTRS
1579 _mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
1580 {
1581  return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) __A,
1582  (__v16sf) __B,
1583  (__v16sf) __C,
1584  (__mmask16) __U,
1586 }
1587 
1588 #define _mm512_mask_fnmsub_round_pd(A, U, B, C, R) __extension__ ({ \
1589  (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) (A), \
1590  (__v8df) (B), (__v8df) (C), \
1591  (__mmask8) (U), (R)); })
1592 
1593 
1594 #define _mm512_mask3_fnmsub_round_pd(A, B, C, U, R) __extension__ ({ \
1595  (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df) (A), \
1596  (__v8df) (B), (__v8df) (C), \
1597  (__mmask8) (U), (R)); })
1598 
1599 
1600 static __inline__ __m512d __DEFAULT_FN_ATTRS
1601 _mm512_mask_fnmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
1602 {
1603  return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) __A,
1604  (__v8df) __B,
1605  (__v8df) __C,
1606  (__mmask8) __U,
1608 }
1609 
1610 static __inline__ __m512d __DEFAULT_FN_ATTRS
1611 _mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
1612 {
1613  return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df) __A,
1614  (__v8df) __B,
1615  (__v8df) __C,
1616  (__mmask8) __U,
1618 }
1619 
1620 #define _mm512_mask_fnmsub_round_ps(A, U, B, C, R) __extension__ ({ \
1621  (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) (A), \
1622  (__v16sf) (B), (__v16sf) (C), \
1623  (__mmask16) (U), (R)); })
1624 
1625 
1626 #define _mm512_mask3_fnmsub_round_ps(A, B, C, U, R) __extension__ ({ \
1627  (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf) (A), \
1628  (__v16sf) (B), (__v16sf) (C), \
1629  (__mmask16) (U), (R)); })
1630 
1631 
1632 static __inline__ __m512 __DEFAULT_FN_ATTRS
1633 _mm512_mask_fnmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
1634 {
1635  return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) __A,
1636  (__v16sf) __B,
1637  (__v16sf) __C,
1638  (__mmask16) __U,
1640 }
1641 
1642 static __inline__ __m512 __DEFAULT_FN_ATTRS
1643 _mm512_mask3_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
1644 {
1645  return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf) __A,
1646  (__v16sf) __B,
1647  (__v16sf) __C,
1648  (__mmask16) __U,
1650 }
1651 
1652 
1653 
1654 /* Vector permutations */
1655 
1656 static __inline __m512i __DEFAULT_FN_ATTRS
1657 _mm512_permutex2var_epi32(__m512i __A, __m512i __I, __m512i __B)
1658 {
1659  return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si) __I
1660  /* idx */ ,
1661  (__v16si) __A,
1662  (__v16si) __B,
1663  (__mmask16) -1);
1664 }
1665 static __inline __m512i __DEFAULT_FN_ATTRS
1666 _mm512_permutex2var_epi64(__m512i __A, __m512i __I, __m512i __B)
1667 {
1668  return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di) __I
1669  /* idx */ ,
1670  (__v8di) __A,
1671  (__v8di) __B,
1672  (__mmask8) -1);
1673 }
1674 
1675 static __inline __m512d __DEFAULT_FN_ATTRS
1676 _mm512_permutex2var_pd(__m512d __A, __m512i __I, __m512d __B)
1677 {
1678  return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di) __I
1679  /* idx */ ,
1680  (__v8df) __A,
1681  (__v8df) __B,
1682  (__mmask8) -1);
1683 }
1684 static __inline __m512 __DEFAULT_FN_ATTRS
1685 _mm512_permutex2var_ps(__m512 __A, __m512i __I, __m512 __B)
1686 {
1687  return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si) __I
1688  /* idx */ ,
1689  (__v16sf) __A,
1690  (__v16sf) __B,
1691  (__mmask16) -1);
1692 }
1693 
1694 #define _mm512_alignr_epi64(A, B, I) __extension__ ({ \
1695  (__m512i)__builtin_ia32_alignq512_mask((__v8di)(__m512i)(A), \
1696  (__v8di)(__m512i)(B), \
1697  (I), (__v8di)_mm512_setzero_si512(), \
1698  (__mmask8)-1); })
1699 
1700 #define _mm512_alignr_epi32(A, B, I) __extension__ ({ \
1701  (__m512i)__builtin_ia32_alignd512_mask((__v16si)(__m512i)(A), \
1702  (__v16si)(__m512i)(B), \
1703  (I), (__v16si)_mm512_setzero_si512(), \
1704  (__mmask16)-1); })
1705 
1706 /* Vector Extract */
1707 
1708 #define _mm512_extractf64x4_pd(A, I) __extension__ ({ \
1709  __m512d __A = (A); \
1710  (__m256d) \
1711  __builtin_ia32_extractf64x4_mask((__v8df)__A, \
1712  (I), \
1713  (__v4df)_mm256_setzero_si256(), \
1714  (__mmask8) -1); })
1715 
1716 #define _mm512_extractf32x4_ps(A, I) __extension__ ({ \
1717  __m512 __A = (A); \
1718  (__m128) \
1719  __builtin_ia32_extractf32x4_mask((__v16sf)__A, \
1720  (I), \
1721  (__v4sf)_mm_setzero_ps(), \
1722  (__mmask8) -1); })
1723 
1724 /* Vector Blend */
1725 
1726 static __inline __m512d __DEFAULT_FN_ATTRS
1727 _mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W)
1728 {
1729  return (__m512d) __builtin_ia32_blendmpd_512_mask ((__v8df) __A,
1730  (__v8df) __W,
1731  (__mmask8) __U);
1732 }
1733 
1734 static __inline __m512 __DEFAULT_FN_ATTRS
1735 _mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W)
1736 {
1737  return (__m512) __builtin_ia32_blendmps_512_mask ((__v16sf) __A,
1738  (__v16sf) __W,
1739  (__mmask16) __U);
1740 }
1741 
1742 static __inline __m512i __DEFAULT_FN_ATTRS
1743 _mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W)
1744 {
1745  return (__m512i) __builtin_ia32_blendmq_512_mask ((__v8di) __A,
1746  (__v8di) __W,
1747  (__mmask8) __U);
1748 }
1749 
1750 static __inline __m512i __DEFAULT_FN_ATTRS
1751 _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
1752 {
1753  return (__m512i) __builtin_ia32_blendmd_512_mask ((__v16si) __A,
1754  (__v16si) __W,
1755  (__mmask16) __U);
1756 }
1757 
1758 /* Compare */
1759 
1760 #define _mm512_cmp_round_ps_mask(A, B, P, R) __extension__ ({ \
1761  (__mmask16)__builtin_ia32_cmpps512_mask((__v16sf)(__m512)(A), \
1762  (__v16sf)(__m512)(B), \
1763  (P), (__mmask16)-1, (R)); })
1764 
1765 #define _mm512_mask_cmp_round_ps_mask(U, A, B, P, R) __extension__ ({ \
1766  (__mmask16)__builtin_ia32_cmpps512_mask((__v16sf)(__m512)(A), \
1767  (__v16sf)(__m512)(B), \
1768  (P), (__mmask16)(U), (R)); })
1769 
1770 #define _mm512_cmp_ps_mask(A, B, P) \
1771  _mm512_cmp_round_ps_mask((A), (B), (P), _MM_FROUND_CUR_DIRECTION)
1772 
1773 #define _mm512_mask_cmp_ps_mask(U, A, B, P) \
1774  _mm512_mask_cmp_round_ps_mask((U), (A), (B), (P), _MM_FROUND_CUR_DIRECTION)
1775 
1776 #define _mm512_cmp_round_pd_mask(A, B, P, R) __extension__ ({ \
1777  (__mmask8)__builtin_ia32_cmppd512_mask((__v8df)(__m512d)(A), \
1778  (__v8df)(__m512d)(B), \
1779  (P), (__mmask8)-1, (R)); })
1780 
1781 #define _mm512_mask_cmp_round_pd_mask(U, A, B, P, R) __extension__ ({ \
1782  (__mmask8)__builtin_ia32_cmppd512_mask((__v8df)(__m512d)(A), \
1783  (__v8df)(__m512d)(B), \
1784  (P), (__mmask8)(U), (R)); })
1785 
1786 #define _mm512_cmp_pd_mask(A, B, P) \
1787  _mm512_cmp_round_pd_mask((A), (B), (P), _MM_FROUND_CUR_DIRECTION)
1788 
1789 #define _mm512_mask_cmp_pd_mask(U, A, B, P) \
1790  _mm512_mask_cmp_round_pd_mask((U), (A), (B), (P), _MM_FROUND_CUR_DIRECTION)
1791 
1792 /* Conversion */
1793 
1794 static __inline __m512i __DEFAULT_FN_ATTRS
1796 {
1797  return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
1798  (__v16si)
1800  (__mmask16) -1,
1802 }
1803 
1804 #define _mm512_cvt_roundepi32_ps(A, R) __extension__ ({ \
1805  (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), \
1806  (__v16sf)_mm512_setzero_ps(), \
1807  (__mmask16)-1, (R)); })
1808 
1809 #define _mm512_cvt_roundepu32_ps(A, R) __extension__ ({ \
1810  (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), \
1811  (__v16sf)_mm512_setzero_ps(), \
1812  (__mmask16)-1, (R)); })
1813 
1814 static __inline __m512d __DEFAULT_FN_ATTRS
1816 {
1817  return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
1818  (__v8df)
1819  _mm512_setzero_pd (),
1820  (__mmask8) -1);
1821 }
1822 
1823 static __inline __m512d __DEFAULT_FN_ATTRS
1825 {
1826  return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
1827  (__v8df)
1828  _mm512_setzero_pd (),
1829  (__mmask8) -1);
1830 }
1831 
1832 #define _mm512_cvt_roundpd_ps(A, R) __extension__ ({ \
1833  (__m256)__builtin_ia32_cvtpd2ps512_mask((__v8df)(A), \
1834  (__v8sf)_mm256_setzero_ps(), \
1835  (__mmask8)-1, (R)); })
1836 
1837 #define _mm512_cvtps_ph(A, I) __extension__ ({ \
1838  (__m256i)__builtin_ia32_vcvtps2ph512_mask((__v16sf)(A), (I), \
1839  (__v16hi)_mm256_setzero_si256(), \
1840  -1); })
1841 
1842 static __inline __m512 __DEFAULT_FN_ATTRS
1843 _mm512_cvtph_ps(__m256i __A)
1844 {
1845  return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
1846  (__v16sf)
1847  _mm512_setzero_ps (),
1848  (__mmask16) -1,
1850 }
1851 
1852 static __inline __m512i __DEFAULT_FN_ATTRS
1854 {
1855  return (__m512i)
1856  __builtin_ia32_cvttps2dq512_mask((__v16sf) a,
1857  (__v16si) _mm512_setzero_si512 (),
1858  (__mmask16) -1, _MM_FROUND_CUR_DIRECTION);
1859 }
1860 
1861 static __inline __m256i __DEFAULT_FN_ATTRS
1863 {
1864  return (__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df) a,
1865  (__v8si)_mm256_setzero_si256(),
1866  (__mmask8) -1,
1868 }
1869 
1870 #define _mm512_cvtt_roundpd_epi32(A, R) __extension__ ({ \
1871  (__m256i)__builtin_ia32_cvttpd2dq512_mask((__v8df)(A), \
1872  (__v8si)_mm256_setzero_si256(), \
1873  (__mmask8)-1, (R)); })
1874 
1875 #define _mm512_cvtt_roundps_epi32(A, R) __extension__ ({ \
1876  (__m512i)__builtin_ia32_cvttps2dq512_mask((__v16sf)(A), \
1877  (__v16si)_mm512_setzero_si512(), \
1878  (__mmask16)-1, (R)); })
1879 
1880 #define _mm512_cvt_roundps_epi32(A, R) __extension__ ({ \
1881  (__m512i)__builtin_ia32_cvtps2dq512_mask((__v16sf)(A), \
1882  (__v16si)_mm512_setzero_si512(), \
1883  (__mmask16)-1, (R)); })
1884 
1885 #define _mm512_cvt_roundpd_epi32(A, R) __extension__ ({ \
1886  (__m256i)__builtin_ia32_cvtpd2dq512_mask((__v8df)(A), \
1887  (__v8si)_mm256_setzero_si256(), \
1888  (__mmask8)-1, (R)); })
1889 
1890 #define _mm512_cvt_roundps_epu32(A, R) __extension__ ({ \
1891  (__m512i)__builtin_ia32_cvtps2udq512_mask((__v16sf)(A), \
1892  (__v16si)_mm512_setzero_si512(), \
1893  (__mmask16)-1, (R)); })
1894 
1895 #define _mm512_cvt_roundpd_epu32(A, R) __extension__ ({ \
1896  (__m256i)__builtin_ia32_cvtpd2udq512_mask((__v8df)(A), \
1897  (__v8si)_mm256_setzero_si256(), \
1898  (__mmask8) -1, (R)); })
1899 
1900 /* Unpack and Interleave */
1901 static __inline __m512d __DEFAULT_FN_ATTRS
1902 _mm512_unpackhi_pd(__m512d __a, __m512d __b)
1903 {
1904  return __builtin_shufflevector(__a, __b, 1, 9, 1+2, 9+2, 1+4, 9+4, 1+6, 9+6);
1905 }
1906 
1907 static __inline __m512d __DEFAULT_FN_ATTRS
1908 _mm512_unpacklo_pd(__m512d __a, __m512d __b)
1909 {
1910  return __builtin_shufflevector(__a, __b, 0, 8, 0+2, 8+2, 0+4, 8+4, 0+6, 8+6);
1911 }
1912 
1913 static __inline __m512 __DEFAULT_FN_ATTRS
1914 _mm512_unpackhi_ps(__m512 __a, __m512 __b)
1915 {
1916  return __builtin_shufflevector(__a, __b,
1917  2, 18, 3, 19,
1918  2+4, 18+4, 3+4, 19+4,
1919  2+8, 18+8, 3+8, 19+8,
1920  2+12, 18+12, 3+12, 19+12);
1921 }
1922 
1923 static __inline __m512 __DEFAULT_FN_ATTRS
1924 _mm512_unpacklo_ps(__m512 __a, __m512 __b)
1925 {
1926  return __builtin_shufflevector(__a, __b,
1927  0, 16, 1, 17,
1928  0+4, 16+4, 1+4, 17+4,
1929  0+8, 16+8, 1+8, 17+8,
1930  0+12, 16+12, 1+12, 17+12);
1931 }
1932 
1933 /* Bit Test */
1934 
1935 static __inline __mmask16 __DEFAULT_FN_ATTRS
1936 _mm512_test_epi32_mask(__m512i __A, __m512i __B)
1937 {
1938  return (__mmask16) __builtin_ia32_ptestmd512 ((__v16si) __A,
1939  (__v16si) __B,
1940  (__mmask16) -1);
1941 }
1942 
1943 static __inline __mmask8 __DEFAULT_FN_ATTRS
1944 _mm512_test_epi64_mask(__m512i __A, __m512i __B)
1945 {
1946  return (__mmask8) __builtin_ia32_ptestmq512 ((__v8di) __A,
1947  (__v8di) __B,
1948  (__mmask8) -1);
1949 }
1950 
1951 /* SIMD load ops */
1952 
1953 static __inline __m512i __DEFAULT_FN_ATTRS
1954 _mm512_maskz_loadu_epi32(__mmask16 __U, void const *__P)
1955 {
1956  return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *)__P,
1957  (__v16si)
1959  (__mmask16) __U);
1960 }
1961 
1962 static __inline __m512i __DEFAULT_FN_ATTRS
1963 _mm512_maskz_loadu_epi64(__mmask8 __U, void const *__P)
1964 {
1965  return (__m512i) __builtin_ia32_loaddqudi512_mask ((const __v8di *)__P,
1966  (__v8di)
1968  (__mmask8) __U);
1969 }
1970 
1971 static __inline __m512 __DEFAULT_FN_ATTRS
1972 _mm512_maskz_loadu_ps(__mmask16 __U, void const *__P)
1973 {
1974  return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *)__P,
1975  (__v16sf)
1976  _mm512_setzero_ps (),
1977  (__mmask16) __U);
1978 }
1979 
1980 static __inline __m512d __DEFAULT_FN_ATTRS
1981 _mm512_maskz_loadu_pd(__mmask8 __U, void const *__P)
1982 {
1983  return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *)__P,
1984  (__v8df)
1985  _mm512_setzero_pd (),
1986  (__mmask8) __U);
1987 }
1988 
1989 static __inline __m512 __DEFAULT_FN_ATTRS
1990 _mm512_maskz_load_ps(__mmask16 __U, void const *__P)
1991 {
1992  return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *)__P,
1993  (__v16sf)
1994  _mm512_setzero_ps (),
1995  (__mmask16) __U);
1996 }
1997 
1998 static __inline __m512d __DEFAULT_FN_ATTRS
1999 _mm512_maskz_load_pd(__mmask8 __U, void const *__P)
2000 {
2001  return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *)__P,
2002  (__v8df)
2003  _mm512_setzero_pd (),
2004  (__mmask8) __U);
2005 }
2006 
2007 static __inline __m512d __DEFAULT_FN_ATTRS
2008 _mm512_loadu_pd(double const *__p)
2009 {
2010  struct __loadu_pd {
2011  __m512d __v;
2012  } __attribute__((__packed__, __may_alias__));
2013  return ((struct __loadu_pd*)__p)->__v;
2014 }
2015 
2016 static __inline __m512 __DEFAULT_FN_ATTRS
2017 _mm512_loadu_ps(float const *__p)
2018 {
2019  struct __loadu_ps {
2020  __m512 __v;
2021  } __attribute__((__packed__, __may_alias__));
2022  return ((struct __loadu_ps*)__p)->__v;
2023 }
2024 
2025 static __inline __m512 __DEFAULT_FN_ATTRS
2026 _mm512_load_ps(double const *__p)
2027 {
2028  return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *)__p,
2029  (__v16sf)
2030  _mm512_setzero_ps (),
2031  (__mmask16) -1);
2032 }
2033 
2034 static __inline __m512d __DEFAULT_FN_ATTRS
2035 _mm512_load_pd(float const *__p)
2036 {
2037  return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *)__p,
2038  (__v8df)
2039  _mm512_setzero_pd (),
2040  (__mmask8) -1);
2041 }
2042 
2043 /* SIMD store ops */
2044 
2045 static __inline void __DEFAULT_FN_ATTRS
2046 _mm512_mask_storeu_epi64(void *__P, __mmask8 __U, __m512i __A)
2047 {
2048  __builtin_ia32_storedqudi512_mask ((__v8di *)__P, (__v8di) __A,
2049  (__mmask8) __U);
2050 }
2051 
2052 static __inline void __DEFAULT_FN_ATTRS
2053 _mm512_mask_storeu_epi32(void *__P, __mmask16 __U, __m512i __A)
2054 {
2055  __builtin_ia32_storedqusi512_mask ((__v16si *)__P, (__v16si) __A,
2056  (__mmask16) __U);
2057 }
2058 
2059 static __inline void __DEFAULT_FN_ATTRS
2060 _mm512_mask_storeu_pd(void *__P, __mmask8 __U, __m512d __A)
2061 {
2062  __builtin_ia32_storeupd512_mask ((__v8df *)__P, (__v8df) __A, (__mmask8) __U);
2063 }
2064 
2065 static __inline void __DEFAULT_FN_ATTRS
2066 _mm512_storeu_pd(void *__P, __m512d __A)
2067 {
2068  __builtin_ia32_storeupd512_mask((__v8df *)__P, (__v8df)__A, (__mmask8)-1);
2069 }
2070 
2071 static __inline void __DEFAULT_FN_ATTRS
2072 _mm512_mask_storeu_ps(void *__P, __mmask16 __U, __m512 __A)
2073 {
2074  __builtin_ia32_storeups512_mask ((__v16sf *)__P, (__v16sf) __A,
2075  (__mmask16) __U);
2076 }
2077 
2078 static __inline void __DEFAULT_FN_ATTRS
2079 _mm512_storeu_ps(void *__P, __m512 __A)
2080 {
2081  __builtin_ia32_storeups512_mask((__v16sf *)__P, (__v16sf)__A, (__mmask16)-1);
2082 }
2083 
2084 static __inline void __DEFAULT_FN_ATTRS
2085 _mm512_mask_store_pd(void *__P, __mmask8 __U, __m512d __A)
2086 {
2087  __builtin_ia32_storeapd512_mask ((__v8df *)__P, (__v8df) __A, (__mmask8) __U);
2088 }
2089 
2090 static __inline void __DEFAULT_FN_ATTRS
2091 _mm512_store_pd(void *__P, __m512d __A)
2092 {
2093  *(__m512d*)__P = __A;
2094 }
2095 
2096 static __inline void __DEFAULT_FN_ATTRS
2097 _mm512_mask_store_ps(void *__P, __mmask16 __U, __m512 __A)
2098 {
2099  __builtin_ia32_storeaps512_mask ((__v16sf *)__P, (__v16sf) __A,
2100  (__mmask16) __U);
2101 }
2102 
2103 static __inline void __DEFAULT_FN_ATTRS
2104 _mm512_store_ps(void *__P, __m512 __A)
2105 {
2106  *(__m512*)__P = __A;
2107 }
2108 
2109 /* Mask ops */
2110 
2111 static __inline __mmask16 __DEFAULT_FN_ATTRS
2112 _mm512_knot(__mmask16 __M)
2113 {
2114  return __builtin_ia32_knothi(__M);
2115 }
2116 
2117 /* Integer compare */
2118 
2119 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2120 _mm512_cmpeq_epi32_mask(__m512i __a, __m512i __b) {
2121  return (__mmask16)__builtin_ia32_pcmpeqd512_mask((__v16si)__a, (__v16si)__b,
2122  (__mmask16)-1);
2123 }
2124 
2125 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2126 _mm512_mask_cmpeq_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2127  return (__mmask16)__builtin_ia32_pcmpeqd512_mask((__v16si)__a, (__v16si)__b,
2128  __u);
2129 }
2130 
2131 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2132 _mm512_cmpeq_epu32_mask(__m512i __a, __m512i __b) {
2133  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 0,
2134  (__mmask16)-1);
2135 }
2136 
2137 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2138 _mm512_mask_cmpeq_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2139  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 0,
2140  __u);
2141 }
2142 
2143 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2144 _mm512_mask_cmpeq_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2145  return (__mmask8)__builtin_ia32_pcmpeqq512_mask((__v8di)__a, (__v8di)__b,
2146  __u);
2147 }
2148 
2149 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2150 _mm512_cmpeq_epi64_mask(__m512i __a, __m512i __b) {
2151  return (__mmask8)__builtin_ia32_pcmpeqq512_mask((__v8di)__a, (__v8di)__b,
2152  (__mmask8)-1);
2153 }
2154 
2155 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2156 _mm512_cmpeq_epu64_mask(__m512i __a, __m512i __b) {
2157  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 0,
2158  (__mmask8)-1);
2159 }
2160 
2161 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2162 _mm512_mask_cmpeq_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2163  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 0,
2164  __u);
2165 }
2166 
2167 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2168 _mm512_cmpge_epi32_mask(__m512i __a, __m512i __b) {
2169  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 5,
2170  (__mmask16)-1);
2171 }
2172 
2173 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2174 _mm512_mask_cmpge_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2175  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 5,
2176  __u);
2177 }
2178 
2179 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2180 _mm512_cmpge_epu32_mask(__m512i __a, __m512i __b) {
2181  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 5,
2182  (__mmask16)-1);
2183 }
2184 
2185 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2186 _mm512_mask_cmpge_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2187  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 5,
2188  __u);
2189 }
2190 
2191 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2192 _mm512_cmpge_epi64_mask(__m512i __a, __m512i __b) {
2193  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 5,
2194  (__mmask8)-1);
2195 }
2196 
2197 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2198 _mm512_mask_cmpge_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2199  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 5,
2200  __u);
2201 }
2202 
2203 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2204 _mm512_cmpge_epu64_mask(__m512i __a, __m512i __b) {
2205  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 5,
2206  (__mmask8)-1);
2207 }
2208 
2209 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2210 _mm512_mask_cmpge_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2211  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 5,
2212  __u);
2213 }
2214 
2215 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2216 _mm512_cmpgt_epi32_mask(__m512i __a, __m512i __b) {
2217  return (__mmask16)__builtin_ia32_pcmpgtd512_mask((__v16si)__a, (__v16si)__b,
2218  (__mmask16)-1);
2219 }
2220 
2221 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2222 _mm512_mask_cmpgt_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2223  return (__mmask16)__builtin_ia32_pcmpgtd512_mask((__v16si)__a, (__v16si)__b,
2224  __u);
2225 }
2226 
2227 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2228 _mm512_cmpgt_epu32_mask(__m512i __a, __m512i __b) {
2229  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 6,
2230  (__mmask16)-1);
2231 }
2232 
2233 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2234 _mm512_mask_cmpgt_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2235  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 6,
2236  __u);
2237 }
2238 
2239 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2240 _mm512_mask_cmpgt_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2241  return (__mmask8)__builtin_ia32_pcmpgtq512_mask((__v8di)__a, (__v8di)__b,
2242  __u);
2243 }
2244 
2245 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2246 _mm512_cmpgt_epi64_mask(__m512i __a, __m512i __b) {
2247  return (__mmask8)__builtin_ia32_pcmpgtq512_mask((__v8di)__a, (__v8di)__b,
2248  (__mmask8)-1);
2249 }
2250 
2251 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2252 _mm512_cmpgt_epu64_mask(__m512i __a, __m512i __b) {
2253  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 6,
2254  (__mmask8)-1);
2255 }
2256 
2257 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2258 _mm512_mask_cmpgt_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2259  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 6,
2260  __u);
2261 }
2262 
2263 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2264 _mm512_cmple_epi32_mask(__m512i __a, __m512i __b) {
2265  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 2,
2266  (__mmask16)-1);
2267 }
2268 
2269 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2270 _mm512_mask_cmple_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2271  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 2,
2272  __u);
2273 }
2274 
2275 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2276 _mm512_cmple_epu32_mask(__m512i __a, __m512i __b) {
2277  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 2,
2278  (__mmask16)-1);
2279 }
2280 
2281 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2282 _mm512_mask_cmple_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2283  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 2,
2284  __u);
2285 }
2286 
2287 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2288 _mm512_cmple_epi64_mask(__m512i __a, __m512i __b) {
2289  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 2,
2290  (__mmask8)-1);
2291 }
2292 
2293 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2294 _mm512_mask_cmple_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2295  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 2,
2296  __u);
2297 }
2298 
2299 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2300 _mm512_cmple_epu64_mask(__m512i __a, __m512i __b) {
2301  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 2,
2302  (__mmask8)-1);
2303 }
2304 
2305 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2306 _mm512_mask_cmple_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2307  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 2,
2308  __u);
2309 }
2310 
2311 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2312 _mm512_cmplt_epi32_mask(__m512i __a, __m512i __b) {
2313  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 1,
2314  (__mmask16)-1);
2315 }
2316 
2317 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2318 _mm512_mask_cmplt_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2319  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 1,
2320  __u);
2321 }
2322 
2323 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2324 _mm512_cmplt_epu32_mask(__m512i __a, __m512i __b) {
2325  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 1,
2326  (__mmask16)-1);
2327 }
2328 
2329 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2330 _mm512_mask_cmplt_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2331  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 1,
2332  __u);
2333 }
2334 
2335 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2336 _mm512_cmplt_epi64_mask(__m512i __a, __m512i __b) {
2337  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 1,
2338  (__mmask8)-1);
2339 }
2340 
2341 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2342 _mm512_mask_cmplt_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2343  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 1,
2344  __u);
2345 }
2346 
2347 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2348 _mm512_cmplt_epu64_mask(__m512i __a, __m512i __b) {
2349  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 1,
2350  (__mmask8)-1);
2351 }
2352 
2353 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2354 _mm512_mask_cmplt_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2355  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 1,
2356  __u);
2357 }
2358 
2359 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2360 _mm512_cmpneq_epi32_mask(__m512i __a, __m512i __b) {
2361  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 4,
2362  (__mmask16)-1);
2363 }
2364 
2365 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2366 _mm512_mask_cmpneq_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2367  return (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, 4,
2368  __u);
2369 }
2370 
2371 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2372 _mm512_cmpneq_epu32_mask(__m512i __a, __m512i __b) {
2373  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 4,
2374  (__mmask16)-1);
2375 }
2376 
2377 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2378 _mm512_mask_cmpneq_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b) {
2379  return (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, 4,
2380  __u);
2381 }
2382 
2383 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2384 _mm512_cmpneq_epi64_mask(__m512i __a, __m512i __b) {
2385  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 4,
2386  (__mmask8)-1);
2387 }
2388 
2389 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2390 _mm512_mask_cmpneq_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2391  return (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, 4,
2392  __u);
2393 }
2394 
2395 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2396 _mm512_cmpneq_epu64_mask(__m512i __a, __m512i __b) {
2397  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 4,
2398  (__mmask8)-1);
2399 }
2400 
2401 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2402 _mm512_mask_cmpneq_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b) {
2403  return (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, 4,
2404  __u);
2405 }
2406 
2407 #define _mm512_cmp_epi32_mask(a, b, p) __extension__ ({ \
2408  __m512i __a = (a); \
2409  __m512i __b = (b); \
2410  (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, (p), \
2411  (__mmask16)-1); })
2412 
2413 #define _mm512_cmp_epu32_mask(a, b, p) __extension__ ({ \
2414  __m512i __a = (a); \
2415  __m512i __b = (b); \
2416  (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, (p), \
2417  (__mmask16)-1); })
2418 
2419 #define _mm512_cmp_epi64_mask(a, b, p) __extension__ ({ \
2420  __m512i __a = (a); \
2421  __m512i __b = (b); \
2422  (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, (p), \
2423  (__mmask8)-1); })
2424 
2425 #define _mm512_cmp_epu64_mask(a, b, p) __extension__ ({ \
2426  __m512i __a = (a); \
2427  __m512i __b = (b); \
2428  (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, (p), \
2429  (__mmask8)-1); })
2430 
2431 #define _mm512_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
2432  __m512i __a = (a); \
2433  __m512i __b = (b); \
2434  (__mmask16)__builtin_ia32_cmpd512_mask((__v16si)__a, (__v16si)__b, (p), \
2435  (__mmask16)(m)); })
2436 
2437 #define _mm512_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
2438  __m512i __a = (a); \
2439  __m512i __b = (b); \
2440  (__mmask16)__builtin_ia32_ucmpd512_mask((__v16si)__a, (__v16si)__b, (p), \
2441  (__mmask16)(m)); })
2442 
2443 #define _mm512_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
2444  __m512i __a = (a); \
2445  __m512i __b = (b); \
2446  (__mmask8)__builtin_ia32_cmpq512_mask((__v8di)__a, (__v8di)__b, (p), \
2447  (__mmask8)(m)); })
2448 
2449 #define _mm512_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
2450  __m512i __a = (a); \
2451  __m512i __b = (b); \
2452  (__mmask8)__builtin_ia32_ucmpq512_mask((__v8di)__a, (__v8di)__b, (p), \
2453  (__mmask8)(m)); })
2454 
2455 #undef __DEFAULT_FN_ATTRS
2456 
2457 #endif // __AVX512FINTRIN_H
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_cvtph_ps(__m256i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpeq_epi32_mask(__m512i __a, __m512i __b)
static __inline void __DEFAULT_FN_ATTRS _mm512_mask_store_pd(void *__P, __mmask8 __U, __m512d __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpgt_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_maskz_mullo_epi32(__mmask16 __M, __m512i __A, __m512i __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_xor_si512(__m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_add_epi32(__mmask16 __U, __m512i __A, __m512i __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask3_fmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_unpackhi_ps(__m512 __a, __m512 __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_and_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_sub_epi32(__m512i __A, __m512i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpeq_epi64_mask(__m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mul_epu32(__m512i __X, __m512i __Y)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_sub_ps(__m512 __a, __m512 __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_maskz_fmaddsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_setzero_pd(void)
Definition: avx512fintrin.h:92
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_add_epi64(__mmask8 __U, __m512i __A, __m512i __B)
static __inline void __DEFAULT_FN_ATTRS _mm512_storeu_pd(void *__P, __m512d __A)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_floor_pd(__m512d __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_min_epu64(__m512i __A, __m512i __B)
static __inline __m128 __DEFAULT_FN_ATTRS _mm512_castps512_ps128(__m512 __a)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask3_fmsubadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask_fmsubadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpgt_epi32_mask(__m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_sub_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
unsigned char __mmask8
Definition: avx512fintrin.h:39
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_rsqrt14_ps(__m512 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_and_epi64(__mmask8 __k, __m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmple_epu64_mask(__m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_xor_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_or_epi64(__mmask8 __k, __m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpeq_epu64_mask(__m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpgt_epu64_mask(__m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_andnot_epi32(__mmask16 __U, __m512i __A, __m512i __B)
static __inline void __DEFAULT_FN_ATTRS _mm512_mask_store_ps(void *__P, __mmask16 __U, __m512 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_xor_epi64(__mmask8 __k, __m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_fmadd_pd(__m512d __A, __m512d __B, __m512d __C)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask_fmaddsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_maskz_load_ps(__mmask16 __U, void const *__P)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask_fmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_maskz_loadu_epi64(__mmask8 __U, void const *__P)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_and_epi32(__m512i __a, __m512i __b)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_setzero_ps(void)
Definition: avx512fintrin.h:86
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_unpacklo_ps(__m512 __a, __m512 __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_set1_epi32(int __s)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_min_ps(__m512 __A, __m512 __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmplt_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpneq_epu32_mask(__m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpge_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_max_epi64(__m512i __A, __m512i __B)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_permutex2var_epi64(__m512i __A, __m512i __I, __m512i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpgt_epu32_mask(__m512i __a, __m512i __b)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_add_ps(__m512 __a, __m512 __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask_fnmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_maskz_set1_epi64(__mmask8 __M, long long __A)
Definition: avx512fintrin.h:70
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_or_epi64(__m512i __a, __m512i __b)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_loadu_ps(float const *__p)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_maskz_fmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpge_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_rcp14_pd(__m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_andnot_epi64(__m512i __A, __m512i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmple_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_min_epi64(__m512i __A, __m512i __B)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_cvtepu32_pd(__m256i __A)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpgt_epi64_mask(__m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpneq_epi64_mask(__m512i __a, __m512i __b)
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_rcp14_sd(__m128d __A, __m128d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_andnot_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_set1_pd(double __w)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_fnmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask3_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_maskz_loadu_pd(__mmask8 __U, void const *__P)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask_fmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
static __inline void __DEFAULT_FN_ATTRS _mm512_mask_storeu_epi64(void *__P, __mmask8 __U, __m512i __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_maskz_fmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_maskz_loadu_epi32(__mmask16 __U, void const *__P)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_andnot_epi32(__m512i __A, __m512i __B)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_load_ps(double const *__p)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_fmsubadd_pd(__m512d __A, __m512d __B, __m512d __C)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_loadu_pd(double const *__p)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_min_epi32(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_add_epi64(__m512i __A, __m512i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmplt_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_max_pd(__m512d __A, __m512d __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpgt_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpeq_epu32_mask(__m512i __a, __m512i __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_fnmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
static __inline __mmask8 __DEFAULT_FN_ATTRS _mm512_test_epi64_mask(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_xor_epi32(__mmask16 __k, __m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpgt_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_or_si512(__m512i __a, __m512i __b)
static __inline __mmask16 __DEFAULT_FN_ATTRS _mm512_knot(__mmask16 __M)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_maskz_set1_epi32(__mmask16 __M, int __A)
Definition: avx512fintrin.h:61
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mask_mul_epi32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpge_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_fmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_unpackhi_pd(__m512d __a, __m512d __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpge_epi32_mask(__m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmplt_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline void __DEFAULT_FN_ATTRS _mm512_storeu_ps(void *__P, __m512 __A)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_abs_epi64(__m512i __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask3_fmaddsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
static __inline void __DEFAULT_FN_ATTRS _mm512_mask_storeu_ps(void *__P, __mmask16 __U, __m512 __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_set1_ps(float __w)
Definition: avx512fintrin.h:98
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_sqrt_ps(__m512 a)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask3_fmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_fmaddsub_pd(__m512d __A, __m512d __B, __m512d __C)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_or_epi32(__mmask16 __k, __m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmplt_epu64_mask(__m512i __a, __m512i __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask_fnmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_max_epu32(__m512i __A, __m512i __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_fmaddsub_ps(__m512 __A, __m512 __B, __m512 __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_min_epu32(__m512i __A, __m512i __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmplt_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmple_epi32_mask(__m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_or_epi32(__m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mullo_epi32(__m512i __A, __m512i __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_min_pd(__m512d __A, __m512d __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmple_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_add_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_and_epi64(__m512i __a, __m512i __b)
static __inline __m256i __DEFAULT_FN_ATTRS _mm512_cvttpd_epi32(__m512d a)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpeq_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mask_mul_epu32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_rsqrt14_ss(__m128 __A, __m128 __B)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_ceil_pd(__m512d __A)
static vector float vector float __b
Definition: altivec.h:387
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_rsqrt14_pd(__m512d __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmple_epu32_mask(__m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_and_epi32(__mmask16 __k, __m512i __a, __m512i __b)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_maskz_load_pd(__mmask8 __U, void const *__P)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpge_epu64_mask(__m512i __a, __m512i __b)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W)
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_rcp14_ss(__m128 __A, __m128 __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmplt_epi64_mask(__m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_andnot_epi64(__mmask8 __U, __m512i __A, __m512i __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_fmsub_pd(__m512d __A, __m512d __B, __m512d __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_maskz_mul_epi32(__mmask8 __M, __m512i __X, __m512i __Y)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpgt_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpneq_epu64_mask(__m512i __a, __m512i __b)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_mul_pd(__m512d __a, __m512d __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_sub_epi64(__mmask8 __U, __m512i __A, __m512i __B)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_castps256_ps512(__m256 __a)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_xor_epi64(__m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_broadcastsd_pd(__m128d __X)
static __inline __m128d __DEFAULT_FN_ATTRS _mm512_castpd512_pd128(__m512d __a)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_castpd256_pd512(__m256d __a)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_add_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpeq_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_or_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpneq_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_cvtepi32_pd(__m256i __A)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_add_pd(__m512d __a, __m512d __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_fmadd_ps(__m512 __A, __m512 __B, __m512 __C)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpeq_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b)
#define _MM_FROUND_CUR_DIRECTION
Definition: avx512fintrin.h:47
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmple_epi64_mask(__m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_maskz_fnmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
static __inline __mmask16 __DEFAULT_FN_ATTRS _mm512_test_epi32_mask(__m512i __A, __m512i __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask_fmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmple_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpneq_epu64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_permutex2var_pd(__m512d __A, __m512i __I, __m512d __B)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_cmpge_epi64_mask(__m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_maskz_mul_epu32(__mmask8 __M, __m512i __X, __m512i __Y)
static __inline void __DEFAULT_FN_ATTRS _mm512_store_pd(void *__P, __m512d __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_sub_epi64(__m512i __A, __m512i __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_fmsubadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_maskz_fmsubadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_set1_epi64(long long __d)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_floor_ps(__m512 __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask3_fmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS _mm512_mask_cmpneq_epi64_mask(__mmask8 __u, __m512i __a, __m512i __b)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask3_fmaddsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mask_mullo_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_and_si512(__m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_setzero_si512(void)
Definition: avx512fintrin.h:55
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_rsqrt14_sd(__m128d __A, __m128d __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_and_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_sub_pd(__m512d __a, __m512d __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask3_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_fmaddsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_mul_epi32(__m512i __X, __m512i __Y)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask_fmsubadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
#define __DEFAULT_FN_ATTRS
Definition: avx512fintrin.h:50
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_load_pd(float const *__p)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_fmsubadd_ps(__m512 __A, __m512 __B, __m512 __C)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_xor_epi32(__m512i __a, __m512i __b)
static __inline __m256i __DEFAULT_FN_ATTRS _mm256_setzero_si256(void)
Definition: avxintrin.h:1065
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask3_fmsubadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_ceil_ps(__m512 __A)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_fmsub_ps(__m512 __A, __m512 __B, __m512 __C)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask_fmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_cvttps_epu32(__m512 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_or_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpneq_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_rcp14_ps(__m512 __A)
unsigned short __mmask16
Definition: avx512fintrin.h:40
static __inline void __DEFAULT_FN_ATTRS _mm512_mask_storeu_epi32(void *__P, __mmask16 __U, __m512i __A)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_permutex2var_ps(__m512 __A, __m512i __I, __m512 __B)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_fmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_sub_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpge_epu32_mask(__m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmpneq_epi32_mask(__m512i __a, __m512i __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_broadcastss_ps(__m128 __X)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_max_epu64(__m512i __A, __m512i __B)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_mul_ps(__m512 __a, __m512 __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_add_epi32(__m512i __A, __m512i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmplt_epu32_mask(__m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_andnot_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_permutex2var_epi32(__m512i __A, __m512i __I, __m512i __B)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_cvttps_epi32(__m512 a)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask_fmaddsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpeq_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_max_ps(__m512 __A, __m512 __B)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask_fnmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask3_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
static __inline __m512d __DEFAULT_FN_ATTRS _mm512_unpacklo_pd(__m512d __a, __m512d __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_abs_epi32(__m512i __A)
static __inline void __DEFAULT_FN_ATTRS _mm512_mask_storeu_pd(void *__P, __mmask8 __U, __m512d __A)
static __inline __m512 __DEFAULT_FN_ATTRS _mm512_maskz_loadu_ps(__mmask16 __U, void const *__P)
double __v8df __attribute__((__vector_size__(64)))
Definition: avx512fintrin.h:30
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmpge_epi32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_xor_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_mask_cmple_epu32_mask(__mmask16 __u, __m512i __a, __m512i __b)
static __inline void __DEFAULT_FN_ATTRS _mm512_store_ps(void *__P, __m512 __A)
static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_sqrt_pd(__m512d a)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS _mm512_cmplt_epi32_mask(__m512i __a, __m512i __b)
static __inline __m512i __DEFAULT_FN_ATTRS _mm512_max_epi32(__m512i __A, __m512i __B)