sketchbook
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
avx512vldqintrin.h
Go to the documentation of this file.
1 /*===---- avx512vldqintrin.h - AVX512VL and AVX512DQ intrinsics ------------===
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to deal
5  * in the Software without restriction, including without limitation the rights
6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  * copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in
11  * all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  * THE SOFTWARE.
20  *
21  *===-----------------------------------------------------------------------===
22  */
23 
24 #ifndef __IMMINTRIN_H
25 #error "Never use <avx512vldqintrin.h> directly; include <immintrin.h> instead."
26 #endif
27 
28 #ifndef __AVX512VLDQINTRIN_H
29 #define __AVX512VLDQINTRIN_H
30 
31 /* Define the default attributes for the functions in this file. */
32 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512dq")))
33 
34 static __inline__ __m256i __DEFAULT_FN_ATTRS
35 _mm256_mullo_epi64 (__m256i __A, __m256i __B) {
36  return (__m256i) ((__v4di) __A * (__v4di) __B);
37 }
38 
39 static __inline__ __m256i __DEFAULT_FN_ATTRS
40 _mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
41  return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
42  (__v4di) __B,
43  (__v4di) __W,
44  (__mmask8) __U);
45 }
46 
47 static __inline__ __m256i __DEFAULT_FN_ATTRS
48 _mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
49  return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
50  (__v4di) __B,
51  (__v4di)
52  _mm256_setzero_si256 (),
53  (__mmask8) __U);
54 }
55 
56 static __inline__ __m128i __DEFAULT_FN_ATTRS
57 _mm_mullo_epi64 (__m128i __A, __m128i __B) {
58  return (__m128i) ((__v2di) __A * (__v2di) __B);
59 }
60 
61 static __inline__ __m128i __DEFAULT_FN_ATTRS
62 _mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
63  return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
64  (__v2di) __B,
65  (__v2di) __W,
66  (__mmask8) __U);
67 }
68 
69 static __inline__ __m128i __DEFAULT_FN_ATTRS
70 _mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
71  return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
72  (__v2di) __B,
73  (__v2di)
74  _mm_setzero_si128 (),
75  (__mmask8) __U);
76 }
77 
78 static __inline__ __m256d __DEFAULT_FN_ATTRS
79 _mm256_mask_andnot_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
80  return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
81  (__v4df) __B,
82  (__v4df) __W,
83  (__mmask8) __U);
84 }
85 
86 static __inline__ __m256d __DEFAULT_FN_ATTRS
87 _mm256_maskz_andnot_pd (__mmask8 __U, __m256d __A, __m256d __B) {
88  return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
89  (__v4df) __B,
90  (__v4df)
91  _mm256_setzero_pd (),
92  (__mmask8) __U);
93 }
94 
95 static __inline__ __m128d __DEFAULT_FN_ATTRS
96 _mm_mask_andnot_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
97  return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
98  (__v2df) __B,
99  (__v2df) __W,
100  (__mmask8) __U);
101 }
102 
103 static __inline__ __m128d __DEFAULT_FN_ATTRS
104 _mm_maskz_andnot_pd (__mmask8 __U, __m128d __A, __m128d __B) {
105  return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
106  (__v2df) __B,
107  (__v2df)
108  _mm_setzero_pd (),
109  (__mmask8) __U);
110 }
111 
112 static __inline__ __m256 __DEFAULT_FN_ATTRS
113 _mm256_mask_andnot_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
114  return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
115  (__v8sf) __B,
116  (__v8sf) __W,
117  (__mmask8) __U);
118 }
119 
120 static __inline__ __m256 __DEFAULT_FN_ATTRS
121 _mm256_maskz_andnot_ps (__mmask8 __U, __m256 __A, __m256 __B) {
122  return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
123  (__v8sf) __B,
124  (__v8sf)
125  _mm256_setzero_ps (),
126  (__mmask8) __U);
127 }
128 
129 static __inline__ __m128 __DEFAULT_FN_ATTRS
130 _mm_mask_andnot_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
131  return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
132  (__v4sf) __B,
133  (__v4sf) __W,
134  (__mmask8) __U);
135 }
136 
137 static __inline__ __m128 __DEFAULT_FN_ATTRS
138 _mm_maskz_andnot_ps (__mmask8 __U, __m128 __A, __m128 __B) {
139  return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
140  (__v4sf) __B,
141  (__v4sf)
142  _mm_setzero_ps (),
143  (__mmask8) __U);
144 }
145 
146 static __inline__ __m256d __DEFAULT_FN_ATTRS
147 _mm256_mask_and_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
148  return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
149  (__v4df) __B,
150  (__v4df) __W,
151  (__mmask8) __U);
152 }
153 
154 static __inline__ __m256d __DEFAULT_FN_ATTRS
155 _mm256_maskz_and_pd (__mmask8 __U, __m256d __A, __m256d __B) {
156  return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
157  (__v4df) __B,
158  (__v4df)
159  _mm256_setzero_pd (),
160  (__mmask8) __U);
161 }
162 
163 static __inline__ __m128d __DEFAULT_FN_ATTRS
164 _mm_mask_and_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
165  return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
166  (__v2df) __B,
167  (__v2df) __W,
168  (__mmask8) __U);
169 }
170 
171 static __inline__ __m128d __DEFAULT_FN_ATTRS
172 _mm_maskz_and_pd (__mmask8 __U, __m128d __A, __m128d __B) {
173  return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
174  (__v2df) __B,
175  (__v2df)
176  _mm_setzero_pd (),
177  (__mmask8) __U);
178 }
179 
180 static __inline__ __m256 __DEFAULT_FN_ATTRS
181 _mm256_mask_and_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
182  return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
183  (__v8sf) __B,
184  (__v8sf) __W,
185  (__mmask8) __U);
186 }
187 
188 static __inline__ __m256 __DEFAULT_FN_ATTRS
189 _mm256_maskz_and_ps (__mmask8 __U, __m256 __A, __m256 __B) {
190  return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
191  (__v8sf) __B,
192  (__v8sf)
193  _mm256_setzero_ps (),
194  (__mmask8) __U);
195 }
196 
197 static __inline__ __m128 __DEFAULT_FN_ATTRS
198 _mm_mask_and_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
199  return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
200  (__v4sf) __B,
201  (__v4sf) __W,
202  (__mmask8) __U);
203 }
204 
205 static __inline__ __m128 __DEFAULT_FN_ATTRS
206 _mm_maskz_and_ps (__mmask8 __U, __m128 __A, __m128 __B) {
207  return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
208  (__v4sf) __B,
209  (__v4sf)
210  _mm_setzero_ps (),
211  (__mmask8) __U);
212 }
213 
214 static __inline__ __m256d __DEFAULT_FN_ATTRS
215 _mm256_mask_xor_pd (__m256d __W, __mmask8 __U, __m256d __A,
216  __m256d __B) {
217  return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
218  (__v4df) __B,
219  (__v4df) __W,
220  (__mmask8) __U);
221 }
222 
223 static __inline__ __m256d __DEFAULT_FN_ATTRS
224 _mm256_maskz_xor_pd (__mmask8 __U, __m256d __A, __m256d __B) {
225  return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
226  (__v4df) __B,
227  (__v4df)
228  _mm256_setzero_pd (),
229  (__mmask8) __U);
230 }
231 
232 static __inline__ __m128d __DEFAULT_FN_ATTRS
233 _mm_mask_xor_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
234  return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
235  (__v2df) __B,
236  (__v2df) __W,
237  (__mmask8) __U);
238 }
239 
240 static __inline__ __m128d __DEFAULT_FN_ATTRS
241 _mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B) {
242  return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
243  (__v2df) __B,
244  (__v2df)
245  _mm_setzero_pd (),
246  (__mmask8) __U);
247 }
248 
249 static __inline__ __m256 __DEFAULT_FN_ATTRS
250 _mm256_mask_xor_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
251  return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
252  (__v8sf) __B,
253  (__v8sf) __W,
254  (__mmask8) __U);
255 }
256 
257 static __inline__ __m256 __DEFAULT_FN_ATTRS
258 _mm256_maskz_xor_ps (__mmask8 __U, __m256 __A, __m256 __B) {
259  return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
260  (__v8sf) __B,
261  (__v8sf)
262  _mm256_setzero_ps (),
263  (__mmask8) __U);
264 }
265 
266 static __inline__ __m128 __DEFAULT_FN_ATTRS
267 _mm_mask_xor_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
268  return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
269  (__v4sf) __B,
270  (__v4sf) __W,
271  (__mmask8) __U);
272 }
273 
274 static __inline__ __m128 __DEFAULT_FN_ATTRS
275 _mm_maskz_xor_ps (__mmask8 __U, __m128 __A, __m128 __B) {
276  return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
277  (__v4sf) __B,
278  (__v4sf)
279  _mm_setzero_ps (),
280  (__mmask8) __U);
281 }
282 
283 static __inline__ __m256d __DEFAULT_FN_ATTRS
284 _mm256_mask_or_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
285  return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
286  (__v4df) __B,
287  (__v4df) __W,
288  (__mmask8) __U);
289 }
290 
291 static __inline__ __m256d __DEFAULT_FN_ATTRS
292 _mm256_maskz_or_pd (__mmask8 __U, __m256d __A, __m256d __B) {
293  return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
294  (__v4df) __B,
295  (__v4df)
296  _mm256_setzero_pd (),
297  (__mmask8) __U);
298 }
299 
300 static __inline__ __m128d __DEFAULT_FN_ATTRS
301 _mm_mask_or_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
302  return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
303  (__v2df) __B,
304  (__v2df) __W,
305  (__mmask8) __U);
306 }
307 
308 static __inline__ __m128d __DEFAULT_FN_ATTRS
309 _mm_maskz_or_pd (__mmask8 __U, __m128d __A, __m128d __B) {
310  return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
311  (__v2df) __B,
312  (__v2df)
313  _mm_setzero_pd (),
314  (__mmask8) __U);
315 }
316 
317 static __inline__ __m256 __DEFAULT_FN_ATTRS
318 _mm256_mask_or_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
319  return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
320  (__v8sf) __B,
321  (__v8sf) __W,
322  (__mmask8) __U);
323 }
324 
325 static __inline__ __m256 __DEFAULT_FN_ATTRS
326 _mm256_maskz_or_ps (__mmask8 __U, __m256 __A, __m256 __B) {
327  return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
328  (__v8sf) __B,
329  (__v8sf)
330  _mm256_setzero_ps (),
331  (__mmask8) __U);
332 }
333 
334 static __inline__ __m128 __DEFAULT_FN_ATTRS
335 _mm_mask_or_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
336  return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
337  (__v4sf) __B,
338  (__v4sf) __W,
339  (__mmask8) __U);
340 }
341 
342 static __inline__ __m128 __DEFAULT_FN_ATTRS
343 _mm_maskz_or_ps (__mmask8 __U, __m128 __A, __m128 __B) {
344  return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
345  (__v4sf) __B,
346  (__v4sf)
347  _mm_setzero_ps (),
348  (__mmask8) __U);
349 }
350 
351 static __inline__ __m128i __DEFAULT_FN_ATTRS
352 _mm_cvtpd_epi64 (__m128d __A) {
353  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
354  (__v2di) _mm_setzero_si128(),
355  (__mmask8) -1);
356 }
357 
358 static __inline__ __m128i __DEFAULT_FN_ATTRS
359 _mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
360  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
361  (__v2di) __W,
362  (__mmask8) __U);
363 }
364 
365 static __inline__ __m128i __DEFAULT_FN_ATTRS
366 _mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A) {
367  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
368  (__v2di) _mm_setzero_si128(),
369  (__mmask8) __U);
370 }
371 
372 static __inline__ __m256i __DEFAULT_FN_ATTRS
373 _mm256_cvtpd_epi64 (__m256d __A) {
374  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
375  (__v4di) _mm256_setzero_si256(),
376  (__mmask8) -1);
377 }
378 
379 static __inline__ __m256i __DEFAULT_FN_ATTRS
380 _mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
381  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
382  (__v4di) __W,
383  (__mmask8) __U);
384 }
385 
386 static __inline__ __m256i __DEFAULT_FN_ATTRS
387 _mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A) {
388  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
389  (__v4di) _mm256_setzero_si256(),
390  (__mmask8) __U);
391 }
392 
393 static __inline__ __m128i __DEFAULT_FN_ATTRS
394 _mm_cvtpd_epu64 (__m128d __A) {
395  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
396  (__v2di) _mm_setzero_si128(),
397  (__mmask8) -1);
398 }
399 
400 static __inline__ __m128i __DEFAULT_FN_ATTRS
401 _mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
402  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
403  (__v2di) __W,
404  (__mmask8) __U);
405 }
406 
407 static __inline__ __m128i __DEFAULT_FN_ATTRS
408 _mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A) {
409  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
410  (__v2di) _mm_setzero_si128(),
411  (__mmask8) __U);
412 }
413 
414 static __inline__ __m256i __DEFAULT_FN_ATTRS
415 _mm256_cvtpd_epu64 (__m256d __A) {
416  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
417  (__v4di) _mm256_setzero_si256(),
418  (__mmask8) -1);
419 }
420 
421 static __inline__ __m256i __DEFAULT_FN_ATTRS
422 _mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
423  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
424  (__v4di) __W,
425  (__mmask8) __U);
426 }
427 
428 static __inline__ __m256i __DEFAULT_FN_ATTRS
429 _mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A) {
430  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
431  (__v4di) _mm256_setzero_si256(),
432  (__mmask8) __U);
433 }
434 
435 static __inline__ __m128i __DEFAULT_FN_ATTRS
436 _mm_cvtps_epi64 (__m128 __A) {
437  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
438  (__v2di) _mm_setzero_si128(),
439  (__mmask8) -1);
440 }
441 
442 static __inline__ __m128i __DEFAULT_FN_ATTRS
443 _mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
444  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
445  (__v2di) __W,
446  (__mmask8) __U);
447 }
448 
449 static __inline__ __m128i __DEFAULT_FN_ATTRS
450 _mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
451  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
452  (__v2di) _mm_setzero_si128(),
453  (__mmask8) __U);
454 }
455 
456 static __inline__ __m256i __DEFAULT_FN_ATTRS
457 _mm256_cvtps_epi64 (__m128 __A) {
458  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
459  (__v4di) _mm256_setzero_si256(),
460  (__mmask8) -1);
461 }
462 
463 static __inline__ __m256i __DEFAULT_FN_ATTRS
464 _mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
465  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
466  (__v4di) __W,
467  (__mmask8) __U);
468 }
469 
470 static __inline__ __m256i __DEFAULT_FN_ATTRS
471 _mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
472  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
473  (__v4di) _mm256_setzero_si256(),
474  (__mmask8) __U);
475 }
476 
477 static __inline__ __m128i __DEFAULT_FN_ATTRS
478 _mm_cvtps_epu64 (__m128 __A) {
479  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
480  (__v2di) _mm_setzero_si128(),
481  (__mmask8) -1);
482 }
483 
484 static __inline__ __m128i __DEFAULT_FN_ATTRS
485 _mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
486  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
487  (__v2di) __W,
488  (__mmask8) __U);
489 }
490 
491 static __inline__ __m128i __DEFAULT_FN_ATTRS
492 _mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
493  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
494  (__v2di) _mm_setzero_si128(),
495  (__mmask8) __U);
496 }
497 
498 static __inline__ __m256i __DEFAULT_FN_ATTRS
499 _mm256_cvtps_epu64 (__m128 __A) {
500  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
501  (__v4di) _mm256_setzero_si256(),
502  (__mmask8) -1);
503 }
504 
505 static __inline__ __m256i __DEFAULT_FN_ATTRS
506 _mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
507  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
508  (__v4di) __W,
509  (__mmask8) __U);
510 }
511 
512 static __inline__ __m256i __DEFAULT_FN_ATTRS
513 _mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
514  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
515  (__v4di) _mm256_setzero_si256(),
516  (__mmask8) __U);
517 }
518 
519 static __inline__ __m128d __DEFAULT_FN_ATTRS
520 _mm_cvtepi64_pd (__m128i __A) {
521  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
522  (__v2df) _mm_setzero_pd(),
523  (__mmask8) -1);
524 }
525 
526 static __inline__ __m128d __DEFAULT_FN_ATTRS
527 _mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
528  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
529  (__v2df) __W,
530  (__mmask8) __U);
531 }
532 
533 static __inline__ __m128d __DEFAULT_FN_ATTRS
534 _mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A) {
535  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
536  (__v2df) _mm_setzero_pd(),
537  (__mmask8) __U);
538 }
539 
540 static __inline__ __m256d __DEFAULT_FN_ATTRS
541 _mm256_cvtepi64_pd (__m256i __A) {
542  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
543  (__v4df) _mm256_setzero_pd(),
544  (__mmask8) -1);
545 }
546 
547 static __inline__ __m256d __DEFAULT_FN_ATTRS
548 _mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
549  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
550  (__v4df) __W,
551  (__mmask8) __U);
552 }
553 
554 static __inline__ __m256d __DEFAULT_FN_ATTRS
555 _mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A) {
556  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
557  (__v4df) _mm256_setzero_pd(),
558  (__mmask8) __U);
559 }
560 
561 static __inline__ __m128 __DEFAULT_FN_ATTRS
562 _mm_cvtepi64_ps (__m128i __A) {
563  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
564  (__v4sf) _mm_setzero_ps(),
565  (__mmask8) -1);
566 }
567 
568 static __inline__ __m128 __DEFAULT_FN_ATTRS
569 _mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
570  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
571  (__v4sf) __W,
572  (__mmask8) __U);
573 }
574 
575 static __inline__ __m128 __DEFAULT_FN_ATTRS
576 _mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) {
577  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
578  (__v4sf) _mm_setzero_ps(),
579  (__mmask8) __U);
580 }
581 
582 static __inline__ __m128 __DEFAULT_FN_ATTRS
583 _mm256_cvtepi64_ps (__m256i __A) {
584  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
585  (__v4sf) _mm_setzero_ps(),
586  (__mmask8) -1);
587 }
588 
589 static __inline__ __m128 __DEFAULT_FN_ATTRS
590 _mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
591  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
592  (__v4sf) __W,
593  (__mmask8) __U);
594 }
595 
596 static __inline__ __m128 __DEFAULT_FN_ATTRS
597 _mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A) {
598  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
599  (__v4sf) _mm_setzero_ps(),
600  (__mmask8) __U);
601 }
602 
603 static __inline__ __m128i __DEFAULT_FN_ATTRS
604 _mm_cvttpd_epi64 (__m128d __A) {
605  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
606  (__v2di) _mm_setzero_si128(),
607  (__mmask8) -1);
608 }
609 
610 static __inline__ __m128i __DEFAULT_FN_ATTRS
611 _mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
612  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
613  (__v2di) __W,
614  (__mmask8) __U);
615 }
616 
617 static __inline__ __m128i __DEFAULT_FN_ATTRS
618 _mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A) {
619  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
620  (__v2di) _mm_setzero_si128(),
621  (__mmask8) __U);
622 }
623 
624 static __inline__ __m256i __DEFAULT_FN_ATTRS
625 _mm256_cvttpd_epi64 (__m256d __A) {
626  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
627  (__v4di) _mm256_setzero_si256(),
628  (__mmask8) -1);
629 }
630 
631 static __inline__ __m256i __DEFAULT_FN_ATTRS
632 _mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
633  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
634  (__v4di) __W,
635  (__mmask8) __U);
636 }
637 
638 static __inline__ __m256i __DEFAULT_FN_ATTRS
639 _mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A) {
640  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
641  (__v4di) _mm256_setzero_si256(),
642  (__mmask8) __U);
643 }
644 
645 static __inline__ __m128i __DEFAULT_FN_ATTRS
646 _mm_cvttpd_epu64 (__m128d __A) {
647  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
648  (__v2di) _mm_setzero_si128(),
649  (__mmask8) -1);
650 }
651 
652 static __inline__ __m128i __DEFAULT_FN_ATTRS
653 _mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
654  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
655  (__v2di) __W,
656  (__mmask8) __U);
657 }
658 
659 static __inline__ __m128i __DEFAULT_FN_ATTRS
660 _mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A) {
661  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
662  (__v2di) _mm_setzero_si128(),
663  (__mmask8) __U);
664 }
665 
666 static __inline__ __m256i __DEFAULT_FN_ATTRS
667 _mm256_cvttpd_epu64 (__m256d __A) {
668  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
669  (__v4di) _mm256_setzero_si256(),
670  (__mmask8) -1);
671 }
672 
673 static __inline__ __m256i __DEFAULT_FN_ATTRS
674 _mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
675  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
676  (__v4di) __W,
677  (__mmask8) __U);
678 }
679 
680 static __inline__ __m256i __DEFAULT_FN_ATTRS
681 _mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A) {
682  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
683  (__v4di) _mm256_setzero_si256(),
684  (__mmask8) __U);
685 }
686 
687 static __inline__ __m128i __DEFAULT_FN_ATTRS
688 _mm_cvttps_epi64 (__m128 __A) {
689  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
690  (__v2di) _mm_setzero_si128(),
691  (__mmask8) -1);
692 }
693 
694 static __inline__ __m128i __DEFAULT_FN_ATTRS
695 _mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
696  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
697  (__v2di) __W,
698  (__mmask8) __U);
699 }
700 
701 static __inline__ __m128i __DEFAULT_FN_ATTRS
702 _mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
703  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
704  (__v2di) _mm_setzero_si128(),
705  (__mmask8) __U);
706 }
707 
708 static __inline__ __m256i __DEFAULT_FN_ATTRS
709 _mm256_cvttps_epi64 (__m128 __A) {
710  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
711  (__v4di) _mm256_setzero_si256(),
712  (__mmask8) -1);
713 }
714 
715 static __inline__ __m256i __DEFAULT_FN_ATTRS
716 _mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
717  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
718  (__v4di) __W,
719  (__mmask8) __U);
720 }
721 
722 static __inline__ __m256i __DEFAULT_FN_ATTRS
723 _mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
724  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
725  (__v4di) _mm256_setzero_si256(),
726  (__mmask8) __U);
727 }
728 
729 static __inline__ __m128i __DEFAULT_FN_ATTRS
730 _mm_cvttps_epu64 (__m128 __A) {
731  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
732  (__v2di) _mm_setzero_si128(),
733  (__mmask8) -1);
734 }
735 
736 static __inline__ __m128i __DEFAULT_FN_ATTRS
737 _mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
738  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
739  (__v2di) __W,
740  (__mmask8) __U);
741 }
742 
743 static __inline__ __m128i __DEFAULT_FN_ATTRS
744 _mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
745  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
746  (__v2di) _mm_setzero_si128(),
747  (__mmask8) __U);
748 }
749 
750 static __inline__ __m256i __DEFAULT_FN_ATTRS
751 _mm256_cvttps_epu64 (__m128 __A) {
752  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
753  (__v4di) _mm256_setzero_si256(),
754  (__mmask8) -1);
755 }
756 
757 static __inline__ __m256i __DEFAULT_FN_ATTRS
758 _mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
759  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
760  (__v4di) __W,
761  (__mmask8) __U);
762 }
763 
764 static __inline__ __m256i __DEFAULT_FN_ATTRS
765 _mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
766  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
767  (__v4di) _mm256_setzero_si256(),
768  (__mmask8) __U);
769 }
770 
771 static __inline__ __m128d __DEFAULT_FN_ATTRS
772 _mm_cvtepu64_pd (__m128i __A) {
773  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
774  (__v2df) _mm_setzero_pd(),
775  (__mmask8) -1);
776 }
777 
778 static __inline__ __m128d __DEFAULT_FN_ATTRS
779 _mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
780  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
781  (__v2df) __W,
782  (__mmask8) __U);
783 }
784 
785 static __inline__ __m128d __DEFAULT_FN_ATTRS
786 _mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A) {
787  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
788  (__v2df) _mm_setzero_pd(),
789  (__mmask8) __U);
790 }
791 
792 static __inline__ __m256d __DEFAULT_FN_ATTRS
793 _mm256_cvtepu64_pd (__m256i __A) {
794  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
795  (__v4df) _mm256_setzero_pd(),
796  (__mmask8) -1);
797 }
798 
799 static __inline__ __m256d __DEFAULT_FN_ATTRS
800 _mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
801  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
802  (__v4df) __W,
803  (__mmask8) __U);
804 }
805 
806 static __inline__ __m256d __DEFAULT_FN_ATTRS
807 _mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A) {
808  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
809  (__v4df) _mm256_setzero_pd(),
810  (__mmask8) __U);
811 }
812 
813 static __inline__ __m128 __DEFAULT_FN_ATTRS
814 _mm_cvtepu64_ps (__m128i __A) {
815  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
816  (__v4sf) _mm_setzero_ps(),
817  (__mmask8) -1);
818 }
819 
820 static __inline__ __m128 __DEFAULT_FN_ATTRS
821 _mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
822  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
823  (__v4sf) __W,
824  (__mmask8) __U);
825 }
826 
827 static __inline__ __m128 __DEFAULT_FN_ATTRS
828 _mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) {
829  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
830  (__v4sf) _mm_setzero_ps(),
831  (__mmask8) __U);
832 }
833 
834 static __inline__ __m128 __DEFAULT_FN_ATTRS
835 _mm256_cvtepu64_ps (__m256i __A) {
836  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
837  (__v4sf) _mm_setzero_ps(),
838  (__mmask8) -1);
839 }
840 
841 static __inline__ __m128 __DEFAULT_FN_ATTRS
842 _mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
843  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
844  (__v4sf) __W,
845  (__mmask8) __U);
846 }
847 
848 static __inline__ __m128 __DEFAULT_FN_ATTRS
849 _mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) {
850  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
851  (__v4sf) _mm_setzero_ps(),
852  (__mmask8) __U);
853 }
854 
855 #define _mm_range_pd(__A, __B, __C) __extension__ ({ \
856  (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
857  (__v2df) _mm_setzero_pd(), (__mmask8) -1); })
858 
859 #define _mm_mask_range_pd(__W, __U, __A, __B, __C) __extension__ ({ \
860  (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
861  (__v2df) __W, (__mmask8) __U); })
862 
863 #define _mm_maskz_range_pd(__U, __A, __B, __C) __extension__ ({ \
864  (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
865  (__v2df) _mm_setzero_pd(), (__mmask8) __U); })
866 
867 #define _mm256_range_pd(__A, __B, __C) __extension__ ({ \
868  (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
869  (__v4df) _mm256_setzero_pd(), (__mmask8) -1); })
870 
871 #define _mm256_mask_range_pd(__W, __U, __A, __B, __C) __extension__ ({ \
872  (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
873  (__v4df) __W, (__mmask8) __U); })
874 
875 #define _mm256_maskz_range_pd(__U, __A, __B, __C) __extension__ ({ \
876  (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
877  (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
878 
879 #define _mm_range_ps(__A, __B, __C) __extension__ ({ \
880  (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C, \
881  (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
882 
883 #define _mm_mask_range_ps(__W, __U, __A, __B, __C) __extension__ ({ \
884  (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C, \
885  (__v4sf) __W, (__mmask8) __U); })
886 
887 #define _mm_maskz_range_ps(__U, __A, __B, __C) __extension__ ({ \
888  (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C, \
889  (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
890 
891 #define _mm256_range_ps(__A, __B, __C) __extension__ ({ \
892  (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C, \
893  (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
894 
895 #define _mm256_mask_range_ps(__W, __U, __A, __B, __C) __extension__ ({ \
896  (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C, \
897  (__v8sf) __W, (__mmask8) __U); })
898 
899 #define _mm256_maskz_range_ps(__U, __A, __B, __C) __extension__ ({ \
900  (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C, \
901  (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
902 
903 #define _mm_reduce_pd(__A, __B) __extension__ ({ \
904  (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
905  (__v2df) _mm_setzero_pd(), (__mmask8) -1); })
906 
907 #define _mm_mask_reduce_pd(__W, __U, __A, __B) __extension__ ({ \
908  (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
909  (__v2df) __W, (__mmask8) __U); })
910 
911 #define _mm_maskz_reduce_pd(__U, __A, __B) __extension__ ({ \
912  (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
913  (__v2df) _mm_setzero_pd(), (__mmask8) __U); })
914 
915 #define _mm256_reduce_pd(__A, __B) __extension__ ({ \
916  (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B, \
917  (__v4df) _mm256_setzero_pd(), (__mmask8) -1); })
918 
919 #define _mm256_mask_reduce_pd(__W, __U, __A, __B) __extension__ ({ \
920  (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B, \
921  (__v4df) __W, (__mmask8) __U); })
922 
923 #define _mm256_maskz_reduce_pd(__U, __A, __B) __extension__ ({ \
924  (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B, \
925  (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
926 
927 #define _mm_reduce_ps(__A, __B) __extension__ ({ \
928  (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B, \
929  (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
930 
931 #define _mm_mask_reduce_ps(__W, __U, __A, __B) __extension__ ({ \
932  (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B, \
933  (__v4sf) __W, (__mmask8) __U); })
934 
935 #define _mm_maskz_reduce_ps(__U, __A, __B) __extension__ ({ \
936  (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B, \
937  (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
938 
939 #define _mm256_reduce_ps(__A, __B) __extension__ ({ \
940  (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B, \
941  (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
942 
943 #define _mm256_mask_reduce_ps(__W, __U, __A, __B) __extension__ ({ \
944  (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B, \
945  (__v8sf) __W, (__mmask8) __U); })
946 
947 #define _mm256_maskz_reduce_ps(__U, __A, __B) __extension__ ({ \
948  (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B, \
949  (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
950 
951 #undef __DEFAULT_FN_ATTRS
952 
953 #endif
unsigned char __mmask8
Definition: avx512fintrin.h:39
#define __DEFAULT_FN_ATTRS
Definition: avx512vldqintrin.h:32