1 /* Copyright (C) 2014-2016 Free Software Foundation, Inc.
2 
3    This file is part of GCC.
4 
5    GCC is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3, or (at your option)
8    any later version.
9 
10    GCC is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    Under Section 7 of GPL version 3, you are granted additional
16    permissions described in the GCC Runtime Library Exception, version
17    3.1, as published by the Free Software Foundation.
18 
19    You should have received a copy of the GNU General Public License and
20    a copy of the GCC Runtime Library Exception along with this program;
21    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22    <http://www.gnu.org/licenses/>.  */
23 
24 #ifndef _IMMINTRIN_H_INCLUDED
25 #error "Never use <avx512dqintrin.h> directly; include <immintrin.h> instead."
26 #endif
27 
28 #ifndef _AVX512DQINTRIN_H_INCLUDED
29 #define _AVX512DQINTRIN_H_INCLUDED
30 
31 #ifndef __AVX512DQ__
32 #pragma GCC push_options
33 #pragma GCC target("avx512dq")
34 #define __DISABLE_AVX512DQ__
35 #endif /* __AVX512DQ__ */
36 
37 extern __inline __m512d
38 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f64x2(__m128d __A)39 _mm512_broadcast_f64x2 (__m128d __A)
40 {
41   return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
42 							   __A,
43 							   _mm512_undefined_pd(),
44 							   (__mmask8) -1);
45 }
46 
47 extern __inline __m512d
48 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f64x2(__m512d __O,__mmask8 __M,__m128d __A)49 _mm512_mask_broadcast_f64x2 (__m512d __O, __mmask8 __M, __m128d __A)
50 {
51   return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
52 							   __A,
53 							   (__v8df)
54 							   __O, __M);
55 }
56 
57 extern __inline __m512d
58 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f64x2(__mmask8 __M,__m128d __A)59 _mm512_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
60 {
61   return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
62 							   __A,
63 							   (__v8df)
64 							   _mm512_setzero_ps (),
65 							   __M);
66 }
67 
68 extern __inline __m512i
69 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i64x2(__m128i __A)70 _mm512_broadcast_i64x2 (__m128i __A)
71 {
72   return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
73 							   __A,
74 							   _mm512_undefined_epi32(),
75 							   (__mmask8) -1);
76 }
77 
78 extern __inline __m512i
79 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i64x2(__m512i __O,__mmask8 __M,__m128i __A)80 _mm512_mask_broadcast_i64x2 (__m512i __O, __mmask8 __M, __m128i __A)
81 {
82   return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
83 							   __A,
84 							   (__v8di)
85 							   __O, __M);
86 }
87 
88 extern __inline __m512i
89 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i64x2(__mmask8 __M,__m128i __A)90 _mm512_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
91 {
92   return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
93 							   __A,
94 							   (__v8di)
95 							   _mm512_setzero_si512 (),
96 							   __M);
97 }
98 
99 extern __inline __m512
100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f32x2(__m128 __A)101 _mm512_broadcast_f32x2 (__m128 __A)
102 {
103   return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
104 							  (__v16sf)_mm512_undefined_ps(),
105 							  (__mmask16) -1);
106 }
107 
108 extern __inline __m512
109 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f32x2(__m512 __O,__mmask16 __M,__m128 __A)110 _mm512_mask_broadcast_f32x2 (__m512 __O, __mmask16 __M, __m128 __A)
111 {
112   return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
113 							  (__v16sf)
114 							  __O, __M);
115 }
116 
117 extern __inline __m512
118 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f32x2(__mmask16 __M,__m128 __A)119 _mm512_maskz_broadcast_f32x2 (__mmask16 __M, __m128 __A)
120 {
121   return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
122 							  (__v16sf)
123 							  _mm512_setzero_ps (),
124 							  __M);
125 }
126 
127 extern __inline __m512i
128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i32x2(__m128i __A)129 _mm512_broadcast_i32x2 (__m128i __A)
130 {
131   return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
132 							   __A,
133 							   (__v16si)_mm512_undefined_epi32(),
134 							   (__mmask16) -1);
135 }
136 
137 extern __inline __m512i
138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i32x2(__m512i __O,__mmask16 __M,__m128i __A)139 _mm512_mask_broadcast_i32x2 (__m512i __O, __mmask16 __M, __m128i __A)
140 {
141   return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
142 							   __A,
143 							   (__v16si)
144 							   __O, __M);
145 }
146 
147 extern __inline __m512i
148 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i32x2(__mmask16 __M,__m128i __A)149 _mm512_maskz_broadcast_i32x2 (__mmask16 __M, __m128i __A)
150 {
151   return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
152 							   __A,
153 							   (__v16si)
154 							   _mm512_setzero_si512 (),
155 							   __M);
156 }
157 
158 extern __inline __m512
159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f32x8(__m256 __A)160 _mm512_broadcast_f32x8 (__m256 __A)
161 {
162   return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
163 							  _mm512_undefined_ps(),
164 							  (__mmask16) -1);
165 }
166 
167 extern __inline __m512
168 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f32x8(__m512 __O,__mmask16 __M,__m256 __A)169 _mm512_mask_broadcast_f32x8 (__m512 __O, __mmask16 __M, __m256 __A)
170 {
171   return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
172 							  (__v16sf)__O,
173 							  __M);
174 }
175 
176 extern __inline __m512
177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f32x8(__mmask16 __M,__m256 __A)178 _mm512_maskz_broadcast_f32x8 (__mmask16 __M, __m256 __A)
179 {
180   return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
181 							  (__v16sf)
182 							  _mm512_setzero_ps (),
183 							  __M);
184 }
185 
186 extern __inline __m512i
187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i32x8(__m256i __A)188 _mm512_broadcast_i32x8 (__m256i __A)
189 {
190   return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
191 							   __A,
192 							   (__v16si)_mm512_undefined_epi32(),
193 							   (__mmask16) -1);
194 }
195 
196 extern __inline __m512i
197 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i32x8(__m512i __O,__mmask16 __M,__m256i __A)198 _mm512_mask_broadcast_i32x8 (__m512i __O, __mmask16 __M, __m256i __A)
199 {
200   return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
201 							   __A,
202 							   (__v16si)__O,
203 							   __M);
204 }
205 
206 extern __inline __m512i
207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i32x8(__mmask16 __M,__m256i __A)208 _mm512_maskz_broadcast_i32x8 (__mmask16 __M, __m256i __A)
209 {
210   return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
211 							   __A,
212 							   (__v16si)
213 							   _mm512_setzero_si512 (),
214 							   __M);
215 }
216 
217 extern __inline __m512i
218 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mullo_epi64(__m512i __A,__m512i __B)219 _mm512_mullo_epi64 (__m512i __A, __m512i __B)
220 {
221   return (__m512i) ((__v8du) __A * (__v8du) __B);
222 }
223 
224 extern __inline __m512i
225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mullo_epi64(__m512i __W,__mmask8 __U,__m512i __A,__m512i __B)226 _mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A,
227 			 __m512i __B)
228 {
229   return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
230 						  (__v8di) __B,
231 						  (__v8di) __W,
232 						  (__mmask8) __U);
233 }
234 
235 extern __inline __m512i
236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mullo_epi64(__mmask8 __U,__m512i __A,__m512i __B)237 _mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
238 {
239   return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
240 						  (__v8di) __B,
241 						  (__v8di)
242 						  _mm512_setzero_si512 (),
243 						  (__mmask8) __U);
244 }
245 
246 extern __inline __m512d
247 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_xor_pd(__m512d __A,__m512d __B)248 _mm512_xor_pd (__m512d __A, __m512d __B)
249 {
250   return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
251 						 (__v8df) __B,
252 						 (__v8df)
253 						 _mm512_setzero_pd (),
254 						 (__mmask8) -1);
255 }
256 
257 extern __inline __m512d
258 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_xor_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)259 _mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A,
260 		    __m512d __B)
261 {
262   return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
263 						 (__v8df) __B,
264 						 (__v8df) __W,
265 						 (__mmask8) __U);
266 }
267 
268 extern __inline __m512d
269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_xor_pd(__mmask8 __U,__m512d __A,__m512d __B)270 _mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B)
271 {
272   return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
273 						 (__v8df) __B,
274 						 (__v8df)
275 						 _mm512_setzero_pd (),
276 						 (__mmask8) __U);
277 }
278 
279 extern __inline __m512
280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_xor_ps(__m512 __A,__m512 __B)281 _mm512_xor_ps (__m512 __A, __m512 __B)
282 {
283   return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
284 						(__v16sf) __B,
285 						(__v16sf)
286 						_mm512_setzero_ps (),
287 						(__mmask16) -1);
288 }
289 
290 extern __inline __m512
291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_xor_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)292 _mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
293 {
294   return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
295 						(__v16sf) __B,
296 						(__v16sf) __W,
297 						(__mmask16) __U);
298 }
299 
300 extern __inline __m512
301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_xor_ps(__mmask16 __U,__m512 __A,__m512 __B)302 _mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B)
303 {
304   return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
305 						(__v16sf) __B,
306 						(__v16sf)
307 						_mm512_setzero_ps (),
308 						(__mmask16) __U);
309 }
310 
311 extern __inline __m512d
312 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_or_pd(__m512d __A,__m512d __B)313 _mm512_or_pd (__m512d __A, __m512d __B)
314 {
315   return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
316 						(__v8df) __B,
317 						(__v8df)
318 						_mm512_setzero_pd (),
319 						(__mmask8) -1);
320 }
321 
322 extern __inline __m512d
323 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_or_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)324 _mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
325 {
326   return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
327 						(__v8df) __B,
328 						(__v8df) __W,
329 						(__mmask8) __U);
330 }
331 
332 extern __inline __m512d
333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_or_pd(__mmask8 __U,__m512d __A,__m512d __B)334 _mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B)
335 {
336   return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
337 						(__v8df) __B,
338 						(__v8df)
339 						_mm512_setzero_pd (),
340 						(__mmask8) __U);
341 }
342 
343 extern __inline __m512
344 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_or_ps(__m512 __A,__m512 __B)345 _mm512_or_ps (__m512 __A, __m512 __B)
346 {
347   return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
348 					       (__v16sf) __B,
349 					       (__v16sf)
350 					       _mm512_setzero_ps (),
351 					       (__mmask16) -1);
352 }
353 
354 extern __inline __m512
355 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_or_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)356 _mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
357 {
358   return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
359 					       (__v16sf) __B,
360 					       (__v16sf) __W,
361 					       (__mmask16) __U);
362 }
363 
364 extern __inline __m512
365 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_or_ps(__mmask16 __U,__m512 __A,__m512 __B)366 _mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B)
367 {
368   return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
369 					       (__v16sf) __B,
370 					       (__v16sf)
371 					       _mm512_setzero_ps (),
372 					       (__mmask16) __U);
373 }
374 
375 extern __inline __m512d
376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_and_pd(__m512d __A,__m512d __B)377 _mm512_and_pd (__m512d __A, __m512d __B)
378 {
379   return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
380 						 (__v8df) __B,
381 						 (__v8df)
382 						 _mm512_setzero_pd (),
383 						 (__mmask8) -1);
384 }
385 
386 extern __inline __m512d
387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_and_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)388 _mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A,
389 		    __m512d __B)
390 {
391   return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
392 						 (__v8df) __B,
393 						 (__v8df) __W,
394 						 (__mmask8) __U);
395 }
396 
397 extern __inline __m512d
398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_and_pd(__mmask8 __U,__m512d __A,__m512d __B)399 _mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B)
400 {
401   return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
402 						 (__v8df) __B,
403 						 (__v8df)
404 						 _mm512_setzero_pd (),
405 						 (__mmask8) __U);
406 }
407 
408 extern __inline __m512
409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_and_ps(__m512 __A,__m512 __B)410 _mm512_and_ps (__m512 __A, __m512 __B)
411 {
412   return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
413 						(__v16sf) __B,
414 						(__v16sf)
415 						_mm512_setzero_ps (),
416 						(__mmask16) -1);
417 }
418 
419 extern __inline __m512
420 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_and_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)421 _mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
422 {
423   return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
424 						(__v16sf) __B,
425 						(__v16sf) __W,
426 						(__mmask16) __U);
427 }
428 
429 extern __inline __m512
430 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_and_ps(__mmask16 __U,__m512 __A,__m512 __B)431 _mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B)
432 {
433   return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
434 						(__v16sf) __B,
435 						(__v16sf)
436 						_mm512_setzero_ps (),
437 						(__mmask16) __U);
438 }
439 
440 extern __inline __m512d
441 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_andnot_pd(__m512d __A,__m512d __B)442 _mm512_andnot_pd (__m512d __A, __m512d __B)
443 {
444   return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
445 						  (__v8df) __B,
446 						  (__v8df)
447 						  _mm512_setzero_pd (),
448 						  (__mmask8) -1);
449 }
450 
451 extern __inline __m512d
452 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_andnot_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)453 _mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A,
454 		       __m512d __B)
455 {
456   return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
457 						  (__v8df) __B,
458 						  (__v8df) __W,
459 						  (__mmask8) __U);
460 }
461 
462 extern __inline __m512d
463 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_andnot_pd(__mmask8 __U,__m512d __A,__m512d __B)464 _mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B)
465 {
466   return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
467 						  (__v8df) __B,
468 						  (__v8df)
469 						  _mm512_setzero_pd (),
470 						  (__mmask8) __U);
471 }
472 
473 extern __inline __m512
474 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_andnot_ps(__m512 __A,__m512 __B)475 _mm512_andnot_ps (__m512 __A, __m512 __B)
476 {
477   return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
478 						 (__v16sf) __B,
479 						 (__v16sf)
480 						 _mm512_setzero_ps (),
481 						 (__mmask16) -1);
482 }
483 
484 extern __inline __m512
485 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_andnot_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)486 _mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A,
487 		       __m512 __B)
488 {
489   return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
490 						 (__v16sf) __B,
491 						 (__v16sf) __W,
492 						 (__mmask16) __U);
493 }
494 
495 extern __inline __m512
496 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_andnot_ps(__mmask16 __U,__m512 __A,__m512 __B)497 _mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B)
498 {
499   return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
500 						 (__v16sf) __B,
501 						 (__v16sf)
502 						 _mm512_setzero_ps (),
503 						 (__mmask16) __U);
504 }
505 
506 extern __inline __mmask16
507 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movepi32_mask(__m512i __A)508 _mm512_movepi32_mask (__m512i __A)
509 {
510   return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A);
511 }
512 
513 extern __inline __mmask8
514 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movepi64_mask(__m512i __A)515 _mm512_movepi64_mask (__m512i __A)
516 {
517   return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A);
518 }
519 
520 extern __inline __m512i
521 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movm_epi32(__mmask16 __A)522 _mm512_movm_epi32 (__mmask16 __A)
523 {
524   return (__m512i) __builtin_ia32_cvtmask2d512 (__A);
525 }
526 
527 extern __inline __m512i
528 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movm_epi64(__mmask8 __A)529 _mm512_movm_epi64 (__mmask8 __A)
530 {
531   return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
532 }
533 
534 extern __inline __m512i
535 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttpd_epi64(__m512d __A)536 _mm512_cvttpd_epi64 (__m512d __A)
537 {
538   return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
539 						     (__v8di)
540 						     _mm512_setzero_si512 (),
541 						     (__mmask8) -1,
542 						     _MM_FROUND_CUR_DIRECTION);
543 }
544 
545 extern __inline __m512i
546 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)547 _mm512_mask_cvttpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A)
548 {
549   return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
550 						     (__v8di) __W,
551 						     (__mmask8) __U,
552 						     _MM_FROUND_CUR_DIRECTION);
553 }
554 
555 extern __inline __m512i
556 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttpd_epi64(__mmask8 __U,__m512d __A)557 _mm512_maskz_cvttpd_epi64 (__mmask8 __U, __m512d __A)
558 {
559   return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
560 						     (__v8di)
561 						     _mm512_setzero_si512 (),
562 						     (__mmask8) __U,
563 						     _MM_FROUND_CUR_DIRECTION);
564 }
565 
566 extern __inline __m512i
567 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttpd_epu64(__m512d __A)568 _mm512_cvttpd_epu64 (__m512d __A)
569 {
570   return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
571 						      (__v8di)
572 						      _mm512_setzero_si512 (),
573 						      (__mmask8) -1,
574 						      _MM_FROUND_CUR_DIRECTION);
575 }
576 
577 extern __inline __m512i
578 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)579 _mm512_mask_cvttpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A)
580 {
581   return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
582 						      (__v8di) __W,
583 						      (__mmask8) __U,
584 						      _MM_FROUND_CUR_DIRECTION);
585 }
586 
587 extern __inline __m512i
588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttpd_epu64(__mmask8 __U,__m512d __A)589 _mm512_maskz_cvttpd_epu64 (__mmask8 __U, __m512d __A)
590 {
591   return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
592 						      (__v8di)
593 						      _mm512_setzero_si512 (),
594 						      (__mmask8) __U,
595 						      _MM_FROUND_CUR_DIRECTION);
596 }
597 
598 extern __inline __m512i
599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttps_epi64(__m256 __A)600 _mm512_cvttps_epi64 (__m256 __A)
601 {
602   return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
603 						     (__v8di)
604 						     _mm512_setzero_si512 (),
605 						     (__mmask8) -1,
606 						     _MM_FROUND_CUR_DIRECTION);
607 }
608 
609 extern __inline __m512i
610 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttps_epi64(__m512i __W,__mmask8 __U,__m256 __A)611 _mm512_mask_cvttps_epi64 (__m512i __W, __mmask8 __U, __m256 __A)
612 {
613   return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
614 						     (__v8di) __W,
615 						     (__mmask8) __U,
616 						     _MM_FROUND_CUR_DIRECTION);
617 }
618 
619 extern __inline __m512i
620 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttps_epi64(__mmask8 __U,__m256 __A)621 _mm512_maskz_cvttps_epi64 (__mmask8 __U, __m256 __A)
622 {
623   return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
624 						     (__v8di)
625 						     _mm512_setzero_si512 (),
626 						     (__mmask8) __U,
627 						     _MM_FROUND_CUR_DIRECTION);
628 }
629 
630 extern __inline __m512i
631 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttps_epu64(__m256 __A)632 _mm512_cvttps_epu64 (__m256 __A)
633 {
634   return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
635 						      (__v8di)
636 						      _mm512_setzero_si512 (),
637 						      (__mmask8) -1,
638 						      _MM_FROUND_CUR_DIRECTION);
639 }
640 
641 extern __inline __m512i
642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttps_epu64(__m512i __W,__mmask8 __U,__m256 __A)643 _mm512_mask_cvttps_epu64 (__m512i __W, __mmask8 __U, __m256 __A)
644 {
645   return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
646 						      (__v8di) __W,
647 						      (__mmask8) __U,
648 						      _MM_FROUND_CUR_DIRECTION);
649 }
650 
651 extern __inline __m512i
652 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttps_epu64(__mmask8 __U,__m256 __A)653 _mm512_maskz_cvttps_epu64 (__mmask8 __U, __m256 __A)
654 {
655   return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
656 						      (__v8di)
657 						      _mm512_setzero_si512 (),
658 						      (__mmask8) __U,
659 						      _MM_FROUND_CUR_DIRECTION);
660 }
661 
662 extern __inline __m512i
663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpd_epi64(__m512d __A)664 _mm512_cvtpd_epi64 (__m512d __A)
665 {
666   return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
667 						    (__v8di)
668 						    _mm512_setzero_si512 (),
669 						    (__mmask8) -1,
670 						    _MM_FROUND_CUR_DIRECTION);
671 }
672 
673 extern __inline __m512i
674 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)675 _mm512_mask_cvtpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A)
676 {
677   return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
678 						    (__v8di) __W,
679 						    (__mmask8) __U,
680 						    _MM_FROUND_CUR_DIRECTION);
681 }
682 
683 extern __inline __m512i
684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpd_epi64(__mmask8 __U,__m512d __A)685 _mm512_maskz_cvtpd_epi64 (__mmask8 __U, __m512d __A)
686 {
687   return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
688 						    (__v8di)
689 						    _mm512_setzero_si512 (),
690 						    (__mmask8) __U,
691 						    _MM_FROUND_CUR_DIRECTION);
692 }
693 
694 extern __inline __m512i
695 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpd_epu64(__m512d __A)696 _mm512_cvtpd_epu64 (__m512d __A)
697 {
698   return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
699 						     (__v8di)
700 						     _mm512_setzero_si512 (),
701 						     (__mmask8) -1,
702 						     _MM_FROUND_CUR_DIRECTION);
703 }
704 
705 extern __inline __m512i
706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)707 _mm512_mask_cvtpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A)
708 {
709   return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
710 						     (__v8di) __W,
711 						     (__mmask8) __U,
712 						     _MM_FROUND_CUR_DIRECTION);
713 }
714 
715 extern __inline __m512i
716 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpd_epu64(__mmask8 __U,__m512d __A)717 _mm512_maskz_cvtpd_epu64 (__mmask8 __U, __m512d __A)
718 {
719   return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
720 						     (__v8di)
721 						     _mm512_setzero_si512 (),
722 						     (__mmask8) __U,
723 						     _MM_FROUND_CUR_DIRECTION);
724 }
725 
726 extern __inline __m512i
727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtps_epi64(__m256 __A)728 _mm512_cvtps_epi64 (__m256 __A)
729 {
730   return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
731 						    (__v8di)
732 						    _mm512_setzero_si512 (),
733 						    (__mmask8) -1,
734 						    _MM_FROUND_CUR_DIRECTION);
735 }
736 
737 extern __inline __m512i
738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtps_epi64(__m512i __W,__mmask8 __U,__m256 __A)739 _mm512_mask_cvtps_epi64 (__m512i __W, __mmask8 __U, __m256 __A)
740 {
741   return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
742 						    (__v8di) __W,
743 						    (__mmask8) __U,
744 						    _MM_FROUND_CUR_DIRECTION);
745 }
746 
747 extern __inline __m512i
748 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtps_epi64(__mmask8 __U,__m256 __A)749 _mm512_maskz_cvtps_epi64 (__mmask8 __U, __m256 __A)
750 {
751   return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
752 						    (__v8di)
753 						    _mm512_setzero_si512 (),
754 						    (__mmask8) __U,
755 						    _MM_FROUND_CUR_DIRECTION);
756 }
757 
758 extern __inline __m512i
759 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtps_epu64(__m256 __A)760 _mm512_cvtps_epu64 (__m256 __A)
761 {
762   return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
763 						     (__v8di)
764 						     _mm512_setzero_si512 (),
765 						     (__mmask8) -1,
766 						     _MM_FROUND_CUR_DIRECTION);
767 }
768 
769 extern __inline __m512i
770 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtps_epu64(__m512i __W,__mmask8 __U,__m256 __A)771 _mm512_mask_cvtps_epu64 (__m512i __W, __mmask8 __U, __m256 __A)
772 {
773   return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
774 						     (__v8di) __W,
775 						     (__mmask8) __U,
776 						     _MM_FROUND_CUR_DIRECTION);
777 }
778 
779 extern __inline __m512i
780 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtps_epu64(__mmask8 __U,__m256 __A)781 _mm512_maskz_cvtps_epu64 (__mmask8 __U, __m256 __A)
782 {
783   return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
784 						     (__v8di)
785 						     _mm512_setzero_si512 (),
786 						     (__mmask8) __U,
787 						     _MM_FROUND_CUR_DIRECTION);
788 }
789 
790 extern __inline __m256
791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_ps(__m512i __A)792 _mm512_cvtepi64_ps (__m512i __A)
793 {
794   return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
795 						   (__v8sf)
796 						   _mm256_setzero_ps (),
797 						   (__mmask8) -1,
798 						   _MM_FROUND_CUR_DIRECTION);
799 }
800 
801 extern __inline __m256
802 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_ps(__m256 __W,__mmask8 __U,__m512i __A)803 _mm512_mask_cvtepi64_ps (__m256 __W, __mmask8 __U, __m512i __A)
804 {
805   return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
806 						   (__v8sf) __W,
807 						   (__mmask8) __U,
808 						   _MM_FROUND_CUR_DIRECTION);
809 }
810 
811 extern __inline __m256
812 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi64_ps(__mmask8 __U,__m512i __A)813 _mm512_maskz_cvtepi64_ps (__mmask8 __U, __m512i __A)
814 {
815   return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
816 						   (__v8sf)
817 						   _mm256_setzero_ps (),
818 						   (__mmask8) __U,
819 						   _MM_FROUND_CUR_DIRECTION);
820 }
821 
822 extern __inline __m256
823 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu64_ps(__m512i __A)824 _mm512_cvtepu64_ps (__m512i __A)
825 {
826   return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
827 						    (__v8sf)
828 						    _mm256_setzero_ps (),
829 						    (__mmask8) -1,
830 						    _MM_FROUND_CUR_DIRECTION);
831 }
832 
833 extern __inline __m256
834 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu64_ps(__m256 __W,__mmask8 __U,__m512i __A)835 _mm512_mask_cvtepu64_ps (__m256 __W, __mmask8 __U, __m512i __A)
836 {
837   return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
838 						    (__v8sf) __W,
839 						    (__mmask8) __U,
840 						    _MM_FROUND_CUR_DIRECTION);
841 }
842 
843 extern __inline __m256
844 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu64_ps(__mmask8 __U,__m512i __A)845 _mm512_maskz_cvtepu64_ps (__mmask8 __U, __m512i __A)
846 {
847   return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
848 						    (__v8sf)
849 						    _mm256_setzero_ps (),
850 						    (__mmask8) __U,
851 						    _MM_FROUND_CUR_DIRECTION);
852 }
853 
854 extern __inline __m512d
855 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_pd(__m512i __A)856 _mm512_cvtepi64_pd (__m512i __A)
857 {
858   return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
859 						    (__v8df)
860 						    _mm512_setzero_pd (),
861 						    (__mmask8) -1,
862 						    _MM_FROUND_CUR_DIRECTION);
863 }
864 
865 extern __inline __m512d
866 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_pd(__m512d __W,__mmask8 __U,__m512i __A)867 _mm512_mask_cvtepi64_pd (__m512d __W, __mmask8 __U, __m512i __A)
868 {
869   return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
870 						    (__v8df) __W,
871 						    (__mmask8) __U,
872 						    _MM_FROUND_CUR_DIRECTION);
873 }
874 
875 extern __inline __m512d
876 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi64_pd(__mmask8 __U,__m512i __A)877 _mm512_maskz_cvtepi64_pd (__mmask8 __U, __m512i __A)
878 {
879   return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
880 						    (__v8df)
881 						    _mm512_setzero_pd (),
882 						    (__mmask8) __U,
883 						    _MM_FROUND_CUR_DIRECTION);
884 }
885 
886 extern __inline __m512d
887 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu64_pd(__m512i __A)888 _mm512_cvtepu64_pd (__m512i __A)
889 {
890   return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
891 						     (__v8df)
892 						     _mm512_setzero_pd (),
893 						     (__mmask8) -1,
894 						     _MM_FROUND_CUR_DIRECTION);
895 }
896 
897 extern __inline __m512d
898 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu64_pd(__m512d __W,__mmask8 __U,__m512i __A)899 _mm512_mask_cvtepu64_pd (__m512d __W, __mmask8 __U, __m512i __A)
900 {
901   return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
902 						     (__v8df) __W,
903 						     (__mmask8) __U,
904 						     _MM_FROUND_CUR_DIRECTION);
905 }
906 
907 extern __inline __m512d
908 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu64_pd(__mmask8 __U,__m512i __A)909 _mm512_maskz_cvtepu64_pd (__mmask8 __U, __m512i __A)
910 {
911   return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
912 						     (__v8df)
913 						     _mm512_setzero_pd (),
914 						     (__mmask8) __U,
915 						     _MM_FROUND_CUR_DIRECTION);
916 }
917 
918 #ifdef __OPTIMIZE__
919 extern __inline __m512d
920 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_range_pd(__m512d __A,__m512d __B,int __C)921 _mm512_range_pd (__m512d __A, __m512d __B, int __C)
922 {
923   return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
924 						   (__v8df) __B, __C,
925 						   (__v8df)
926 						   _mm512_setzero_pd (),
927 						   (__mmask8) -1,
928 						   _MM_FROUND_CUR_DIRECTION);
929 }
930 
931 extern __inline __m512d
932 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_range_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B,int __C)933 _mm512_mask_range_pd (__m512d __W, __mmask8 __U,
934 		      __m512d __A, __m512d __B, int __C)
935 {
936   return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
937 						   (__v8df) __B, __C,
938 						   (__v8df) __W,
939 						   (__mmask8) __U,
940 						   _MM_FROUND_CUR_DIRECTION);
941 }
942 
943 extern __inline __m512d
944 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_range_pd(__mmask8 __U,__m512d __A,__m512d __B,int __C)945 _mm512_maskz_range_pd (__mmask8 __U, __m512d __A, __m512d __B, int __C)
946 {
947   return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
948 						   (__v8df) __B, __C,
949 						   (__v8df)
950 						   _mm512_setzero_pd (),
951 						   (__mmask8) __U,
952 						   _MM_FROUND_CUR_DIRECTION);
953 }
954 
955 extern __inline __m512
956 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_range_ps(__m512 __A,__m512 __B,int __C)957 _mm512_range_ps (__m512 __A, __m512 __B, int __C)
958 {
959   return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
960 						  (__v16sf) __B, __C,
961 						  (__v16sf)
962 						  _mm512_setzero_ps (),
963 						  (__mmask16) -1,
964 						  _MM_FROUND_CUR_DIRECTION);
965 }
966 
967 extern __inline __m512
968 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_range_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B,int __C)969 _mm512_mask_range_ps (__m512 __W, __mmask16 __U,
970 		      __m512 __A, __m512 __B, int __C)
971 {
972   return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
973 						  (__v16sf) __B, __C,
974 						  (__v16sf) __W,
975 						  (__mmask16) __U,
976 						  _MM_FROUND_CUR_DIRECTION);
977 }
978 
979 extern __inline __m512
980 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_range_ps(__mmask16 __U,__m512 __A,__m512 __B,int __C)981 _mm512_maskz_range_ps (__mmask16 __U, __m512 __A, __m512 __B, int __C)
982 {
983   return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
984 						  (__v16sf) __B, __C,
985 						  (__v16sf)
986 						  _mm512_setzero_ps (),
987 						  (__mmask16) __U,
988 						  _MM_FROUND_CUR_DIRECTION);
989 }
990 
991 extern __inline __m128d
992 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_reduce_sd(__m128d __A,__m128d __B,int __C)993 _mm_reduce_sd (__m128d __A, __m128d __B, int __C)
994 {
995   return (__m128d) __builtin_ia32_reducesd ((__v2df) __A,
996 						 (__v2df) __B, __C);
997 }
998 
999 extern __inline __m128
1000 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_reduce_ss(__m128 __A,__m128 __B,int __C)1001 _mm_reduce_ss (__m128 __A, __m128 __B, int __C)
1002 {
1003   return (__m128) __builtin_ia32_reducess ((__v4sf) __A,
1004 						(__v4sf) __B, __C);
1005 }
1006 
1007 extern __inline __m128d
1008 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_range_sd(__m128d __A,__m128d __B,int __C)1009 _mm_range_sd (__m128d __A, __m128d __B, int __C)
1010 {
1011   return (__m128d) __builtin_ia32_rangesd128_round ((__v2df) __A,
1012 						   (__v2df) __B, __C,
1013 						   _MM_FROUND_CUR_DIRECTION);
1014 }
1015 
1016 
1017 extern __inline __m128
1018 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_range_ss(__m128 __A,__m128 __B,int __C)1019 _mm_range_ss (__m128 __A, __m128 __B, int __C)
1020 {
1021   return (__m128) __builtin_ia32_rangess128_round ((__v4sf) __A,
1022 						  (__v4sf) __B, __C,
1023 						  _MM_FROUND_CUR_DIRECTION);
1024 }
1025 
1026 extern __inline __m128d
1027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_range_round_sd(__m128d __A,__m128d __B,int __C,const int __R)1028 _mm_range_round_sd (__m128d __A, __m128d __B, int __C, const int __R)
1029 {
1030   return (__m128d) __builtin_ia32_rangesd128_round ((__v2df) __A,
1031 						   (__v2df) __B, __C,
1032 						   __R);
1033 }
1034 
1035 extern __inline __m128
1036 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_range_round_ss(__m128 __A,__m128 __B,int __C,const int __R)1037 _mm_range_round_ss (__m128 __A, __m128 __B, int __C, const int __R)
1038 {
1039   return (__m128) __builtin_ia32_rangess128_round ((__v4sf) __A,
1040 						  (__v4sf) __B, __C,
1041 						  __R);
1042 }
1043 
1044 extern __inline __mmask8
1045 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fpclass_ss_mask(__m128 __A,const int __imm)1046 _mm_fpclass_ss_mask (__m128 __A, const int __imm)
1047 {
1048   return (__mmask8) __builtin_ia32_fpclassss ((__v4sf) __A, __imm);
1049 }
1050 
1051 extern __inline __mmask8
1052 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fpclass_sd_mask(__m128d __A,const int __imm)1053 _mm_fpclass_sd_mask (__m128d __A, const int __imm)
1054 {
1055   return (__mmask8) __builtin_ia32_fpclasssd ((__v2df) __A, __imm);
1056 }
1057 
1058 extern __inline __m512i
1059 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtt_roundpd_epi64(__m512d __A,const int __R)1060 _mm512_cvtt_roundpd_epi64 (__m512d __A, const int __R)
1061 {
1062   return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
1063 						     (__v8di)
1064 						     _mm512_setzero_si512 (),
1065 						     (__mmask8) -1,
1066 						     __R);
1067 }
1068 
1069 extern __inline __m512i
1070 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtt_roundpd_epi64(__m512i __W,__mmask8 __U,__m512d __A,const int __R)1071 _mm512_mask_cvtt_roundpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A,
1072 				const int __R)
1073 {
1074   return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
1075 						     (__v8di) __W,
1076 						     (__mmask8) __U,
1077 						     __R);
1078 }
1079 
1080 extern __inline __m512i
1081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtt_roundpd_epi64(__mmask8 __U,__m512d __A,const int __R)1082 _mm512_maskz_cvtt_roundpd_epi64 (__mmask8 __U, __m512d __A,
1083 				 const int __R)
1084 {
1085   return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
1086 						     (__v8di)
1087 						     _mm512_setzero_si512 (),
1088 						     (__mmask8) __U,
1089 						     __R);
1090 }
1091 
1092 extern __inline __m512i
1093 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtt_roundpd_epu64(__m512d __A,const int __R)1094 _mm512_cvtt_roundpd_epu64 (__m512d __A, const int __R)
1095 {
1096   return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
1097 						      (__v8di)
1098 						      _mm512_setzero_si512 (),
1099 						      (__mmask8) -1,
1100 						      __R);
1101 }
1102 
1103 extern __inline __m512i
1104 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtt_roundpd_epu64(__m512i __W,__mmask8 __U,__m512d __A,const int __R)1105 _mm512_mask_cvtt_roundpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A,
1106 				const int __R)
1107 {
1108   return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
1109 						      (__v8di) __W,
1110 						      (__mmask8) __U,
1111 						      __R);
1112 }
1113 
1114 extern __inline __m512i
1115 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtt_roundpd_epu64(__mmask8 __U,__m512d __A,const int __R)1116 _mm512_maskz_cvtt_roundpd_epu64 (__mmask8 __U, __m512d __A,
1117 				 const int __R)
1118 {
1119   return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
1120 						      (__v8di)
1121 						      _mm512_setzero_si512 (),
1122 						      (__mmask8) __U,
1123 						      __R);
1124 }
1125 
1126 extern __inline __m512i
1127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtt_roundps_epi64(__m256 __A,const int __R)1128 _mm512_cvtt_roundps_epi64 (__m256 __A, const int __R)
1129 {
1130   return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
1131 						     (__v8di)
1132 						     _mm512_setzero_si512 (),
1133 						     (__mmask8) -1,
1134 						     __R);
1135 }
1136 
1137 extern __inline __m512i
1138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtt_roundps_epi64(__m512i __W,__mmask8 __U,__m256 __A,const int __R)1139 _mm512_mask_cvtt_roundps_epi64 (__m512i __W, __mmask8 __U, __m256 __A,
1140 				const int __R)
1141 {
1142   return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
1143 						     (__v8di) __W,
1144 						     (__mmask8) __U,
1145 						     __R);
1146 }
1147 
1148 extern __inline __m512i
1149 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtt_roundps_epi64(__mmask8 __U,__m256 __A,const int __R)1150 _mm512_maskz_cvtt_roundps_epi64 (__mmask8 __U, __m256 __A,
1151 				 const int __R)
1152 {
1153   return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
1154 						     (__v8di)
1155 						     _mm512_setzero_si512 (),
1156 						     (__mmask8) __U,
1157 						     __R);
1158 }
1159 
1160 extern __inline __m512i
1161 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtt_roundps_epu64(__m256 __A,const int __R)1162 _mm512_cvtt_roundps_epu64 (__m256 __A, const int __R)
1163 {
1164   return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
1165 						      (__v8di)
1166 						      _mm512_setzero_si512 (),
1167 						      (__mmask8) -1,
1168 						      __R);
1169 }
1170 
1171 extern __inline __m512i
1172 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtt_roundps_epu64(__m512i __W,__mmask8 __U,__m256 __A,const int __R)1173 _mm512_mask_cvtt_roundps_epu64 (__m512i __W, __mmask8 __U, __m256 __A,
1174 				const int __R)
1175 {
1176   return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
1177 						      (__v8di) __W,
1178 						      (__mmask8) __U,
1179 						      __R);
1180 }
1181 
1182 extern __inline __m512i
1183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtt_roundps_epu64(__mmask8 __U,__m256 __A,const int __R)1184 _mm512_maskz_cvtt_roundps_epu64 (__mmask8 __U, __m256 __A,
1185 				 const int __R)
1186 {
1187   return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
1188 						      (__v8di)
1189 						      _mm512_setzero_si512 (),
1190 						      (__mmask8) __U,
1191 						      __R);
1192 }
1193 
1194 extern __inline __m512i
1195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundpd_epi64(__m512d __A,const int __R)1196 _mm512_cvt_roundpd_epi64 (__m512d __A, const int __R)
1197 {
1198   return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
1199 						    (__v8di)
1200 						    _mm512_setzero_si512 (),
1201 						    (__mmask8) -1,
1202 						    __R);
1203 }
1204 
1205 extern __inline __m512i
1206 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundpd_epi64(__m512i __W,__mmask8 __U,__m512d __A,const int __R)1207 _mm512_mask_cvt_roundpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A,
1208 			       const int __R)
1209 {
1210   return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
1211 						    (__v8di) __W,
1212 						    (__mmask8) __U,
1213 						    __R);
1214 }
1215 
1216 extern __inline __m512i
1217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundpd_epi64(__mmask8 __U,__m512d __A,const int __R)1218 _mm512_maskz_cvt_roundpd_epi64 (__mmask8 __U, __m512d __A,
1219 				const int __R)
1220 {
1221   return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
1222 						    (__v8di)
1223 						    _mm512_setzero_si512 (),
1224 						    (__mmask8) __U,
1225 						    __R);
1226 }
1227 
1228 extern __inline __m512i
1229 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundpd_epu64(__m512d __A,const int __R)1230 _mm512_cvt_roundpd_epu64 (__m512d __A, const int __R)
1231 {
1232   return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
1233 						     (__v8di)
1234 						     _mm512_setzero_si512 (),
1235 						     (__mmask8) -1,
1236 						     __R);
1237 }
1238 
1239 extern __inline __m512i
1240 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundpd_epu64(__m512i __W,__mmask8 __U,__m512d __A,const int __R)1241 _mm512_mask_cvt_roundpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A,
1242 			       const int __R)
1243 {
1244   return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
1245 						     (__v8di) __W,
1246 						     (__mmask8) __U,
1247 						     __R);
1248 }
1249 
1250 extern __inline __m512i
1251 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundpd_epu64(__mmask8 __U,__m512d __A,const int __R)1252 _mm512_maskz_cvt_roundpd_epu64 (__mmask8 __U, __m512d __A,
1253 				const int __R)
1254 {
1255   return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
1256 						     (__v8di)
1257 						     _mm512_setzero_si512 (),
1258 						     (__mmask8) __U,
1259 						     __R);
1260 }
1261 
1262 extern __inline __m512i
1263 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundps_epi64(__m256 __A,const int __R)1264 _mm512_cvt_roundps_epi64 (__m256 __A, const int __R)
1265 {
1266   return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
1267 						    (__v8di)
1268 						    _mm512_setzero_si512 (),
1269 						    (__mmask8) -1,
1270 						    __R);
1271 }
1272 
1273 extern __inline __m512i
1274 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundps_epi64(__m512i __W,__mmask8 __U,__m256 __A,const int __R)1275 _mm512_mask_cvt_roundps_epi64 (__m512i __W, __mmask8 __U, __m256 __A,
1276 			       const int __R)
1277 {
1278   return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
1279 						    (__v8di) __W,
1280 						    (__mmask8) __U,
1281 						    __R);
1282 }
1283 
1284 extern __inline __m512i
1285 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundps_epi64(__mmask8 __U,__m256 __A,const int __R)1286 _mm512_maskz_cvt_roundps_epi64 (__mmask8 __U, __m256 __A,
1287 				const int __R)
1288 {
1289   return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
1290 						    (__v8di)
1291 						    _mm512_setzero_si512 (),
1292 						    (__mmask8) __U,
1293 						    __R);
1294 }
1295 
1296 extern __inline __m512i
1297 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundps_epu64(__m256 __A,const int __R)1298 _mm512_cvt_roundps_epu64 (__m256 __A, const int __R)
1299 {
1300   return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
1301 						     (__v8di)
1302 						     _mm512_setzero_si512 (),
1303 						     (__mmask8) -1,
1304 						     __R);
1305 }
1306 
1307 extern __inline __m512i
1308 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundps_epu64(__m512i __W,__mmask8 __U,__m256 __A,const int __R)1309 _mm512_mask_cvt_roundps_epu64 (__m512i __W, __mmask8 __U, __m256 __A,
1310 			       const int __R)
1311 {
1312   return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
1313 						     (__v8di) __W,
1314 						     (__mmask8) __U,
1315 						     __R);
1316 }
1317 
1318 extern __inline __m512i
1319 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundps_epu64(__mmask8 __U,__m256 __A,const int __R)1320 _mm512_maskz_cvt_roundps_epu64 (__mmask8 __U, __m256 __A,
1321 				const int __R)
1322 {
1323   return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
1324 						     (__v8di)
1325 						     _mm512_setzero_si512 (),
1326 						     (__mmask8) __U,
1327 						     __R);
1328 }
1329 
1330 extern __inline __m256
1331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundepi64_ps(__m512i __A,const int __R)1332 _mm512_cvt_roundepi64_ps (__m512i __A, const int __R)
1333 {
1334   return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
1335 						   (__v8sf)
1336 						   _mm256_setzero_ps (),
1337 						   (__mmask8) -1,
1338 						   __R);
1339 }
1340 
1341 extern __inline __m256
1342 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundepi64_ps(__m256 __W,__mmask8 __U,__m512i __A,const int __R)1343 _mm512_mask_cvt_roundepi64_ps (__m256 __W, __mmask8 __U, __m512i __A,
1344 			       const int __R)
1345 {
1346   return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
1347 						   (__v8sf) __W,
1348 						   (__mmask8) __U,
1349 						   __R);
1350 }
1351 
1352 extern __inline __m256
1353 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundepi64_ps(__mmask8 __U,__m512i __A,const int __R)1354 _mm512_maskz_cvt_roundepi64_ps (__mmask8 __U, __m512i __A,
1355 				const int __R)
1356 {
1357   return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
1358 						   (__v8sf)
1359 						   _mm256_setzero_ps (),
1360 						   (__mmask8) __U,
1361 						   __R);
1362 }
1363 
1364 extern __inline __m256
1365 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundepu64_ps(__m512i __A,const int __R)1366 _mm512_cvt_roundepu64_ps (__m512i __A, const int __R)
1367 {
1368   return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
1369 						    (__v8sf)
1370 						    _mm256_setzero_ps (),
1371 						    (__mmask8) -1,
1372 						    __R);
1373 }
1374 
1375 extern __inline __m256
1376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundepu64_ps(__m256 __W,__mmask8 __U,__m512i __A,const int __R)1377 _mm512_mask_cvt_roundepu64_ps (__m256 __W, __mmask8 __U, __m512i __A,
1378 			       const int __R)
1379 {
1380   return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
1381 						    (__v8sf) __W,
1382 						    (__mmask8) __U,
1383 						    __R);
1384 }
1385 
1386 extern __inline __m256
1387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundepu64_ps(__mmask8 __U,__m512i __A,const int __R)1388 _mm512_maskz_cvt_roundepu64_ps (__mmask8 __U, __m512i __A,
1389 				const int __R)
1390 {
1391   return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
1392 						    (__v8sf)
1393 						    _mm256_setzero_ps (),
1394 						    (__mmask8) __U,
1395 						    __R);
1396 }
1397 
1398 extern __inline __m512d
1399 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundepi64_pd(__m512i __A,const int __R)1400 _mm512_cvt_roundepi64_pd (__m512i __A, const int __R)
1401 {
1402   return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
1403 						    (__v8df)
1404 						    _mm512_setzero_pd (),
1405 						    (__mmask8) -1,
1406 						    __R);
1407 }
1408 
1409 extern __inline __m512d
1410 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundepi64_pd(__m512d __W,__mmask8 __U,__m512i __A,const int __R)1411 _mm512_mask_cvt_roundepi64_pd (__m512d __W, __mmask8 __U, __m512i __A,
1412 			       const int __R)
1413 {
1414   return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
1415 						    (__v8df) __W,
1416 						    (__mmask8) __U,
1417 						    __R);
1418 }
1419 
1420 extern __inline __m512d
1421 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundepi64_pd(__mmask8 __U,__m512i __A,const int __R)1422 _mm512_maskz_cvt_roundepi64_pd (__mmask8 __U, __m512i __A,
1423 				const int __R)
1424 {
1425   return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
1426 						    (__v8df)
1427 						    _mm512_setzero_pd (),
1428 						    (__mmask8) __U,
1429 						    __R);
1430 }
1431 
1432 extern __inline __m512d
1433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvt_roundepu64_pd(__m512i __A,const int __R)1434 _mm512_cvt_roundepu64_pd (__m512i __A, const int __R)
1435 {
1436   return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
1437 						     (__v8df)
1438 						     _mm512_setzero_pd (),
1439 						     (__mmask8) -1,
1440 						     __R);
1441 }
1442 
1443 extern __inline __m512d
1444 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvt_roundepu64_pd(__m512d __W,__mmask8 __U,__m512i __A,const int __R)1445 _mm512_mask_cvt_roundepu64_pd (__m512d __W, __mmask8 __U, __m512i __A,
1446 			       const int __R)
1447 {
1448   return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
1449 						     (__v8df) __W,
1450 						     (__mmask8) __U,
1451 						     __R);
1452 }
1453 
1454 extern __inline __m512d
1455 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvt_roundepu64_pd(__mmask8 __U,__m512i __A,const int __R)1456 _mm512_maskz_cvt_roundepu64_pd (__mmask8 __U, __m512i __A,
1457 				const int __R)
1458 {
1459   return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
1460 						     (__v8df)
1461 						     _mm512_setzero_pd (),
1462 						     (__mmask8) __U,
1463 						     __R);
1464 }
1465 
1466 extern __inline __m512d
1467 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_pd(__m512d __A,int __B)1468 _mm512_reduce_pd (__m512d __A, int __B)
1469 {
1470   return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B,
1471 						    (__v8df)
1472 						    _mm512_setzero_pd (),
1473 						    (__mmask8) -1);
1474 }
1475 
1476 extern __inline __m512d
1477 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_pd(__m512d __W,__mmask8 __U,__m512d __A,int __B)1478 _mm512_mask_reduce_pd (__m512d __W, __mmask8 __U, __m512d __A, int __B)
1479 {
1480   return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B,
1481 						    (__v8df) __W,
1482 						    (__mmask8) __U);
1483 }
1484 
1485 extern __inline __m512d
1486 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_reduce_pd(__mmask8 __U,__m512d __A,int __B)1487 _mm512_maskz_reduce_pd (__mmask8 __U, __m512d __A, int __B)
1488 {
1489   return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B,
1490 						    (__v8df)
1491 						    _mm512_setzero_pd (),
1492 						    (__mmask8) __U);
1493 }
1494 
1495 extern __inline __m512
1496 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_ps(__m512 __A,int __B)1497 _mm512_reduce_ps (__m512 __A, int __B)
1498 {
1499   return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B,
1500 						   (__v16sf)
1501 						   _mm512_setzero_ps (),
1502 						   (__mmask16) -1);
1503 }
1504 
1505 extern __inline __m512
1506 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_ps(__m512 __W,__mmask16 __U,__m512 __A,int __B)1507 _mm512_mask_reduce_ps (__m512 __W, __mmask16 __U, __m512 __A, int __B)
1508 {
1509   return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B,
1510 						   (__v16sf) __W,
1511 						   (__mmask16) __U);
1512 }
1513 
1514 extern __inline __m512
1515 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_reduce_ps(__mmask16 __U,__m512 __A,int __B)1516 _mm512_maskz_reduce_ps (__mmask16 __U, __m512 __A, int __B)
1517 {
1518   return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B,
1519 						   (__v16sf)
1520 						   _mm512_setzero_ps (),
1521 						   (__mmask16) __U);
1522 }
1523 
1524 extern __inline __m256
1525 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_extractf32x8_ps(__m512 __A,const int __imm)1526 _mm512_extractf32x8_ps (__m512 __A, const int __imm)
1527 {
1528   return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A,
1529 						    __imm,
1530 						    (__v8sf)
1531 						    _mm256_setzero_ps (),
1532 						    (__mmask8) -1);
1533 }
1534 
1535 extern __inline __m256
1536 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_extractf32x8_ps(__m256 __W,__mmask8 __U,__m512 __A,const int __imm)1537 _mm512_mask_extractf32x8_ps (__m256 __W, __mmask8 __U, __m512 __A,
1538 			     const int __imm)
1539 {
1540   return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A,
1541 						    __imm,
1542 						    (__v8sf) __W,
1543 						    (__mmask8) __U);
1544 }
1545 
1546 extern __inline __m256
1547 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_extractf32x8_ps(__mmask8 __U,__m512 __A,const int __imm)1548 _mm512_maskz_extractf32x8_ps (__mmask8 __U, __m512 __A,
1549 			      const int __imm)
1550 {
1551   return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A,
1552 						    __imm,
1553 						    (__v8sf)
1554 						    _mm256_setzero_ps (),
1555 						    (__mmask8) __U);
1556 }
1557 
1558 extern __inline __m128d
1559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_extractf64x2_pd(__m512d __A,const int __imm)1560 _mm512_extractf64x2_pd (__m512d __A, const int __imm)
1561 {
1562   return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A,
1563 							 __imm,
1564 							 (__v2df)
1565 							 _mm_setzero_pd (),
1566 							 (__mmask8) -1);
1567 }
1568 
1569 extern __inline __m128d
1570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_extractf64x2_pd(__m128d __W,__mmask8 __U,__m512d __A,const int __imm)1571 _mm512_mask_extractf64x2_pd (__m128d __W, __mmask8 __U, __m512d __A,
1572 			     const int __imm)
1573 {
1574   return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A,
1575 							 __imm,
1576 							 (__v2df) __W,
1577 							 (__mmask8)
1578 							 __U);
1579 }
1580 
1581 extern __inline __m128d
1582 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_extractf64x2_pd(__mmask8 __U,__m512d __A,const int __imm)1583 _mm512_maskz_extractf64x2_pd (__mmask8 __U, __m512d __A,
1584 			      const int __imm)
1585 {
1586   return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A,
1587 							 __imm,
1588 							 (__v2df)
1589 							 _mm_setzero_pd (),
1590 							 (__mmask8)
1591 							 __U);
1592 }
1593 
1594 extern __inline __m256i
1595 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_extracti32x8_epi32(__m512i __A,const int __imm)1596 _mm512_extracti32x8_epi32 (__m512i __A, const int __imm)
1597 {
1598   return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A,
1599 						     __imm,
1600 						     (__v8si)
1601 						     _mm256_setzero_si256 (),
1602 						     (__mmask8) -1);
1603 }
1604 
1605 extern __inline __m256i
1606 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_extracti32x8_epi32(__m256i __W,__mmask8 __U,__m512i __A,const int __imm)1607 _mm512_mask_extracti32x8_epi32 (__m256i __W, __mmask8 __U, __m512i __A,
1608 				const int __imm)
1609 {
1610   return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A,
1611 						     __imm,
1612 						     (__v8si) __W,
1613 						     (__mmask8) __U);
1614 }
1615 
1616 extern __inline __m256i
1617 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_extracti32x8_epi32(__mmask8 __U,__m512i __A,const int __imm)1618 _mm512_maskz_extracti32x8_epi32 (__mmask8 __U, __m512i __A,
1619 				 const int __imm)
1620 {
1621   return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A,
1622 						     __imm,
1623 						     (__v8si)
1624 						     _mm256_setzero_si256 (),
1625 						     (__mmask8) __U);
1626 }
1627 
1628 extern __inline __m128i
1629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_extracti64x2_epi64(__m512i __A,const int __imm)1630 _mm512_extracti64x2_epi64 (__m512i __A, const int __imm)
1631 {
1632   return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A,
1633 							 __imm,
1634 							 (__v2di)
1635 							 _mm_setzero_di (),
1636 							 (__mmask8) -1);
1637 }
1638 
1639 extern __inline __m128i
1640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_extracti64x2_epi64(__m128i __W,__mmask8 __U,__m512i __A,const int __imm)1641 _mm512_mask_extracti64x2_epi64 (__m128i __W, __mmask8 __U, __m512i __A,
1642 				const int __imm)
1643 {
1644   return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A,
1645 							 __imm,
1646 							 (__v2di) __W,
1647 							 (__mmask8)
1648 							 __U);
1649 }
1650 
1651 extern __inline __m128i
1652 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_extracti64x2_epi64(__mmask8 __U,__m512i __A,const int __imm)1653 _mm512_maskz_extracti64x2_epi64 (__mmask8 __U, __m512i __A,
1654 				 const int __imm)
1655 {
1656   return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A,
1657 							 __imm,
1658 							 (__v2di)
1659 							 _mm_setzero_di (),
1660 							 (__mmask8)
1661 							 __U);
1662 }
1663 
1664 extern __inline __m512d
1665 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_range_round_pd(__m512d __A,__m512d __B,int __C,const int __R)1666 _mm512_range_round_pd (__m512d __A, __m512d __B, int __C,
1667 		       const int __R)
1668 {
1669   return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
1670 						   (__v8df) __B, __C,
1671 						   (__v8df)
1672 						   _mm512_setzero_pd (),
1673 						   (__mmask8) -1,
1674 						   __R);
1675 }
1676 
1677 extern __inline __m512d
1678 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_range_round_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B,int __C,const int __R)1679 _mm512_mask_range_round_pd (__m512d __W, __mmask8 __U,
1680 			    __m512d __A, __m512d __B, int __C,
1681 			    const int __R)
1682 {
1683   return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
1684 						   (__v8df) __B, __C,
1685 						   (__v8df) __W,
1686 						   (__mmask8) __U,
1687 						   __R);
1688 }
1689 
1690 extern __inline __m512d
1691 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_range_round_pd(__mmask8 __U,__m512d __A,__m512d __B,int __C,const int __R)1692 _mm512_maskz_range_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
1693 			     int __C, const int __R)
1694 {
1695   return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
1696 						   (__v8df) __B, __C,
1697 						   (__v8df)
1698 						   _mm512_setzero_pd (),
1699 						   (__mmask8) __U,
1700 						   __R);
1701 }
1702 
1703 extern __inline __m512
1704 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_range_round_ps(__m512 __A,__m512 __B,int __C,const int __R)1705 _mm512_range_round_ps (__m512 __A, __m512 __B, int __C, const int __R)
1706 {
1707   return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
1708 						  (__v16sf) __B, __C,
1709 						  (__v16sf)
1710 						  _mm512_setzero_ps (),
1711 						  (__mmask16) -1,
1712 						  __R);
1713 }
1714 
1715 extern __inline __m512
1716 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_range_round_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B,int __C,const int __R)1717 _mm512_mask_range_round_ps (__m512 __W, __mmask16 __U,
1718 			    __m512 __A, __m512 __B, int __C,
1719 			    const int __R)
1720 {
1721   return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
1722 						  (__v16sf) __B, __C,
1723 						  (__v16sf) __W,
1724 						  (__mmask16) __U,
1725 						  __R);
1726 }
1727 
1728 extern __inline __m512
1729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_range_round_ps(__mmask16 __U,__m512 __A,__m512 __B,int __C,const int __R)1730 _mm512_maskz_range_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
1731 			     int __C, const int __R)
1732 {
1733   return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
1734 						  (__v16sf) __B, __C,
1735 						  (__v16sf)
1736 						  _mm512_setzero_ps (),
1737 						  (__mmask16) __U,
1738 						  __R);
1739 }
1740 
1741 extern __inline __m512i
1742 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_inserti32x8(__m512i __A,__m256i __B,const int __imm)1743 _mm512_inserti32x8 (__m512i __A, __m256i __B, const int __imm)
1744 {
1745   return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A,
1746 						    (__v8si) __B,
1747 						    __imm,
1748 						    (__v16si)
1749 						    _mm512_setzero_si512 (),
1750 						    (__mmask16) -1);
1751 }
1752 
1753 extern __inline __m512i
1754 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_inserti32x8(__m512i __W,__mmask16 __U,__m512i __A,__m256i __B,const int __imm)1755 _mm512_mask_inserti32x8 (__m512i __W, __mmask16 __U, __m512i __A,
1756 			 __m256i __B, const int __imm)
1757 {
1758   return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A,
1759 						    (__v8si) __B,
1760 						    __imm,
1761 						    (__v16si) __W,
1762 						    (__mmask16) __U);
1763 }
1764 
1765 extern __inline __m512i
1766 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_inserti32x8(__mmask16 __U,__m512i __A,__m256i __B,const int __imm)1767 _mm512_maskz_inserti32x8 (__mmask16 __U, __m512i __A, __m256i __B,
1768 			  const int __imm)
1769 {
1770   return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A,
1771 						    (__v8si) __B,
1772 						    __imm,
1773 						    (__v16si)
1774 						    _mm512_setzero_si512 (),
1775 						    (__mmask16) __U);
1776 }
1777 
1778 extern __inline __m512
1779 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_insertf32x8(__m512 __A,__m256 __B,const int __imm)1780 _mm512_insertf32x8 (__m512 __A, __m256 __B, const int __imm)
1781 {
1782   return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A,
1783 						   (__v8sf) __B,
1784 						   __imm,
1785 						   (__v16sf)
1786 						   _mm512_setzero_ps (),
1787 						   (__mmask16) -1);
1788 }
1789 
1790 extern __inline __m512
1791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_insertf32x8(__m512 __W,__mmask16 __U,__m512 __A,__m256 __B,const int __imm)1792 _mm512_mask_insertf32x8 (__m512 __W, __mmask16 __U, __m512 __A,
1793 			 __m256 __B, const int __imm)
1794 {
1795   return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A,
1796 						   (__v8sf) __B,
1797 						   __imm,
1798 						   (__v16sf) __W,
1799 						   (__mmask16) __U);
1800 }
1801 
1802 extern __inline __m512
1803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_insertf32x8(__mmask16 __U,__m512 __A,__m256 __B,const int __imm)1804 _mm512_maskz_insertf32x8 (__mmask16 __U, __m512 __A, __m256 __B,
1805 			  const int __imm)
1806 {
1807   return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A,
1808 						   (__v8sf) __B,
1809 						   __imm,
1810 						   (__v16sf)
1811 						   _mm512_setzero_ps (),
1812 						   (__mmask16) __U);
1813 }
1814 
1815 extern __inline __m512i
1816 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_inserti64x2(__m512i __A,__m128i __B,const int __imm)1817 _mm512_inserti64x2 (__m512i __A, __m128i __B, const int __imm)
1818 {
1819   return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A,
1820 							(__v2di) __B,
1821 							__imm,
1822 							(__v8di)
1823 							_mm512_setzero_si512 (),
1824 							(__mmask8) -1);
1825 }
1826 
1827 extern __inline __m512i
1828 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_inserti64x2(__m512i __W,__mmask8 __U,__m512i __A,__m128i __B,const int __imm)1829 _mm512_mask_inserti64x2 (__m512i __W, __mmask8 __U, __m512i __A,
1830 			 __m128i __B, const int __imm)
1831 {
1832   return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A,
1833 							(__v2di) __B,
1834 							__imm,
1835 							(__v8di) __W,
1836 							(__mmask8)
1837 							__U);
1838 }
1839 
1840 extern __inline __m512i
1841 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_inserti64x2(__mmask8 __U,__m512i __A,__m128i __B,const int __imm)1842 _mm512_maskz_inserti64x2 (__mmask8 __U, __m512i __A, __m128i __B,
1843 			  const int __imm)
1844 {
1845   return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A,
1846 							(__v2di) __B,
1847 							__imm,
1848 							(__v8di)
1849 							_mm512_setzero_si512 (),
1850 							(__mmask8)
1851 							__U);
1852 }
1853 
1854 extern __inline __m512d
1855 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_insertf64x2(__m512d __A,__m128d __B,const int __imm)1856 _mm512_insertf64x2 (__m512d __A, __m128d __B, const int __imm)
1857 {
1858   return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A,
1859 							(__v2df) __B,
1860 							__imm,
1861 							(__v8df)
1862 							_mm512_setzero_pd (),
1863 							(__mmask8) -1);
1864 }
1865 
1866 extern __inline __m512d
1867 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_insertf64x2(__m512d __W,__mmask8 __U,__m512d __A,__m128d __B,const int __imm)1868 _mm512_mask_insertf64x2 (__m512d __W, __mmask8 __U, __m512d __A,
1869 			 __m128d __B, const int __imm)
1870 {
1871   return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A,
1872 							(__v2df) __B,
1873 							__imm,
1874 							(__v8df) __W,
1875 							(__mmask8)
1876 							__U);
1877 }
1878 
1879 extern __inline __m512d
1880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_insertf64x2(__mmask8 __U,__m512d __A,__m128d __B,const int __imm)1881 _mm512_maskz_insertf64x2 (__mmask8 __U, __m512d __A, __m128d __B,
1882 			  const int __imm)
1883 {
1884   return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A,
1885 							(__v2df) __B,
1886 							__imm,
1887 							(__v8df)
1888 							_mm512_setzero_pd (),
1889 							(__mmask8)
1890 							__U);
1891 }
1892 
1893 extern __inline __mmask8
1894 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fpclass_pd_mask(__mmask8 __U,__m512d __A,const int __imm)1895 _mm512_mask_fpclass_pd_mask (__mmask8 __U, __m512d __A,
1896 			     const int __imm)
1897 {
1898   return (__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) __A,
1899 						      __imm, __U);
1900 }
1901 
1902 extern __inline __mmask8
1903 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fpclass_pd_mask(__m512d __A,const int __imm)1904 _mm512_fpclass_pd_mask (__m512d __A, const int __imm)
1905 {
1906   return (__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) __A,
1907 						      __imm,
1908 						      (__mmask8) -1);
1909 }
1910 
1911 extern __inline __mmask16
1912 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fpclass_ps_mask(__mmask16 __U,__m512 __A,const int __imm)1913 _mm512_mask_fpclass_ps_mask (__mmask16 __U, __m512 __A,
1914 			     const int __imm)
1915 {
1916   return (__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) __A,
1917 						       __imm, __U);
1918 }
1919 
1920 extern __inline __mmask16
1921 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fpclass_ps_mask(__m512 __A,const int __imm)1922 _mm512_fpclass_ps_mask (__m512 __A, const int __imm)
1923 {
1924   return (__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) __A,
1925 						       __imm,
1926 						       (__mmask16) -1);
1927 }
1928 
1929 #else
1930 #define _mm_range_sd(A, B, C)						\
1931   ((__m128d) __builtin_ia32_rangesd128_round ((__v2df)(__m128d)(A),	\
1932     (__v2df)(__m128d)(B), (int)(C),					\
1933     _MM_FROUND_CUR_DIRECTION))
1934 
1935 #define _mm_range_ss(A, B, C)						\
1936   ((__m128) __builtin_ia32_rangess128_round ((__v4sf)(__m128)(A),	\
1937     (__v4sf)(__m128)(B), (int)(C),					\
1938     _MM_FROUND_CUR_DIRECTION))
1939 
1940 #define _mm_range_round_sd(A, B, C, R)					\
1941   ((__m128d) __builtin_ia32_rangesd128_round ((__v2df)(__m128d)(A),	\
1942     (__v2df)(__m128d)(B), (int)(C), (R)))
1943 
1944 #define _mm_range_round_ss(A, B, C, R)					\
1945   ((__m128) __builtin_ia32_rangess128_round ((__v4sf)(__m128)(A),	\
1946     (__v4sf)(__m128)(B), (int)(C), (R)))
1947 
1948 #define _mm512_cvtt_roundpd_epi64(A, B)		    \
1949     ((__m512i)__builtin_ia32_cvttpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
1950 
1951 #define _mm512_mask_cvtt_roundpd_epi64(W, U, A, B)  \
1952     ((__m512i)__builtin_ia32_cvttpd2qq512_mask((A), (__v8di)(W), (U), (B)))
1953 
1954 #define _mm512_maskz_cvtt_roundpd_epi64(U, A, B)    \
1955     ((__m512i)__builtin_ia32_cvttpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
1956 
1957 #define _mm512_cvtt_roundpd_epu64(A, B)		    \
1958     ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
1959 
1960 #define _mm512_mask_cvtt_roundpd_epu64(W, U, A, B)  \
1961     ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((A), (__v8di)(W), (U), (B)))
1962 
1963 #define _mm512_maskz_cvtt_roundpd_epu64(U, A, B)    \
1964     ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
1965 
1966 #define _mm512_cvtt_roundps_epi64(A, B)		    \
1967     ((__m512i)__builtin_ia32_cvttps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
1968 
1969 #define _mm512_mask_cvtt_roundps_epi64(W, U, A, B)  \
1970     ((__m512i)__builtin_ia32_cvttps2qq512_mask((A), (__v8di)(W), (U), (B)))
1971 
1972 #define _mm512_maskz_cvtt_roundps_epi64(U, A, B)    \
1973     ((__m512i)__builtin_ia32_cvttps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
1974 
1975 #define _mm512_cvtt_roundps_epu64(A, B)		    \
1976     ((__m512i)__builtin_ia32_cvttps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
1977 
1978 #define _mm512_mask_cvtt_roundps_epu64(W, U, A, B)  \
1979     ((__m512i)__builtin_ia32_cvttps2uqq512_mask((A), (__v8di)(W), (U), (B)))
1980 
1981 #define _mm512_maskz_cvtt_roundps_epu64(U, A, B)    \
1982     ((__m512i)__builtin_ia32_cvttps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
1983 
1984 #define _mm512_cvt_roundpd_epi64(A, B)		    \
1985     ((__m512i)__builtin_ia32_cvtpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
1986 
1987 #define _mm512_mask_cvt_roundpd_epi64(W, U, A, B)   \
1988     ((__m512i)__builtin_ia32_cvtpd2qq512_mask((A), (__v8di)(W), (U), (B)))
1989 
1990 #define _mm512_maskz_cvt_roundpd_epi64(U, A, B)     \
1991     ((__m512i)__builtin_ia32_cvtpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
1992 
1993 #define _mm512_cvt_roundpd_epu64(A, B)		    \
1994     ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
1995 
1996 #define _mm512_mask_cvt_roundpd_epu64(W, U, A, B)   \
1997     ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((A), (__v8di)(W), (U), (B)))
1998 
1999 #define _mm512_maskz_cvt_roundpd_epu64(U, A, B)     \
2000     ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
2001 
2002 #define _mm512_cvt_roundps_epi64(A, B)		    \
2003     ((__m512i)__builtin_ia32_cvtps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
2004 
2005 #define _mm512_mask_cvt_roundps_epi64(W, U, A, B)   \
2006     ((__m512i)__builtin_ia32_cvtps2qq512_mask((A), (__v8di)(W), (U), (B)))
2007 
2008 #define _mm512_maskz_cvt_roundps_epi64(U, A, B)     \
2009     ((__m512i)__builtin_ia32_cvtps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
2010 
2011 #define _mm512_cvt_roundps_epu64(A, B)		    \
2012     ((__m512i)__builtin_ia32_cvtps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
2013 
2014 #define _mm512_mask_cvt_roundps_epu64(W, U, A, B)   \
2015     ((__m512i)__builtin_ia32_cvtps2uqq512_mask((A), (__v8di)(W), (U), (B)))
2016 
2017 #define _mm512_maskz_cvt_roundps_epu64(U, A, B)     \
2018     ((__m512i)__builtin_ia32_cvtps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
2019 
2020 #define _mm512_cvt_roundepi64_ps(A, B)		    \
2021     ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), -1, (B)))
2022 
2023 #define _mm512_mask_cvt_roundepi64_ps(W, U, A, B)   \
2024     ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(A), (W), (U), (B)))
2025 
2026 #define _mm512_maskz_cvt_roundepi64_ps(U, A, B)     \
2027     ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), (U), (B)))
2028 
2029 #define _mm512_cvt_roundepu64_ps(A, B)		    \
2030     ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), -1, (B)))
2031 
2032 #define _mm512_mask_cvt_roundepu64_ps(W, U, A, B)   \
2033     ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(A), (W), (U), (B)))
2034 
2035 #define _mm512_maskz_cvt_roundepu64_ps(U, A, B)     \
2036     ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), (U), (B)))
2037 
2038 #define _mm512_cvt_roundepi64_pd(A, B)		    \
2039     ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), -1, (B)))
2040 
2041 #define _mm512_mask_cvt_roundepi64_pd(W, U, A, B)   \
2042     ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(A), (W), (U), (B)))
2043 
2044 #define _mm512_maskz_cvt_roundepi64_pd(U, A, B)     \
2045     ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), (U), (B)))
2046 
2047 #define _mm512_cvt_roundepu64_pd(A, B)		    \
2048     ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), -1, (B)))
2049 
2050 #define _mm512_mask_cvt_roundepu64_pd(W, U, A, B)   \
2051     ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(A), (W), (U), (B)))
2052 
2053 #define _mm512_maskz_cvt_roundepu64_pd(U, A, B)     \
2054     ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), (U), (B)))
2055 
2056 #define _mm512_reduce_pd(A, B)						\
2057   ((__m512d) __builtin_ia32_reducepd512_mask ((__v8df)(__m512d)(A),	\
2058     (int)(B), (__v8df)_mm512_setzero_pd(), (__mmask8)-1))
2059 
2060 #define _mm512_mask_reduce_pd(W, U, A, B)				\
2061   ((__m512d) __builtin_ia32_reducepd512_mask ((__v8df)(__m512d)(A),	\
2062     (int)(B), (__v8df)(__m512d)(W), (__mmask8)(U)))
2063 
2064 #define _mm512_maskz_reduce_pd(U, A, B)					\
2065   ((__m512d) __builtin_ia32_reducepd512_mask ((__v8df)(__m512d)(A),	\
2066     (int)(B), (__v8df)_mm512_setzero_pd(), (__mmask8)(U)))
2067 
2068 #define _mm512_reduce_ps(A, B)						\
2069   ((__m512) __builtin_ia32_reduceps512_mask ((__v16sf)(__m512)(A),	\
2070     (int)(B), (__v16sf)_mm512_setzero_ps(), (__mmask16)-1))
2071 
2072 #define _mm512_mask_reduce_ps(W, U, A, B)				\
2073   ((__m512) __builtin_ia32_reduceps512_mask ((__v16sf)(__m512)(A),	\
2074     (int)(B), (__v16sf)(__m512)(W), (__mmask16)(U)))
2075 
2076 #define _mm512_maskz_reduce_ps(U, A, B)					\
2077   ((__m512) __builtin_ia32_reduceps512_mask ((__v16sf)(__m512)(A),	\
2078     (int)(B), (__v16sf)_mm512_setzero_ps(), (__mmask16)(U)))
2079 
2080 #define _mm512_extractf32x8_ps(X, C)                                    \
2081   ((__m256) __builtin_ia32_extractf32x8_mask ((__v16sf)(__m512) (X),    \
2082     (int) (C), (__v8sf)(__m256) _mm256_setzero_ps(), (__mmask8)-1))
2083 
2084 #define _mm512_mask_extractf32x8_ps(W, U, X, C)                         \
2085   ((__m256) __builtin_ia32_extractf32x8_mask ((__v16sf)(__m512) (X),    \
2086     (int) (C), (__v8sf)(__m256) (W), (__mmask8) (U)))
2087 
2088 #define _mm512_maskz_extractf32x8_ps(U, X, C)                           \
2089   ((__m256) __builtin_ia32_extractf32x8_mask ((__v16sf)(__m512) (X),    \
2090     (int) (C), (__v8sf)(__m256) _mm256_setzero_ps(), (__mmask8) (U)))
2091 
2092 #define _mm512_extractf64x2_pd(X, C)                                    \
2093   ((__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df)(__m512d) (X),\
2094     (int) (C), (__v2df)(__m128d) _mm_setzero_pd(), (__mmask8)-1))
2095 
2096 #define _mm512_mask_extractf64x2_pd(W, U, X, C)                         \
2097   ((__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df)(__m512d) (X),\
2098     (int) (C), (__v2df)(__m128d) (W), (__mmask8) (U)))
2099 
2100 #define _mm512_maskz_extractf64x2_pd(U, X, C)                           \
2101   ((__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df)(__m512d) (X),\
2102     (int) (C), (__v2df)(__m128d) _mm_setzero_pd(), (__mmask8) (U)))
2103 
2104 #define _mm512_extracti32x8_epi32(X, C)                                 \
2105   ((__m256i) __builtin_ia32_extracti32x8_mask ((__v16si)(__m512i) (X),  \
2106     (int) (C), (__v8si)(__m256i) _mm256_setzero_si256(), (__mmask8)-1))
2107 
2108 #define _mm512_mask_extracti32x8_epi32(W, U, X, C)                      \
2109   ((__m256i) __builtin_ia32_extracti32x8_mask ((__v16si)(__m512i) (X),  \
2110     (int) (C), (__v8si)(__m256i) (W), (__mmask8) (U)))
2111 
2112 #define _mm512_maskz_extracti32x8_epi32(U, X, C)                        \
2113   ((__m256i) __builtin_ia32_extracti32x8_mask ((__v16si)(__m512i) (X),  \
2114     (int) (C), (__v8si)(__m256i) _mm256_setzero_si256(), (__mmask8) (U)))
2115 
2116 #define _mm512_extracti64x2_epi64(X, C)                                 \
2117   ((__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di)(__m512i) (X),\
2118     (int) (C), (__v2di)(__m128i) _mm_setzero_di(), (__mmask8)-1))
2119 
2120 #define _mm512_mask_extracti64x2_epi64(W, U, X, C)                      \
2121   ((__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di)(__m512i) (X),\
2122     (int) (C), (__v2di)(__m128i) (W), (__mmask8) (U)))
2123 
2124 #define _mm512_maskz_extracti64x2_epi64(U, X, C)                        \
2125   ((__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di)(__m512i) (X),\
2126     (int) (C), (__v2di)(__m128i) _mm_setzero_di(), (__mmask8) (U)))
2127 
2128 #define _mm512_range_pd(A, B, C)					\
2129   ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
2130     (__v8df)(__m512d)(B), (int)(C),					\
2131     (__v8df)_mm512_setzero_pd(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION))
2132 
2133 #define _mm512_mask_range_pd(W, U, A, B, C)				\
2134   ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
2135     (__v8df)(__m512d)(B), (int)(C),					\
2136     (__v8df)(__m512d)(W), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
2137 
2138 #define _mm512_maskz_range_pd(U, A, B, C)				\
2139   ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
2140     (__v8df)(__m512d)(B), (int)(C),					\
2141     (__v8df)_mm512_setzero_pd(), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
2142 
2143 #define _mm512_range_ps(A, B, C)					\
2144   ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
2145     (__v16sf)(__m512)(B), (int)(C),					\
2146     (__v16sf)_mm512_setzero_ps(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION))
2147 
2148 #define _mm512_mask_range_ps(W, U, A, B, C)				\
2149   ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
2150     (__v16sf)(__m512)(B), (int)(C),					\
2151     (__v16sf)(__m512)(W), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
2152 
2153 #define _mm512_maskz_range_ps(U, A, B, C)				\
2154   ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
2155     (__v16sf)(__m512)(B), (int)(C),					\
2156     (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
2157 
2158 #define _mm512_range_round_pd(A, B, C, R)					\
2159   ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
2160     (__v8df)(__m512d)(B), (int)(C),					\
2161     (__v8df)_mm512_setzero_pd(), (__mmask8)-1, (R)))
2162 
2163 #define _mm512_mask_range_round_pd(W, U, A, B, C, R)				\
2164   ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
2165     (__v8df)(__m512d)(B), (int)(C),					\
2166     (__v8df)(__m512d)(W), (__mmask8)(U), (R)))
2167 
2168 #define _mm512_maskz_range_round_pd(U, A, B, C, R)				\
2169   ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
2170     (__v8df)(__m512d)(B), (int)(C),					\
2171     (__v8df)_mm512_setzero_pd(), (__mmask8)(U), (R)))
2172 
2173 #define _mm512_range_round_ps(A, B, C, R)					\
2174   ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
2175     (__v16sf)(__m512)(B), (int)(C),					\
2176     (__v16sf)_mm512_setzero_ps(), (__mmask16)-1, (R)))
2177 
2178 #define _mm512_mask_range_round_ps(W, U, A, B, C, R)				\
2179   ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
2180     (__v16sf)(__m512)(B), (int)(C),					\
2181     (__v16sf)(__m512)(W), (__mmask16)(U), (R)))
2182 
2183 #define _mm512_maskz_range_round_ps(U, A, B, C, R)				\
2184   ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
2185     (__v16sf)(__m512)(B), (int)(C),					\
2186     (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), (R)))
2187 
2188 #define _mm512_insertf64x2(X, Y, C)                                     \
2189   ((__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df)(__m512d) (X),\
2190     (__v2df)(__m128d) (Y), (int) (C), (__v8df)(__m512d) (X),            \
2191     (__mmask8)-1))
2192 
2193 #define _mm512_mask_insertf64x2(W, U, X, Y, C)                          \
2194   ((__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df)(__m512d) (X),\
2195     (__v2df)(__m128d) (Y), (int) (C), (__v8df)(__m512d) (W),            \
2196     (__mmask8) (U)))
2197 
2198 #define _mm512_maskz_insertf64x2(U, X, Y, C)                            \
2199   ((__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df)(__m512d) (X),\
2200     (__v2df)(__m128d) (Y), (int) (C),                                   \
2201     (__v8df)(__m512d) _mm512_setzero_pd(), (__mmask8) (U)))
2202 
2203 #define _mm512_inserti64x2(X, Y, C)                                     \
2204   ((__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di)(__m512i) (X),\
2205     (__v2di)(__m128i) (Y), (int) (C), (__v8di)(__m512i) (X), (__mmask8)-1))
2206 
2207 #define _mm512_mask_inserti64x2(W, U, X, Y, C)                          \
2208   ((__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di)(__m512i) (X),\
2209     (__v2di)(__m128i) (Y), (int) (C), (__v8di)(__m512i) (W),            \
2210     (__mmask8) (U)))
2211 
2212 #define _mm512_maskz_inserti64x2(U, X, Y, C)                            \
2213   ((__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di)(__m512i) (X),\
2214     (__v2di)(__m128i) (Y), (int) (C),                                   \
2215     (__v8di)(__m512i) _mm512_setzero_si512 (), (__mmask8) (U)))
2216 
2217 #define _mm512_insertf32x8(X, Y, C)                                     \
2218   ((__m512) __builtin_ia32_insertf32x8_mask ((__v16sf)(__m512) (X),     \
2219     (__v8sf)(__m256) (Y), (int) (C),\
2220     (__v16sf)(__m512)_mm512_setzero_ps(),\
2221     (__mmask16)-1))
2222 
2223 #define _mm512_mask_insertf32x8(W, U, X, Y, C)                          \
2224   ((__m512) __builtin_ia32_insertf32x8_mask ((__v16sf)(__m512) (X),     \
2225     (__v8sf)(__m256) (Y), (int) (C),\
2226     (__v16sf)(__m512)(W),\
2227     (__mmask16)(U)))
2228 
2229 #define _mm512_maskz_insertf32x8(U, X, Y, C)                            \
2230   ((__m512) __builtin_ia32_insertf32x8_mask ((__v16sf)(__m512) (X),     \
2231     (__v8sf)(__m256) (Y), (int) (C),\
2232     (__v16sf)(__m512)_mm512_setzero_ps(),\
2233     (__mmask16)(U)))
2234 
2235 #define _mm512_inserti32x8(X, Y, C)                                     \
2236   ((__m512i) __builtin_ia32_inserti32x8_mask ((__v16si)(__m512i) (X),   \
2237     (__v8si)(__m256i) (Y), (int) (C),\
2238     (__v16si)(__m512i)_mm512_setzero_si512 (),\
2239     (__mmask16)-1))
2240 
2241 #define _mm512_mask_inserti32x8(W, U, X, Y, C)                          \
2242   ((__m512i) __builtin_ia32_inserti32x8_mask ((__v16si)(__m512i) (X),   \
2243     (__v8si)(__m256i) (Y), (int) (C),\
2244     (__v16si)(__m512i)(W),\
2245     (__mmask16)(U)))
2246 
2247 #define _mm512_maskz_inserti32x8(U, X, Y, C)                            \
2248   ((__m512i) __builtin_ia32_inserti32x8_mask ((__v16si)(__m512i) (X),   \
2249     (__v8si)(__m256i) (Y), (int) (C),\
2250     (__v16si)(__m512i)_mm512_setzero_si512 (),\
2251     (__mmask16)(U)))
2252 
2253 #define _mm_fpclass_ss_mask(X, C)						\
2254   ((__mmask8) __builtin_ia32_fpclassss ((__v4sf) (__m128) (X), (int) (C)))  \
2255 
2256 #define _mm_fpclass_sd_mask(X, C)						\
2257   ((__mmask8) __builtin_ia32_fpclasssd ((__v2df) (__m128d) (X), (int) (C))) \
2258 
2259 #define _mm512_mask_fpclass_pd_mask(u, X, C)                            \
2260   ((__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) (__m512d) (X), \
2261 						(int) (C), (__mmask8)(u)))
2262 
2263 #define _mm512_mask_fpclass_ps_mask(u, x, c)				\
2264   ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
2265 						 (int) (c),(__mmask8)(u)))
2266 
2267 #define _mm512_fpclass_pd_mask(X, C)                                    \
2268   ((__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) (__m512d) (X), \
2269 						(int) (C), (__mmask8)-1))
2270 
2271 #define _mm512_fpclass_ps_mask(x, c)                                    \
2272   ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
2273 						 (int) (c),(__mmask8)-1))
2274 
2275 #define _mm_reduce_sd(A, B, C)						\
2276   ((__m128d) __builtin_ia32_reducesd ((__v2df)(__m128d)(A),	\
2277     (__v2df)(__m128d)(B), (int)(C)))					\
2278 
2279 #define _mm_reduce_ss(A, B, C)						\
2280   ((__m128) __builtin_ia32_reducess ((__v4sf)(__m128)(A),		\
2281     (__v4sf)(__m128)(A), (int)(C)))					\
2282 
2283 #endif
2284 
2285 #ifdef __DISABLE_AVX512DQ__
2286 #undef __DISABLE_AVX512DQ__
2287 #pragma GCC pop_options
2288 #endif /* __DISABLE_AVX512DQ__ */
2289 
2290 #endif /* _AVX512DQINTRIN_H_INCLUDED */
2291