1 /* Copyright (C) 2014-2020 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 <avx512vlintrin.h> directly; include <immintrin.h> instead."
26 #endif
27
28 #ifndef _AVX512VLINTRIN_H_INCLUDED
29 #define _AVX512VLINTRIN_H_INCLUDED
30
31 #ifndef __AVX512VL__
32 #pragma GCC push_options
33 #pragma GCC target("avx512vl")
34 #define __DISABLE_AVX512VL__
35 #endif /* __AVX512VL__ */
36
37 /* Internal data types for implementing the intrinsics. */
38 typedef unsigned int __mmask32;
39
40 extern __inline __m256d
41 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_pd(__m256d __W,__mmask8 __U,__m256d __A)42 _mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A)
43 {
44 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
45 (__v4df) __W,
46 (__mmask8) __U);
47 }
48
49 extern __inline __m256d
50 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_pd(__mmask8 __U,__m256d __A)51 _mm256_maskz_mov_pd (__mmask8 __U, __m256d __A)
52 {
53 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
54 (__v4df)
55 _mm256_setzero_pd (),
56 (__mmask8) __U);
57 }
58
59 extern __inline __m128d
60 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_pd(__m128d __W,__mmask8 __U,__m128d __A)61 _mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A)
62 {
63 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
64 (__v2df) __W,
65 (__mmask8) __U);
66 }
67
68 extern __inline __m128d
69 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_pd(__mmask8 __U,__m128d __A)70 _mm_maskz_mov_pd (__mmask8 __U, __m128d __A)
71 {
72 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
73 (__v2df)
74 _mm_setzero_pd (),
75 (__mmask8) __U);
76 }
77
78 extern __inline __m256d
79 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_pd(__m256d __W,__mmask8 __U,void const * __P)80 _mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P)
81 {
82 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
83 (__v4df) __W,
84 (__mmask8) __U);
85 }
86
87 extern __inline __m256d
88 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_pd(__mmask8 __U,void const * __P)89 _mm256_maskz_load_pd (__mmask8 __U, void const *__P)
90 {
91 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
92 (__v4df)
93 _mm256_setzero_pd (),
94 (__mmask8) __U);
95 }
96
97 extern __inline __m128d
98 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_pd(__m128d __W,__mmask8 __U,void const * __P)99 _mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P)
100 {
101 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
102 (__v2df) __W,
103 (__mmask8) __U);
104 }
105
106 extern __inline __m128d
107 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_pd(__mmask8 __U,void const * __P)108 _mm_maskz_load_pd (__mmask8 __U, void const *__P)
109 {
110 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
111 (__v2df)
112 _mm_setzero_pd (),
113 (__mmask8) __U);
114 }
115
116 extern __inline void
117 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_pd(void * __P,__mmask8 __U,__m256d __A)118 _mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A)
119 {
120 __builtin_ia32_storeapd256_mask ((__v4df *) __P,
121 (__v4df) __A,
122 (__mmask8) __U);
123 }
124
125 extern __inline void
126 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_pd(void * __P,__mmask8 __U,__m128d __A)127 _mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A)
128 {
129 __builtin_ia32_storeapd128_mask ((__v2df *) __P,
130 (__v2df) __A,
131 (__mmask8) __U);
132 }
133
134 extern __inline __m256
135 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_ps(__m256 __W,__mmask8 __U,__m256 __A)136 _mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A)
137 {
138 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
139 (__v8sf) __W,
140 (__mmask8) __U);
141 }
142
143 extern __inline __m256
144 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_ps(__mmask8 __U,__m256 __A)145 _mm256_maskz_mov_ps (__mmask8 __U, __m256 __A)
146 {
147 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
148 (__v8sf)
149 _mm256_setzero_ps (),
150 (__mmask8) __U);
151 }
152
153 extern __inline __m128
154 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_ps(__m128 __W,__mmask8 __U,__m128 __A)155 _mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A)
156 {
157 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
158 (__v4sf) __W,
159 (__mmask8) __U);
160 }
161
162 extern __inline __m128
163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_ps(__mmask8 __U,__m128 __A)164 _mm_maskz_mov_ps (__mmask8 __U, __m128 __A)
165 {
166 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
167 (__v4sf)
168 _mm_setzero_ps (),
169 (__mmask8) __U);
170 }
171
172 extern __inline __m256
173 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_ps(__m256 __W,__mmask8 __U,void const * __P)174 _mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P)
175 {
176 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
177 (__v8sf) __W,
178 (__mmask8) __U);
179 }
180
181 extern __inline __m256
182 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_ps(__mmask8 __U,void const * __P)183 _mm256_maskz_load_ps (__mmask8 __U, void const *__P)
184 {
185 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
186 (__v8sf)
187 _mm256_setzero_ps (),
188 (__mmask8) __U);
189 }
190
191 extern __inline __m128
192 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_ps(__m128 __W,__mmask8 __U,void const * __P)193 _mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P)
194 {
195 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
196 (__v4sf) __W,
197 (__mmask8) __U);
198 }
199
200 extern __inline __m128
201 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_ps(__mmask8 __U,void const * __P)202 _mm_maskz_load_ps (__mmask8 __U, void const *__P)
203 {
204 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
205 (__v4sf)
206 _mm_setzero_ps (),
207 (__mmask8) __U);
208 }
209
210 extern __inline void
211 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_ps(void * __P,__mmask8 __U,__m256 __A)212 _mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A)
213 {
214 __builtin_ia32_storeaps256_mask ((__v8sf *) __P,
215 (__v8sf) __A,
216 (__mmask8) __U);
217 }
218
219 extern __inline void
220 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_ps(void * __P,__mmask8 __U,__m128 __A)221 _mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A)
222 {
223 __builtin_ia32_storeaps128_mask ((__v4sf *) __P,
224 (__v4sf) __A,
225 (__mmask8) __U);
226 }
227
228 extern __inline __m256i
229 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi64(__m256i __W,__mmask8 __U,__m256i __A)230 _mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
231 {
232 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
233 (__v4di) __W,
234 (__mmask8) __U);
235 }
236
237 extern __inline __m256i
238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi64(__mmask8 __U,__m256i __A)239 _mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A)
240 {
241 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
242 (__v4di)
243 _mm256_setzero_si256 (),
244 (__mmask8) __U);
245 }
246
247 extern __inline __m128i
248 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi64(__m128i __W,__mmask8 __U,__m128i __A)249 _mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
250 {
251 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
252 (__v2di) __W,
253 (__mmask8) __U);
254 }
255
256 extern __inline __m128i
257 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi64(__mmask8 __U,__m128i __A)258 _mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A)
259 {
260 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
261 (__v2di)
262 _mm_setzero_si128 (),
263 (__mmask8) __U);
264 }
265
266 extern __inline __m256i
267 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_epi64(__m256i __W,__mmask8 __U,void const * __P)268 _mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P)
269 {
270 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
271 (__v4di) __W,
272 (__mmask8)
273 __U);
274 }
275
276 extern __inline __m256i
277 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_epi64(__mmask8 __U,void const * __P)278 _mm256_maskz_load_epi64 (__mmask8 __U, void const *__P)
279 {
280 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
281 (__v4di)
282 _mm256_setzero_si256 (),
283 (__mmask8)
284 __U);
285 }
286
287 extern __inline __m128i
288 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_epi64(__m128i __W,__mmask8 __U,void const * __P)289 _mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P)
290 {
291 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
292 (__v2di) __W,
293 (__mmask8)
294 __U);
295 }
296
297 extern __inline __m128i
298 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_epi64(__mmask8 __U,void const * __P)299 _mm_maskz_load_epi64 (__mmask8 __U, void const *__P)
300 {
301 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
302 (__v2di)
303 _mm_setzero_si128 (),
304 (__mmask8)
305 __U);
306 }
307
308 extern __inline void
309 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_epi64(void * __P,__mmask8 __U,__m256i __A)310 _mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A)
311 {
312 __builtin_ia32_movdqa64store256_mask ((__v4di *) __P,
313 (__v4di) __A,
314 (__mmask8) __U);
315 }
316
317 extern __inline void
318 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_epi64(void * __P,__mmask8 __U,__m128i __A)319 _mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A)
320 {
321 __builtin_ia32_movdqa64store128_mask ((__v2di *) __P,
322 (__v2di) __A,
323 (__mmask8) __U);
324 }
325
326 extern __inline __m256i
327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi32(__m256i __W,__mmask8 __U,__m256i __A)328 _mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
329 {
330 return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
331 (__v8si) __W,
332 (__mmask8) __U);
333 }
334
335 extern __inline __m256i
336 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi32(__mmask8 __U,__m256i __A)337 _mm256_maskz_mov_epi32 (__mmask8 __U, __m256i __A)
338 {
339 return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
340 (__v8si)
341 _mm256_setzero_si256 (),
342 (__mmask8) __U);
343 }
344
345 extern __inline __m128i
346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi32(__m128i __W,__mmask8 __U,__m128i __A)347 _mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
348 {
349 return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
350 (__v4si) __W,
351 (__mmask8) __U);
352 }
353
354 extern __inline __m128i
355 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi32(__mmask8 __U,__m128i __A)356 _mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A)
357 {
358 return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
359 (__v4si)
360 _mm_setzero_si128 (),
361 (__mmask8) __U);
362 }
363
364 extern __inline __m256i
365 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_epi32(__m256i __W,__mmask8 __U,void const * __P)366 _mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P)
367 {
368 return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
369 (__v8si) __W,
370 (__mmask8)
371 __U);
372 }
373
374 extern __inline __m256i
375 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_epi32(__mmask8 __U,void const * __P)376 _mm256_maskz_load_epi32 (__mmask8 __U, void const *__P)
377 {
378 return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
379 (__v8si)
380 _mm256_setzero_si256 (),
381 (__mmask8)
382 __U);
383 }
384
385 extern __inline __m128i
386 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_epi32(__m128i __W,__mmask8 __U,void const * __P)387 _mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P)
388 {
389 return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
390 (__v4si) __W,
391 (__mmask8)
392 __U);
393 }
394
395 extern __inline __m128i
396 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_epi32(__mmask8 __U,void const * __P)397 _mm_maskz_load_epi32 (__mmask8 __U, void const *__P)
398 {
399 return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
400 (__v4si)
401 _mm_setzero_si128 (),
402 (__mmask8)
403 __U);
404 }
405
406 extern __inline void
407 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_epi32(void * __P,__mmask8 __U,__m256i __A)408 _mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A)
409 {
410 __builtin_ia32_movdqa32store256_mask ((__v8si *) __P,
411 (__v8si) __A,
412 (__mmask8) __U);
413 }
414
415 extern __inline void
416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_epi32(void * __P,__mmask8 __U,__m128i __A)417 _mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A)
418 {
419 __builtin_ia32_movdqa32store128_mask ((__v4si *) __P,
420 (__v4si) __A,
421 (__mmask8) __U);
422 }
423
424 extern __inline __m128d
425 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)426 _mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
427 {
428 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
429 (__v2df) __B,
430 (__v2df) __W,
431 (__mmask8) __U);
432 }
433
434 extern __inline __m128d
435 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_pd(__mmask8 __U,__m128d __A,__m128d __B)436 _mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B)
437 {
438 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
439 (__v2df) __B,
440 (__v2df)
441 _mm_setzero_pd (),
442 (__mmask8) __U);
443 }
444
445 extern __inline __m256d
446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)447 _mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A,
448 __m256d __B)
449 {
450 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
451 (__v4df) __B,
452 (__v4df) __W,
453 (__mmask8) __U);
454 }
455
456 extern __inline __m256d
457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_pd(__mmask8 __U,__m256d __A,__m256d __B)458 _mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B)
459 {
460 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
461 (__v4df) __B,
462 (__v4df)
463 _mm256_setzero_pd (),
464 (__mmask8) __U);
465 }
466
467 extern __inline __m128
468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)469 _mm_mask_add_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
470 {
471 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
472 (__v4sf) __B,
473 (__v4sf) __W,
474 (__mmask8) __U);
475 }
476
477 extern __inline __m128
478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_ps(__mmask8 __U,__m128 __A,__m128 __B)479 _mm_maskz_add_ps (__mmask8 __U, __m128 __A, __m128 __B)
480 {
481 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
482 (__v4sf) __B,
483 (__v4sf)
484 _mm_setzero_ps (),
485 (__mmask8) __U);
486 }
487
488 extern __inline __m256
489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)490 _mm256_mask_add_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
491 {
492 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
493 (__v8sf) __B,
494 (__v8sf) __W,
495 (__mmask8) __U);
496 }
497
498 extern __inline __m256
499 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_ps(__mmask8 __U,__m256 __A,__m256 __B)500 _mm256_maskz_add_ps (__mmask8 __U, __m256 __A, __m256 __B)
501 {
502 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
503 (__v8sf) __B,
504 (__v8sf)
505 _mm256_setzero_ps (),
506 (__mmask8) __U);
507 }
508
509 extern __inline __m128d
510 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)511 _mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
512 {
513 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
514 (__v2df) __B,
515 (__v2df) __W,
516 (__mmask8) __U);
517 }
518
519 extern __inline __m128d
520 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_pd(__mmask8 __U,__m128d __A,__m128d __B)521 _mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B)
522 {
523 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
524 (__v2df) __B,
525 (__v2df)
526 _mm_setzero_pd (),
527 (__mmask8) __U);
528 }
529
530 extern __inline __m256d
531 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)532 _mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A,
533 __m256d __B)
534 {
535 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
536 (__v4df) __B,
537 (__v4df) __W,
538 (__mmask8) __U);
539 }
540
541 extern __inline __m256d
542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_pd(__mmask8 __U,__m256d __A,__m256d __B)543 _mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B)
544 {
545 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
546 (__v4df) __B,
547 (__v4df)
548 _mm256_setzero_pd (),
549 (__mmask8) __U);
550 }
551
552 extern __inline __m128
553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)554 _mm_mask_sub_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
555 {
556 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
557 (__v4sf) __B,
558 (__v4sf) __W,
559 (__mmask8) __U);
560 }
561
562 extern __inline __m128
563 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_ps(__mmask8 __U,__m128 __A,__m128 __B)564 _mm_maskz_sub_ps (__mmask8 __U, __m128 __A, __m128 __B)
565 {
566 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
567 (__v4sf) __B,
568 (__v4sf)
569 _mm_setzero_ps (),
570 (__mmask8) __U);
571 }
572
573 extern __inline __m256
574 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)575 _mm256_mask_sub_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
576 {
577 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
578 (__v8sf) __B,
579 (__v8sf) __W,
580 (__mmask8) __U);
581 }
582
583 extern __inline __m256
584 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_ps(__mmask8 __U,__m256 __A,__m256 __B)585 _mm256_maskz_sub_ps (__mmask8 __U, __m256 __A, __m256 __B)
586 {
587 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
588 (__v8sf) __B,
589 (__v8sf)
590 _mm256_setzero_ps (),
591 (__mmask8) __U);
592 }
593
594 extern __inline void
595 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_store_epi64(void * __P,__m256i __A)596 _mm256_store_epi64 (void *__P, __m256i __A)
597 {
598 *(__m256i *) __P = __A;
599 }
600
601 extern __inline void
602 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_epi64(void * __P,__m128i __A)603 _mm_store_epi64 (void *__P, __m128i __A)
604 {
605 *(__m128i *) __P = __A;
606 }
607
608 extern __inline __m256d
609 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_pd(__m256d __W,__mmask8 __U,void const * __P)610 _mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P)
611 {
612 return (__m256d) __builtin_ia32_loadupd256_mask ((const double *) __P,
613 (__v4df) __W,
614 (__mmask8) __U);
615 }
616
617 extern __inline __m256d
618 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_pd(__mmask8 __U,void const * __P)619 _mm256_maskz_loadu_pd (__mmask8 __U, void const *__P)
620 {
621 return (__m256d) __builtin_ia32_loadupd256_mask ((const double *) __P,
622 (__v4df)
623 _mm256_setzero_pd (),
624 (__mmask8) __U);
625 }
626
627 extern __inline __m128d
628 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_pd(__m128d __W,__mmask8 __U,void const * __P)629 _mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P)
630 {
631 return (__m128d) __builtin_ia32_loadupd128_mask ((const double *) __P,
632 (__v2df) __W,
633 (__mmask8) __U);
634 }
635
636 extern __inline __m128d
637 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_pd(__mmask8 __U,void const * __P)638 _mm_maskz_loadu_pd (__mmask8 __U, void const *__P)
639 {
640 return (__m128d) __builtin_ia32_loadupd128_mask ((const double *) __P,
641 (__v2df)
642 _mm_setzero_pd (),
643 (__mmask8) __U);
644 }
645
646 extern __inline void
647 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_pd(void * __P,__mmask8 __U,__m256d __A)648 _mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A)
649 {
650 __builtin_ia32_storeupd256_mask ((double *) __P,
651 (__v4df) __A,
652 (__mmask8) __U);
653 }
654
655 extern __inline void
656 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_pd(void * __P,__mmask8 __U,__m128d __A)657 _mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A)
658 {
659 __builtin_ia32_storeupd128_mask ((double *) __P,
660 (__v2df) __A,
661 (__mmask8) __U);
662 }
663
664 extern __inline __m256
665 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_ps(__m256 __W,__mmask8 __U,void const * __P)666 _mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P)
667 {
668 return (__m256) __builtin_ia32_loadups256_mask ((const float *) __P,
669 (__v8sf) __W,
670 (__mmask8) __U);
671 }
672
673 extern __inline __m256
674 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_ps(__mmask8 __U,void const * __P)675 _mm256_maskz_loadu_ps (__mmask8 __U, void const *__P)
676 {
677 return (__m256) __builtin_ia32_loadups256_mask ((const float *) __P,
678 (__v8sf)
679 _mm256_setzero_ps (),
680 (__mmask8) __U);
681 }
682
683 extern __inline __m128
684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_ps(__m128 __W,__mmask8 __U,void const * __P)685 _mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P)
686 {
687 return (__m128) __builtin_ia32_loadups128_mask ((const float *) __P,
688 (__v4sf) __W,
689 (__mmask8) __U);
690 }
691
692 extern __inline __m128
693 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_ps(__mmask8 __U,void const * __P)694 _mm_maskz_loadu_ps (__mmask8 __U, void const *__P)
695 {
696 return (__m128) __builtin_ia32_loadups128_mask ((const float *) __P,
697 (__v4sf)
698 _mm_setzero_ps (),
699 (__mmask8) __U);
700 }
701
702 extern __inline void
703 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_ps(void * __P,__mmask8 __U,__m256 __A)704 _mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A)
705 {
706 __builtin_ia32_storeups256_mask ((float *) __P,
707 (__v8sf) __A,
708 (__mmask8) __U);
709 }
710
711 extern __inline void
712 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_ps(void * __P,__mmask8 __U,__m128 __A)713 _mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A)
714 {
715 __builtin_ia32_storeups128_mask ((float *) __P,
716 (__v4sf) __A,
717 (__mmask8) __U);
718 }
719
720 extern __inline __m256i
721 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi64(__m256i __W,__mmask8 __U,void const * __P)722 _mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P)
723 {
724 return (__m256i) __builtin_ia32_loaddqudi256_mask ((const long long *) __P,
725 (__v4di) __W,
726 (__mmask8) __U);
727 }
728
729 extern __inline __m256i
730 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi64(__mmask8 __U,void const * __P)731 _mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
732 {
733 return (__m256i) __builtin_ia32_loaddqudi256_mask ((const long long *) __P,
734 (__v4di)
735 _mm256_setzero_si256 (),
736 (__mmask8) __U);
737 }
738
739 extern __inline __m128i
740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi64(__m128i __W,__mmask8 __U,void const * __P)741 _mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
742 {
743 return (__m128i) __builtin_ia32_loaddqudi128_mask ((const long long *) __P,
744 (__v2di) __W,
745 (__mmask8) __U);
746 }
747
748 extern __inline __m128i
749 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi64(__mmask8 __U,void const * __P)750 _mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
751 {
752 return (__m128i) __builtin_ia32_loaddqudi128_mask ((const long long *) __P,
753 (__v2di)
754 _mm_setzero_si128 (),
755 (__mmask8) __U);
756 }
757
758 extern __inline void
759 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_storeu_epi64(void * __P,__m256i __A)760 _mm256_storeu_epi64 (void *__P, __m256i __A)
761 {
762 *(__m256i_u *) __P = (__m256i_u) __A;
763 }
764
765 extern __inline void
766 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi64(void * __P,__mmask8 __U,__m256i __A)767 _mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A)
768 {
769 __builtin_ia32_storedqudi256_mask ((long long *) __P,
770 (__v4di) __A,
771 (__mmask8) __U);
772 }
773
774 extern __inline void
775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_epi64(void * __P,__m128i __A)776 _mm_storeu_epi64 (void *__P, __m128i __A)
777 {
778 *(__m128i_u *) __P = (__m128i_u) __A;
779 }
780
781 extern __inline void
782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi64(void * __P,__mmask8 __U,__m128i __A)783 _mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A)
784 {
785 __builtin_ia32_storedqudi128_mask ((long long *) __P,
786 (__v2di) __A,
787 (__mmask8) __U);
788 }
789
790 extern __inline __m256i
791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi32(__m256i __W,__mmask8 __U,void const * __P)792 _mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
793 {
794 return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P,
795 (__v8si) __W,
796 (__mmask8) __U);
797 }
798
799 extern __inline __m256i
800 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi32(__mmask8 __U,void const * __P)801 _mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
802 {
803 return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P,
804 (__v8si)
805 _mm256_setzero_si256 (),
806 (__mmask8) __U);
807 }
808
809 extern __inline __m128i
810 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi32(__m128i __W,__mmask8 __U,void const * __P)811 _mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
812 {
813 return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P,
814 (__v4si) __W,
815 (__mmask8) __U);
816 }
817
818 extern __inline __m128i
819 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi32(__mmask8 __U,void const * __P)820 _mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
821 {
822 return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P,
823 (__v4si)
824 _mm_setzero_si128 (),
825 (__mmask8) __U);
826 }
827
828 extern __inline void
829 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_storeu_epi32(void * __P,__m256i __A)830 _mm256_storeu_epi32 (void *__P, __m256i __A)
831 {
832 *(__m256i_u *) __P = (__m256i_u) __A;
833 }
834
835 extern __inline void
836 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi32(void * __P,__mmask8 __U,__m256i __A)837 _mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A)
838 {
839 __builtin_ia32_storedqusi256_mask ((int *) __P,
840 (__v8si) __A,
841 (__mmask8) __U);
842 }
843
844 extern __inline void
845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_epi32(void * __P,__m128i __A)846 _mm_storeu_epi32 (void *__P, __m128i __A)
847 {
848 *(__m128i_u *) __P = (__m128i_u) __A;
849 }
850
851 extern __inline void
852 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi32(void * __P,__mmask8 __U,__m128i __A)853 _mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A)
854 {
855 __builtin_ia32_storedqusi128_mask ((int *) __P,
856 (__v4si) __A,
857 (__mmask8) __U);
858 }
859
860 extern __inline __m256i
861 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi32(__m256i __W,__mmask8 __U,__m256i __A)862 _mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
863 {
864 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
865 (__v8si) __W,
866 (__mmask8) __U);
867 }
868
869 extern __inline __m256i
870 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi32(__mmask8 __U,__m256i __A)871 _mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A)
872 {
873 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
874 (__v8si)
875 _mm256_setzero_si256 (),
876 (__mmask8) __U);
877 }
878
879 extern __inline __m128i
880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi32(__m128i __W,__mmask8 __U,__m128i __A)881 _mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
882 {
883 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
884 (__v4si) __W,
885 (__mmask8) __U);
886 }
887
888 extern __inline __m128i
889 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi32(__mmask8 __U,__m128i __A)890 _mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A)
891 {
892 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
893 (__v4si)
894 _mm_setzero_si128 (),
895 (__mmask8) __U);
896 }
897
898 extern __inline __m256i
899 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_abs_epi64(__m256i __A)900 _mm256_abs_epi64 (__m256i __A)
901 {
902 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
903 (__v4di)
904 _mm256_setzero_si256 (),
905 (__mmask8) -1);
906 }
907
908 extern __inline __m256i
909 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi64(__m256i __W,__mmask8 __U,__m256i __A)910 _mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
911 {
912 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
913 (__v4di) __W,
914 (__mmask8) __U);
915 }
916
917 extern __inline __m256i
918 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi64(__mmask8 __U,__m256i __A)919 _mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A)
920 {
921 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
922 (__v4di)
923 _mm256_setzero_si256 (),
924 (__mmask8) __U);
925 }
926
927 extern __inline __m128i
928 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_epi64(__m128i __A)929 _mm_abs_epi64 (__m128i __A)
930 {
931 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
932 (__v2di)
933 _mm_setzero_si128 (),
934 (__mmask8) -1);
935 }
936
937 extern __inline __m128i
938 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi64(__m128i __W,__mmask8 __U,__m128i __A)939 _mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
940 {
941 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
942 (__v2di) __W,
943 (__mmask8) __U);
944 }
945
946 extern __inline __m128i
947 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi64(__mmask8 __U,__m128i __A)948 _mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A)
949 {
950 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
951 (__v2di)
952 _mm_setzero_si128 (),
953 (__mmask8) __U);
954 }
955
956 extern __inline __m128i
957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_epu32(__m256d __A)958 _mm256_cvtpd_epu32 (__m256d __A)
959 {
960 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
961 (__v4si)
962 _mm_setzero_si128 (),
963 (__mmask8) -1);
964 }
965
966 extern __inline __m128i
967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)968 _mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
969 {
970 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
971 (__v4si) __W,
972 (__mmask8) __U);
973 }
974
975 extern __inline __m128i
976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epu32(__mmask8 __U,__m256d __A)977 _mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A)
978 {
979 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
980 (__v4si)
981 _mm_setzero_si128 (),
982 (__mmask8) __U);
983 }
984
985 extern __inline __m128i
986 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epu32(__m128d __A)987 _mm_cvtpd_epu32 (__m128d __A)
988 {
989 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
990 (__v4si)
991 _mm_setzero_si128 (),
992 (__mmask8) -1);
993 }
994
995 extern __inline __m128i
996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)997 _mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
998 {
999 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
1000 (__v4si) __W,
1001 (__mmask8) __U);
1002 }
1003
1004 extern __inline __m128i
1005 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epu32(__mmask8 __U,__m128d __A)1006 _mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A)
1007 {
1008 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
1009 (__v4si)
1010 _mm_setzero_si128 (),
1011 (__mmask8) __U);
1012 }
1013
1014 extern __inline __m256i
1015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epi32(__m256i __W,__mmask8 __U,__m256 __A)1016 _mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
1017 {
1018 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
1019 (__v8si) __W,
1020 (__mmask8) __U);
1021 }
1022
1023 extern __inline __m256i
1024 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epi32(__mmask8 __U,__m256 __A)1025 _mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A)
1026 {
1027 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
1028 (__v8si)
1029 _mm256_setzero_si256 (),
1030 (__mmask8) __U);
1031 }
1032
1033 extern __inline __m128i
1034 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epi32(__m128i __W,__mmask8 __U,__m128 __A)1035 _mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
1036 {
1037 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
1038 (__v4si) __W,
1039 (__mmask8) __U);
1040 }
1041
1042 extern __inline __m128i
1043 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epi32(__mmask8 __U,__m128 __A)1044 _mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A)
1045 {
1046 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
1047 (__v4si)
1048 _mm_setzero_si128 (),
1049 (__mmask8) __U);
1050 }
1051
1052 extern __inline __m256i
1053 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttps_epu32(__m256 __A)1054 _mm256_cvttps_epu32 (__m256 __A)
1055 {
1056 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1057 (__v8si)
1058 _mm256_setzero_si256 (),
1059 (__mmask8) -1);
1060 }
1061
1062 extern __inline __m256i
1063 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epu32(__m256i __W,__mmask8 __U,__m256 __A)1064 _mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
1065 {
1066 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1067 (__v8si) __W,
1068 (__mmask8) __U);
1069 }
1070
1071 extern __inline __m256i
1072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epu32(__mmask8 __U,__m256 __A)1073 _mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A)
1074 {
1075 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1076 (__v8si)
1077 _mm256_setzero_si256 (),
1078 (__mmask8) __U);
1079 }
1080
1081 extern __inline __m128i
1082 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epu32(__m128 __A)1083 _mm_cvttps_epu32 (__m128 __A)
1084 {
1085 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1086 (__v4si)
1087 _mm_setzero_si128 (),
1088 (__mmask8) -1);
1089 }
1090
1091 extern __inline __m128i
1092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epu32(__m128i __W,__mmask8 __U,__m128 __A)1093 _mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
1094 {
1095 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1096 (__v4si) __W,
1097 (__mmask8) __U);
1098 }
1099
1100 extern __inline __m128i
1101 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epu32(__mmask8 __U,__m128 __A)1102 _mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A)
1103 {
1104 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1105 (__v4si)
1106 _mm_setzero_si128 (),
1107 (__mmask8) __U);
1108 }
1109
1110 extern __inline __m128i
1111 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1112 _mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
1113 {
1114 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
1115 (__v4si) __W,
1116 (__mmask8) __U);
1117 }
1118
1119 extern __inline __m128i
1120 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epi32(__mmask8 __U,__m256d __A)1121 _mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A)
1122 {
1123 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
1124 (__v4si)
1125 _mm_setzero_si128 (),
1126 (__mmask8) __U);
1127 }
1128
1129 extern __inline __m128i
1130 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1131 _mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
1132 {
1133 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
1134 (__v4si) __W,
1135 (__mmask8) __U);
1136 }
1137
1138 extern __inline __m128i
1139 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epi32(__mmask8 __U,__m128d __A)1140 _mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A)
1141 {
1142 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
1143 (__v4si)
1144 _mm_setzero_si128 (),
1145 (__mmask8) __U);
1146 }
1147
1148 extern __inline __m128i
1149 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttpd_epu32(__m256d __A)1150 _mm256_cvttpd_epu32 (__m256d __A)
1151 {
1152 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1153 (__v4si)
1154 _mm_setzero_si128 (),
1155 (__mmask8) -1);
1156 }
1157
1158 extern __inline __m128i
1159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)1160 _mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
1161 {
1162 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1163 (__v4si) __W,
1164 (__mmask8) __U);
1165 }
1166
1167 extern __inline __m128i
1168 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epu32(__mmask8 __U,__m256d __A)1169 _mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A)
1170 {
1171 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1172 (__v4si)
1173 _mm_setzero_si128 (),
1174 (__mmask8) __U);
1175 }
1176
1177 extern __inline __m128i
1178 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epu32(__m128d __A)1179 _mm_cvttpd_epu32 (__m128d __A)
1180 {
1181 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1182 (__v4si)
1183 _mm_setzero_si128 (),
1184 (__mmask8) -1);
1185 }
1186
1187 extern __inline __m128i
1188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)1189 _mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
1190 {
1191 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1192 (__v4si) __W,
1193 (__mmask8) __U);
1194 }
1195
1196 extern __inline __m128i
1197 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epu32(__mmask8 __U,__m128d __A)1198 _mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A)
1199 {
1200 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1201 (__v4si)
1202 _mm_setzero_si128 (),
1203 (__mmask8) __U);
1204 }
1205
1206 extern __inline __m128i
1207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1208 _mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
1209 {
1210 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1211 (__v4si) __W,
1212 (__mmask8) __U);
1213 }
1214
1215 extern __inline __m128i
1216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epi32(__mmask8 __U,__m256d __A)1217 _mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A)
1218 {
1219 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1220 (__v4si)
1221 _mm_setzero_si128 (),
1222 (__mmask8) __U);
1223 }
1224
1225 extern __inline __m128i
1226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1227 _mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
1228 {
1229 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1230 (__v4si) __W,
1231 (__mmask8) __U);
1232 }
1233
1234 extern __inline __m128i
1235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epi32(__mmask8 __U,__m128d __A)1236 _mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A)
1237 {
1238 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1239 (__v4si)
1240 _mm_setzero_si128 (),
1241 (__mmask8) __U);
1242 }
1243
1244 extern __inline __m256d
1245 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_pd(__m256d __W,__mmask8 __U,__m128i __A)1246 _mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A)
1247 {
1248 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
1249 (__v4df) __W,
1250 (__mmask8) __U);
1251 }
1252
1253 extern __inline __m256d
1254 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1255 _mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
1256 {
1257 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
1258 (__v4df)
1259 _mm256_setzero_pd (),
1260 (__mmask8) __U);
1261 }
1262
1263 extern __inline __m128d
1264 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_pd(__m128d __W,__mmask8 __U,__m128i __A)1265 _mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A)
1266 {
1267 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
1268 (__v2df) __W,
1269 (__mmask8) __U);
1270 }
1271
1272 extern __inline __m128d
1273 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1274 _mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
1275 {
1276 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
1277 (__v2df)
1278 _mm_setzero_pd (),
1279 (__mmask8) __U);
1280 }
1281
1282 extern __inline __m256d
1283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_pd(__m128i __A)1284 _mm256_cvtepu32_pd (__m128i __A)
1285 {
1286 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1287 (__v4df)
1288 _mm256_setzero_pd (),
1289 (__mmask8) -1);
1290 }
1291
1292 extern __inline __m256d
1293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_pd(__m256d __W,__mmask8 __U,__m128i __A)1294 _mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A)
1295 {
1296 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1297 (__v4df) __W,
1298 (__mmask8) __U);
1299 }
1300
1301 extern __inline __m256d
1302 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)1303 _mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
1304 {
1305 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1306 (__v4df)
1307 _mm256_setzero_pd (),
1308 (__mmask8) __U);
1309 }
1310
1311 extern __inline __m128d
1312 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_pd(__m128i __A)1313 _mm_cvtepu32_pd (__m128i __A)
1314 {
1315 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1316 (__v2df)
1317 _mm_setzero_pd (),
1318 (__mmask8) -1);
1319 }
1320
1321 extern __inline __m128d
1322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_pd(__m128d __W,__mmask8 __U,__m128i __A)1323 _mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A)
1324 {
1325 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1326 (__v2df) __W,
1327 (__mmask8) __U);
1328 }
1329
1330 extern __inline __m128d
1331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)1332 _mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
1333 {
1334 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1335 (__v2df)
1336 _mm_setzero_pd (),
1337 (__mmask8) __U);
1338 }
1339
1340 extern __inline __m256
1341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_ps(__m256 __W,__mmask8 __U,__m256i __A)1342 _mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A)
1343 {
1344 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1345 (__v8sf) __W,
1346 (__mmask8) __U);
1347 }
1348
1349 extern __inline __m256
1350 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_ps(__mmask8 __U,__m256i __A)1351 _mm256_maskz_cvtepi32_ps (__mmask8 __U, __m256i __A)
1352 {
1353 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1354 (__v8sf)
1355 _mm256_setzero_ps (),
1356 (__mmask8) __U);
1357 }
1358
1359 extern __inline __m128
1360 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_ps(__m128 __W,__mmask8 __U,__m128i __A)1361 _mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A)
1362 {
1363 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1364 (__v4sf) __W,
1365 (__mmask8) __U);
1366 }
1367
1368 extern __inline __m128
1369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_ps(__mmask8 __U,__m128i __A)1370 _mm_maskz_cvtepi32_ps (__mmask8 __U, __m128i __A)
1371 {
1372 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1373 (__v4sf)
1374 _mm_setzero_ps (),
1375 (__mmask8) __U);
1376 }
1377
1378 extern __inline __m256
1379 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_ps(__m256i __A)1380 _mm256_cvtepu32_ps (__m256i __A)
1381 {
1382 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1383 (__v8sf)
1384 _mm256_setzero_ps (),
1385 (__mmask8) -1);
1386 }
1387
1388 extern __inline __m256
1389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_ps(__m256 __W,__mmask8 __U,__m256i __A)1390 _mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A)
1391 {
1392 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1393 (__v8sf) __W,
1394 (__mmask8) __U);
1395 }
1396
1397 extern __inline __m256
1398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_ps(__mmask8 __U,__m256i __A)1399 _mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A)
1400 {
1401 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1402 (__v8sf)
1403 _mm256_setzero_ps (),
1404 (__mmask8) __U);
1405 }
1406
1407 extern __inline __m128
1408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_ps(__m128i __A)1409 _mm_cvtepu32_ps (__m128i __A)
1410 {
1411 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1412 (__v4sf)
1413 _mm_setzero_ps (),
1414 (__mmask8) -1);
1415 }
1416
1417 extern __inline __m128
1418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_ps(__m128 __W,__mmask8 __U,__m128i __A)1419 _mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A)
1420 {
1421 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1422 (__v4sf) __W,
1423 (__mmask8) __U);
1424 }
1425
1426 extern __inline __m128
1427 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_ps(__mmask8 __U,__m128i __A)1428 _mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A)
1429 {
1430 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1431 (__v4sf)
1432 _mm_setzero_ps (),
1433 (__mmask8) __U);
1434 }
1435
1436 extern __inline __m256d
1437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_pd(__m256d __W,__mmask8 __U,__m128 __A)1438 _mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A)
1439 {
1440 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1441 (__v4df) __W,
1442 (__mmask8) __U);
1443 }
1444
1445 extern __inline __m256d
1446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1447 _mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
1448 {
1449 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1450 (__v4df)
1451 _mm256_setzero_pd (),
1452 (__mmask8) __U);
1453 }
1454
1455 extern __inline __m128d
1456 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_pd(__m128d __W,__mmask8 __U,__m128 __A)1457 _mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A)
1458 {
1459 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1460 (__v2df) __W,
1461 (__mmask8) __U);
1462 }
1463
1464 extern __inline __m128d
1465 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1466 _mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
1467 {
1468 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1469 (__v2df)
1470 _mm_setzero_pd (),
1471 (__mmask8) __U);
1472 }
1473
1474 extern __inline __m128i
1475 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi8(__m128i __A)1476 _mm_cvtepi32_epi8 (__m128i __A)
1477 {
1478 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1479 (__v16qi)
1480 _mm_undefined_si128 (),
1481 (__mmask8) -1);
1482 }
1483
1484 extern __inline void
1485 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1486 _mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1487 {
1488 __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1489 }
1490
1491 extern __inline __m128i
1492 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1493 _mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1494 {
1495 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1496 (__v16qi) __O, __M);
1497 }
1498
1499 extern __inline __m128i
1500 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi8(__mmask8 __M,__m128i __A)1501 _mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A)
1502 {
1503 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1504 (__v16qi)
1505 _mm_setzero_si128 (),
1506 __M);
1507 }
1508
1509 extern __inline __m128i
1510 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi8(__m256i __A)1511 _mm256_cvtepi32_epi8 (__m256i __A)
1512 {
1513 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1514 (__v16qi)
1515 _mm_undefined_si128 (),
1516 (__mmask8) -1);
1517 }
1518
1519 extern __inline __m128i
1520 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1521 _mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1522 {
1523 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1524 (__v16qi) __O, __M);
1525 }
1526
1527 extern __inline void
1528 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1529 _mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1530 {
1531 __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
1532 }
1533
1534 extern __inline __m128i
1535 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi8(__mmask8 __M,__m256i __A)1536 _mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A)
1537 {
1538 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1539 (__v16qi)
1540 _mm_setzero_si128 (),
1541 __M);
1542 }
1543
1544 extern __inline __m128i
1545 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi8(__m128i __A)1546 _mm_cvtsepi32_epi8 (__m128i __A)
1547 {
1548 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1549 (__v16qi)
1550 _mm_undefined_si128 (),
1551 (__mmask8) -1);
1552 }
1553
1554 extern __inline void
1555 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1556 _mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1557 {
1558 __builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1559 }
1560
1561 extern __inline __m128i
1562 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1563 _mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1564 {
1565 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1566 (__v16qi) __O, __M);
1567 }
1568
1569 extern __inline __m128i
1570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi8(__mmask8 __M,__m128i __A)1571 _mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A)
1572 {
1573 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1574 (__v16qi)
1575 _mm_setzero_si128 (),
1576 __M);
1577 }
1578
1579 extern __inline __m128i
1580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi8(__m256i __A)1581 _mm256_cvtsepi32_epi8 (__m256i __A)
1582 {
1583 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1584 (__v16qi)
1585 _mm_undefined_si128 (),
1586 (__mmask8) -1);
1587 }
1588
1589 extern __inline void
1590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1591 _mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1592 {
1593 __builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
1594 }
1595
1596 extern __inline __m128i
1597 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1598 _mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1599 {
1600 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1601 (__v16qi) __O, __M);
1602 }
1603
1604 extern __inline __m128i
1605 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi8(__mmask8 __M,__m256i __A)1606 _mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A)
1607 {
1608 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1609 (__v16qi)
1610 _mm_setzero_si128 (),
1611 __M);
1612 }
1613
1614 extern __inline __m128i
1615 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi8(__m128i __A)1616 _mm_cvtusepi32_epi8 (__m128i __A)
1617 {
1618 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1619 (__v16qi)
1620 _mm_undefined_si128 (),
1621 (__mmask8) -1);
1622 }
1623
1624 extern __inline void
1625 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1626 _mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1627 {
1628 __builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1629 }
1630
1631 extern __inline __m128i
1632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1633 _mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1634 {
1635 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1636 (__v16qi) __O,
1637 __M);
1638 }
1639
1640 extern __inline __m128i
1641 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi8(__mmask8 __M,__m128i __A)1642 _mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A)
1643 {
1644 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1645 (__v16qi)
1646 _mm_setzero_si128 (),
1647 __M);
1648 }
1649
1650 extern __inline __m128i
1651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi8(__m256i __A)1652 _mm256_cvtusepi32_epi8 (__m256i __A)
1653 {
1654 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1655 (__v16qi)
1656 _mm_undefined_si128 (),
1657 (__mmask8) -1);
1658 }
1659
1660 extern __inline void
1661 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1662 _mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1663 {
1664 __builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M);
1665 }
1666
1667 extern __inline __m128i
1668 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1669 _mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1670 {
1671 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1672 (__v16qi) __O,
1673 __M);
1674 }
1675
1676 extern __inline __m128i
1677 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi8(__mmask8 __M,__m256i __A)1678 _mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A)
1679 {
1680 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1681 (__v16qi)
1682 _mm_setzero_si128 (),
1683 __M);
1684 }
1685
1686 extern __inline __m128i
1687 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi16(__m128i __A)1688 _mm_cvtepi32_epi16 (__m128i __A)
1689 {
1690 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1691 (__v8hi)
1692 _mm_setzero_si128 (),
1693 (__mmask8) -1);
1694 }
1695
1696 extern __inline void
1697 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1698 _mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1699 {
1700 __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1701 }
1702
1703 extern __inline __m128i
1704 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1705 _mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1706 {
1707 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1708 (__v8hi) __O, __M);
1709 }
1710
1711 extern __inline __m128i
1712 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi16(__mmask8 __M,__m128i __A)1713 _mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A)
1714 {
1715 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1716 (__v8hi)
1717 _mm_setzero_si128 (),
1718 __M);
1719 }
1720
1721 extern __inline __m128i
1722 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi16(__m256i __A)1723 _mm256_cvtepi32_epi16 (__m256i __A)
1724 {
1725 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1726 (__v8hi)
1727 _mm_setzero_si128 (),
1728 (__mmask8) -1);
1729 }
1730
1731 extern __inline void
1732 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1733 _mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1734 {
1735 __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1736 }
1737
1738 extern __inline __m128i
1739 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1740 _mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1741 {
1742 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1743 (__v8hi) __O, __M);
1744 }
1745
1746 extern __inline __m128i
1747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi16(__mmask8 __M,__m256i __A)1748 _mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A)
1749 {
1750 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1751 (__v8hi)
1752 _mm_setzero_si128 (),
1753 __M);
1754 }
1755
1756 extern __inline __m128i
1757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi16(__m128i __A)1758 _mm_cvtsepi32_epi16 (__m128i __A)
1759 {
1760 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1761 (__v8hi)
1762 _mm_setzero_si128 (),
1763 (__mmask8) -1);
1764 }
1765
1766 extern __inline void
1767 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1768 _mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1769 {
1770 __builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1771 }
1772
1773 extern __inline __m128i
1774 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1775 _mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1776 {
1777 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1778 (__v8hi)__O,
1779 __M);
1780 }
1781
1782 extern __inline __m128i
1783 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi16(__mmask8 __M,__m128i __A)1784 _mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A)
1785 {
1786 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1787 (__v8hi)
1788 _mm_setzero_si128 (),
1789 __M);
1790 }
1791
1792 extern __inline __m128i
1793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi16(__m256i __A)1794 _mm256_cvtsepi32_epi16 (__m256i __A)
1795 {
1796 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1797 (__v8hi)
1798 _mm_undefined_si128 (),
1799 (__mmask8) -1);
1800 }
1801
1802 extern __inline void
1803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1804 _mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1805 {
1806 __builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1807 }
1808
1809 extern __inline __m128i
1810 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1811 _mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1812 {
1813 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1814 (__v8hi) __O, __M);
1815 }
1816
1817 extern __inline __m128i
1818 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi16(__mmask8 __M,__m256i __A)1819 _mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A)
1820 {
1821 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1822 (__v8hi)
1823 _mm_setzero_si128 (),
1824 __M);
1825 }
1826
1827 extern __inline __m128i
1828 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi16(__m128i __A)1829 _mm_cvtusepi32_epi16 (__m128i __A)
1830 {
1831 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1832 (__v8hi)
1833 _mm_undefined_si128 (),
1834 (__mmask8) -1);
1835 }
1836
1837 extern __inline void
1838 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1839 _mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1840 {
1841 __builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1842 }
1843
1844 extern __inline __m128i
1845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1846 _mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1847 {
1848 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1849 (__v8hi) __O, __M);
1850 }
1851
1852 extern __inline __m128i
1853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi16(__mmask8 __M,__m128i __A)1854 _mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A)
1855 {
1856 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1857 (__v8hi)
1858 _mm_setzero_si128 (),
1859 __M);
1860 }
1861
1862 extern __inline __m128i
1863 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi16(__m256i __A)1864 _mm256_cvtusepi32_epi16 (__m256i __A)
1865 {
1866 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1867 (__v8hi)
1868 _mm_undefined_si128 (),
1869 (__mmask8) -1);
1870 }
1871
1872 extern __inline void
1873 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1874 _mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1875 {
1876 __builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1877 }
1878
1879 extern __inline __m128i
1880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1881 _mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1882 {
1883 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1884 (__v8hi) __O, __M);
1885 }
1886
1887 extern __inline __m128i
1888 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi16(__mmask8 __M,__m256i __A)1889 _mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A)
1890 {
1891 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1892 (__v8hi)
1893 _mm_setzero_si128 (),
1894 __M);
1895 }
1896
1897 extern __inline __m128i
1898 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi8(__m128i __A)1899 _mm_cvtepi64_epi8 (__m128i __A)
1900 {
1901 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1902 (__v16qi)
1903 _mm_undefined_si128 (),
1904 (__mmask8) -1);
1905 }
1906
1907 extern __inline void
1908 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1909 _mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1910 {
1911 __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
1912 }
1913
1914 extern __inline __m128i
1915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)1916 _mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1917 {
1918 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1919 (__v16qi) __O, __M);
1920 }
1921
1922 extern __inline __m128i
1923 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi8(__mmask8 __M,__m128i __A)1924 _mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A)
1925 {
1926 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1927 (__v16qi)
1928 _mm_setzero_si128 (),
1929 __M);
1930 }
1931
1932 extern __inline __m128i
1933 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi8(__m256i __A)1934 _mm256_cvtepi64_epi8 (__m256i __A)
1935 {
1936 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1937 (__v16qi)
1938 _mm_undefined_si128 (),
1939 (__mmask8) -1);
1940 }
1941
1942 extern __inline void
1943 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1944 _mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1945 {
1946 __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
1947 }
1948
1949 extern __inline __m128i
1950 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)1951 _mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1952 {
1953 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1954 (__v16qi) __O, __M);
1955 }
1956
1957 extern __inline __m128i
1958 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi8(__mmask8 __M,__m256i __A)1959 _mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A)
1960 {
1961 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1962 (__v16qi)
1963 _mm_setzero_si128 (),
1964 __M);
1965 }
1966
1967 extern __inline __m128i
1968 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi8(__m128i __A)1969 _mm_cvtsepi64_epi8 (__m128i __A)
1970 {
1971 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1972 (__v16qi)
1973 _mm_undefined_si128 (),
1974 (__mmask8) -1);
1975 }
1976
1977 extern __inline void
1978 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1979 _mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1980 {
1981 __builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
1982 }
1983
1984 extern __inline __m128i
1985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)1986 _mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1987 {
1988 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1989 (__v16qi) __O, __M);
1990 }
1991
1992 extern __inline __m128i
1993 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi8(__mmask8 __M,__m128i __A)1994 _mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A)
1995 {
1996 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1997 (__v16qi)
1998 _mm_setzero_si128 (),
1999 __M);
2000 }
2001
2002 extern __inline __m128i
2003 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi8(__m256i __A)2004 _mm256_cvtsepi64_epi8 (__m256i __A)
2005 {
2006 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
2007 (__v16qi)
2008 _mm_undefined_si128 (),
2009 (__mmask8) -1);
2010 }
2011
2012 extern __inline void
2013 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)2014 _mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
2015 {
2016 __builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
2017 }
2018
2019 extern __inline __m128i
2020 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)2021 _mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
2022 {
2023 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
2024 (__v16qi) __O, __M);
2025 }
2026
2027 extern __inline __m128i
2028 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi8(__mmask8 __M,__m256i __A)2029 _mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A)
2030 {
2031 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
2032 (__v16qi)
2033 _mm_setzero_si128 (),
2034 __M);
2035 }
2036
2037 extern __inline __m128i
2038 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi8(__m128i __A)2039 _mm_cvtusepi64_epi8 (__m128i __A)
2040 {
2041 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
2042 (__v16qi)
2043 _mm_undefined_si128 (),
2044 (__mmask8) -1);
2045 }
2046
2047 extern __inline void
2048 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2049 _mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2050 {
2051 __builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
2052 }
2053
2054 extern __inline __m128i
2055 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)2056 _mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
2057 {
2058 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
2059 (__v16qi) __O,
2060 __M);
2061 }
2062
2063 extern __inline __m128i
2064 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi8(__mmask8 __M,__m128i __A)2065 _mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A)
2066 {
2067 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
2068 (__v16qi)
2069 _mm_setzero_si128 (),
2070 __M);
2071 }
2072
2073 extern __inline __m128i
2074 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi8(__m256i __A)2075 _mm256_cvtusepi64_epi8 (__m256i __A)
2076 {
2077 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2078 (__v16qi)
2079 _mm_undefined_si128 (),
2080 (__mmask8) -1);
2081 }
2082
2083 extern __inline void
2084 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)2085 _mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
2086 {
2087 __builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
2088 }
2089
2090 extern __inline __m128i
2091 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)2092 _mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
2093 {
2094 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2095 (__v16qi) __O,
2096 __M);
2097 }
2098
2099 extern __inline __m128i
2100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi8(__mmask8 __M,__m256i __A)2101 _mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A)
2102 {
2103 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2104 (__v16qi)
2105 _mm_setzero_si128 (),
2106 __M);
2107 }
2108
2109 extern __inline __m128i
2110 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi16(__m128i __A)2111 _mm_cvtepi64_epi16 (__m128i __A)
2112 {
2113 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2114 (__v8hi)
2115 _mm_undefined_si128 (),
2116 (__mmask8) -1);
2117 }
2118
2119 extern __inline void
2120 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2121 _mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2122 {
2123 __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2124 }
2125
2126 extern __inline __m128i
2127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2128 _mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2129 {
2130 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2131 (__v8hi)__O,
2132 __M);
2133 }
2134
2135 extern __inline __m128i
2136 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi16(__mmask8 __M,__m128i __A)2137 _mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A)
2138 {
2139 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2140 (__v8hi)
2141 _mm_setzero_si128 (),
2142 __M);
2143 }
2144
2145 extern __inline __m128i
2146 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi16(__m256i __A)2147 _mm256_cvtepi64_epi16 (__m256i __A)
2148 {
2149 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2150 (__v8hi)
2151 _mm_undefined_si128 (),
2152 (__mmask8) -1);
2153 }
2154
2155 extern __inline void
2156 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2157 _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2158 {
2159 __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2160 }
2161
2162 extern __inline __m128i
2163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2164 _mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2165 {
2166 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2167 (__v8hi) __O, __M);
2168 }
2169
2170 extern __inline __m128i
2171 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi16(__mmask8 __M,__m256i __A)2172 _mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A)
2173 {
2174 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2175 (__v8hi)
2176 _mm_setzero_si128 (),
2177 __M);
2178 }
2179
2180 extern __inline __m128i
2181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi16(__m128i __A)2182 _mm_cvtsepi64_epi16 (__m128i __A)
2183 {
2184 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2185 (__v8hi)
2186 _mm_undefined_si128 (),
2187 (__mmask8) -1);
2188 }
2189
2190 extern __inline void
2191 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2192 _mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2193 {
2194 __builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2195 }
2196
2197 extern __inline __m128i
2198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2199 _mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2200 {
2201 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2202 (__v8hi) __O, __M);
2203 }
2204
2205 extern __inline __m128i
2206 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi16(__mmask8 __M,__m128i __A)2207 _mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A)
2208 {
2209 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2210 (__v8hi)
2211 _mm_setzero_si128 (),
2212 __M);
2213 }
2214
2215 extern __inline __m128i
2216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi16(__m256i __A)2217 _mm256_cvtsepi64_epi16 (__m256i __A)
2218 {
2219 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2220 (__v8hi)
2221 _mm_undefined_si128 (),
2222 (__mmask8) -1);
2223 }
2224
2225 extern __inline void
2226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2227 _mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2228 {
2229 __builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2230 }
2231
2232 extern __inline __m128i
2233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2234 _mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2235 {
2236 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2237 (__v8hi) __O, __M);
2238 }
2239
2240 extern __inline __m128i
2241 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi16(__mmask8 __M,__m256i __A)2242 _mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A)
2243 {
2244 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2245 (__v8hi)
2246 _mm_setzero_si128 (),
2247 __M);
2248 }
2249
2250 extern __inline __m128i
2251 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi16(__m128i __A)2252 _mm_cvtusepi64_epi16 (__m128i __A)
2253 {
2254 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2255 (__v8hi)
2256 _mm_undefined_si128 (),
2257 (__mmask8) -1);
2258 }
2259
2260 extern __inline void
2261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2262 _mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2263 {
2264 __builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2265 }
2266
2267 extern __inline __m128i
2268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2269 _mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2270 {
2271 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2272 (__v8hi) __O, __M);
2273 }
2274
2275 extern __inline __m128i
2276 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi16(__mmask8 __M,__m128i __A)2277 _mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A)
2278 {
2279 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2280 (__v8hi)
2281 _mm_setzero_si128 (),
2282 __M);
2283 }
2284
2285 extern __inline __m128i
2286 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi16(__m256i __A)2287 _mm256_cvtusepi64_epi16 (__m256i __A)
2288 {
2289 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2290 (__v8hi)
2291 _mm_undefined_si128 (),
2292 (__mmask8) -1);
2293 }
2294
2295 extern __inline void
2296 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2297 _mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2298 {
2299 __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2300 }
2301
2302 extern __inline __m128i
2303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2304 _mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2305 {
2306 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2307 (__v8hi) __O, __M);
2308 }
2309
2310 extern __inline __m128i
2311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi16(__mmask8 __M,__m256i __A)2312 _mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A)
2313 {
2314 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2315 (__v8hi)
2316 _mm_setzero_si128 (),
2317 __M);
2318 }
2319
2320 extern __inline __m128i
2321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi32(__m128i __A)2322 _mm_cvtepi64_epi32 (__m128i __A)
2323 {
2324 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2325 (__v4si)
2326 _mm_undefined_si128 (),
2327 (__mmask8) -1);
2328 }
2329
2330 extern __inline void
2331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2332 _mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2333 {
2334 __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2335 }
2336
2337 extern __inline __m128i
2338 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2339 _mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2340 {
2341 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2342 (__v4si) __O, __M);
2343 }
2344
2345 extern __inline __m128i
2346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi32(__mmask8 __M,__m128i __A)2347 _mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A)
2348 {
2349 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2350 (__v4si)
2351 _mm_setzero_si128 (),
2352 __M);
2353 }
2354
2355 extern __inline __m128i
2356 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi32(__m256i __A)2357 _mm256_cvtepi64_epi32 (__m256i __A)
2358 {
2359 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2360 (__v4si)
2361 _mm_undefined_si128 (),
2362 (__mmask8) -1);
2363 }
2364
2365 extern __inline void
2366 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2367 _mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2368 {
2369 __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2370 }
2371
2372 extern __inline __m128i
2373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2374 _mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2375 {
2376 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2377 (__v4si) __O, __M);
2378 }
2379
2380 extern __inline __m128i
2381 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi32(__mmask8 __M,__m256i __A)2382 _mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
2383 {
2384 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2385 (__v4si)
2386 _mm_setzero_si128 (),
2387 __M);
2388 }
2389
2390 extern __inline __m128i
2391 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi32(__m128i __A)2392 _mm_cvtsepi64_epi32 (__m128i __A)
2393 {
2394 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2395 (__v4si)
2396 _mm_undefined_si128 (),
2397 (__mmask8) -1);
2398 }
2399
2400 extern __inline void
2401 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2402 _mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2403 {
2404 __builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2405 }
2406
2407 extern __inline __m128i
2408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2409 _mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2410 {
2411 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2412 (__v4si) __O, __M);
2413 }
2414
2415 extern __inline __m128i
2416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi32(__mmask8 __M,__m128i __A)2417 _mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A)
2418 {
2419 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2420 (__v4si)
2421 _mm_setzero_si128 (),
2422 __M);
2423 }
2424
2425 extern __inline __m128i
2426 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi32(__m256i __A)2427 _mm256_cvtsepi64_epi32 (__m256i __A)
2428 {
2429 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2430 (__v4si)
2431 _mm_undefined_si128 (),
2432 (__mmask8) -1);
2433 }
2434
2435 extern __inline void
2436 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2437 _mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2438 {
2439 __builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2440 }
2441
2442 extern __inline __m128i
2443 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2444 _mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2445 {
2446 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2447 (__v4si)__O,
2448 __M);
2449 }
2450
2451 extern __inline __m128i
2452 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi32(__mmask8 __M,__m256i __A)2453 _mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A)
2454 {
2455 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2456 (__v4si)
2457 _mm_setzero_si128 (),
2458 __M);
2459 }
2460
2461 extern __inline __m128i
2462 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi32(__m128i __A)2463 _mm_cvtusepi64_epi32 (__m128i __A)
2464 {
2465 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2466 (__v4si)
2467 _mm_undefined_si128 (),
2468 (__mmask8) -1);
2469 }
2470
2471 extern __inline void
2472 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2473 _mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2474 {
2475 __builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2476 }
2477
2478 extern __inline __m128i
2479 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2480 _mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2481 {
2482 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2483 (__v4si) __O, __M);
2484 }
2485
2486 extern __inline __m128i
2487 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi32(__mmask8 __M,__m128i __A)2488 _mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A)
2489 {
2490 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2491 (__v4si)
2492 _mm_setzero_si128 (),
2493 __M);
2494 }
2495
2496 extern __inline __m128i
2497 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi32(__m256i __A)2498 _mm256_cvtusepi64_epi32 (__m256i __A)
2499 {
2500 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2501 (__v4si)
2502 _mm_undefined_si128 (),
2503 (__mmask8) -1);
2504 }
2505
2506 extern __inline void
2507 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2508 _mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2509 {
2510 __builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2511 }
2512
2513 extern __inline __m128i
2514 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2515 _mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2516 {
2517 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2518 (__v4si) __O, __M);
2519 }
2520
2521 extern __inline __m128i
2522 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi32(__mmask8 __M,__m256i __A)2523 _mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A)
2524 {
2525 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2526 (__v4si)
2527 _mm_setzero_si128 (),
2528 __M);
2529 }
2530
2531 extern __inline __m256
2532 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastss_ps(__m256 __O,__mmask8 __M,__m128 __A)2533 _mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
2534 {
2535 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
2536 (__v8sf) __O,
2537 __M);
2538 }
2539
2540 extern __inline __m256
2541 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)2542 _mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
2543 {
2544 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
2545 (__v8sf)
2546 _mm256_setzero_ps (),
2547 __M);
2548 }
2549
2550 extern __inline __m128
2551 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastss_ps(__m128 __O,__mmask8 __M,__m128 __A)2552 _mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
2553 {
2554 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
2555 (__v4sf) __O,
2556 __M);
2557 }
2558
2559 extern __inline __m128
2560 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)2561 _mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
2562 {
2563 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
2564 (__v4sf)
2565 _mm_setzero_ps (),
2566 __M);
2567 }
2568
2569 extern __inline __m256d
2570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastsd_pd(__m256d __O,__mmask8 __M,__m128d __A)2571 _mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
2572 {
2573 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
2574 (__v4df) __O,
2575 __M);
2576 }
2577
2578 extern __inline __m256d
2579 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastsd_pd(__mmask8 __M,__m128d __A)2580 _mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
2581 {
2582 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
2583 (__v4df)
2584 _mm256_setzero_pd (),
2585 __M);
2586 }
2587
2588 extern __inline __m256i
2589 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastd_epi32(__m256i __O,__mmask8 __M,__m128i __A)2590 _mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
2591 {
2592 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
2593 (__v8si) __O,
2594 __M);
2595 }
2596
2597 extern __inline __m256i
2598 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)2599 _mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
2600 {
2601 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
2602 (__v8si)
2603 _mm256_setzero_si256 (),
2604 __M);
2605 }
2606
2607 extern __inline __m256i
2608 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi32(__m256i __O,__mmask8 __M,int __A)2609 _mm256_mask_set1_epi32 (__m256i __O, __mmask8 __M, int __A)
2610 {
2611 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) __O,
2612 __M);
2613 }
2614
2615 extern __inline __m256i
2616 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi32(__mmask8 __M,int __A)2617 _mm256_maskz_set1_epi32 (__mmask8 __M, int __A)
2618 {
2619 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A,
2620 (__v8si)
2621 _mm256_setzero_si256 (),
2622 __M);
2623 }
2624
2625 extern __inline __m128i
2626 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastd_epi32(__m128i __O,__mmask8 __M,__m128i __A)2627 _mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2628 {
2629 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
2630 (__v4si) __O,
2631 __M);
2632 }
2633
2634 extern __inline __m128i
2635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)2636 _mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
2637 {
2638 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
2639 (__v4si)
2640 _mm_setzero_si128 (),
2641 __M);
2642 }
2643
2644 extern __inline __m128i
2645 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi32(__m128i __O,__mmask8 __M,int __A)2646 _mm_mask_set1_epi32 (__m128i __O, __mmask8 __M, int __A)
2647 {
2648 return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) __O,
2649 __M);
2650 }
2651
2652 extern __inline __m128i
2653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi32(__mmask8 __M,int __A)2654 _mm_maskz_set1_epi32 (__mmask8 __M, int __A)
2655 {
2656 return (__m128i)
2657 __builtin_ia32_pbroadcastd128_gpr_mask (__A,
2658 (__v4si) _mm_setzero_si128 (),
2659 __M);
2660 }
2661
2662 extern __inline __m256i
2663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastq_epi64(__m256i __O,__mmask8 __M,__m128i __A)2664 _mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
2665 {
2666 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
2667 (__v4di) __O,
2668 __M);
2669 }
2670
2671 extern __inline __m256i
2672 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)2673 _mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
2674 {
2675 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
2676 (__v4di)
2677 _mm256_setzero_si256 (),
2678 __M);
2679 }
2680
2681 extern __inline __m256i
2682 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi64(__m256i __O,__mmask8 __M,long long __A)2683 _mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
2684 {
2685 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O,
2686 __M);
2687 }
2688
2689 extern __inline __m256i
2690 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi64(__mmask8 __M,long long __A)2691 _mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
2692 {
2693 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A,
2694 (__v4di)
2695 _mm256_setzero_si256 (),
2696 __M);
2697 }
2698
2699 extern __inline __m128i
2700 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastq_epi64(__m128i __O,__mmask8 __M,__m128i __A)2701 _mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
2702 {
2703 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
2704 (__v2di) __O,
2705 __M);
2706 }
2707
2708 extern __inline __m128i
2709 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)2710 _mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
2711 {
2712 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
2713 (__v2di)
2714 _mm_setzero_si128 (),
2715 __M);
2716 }
2717
2718 extern __inline __m128i
2719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi64(__m128i __O,__mmask8 __M,long long __A)2720 _mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
2721 {
2722 return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O,
2723 __M);
2724 }
2725
2726 extern __inline __m128i
2727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi64(__mmask8 __M,long long __A)2728 _mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
2729 {
2730 return (__m128i)
2731 __builtin_ia32_pbroadcastq128_gpr_mask (__A,
2732 (__v2di) _mm_setzero_si128 (),
2733 __M);
2734 }
2735
2736 extern __inline __m256
2737 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_f32x4(__m128 __A)2738 _mm256_broadcast_f32x4 (__m128 __A)
2739 {
2740 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2741 (__v8sf)_mm256_undefined_pd (),
2742 (__mmask8) -1);
2743 }
2744
2745 extern __inline __m256
2746 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_f32x4(__m256 __O,__mmask8 __M,__m128 __A)2747 _mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
2748 {
2749 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2750 (__v8sf) __O,
2751 __M);
2752 }
2753
2754 extern __inline __m256
2755 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_f32x4(__mmask8 __M,__m128 __A)2756 _mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
2757 {
2758 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2759 (__v8sf)
2760 _mm256_setzero_ps (),
2761 __M);
2762 }
2763
2764 extern __inline __m256i
2765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_i32x4(__m128i __A)2766 _mm256_broadcast_i32x4 (__m128i __A)
2767 {
2768 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2769 __A,
2770 (__v8si)_mm256_undefined_si256 (),
2771 (__mmask8) -1);
2772 }
2773
2774 extern __inline __m256i
2775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_i32x4(__m256i __O,__mmask8 __M,__m128i __A)2776 _mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
2777 {
2778 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2779 __A,
2780 (__v8si)
2781 __O, __M);
2782 }
2783
2784 extern __inline __m256i
2785 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_i32x4(__mmask8 __M,__m128i __A)2786 _mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
2787 {
2788 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2789 __A,
2790 (__v8si)
2791 _mm256_setzero_si256 (),
2792 __M);
2793 }
2794
2795 extern __inline __m256i
2796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi32(__m256i __W,__mmask8 __U,__m128i __A)2797 _mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2798 {
2799 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2800 (__v8si) __W,
2801 (__mmask8) __U);
2802 }
2803
2804 extern __inline __m256i
2805 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)2806 _mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2807 {
2808 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2809 (__v8si)
2810 _mm256_setzero_si256 (),
2811 (__mmask8) __U);
2812 }
2813
2814 extern __inline __m128i
2815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi32(__m128i __W,__mmask8 __U,__m128i __A)2816 _mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2817 {
2818 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2819 (__v4si) __W,
2820 (__mmask8) __U);
2821 }
2822
2823 extern __inline __m128i
2824 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)2825 _mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2826 {
2827 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2828 (__v4si)
2829 _mm_setzero_si128 (),
2830 (__mmask8) __U);
2831 }
2832
2833 extern __inline __m256i
2834 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi64(__m256i __W,__mmask8 __U,__m128i __A)2835 _mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2836 {
2837 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2838 (__v4di) __W,
2839 (__mmask8) __U);
2840 }
2841
2842 extern __inline __m256i
2843 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)2844 _mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2845 {
2846 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2847 (__v4di)
2848 _mm256_setzero_si256 (),
2849 (__mmask8) __U);
2850 }
2851
2852 extern __inline __m128i
2853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi64(__m128i __W,__mmask8 __U,__m128i __A)2854 _mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2855 {
2856 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2857 (__v2di) __W,
2858 (__mmask8) __U);
2859 }
2860
2861 extern __inline __m128i
2862 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)2863 _mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2864 {
2865 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2866 (__v2di)
2867 _mm_setzero_si128 (),
2868 (__mmask8) __U);
2869 }
2870
2871 extern __inline __m256i
2872 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi32(__m256i __W,__mmask8 __U,__m128i __A)2873 _mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2874 {
2875 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2876 (__v8si) __W,
2877 (__mmask8) __U);
2878 }
2879
2880 extern __inline __m256i
2881 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)2882 _mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2883 {
2884 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2885 (__v8si)
2886 _mm256_setzero_si256 (),
2887 (__mmask8) __U);
2888 }
2889
2890 extern __inline __m128i
2891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi32(__m128i __W,__mmask8 __U,__m128i __A)2892 _mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2893 {
2894 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2895 (__v4si) __W,
2896 (__mmask8) __U);
2897 }
2898
2899 extern __inline __m128i
2900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)2901 _mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2902 {
2903 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2904 (__v4si)
2905 _mm_setzero_si128 (),
2906 (__mmask8) __U);
2907 }
2908
2909 extern __inline __m256i
2910 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi64(__m256i __W,__mmask8 __U,__m128i __A)2911 _mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2912 {
2913 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2914 (__v4di) __W,
2915 (__mmask8) __U);
2916 }
2917
2918 extern __inline __m256i
2919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)2920 _mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2921 {
2922 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2923 (__v4di)
2924 _mm256_setzero_si256 (),
2925 (__mmask8) __U);
2926 }
2927
2928 extern __inline __m128i
2929 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi64(__m128i __W,__mmask8 __U,__m128i __A)2930 _mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2931 {
2932 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2933 (__v2di) __W,
2934 (__mmask8) __U);
2935 }
2936
2937 extern __inline __m128i
2938 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)2939 _mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2940 {
2941 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2942 (__v2di)
2943 _mm_setzero_si128 (),
2944 (__mmask8) __U);
2945 }
2946
2947 extern __inline __m256i
2948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi64(__m256i __W,__mmask8 __U,__m128i __X)2949 _mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
2950 {
2951 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2952 (__v4di) __W,
2953 (__mmask8) __U);
2954 }
2955
2956 extern __inline __m256i
2957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)2958 _mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2959 {
2960 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2961 (__v4di)
2962 _mm256_setzero_si256 (),
2963 (__mmask8) __U);
2964 }
2965
2966 extern __inline __m128i
2967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi64(__m128i __W,__mmask8 __U,__m128i __X)2968 _mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
2969 {
2970 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2971 (__v2di) __W,
2972 (__mmask8) __U);
2973 }
2974
2975 extern __inline __m128i
2976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)2977 _mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2978 {
2979 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2980 (__v2di)
2981 _mm_setzero_si128 (),
2982 (__mmask8) __U);
2983 }
2984
2985 extern __inline __m256i
2986 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi32(__m256i __W,__mmask8 __U,__m128i __A)2987 _mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2988 {
2989 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2990 (__v8si) __W,
2991 (__mmask8) __U);
2992 }
2993
2994 extern __inline __m256i
2995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)2996 _mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
2997 {
2998 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2999 (__v8si)
3000 _mm256_setzero_si256 (),
3001 (__mmask8) __U);
3002 }
3003
3004 extern __inline __m128i
3005 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi32(__m128i __W,__mmask8 __U,__m128i __A)3006 _mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
3007 {
3008 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
3009 (__v4si) __W,
3010 (__mmask8) __U);
3011 }
3012
3013 extern __inline __m128i
3014 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)3015 _mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
3016 {
3017 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
3018 (__v4si)
3019 _mm_setzero_si128 (),
3020 (__mmask8) __U);
3021 }
3022
3023 extern __inline __m256i
3024 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi64(__m256i __W,__mmask8 __U,__m128i __A)3025 _mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
3026 {
3027 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
3028 (__v4di) __W,
3029 (__mmask8) __U);
3030 }
3031
3032 extern __inline __m256i
3033 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)3034 _mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
3035 {
3036 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
3037 (__v4di)
3038 _mm256_setzero_si256 (),
3039 (__mmask8) __U);
3040 }
3041
3042 extern __inline __m128i
3043 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi64(__m128i __W,__mmask8 __U,__m128i __A)3044 _mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3045 {
3046 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3047 (__v2di) __W,
3048 (__mmask8) __U);
3049 }
3050
3051 extern __inline __m128i
3052 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)3053 _mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
3054 {
3055 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3056 (__v2di)
3057 _mm_setzero_si128 (),
3058 (__mmask8) __U);
3059 }
3060
3061 extern __inline __m256i
3062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi32(__m256i __W,__mmask8 __U,__m128i __A)3063 _mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
3064 {
3065 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3066 (__v8si) __W,
3067 (__mmask8) __U);
3068 }
3069
3070 extern __inline __m256i
3071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3072 _mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3073 {
3074 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3075 (__v8si)
3076 _mm256_setzero_si256 (),
3077 (__mmask8) __U);
3078 }
3079
3080 extern __inline __m128i
3081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi32(__m128i __W,__mmask8 __U,__m128i __A)3082 _mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
3083 {
3084 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3085 (__v4si) __W,
3086 (__mmask8) __U);
3087 }
3088
3089 extern __inline __m128i
3090 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3091 _mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3092 {
3093 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3094 (__v4si)
3095 _mm_setzero_si128 (),
3096 (__mmask8) __U);
3097 }
3098
3099 extern __inline __m256i
3100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi64(__m256i __W,__mmask8 __U,__m128i __A)3101 _mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
3102 {
3103 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3104 (__v4di) __W,
3105 (__mmask8) __U);
3106 }
3107
3108 extern __inline __m256i
3109 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3110 _mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3111 {
3112 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3113 (__v4di)
3114 _mm256_setzero_si256 (),
3115 (__mmask8) __U);
3116 }
3117
3118 extern __inline __m128i
3119 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi64(__m128i __W,__mmask8 __U,__m128i __A)3120 _mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3121 {
3122 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3123 (__v2di) __W,
3124 (__mmask8) __U);
3125 }
3126
3127 extern __inline __m128i
3128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3129 _mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3130 {
3131 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3132 (__v2di)
3133 _mm_setzero_si128 (),
3134 (__mmask8) __U);
3135 }
3136
3137 extern __inline __m256i
3138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_epi64(__m256i __W,__mmask8 __U,__m128i __X)3139 _mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
3140 {
3141 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3142 (__v4di) __W,
3143 (__mmask8) __U);
3144 }
3145
3146 extern __inline __m256i
3147 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3148 _mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3149 {
3150 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3151 (__v4di)
3152 _mm256_setzero_si256 (),
3153 (__mmask8) __U);
3154 }
3155
3156 extern __inline __m128i
3157 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_epi64(__m128i __W,__mmask8 __U,__m128i __X)3158 _mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
3159 {
3160 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3161 (__v2di) __W,
3162 (__mmask8) __U);
3163 }
3164
3165 extern __inline __m128i
3166 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3167 _mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3168 {
3169 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3170 (__v2di)
3171 _mm_setzero_si128 (),
3172 (__mmask8) __U);
3173 }
3174
3175 extern __inline __m256d
3176 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_pd(__m256d __A)3177 _mm256_rcp14_pd (__m256d __A)
3178 {
3179 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3180 (__v4df)
3181 _mm256_setzero_pd (),
3182 (__mmask8) -1);
3183 }
3184
3185 extern __inline __m256d
3186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_pd(__m256d __W,__mmask8 __U,__m256d __A)3187 _mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3188 {
3189 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3190 (__v4df) __W,
3191 (__mmask8) __U);
3192 }
3193
3194 extern __inline __m256d
3195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_pd(__mmask8 __U,__m256d __A)3196 _mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
3197 {
3198 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3199 (__v4df)
3200 _mm256_setzero_pd (),
3201 (__mmask8) __U);
3202 }
3203
3204 extern __inline __m128d
3205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_pd(__m128d __A)3206 _mm_rcp14_pd (__m128d __A)
3207 {
3208 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3209 (__v2df)
3210 _mm_setzero_pd (),
3211 (__mmask8) -1);
3212 }
3213
3214 extern __inline __m128d
3215 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_pd(__m128d __W,__mmask8 __U,__m128d __A)3216 _mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3217 {
3218 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3219 (__v2df) __W,
3220 (__mmask8) __U);
3221 }
3222
3223 extern __inline __m128d
3224 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_pd(__mmask8 __U,__m128d __A)3225 _mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
3226 {
3227 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3228 (__v2df)
3229 _mm_setzero_pd (),
3230 (__mmask8) __U);
3231 }
3232
3233 extern __inline __m256
3234 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_ps(__m256 __A)3235 _mm256_rcp14_ps (__m256 __A)
3236 {
3237 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3238 (__v8sf)
3239 _mm256_setzero_ps (),
3240 (__mmask8) -1);
3241 }
3242
3243 extern __inline __m256
3244 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_ps(__m256 __W,__mmask8 __U,__m256 __A)3245 _mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3246 {
3247 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3248 (__v8sf) __W,
3249 (__mmask8) __U);
3250 }
3251
3252 extern __inline __m256
3253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_ps(__mmask8 __U,__m256 __A)3254 _mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
3255 {
3256 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3257 (__v8sf)
3258 _mm256_setzero_ps (),
3259 (__mmask8) __U);
3260 }
3261
3262 extern __inline __m128
3263 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_ps(__m128 __A)3264 _mm_rcp14_ps (__m128 __A)
3265 {
3266 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3267 (__v4sf)
3268 _mm_setzero_ps (),
3269 (__mmask8) -1);
3270 }
3271
3272 extern __inline __m128
3273 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_ps(__m128 __W,__mmask8 __U,__m128 __A)3274 _mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3275 {
3276 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3277 (__v4sf) __W,
3278 (__mmask8) __U);
3279 }
3280
3281 extern __inline __m128
3282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_ps(__mmask8 __U,__m128 __A)3283 _mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
3284 {
3285 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3286 (__v4sf)
3287 _mm_setzero_ps (),
3288 (__mmask8) __U);
3289 }
3290
3291 extern __inline __m256d
3292 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_pd(__m256d __A)3293 _mm256_rsqrt14_pd (__m256d __A)
3294 {
3295 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3296 (__v4df)
3297 _mm256_setzero_pd (),
3298 (__mmask8) -1);
3299 }
3300
3301 extern __inline __m256d
3302 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_pd(__m256d __W,__mmask8 __U,__m256d __A)3303 _mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3304 {
3305 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3306 (__v4df) __W,
3307 (__mmask8) __U);
3308 }
3309
3310 extern __inline __m256d
3311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_pd(__mmask8 __U,__m256d __A)3312 _mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
3313 {
3314 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3315 (__v4df)
3316 _mm256_setzero_pd (),
3317 (__mmask8) __U);
3318 }
3319
3320 extern __inline __m128d
3321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_pd(__m128d __A)3322 _mm_rsqrt14_pd (__m128d __A)
3323 {
3324 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3325 (__v2df)
3326 _mm_setzero_pd (),
3327 (__mmask8) -1);
3328 }
3329
3330 extern __inline __m128d
3331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_pd(__m128d __W,__mmask8 __U,__m128d __A)3332 _mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3333 {
3334 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3335 (__v2df) __W,
3336 (__mmask8) __U);
3337 }
3338
3339 extern __inline __m128d
3340 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_pd(__mmask8 __U,__m128d __A)3341 _mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
3342 {
3343 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3344 (__v2df)
3345 _mm_setzero_pd (),
3346 (__mmask8) __U);
3347 }
3348
3349 extern __inline __m256
3350 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_ps(__m256 __A)3351 _mm256_rsqrt14_ps (__m256 __A)
3352 {
3353 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3354 (__v8sf)
3355 _mm256_setzero_ps (),
3356 (__mmask8) -1);
3357 }
3358
3359 extern __inline __m256
3360 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_ps(__m256 __W,__mmask8 __U,__m256 __A)3361 _mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3362 {
3363 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3364 (__v8sf) __W,
3365 (__mmask8) __U);
3366 }
3367
3368 extern __inline __m256
3369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_ps(__mmask8 __U,__m256 __A)3370 _mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
3371 {
3372 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3373 (__v8sf)
3374 _mm256_setzero_ps (),
3375 (__mmask8) __U);
3376 }
3377
3378 extern __inline __m128
3379 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_ps(__m128 __A)3380 _mm_rsqrt14_ps (__m128 __A)
3381 {
3382 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3383 (__v4sf)
3384 _mm_setzero_ps (),
3385 (__mmask8) -1);
3386 }
3387
3388 extern __inline __m128
3389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_ps(__m128 __W,__mmask8 __U,__m128 __A)3390 _mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3391 {
3392 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3393 (__v4sf) __W,
3394 (__mmask8) __U);
3395 }
3396
3397 extern __inline __m128
3398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_ps(__mmask8 __U,__m128 __A)3399 _mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
3400 {
3401 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3402 (__v4sf)
3403 _mm_setzero_ps (),
3404 (__mmask8) __U);
3405 }
3406
3407 extern __inline __m256d
3408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_pd(__m256d __W,__mmask8 __U,__m256d __A)3409 _mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A)
3410 {
3411 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3412 (__v4df) __W,
3413 (__mmask8) __U);
3414 }
3415
3416 extern __inline __m256d
3417 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_pd(__mmask8 __U,__m256d __A)3418 _mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A)
3419 {
3420 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3421 (__v4df)
3422 _mm256_setzero_pd (),
3423 (__mmask8) __U);
3424 }
3425
3426 extern __inline __m128d
3427 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_pd(__m128d __W,__mmask8 __U,__m128d __A)3428 _mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A)
3429 {
3430 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3431 (__v2df) __W,
3432 (__mmask8) __U);
3433 }
3434
3435 extern __inline __m128d
3436 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_pd(__mmask8 __U,__m128d __A)3437 _mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A)
3438 {
3439 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3440 (__v2df)
3441 _mm_setzero_pd (),
3442 (__mmask8) __U);
3443 }
3444
3445 extern __inline __m256
3446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_ps(__m256 __W,__mmask8 __U,__m256 __A)3447 _mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A)
3448 {
3449 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3450 (__v8sf) __W,
3451 (__mmask8) __U);
3452 }
3453
3454 extern __inline __m256
3455 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_ps(__mmask8 __U,__m256 __A)3456 _mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A)
3457 {
3458 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3459 (__v8sf)
3460 _mm256_setzero_ps (),
3461 (__mmask8) __U);
3462 }
3463
3464 extern __inline __m128
3465 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_ps(__m128 __W,__mmask8 __U,__m128 __A)3466 _mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A)
3467 {
3468 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
3469 (__v4sf) __W,
3470 (__mmask8) __U);
3471 }
3472
3473 extern __inline __m128
3474 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_ps(__mmask8 __U,__m128 __A)3475 _mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A)
3476 {
3477 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
3478 (__v4sf)
3479 _mm_setzero_ps (),
3480 (__mmask8) __U);
3481 }
3482
3483 extern __inline __m256i
3484 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3485 _mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3486 __m256i __B)
3487 {
3488 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
3489 (__v8si) __B,
3490 (__v8si) __W,
3491 (__mmask8) __U);
3492 }
3493
3494 extern __inline __m256i
3495 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi32(__mmask8 __U,__m256i __A,__m256i __B)3496 _mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3497 {
3498 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
3499 (__v8si) __B,
3500 (__v8si)
3501 _mm256_setzero_si256 (),
3502 (__mmask8) __U);
3503 }
3504
3505 extern __inline __m256i
3506 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3507 _mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3508 __m256i __B)
3509 {
3510 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
3511 (__v4di) __B,
3512 (__v4di) __W,
3513 (__mmask8) __U);
3514 }
3515
3516 extern __inline __m256i
3517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi64(__mmask8 __U,__m256i __A,__m256i __B)3518 _mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
3519 {
3520 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
3521 (__v4di) __B,
3522 (__v4di)
3523 _mm256_setzero_si256 (),
3524 (__mmask8) __U);
3525 }
3526
3527 extern __inline __m256i
3528 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3529 _mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3530 __m256i __B)
3531 {
3532 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
3533 (__v8si) __B,
3534 (__v8si) __W,
3535 (__mmask8) __U);
3536 }
3537
3538 extern __inline __m256i
3539 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi32(__mmask8 __U,__m256i __A,__m256i __B)3540 _mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3541 {
3542 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
3543 (__v8si) __B,
3544 (__v8si)
3545 _mm256_setzero_si256 (),
3546 (__mmask8) __U);
3547 }
3548
3549 extern __inline __m256i
3550 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3551 _mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3552 __m256i __B)
3553 {
3554 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
3555 (__v4di) __B,
3556 (__v4di) __W,
3557 (__mmask8) __U);
3558 }
3559
3560 extern __inline __m256i
3561 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi64(__mmask8 __U,__m256i __A,__m256i __B)3562 _mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
3563 {
3564 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
3565 (__v4di) __B,
3566 (__v4di)
3567 _mm256_setzero_si256 (),
3568 (__mmask8) __U);
3569 }
3570
3571 extern __inline __m128i
3572 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3573 _mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3574 __m128i __B)
3575 {
3576 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
3577 (__v4si) __B,
3578 (__v4si) __W,
3579 (__mmask8) __U);
3580 }
3581
3582 extern __inline __m128i
3583 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi32(__mmask8 __U,__m128i __A,__m128i __B)3584 _mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3585 {
3586 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
3587 (__v4si) __B,
3588 (__v4si)
3589 _mm_setzero_si128 (),
3590 (__mmask8) __U);
3591 }
3592
3593 extern __inline __m128i
3594 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3595 _mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3596 __m128i __B)
3597 {
3598 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
3599 (__v2di) __B,
3600 (__v2di) __W,
3601 (__mmask8) __U);
3602 }
3603
3604 extern __inline __m128i
3605 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi64(__mmask8 __U,__m128i __A,__m128i __B)3606 _mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3607 {
3608 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
3609 (__v2di) __B,
3610 (__v2di)
3611 _mm_setzero_si128 (),
3612 (__mmask8) __U);
3613 }
3614
3615 extern __inline __m128i
3616 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3617 _mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3618 __m128i __B)
3619 {
3620 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
3621 (__v4si) __B,
3622 (__v4si) __W,
3623 (__mmask8) __U);
3624 }
3625
3626 extern __inline __m128i
3627 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi32(__mmask8 __U,__m128i __A,__m128i __B)3628 _mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3629 {
3630 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
3631 (__v4si) __B,
3632 (__v4si)
3633 _mm_setzero_si128 (),
3634 (__mmask8) __U);
3635 }
3636
3637 extern __inline __m128i
3638 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3639 _mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3640 __m128i __B)
3641 {
3642 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
3643 (__v2di) __B,
3644 (__v2di) __W,
3645 (__mmask8) __U);
3646 }
3647
3648 extern __inline __m128i
3649 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi64(__mmask8 __U,__m128i __A,__m128i __B)3650 _mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3651 {
3652 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
3653 (__v2di) __B,
3654 (__v2di)
3655 _mm_setzero_si128 (),
3656 (__mmask8) __U);
3657 }
3658
3659 extern __inline __m256
3660 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_ps(__m256 __A)3661 _mm256_getexp_ps (__m256 __A)
3662 {
3663 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3664 (__v8sf)
3665 _mm256_setzero_ps (),
3666 (__mmask8) -1);
3667 }
3668
3669 extern __inline __m256
3670 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_ps(__m256 __W,__mmask8 __U,__m256 __A)3671 _mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A)
3672 {
3673 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3674 (__v8sf) __W,
3675 (__mmask8) __U);
3676 }
3677
3678 extern __inline __m256
3679 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_ps(__mmask8 __U,__m256 __A)3680 _mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A)
3681 {
3682 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3683 (__v8sf)
3684 _mm256_setzero_ps (),
3685 (__mmask8) __U);
3686 }
3687
3688 extern __inline __m256d
3689 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_pd(__m256d __A)3690 _mm256_getexp_pd (__m256d __A)
3691 {
3692 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3693 (__v4df)
3694 _mm256_setzero_pd (),
3695 (__mmask8) -1);
3696 }
3697
3698 extern __inline __m256d
3699 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_pd(__m256d __W,__mmask8 __U,__m256d __A)3700 _mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A)
3701 {
3702 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3703 (__v4df) __W,
3704 (__mmask8) __U);
3705 }
3706
3707 extern __inline __m256d
3708 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_pd(__mmask8 __U,__m256d __A)3709 _mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A)
3710 {
3711 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3712 (__v4df)
3713 _mm256_setzero_pd (),
3714 (__mmask8) __U);
3715 }
3716
3717 extern __inline __m128
3718 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_ps(__m128 __A)3719 _mm_getexp_ps (__m128 __A)
3720 {
3721 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3722 (__v4sf)
3723 _mm_setzero_ps (),
3724 (__mmask8) -1);
3725 }
3726
3727 extern __inline __m128
3728 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_ps(__m128 __W,__mmask8 __U,__m128 __A)3729 _mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A)
3730 {
3731 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3732 (__v4sf) __W,
3733 (__mmask8) __U);
3734 }
3735
3736 extern __inline __m128
3737 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_ps(__mmask8 __U,__m128 __A)3738 _mm_maskz_getexp_ps (__mmask8 __U, __m128 __A)
3739 {
3740 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3741 (__v4sf)
3742 _mm_setzero_ps (),
3743 (__mmask8) __U);
3744 }
3745
3746 extern __inline __m128d
3747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_pd(__m128d __A)3748 _mm_getexp_pd (__m128d __A)
3749 {
3750 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3751 (__v2df)
3752 _mm_setzero_pd (),
3753 (__mmask8) -1);
3754 }
3755
3756 extern __inline __m128d
3757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_pd(__m128d __W,__mmask8 __U,__m128d __A)3758 _mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A)
3759 {
3760 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3761 (__v2df) __W,
3762 (__mmask8) __U);
3763 }
3764
3765 extern __inline __m128d
3766 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_pd(__mmask8 __U,__m128d __A)3767 _mm_maskz_getexp_pd (__mmask8 __U, __m128d __A)
3768 {
3769 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3770 (__v2df)
3771 _mm_setzero_pd (),
3772 (__mmask8) __U);
3773 }
3774
3775 extern __inline __m256i
3776 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3777 _mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3778 __m128i __B)
3779 {
3780 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
3781 (__v4si) __B,
3782 (__v8si) __W,
3783 (__mmask8) __U);
3784 }
3785
3786 extern __inline __m256i
3787 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi32(__mmask8 __U,__m256i __A,__m128i __B)3788 _mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
3789 {
3790 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
3791 (__v4si) __B,
3792 (__v8si)
3793 _mm256_setzero_si256 (),
3794 (__mmask8) __U);
3795 }
3796
3797 extern __inline __m128i
3798 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3799 _mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3800 __m128i __B)
3801 {
3802 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
3803 (__v4si) __B,
3804 (__v4si) __W,
3805 (__mmask8) __U);
3806 }
3807
3808 extern __inline __m128i
3809 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi32(__mmask8 __U,__m128i __A,__m128i __B)3810 _mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3811 {
3812 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
3813 (__v4si) __B,
3814 (__v4si)
3815 _mm_setzero_si128 (),
3816 (__mmask8) __U);
3817 }
3818
3819 extern __inline __m256i
3820 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3821 _mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3822 __m128i __B)
3823 {
3824 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
3825 (__v2di) __B,
3826 (__v4di) __W,
3827 (__mmask8) __U);
3828 }
3829
3830 extern __inline __m256i
3831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi64(__mmask8 __U,__m256i __A,__m128i __B)3832 _mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
3833 {
3834 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
3835 (__v2di) __B,
3836 (__v4di)
3837 _mm256_setzero_si256 (),
3838 (__mmask8) __U);
3839 }
3840
3841 extern __inline __m128i
3842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3843 _mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3844 __m128i __B)
3845 {
3846 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
3847 (__v2di) __B,
3848 (__v2di) __W,
3849 (__mmask8) __U);
3850 }
3851
3852 extern __inline __m128i
3853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi64(__mmask8 __U,__m128i __A,__m128i __B)3854 _mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3855 {
3856 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
3857 (__v2di) __B,
3858 (__v2di)
3859 _mm_setzero_si128 (),
3860 (__mmask8) __U);
3861 }
3862
3863 extern __inline __m256i
3864 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3865 _mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3866 __m256i __B)
3867 {
3868 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
3869 (__v8si) __B,
3870 (__v8si) __W,
3871 (__mmask8) __U);
3872 }
3873
3874 extern __inline __m256i
3875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi32(__mmask8 __U,__m256i __A,__m256i __B)3876 _mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3877 {
3878 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
3879 (__v8si) __B,
3880 (__v8si)
3881 _mm256_setzero_si256 (),
3882 (__mmask8) __U);
3883 }
3884
3885 extern __inline __m256d
3886 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_pd(__m256d __A,__m256d __B)3887 _mm256_scalef_pd (__m256d __A, __m256d __B)
3888 {
3889 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3890 (__v4df) __B,
3891 (__v4df)
3892 _mm256_setzero_pd (),
3893 (__mmask8) -1);
3894 }
3895
3896 extern __inline __m256d
3897 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)3898 _mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
3899 __m256d __B)
3900 {
3901 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3902 (__v4df) __B,
3903 (__v4df) __W,
3904 (__mmask8) __U);
3905 }
3906
3907 extern __inline __m256d
3908 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_pd(__mmask8 __U,__m256d __A,__m256d __B)3909 _mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B)
3910 {
3911 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3912 (__v4df) __B,
3913 (__v4df)
3914 _mm256_setzero_pd (),
3915 (__mmask8) __U);
3916 }
3917
3918 extern __inline __m256
3919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_ps(__m256 __A,__m256 __B)3920 _mm256_scalef_ps (__m256 __A, __m256 __B)
3921 {
3922 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3923 (__v8sf) __B,
3924 (__v8sf)
3925 _mm256_setzero_ps (),
3926 (__mmask8) -1);
3927 }
3928
3929 extern __inline __m256
3930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)3931 _mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
3932 __m256 __B)
3933 {
3934 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3935 (__v8sf) __B,
3936 (__v8sf) __W,
3937 (__mmask8) __U);
3938 }
3939
3940 extern __inline __m256
3941 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_ps(__mmask8 __U,__m256 __A,__m256 __B)3942 _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B)
3943 {
3944 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3945 (__v8sf) __B,
3946 (__v8sf)
3947 _mm256_setzero_ps (),
3948 (__mmask8) __U);
3949 }
3950
3951 extern __inline __m128d
3952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_pd(__m128d __A,__m128d __B)3953 _mm_scalef_pd (__m128d __A, __m128d __B)
3954 {
3955 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3956 (__v2df) __B,
3957 (__v2df)
3958 _mm_setzero_pd (),
3959 (__mmask8) -1);
3960 }
3961
3962 extern __inline __m128d
3963 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)3964 _mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
3965 __m128d __B)
3966 {
3967 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3968 (__v2df) __B,
3969 (__v2df) __W,
3970 (__mmask8) __U);
3971 }
3972
3973 extern __inline __m128d
3974 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_pd(__mmask8 __U,__m128d __A,__m128d __B)3975 _mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B)
3976 {
3977 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3978 (__v2df) __B,
3979 (__v2df)
3980 _mm_setzero_pd (),
3981 (__mmask8) __U);
3982 }
3983
3984 extern __inline __m128
3985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_ps(__m128 __A,__m128 __B)3986 _mm_scalef_ps (__m128 __A, __m128 __B)
3987 {
3988 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3989 (__v4sf) __B,
3990 (__v4sf)
3991 _mm_setzero_ps (),
3992 (__mmask8) -1);
3993 }
3994
3995 extern __inline __m128
3996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)3997 _mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
3998 {
3999 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
4000 (__v4sf) __B,
4001 (__v4sf) __W,
4002 (__mmask8) __U);
4003 }
4004
4005 extern __inline __m128
4006 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_ps(__mmask8 __U,__m128 __A,__m128 __B)4007 _mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B)
4008 {
4009 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
4010 (__v4sf) __B,
4011 (__v4sf)
4012 _mm_setzero_ps (),
4013 (__mmask8) __U);
4014 }
4015
4016 extern __inline __m256d
4017 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4018 _mm256_mask_fmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
4019 __m256d __C)
4020 {
4021 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
4022 (__v4df) __B,
4023 (__v4df) __C,
4024 (__mmask8) __U);
4025 }
4026
4027 extern __inline __m256d
4028 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4029 _mm256_mask3_fmadd_pd (__m256d __A, __m256d __B, __m256d __C,
4030 __mmask8 __U)
4031 {
4032 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
4033 (__v4df) __B,
4034 (__v4df) __C,
4035 (__mmask8) __U);
4036 }
4037
4038 extern __inline __m256d
4039 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4040 _mm256_maskz_fmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4041 __m256d __C)
4042 {
4043 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
4044 (__v4df) __B,
4045 (__v4df) __C,
4046 (__mmask8) __U);
4047 }
4048
4049 extern __inline __m128d
4050 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4051 _mm_mask_fmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
4052 {
4053 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
4054 (__v2df) __B,
4055 (__v2df) __C,
4056 (__mmask8) __U);
4057 }
4058
4059 extern __inline __m128d
4060 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4061 _mm_mask3_fmadd_pd (__m128d __A, __m128d __B, __m128d __C,
4062 __mmask8 __U)
4063 {
4064 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
4065 (__v2df) __B,
4066 (__v2df) __C,
4067 (__mmask8) __U);
4068 }
4069
4070 extern __inline __m128d
4071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4072 _mm_maskz_fmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4073 __m128d __C)
4074 {
4075 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
4076 (__v2df) __B,
4077 (__v2df) __C,
4078 (__mmask8) __U);
4079 }
4080
4081 extern __inline __m256
4082 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4083 _mm256_mask_fmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
4084 {
4085 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
4086 (__v8sf) __B,
4087 (__v8sf) __C,
4088 (__mmask8) __U);
4089 }
4090
4091 extern __inline __m256
4092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4093 _mm256_mask3_fmadd_ps (__m256 __A, __m256 __B, __m256 __C,
4094 __mmask8 __U)
4095 {
4096 return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
4097 (__v8sf) __B,
4098 (__v8sf) __C,
4099 (__mmask8) __U);
4100 }
4101
4102 extern __inline __m256
4103 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4104 _mm256_maskz_fmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4105 __m256 __C)
4106 {
4107 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
4108 (__v8sf) __B,
4109 (__v8sf) __C,
4110 (__mmask8) __U);
4111 }
4112
4113 extern __inline __m128
4114 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4115 _mm_mask_fmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4116 {
4117 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
4118 (__v4sf) __B,
4119 (__v4sf) __C,
4120 (__mmask8) __U);
4121 }
4122
4123 extern __inline __m128
4124 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4125 _mm_mask3_fmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4126 {
4127 return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
4128 (__v4sf) __B,
4129 (__v4sf) __C,
4130 (__mmask8) __U);
4131 }
4132
4133 extern __inline __m128
4134 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4135 _mm_maskz_fmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4136 {
4137 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
4138 (__v4sf) __B,
4139 (__v4sf) __C,
4140 (__mmask8) __U);
4141 }
4142
4143 extern __inline __m256d
4144 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4145 _mm256_mask_fmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4146 __m256d __C)
4147 {
4148 return (__m256d) __builtin_ia32_vfmsubpd256_mask ((__v4df) __A,
4149 (__v4df) __B,
4150 (__v4df) __C,
4151 (__mmask8) __U);
4152 }
4153
4154 extern __inline __m256d
4155 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4156 _mm256_mask3_fmsub_pd (__m256d __A, __m256d __B, __m256d __C,
4157 __mmask8 __U)
4158 {
4159 return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
4160 (__v4df) __B,
4161 (__v4df) __C,
4162 (__mmask8) __U);
4163 }
4164
4165 extern __inline __m256d
4166 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4167 _mm256_maskz_fmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4168 __m256d __C)
4169 {
4170 return (__m256d) __builtin_ia32_vfmsubpd256_maskz ((__v4df) __A,
4171 (__v4df) __B,
4172 (__v4df) __C,
4173 (__mmask8) __U);
4174 }
4175
4176 extern __inline __m128d
4177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4178 _mm_mask_fmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
4179 {
4180 return (__m128d) __builtin_ia32_vfmsubpd128_mask ((__v2df) __A,
4181 (__v2df) __B,
4182 (__v2df) __C,
4183 (__mmask8) __U);
4184 }
4185
4186 extern __inline __m128d
4187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4188 _mm_mask3_fmsub_pd (__m128d __A, __m128d __B, __m128d __C,
4189 __mmask8 __U)
4190 {
4191 return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
4192 (__v2df) __B,
4193 (__v2df) __C,
4194 (__mmask8) __U);
4195 }
4196
4197 extern __inline __m128d
4198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4199 _mm_maskz_fmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4200 __m128d __C)
4201 {
4202 return (__m128d) __builtin_ia32_vfmsubpd128_maskz ((__v2df) __A,
4203 (__v2df) __B,
4204 (__v2df) __C,
4205 (__mmask8) __U);
4206 }
4207
4208 extern __inline __m256
4209 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4210 _mm256_mask_fmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
4211 {
4212 return (__m256) __builtin_ia32_vfmsubps256_mask ((__v8sf) __A,
4213 (__v8sf) __B,
4214 (__v8sf) __C,
4215 (__mmask8) __U);
4216 }
4217
4218 extern __inline __m256
4219 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4220 _mm256_mask3_fmsub_ps (__m256 __A, __m256 __B, __m256 __C,
4221 __mmask8 __U)
4222 {
4223 return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
4224 (__v8sf) __B,
4225 (__v8sf) __C,
4226 (__mmask8) __U);
4227 }
4228
4229 extern __inline __m256
4230 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4231 _mm256_maskz_fmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4232 __m256 __C)
4233 {
4234 return (__m256) __builtin_ia32_vfmsubps256_maskz ((__v8sf) __A,
4235 (__v8sf) __B,
4236 (__v8sf) __C,
4237 (__mmask8) __U);
4238 }
4239
4240 extern __inline __m128
4241 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4242 _mm_mask_fmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4243 {
4244 return (__m128) __builtin_ia32_vfmsubps128_mask ((__v4sf) __A,
4245 (__v4sf) __B,
4246 (__v4sf) __C,
4247 (__mmask8) __U);
4248 }
4249
4250 extern __inline __m128
4251 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4252 _mm_mask3_fmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4253 {
4254 return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
4255 (__v4sf) __B,
4256 (__v4sf) __C,
4257 (__mmask8) __U);
4258 }
4259
4260 extern __inline __m128
4261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4262 _mm_maskz_fmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4263 {
4264 return (__m128) __builtin_ia32_vfmsubps128_maskz ((__v4sf) __A,
4265 (__v4sf) __B,
4266 (__v4sf) __C,
4267 (__mmask8) __U);
4268 }
4269
4270 extern __inline __m256d
4271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4272 _mm256_mask_fmaddsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4273 __m256d __C)
4274 {
4275 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
4276 (__v4df) __B,
4277 (__v4df) __C,
4278 (__mmask8) __U);
4279 }
4280
4281 extern __inline __m256d
4282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4283 _mm256_mask3_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C,
4284 __mmask8 __U)
4285 {
4286 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
4287 (__v4df) __B,
4288 (__v4df) __C,
4289 (__mmask8)
4290 __U);
4291 }
4292
4293 extern __inline __m256d
4294 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4295 _mm256_maskz_fmaddsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4296 __m256d __C)
4297 {
4298 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
4299 (__v4df) __B,
4300 (__v4df) __C,
4301 (__mmask8)
4302 __U);
4303 }
4304
4305 extern __inline __m128d
4306 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4307 _mm_mask_fmaddsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
4308 __m128d __C)
4309 {
4310 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
4311 (__v2df) __B,
4312 (__v2df) __C,
4313 (__mmask8) __U);
4314 }
4315
4316 extern __inline __m128d
4317 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4318 _mm_mask3_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C,
4319 __mmask8 __U)
4320 {
4321 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
4322 (__v2df) __B,
4323 (__v2df) __C,
4324 (__mmask8)
4325 __U);
4326 }
4327
4328 extern __inline __m128d
4329 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4330 _mm_maskz_fmaddsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4331 __m128d __C)
4332 {
4333 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
4334 (__v2df) __B,
4335 (__v2df) __C,
4336 (__mmask8)
4337 __U);
4338 }
4339
4340 extern __inline __m256
4341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4342 _mm256_mask_fmaddsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
4343 __m256 __C)
4344 {
4345 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
4346 (__v8sf) __B,
4347 (__v8sf) __C,
4348 (__mmask8) __U);
4349 }
4350
4351 extern __inline __m256
4352 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4353 _mm256_mask3_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C,
4354 __mmask8 __U)
4355 {
4356 return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
4357 (__v8sf) __B,
4358 (__v8sf) __C,
4359 (__mmask8) __U);
4360 }
4361
4362 extern __inline __m256
4363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4364 _mm256_maskz_fmaddsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4365 __m256 __C)
4366 {
4367 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
4368 (__v8sf) __B,
4369 (__v8sf) __C,
4370 (__mmask8) __U);
4371 }
4372
4373 extern __inline __m128
4374 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4375 _mm_mask_fmaddsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4376 {
4377 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
4378 (__v4sf) __B,
4379 (__v4sf) __C,
4380 (__mmask8) __U);
4381 }
4382
4383 extern __inline __m128
4384 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4385 _mm_mask3_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C,
4386 __mmask8 __U)
4387 {
4388 return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
4389 (__v4sf) __B,
4390 (__v4sf) __C,
4391 (__mmask8) __U);
4392 }
4393
4394 extern __inline __m128
4395 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4396 _mm_maskz_fmaddsub_ps (__mmask8 __U, __m128 __A, __m128 __B,
4397 __m128 __C)
4398 {
4399 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
4400 (__v4sf) __B,
4401 (__v4sf) __C,
4402 (__mmask8) __U);
4403 }
4404
4405 extern __inline __m256d
4406 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4407 _mm256_mask_fmsubadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
4408 __m256d __C)
4409 {
4410 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
4411 (__v4df) __B,
4412 -(__v4df) __C,
4413 (__mmask8) __U);
4414 }
4415
4416 extern __inline __m256d
4417 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4418 _mm256_mask3_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C,
4419 __mmask8 __U)
4420 {
4421 return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
4422 (__v4df) __B,
4423 (__v4df) __C,
4424 (__mmask8)
4425 __U);
4426 }
4427
4428 extern __inline __m256d
4429 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4430 _mm256_maskz_fmsubadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4431 __m256d __C)
4432 {
4433 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
4434 (__v4df) __B,
4435 -(__v4df) __C,
4436 (__mmask8)
4437 __U);
4438 }
4439
4440 extern __inline __m128d
4441 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4442 _mm_mask_fmsubadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
4443 __m128d __C)
4444 {
4445 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
4446 (__v2df) __B,
4447 -(__v2df) __C,
4448 (__mmask8) __U);
4449 }
4450
4451 extern __inline __m128d
4452 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4453 _mm_mask3_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C,
4454 __mmask8 __U)
4455 {
4456 return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
4457 (__v2df) __B,
4458 (__v2df) __C,
4459 (__mmask8)
4460 __U);
4461 }
4462
4463 extern __inline __m128d
4464 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4465 _mm_maskz_fmsubadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4466 __m128d __C)
4467 {
4468 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
4469 (__v2df) __B,
4470 -(__v2df) __C,
4471 (__mmask8)
4472 __U);
4473 }
4474
4475 extern __inline __m256
4476 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4477 _mm256_mask_fmsubadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
4478 __m256 __C)
4479 {
4480 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
4481 (__v8sf) __B,
4482 -(__v8sf) __C,
4483 (__mmask8) __U);
4484 }
4485
4486 extern __inline __m256
4487 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4488 _mm256_mask3_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C,
4489 __mmask8 __U)
4490 {
4491 return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
4492 (__v8sf) __B,
4493 (__v8sf) __C,
4494 (__mmask8) __U);
4495 }
4496
4497 extern __inline __m256
4498 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4499 _mm256_maskz_fmsubadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4500 __m256 __C)
4501 {
4502 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
4503 (__v8sf) __B,
4504 -(__v8sf) __C,
4505 (__mmask8) __U);
4506 }
4507
4508 extern __inline __m128
4509 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4510 _mm_mask_fmsubadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4511 {
4512 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
4513 (__v4sf) __B,
4514 -(__v4sf) __C,
4515 (__mmask8) __U);
4516 }
4517
4518 extern __inline __m128
4519 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4520 _mm_mask3_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C,
4521 __mmask8 __U)
4522 {
4523 return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
4524 (__v4sf) __B,
4525 (__v4sf) __C,
4526 (__mmask8) __U);
4527 }
4528
4529 extern __inline __m128
4530 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4531 _mm_maskz_fmsubadd_ps (__mmask8 __U, __m128 __A, __m128 __B,
4532 __m128 __C)
4533 {
4534 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
4535 (__v4sf) __B,
4536 -(__v4sf) __C,
4537 (__mmask8) __U);
4538 }
4539
4540 extern __inline __m256d
4541 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4542 _mm256_mask_fnmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
4543 __m256d __C)
4544 {
4545 return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
4546 (__v4df) __B,
4547 (__v4df) __C,
4548 (__mmask8) __U);
4549 }
4550
4551 extern __inline __m256d
4552 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4553 _mm256_mask3_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C,
4554 __mmask8 __U)
4555 {
4556 return (__m256d) __builtin_ia32_vfnmaddpd256_mask3 ((__v4df) __A,
4557 (__v4df) __B,
4558 (__v4df) __C,
4559 (__mmask8) __U);
4560 }
4561
4562 extern __inline __m256d
4563 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4564 _mm256_maskz_fnmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4565 __m256d __C)
4566 {
4567 return (__m256d) __builtin_ia32_vfnmaddpd256_maskz ((__v4df) __A,
4568 (__v4df) __B,
4569 (__v4df) __C,
4570 (__mmask8) __U);
4571 }
4572
4573 extern __inline __m128d
4574 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4575 _mm_mask_fnmadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
4576 __m128d __C)
4577 {
4578 return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
4579 (__v2df) __B,
4580 (__v2df) __C,
4581 (__mmask8) __U);
4582 }
4583
4584 extern __inline __m128d
4585 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4586 _mm_mask3_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C,
4587 __mmask8 __U)
4588 {
4589 return (__m128d) __builtin_ia32_vfnmaddpd128_mask3 ((__v2df) __A,
4590 (__v2df) __B,
4591 (__v2df) __C,
4592 (__mmask8) __U);
4593 }
4594
4595 extern __inline __m128d
4596 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4597 _mm_maskz_fnmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4598 __m128d __C)
4599 {
4600 return (__m128d) __builtin_ia32_vfnmaddpd128_maskz ((__v2df) __A,
4601 (__v2df) __B,
4602 (__v2df) __C,
4603 (__mmask8) __U);
4604 }
4605
4606 extern __inline __m256
4607 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4608 _mm256_mask_fnmadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
4609 __m256 __C)
4610 {
4611 return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
4612 (__v8sf) __B,
4613 (__v8sf) __C,
4614 (__mmask8) __U);
4615 }
4616
4617 extern __inline __m256
4618 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4619 _mm256_mask3_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C,
4620 __mmask8 __U)
4621 {
4622 return (__m256) __builtin_ia32_vfnmaddps256_mask3 ((__v8sf) __A,
4623 (__v8sf) __B,
4624 (__v8sf) __C,
4625 (__mmask8) __U);
4626 }
4627
4628 extern __inline __m256
4629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4630 _mm256_maskz_fnmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4631 __m256 __C)
4632 {
4633 return (__m256) __builtin_ia32_vfnmaddps256_maskz ((__v8sf) __A,
4634 (__v8sf) __B,
4635 (__v8sf) __C,
4636 (__mmask8) __U);
4637 }
4638
4639 extern __inline __m128
4640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4641 _mm_mask_fnmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4642 {
4643 return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
4644 (__v4sf) __B,
4645 (__v4sf) __C,
4646 (__mmask8) __U);
4647 }
4648
4649 extern __inline __m128
4650 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4651 _mm_mask3_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4652 {
4653 return (__m128) __builtin_ia32_vfnmaddps128_mask3 ((__v4sf) __A,
4654 (__v4sf) __B,
4655 (__v4sf) __C,
4656 (__mmask8) __U);
4657 }
4658
4659 extern __inline __m128
4660 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4661 _mm_maskz_fnmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4662 {
4663 return (__m128) __builtin_ia32_vfnmaddps128_maskz ((__v4sf) __A,
4664 (__v4sf) __B,
4665 (__v4sf) __C,
4666 (__mmask8) __U);
4667 }
4668
4669 extern __inline __m256d
4670 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4671 _mm256_mask_fnmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4672 __m256d __C)
4673 {
4674 return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
4675 (__v4df) __B,
4676 (__v4df) __C,
4677 (__mmask8) __U);
4678 }
4679
4680 extern __inline __m256d
4681 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4682 _mm256_mask3_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C,
4683 __mmask8 __U)
4684 {
4685 return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
4686 (__v4df) __B,
4687 (__v4df) __C,
4688 (__mmask8) __U);
4689 }
4690
4691 extern __inline __m256d
4692 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4693 _mm256_maskz_fnmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4694 __m256d __C)
4695 {
4696 return (__m256d) __builtin_ia32_vfnmsubpd256_maskz ((__v4df) __A,
4697 (__v4df) __B,
4698 (__v4df) __C,
4699 (__mmask8) __U);
4700 }
4701
4702 extern __inline __m128d
4703 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4704 _mm_mask_fnmsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
4705 __m128d __C)
4706 {
4707 return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
4708 (__v2df) __B,
4709 (__v2df) __C,
4710 (__mmask8) __U);
4711 }
4712
4713 extern __inline __m128d
4714 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4715 _mm_mask3_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C,
4716 __mmask8 __U)
4717 {
4718 return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
4719 (__v2df) __B,
4720 (__v2df) __C,
4721 (__mmask8) __U);
4722 }
4723
4724 extern __inline __m128d
4725 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4726 _mm_maskz_fnmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4727 __m128d __C)
4728 {
4729 return (__m128d) __builtin_ia32_vfnmsubpd128_maskz ((__v2df) __A,
4730 (__v2df) __B,
4731 (__v2df) __C,
4732 (__mmask8) __U);
4733 }
4734
4735 extern __inline __m256
4736 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4737 _mm256_mask_fnmsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
4738 __m256 __C)
4739 {
4740 return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
4741 (__v8sf) __B,
4742 (__v8sf) __C,
4743 (__mmask8) __U);
4744 }
4745
4746 extern __inline __m256
4747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4748 _mm256_mask3_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C,
4749 __mmask8 __U)
4750 {
4751 return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
4752 (__v8sf) __B,
4753 (__v8sf) __C,
4754 (__mmask8) __U);
4755 }
4756
4757 extern __inline __m256
4758 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4759 _mm256_maskz_fnmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4760 __m256 __C)
4761 {
4762 return (__m256) __builtin_ia32_vfnmsubps256_maskz ((__v8sf) __A,
4763 (__v8sf) __B,
4764 (__v8sf) __C,
4765 (__mmask8) __U);
4766 }
4767
4768 extern __inline __m128
4769 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4770 _mm_mask_fnmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4771 {
4772 return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
4773 (__v4sf) __B,
4774 (__v4sf) __C,
4775 (__mmask8) __U);
4776 }
4777
4778 extern __inline __m128
4779 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4780 _mm_mask3_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4781 {
4782 return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
4783 (__v4sf) __B,
4784 (__v4sf) __C,
4785 (__mmask8) __U);
4786 }
4787
4788 extern __inline __m128
4789 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4790 _mm_maskz_fnmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4791 {
4792 return (__m128) __builtin_ia32_vfnmsubps128_maskz ((__v4sf) __A,
4793 (__v4sf) __B,
4794 (__v4sf) __C,
4795 (__mmask8) __U);
4796 }
4797
4798 extern __inline __m128i
4799 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4800 _mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4801 __m128i __B)
4802 {
4803 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
4804 (__v4si) __B,
4805 (__v4si) __W,
4806 (__mmask8) __U);
4807 }
4808
4809 extern __inline __m128i
4810 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi32(__mmask8 __U,__m128i __A,__m128i __B)4811 _mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4812 {
4813 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
4814 (__v4si) __B,
4815 (__v4si)
4816 _mm_setzero_si128 (),
4817 (__mmask8) __U);
4818 }
4819
4820 extern __inline __m256i
4821 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4822 _mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4823 __m256i __B)
4824 {
4825 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
4826 (__v8si) __B,
4827 (__v8si) __W,
4828 (__mmask8) __U);
4829 }
4830
4831 extern __inline __m256i
4832 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi32(__mmask8 __U,__m256i __A,__m256i __B)4833 _mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4834 {
4835 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
4836 (__v8si) __B,
4837 (__v8si)
4838 _mm256_setzero_si256 (),
4839 (__mmask8) __U);
4840 }
4841
4842 extern __inline __m128i
4843 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4844 _mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4845 __m128i __B)
4846 {
4847 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
4848 (__v4si) __B,
4849 (__v4si) __W,
4850 (__mmask8) __U);
4851 }
4852
4853 extern __inline __m128i
4854 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi32(__mmask8 __U,__m128i __A,__m128i __B)4855 _mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4856 {
4857 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
4858 (__v4si) __B,
4859 (__v4si)
4860 _mm_setzero_si128 (),
4861 (__mmask8) __U);
4862 }
4863
4864 extern __inline __m256i
4865 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4866 _mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4867 __m256i __B)
4868 {
4869 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
4870 (__v8si) __B,
4871 (__v8si) __W,
4872 (__mmask8) __U);
4873 }
4874
4875 extern __inline __m256i
4876 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi32(__mmask8 __U,__m256i __A,__m256i __B)4877 _mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4878 {
4879 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
4880 (__v8si) __B,
4881 (__v8si)
4882 _mm256_setzero_si256 (),
4883 (__mmask8) __U);
4884 }
4885
4886 extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_or_epi32(__m256i __A,__m256i __B)4887 _mm256_or_epi32 (__m256i __A, __m256i __B)
4888 {
4889 return (__m256i) ((__v8su)__A | (__v8su)__B);
4890 }
4891
4892 extern __inline __m128i
4893 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4894 _mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4895 {
4896 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
4897 (__v4si) __B,
4898 (__v4si) __W,
4899 (__mmask8) __U);
4900 }
4901
4902 extern __inline __m128i
4903 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi32(__mmask8 __U,__m128i __A,__m128i __B)4904 _mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4905 {
4906 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
4907 (__v4si) __B,
4908 (__v4si)
4909 _mm_setzero_si128 (),
4910 (__mmask8) __U);
4911 }
4912
4913 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_epi32(__m128i __A,__m128i __B)4914 _mm_or_epi32 (__m128i __A, __m128i __B)
4915 {
4916 return (__m128i) ((__v4su)__A | (__v4su)__B);
4917 }
4918
4919 extern __inline __m256i
4920 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4921 _mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4922 __m256i __B)
4923 {
4924 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
4925 (__v8si) __B,
4926 (__v8si) __W,
4927 (__mmask8) __U);
4928 }
4929
4930 extern __inline __m256i
4931 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi32(__mmask8 __U,__m256i __A,__m256i __B)4932 _mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4933 {
4934 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
4935 (__v8si) __B,
4936 (__v8si)
4937 _mm256_setzero_si256 (),
4938 (__mmask8) __U);
4939 }
4940
4941 extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_xor_epi32(__m256i __A,__m256i __B)4942 _mm256_xor_epi32 (__m256i __A, __m256i __B)
4943 {
4944 return (__m256i) ((__v8su)__A ^ (__v8su)__B);
4945 }
4946
4947 extern __inline __m128i
4948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4949 _mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4950 __m128i __B)
4951 {
4952 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
4953 (__v4si) __B,
4954 (__v4si) __W,
4955 (__mmask8) __U);
4956 }
4957
4958 extern __inline __m128i
4959 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi32(__mmask8 __U,__m128i __A,__m128i __B)4960 _mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4961 {
4962 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
4963 (__v4si) __B,
4964 (__v4si)
4965 _mm_setzero_si128 (),
4966 (__mmask8) __U);
4967 }
4968
4969 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_epi32(__m128i __A,__m128i __B)4970 _mm_xor_epi32 (__m128i __A, __m128i __B)
4971 {
4972 return (__m128i) ((__v4su)__A ^ (__v4su)__B);
4973 }
4974
4975 extern __inline __m128
4976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m128d __A)4977 _mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A)
4978 {
4979 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
4980 (__v4sf) __W,
4981 (__mmask8) __U);
4982 }
4983
4984 extern __inline __m128
4985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_ps(__mmask8 __U,__m128d __A)4986 _mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A)
4987 {
4988 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
4989 (__v4sf)
4990 _mm_setzero_ps (),
4991 (__mmask8) __U);
4992 }
4993
4994 extern __inline __m128
4995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m256d __A)4996 _mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A)
4997 {
4998 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
4999 (__v4sf) __W,
5000 (__mmask8) __U);
5001 }
5002
5003 extern __inline __m128
5004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_ps(__mmask8 __U,__m256d __A)5005 _mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A)
5006 {
5007 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
5008 (__v4sf)
5009 _mm_setzero_ps (),
5010 (__mmask8) __U);
5011 }
5012
5013 extern __inline __m256i
5014 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epi32(__m256i __W,__mmask8 __U,__m256 __A)5015 _mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
5016 {
5017 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
5018 (__v8si) __W,
5019 (__mmask8) __U);
5020 }
5021
5022 extern __inline __m256i
5023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epi32(__mmask8 __U,__m256 __A)5024 _mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A)
5025 {
5026 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
5027 (__v8si)
5028 _mm256_setzero_si256 (),
5029 (__mmask8) __U);
5030 }
5031
5032 extern __inline __m128i
5033 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epi32(__m128i __W,__mmask8 __U,__m128 __A)5034 _mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
5035 {
5036 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
5037 (__v4si) __W,
5038 (__mmask8) __U);
5039 }
5040
5041 extern __inline __m128i
5042 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epi32(__mmask8 __U,__m128 __A)5043 _mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A)
5044 {
5045 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
5046 (__v4si)
5047 _mm_setzero_si128 (),
5048 (__mmask8) __U);
5049 }
5050
5051 extern __inline __m256i
5052 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_epu32(__m256 __A)5053 _mm256_cvtps_epu32 (__m256 __A)
5054 {
5055 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5056 (__v8si)
5057 _mm256_setzero_si256 (),
5058 (__mmask8) -1);
5059 }
5060
5061 extern __inline __m256i
5062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epu32(__m256i __W,__mmask8 __U,__m256 __A)5063 _mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
5064 {
5065 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5066 (__v8si) __W,
5067 (__mmask8) __U);
5068 }
5069
5070 extern __inline __m256i
5071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epu32(__mmask8 __U,__m256 __A)5072 _mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A)
5073 {
5074 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5075 (__v8si)
5076 _mm256_setzero_si256 (),
5077 (__mmask8) __U);
5078 }
5079
5080 extern __inline __m128i
5081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epu32(__m128 __A)5082 _mm_cvtps_epu32 (__m128 __A)
5083 {
5084 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5085 (__v4si)
5086 _mm_setzero_si128 (),
5087 (__mmask8) -1);
5088 }
5089
5090 extern __inline __m128i
5091 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epu32(__m128i __W,__mmask8 __U,__m128 __A)5092 _mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
5093 {
5094 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5095 (__v4si) __W,
5096 (__mmask8) __U);
5097 }
5098
5099 extern __inline __m128i
5100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epu32(__mmask8 __U,__m128 __A)5101 _mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A)
5102 {
5103 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5104 (__v4si)
5105 _mm_setzero_si128 (),
5106 (__mmask8) __U);
5107 }
5108
5109 extern __inline __m256d
5110 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movedup_pd(__m256d __W,__mmask8 __U,__m256d __A)5111 _mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
5112 {
5113 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
5114 (__v4df) __W,
5115 (__mmask8) __U);
5116 }
5117
5118 extern __inline __m256d
5119 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movedup_pd(__mmask8 __U,__m256d __A)5120 _mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
5121 {
5122 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
5123 (__v4df)
5124 _mm256_setzero_pd (),
5125 (__mmask8) __U);
5126 }
5127
5128 extern __inline __m128d
5129 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movedup_pd(__m128d __W,__mmask8 __U,__m128d __A)5130 _mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
5131 {
5132 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5133 (__v2df) __W,
5134 (__mmask8) __U);
5135 }
5136
5137 extern __inline __m128d
5138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movedup_pd(__mmask8 __U,__m128d __A)5139 _mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
5140 {
5141 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5142 (__v2df)
5143 _mm_setzero_pd (),
5144 (__mmask8) __U);
5145 }
5146
5147 extern __inline __m256
5148 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movehdup_ps(__m256 __W,__mmask8 __U,__m256 __A)5149 _mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
5150 {
5151 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
5152 (__v8sf) __W,
5153 (__mmask8) __U);
5154 }
5155
5156 extern __inline __m256
5157 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movehdup_ps(__mmask8 __U,__m256 __A)5158 _mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
5159 {
5160 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
5161 (__v8sf)
5162 _mm256_setzero_ps (),
5163 (__mmask8) __U);
5164 }
5165
5166 extern __inline __m128
5167 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movehdup_ps(__m128 __W,__mmask8 __U,__m128 __A)5168 _mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
5169 {
5170 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
5171 (__v4sf) __W,
5172 (__mmask8) __U);
5173 }
5174
5175 extern __inline __m128
5176 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movehdup_ps(__mmask8 __U,__m128 __A)5177 _mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
5178 {
5179 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
5180 (__v4sf)
5181 _mm_setzero_ps (),
5182 (__mmask8) __U);
5183 }
5184
5185 extern __inline __m256
5186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_moveldup_ps(__m256 __W,__mmask8 __U,__m256 __A)5187 _mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
5188 {
5189 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
5190 (__v8sf) __W,
5191 (__mmask8) __U);
5192 }
5193
5194 extern __inline __m256
5195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_moveldup_ps(__mmask8 __U,__m256 __A)5196 _mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
5197 {
5198 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
5199 (__v8sf)
5200 _mm256_setzero_ps (),
5201 (__mmask8) __U);
5202 }
5203
5204 extern __inline __m128
5205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_moveldup_ps(__m128 __W,__mmask8 __U,__m128 __A)5206 _mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
5207 {
5208 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
5209 (__v4sf) __W,
5210 (__mmask8) __U);
5211 }
5212
5213 extern __inline __m128
5214 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_moveldup_ps(__mmask8 __U,__m128 __A)5215 _mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
5216 {
5217 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
5218 (__v4sf)
5219 _mm_setzero_ps (),
5220 (__mmask8) __U);
5221 }
5222
5223 extern __inline __m128i
5224 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5225 _mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5226 __m128i __B)
5227 {
5228 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
5229 (__v4si) __B,
5230 (__v4si) __W,
5231 (__mmask8) __U);
5232 }
5233
5234 extern __inline __m128i
5235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi32(__mmask8 __U,__m128i __A,__m128i __B)5236 _mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5237 {
5238 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
5239 (__v4si) __B,
5240 (__v4si)
5241 _mm_setzero_si128 (),
5242 (__mmask8) __U);
5243 }
5244
5245 extern __inline __m256i
5246 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5247 _mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5248 __m256i __B)
5249 {
5250 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
5251 (__v8si) __B,
5252 (__v8si) __W,
5253 (__mmask8) __U);
5254 }
5255
5256 extern __inline __m256i
5257 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi32(__mmask8 __U,__m256i __A,__m256i __B)5258 _mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5259 {
5260 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
5261 (__v8si) __B,
5262 (__v8si)
5263 _mm256_setzero_si256 (),
5264 (__mmask8) __U);
5265 }
5266
5267 extern __inline __m128i
5268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5269 _mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5270 __m128i __B)
5271 {
5272 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
5273 (__v2di) __B,
5274 (__v2di) __W,
5275 (__mmask8) __U);
5276 }
5277
5278 extern __inline __m128i
5279 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi64(__mmask8 __U,__m128i __A,__m128i __B)5280 _mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5281 {
5282 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
5283 (__v2di) __B,
5284 (__v2di)
5285 _mm_setzero_si128 (),
5286 (__mmask8) __U);
5287 }
5288
5289 extern __inline __m256i
5290 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5291 _mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5292 __m256i __B)
5293 {
5294 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
5295 (__v4di) __B,
5296 (__v4di) __W,
5297 (__mmask8) __U);
5298 }
5299
5300 extern __inline __m256i
5301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi64(__mmask8 __U,__m256i __A,__m256i __B)5302 _mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5303 {
5304 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
5305 (__v4di) __B,
5306 (__v4di)
5307 _mm256_setzero_si256 (),
5308 (__mmask8) __U);
5309 }
5310
5311 extern __inline __m128i
5312 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5313 _mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5314 __m128i __B)
5315 {
5316 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
5317 (__v4si) __B,
5318 (__v4si) __W,
5319 (__mmask8) __U);
5320 }
5321
5322 extern __inline __m128i
5323 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi32(__mmask8 __U,__m128i __A,__m128i __B)5324 _mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5325 {
5326 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
5327 (__v4si) __B,
5328 (__v4si)
5329 _mm_setzero_si128 (),
5330 (__mmask8) __U);
5331 }
5332
5333 extern __inline __m256i
5334 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5335 _mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5336 __m256i __B)
5337 {
5338 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
5339 (__v8si) __B,
5340 (__v8si) __W,
5341 (__mmask8) __U);
5342 }
5343
5344 extern __inline __m256i
5345 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi32(__mmask8 __U,__m256i __A,__m256i __B)5346 _mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5347 {
5348 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
5349 (__v8si) __B,
5350 (__v8si)
5351 _mm256_setzero_si256 (),
5352 (__mmask8) __U);
5353 }
5354
5355 extern __inline __m128i
5356 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5357 _mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5358 __m128i __B)
5359 {
5360 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
5361 (__v2di) __B,
5362 (__v2di) __W,
5363 (__mmask8) __U);
5364 }
5365
5366 extern __inline __m128i
5367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi64(__mmask8 __U,__m128i __A,__m128i __B)5368 _mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5369 {
5370 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
5371 (__v2di) __B,
5372 (__v2di)
5373 _mm_setzero_si128 (),
5374 (__mmask8) __U);
5375 }
5376
5377 extern __inline __m256i
5378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5379 _mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5380 __m256i __B)
5381 {
5382 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
5383 (__v4di) __B,
5384 (__v4di) __W,
5385 (__mmask8) __U);
5386 }
5387
5388 extern __inline __m256i
5389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi64(__mmask8 __U,__m256i __A,__m256i __B)5390 _mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5391 {
5392 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
5393 (__v4di) __B,
5394 (__v4di)
5395 _mm256_setzero_si256 (),
5396 (__mmask8) __U);
5397 }
5398
5399 extern __inline __mmask8
5400 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu32_mask(__m128i __A,__m128i __B)5401 _mm_cmpeq_epu32_mask (__m128i __A, __m128i __B)
5402 {
5403 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5404 (__v4si) __B, 0,
5405 (__mmask8) -1);
5406 }
5407
5408 extern __inline __mmask8
5409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi32_mask(__m128i __A,__m128i __B)5410 _mm_cmpeq_epi32_mask (__m128i __A, __m128i __B)
5411 {
5412 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
5413 (__v4si) __B,
5414 (__mmask8) -1);
5415 }
5416
5417 extern __inline __mmask8
5418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu32_mask(__mmask8 __U,__m128i __A,__m128i __B)5419 _mm_mask_cmpeq_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5420 {
5421 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5422 (__v4si) __B, 0, __U);
5423 }
5424
5425 extern __inline __mmask8
5426 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5427 _mm_mask_cmpeq_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5428 {
5429 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
5430 (__v4si) __B, __U);
5431 }
5432
5433 extern __inline __mmask8
5434 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu32_mask(__m256i __A,__m256i __B)5435 _mm256_cmpeq_epu32_mask (__m256i __A, __m256i __B)
5436 {
5437 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5438 (__v8si) __B, 0,
5439 (__mmask8) -1);
5440 }
5441
5442 extern __inline __mmask8
5443 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi32_mask(__m256i __A,__m256i __B)5444 _mm256_cmpeq_epi32_mask (__m256i __A, __m256i __B)
5445 {
5446 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
5447 (__v8si) __B,
5448 (__mmask8) -1);
5449 }
5450
5451 extern __inline __mmask8
5452 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu32_mask(__mmask8 __U,__m256i __A,__m256i __B)5453 _mm256_mask_cmpeq_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5454 {
5455 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5456 (__v8si) __B, 0, __U);
5457 }
5458
5459 extern __inline __mmask8
5460 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5461 _mm256_mask_cmpeq_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5462 {
5463 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
5464 (__v8si) __B, __U);
5465 }
5466
5467 extern __inline __mmask8
5468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu64_mask(__m128i __A,__m128i __B)5469 _mm_cmpeq_epu64_mask (__m128i __A, __m128i __B)
5470 {
5471 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5472 (__v2di) __B, 0,
5473 (__mmask8) -1);
5474 }
5475
5476 extern __inline __mmask8
5477 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi64_mask(__m128i __A,__m128i __B)5478 _mm_cmpeq_epi64_mask (__m128i __A, __m128i __B)
5479 {
5480 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
5481 (__v2di) __B,
5482 (__mmask8) -1);
5483 }
5484
5485 extern __inline __mmask8
5486 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu64_mask(__mmask8 __U,__m128i __A,__m128i __B)5487 _mm_mask_cmpeq_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5488 {
5489 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5490 (__v2di) __B, 0, __U);
5491 }
5492
5493 extern __inline __mmask8
5494 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5495 _mm_mask_cmpeq_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5496 {
5497 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
5498 (__v2di) __B, __U);
5499 }
5500
5501 extern __inline __mmask8
5502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu64_mask(__m256i __A,__m256i __B)5503 _mm256_cmpeq_epu64_mask (__m256i __A, __m256i __B)
5504 {
5505 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5506 (__v4di) __B, 0,
5507 (__mmask8) -1);
5508 }
5509
5510 extern __inline __mmask8
5511 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi64_mask(__m256i __A,__m256i __B)5512 _mm256_cmpeq_epi64_mask (__m256i __A, __m256i __B)
5513 {
5514 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
5515 (__v4di) __B,
5516 (__mmask8) -1);
5517 }
5518
5519 extern __inline __mmask8
5520 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu64_mask(__mmask8 __U,__m256i __A,__m256i __B)5521 _mm256_mask_cmpeq_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5522 {
5523 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5524 (__v4di) __B, 0, __U);
5525 }
5526
5527 extern __inline __mmask8
5528 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5529 _mm256_mask_cmpeq_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5530 {
5531 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
5532 (__v4di) __B, __U);
5533 }
5534
5535 extern __inline __mmask8
5536 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu32_mask(__m128i __A,__m128i __B)5537 _mm_cmpgt_epu32_mask (__m128i __A, __m128i __B)
5538 {
5539 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5540 (__v4si) __B, 6,
5541 (__mmask8) -1);
5542 }
5543
5544 extern __inline __mmask8
5545 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi32_mask(__m128i __A,__m128i __B)5546 _mm_cmpgt_epi32_mask (__m128i __A, __m128i __B)
5547 {
5548 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
5549 (__v4si) __B,
5550 (__mmask8) -1);
5551 }
5552
5553 extern __inline __mmask8
5554 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu32_mask(__mmask8 __U,__m128i __A,__m128i __B)5555 _mm_mask_cmpgt_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5556 {
5557 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5558 (__v4si) __B, 6, __U);
5559 }
5560
5561 extern __inline __mmask8
5562 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5563 _mm_mask_cmpgt_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5564 {
5565 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
5566 (__v4si) __B, __U);
5567 }
5568
5569 extern __inline __mmask8
5570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu32_mask(__m256i __A,__m256i __B)5571 _mm256_cmpgt_epu32_mask (__m256i __A, __m256i __B)
5572 {
5573 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5574 (__v8si) __B, 6,
5575 (__mmask8) -1);
5576 }
5577
5578 extern __inline __mmask8
5579 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi32_mask(__m256i __A,__m256i __B)5580 _mm256_cmpgt_epi32_mask (__m256i __A, __m256i __B)
5581 {
5582 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
5583 (__v8si) __B,
5584 (__mmask8) -1);
5585 }
5586
5587 extern __inline __mmask8
5588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu32_mask(__mmask8 __U,__m256i __A,__m256i __B)5589 _mm256_mask_cmpgt_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5590 {
5591 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5592 (__v8si) __B, 6, __U);
5593 }
5594
5595 extern __inline __mmask8
5596 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5597 _mm256_mask_cmpgt_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5598 {
5599 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
5600 (__v8si) __B, __U);
5601 }
5602
5603 extern __inline __mmask8
5604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu64_mask(__m128i __A,__m128i __B)5605 _mm_cmpgt_epu64_mask (__m128i __A, __m128i __B)
5606 {
5607 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5608 (__v2di) __B, 6,
5609 (__mmask8) -1);
5610 }
5611
5612 extern __inline __mmask8
5613 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi64_mask(__m128i __A,__m128i __B)5614 _mm_cmpgt_epi64_mask (__m128i __A, __m128i __B)
5615 {
5616 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
5617 (__v2di) __B,
5618 (__mmask8) -1);
5619 }
5620
5621 extern __inline __mmask8
5622 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu64_mask(__mmask8 __U,__m128i __A,__m128i __B)5623 _mm_mask_cmpgt_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5624 {
5625 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5626 (__v2di) __B, 6, __U);
5627 }
5628
5629 extern __inline __mmask8
5630 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5631 _mm_mask_cmpgt_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5632 {
5633 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
5634 (__v2di) __B, __U);
5635 }
5636
5637 extern __inline __mmask8
5638 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu64_mask(__m256i __A,__m256i __B)5639 _mm256_cmpgt_epu64_mask (__m256i __A, __m256i __B)
5640 {
5641 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5642 (__v4di) __B, 6,
5643 (__mmask8) -1);
5644 }
5645
5646 extern __inline __mmask8
5647 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi64_mask(__m256i __A,__m256i __B)5648 _mm256_cmpgt_epi64_mask (__m256i __A, __m256i __B)
5649 {
5650 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
5651 (__v4di) __B,
5652 (__mmask8) -1);
5653 }
5654
5655 extern __inline __mmask8
5656 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu64_mask(__mmask8 __U,__m256i __A,__m256i __B)5657 _mm256_mask_cmpgt_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5658 {
5659 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5660 (__v4di) __B, 6, __U);
5661 }
5662
5663 extern __inline __mmask8
5664 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5665 _mm256_mask_cmpgt_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5666 {
5667 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
5668 (__v4di) __B, __U);
5669 }
5670
5671 extern __inline __mmask8
5672 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi32_mask(__m128i __A,__m128i __B)5673 _mm_test_epi32_mask (__m128i __A, __m128i __B)
5674 {
5675 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
5676 (__v4si) __B,
5677 (__mmask8) -1);
5678 }
5679
5680 extern __inline __mmask8
5681 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5682 _mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5683 {
5684 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
5685 (__v4si) __B, __U);
5686 }
5687
5688 extern __inline __mmask8
5689 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi32_mask(__m256i __A,__m256i __B)5690 _mm256_test_epi32_mask (__m256i __A, __m256i __B)
5691 {
5692 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
5693 (__v8si) __B,
5694 (__mmask8) -1);
5695 }
5696
5697 extern __inline __mmask8
5698 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5699 _mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5700 {
5701 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
5702 (__v8si) __B, __U);
5703 }
5704
5705 extern __inline __mmask8
5706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi64_mask(__m128i __A,__m128i __B)5707 _mm_test_epi64_mask (__m128i __A, __m128i __B)
5708 {
5709 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
5710 (__v2di) __B,
5711 (__mmask8) -1);
5712 }
5713
5714 extern __inline __mmask8
5715 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5716 _mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5717 {
5718 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
5719 (__v2di) __B, __U);
5720 }
5721
5722 extern __inline __mmask8
5723 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi64_mask(__m256i __A,__m256i __B)5724 _mm256_test_epi64_mask (__m256i __A, __m256i __B)
5725 {
5726 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
5727 (__v4di) __B,
5728 (__mmask8) -1);
5729 }
5730
5731 extern __inline __mmask8
5732 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5733 _mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5734 {
5735 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
5736 (__v4di) __B, __U);
5737 }
5738
5739 extern __inline __mmask8
5740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi32_mask(__m128i __A,__m128i __B)5741 _mm_testn_epi32_mask (__m128i __A, __m128i __B)
5742 {
5743 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
5744 (__v4si) __B,
5745 (__mmask8) -1);
5746 }
5747
5748 extern __inline __mmask8
5749 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5750 _mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5751 {
5752 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
5753 (__v4si) __B, __U);
5754 }
5755
5756 extern __inline __mmask8
5757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi32_mask(__m256i __A,__m256i __B)5758 _mm256_testn_epi32_mask (__m256i __A, __m256i __B)
5759 {
5760 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
5761 (__v8si) __B,
5762 (__mmask8) -1);
5763 }
5764
5765 extern __inline __mmask8
5766 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5767 _mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5768 {
5769 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
5770 (__v8si) __B, __U);
5771 }
5772
5773 extern __inline __mmask8
5774 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi64_mask(__m128i __A,__m128i __B)5775 _mm_testn_epi64_mask (__m128i __A, __m128i __B)
5776 {
5777 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
5778 (__v2di) __B,
5779 (__mmask8) -1);
5780 }
5781
5782 extern __inline __mmask8
5783 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5784 _mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5785 {
5786 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
5787 (__v2di) __B, __U);
5788 }
5789
5790 extern __inline __mmask8
5791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi64_mask(__m256i __A,__m256i __B)5792 _mm256_testn_epi64_mask (__m256i __A, __m256i __B)
5793 {
5794 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
5795 (__v4di) __B,
5796 (__mmask8) -1);
5797 }
5798
5799 extern __inline __mmask8
5800 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5801 _mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5802 {
5803 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
5804 (__v4di) __B, __U);
5805 }
5806
5807 extern __inline __m256d
5808 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_pd(__m256d __W,__mmask8 __U,__m256d __A)5809 _mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A)
5810 {
5811 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
5812 (__v4df) __W,
5813 (__mmask8) __U);
5814 }
5815
5816 extern __inline __m256d
5817 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_pd(__mmask8 __U,__m256d __A)5818 _mm256_maskz_compress_pd (__mmask8 __U, __m256d __A)
5819 {
5820 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
5821 (__v4df)
5822 _mm256_setzero_pd (),
5823 (__mmask8) __U);
5824 }
5825
5826 extern __inline void
5827 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m256d __A)5828 _mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A)
5829 {
5830 __builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
5831 (__v4df) __A,
5832 (__mmask8) __U);
5833 }
5834
5835 extern __inline __m128d
5836 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_pd(__m128d __W,__mmask8 __U,__m128d __A)5837 _mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A)
5838 {
5839 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
5840 (__v2df) __W,
5841 (__mmask8) __U);
5842 }
5843
5844 extern __inline __m128d
5845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_pd(__mmask8 __U,__m128d __A)5846 _mm_maskz_compress_pd (__mmask8 __U, __m128d __A)
5847 {
5848 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
5849 (__v2df)
5850 _mm_setzero_pd (),
5851 (__mmask8) __U);
5852 }
5853
5854 extern __inline void
5855 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m128d __A)5856 _mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A)
5857 {
5858 __builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
5859 (__v2df) __A,
5860 (__mmask8) __U);
5861 }
5862
5863 extern __inline __m256
5864 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_ps(__m256 __W,__mmask8 __U,__m256 __A)5865 _mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A)
5866 {
5867 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
5868 (__v8sf) __W,
5869 (__mmask8) __U);
5870 }
5871
5872 extern __inline __m256
5873 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_ps(__mmask8 __U,__m256 __A)5874 _mm256_maskz_compress_ps (__mmask8 __U, __m256 __A)
5875 {
5876 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
5877 (__v8sf)
5878 _mm256_setzero_ps (),
5879 (__mmask8) __U);
5880 }
5881
5882 extern __inline void
5883 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m256 __A)5884 _mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A)
5885 {
5886 __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
5887 (__v8sf) __A,
5888 (__mmask8) __U);
5889 }
5890
5891 extern __inline __m128
5892 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_ps(__m128 __W,__mmask8 __U,__m128 __A)5893 _mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A)
5894 {
5895 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
5896 (__v4sf) __W,
5897 (__mmask8) __U);
5898 }
5899
5900 extern __inline __m128
5901 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_ps(__mmask8 __U,__m128 __A)5902 _mm_maskz_compress_ps (__mmask8 __U, __m128 __A)
5903 {
5904 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
5905 (__v4sf)
5906 _mm_setzero_ps (),
5907 (__mmask8) __U);
5908 }
5909
5910 extern __inline void
5911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m128 __A)5912 _mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A)
5913 {
5914 __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
5915 (__v4sf) __A,
5916 (__mmask8) __U);
5917 }
5918
5919 extern __inline __m256i
5920 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi64(__m256i __W,__mmask8 __U,__m256i __A)5921 _mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
5922 {
5923 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
5924 (__v4di) __W,
5925 (__mmask8) __U);
5926 }
5927
5928 extern __inline __m256i
5929 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi64(__mmask8 __U,__m256i __A)5930 _mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A)
5931 {
5932 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
5933 (__v4di)
5934 _mm256_setzero_si256 (),
5935 (__mmask8) __U);
5936 }
5937
5938 extern __inline void
5939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m256i __A)5940 _mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A)
5941 {
5942 __builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
5943 (__v4di) __A,
5944 (__mmask8) __U);
5945 }
5946
5947 extern __inline __m128i
5948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi64(__m128i __W,__mmask8 __U,__m128i __A)5949 _mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
5950 {
5951 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
5952 (__v2di) __W,
5953 (__mmask8) __U);
5954 }
5955
5956 extern __inline __m128i
5957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi64(__mmask8 __U,__m128i __A)5958 _mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A)
5959 {
5960 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
5961 (__v2di)
5962 _mm_setzero_si128 (),
5963 (__mmask8) __U);
5964 }
5965
5966 extern __inline void
5967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m128i __A)5968 _mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A)
5969 {
5970 __builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
5971 (__v2di) __A,
5972 (__mmask8) __U);
5973 }
5974
5975 extern __inline __m256i
5976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi32(__m256i __W,__mmask8 __U,__m256i __A)5977 _mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
5978 {
5979 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
5980 (__v8si) __W,
5981 (__mmask8) __U);
5982 }
5983
5984 extern __inline __m256i
5985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi32(__mmask8 __U,__m256i __A)5986 _mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A)
5987 {
5988 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
5989 (__v8si)
5990 _mm256_setzero_si256 (),
5991 (__mmask8) __U);
5992 }
5993
5994 extern __inline void
5995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m256i __A)5996 _mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A)
5997 {
5998 __builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
5999 (__v8si) __A,
6000 (__mmask8) __U);
6001 }
6002
6003 extern __inline __m128i
6004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi32(__m128i __W,__mmask8 __U,__m128i __A)6005 _mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
6006 {
6007 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
6008 (__v4si) __W,
6009 (__mmask8) __U);
6010 }
6011
6012 extern __inline __m128i
6013 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi32(__mmask8 __U,__m128i __A)6014 _mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A)
6015 {
6016 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
6017 (__v4si)
6018 _mm_setzero_si128 (),
6019 (__mmask8) __U);
6020 }
6021
6022 extern __inline void
6023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m128i __A)6024 _mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A)
6025 {
6026 __builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
6027 (__v4si) __A,
6028 (__mmask8) __U);
6029 }
6030
6031 extern __inline __m256d
6032 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_pd(__m256d __W,__mmask8 __U,__m256d __A)6033 _mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A)
6034 {
6035 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
6036 (__v4df) __W,
6037 (__mmask8) __U);
6038 }
6039
6040 extern __inline __m256d
6041 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_pd(__mmask8 __U,__m256d __A)6042 _mm256_maskz_expand_pd (__mmask8 __U, __m256d __A)
6043 {
6044 return (__m256d) __builtin_ia32_expanddf256_maskz ((__v4df) __A,
6045 (__v4df)
6046 _mm256_setzero_pd (),
6047 (__mmask8) __U);
6048 }
6049
6050 extern __inline __m256d
6051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_pd(__m256d __W,__mmask8 __U,void const * __P)6052 _mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P)
6053 {
6054 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
6055 (__v4df) __W,
6056 (__mmask8)
6057 __U);
6058 }
6059
6060 extern __inline __m256d
6061 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_pd(__mmask8 __U,void const * __P)6062 _mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
6063 {
6064 return (__m256d) __builtin_ia32_expandloaddf256_maskz ((__v4df *) __P,
6065 (__v4df)
6066 _mm256_setzero_pd (),
6067 (__mmask8)
6068 __U);
6069 }
6070
6071 extern __inline __m128d
6072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_pd(__m128d __W,__mmask8 __U,__m128d __A)6073 _mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A)
6074 {
6075 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
6076 (__v2df) __W,
6077 (__mmask8) __U);
6078 }
6079
6080 extern __inline __m128d
6081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_pd(__mmask8 __U,__m128d __A)6082 _mm_maskz_expand_pd (__mmask8 __U, __m128d __A)
6083 {
6084 return (__m128d) __builtin_ia32_expanddf128_maskz ((__v2df) __A,
6085 (__v2df)
6086 _mm_setzero_pd (),
6087 (__mmask8) __U);
6088 }
6089
6090 extern __inline __m128d
6091 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_pd(__m128d __W,__mmask8 __U,void const * __P)6092 _mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P)
6093 {
6094 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
6095 (__v2df) __W,
6096 (__mmask8)
6097 __U);
6098 }
6099
6100 extern __inline __m128d
6101 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_pd(__mmask8 __U,void const * __P)6102 _mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
6103 {
6104 return (__m128d) __builtin_ia32_expandloaddf128_maskz ((__v2df *) __P,
6105 (__v2df)
6106 _mm_setzero_pd (),
6107 (__mmask8)
6108 __U);
6109 }
6110
6111 extern __inline __m256
6112 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_ps(__m256 __W,__mmask8 __U,__m256 __A)6113 _mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A)
6114 {
6115 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
6116 (__v8sf) __W,
6117 (__mmask8) __U);
6118 }
6119
6120 extern __inline __m256
6121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_ps(__mmask8 __U,__m256 __A)6122 _mm256_maskz_expand_ps (__mmask8 __U, __m256 __A)
6123 {
6124 return (__m256) __builtin_ia32_expandsf256_maskz ((__v8sf) __A,
6125 (__v8sf)
6126 _mm256_setzero_ps (),
6127 (__mmask8) __U);
6128 }
6129
6130 extern __inline __m256
6131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_ps(__m256 __W,__mmask8 __U,void const * __P)6132 _mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P)
6133 {
6134 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
6135 (__v8sf) __W,
6136 (__mmask8) __U);
6137 }
6138
6139 extern __inline __m256
6140 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_ps(__mmask8 __U,void const * __P)6141 _mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
6142 {
6143 return (__m256) __builtin_ia32_expandloadsf256_maskz ((__v8sf *) __P,
6144 (__v8sf)
6145 _mm256_setzero_ps (),
6146 (__mmask8)
6147 __U);
6148 }
6149
6150 extern __inline __m128
6151 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_ps(__m128 __W,__mmask8 __U,__m128 __A)6152 _mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A)
6153 {
6154 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
6155 (__v4sf) __W,
6156 (__mmask8) __U);
6157 }
6158
6159 extern __inline __m128
6160 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_ps(__mmask8 __U,__m128 __A)6161 _mm_maskz_expand_ps (__mmask8 __U, __m128 __A)
6162 {
6163 return (__m128) __builtin_ia32_expandsf128_maskz ((__v4sf) __A,
6164 (__v4sf)
6165 _mm_setzero_ps (),
6166 (__mmask8) __U);
6167 }
6168
6169 extern __inline __m128
6170 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_ps(__m128 __W,__mmask8 __U,void const * __P)6171 _mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P)
6172 {
6173 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
6174 (__v4sf) __W,
6175 (__mmask8) __U);
6176 }
6177
6178 extern __inline __m128
6179 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_ps(__mmask8 __U,void const * __P)6180 _mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
6181 {
6182 return (__m128) __builtin_ia32_expandloadsf128_maskz ((__v4sf *) __P,
6183 (__v4sf)
6184 _mm_setzero_ps (),
6185 (__mmask8)
6186 __U);
6187 }
6188
6189 extern __inline __m256i
6190 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi64(__m256i __W,__mmask8 __U,__m256i __A)6191 _mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
6192 {
6193 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
6194 (__v4di) __W,
6195 (__mmask8) __U);
6196 }
6197
6198 extern __inline __m256i
6199 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi64(__mmask8 __U,__m256i __A)6200 _mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A)
6201 {
6202 return (__m256i) __builtin_ia32_expanddi256_maskz ((__v4di) __A,
6203 (__v4di)
6204 _mm256_setzero_si256 (),
6205 (__mmask8) __U);
6206 }
6207
6208 extern __inline __m256i
6209 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi64(__m256i __W,__mmask8 __U,void const * __P)6210 _mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
6211 void const *__P)
6212 {
6213 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
6214 (__v4di) __W,
6215 (__mmask8)
6216 __U);
6217 }
6218
6219 extern __inline __m256i
6220 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)6221 _mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
6222 {
6223 return (__m256i) __builtin_ia32_expandloaddi256_maskz ((__v4di *) __P,
6224 (__v4di)
6225 _mm256_setzero_si256 (),
6226 (__mmask8)
6227 __U);
6228 }
6229
6230 extern __inline __m128i
6231 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi64(__m128i __W,__mmask8 __U,__m128i __A)6232 _mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
6233 {
6234 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
6235 (__v2di) __W,
6236 (__mmask8) __U);
6237 }
6238
6239 extern __inline __m128i
6240 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi64(__mmask8 __U,__m128i __A)6241 _mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A)
6242 {
6243 return (__m128i) __builtin_ia32_expanddi128_maskz ((__v2di) __A,
6244 (__v2di)
6245 _mm_setzero_si128 (),
6246 (__mmask8) __U);
6247 }
6248
6249 extern __inline __m128i
6250 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi64(__m128i __W,__mmask8 __U,void const * __P)6251 _mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
6252 {
6253 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
6254 (__v2di) __W,
6255 (__mmask8)
6256 __U);
6257 }
6258
6259 extern __inline __m128i
6260 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)6261 _mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
6262 {
6263 return (__m128i) __builtin_ia32_expandloaddi128_maskz ((__v2di *) __P,
6264 (__v2di)
6265 _mm_setzero_si128 (),
6266 (__mmask8)
6267 __U);
6268 }
6269
6270 extern __inline __m256i
6271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi32(__m256i __W,__mmask8 __U,__m256i __A)6272 _mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
6273 {
6274 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
6275 (__v8si) __W,
6276 (__mmask8) __U);
6277 }
6278
6279 extern __inline __m256i
6280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi32(__mmask8 __U,__m256i __A)6281 _mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A)
6282 {
6283 return (__m256i) __builtin_ia32_expandsi256_maskz ((__v8si) __A,
6284 (__v8si)
6285 _mm256_setzero_si256 (),
6286 (__mmask8) __U);
6287 }
6288
6289 extern __inline __m256i
6290 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi32(__m256i __W,__mmask8 __U,void const * __P)6291 _mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
6292 void const *__P)
6293 {
6294 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
6295 (__v8si) __W,
6296 (__mmask8)
6297 __U);
6298 }
6299
6300 extern __inline __m256i
6301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)6302 _mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
6303 {
6304 return (__m256i) __builtin_ia32_expandloadsi256_maskz ((__v8si *) __P,
6305 (__v8si)
6306 _mm256_setzero_si256 (),
6307 (__mmask8)
6308 __U);
6309 }
6310
6311 extern __inline __m128i
6312 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi32(__m128i __W,__mmask8 __U,__m128i __A)6313 _mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
6314 {
6315 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
6316 (__v4si) __W,
6317 (__mmask8) __U);
6318 }
6319
6320 extern __inline __m128i
6321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi32(__mmask8 __U,__m128i __A)6322 _mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A)
6323 {
6324 return (__m128i) __builtin_ia32_expandsi128_maskz ((__v4si) __A,
6325 (__v4si)
6326 _mm_setzero_si128 (),
6327 (__mmask8) __U);
6328 }
6329
6330 extern __inline __m128i
6331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi32(__m128i __W,__mmask8 __U,void const * __P)6332 _mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
6333 {
6334 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
6335 (__v4si) __W,
6336 (__mmask8)
6337 __U);
6338 }
6339
6340 extern __inline __m128i
6341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)6342 _mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
6343 {
6344 return (__m128i) __builtin_ia32_expandloadsi128_maskz ((__v4si *) __P,
6345 (__v4si)
6346 _mm_setzero_si128 (),
6347 (__mmask8)
6348 __U);
6349 }
6350
6351 extern __inline __m256d
6352 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_pd(__m256d __A,__m256i __I,__m256d __B)6353 _mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B)
6354 {
6355 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
6356 /* idx */ ,
6357 (__v4df) __A,
6358 (__v4df) __B,
6359 (__mmask8) -1);
6360 }
6361
6362 extern __inline __m256d
6363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_pd(__m256d __A,__mmask8 __U,__m256i __I,__m256d __B)6364 _mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
6365 __m256d __B)
6366 {
6367 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
6368 /* idx */ ,
6369 (__v4df) __A,
6370 (__v4df) __B,
6371 (__mmask8)
6372 __U);
6373 }
6374
6375 extern __inline __m256d
6376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_pd(__m256d __A,__m256i __I,__mmask8 __U,__m256d __B)6377 _mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
6378 __m256d __B)
6379 {
6380 return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
6381 (__v4di) __I
6382 /* idx */ ,
6383 (__v4df) __B,
6384 (__mmask8)
6385 __U);
6386 }
6387
6388 extern __inline __m256d
6389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_pd(__mmask8 __U,__m256d __A,__m256i __I,__m256d __B)6390 _mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
6391 __m256d __B)
6392 {
6393 return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
6394 /* idx */ ,
6395 (__v4df) __A,
6396 (__v4df) __B,
6397 (__mmask8)
6398 __U);
6399 }
6400
6401 extern __inline __m256
6402 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_ps(__m256 __A,__m256i __I,__m256 __B)6403 _mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B)
6404 {
6405 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
6406 /* idx */ ,
6407 (__v8sf) __A,
6408 (__v8sf) __B,
6409 (__mmask8) -1);
6410 }
6411
6412 extern __inline __m256
6413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_ps(__m256 __A,__mmask8 __U,__m256i __I,__m256 __B)6414 _mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
6415 __m256 __B)
6416 {
6417 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
6418 /* idx */ ,
6419 (__v8sf) __A,
6420 (__v8sf) __B,
6421 (__mmask8) __U);
6422 }
6423
6424 extern __inline __m256
6425 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_ps(__m256 __A,__m256i __I,__mmask8 __U,__m256 __B)6426 _mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
6427 __m256 __B)
6428 {
6429 return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
6430 (__v8si) __I
6431 /* idx */ ,
6432 (__v8sf) __B,
6433 (__mmask8) __U);
6434 }
6435
6436 extern __inline __m256
6437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_ps(__mmask8 __U,__m256 __A,__m256i __I,__m256 __B)6438 _mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
6439 __m256 __B)
6440 {
6441 return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
6442 /* idx */ ,
6443 (__v8sf) __A,
6444 (__v8sf) __B,
6445 (__mmask8)
6446 __U);
6447 }
6448
6449 extern __inline __m128i
6450 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi64(__m128i __A,__m128i __I,__m128i __B)6451 _mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B)
6452 {
6453 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
6454 /* idx */ ,
6455 (__v2di) __A,
6456 (__v2di) __B,
6457 (__mmask8) -1);
6458 }
6459
6460 extern __inline __m128i
6461 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi64(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)6462 _mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
6463 __m128i __B)
6464 {
6465 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
6466 /* idx */ ,
6467 (__v2di) __A,
6468 (__v2di) __B,
6469 (__mmask8) __U);
6470 }
6471
6472 extern __inline __m128i
6473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi64(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)6474 _mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
6475 __m128i __B)
6476 {
6477 return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
6478 (__v2di) __I
6479 /* idx */ ,
6480 (__v2di) __B,
6481 (__mmask8) __U);
6482 }
6483
6484 extern __inline __m128i
6485 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi64(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)6486 _mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
6487 __m128i __B)
6488 {
6489 return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
6490 /* idx */ ,
6491 (__v2di) __A,
6492 (__v2di) __B,
6493 (__mmask8)
6494 __U);
6495 }
6496
6497 extern __inline __m128i
6498 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi32(__m128i __A,__m128i __I,__m128i __B)6499 _mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B)
6500 {
6501 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
6502 /* idx */ ,
6503 (__v4si) __A,
6504 (__v4si) __B,
6505 (__mmask8) -1);
6506 }
6507
6508 extern __inline __m128i
6509 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi32(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)6510 _mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
6511 __m128i __B)
6512 {
6513 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
6514 /* idx */ ,
6515 (__v4si) __A,
6516 (__v4si) __B,
6517 (__mmask8) __U);
6518 }
6519
6520 extern __inline __m128i
6521 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi32(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)6522 _mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
6523 __m128i __B)
6524 {
6525 return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
6526 (__v4si) __I
6527 /* idx */ ,
6528 (__v4si) __B,
6529 (__mmask8) __U);
6530 }
6531
6532 extern __inline __m128i
6533 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi32(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)6534 _mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
6535 __m128i __B)
6536 {
6537 return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
6538 /* idx */ ,
6539 (__v4si) __A,
6540 (__v4si) __B,
6541 (__mmask8)
6542 __U);
6543 }
6544
6545 extern __inline __m256i
6546 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi64(__m256i __A,__m256i __I,__m256i __B)6547 _mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B)
6548 {
6549 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
6550 /* idx */ ,
6551 (__v4di) __A,
6552 (__v4di) __B,
6553 (__mmask8) -1);
6554 }
6555
6556 extern __inline __m256i
6557 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi64(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)6558 _mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
6559 __m256i __B)
6560 {
6561 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
6562 /* idx */ ,
6563 (__v4di) __A,
6564 (__v4di) __B,
6565 (__mmask8) __U);
6566 }
6567
6568 extern __inline __m256i
6569 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi64(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)6570 _mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
6571 __mmask8 __U, __m256i __B)
6572 {
6573 return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
6574 (__v4di) __I
6575 /* idx */ ,
6576 (__v4di) __B,
6577 (__mmask8) __U);
6578 }
6579
6580 extern __inline __m256i
6581 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi64(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)6582 _mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
6583 __m256i __I, __m256i __B)
6584 {
6585 return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
6586 /* idx */ ,
6587 (__v4di) __A,
6588 (__v4di) __B,
6589 (__mmask8)
6590 __U);
6591 }
6592
6593 extern __inline __m256i
6594 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi32(__m256i __A,__m256i __I,__m256i __B)6595 _mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B)
6596 {
6597 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
6598 /* idx */ ,
6599 (__v8si) __A,
6600 (__v8si) __B,
6601 (__mmask8) -1);
6602 }
6603
6604 extern __inline __m256i
6605 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi32(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)6606 _mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
6607 __m256i __B)
6608 {
6609 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
6610 /* idx */ ,
6611 (__v8si) __A,
6612 (__v8si) __B,
6613 (__mmask8) __U);
6614 }
6615
6616 extern __inline __m256i
6617 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi32(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)6618 _mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
6619 __mmask8 __U, __m256i __B)
6620 {
6621 return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
6622 (__v8si) __I
6623 /* idx */ ,
6624 (__v8si) __B,
6625 (__mmask8) __U);
6626 }
6627
6628 extern __inline __m256i
6629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi32(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)6630 _mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
6631 __m256i __I, __m256i __B)
6632 {
6633 return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
6634 /* idx */ ,
6635 (__v8si) __A,
6636 (__v8si) __B,
6637 (__mmask8)
6638 __U);
6639 }
6640
6641 extern __inline __m128d
6642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_pd(__m128d __A,__m128i __I,__m128d __B)6643 _mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B)
6644 {
6645 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
6646 /* idx */ ,
6647 (__v2df) __A,
6648 (__v2df) __B,
6649 (__mmask8) -1);
6650 }
6651
6652 extern __inline __m128d
6653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_pd(__m128d __A,__mmask8 __U,__m128i __I,__m128d __B)6654 _mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
6655 __m128d __B)
6656 {
6657 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
6658 /* idx */ ,
6659 (__v2df) __A,
6660 (__v2df) __B,
6661 (__mmask8)
6662 __U);
6663 }
6664
6665 extern __inline __m128d
6666 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_pd(__m128d __A,__m128i __I,__mmask8 __U,__m128d __B)6667 _mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
6668 __m128d __B)
6669 {
6670 return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
6671 (__v2di) __I
6672 /* idx */ ,
6673 (__v2df) __B,
6674 (__mmask8)
6675 __U);
6676 }
6677
6678 extern __inline __m128d
6679 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_pd(__mmask8 __U,__m128d __A,__m128i __I,__m128d __B)6680 _mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
6681 __m128d __B)
6682 {
6683 return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
6684 /* idx */ ,
6685 (__v2df) __A,
6686 (__v2df) __B,
6687 (__mmask8)
6688 __U);
6689 }
6690
6691 extern __inline __m128
6692 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_ps(__m128 __A,__m128i __I,__m128 __B)6693 _mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B)
6694 {
6695 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
6696 /* idx */ ,
6697 (__v4sf) __A,
6698 (__v4sf) __B,
6699 (__mmask8) -1);
6700 }
6701
6702 extern __inline __m128
6703 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_ps(__m128 __A,__mmask8 __U,__m128i __I,__m128 __B)6704 _mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
6705 __m128 __B)
6706 {
6707 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
6708 /* idx */ ,
6709 (__v4sf) __A,
6710 (__v4sf) __B,
6711 (__mmask8) __U);
6712 }
6713
6714 extern __inline __m128
6715 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_ps(__m128 __A,__m128i __I,__mmask8 __U,__m128 __B)6716 _mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
6717 __m128 __B)
6718 {
6719 return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
6720 (__v4si) __I
6721 /* idx */ ,
6722 (__v4sf) __B,
6723 (__mmask8) __U);
6724 }
6725
6726 extern __inline __m128
6727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_ps(__mmask8 __U,__m128 __A,__m128i __I,__m128 __B)6728 _mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
6729 __m128 __B)
6730 {
6731 return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
6732 /* idx */ ,
6733 (__v4sf) __A,
6734 (__v4sf) __B,
6735 (__mmask8)
6736 __U);
6737 }
6738
6739 extern __inline __m128i
6740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srav_epi64(__m128i __X,__m128i __Y)6741 _mm_srav_epi64 (__m128i __X, __m128i __Y)
6742 {
6743 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6744 (__v2di) __Y,
6745 (__v2di)
6746 _mm_setzero_si128 (),
6747 (__mmask8) -1);
6748 }
6749
6750 extern __inline __m128i
6751 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6752 _mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6753 __m128i __Y)
6754 {
6755 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6756 (__v2di) __Y,
6757 (__v2di) __W,
6758 (__mmask8) __U);
6759 }
6760
6761 extern __inline __m128i
6762 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6763 _mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6764 {
6765 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6766 (__v2di) __Y,
6767 (__v2di)
6768 _mm_setzero_si128 (),
6769 (__mmask8) __U);
6770 }
6771
6772 extern __inline __m256i
6773 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6774 _mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6775 __m256i __Y)
6776 {
6777 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
6778 (__v8si) __Y,
6779 (__v8si) __W,
6780 (__mmask8) __U);
6781 }
6782
6783 extern __inline __m256i
6784 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6785 _mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6786 {
6787 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
6788 (__v8si) __Y,
6789 (__v8si)
6790 _mm256_setzero_si256 (),
6791 (__mmask8) __U);
6792 }
6793
6794 extern __inline __m128i
6795 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6796 _mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6797 __m128i __Y)
6798 {
6799 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
6800 (__v4si) __Y,
6801 (__v4si) __W,
6802 (__mmask8) __U);
6803 }
6804
6805 extern __inline __m128i
6806 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6807 _mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6808 {
6809 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
6810 (__v4si) __Y,
6811 (__v4si)
6812 _mm_setzero_si128 (),
6813 (__mmask8) __U);
6814 }
6815
6816 extern __inline __m256i
6817 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6818 _mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
6819 __m256i __Y)
6820 {
6821 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
6822 (__v4di) __Y,
6823 (__v4di) __W,
6824 (__mmask8) __U);
6825 }
6826
6827 extern __inline __m256i
6828 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)6829 _mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
6830 {
6831 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
6832 (__v4di) __Y,
6833 (__v4di)
6834 _mm256_setzero_si256 (),
6835 (__mmask8) __U);
6836 }
6837
6838 extern __inline __m128i
6839 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6840 _mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6841 __m128i __Y)
6842 {
6843 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
6844 (__v2di) __Y,
6845 (__v2di) __W,
6846 (__mmask8) __U);
6847 }
6848
6849 extern __inline __m128i
6850 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6851 _mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6852 {
6853 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
6854 (__v2di) __Y,
6855 (__v2di)
6856 _mm_setzero_si128 (),
6857 (__mmask8) __U);
6858 }
6859
6860 extern __inline __m256i
6861 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6862 _mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6863 __m256i __Y)
6864 {
6865 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
6866 (__v8si) __Y,
6867 (__v8si) __W,
6868 (__mmask8) __U);
6869 }
6870
6871 extern __inline __m256i
6872 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6873 _mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6874 {
6875 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
6876 (__v8si) __Y,
6877 (__v8si)
6878 _mm256_setzero_si256 (),
6879 (__mmask8) __U);
6880 }
6881
6882 extern __inline __m128i
6883 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6884 _mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6885 __m128i __Y)
6886 {
6887 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
6888 (__v4si) __Y,
6889 (__v4si) __W,
6890 (__mmask8) __U);
6891 }
6892
6893 extern __inline __m128i
6894 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6895 _mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6896 {
6897 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
6898 (__v4si) __Y,
6899 (__v4si)
6900 _mm_setzero_si128 (),
6901 (__mmask8) __U);
6902 }
6903
6904 extern __inline __m256i
6905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6906 _mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6907 __m256i __Y)
6908 {
6909 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
6910 (__v8si) __Y,
6911 (__v8si) __W,
6912 (__mmask8) __U);
6913 }
6914
6915 extern __inline __m256i
6916 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6917 _mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6918 {
6919 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
6920 (__v8si) __Y,
6921 (__v8si)
6922 _mm256_setzero_si256 (),
6923 (__mmask8) __U);
6924 }
6925
6926 extern __inline __m128i
6927 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6928 _mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6929 __m128i __Y)
6930 {
6931 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
6932 (__v4si) __Y,
6933 (__v4si) __W,
6934 (__mmask8) __U);
6935 }
6936
6937 extern __inline __m128i
6938 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6939 _mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6940 {
6941 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
6942 (__v4si) __Y,
6943 (__v4si)
6944 _mm_setzero_si128 (),
6945 (__mmask8) __U);
6946 }
6947
6948 extern __inline __m256i
6949 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6950 _mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
6951 __m256i __Y)
6952 {
6953 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
6954 (__v4di) __Y,
6955 (__v4di) __W,
6956 (__mmask8) __U);
6957 }
6958
6959 extern __inline __m256i
6960 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)6961 _mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
6962 {
6963 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
6964 (__v4di) __Y,
6965 (__v4di)
6966 _mm256_setzero_si256 (),
6967 (__mmask8) __U);
6968 }
6969
6970 extern __inline __m128i
6971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6972 _mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6973 __m128i __Y)
6974 {
6975 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
6976 (__v2di) __Y,
6977 (__v2di) __W,
6978 (__mmask8) __U);
6979 }
6980
6981 extern __inline __m128i
6982 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6983 _mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6984 {
6985 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
6986 (__v2di) __Y,
6987 (__v2di)
6988 _mm_setzero_si128 (),
6989 (__mmask8) __U);
6990 }
6991
6992 extern __inline __m256i
6993 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi32(__m256i __A,__m256i __B)6994 _mm256_rolv_epi32 (__m256i __A, __m256i __B)
6995 {
6996 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
6997 (__v8si) __B,
6998 (__v8si)
6999 _mm256_setzero_si256 (),
7000 (__mmask8) -1);
7001 }
7002
7003 extern __inline __m256i
7004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7005 _mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7006 __m256i __B)
7007 {
7008 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
7009 (__v8si) __B,
7010 (__v8si) __W,
7011 (__mmask8) __U);
7012 }
7013
7014 extern __inline __m256i
7015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi32(__mmask8 __U,__m256i __A,__m256i __B)7016 _mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
7017 {
7018 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
7019 (__v8si) __B,
7020 (__v8si)
7021 _mm256_setzero_si256 (),
7022 (__mmask8) __U);
7023 }
7024
7025 extern __inline __m128i
7026 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi32(__m128i __A,__m128i __B)7027 _mm_rolv_epi32 (__m128i __A, __m128i __B)
7028 {
7029 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
7030 (__v4si) __B,
7031 (__v4si)
7032 _mm_setzero_si128 (),
7033 (__mmask8) -1);
7034 }
7035
7036 extern __inline __m128i
7037 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7038 _mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
7039 __m128i __B)
7040 {
7041 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
7042 (__v4si) __B,
7043 (__v4si) __W,
7044 (__mmask8) __U);
7045 }
7046
7047 extern __inline __m128i
7048 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi32(__mmask8 __U,__m128i __A,__m128i __B)7049 _mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
7050 {
7051 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
7052 (__v4si) __B,
7053 (__v4si)
7054 _mm_setzero_si128 (),
7055 (__mmask8) __U);
7056 }
7057
7058 extern __inline __m256i
7059 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi32(__m256i __A,__m256i __B)7060 _mm256_rorv_epi32 (__m256i __A, __m256i __B)
7061 {
7062 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7063 (__v8si) __B,
7064 (__v8si)
7065 _mm256_setzero_si256 (),
7066 (__mmask8) -1);
7067 }
7068
7069 extern __inline __m256i
7070 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7071 _mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7072 __m256i __B)
7073 {
7074 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7075 (__v8si) __B,
7076 (__v8si) __W,
7077 (__mmask8) __U);
7078 }
7079
7080 extern __inline __m256i
7081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi32(__mmask8 __U,__m256i __A,__m256i __B)7082 _mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
7083 {
7084 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7085 (__v8si) __B,
7086 (__v8si)
7087 _mm256_setzero_si256 (),
7088 (__mmask8) __U);
7089 }
7090
7091 extern __inline __m128i
7092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi32(__m128i __A,__m128i __B)7093 _mm_rorv_epi32 (__m128i __A, __m128i __B)
7094 {
7095 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7096 (__v4si) __B,
7097 (__v4si)
7098 _mm_setzero_si128 (),
7099 (__mmask8) -1);
7100 }
7101
7102 extern __inline __m128i
7103 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7104 _mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
7105 __m128i __B)
7106 {
7107 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7108 (__v4si) __B,
7109 (__v4si) __W,
7110 (__mmask8) __U);
7111 }
7112
7113 extern __inline __m128i
7114 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi32(__mmask8 __U,__m128i __A,__m128i __B)7115 _mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
7116 {
7117 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7118 (__v4si) __B,
7119 (__v4si)
7120 _mm_setzero_si128 (),
7121 (__mmask8) __U);
7122 }
7123
7124 extern __inline __m256i
7125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi64(__m256i __A,__m256i __B)7126 _mm256_rolv_epi64 (__m256i __A, __m256i __B)
7127 {
7128 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7129 (__v4di) __B,
7130 (__v4di)
7131 _mm256_setzero_si256 (),
7132 (__mmask8) -1);
7133 }
7134
7135 extern __inline __m256i
7136 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7137 _mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7138 __m256i __B)
7139 {
7140 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7141 (__v4di) __B,
7142 (__v4di) __W,
7143 (__mmask8) __U);
7144 }
7145
7146 extern __inline __m256i
7147 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi64(__mmask8 __U,__m256i __A,__m256i __B)7148 _mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7149 {
7150 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7151 (__v4di) __B,
7152 (__v4di)
7153 _mm256_setzero_si256 (),
7154 (__mmask8) __U);
7155 }
7156
7157 extern __inline __m128i
7158 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi64(__m128i __A,__m128i __B)7159 _mm_rolv_epi64 (__m128i __A, __m128i __B)
7160 {
7161 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7162 (__v2di) __B,
7163 (__v2di)
7164 _mm_setzero_si128 (),
7165 (__mmask8) -1);
7166 }
7167
7168 extern __inline __m128i
7169 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7170 _mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7171 __m128i __B)
7172 {
7173 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7174 (__v2di) __B,
7175 (__v2di) __W,
7176 (__mmask8) __U);
7177 }
7178
7179 extern __inline __m128i
7180 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi64(__mmask8 __U,__m128i __A,__m128i __B)7181 _mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7182 {
7183 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7184 (__v2di) __B,
7185 (__v2di)
7186 _mm_setzero_si128 (),
7187 (__mmask8) __U);
7188 }
7189
7190 extern __inline __m256i
7191 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi64(__m256i __A,__m256i __B)7192 _mm256_rorv_epi64 (__m256i __A, __m256i __B)
7193 {
7194 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7195 (__v4di) __B,
7196 (__v4di)
7197 _mm256_setzero_si256 (),
7198 (__mmask8) -1);
7199 }
7200
7201 extern __inline __m256i
7202 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7203 _mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7204 __m256i __B)
7205 {
7206 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7207 (__v4di) __B,
7208 (__v4di) __W,
7209 (__mmask8) __U);
7210 }
7211
7212 extern __inline __m256i
7213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi64(__mmask8 __U,__m256i __A,__m256i __B)7214 _mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7215 {
7216 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7217 (__v4di) __B,
7218 (__v4di)
7219 _mm256_setzero_si256 (),
7220 (__mmask8) __U);
7221 }
7222
7223 extern __inline __m128i
7224 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi64(__m128i __A,__m128i __B)7225 _mm_rorv_epi64 (__m128i __A, __m128i __B)
7226 {
7227 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7228 (__v2di) __B,
7229 (__v2di)
7230 _mm_setzero_si128 (),
7231 (__mmask8) -1);
7232 }
7233
7234 extern __inline __m128i
7235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7236 _mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7237 __m128i __B)
7238 {
7239 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7240 (__v2di) __B,
7241 (__v2di) __W,
7242 (__mmask8) __U);
7243 }
7244
7245 extern __inline __m128i
7246 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi64(__mmask8 __U,__m128i __A,__m128i __B)7247 _mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7248 {
7249 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7250 (__v2di) __B,
7251 (__v2di)
7252 _mm_setzero_si128 (),
7253 (__mmask8) __U);
7254 }
7255
7256 extern __inline __m256i
7257 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srav_epi64(__m256i __X,__m256i __Y)7258 _mm256_srav_epi64 (__m256i __X, __m256i __Y)
7259 {
7260 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7261 (__v4di) __Y,
7262 (__v4di)
7263 _mm256_setzero_si256 (),
7264 (__mmask8) -1);
7265 }
7266
7267 extern __inline __m256i
7268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)7269 _mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
7270 __m256i __Y)
7271 {
7272 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7273 (__v4di) __Y,
7274 (__v4di) __W,
7275 (__mmask8) __U);
7276 }
7277
7278 extern __inline __m256i
7279 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi64(__mmask8 __U,__m256i __X,__m256i __Y)7280 _mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
7281 {
7282 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7283 (__v4di) __Y,
7284 (__v4di)
7285 _mm256_setzero_si256 (),
7286 (__mmask8) __U);
7287 }
7288
7289 extern __inline __m256i
7290 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7291 _mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7292 __m256i __B)
7293 {
7294 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
7295 (__v4di) __B,
7296 (__v4di) __W, __U);
7297 }
7298
7299 extern __inline __m256i
7300 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi64(__mmask8 __U,__m256i __A,__m256i __B)7301 _mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7302 {
7303 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
7304 (__v4di) __B,
7305 (__v4di)
7306 _mm256_setzero_pd (),
7307 __U);
7308 }
7309
7310 extern __inline __m128i
7311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7312 _mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7313 __m128i __B)
7314 {
7315 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
7316 (__v2di) __B,
7317 (__v2di) __W, __U);
7318 }
7319
7320 extern __inline __m128i
7321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi64(__mmask8 __U,__m128i __A,__m128i __B)7322 _mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7323 {
7324 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
7325 (__v2di) __B,
7326 (__v2di)
7327 _mm_setzero_pd (),
7328 __U);
7329 }
7330
7331 extern __inline __m256i
7332 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7333 _mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7334 __m256i __B)
7335 {
7336 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
7337 (__v4di) __B,
7338 (__v4di) __W, __U);
7339 }
7340
7341 extern __inline __m256i
7342 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi64(__mmask8 __U,__m256i __A,__m256i __B)7343 _mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7344 {
7345 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
7346 (__v4di) __B,
7347 (__v4di)
7348 _mm256_setzero_pd (),
7349 __U);
7350 }
7351
7352 extern __inline __m128i
7353 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7354 _mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7355 __m128i __B)
7356 {
7357 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
7358 (__v2di) __B,
7359 (__v2di) __W, __U);
7360 }
7361
7362 extern __inline __m128i
7363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi64(__mmask8 __U,__m128i __A,__m128i __B)7364 _mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7365 {
7366 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
7367 (__v2di) __B,
7368 (__v2di)
7369 _mm_setzero_pd (),
7370 __U);
7371 }
7372
7373 extern __inline __m256i
7374 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7375 _mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7376 __m256i __B)
7377 {
7378 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
7379 (__v4di) __B,
7380 (__v4di) __W,
7381 (__mmask8) __U);
7382 }
7383
7384 extern __inline __m256i
7385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi64(__mmask8 __U,__m256i __A,__m256i __B)7386 _mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7387 {
7388 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
7389 (__v4di) __B,
7390 (__v4di)
7391 _mm256_setzero_si256 (),
7392 (__mmask8) __U);
7393 }
7394
7395 extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_or_epi64(__m256i __A,__m256i __B)7396 _mm256_or_epi64 (__m256i __A, __m256i __B)
7397 {
7398 return (__m256i) ((__v4du)__A | (__v4du)__B);
7399 }
7400
7401 extern __inline __m128i
7402 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7403 _mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
7404 {
7405 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
7406 (__v2di) __B,
7407 (__v2di) __W,
7408 (__mmask8) __U);
7409 }
7410
7411 extern __inline __m128i
7412 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi64(__mmask8 __U,__m128i __A,__m128i __B)7413 _mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7414 {
7415 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
7416 (__v2di) __B,
7417 (__v2di)
7418 _mm_setzero_si128 (),
7419 (__mmask8) __U);
7420 }
7421
7422 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_epi64(__m128i __A,__m128i __B)7423 _mm_or_epi64 (__m128i __A, __m128i __B)
7424 {
7425 return (__m128i) ((__v2du)__A | (__v2du)__B);
7426 }
7427
7428 extern __inline __m256i
7429 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7430 _mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7431 __m256i __B)
7432 {
7433 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
7434 (__v4di) __B,
7435 (__v4di) __W,
7436 (__mmask8) __U);
7437 }
7438
7439 extern __inline __m256i
7440 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi64(__mmask8 __U,__m256i __A,__m256i __B)7441 _mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7442 {
7443 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
7444 (__v4di) __B,
7445 (__v4di)
7446 _mm256_setzero_si256 (),
7447 (__mmask8) __U);
7448 }
7449
7450 extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_xor_epi64(__m256i __A,__m256i __B)7451 _mm256_xor_epi64 (__m256i __A, __m256i __B)
7452 {
7453 return (__m256i) ((__v4du)__A ^ (__v4du)__B);
7454 }
7455
7456 extern __inline __m128i
7457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7458 _mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7459 __m128i __B)
7460 {
7461 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
7462 (__v2di) __B,
7463 (__v2di) __W,
7464 (__mmask8) __U);
7465 }
7466
7467 extern __inline __m128i
7468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi64(__mmask8 __U,__m128i __A,__m128i __B)7469 _mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7470 {
7471 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
7472 (__v2di) __B,
7473 (__v2di)
7474 _mm_setzero_si128 (),
7475 (__mmask8) __U);
7476 }
7477
7478 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_epi64(__m128i __A,__m128i __B)7479 _mm_xor_epi64 (__m128i __A, __m128i __B)
7480 {
7481 return (__m128i) ((__v2du)__A ^ (__v2du)__B);
7482 }
7483
7484 extern __inline __m256d
7485 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7486 _mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
7487 __m256d __B)
7488 {
7489 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
7490 (__v4df) __B,
7491 (__v4df) __W,
7492 (__mmask8) __U);
7493 }
7494
7495 extern __inline __m256d
7496 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_pd(__mmask8 __U,__m256d __A,__m256d __B)7497 _mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B)
7498 {
7499 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
7500 (__v4df) __B,
7501 (__v4df)
7502 _mm256_setzero_pd (),
7503 (__mmask8) __U);
7504 }
7505
7506 extern __inline __m256
7507 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7508 _mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7509 {
7510 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
7511 (__v8sf) __B,
7512 (__v8sf) __W,
7513 (__mmask8) __U);
7514 }
7515
7516 extern __inline __m256
7517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_ps(__mmask8 __U,__m256 __A,__m256 __B)7518 _mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B)
7519 {
7520 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
7521 (__v8sf) __B,
7522 (__v8sf)
7523 _mm256_setzero_ps (),
7524 (__mmask8) __U);
7525 }
7526
7527 extern __inline __m128
7528 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7529 _mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7530 {
7531 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
7532 (__v4sf) __B,
7533 (__v4sf) __W,
7534 (__mmask8) __U);
7535 }
7536
7537 extern __inline __m128
7538 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_ps(__mmask8 __U,__m128 __A,__m128 __B)7539 _mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B)
7540 {
7541 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
7542 (__v4sf) __B,
7543 (__v4sf)
7544 _mm_setzero_ps (),
7545 (__mmask8) __U);
7546 }
7547
7548 extern __inline __m128d
7549 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7550 _mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7551 {
7552 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
7553 (__v2df) __B,
7554 (__v2df) __W,
7555 (__mmask8) __U);
7556 }
7557
7558 extern __inline __m128d
7559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_pd(__mmask8 __U,__m128d __A,__m128d __B)7560 _mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B)
7561 {
7562 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
7563 (__v2df) __B,
7564 (__v2df)
7565 _mm_setzero_pd (),
7566 (__mmask8) __U);
7567 }
7568
7569 extern __inline __m256d
7570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7571 _mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
7572 __m256d __B)
7573 {
7574 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
7575 (__v4df) __B,
7576 (__v4df) __W,
7577 (__mmask8) __U);
7578 }
7579
7580 extern __inline __m256d
7581 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7582 _mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
7583 __m256d __B)
7584 {
7585 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
7586 (__v4df) __B,
7587 (__v4df) __W,
7588 (__mmask8) __U);
7589 }
7590
7591 extern __inline __m256d
7592 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_pd(__mmask8 __U,__m256d __A,__m256d __B)7593 _mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B)
7594 {
7595 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
7596 (__v4df) __B,
7597 (__v4df)
7598 _mm256_setzero_pd (),
7599 (__mmask8) __U);
7600 }
7601
7602 extern __inline __m256
7603 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7604 _mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7605 {
7606 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
7607 (__v8sf) __B,
7608 (__v8sf) __W,
7609 (__mmask8) __U);
7610 }
7611
7612 extern __inline __m256d
7613 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_pd(__mmask8 __U,__m256d __A,__m256d __B)7614 _mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B)
7615 {
7616 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
7617 (__v4df) __B,
7618 (__v4df)
7619 _mm256_setzero_pd (),
7620 (__mmask8) __U);
7621 }
7622
7623 extern __inline __m256
7624 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7625 _mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7626 {
7627 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
7628 (__v8sf) __B,
7629 (__v8sf) __W,
7630 (__mmask8) __U);
7631 }
7632
7633 extern __inline __m256
7634 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_ps(__mmask8 __U,__m256 __A,__m256 __B)7635 _mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B)
7636 {
7637 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
7638 (__v8sf) __B,
7639 (__v8sf)
7640 _mm256_setzero_ps (),
7641 (__mmask8) __U);
7642 }
7643
7644 extern __inline __m256
7645 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_ps(__mmask8 __U,__m256 __A,__m256 __B)7646 _mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B)
7647 {
7648 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
7649 (__v8sf) __B,
7650 (__v8sf)
7651 _mm256_setzero_ps (),
7652 (__mmask8) __U);
7653 }
7654
7655 extern __inline __m128
7656 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7657 _mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7658 {
7659 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
7660 (__v4sf) __B,
7661 (__v4sf) __W,
7662 (__mmask8) __U);
7663 }
7664
7665 extern __inline __m128
7666 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7667 _mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7668 {
7669 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
7670 (__v4sf) __B,
7671 (__v4sf) __W,
7672 (__mmask8) __U);
7673 }
7674
7675 extern __inline __m128
7676 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_ps(__mmask8 __U,__m128 __A,__m128 __B)7677 _mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B)
7678 {
7679 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
7680 (__v4sf) __B,
7681 (__v4sf)
7682 _mm_setzero_ps (),
7683 (__mmask8) __U);
7684 }
7685
7686 extern __inline __m128
7687 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_ps(__mmask8 __U,__m128 __A,__m128 __B)7688 _mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B)
7689 {
7690 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
7691 (__v4sf) __B,
7692 (__v4sf)
7693 _mm_setzero_ps (),
7694 (__mmask8) __U);
7695 }
7696
7697 extern __inline __m128
7698 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7699 _mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7700 {
7701 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
7702 (__v4sf) __B,
7703 (__v4sf) __W,
7704 (__mmask8) __U);
7705 }
7706
7707 extern __inline __m128
7708 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_ps(__mmask8 __U,__m128 __A,__m128 __B)7709 _mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B)
7710 {
7711 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
7712 (__v4sf) __B,
7713 (__v4sf)
7714 _mm_setzero_ps (),
7715 (__mmask8) __U);
7716 }
7717
7718 extern __inline __m128d
7719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7720 _mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7721 {
7722 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
7723 (__v2df) __B,
7724 (__v2df) __W,
7725 (__mmask8) __U);
7726 }
7727
7728 extern __inline __m128d
7729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_pd(__mmask8 __U,__m128d __A,__m128d __B)7730 _mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B)
7731 {
7732 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
7733 (__v2df) __B,
7734 (__v2df)
7735 _mm_setzero_pd (),
7736 (__mmask8) __U);
7737 }
7738
7739 extern __inline __m128d
7740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7741 _mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7742 {
7743 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
7744 (__v2df) __B,
7745 (__v2df) __W,
7746 (__mmask8) __U);
7747 }
7748
7749 extern __inline __m128d
7750 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_pd(__mmask8 __U,__m128d __A,__m128d __B)7751 _mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B)
7752 {
7753 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
7754 (__v2df) __B,
7755 (__v2df)
7756 _mm_setzero_pd (),
7757 (__mmask8) __U);
7758 }
7759
7760 extern __inline __m128d
7761 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7762 _mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7763 {
7764 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
7765 (__v2df) __B,
7766 (__v2df) __W,
7767 (__mmask8) __U);
7768 }
7769
7770 extern __inline __m128d
7771 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_pd(__mmask8 __U,__m128d __A,__m128d __B)7772 _mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B)
7773 {
7774 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
7775 (__v2df) __B,
7776 (__v2df)
7777 _mm_setzero_pd (),
7778 (__mmask8) __U);
7779 }
7780
7781 extern __inline __m256
7782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7783 _mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7784 {
7785 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
7786 (__v8sf) __B,
7787 (__v8sf) __W,
7788 (__mmask8) __U);
7789 }
7790
7791 extern __inline __m256
7792 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_ps(__mmask8 __U,__m256 __A,__m256 __B)7793 _mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B)
7794 {
7795 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
7796 (__v8sf) __B,
7797 (__v8sf)
7798 _mm256_setzero_ps (),
7799 (__mmask8) __U);
7800 }
7801
7802 extern __inline __m256d
7803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7804 _mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
7805 __m256d __B)
7806 {
7807 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
7808 (__v4df) __B,
7809 (__v4df) __W,
7810 (__mmask8) __U);
7811 }
7812
7813 extern __inline __m256d
7814 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_pd(__mmask8 __U,__m256d __A,__m256d __B)7815 _mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B)
7816 {
7817 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
7818 (__v4df) __B,
7819 (__v4df)
7820 _mm256_setzero_pd (),
7821 (__mmask8) __U);
7822 }
7823
7824 extern __inline __m256i
7825 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi64(__mmask8 __M,__m256i __A,__m256i __B)7826 _mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
7827 {
7828 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7829 (__v4di) __B,
7830 (__v4di)
7831 _mm256_setzero_si256 (),
7832 __M);
7833 }
7834
7835 extern __inline __m256i
7836 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7837 _mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
7838 __m256i __B)
7839 {
7840 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7841 (__v4di) __B,
7842 (__v4di) __W, __M);
7843 }
7844
7845 extern __inline __m256i
7846 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epi64(__m256i __A,__m256i __B)7847 _mm256_min_epi64 (__m256i __A, __m256i __B)
7848 {
7849 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7850 (__v4di) __B,
7851 (__v4di)
7852 _mm256_setzero_si256 (),
7853 (__mmask8) -1);
7854 }
7855
7856 extern __inline __m256i
7857 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7858 _mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
7859 __m256i __B)
7860 {
7861 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7862 (__v4di) __B,
7863 (__v4di) __W, __M);
7864 }
7865
7866 extern __inline __m256i
7867 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi64(__mmask8 __M,__m256i __A,__m256i __B)7868 _mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
7869 {
7870 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7871 (__v4di) __B,
7872 (__v4di)
7873 _mm256_setzero_si256 (),
7874 __M);
7875 }
7876
7877 extern __inline __m256i
7878 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu64(__mmask8 __M,__m256i __A,__m256i __B)7879 _mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
7880 {
7881 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7882 (__v4di) __B,
7883 (__v4di)
7884 _mm256_setzero_si256 (),
7885 __M);
7886 }
7887
7888 extern __inline __m256i
7889 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epi64(__m256i __A,__m256i __B)7890 _mm256_max_epi64 (__m256i __A, __m256i __B)
7891 {
7892 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7893 (__v4di) __B,
7894 (__v4di)
7895 _mm256_setzero_si256 (),
7896 (__mmask8) -1);
7897 }
7898
7899 extern __inline __m256i
7900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epu64(__m256i __A,__m256i __B)7901 _mm256_max_epu64 (__m256i __A, __m256i __B)
7902 {
7903 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7904 (__v4di) __B,
7905 (__v4di)
7906 _mm256_setzero_si256 (),
7907 (__mmask8) -1);
7908 }
7909
7910 extern __inline __m256i
7911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7912 _mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
7913 __m256i __B)
7914 {
7915 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7916 (__v4di) __B,
7917 (__v4di) __W, __M);
7918 }
7919
7920 extern __inline __m256i
7921 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epu64(__m256i __A,__m256i __B)7922 _mm256_min_epu64 (__m256i __A, __m256i __B)
7923 {
7924 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7925 (__v4di) __B,
7926 (__v4di)
7927 _mm256_setzero_si256 (),
7928 (__mmask8) -1);
7929 }
7930
7931 extern __inline __m256i
7932 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7933 _mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
7934 __m256i __B)
7935 {
7936 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7937 (__v4di) __B,
7938 (__v4di) __W, __M);
7939 }
7940
7941 extern __inline __m256i
7942 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu64(__mmask8 __M,__m256i __A,__m256i __B)7943 _mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
7944 {
7945 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7946 (__v4di) __B,
7947 (__v4di)
7948 _mm256_setzero_si256 (),
7949 __M);
7950 }
7951
7952 extern __inline __m256i
7953 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi32(__mmask8 __M,__m256i __A,__m256i __B)7954 _mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
7955 {
7956 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
7957 (__v8si) __B,
7958 (__v8si)
7959 _mm256_setzero_si256 (),
7960 __M);
7961 }
7962
7963 extern __inline __m256i
7964 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7965 _mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
7966 __m256i __B)
7967 {
7968 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
7969 (__v8si) __B,
7970 (__v8si) __W, __M);
7971 }
7972
7973 extern __inline __m256i
7974 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi32(__mmask8 __M,__m256i __A,__m256i __B)7975 _mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
7976 {
7977 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
7978 (__v8si) __B,
7979 (__v8si)
7980 _mm256_setzero_si256 (),
7981 __M);
7982 }
7983
7984 extern __inline __m256i
7985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7986 _mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
7987 __m256i __B)
7988 {
7989 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
7990 (__v8si) __B,
7991 (__v8si) __W, __M);
7992 }
7993
7994 extern __inline __m256i
7995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu32(__mmask8 __M,__m256i __A,__m256i __B)7996 _mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
7997 {
7998 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
7999 (__v8si) __B,
8000 (__v8si)
8001 _mm256_setzero_si256 (),
8002 __M);
8003 }
8004
8005 extern __inline __m256i
8006 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)8007 _mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
8008 __m256i __B)
8009 {
8010 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
8011 (__v8si) __B,
8012 (__v8si) __W, __M);
8013 }
8014
8015 extern __inline __m256i
8016 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu32(__mmask8 __M,__m256i __A,__m256i __B)8017 _mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
8018 {
8019 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
8020 (__v8si) __B,
8021 (__v8si)
8022 _mm256_setzero_si256 (),
8023 __M);
8024 }
8025
8026 extern __inline __m256i
8027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)8028 _mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
8029 __m256i __B)
8030 {
8031 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
8032 (__v8si) __B,
8033 (__v8si) __W, __M);
8034 }
8035
8036 extern __inline __m128i
8037 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi64(__mmask8 __M,__m128i __A,__m128i __B)8038 _mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
8039 {
8040 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
8041 (__v2di) __B,
8042 (__v2di)
8043 _mm_setzero_si128 (),
8044 __M);
8045 }
8046
8047 extern __inline __m128i
8048 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8049 _mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
8050 __m128i __B)
8051 {
8052 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
8053 (__v2di) __B,
8054 (__v2di) __W, __M);
8055 }
8056
8057 extern __inline __m128i
8058 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi64(__m128i __A,__m128i __B)8059 _mm_min_epi64 (__m128i __A, __m128i __B)
8060 {
8061 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
8062 (__v2di) __B,
8063 (__v2di)
8064 _mm_setzero_si128 (),
8065 (__mmask8) -1);
8066 }
8067
8068 extern __inline __m128i
8069 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8070 _mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
8071 __m128i __B)
8072 {
8073 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
8074 (__v2di) __B,
8075 (__v2di) __W, __M);
8076 }
8077
8078 extern __inline __m128i
8079 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi64(__mmask8 __M,__m128i __A,__m128i __B)8080 _mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
8081 {
8082 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
8083 (__v2di) __B,
8084 (__v2di)
8085 _mm_setzero_si128 (),
8086 __M);
8087 }
8088
8089 extern __inline __m128i
8090 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu64(__mmask8 __M,__m128i __A,__m128i __B)8091 _mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
8092 {
8093 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8094 (__v2di) __B,
8095 (__v2di)
8096 _mm_setzero_si128 (),
8097 __M);
8098 }
8099
8100 extern __inline __m128i
8101 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi64(__m128i __A,__m128i __B)8102 _mm_max_epi64 (__m128i __A, __m128i __B)
8103 {
8104 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
8105 (__v2di) __B,
8106 (__v2di)
8107 _mm_setzero_si128 (),
8108 (__mmask8) -1);
8109 }
8110
8111 extern __inline __m128i
8112 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu64(__m128i __A,__m128i __B)8113 _mm_max_epu64 (__m128i __A, __m128i __B)
8114 {
8115 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8116 (__v2di) __B,
8117 (__v2di)
8118 _mm_setzero_si128 (),
8119 (__mmask8) -1);
8120 }
8121
8122 extern __inline __m128i
8123 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8124 _mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
8125 __m128i __B)
8126 {
8127 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8128 (__v2di) __B,
8129 (__v2di) __W, __M);
8130 }
8131
8132 extern __inline __m128i
8133 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu64(__m128i __A,__m128i __B)8134 _mm_min_epu64 (__m128i __A, __m128i __B)
8135 {
8136 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8137 (__v2di) __B,
8138 (__v2di)
8139 _mm_setzero_si128 (),
8140 (__mmask8) -1);
8141 }
8142
8143 extern __inline __m128i
8144 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8145 _mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
8146 __m128i __B)
8147 {
8148 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8149 (__v2di) __B,
8150 (__v2di) __W, __M);
8151 }
8152
8153 extern __inline __m128i
8154 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu64(__mmask8 __M,__m128i __A,__m128i __B)8155 _mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
8156 {
8157 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8158 (__v2di) __B,
8159 (__v2di)
8160 _mm_setzero_si128 (),
8161 __M);
8162 }
8163
8164 extern __inline __m128i
8165 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi32(__mmask8 __M,__m128i __A,__m128i __B)8166 _mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
8167 {
8168 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
8169 (__v4si) __B,
8170 (__v4si)
8171 _mm_setzero_si128 (),
8172 __M);
8173 }
8174
8175 extern __inline __m128i
8176 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8177 _mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
8178 __m128i __B)
8179 {
8180 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
8181 (__v4si) __B,
8182 (__v4si) __W, __M);
8183 }
8184
8185 extern __inline __m128i
8186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi32(__mmask8 __M,__m128i __A,__m128i __B)8187 _mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
8188 {
8189 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
8190 (__v4si) __B,
8191 (__v4si)
8192 _mm_setzero_si128 (),
8193 __M);
8194 }
8195
8196 extern __inline __m128i
8197 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8198 _mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
8199 __m128i __B)
8200 {
8201 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
8202 (__v4si) __B,
8203 (__v4si) __W, __M);
8204 }
8205
8206 extern __inline __m128i
8207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu32(__mmask8 __M,__m128i __A,__m128i __B)8208 _mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
8209 {
8210 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
8211 (__v4si) __B,
8212 (__v4si)
8213 _mm_setzero_si128 (),
8214 __M);
8215 }
8216
8217 extern __inline __m128i
8218 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8219 _mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
8220 __m128i __B)
8221 {
8222 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
8223 (__v4si) __B,
8224 (__v4si) __W, __M);
8225 }
8226
8227 extern __inline __m128i
8228 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu32(__mmask8 __M,__m128i __A,__m128i __B)8229 _mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
8230 {
8231 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
8232 (__v4si) __B,
8233 (__v4si)
8234 _mm_setzero_si128 (),
8235 __M);
8236 }
8237
8238 extern __inline __m128i
8239 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8240 _mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
8241 __m128i __B)
8242 {
8243 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
8244 (__v4si) __B,
8245 (__v4si) __W, __M);
8246 }
8247
8248 #ifndef __AVX512CD__
8249 #pragma GCC push_options
8250 #pragma GCC target("avx512vl,avx512cd")
8251 #define __DISABLE_AVX512VLCD__
8252 #endif
8253
8254 extern __inline __m128i
8255 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmb_epi64(__mmask8 __A)8256 _mm_broadcastmb_epi64 (__mmask8 __A)
8257 {
8258 return (__m128i) __builtin_ia32_broadcastmb128 (__A);
8259 }
8260
8261 extern __inline __m256i
8262 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmb_epi64(__mmask8 __A)8263 _mm256_broadcastmb_epi64 (__mmask8 __A)
8264 {
8265 return (__m256i) __builtin_ia32_broadcastmb256 (__A);
8266 }
8267
8268 extern __inline __m128i
8269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmw_epi32(__mmask16 __A)8270 _mm_broadcastmw_epi32 (__mmask16 __A)
8271 {
8272 return (__m128i) __builtin_ia32_broadcastmw128 (__A);
8273 }
8274
8275 extern __inline __m256i
8276 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmw_epi32(__mmask16 __A)8277 _mm256_broadcastmw_epi32 (__mmask16 __A)
8278 {
8279 return (__m256i) __builtin_ia32_broadcastmw256 (__A);
8280 }
8281
8282 extern __inline __m256i
8283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi32(__m256i __A)8284 _mm256_lzcnt_epi32 (__m256i __A)
8285 {
8286 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8287 (__v8si)
8288 _mm256_setzero_si256 (),
8289 (__mmask8) -1);
8290 }
8291
8292 extern __inline __m256i
8293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi32(__m256i __W,__mmask8 __U,__m256i __A)8294 _mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
8295 {
8296 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8297 (__v8si) __W,
8298 (__mmask8) __U);
8299 }
8300
8301 extern __inline __m256i
8302 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi32(__mmask8 __U,__m256i __A)8303 _mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A)
8304 {
8305 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8306 (__v8si)
8307 _mm256_setzero_si256 (),
8308 (__mmask8) __U);
8309 }
8310
8311 extern __inline __m256i
8312 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi64(__m256i __A)8313 _mm256_lzcnt_epi64 (__m256i __A)
8314 {
8315 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8316 (__v4di)
8317 _mm256_setzero_si256 (),
8318 (__mmask8) -1);
8319 }
8320
8321 extern __inline __m256i
8322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi64(__m256i __W,__mmask8 __U,__m256i __A)8323 _mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
8324 {
8325 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8326 (__v4di) __W,
8327 (__mmask8) __U);
8328 }
8329
8330 extern __inline __m256i
8331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi64(__mmask8 __U,__m256i __A)8332 _mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A)
8333 {
8334 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8335 (__v4di)
8336 _mm256_setzero_si256 (),
8337 (__mmask8) __U);
8338 }
8339
8340 extern __inline __m256i
8341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi64(__m256i __A)8342 _mm256_conflict_epi64 (__m256i __A)
8343 {
8344 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8345 (__v4di)
8346 _mm256_setzero_si256 (),
8347 (__mmask8) -1);
8348 }
8349
8350 extern __inline __m256i
8351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi64(__m256i __W,__mmask8 __U,__m256i __A)8352 _mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
8353 {
8354 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8355 (__v4di) __W,
8356 (__mmask8)
8357 __U);
8358 }
8359
8360 extern __inline __m256i
8361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi64(__mmask8 __U,__m256i __A)8362 _mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A)
8363 {
8364 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8365 (__v4di)
8366 _mm256_setzero_si256 (),
8367 (__mmask8)
8368 __U);
8369 }
8370
8371 extern __inline __m256i
8372 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi32(__m256i __A)8373 _mm256_conflict_epi32 (__m256i __A)
8374 {
8375 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8376 (__v8si)
8377 _mm256_setzero_si256 (),
8378 (__mmask8) -1);
8379 }
8380
8381 extern __inline __m256i
8382 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi32(__m256i __W,__mmask8 __U,__m256i __A)8383 _mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
8384 {
8385 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8386 (__v8si) __W,
8387 (__mmask8)
8388 __U);
8389 }
8390
8391 extern __inline __m256i
8392 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi32(__mmask8 __U,__m256i __A)8393 _mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A)
8394 {
8395 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8396 (__v8si)
8397 _mm256_setzero_si256 (),
8398 (__mmask8)
8399 __U);
8400 }
8401
8402 extern __inline __m128i
8403 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi32(__m128i __A)8404 _mm_lzcnt_epi32 (__m128i __A)
8405 {
8406 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8407 (__v4si)
8408 _mm_setzero_si128 (),
8409 (__mmask8) -1);
8410 }
8411
8412 extern __inline __m128i
8413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi32(__m128i __W,__mmask8 __U,__m128i __A)8414 _mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
8415 {
8416 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8417 (__v4si) __W,
8418 (__mmask8) __U);
8419 }
8420
8421 extern __inline __m128i
8422 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi32(__mmask8 __U,__m128i __A)8423 _mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A)
8424 {
8425 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8426 (__v4si)
8427 _mm_setzero_si128 (),
8428 (__mmask8) __U);
8429 }
8430
8431 extern __inline __m128i
8432 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi64(__m128i __A)8433 _mm_lzcnt_epi64 (__m128i __A)
8434 {
8435 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8436 (__v2di)
8437 _mm_setzero_si128 (),
8438 (__mmask8) -1);
8439 }
8440
8441 extern __inline __m128i
8442 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi64(__m128i __W,__mmask8 __U,__m128i __A)8443 _mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
8444 {
8445 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8446 (__v2di) __W,
8447 (__mmask8) __U);
8448 }
8449
8450 extern __inline __m128i
8451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi64(__mmask8 __U,__m128i __A)8452 _mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A)
8453 {
8454 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8455 (__v2di)
8456 _mm_setzero_si128 (),
8457 (__mmask8) __U);
8458 }
8459
8460 extern __inline __m128i
8461 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi64(__m128i __A)8462 _mm_conflict_epi64 (__m128i __A)
8463 {
8464 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8465 (__v2di)
8466 _mm_setzero_si128 (),
8467 (__mmask8) -1);
8468 }
8469
8470 extern __inline __m128i
8471 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi64(__m128i __W,__mmask8 __U,__m128i __A)8472 _mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
8473 {
8474 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8475 (__v2di) __W,
8476 (__mmask8)
8477 __U);
8478 }
8479
8480 extern __inline __m128i
8481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi64(__mmask8 __U,__m128i __A)8482 _mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A)
8483 {
8484 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8485 (__v2di)
8486 _mm_setzero_si128 (),
8487 (__mmask8)
8488 __U);
8489 }
8490
8491 extern __inline __m128i
8492 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi32(__m128i __A)8493 _mm_conflict_epi32 (__m128i __A)
8494 {
8495 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8496 (__v4si)
8497 _mm_setzero_si128 (),
8498 (__mmask8) -1);
8499 }
8500
8501 extern __inline __m128i
8502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi32(__m128i __W,__mmask8 __U,__m128i __A)8503 _mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
8504 {
8505 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8506 (__v4si) __W,
8507 (__mmask8)
8508 __U);
8509 }
8510
8511 extern __inline __m128i
8512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi32(__mmask8 __U,__m128i __A)8513 _mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A)
8514 {
8515 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8516 (__v4si)
8517 _mm_setzero_si128 (),
8518 (__mmask8)
8519 __U);
8520 }
8521
8522 #ifdef __DISABLE_AVX512VLCD__
8523 #pragma GCC pop_options
8524 #endif
8525
8526 extern __inline __m256d
8527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)8528 _mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A,
8529 __m256d __B)
8530 {
8531 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
8532 (__v4df) __B,
8533 (__v4df) __W,
8534 (__mmask8) __U);
8535 }
8536
8537 extern __inline __m256d
8538 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_pd(__mmask8 __U,__m256d __A,__m256d __B)8539 _mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B)
8540 {
8541 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
8542 (__v4df) __B,
8543 (__v4df)
8544 _mm256_setzero_pd (),
8545 (__mmask8) __U);
8546 }
8547
8548 extern __inline __m128d
8549 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)8550 _mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A,
8551 __m128d __B)
8552 {
8553 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
8554 (__v2df) __B,
8555 (__v2df) __W,
8556 (__mmask8) __U);
8557 }
8558
8559 extern __inline __m128d
8560 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_pd(__mmask8 __U,__m128d __A,__m128d __B)8561 _mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B)
8562 {
8563 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
8564 (__v2df) __B,
8565 (__v2df)
8566 _mm_setzero_pd (),
8567 (__mmask8) __U);
8568 }
8569
8570 extern __inline __m256
8571 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)8572 _mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A,
8573 __m256 __B)
8574 {
8575 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
8576 (__v8sf) __B,
8577 (__v8sf) __W,
8578 (__mmask8) __U);
8579 }
8580
8581 extern __inline __m256d
8582 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)8583 _mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A,
8584 __m256d __B)
8585 {
8586 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
8587 (__v4df) __B,
8588 (__v4df) __W,
8589 (__mmask8) __U);
8590 }
8591
8592 extern __inline __m256d
8593 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_pd(__mmask8 __U,__m256d __A,__m256d __B)8594 _mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B)
8595 {
8596 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
8597 (__v4df) __B,
8598 (__v4df)
8599 _mm256_setzero_pd (),
8600 (__mmask8) __U);
8601 }
8602
8603 extern __inline __m128d
8604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)8605 _mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A,
8606 __m128d __B)
8607 {
8608 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
8609 (__v2df) __B,
8610 (__v2df) __W,
8611 (__mmask8) __U);
8612 }
8613
8614 extern __inline __m128d
8615 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_pd(__mmask8 __U,__m128d __A,__m128d __B)8616 _mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B)
8617 {
8618 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
8619 (__v2df) __B,
8620 (__v2df)
8621 _mm_setzero_pd (),
8622 (__mmask8) __U);
8623 }
8624
8625 extern __inline __m256
8626 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)8627 _mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A,
8628 __m256 __B)
8629 {
8630 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
8631 (__v8sf) __B,
8632 (__v8sf) __W,
8633 (__mmask8) __U);
8634 }
8635
8636 extern __inline __m256
8637 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_ps(__mmask8 __U,__m256 __A,__m256 __B)8638 _mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B)
8639 {
8640 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
8641 (__v8sf) __B,
8642 (__v8sf)
8643 _mm256_setzero_ps (),
8644 (__mmask8) __U);
8645 }
8646
8647 extern __inline __m128
8648 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)8649 _mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8650 {
8651 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
8652 (__v4sf) __B,
8653 (__v4sf) __W,
8654 (__mmask8) __U);
8655 }
8656
8657 extern __inline __m128
8658 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_ps(__mmask8 __U,__m128 __A,__m128 __B)8659 _mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B)
8660 {
8661 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
8662 (__v4sf) __B,
8663 (__v4sf)
8664 _mm_setzero_ps (),
8665 (__mmask8) __U);
8666 }
8667
8668 extern __inline __m128
8669 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtph_ps(__m128 __W,__mmask8 __U,__m128i __A)8670 _mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A)
8671 {
8672 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
8673 (__v4sf) __W,
8674 (__mmask8) __U);
8675 }
8676
8677 extern __inline __m128
8678 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtph_ps(__mmask8 __U,__m128i __A)8679 _mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
8680 {
8681 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
8682 (__v4sf)
8683 _mm_setzero_ps (),
8684 (__mmask8) __U);
8685 }
8686
8687 extern __inline __m256
8688 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_ps(__mmask8 __U,__m256 __A,__m256 __B)8689 _mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B)
8690 {
8691 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
8692 (__v8sf) __B,
8693 (__v8sf)
8694 _mm256_setzero_ps (),
8695 (__mmask8) __U);
8696 }
8697
8698 extern __inline __m256
8699 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtph_ps(__m256 __W,__mmask8 __U,__m128i __A)8700 _mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A)
8701 {
8702 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
8703 (__v8sf) __W,
8704 (__mmask8) __U);
8705 }
8706
8707 extern __inline __m256
8708 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtph_ps(__mmask8 __U,__m128i __A)8709 _mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
8710 {
8711 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
8712 (__v8sf)
8713 _mm256_setzero_ps (),
8714 (__mmask8) __U);
8715 }
8716
8717 extern __inline __m128
8718 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)8719 _mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8720 {
8721 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
8722 (__v4sf) __B,
8723 (__v4sf) __W,
8724 (__mmask8) __U);
8725 }
8726
8727 extern __inline __m128
8728 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_ps(__mmask8 __U,__m128 __A,__m128 __B)8729 _mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B)
8730 {
8731 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
8732 (__v4sf) __B,
8733 (__v4sf)
8734 _mm_setzero_ps (),
8735 (__mmask8) __U);
8736 }
8737
8738 extern __inline __m256i
8739 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8740 _mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
8741 __m128i __B)
8742 {
8743 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
8744 (__v4si) __B,
8745 (__v8si) __W,
8746 (__mmask8) __U);
8747 }
8748
8749 extern __inline __m256i
8750 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi32(__mmask8 __U,__m256i __A,__m128i __B)8751 _mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
8752 {
8753 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
8754 (__v4si) __B,
8755 (__v8si)
8756 _mm256_setzero_si256 (),
8757 (__mmask8) __U);
8758 }
8759
8760 extern __inline __m128i
8761 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8762 _mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
8763 __m128i __B)
8764 {
8765 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
8766 (__v4si) __B,
8767 (__v4si) __W,
8768 (__mmask8) __U);
8769 }
8770
8771 extern __inline __m128i
8772 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi32(__mmask8 __U,__m128i __A,__m128i __B)8773 _mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
8774 {
8775 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
8776 (__v4si) __B,
8777 (__v4si)
8778 _mm_setzero_si128 (),
8779 (__mmask8) __U);
8780 }
8781
8782 extern __inline __m256i
8783 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sra_epi64(__m256i __A,__m128i __B)8784 _mm256_sra_epi64 (__m256i __A, __m128i __B)
8785 {
8786 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8787 (__v2di) __B,
8788 (__v4di)
8789 _mm256_setzero_si256 (),
8790 (__mmask8) -1);
8791 }
8792
8793 extern __inline __m256i
8794 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8795 _mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
8796 __m128i __B)
8797 {
8798 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8799 (__v2di) __B,
8800 (__v4di) __W,
8801 (__mmask8) __U);
8802 }
8803
8804 extern __inline __m256i
8805 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi64(__mmask8 __U,__m256i __A,__m128i __B)8806 _mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
8807 {
8808 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8809 (__v2di) __B,
8810 (__v4di)
8811 _mm256_setzero_si256 (),
8812 (__mmask8) __U);
8813 }
8814
8815 extern __inline __m128i
8816 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi64(__m128i __A,__m128i __B)8817 _mm_sra_epi64 (__m128i __A, __m128i __B)
8818 {
8819 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8820 (__v2di) __B,
8821 (__v2di)
8822 _mm_setzero_si128 (),
8823 (__mmask8) -1);
8824 }
8825
8826 extern __inline __m128i
8827 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8828 _mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
8829 __m128i __B)
8830 {
8831 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8832 (__v2di) __B,
8833 (__v2di) __W,
8834 (__mmask8) __U);
8835 }
8836
8837 extern __inline __m128i
8838 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi64(__mmask8 __U,__m128i __A,__m128i __B)8839 _mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
8840 {
8841 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8842 (__v2di) __B,
8843 (__v2di)
8844 _mm_setzero_si128 (),
8845 (__mmask8) __U);
8846 }
8847
8848 extern __inline __m128i
8849 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8850 _mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
8851 __m128i __B)
8852 {
8853 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
8854 (__v4si) __B,
8855 (__v4si) __W,
8856 (__mmask8) __U);
8857 }
8858
8859 extern __inline __m128i
8860 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi32(__mmask8 __U,__m128i __A,__m128i __B)8861 _mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
8862 {
8863 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
8864 (__v4si) __B,
8865 (__v4si)
8866 _mm_setzero_si128 (),
8867 (__mmask8) __U);
8868 }
8869
8870 extern __inline __m128i
8871 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8872 _mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
8873 __m128i __B)
8874 {
8875 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
8876 (__v2di) __B,
8877 (__v2di) __W,
8878 (__mmask8) __U);
8879 }
8880
8881 extern __inline __m128i
8882 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi64(__mmask8 __U,__m128i __A,__m128i __B)8883 _mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
8884 {
8885 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
8886 (__v2di) __B,
8887 (__v2di)
8888 _mm_setzero_si128 (),
8889 (__mmask8) __U);
8890 }
8891
8892 extern __inline __m256i
8893 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8894 _mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
8895 __m128i __B)
8896 {
8897 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
8898 (__v4si) __B,
8899 (__v8si) __W,
8900 (__mmask8) __U);
8901 }
8902
8903 extern __inline __m256i
8904 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi32(__mmask8 __U,__m256i __A,__m128i __B)8905 _mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
8906 {
8907 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
8908 (__v4si) __B,
8909 (__v8si)
8910 _mm256_setzero_si256 (),
8911 (__mmask8) __U);
8912 }
8913
8914 extern __inline __m256i
8915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8916 _mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
8917 __m128i __B)
8918 {
8919 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
8920 (__v2di) __B,
8921 (__v4di) __W,
8922 (__mmask8) __U);
8923 }
8924
8925 extern __inline __m256i
8926 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi64(__mmask8 __U,__m256i __A,__m128i __B)8927 _mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
8928 {
8929 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
8930 (__v2di) __B,
8931 (__v4di)
8932 _mm256_setzero_si256 (),
8933 (__mmask8) __U);
8934 }
8935
8936 extern __inline __m256
8937 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_ps(__m256 __W,__mmask8 __U,__m256i __X,__m256 __Y)8938 _mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X,
8939 __m256 __Y)
8940 {
8941 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8942 (__v8si) __X,
8943 (__v8sf) __W,
8944 (__mmask8) __U);
8945 }
8946
8947 extern __inline __m256
8948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_ps(__mmask8 __U,__m256i __X,__m256 __Y)8949 _mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y)
8950 {
8951 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8952 (__v8si) __X,
8953 (__v8sf)
8954 _mm256_setzero_ps (),
8955 (__mmask8) __U);
8956 }
8957
8958 extern __inline __m256d
8959 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_pd(__m256i __X,__m256d __Y)8960 _mm256_permutexvar_pd (__m256i __X, __m256d __Y)
8961 {
8962 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8963 (__v4di) __X,
8964 (__v4df)
8965 _mm256_setzero_pd (),
8966 (__mmask8) -1);
8967 }
8968
8969 extern __inline __m256d
8970 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_pd(__m256d __W,__mmask8 __U,__m256i __X,__m256d __Y)8971 _mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
8972 __m256d __Y)
8973 {
8974 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8975 (__v4di) __X,
8976 (__v4df) __W,
8977 (__mmask8) __U);
8978 }
8979
8980 extern __inline __m256d
8981 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_pd(__mmask8 __U,__m256i __X,__m256d __Y)8982 _mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
8983 {
8984 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8985 (__v4di) __X,
8986 (__v4df)
8987 _mm256_setzero_pd (),
8988 (__mmask8) __U);
8989 }
8990
8991 extern __inline __m256d
8992 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256i __C)8993 _mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A,
8994 __m256i __C)
8995 {
8996 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
8997 (__v4di) __C,
8998 (__v4df) __W,
8999 (__mmask8)
9000 __U);
9001 }
9002
9003 extern __inline __m256d
9004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_pd(__mmask8 __U,__m256d __A,__m256i __C)9005 _mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C)
9006 {
9007 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
9008 (__v4di) __C,
9009 (__v4df)
9010 _mm256_setzero_pd (),
9011 (__mmask8)
9012 __U);
9013 }
9014
9015 extern __inline __m256
9016 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256i __C)9017 _mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A,
9018 __m256i __C)
9019 {
9020 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
9021 (__v8si) __C,
9022 (__v8sf) __W,
9023 (__mmask8) __U);
9024 }
9025
9026 extern __inline __m256
9027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_ps(__mmask8 __U,__m256 __A,__m256i __C)9028 _mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C)
9029 {
9030 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
9031 (__v8si) __C,
9032 (__v8sf)
9033 _mm256_setzero_ps (),
9034 (__mmask8) __U);
9035 }
9036
9037 extern __inline __m128d
9038 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128i __C)9039 _mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A,
9040 __m128i __C)
9041 {
9042 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
9043 (__v2di) __C,
9044 (__v2df) __W,
9045 (__mmask8) __U);
9046 }
9047
9048 extern __inline __m128d
9049 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_pd(__mmask8 __U,__m128d __A,__m128i __C)9050 _mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C)
9051 {
9052 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
9053 (__v2di) __C,
9054 (__v2df)
9055 _mm_setzero_pd (),
9056 (__mmask8) __U);
9057 }
9058
9059 extern __inline __m128
9060 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128i __C)9061 _mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A,
9062 __m128i __C)
9063 {
9064 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
9065 (__v4si) __C,
9066 (__v4sf) __W,
9067 (__mmask8) __U);
9068 }
9069
9070 extern __inline __m128
9071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_ps(__mmask8 __U,__m128 __A,__m128i __C)9072 _mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C)
9073 {
9074 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
9075 (__v4si) __C,
9076 (__v4sf)
9077 _mm_setzero_ps (),
9078 (__mmask8) __U);
9079 }
9080
9081 extern __inline __m256i
9082 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mullo_epi32(__mmask8 __M,__m256i __A,__m256i __B)9083 _mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
9084 {
9085 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
9086 (__v8si) __B,
9087 (__v8si)
9088 _mm256_setzero_si256 (),
9089 __M);
9090 }
9091
9092 extern __inline __m256i
9093 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi64(__mmask8 __M,__m256i __X,__m256i __Y)9094 _mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
9095 {
9096 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9097 (__v4di) __X,
9098 (__v4di)
9099 _mm256_setzero_si256 (),
9100 __M);
9101 }
9102
9103 extern __inline __m256i
9104 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mullo_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)9105 _mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
9106 __m256i __B)
9107 {
9108 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
9109 (__v8si) __B,
9110 (__v8si) __W, __M);
9111 }
9112
9113 extern __inline __m128i
9114 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mullo_epi32(__mmask8 __M,__m128i __A,__m128i __B)9115 _mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
9116 {
9117 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
9118 (__v4si) __B,
9119 (__v4si)
9120 _mm_setzero_si128 (),
9121 __M);
9122 }
9123
9124 extern __inline __m128i
9125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mullo_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)9126 _mm_mask_mullo_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
9127 __m128i __B)
9128 {
9129 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
9130 (__v4si) __B,
9131 (__v4si) __W, __M);
9132 }
9133
9134 extern __inline __m256i
9135 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9136 _mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
9137 __m256i __Y)
9138 {
9139 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
9140 (__v8si) __Y,
9141 (__v4di) __W, __M);
9142 }
9143
9144 extern __inline __m256i
9145 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epi32(__mmask8 __M,__m256i __X,__m256i __Y)9146 _mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
9147 {
9148 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
9149 (__v8si) __Y,
9150 (__v4di)
9151 _mm256_setzero_si256 (),
9152 __M);
9153 }
9154
9155 extern __inline __m128i
9156 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epi32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)9157 _mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
9158 __m128i __Y)
9159 {
9160 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
9161 (__v4si) __Y,
9162 (__v2di) __W, __M);
9163 }
9164
9165 extern __inline __m128i
9166 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epi32(__mmask8 __M,__m128i __X,__m128i __Y)9167 _mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
9168 {
9169 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
9170 (__v4si) __Y,
9171 (__v2di)
9172 _mm_setzero_si128 (),
9173 __M);
9174 }
9175
9176 extern __inline __m256i
9177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi64(__m256i __X,__m256i __Y)9178 _mm256_permutexvar_epi64 (__m256i __X, __m256i __Y)
9179 {
9180 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9181 (__v4di) __X,
9182 (__v4di)
9183 _mm256_setzero_si256 (),
9184 (__mmask8) -1);
9185 }
9186
9187 extern __inline __m256i
9188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi64(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9189 _mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
9190 __m256i __Y)
9191 {
9192 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9193 (__v4di) __X,
9194 (__v4di) __W,
9195 __M);
9196 }
9197
9198 extern __inline __m256i
9199 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epu32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9200 _mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
9201 __m256i __Y)
9202 {
9203 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
9204 (__v8si) __Y,
9205 (__v4di) __W, __M);
9206 }
9207
9208 extern __inline __m256i
9209 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi32(__mmask8 __M,__m256i __X,__m256i __Y)9210 _mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
9211 {
9212 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9213 (__v8si) __X,
9214 (__v8si)
9215 _mm256_setzero_si256 (),
9216 __M);
9217 }
9218
9219 extern __inline __m256i
9220 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epu32(__mmask8 __M,__m256i __X,__m256i __Y)9221 _mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
9222 {
9223 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
9224 (__v8si) __Y,
9225 (__v4di)
9226 _mm256_setzero_si256 (),
9227 __M);
9228 }
9229
9230 extern __inline __m128i
9231 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epu32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)9232 _mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
9233 __m128i __Y)
9234 {
9235 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
9236 (__v4si) __Y,
9237 (__v2di) __W, __M);
9238 }
9239
9240 extern __inline __m128i
9241 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epu32(__mmask8 __M,__m128i __X,__m128i __Y)9242 _mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
9243 {
9244 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
9245 (__v4si) __Y,
9246 (__v2di)
9247 _mm_setzero_si128 (),
9248 __M);
9249 }
9250
9251 extern __inline __m256i
9252 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi32(__m256i __X,__m256i __Y)9253 _mm256_permutexvar_epi32 (__m256i __X, __m256i __Y)
9254 {
9255 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9256 (__v8si) __X,
9257 (__v8si)
9258 _mm256_setzero_si256 (),
9259 (__mmask8) -1);
9260 }
9261
9262 extern __inline __m256i
9263 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9264 _mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
9265 __m256i __Y)
9266 {
9267 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9268 (__v8si) __X,
9269 (__v8si) __W,
9270 __M);
9271 }
9272
9273 extern __inline __mmask8
9274 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9275 _mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9276 {
9277 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9278 (__v8si) __Y, 4,
9279 (__mmask8) __M);
9280 }
9281
9282 extern __inline __mmask8
9283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu32_mask(__m256i __X,__m256i __Y)9284 _mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y)
9285 {
9286 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9287 (__v8si) __Y, 4,
9288 (__mmask8) -1);
9289 }
9290
9291 extern __inline __mmask8
9292 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9293 _mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9294 {
9295 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9296 (__v8si) __Y, 1,
9297 (__mmask8) __M);
9298 }
9299
9300 extern __inline __mmask8
9301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu32_mask(__m256i __X,__m256i __Y)9302 _mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y)
9303 {
9304 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9305 (__v8si) __Y, 1,
9306 (__mmask8) -1);
9307 }
9308
9309 extern __inline __mmask8
9310 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9311 _mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9312 {
9313 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9314 (__v8si) __Y, 5,
9315 (__mmask8) __M);
9316 }
9317
9318 extern __inline __mmask8
9319 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu32_mask(__m256i __X,__m256i __Y)9320 _mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y)
9321 {
9322 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9323 (__v8si) __Y, 5,
9324 (__mmask8) -1);
9325 }
9326
9327 extern __inline __mmask8
9328 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9329 _mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9330 {
9331 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9332 (__v8si) __Y, 2,
9333 (__mmask8) __M);
9334 }
9335
9336 extern __inline __mmask8
9337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu32_mask(__m256i __X,__m256i __Y)9338 _mm256_cmple_epu32_mask (__m256i __X, __m256i __Y)
9339 {
9340 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9341 (__v8si) __Y, 2,
9342 (__mmask8) -1);
9343 }
9344
9345 extern __inline __mmask8
9346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9347 _mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9348 {
9349 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9350 (__v4di) __Y, 4,
9351 (__mmask8) __M);
9352 }
9353
9354 extern __inline __mmask8
9355 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu64_mask(__m256i __X,__m256i __Y)9356 _mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y)
9357 {
9358 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9359 (__v4di) __Y, 4,
9360 (__mmask8) -1);
9361 }
9362
9363 extern __inline __mmask8
9364 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9365 _mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9366 {
9367 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9368 (__v4di) __Y, 1,
9369 (__mmask8) __M);
9370 }
9371
9372 extern __inline __mmask8
9373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu64_mask(__m256i __X,__m256i __Y)9374 _mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y)
9375 {
9376 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9377 (__v4di) __Y, 1,
9378 (__mmask8) -1);
9379 }
9380
9381 extern __inline __mmask8
9382 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9383 _mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9384 {
9385 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9386 (__v4di) __Y, 5,
9387 (__mmask8) __M);
9388 }
9389
9390 extern __inline __mmask8
9391 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu64_mask(__m256i __X,__m256i __Y)9392 _mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y)
9393 {
9394 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9395 (__v4di) __Y, 5,
9396 (__mmask8) -1);
9397 }
9398
9399 extern __inline __mmask8
9400 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9401 _mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9402 {
9403 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9404 (__v4di) __Y, 2,
9405 (__mmask8) __M);
9406 }
9407
9408 extern __inline __mmask8
9409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu64_mask(__m256i __X,__m256i __Y)9410 _mm256_cmple_epu64_mask (__m256i __X, __m256i __Y)
9411 {
9412 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9413 (__v4di) __Y, 2,
9414 (__mmask8) -1);
9415 }
9416
9417 extern __inline __mmask8
9418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9419 _mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9420 {
9421 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9422 (__v8si) __Y, 4,
9423 (__mmask8) __M);
9424 }
9425
9426 extern __inline __mmask8
9427 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi32_mask(__m256i __X,__m256i __Y)9428 _mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y)
9429 {
9430 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9431 (__v8si) __Y, 4,
9432 (__mmask8) -1);
9433 }
9434
9435 extern __inline __mmask8
9436 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9437 _mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9438 {
9439 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9440 (__v8si) __Y, 1,
9441 (__mmask8) __M);
9442 }
9443
9444 extern __inline __mmask8
9445 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi32_mask(__m256i __X,__m256i __Y)9446 _mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y)
9447 {
9448 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9449 (__v8si) __Y, 1,
9450 (__mmask8) -1);
9451 }
9452
9453 extern __inline __mmask8
9454 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9455 _mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9456 {
9457 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9458 (__v8si) __Y, 5,
9459 (__mmask8) __M);
9460 }
9461
9462 extern __inline __mmask8
9463 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi32_mask(__m256i __X,__m256i __Y)9464 _mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y)
9465 {
9466 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9467 (__v8si) __Y, 5,
9468 (__mmask8) -1);
9469 }
9470
9471 extern __inline __mmask8
9472 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9473 _mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9474 {
9475 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9476 (__v8si) __Y, 2,
9477 (__mmask8) __M);
9478 }
9479
9480 extern __inline __mmask8
9481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi32_mask(__m256i __X,__m256i __Y)9482 _mm256_cmple_epi32_mask (__m256i __X, __m256i __Y)
9483 {
9484 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9485 (__v8si) __Y, 2,
9486 (__mmask8) -1);
9487 }
9488
9489 extern __inline __mmask8
9490 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9491 _mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9492 {
9493 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9494 (__v4di) __Y, 4,
9495 (__mmask8) __M);
9496 }
9497
9498 extern __inline __mmask8
9499 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi64_mask(__m256i __X,__m256i __Y)9500 _mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y)
9501 {
9502 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9503 (__v4di) __Y, 4,
9504 (__mmask8) -1);
9505 }
9506
9507 extern __inline __mmask8
9508 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9509 _mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9510 {
9511 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9512 (__v4di) __Y, 1,
9513 (__mmask8) __M);
9514 }
9515
9516 extern __inline __mmask8
9517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi64_mask(__m256i __X,__m256i __Y)9518 _mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y)
9519 {
9520 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9521 (__v4di) __Y, 1,
9522 (__mmask8) -1);
9523 }
9524
9525 extern __inline __mmask8
9526 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9527 _mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9528 {
9529 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9530 (__v4di) __Y, 5,
9531 (__mmask8) __M);
9532 }
9533
9534 extern __inline __mmask8
9535 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi64_mask(__m256i __X,__m256i __Y)9536 _mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y)
9537 {
9538 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9539 (__v4di) __Y, 5,
9540 (__mmask8) -1);
9541 }
9542
9543 extern __inline __mmask8
9544 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9545 _mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9546 {
9547 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9548 (__v4di) __Y, 2,
9549 (__mmask8) __M);
9550 }
9551
9552 extern __inline __mmask8
9553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi64_mask(__m256i __X,__m256i __Y)9554 _mm256_cmple_epi64_mask (__m256i __X, __m256i __Y)
9555 {
9556 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9557 (__v4di) __Y, 2,
9558 (__mmask8) -1);
9559 }
9560
9561 extern __inline __mmask8
9562 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9563 _mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9564 {
9565 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9566 (__v4si) __Y, 4,
9567 (__mmask8) __M);
9568 }
9569
9570 extern __inline __mmask8
9571 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu32_mask(__m128i __X,__m128i __Y)9572 _mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y)
9573 {
9574 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9575 (__v4si) __Y, 4,
9576 (__mmask8) -1);
9577 }
9578
9579 extern __inline __mmask8
9580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9581 _mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9582 {
9583 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9584 (__v4si) __Y, 1,
9585 (__mmask8) __M);
9586 }
9587
9588 extern __inline __mmask8
9589 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu32_mask(__m128i __X,__m128i __Y)9590 _mm_cmplt_epu32_mask (__m128i __X, __m128i __Y)
9591 {
9592 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9593 (__v4si) __Y, 1,
9594 (__mmask8) -1);
9595 }
9596
9597 extern __inline __mmask8
9598 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9599 _mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9600 {
9601 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9602 (__v4si) __Y, 5,
9603 (__mmask8) __M);
9604 }
9605
9606 extern __inline __mmask8
9607 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu32_mask(__m128i __X,__m128i __Y)9608 _mm_cmpge_epu32_mask (__m128i __X, __m128i __Y)
9609 {
9610 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9611 (__v4si) __Y, 5,
9612 (__mmask8) -1);
9613 }
9614
9615 extern __inline __mmask8
9616 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9617 _mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9618 {
9619 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9620 (__v4si) __Y, 2,
9621 (__mmask8) __M);
9622 }
9623
9624 extern __inline __mmask8
9625 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu32_mask(__m128i __X,__m128i __Y)9626 _mm_cmple_epu32_mask (__m128i __X, __m128i __Y)
9627 {
9628 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9629 (__v4si) __Y, 2,
9630 (__mmask8) -1);
9631 }
9632
9633 extern __inline __mmask8
9634 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9635 _mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9636 {
9637 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9638 (__v2di) __Y, 4,
9639 (__mmask8) __M);
9640 }
9641
9642 extern __inline __mmask8
9643 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu64_mask(__m128i __X,__m128i __Y)9644 _mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y)
9645 {
9646 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9647 (__v2di) __Y, 4,
9648 (__mmask8) -1);
9649 }
9650
9651 extern __inline __mmask8
9652 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9653 _mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9654 {
9655 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9656 (__v2di) __Y, 1,
9657 (__mmask8) __M);
9658 }
9659
9660 extern __inline __mmask8
9661 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu64_mask(__m128i __X,__m128i __Y)9662 _mm_cmplt_epu64_mask (__m128i __X, __m128i __Y)
9663 {
9664 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9665 (__v2di) __Y, 1,
9666 (__mmask8) -1);
9667 }
9668
9669 extern __inline __mmask8
9670 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9671 _mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9672 {
9673 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9674 (__v2di) __Y, 5,
9675 (__mmask8) __M);
9676 }
9677
9678 extern __inline __mmask8
9679 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu64_mask(__m128i __X,__m128i __Y)9680 _mm_cmpge_epu64_mask (__m128i __X, __m128i __Y)
9681 {
9682 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9683 (__v2di) __Y, 5,
9684 (__mmask8) -1);
9685 }
9686
9687 extern __inline __mmask8
9688 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9689 _mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9690 {
9691 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9692 (__v2di) __Y, 2,
9693 (__mmask8) __M);
9694 }
9695
9696 extern __inline __mmask8
9697 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu64_mask(__m128i __X,__m128i __Y)9698 _mm_cmple_epu64_mask (__m128i __X, __m128i __Y)
9699 {
9700 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9701 (__v2di) __Y, 2,
9702 (__mmask8) -1);
9703 }
9704
9705 extern __inline __mmask8
9706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9707 _mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9708 {
9709 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9710 (__v4si) __Y, 4,
9711 (__mmask8) __M);
9712 }
9713
9714 extern __inline __mmask8
9715 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi32_mask(__m128i __X,__m128i __Y)9716 _mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y)
9717 {
9718 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9719 (__v4si) __Y, 4,
9720 (__mmask8) -1);
9721 }
9722
9723 extern __inline __mmask8
9724 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9725 _mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9726 {
9727 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9728 (__v4si) __Y, 1,
9729 (__mmask8) __M);
9730 }
9731
9732 extern __inline __mmask8
9733 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi32_mask(__m128i __X,__m128i __Y)9734 _mm_cmplt_epi32_mask (__m128i __X, __m128i __Y)
9735 {
9736 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9737 (__v4si) __Y, 1,
9738 (__mmask8) -1);
9739 }
9740
9741 extern __inline __mmask8
9742 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9743 _mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9744 {
9745 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9746 (__v4si) __Y, 5,
9747 (__mmask8) __M);
9748 }
9749
9750 extern __inline __mmask8
9751 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi32_mask(__m128i __X,__m128i __Y)9752 _mm_cmpge_epi32_mask (__m128i __X, __m128i __Y)
9753 {
9754 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9755 (__v4si) __Y, 5,
9756 (__mmask8) -1);
9757 }
9758
9759 extern __inline __mmask8
9760 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9761 _mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9762 {
9763 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9764 (__v4si) __Y, 2,
9765 (__mmask8) __M);
9766 }
9767
9768 extern __inline __mmask8
9769 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi32_mask(__m128i __X,__m128i __Y)9770 _mm_cmple_epi32_mask (__m128i __X, __m128i __Y)
9771 {
9772 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9773 (__v4si) __Y, 2,
9774 (__mmask8) -1);
9775 }
9776
9777 extern __inline __mmask8
9778 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9779 _mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9780 {
9781 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9782 (__v2di) __Y, 4,
9783 (__mmask8) __M);
9784 }
9785
9786 extern __inline __mmask8
9787 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi64_mask(__m128i __X,__m128i __Y)9788 _mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y)
9789 {
9790 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9791 (__v2di) __Y, 4,
9792 (__mmask8) -1);
9793 }
9794
9795 extern __inline __mmask8
9796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9797 _mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9798 {
9799 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9800 (__v2di) __Y, 1,
9801 (__mmask8) __M);
9802 }
9803
9804 extern __inline __mmask8
9805 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi64_mask(__m128i __X,__m128i __Y)9806 _mm_cmplt_epi64_mask (__m128i __X, __m128i __Y)
9807 {
9808 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9809 (__v2di) __Y, 1,
9810 (__mmask8) -1);
9811 }
9812
9813 extern __inline __mmask8
9814 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9815 _mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9816 {
9817 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9818 (__v2di) __Y, 5,
9819 (__mmask8) __M);
9820 }
9821
9822 extern __inline __mmask8
9823 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi64_mask(__m128i __X,__m128i __Y)9824 _mm_cmpge_epi64_mask (__m128i __X, __m128i __Y)
9825 {
9826 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9827 (__v2di) __Y, 5,
9828 (__mmask8) -1);
9829 }
9830
9831 extern __inline __mmask8
9832 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9833 _mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9834 {
9835 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9836 (__v2di) __Y, 2,
9837 (__mmask8) __M);
9838 }
9839
9840 extern __inline __mmask8
9841 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi64_mask(__m128i __X,__m128i __Y)9842 _mm_cmple_epi64_mask (__m128i __X, __m128i __Y)
9843 {
9844 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9845 (__v2di) __Y, 2,
9846 (__mmask8) -1);
9847 }
9848
9849 #ifdef __OPTIMIZE__
9850 extern __inline __m256i
9851 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex_epi64(__m256i __X,const int __I)9852 _mm256_permutex_epi64 (__m256i __X, const int __I)
9853 {
9854 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9855 __I,
9856 (__v4di)
9857 _mm256_setzero_si256(),
9858 (__mmask8) -1);
9859 }
9860
9861 extern __inline __m256i
9862 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex_epi64(__m256i __W,__mmask8 __M,__m256i __X,const int __I)9863 _mm256_mask_permutex_epi64 (__m256i __W, __mmask8 __M,
9864 __m256i __X, const int __I)
9865 {
9866 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9867 __I,
9868 (__v4di) __W,
9869 (__mmask8) __M);
9870 }
9871
9872 extern __inline __m256i
9873 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex_epi64(__mmask8 __M,__m256i __X,const int __I)9874 _mm256_maskz_permutex_epi64 (__mmask8 __M, __m256i __X, const int __I)
9875 {
9876 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9877 __I,
9878 (__v4di)
9879 _mm256_setzero_si256 (),
9880 (__mmask8) __M);
9881 }
9882
9883 extern __inline __m256d
9884 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B,const int __imm)9885 _mm256_mask_shuffle_pd (__m256d __W, __mmask8 __U, __m256d __A,
9886 __m256d __B, const int __imm)
9887 {
9888 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
9889 (__v4df) __B, __imm,
9890 (__v4df) __W,
9891 (__mmask8) __U);
9892 }
9893
9894 extern __inline __m256d
9895 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_pd(__mmask8 __U,__m256d __A,__m256d __B,const int __imm)9896 _mm256_maskz_shuffle_pd (__mmask8 __U, __m256d __A, __m256d __B,
9897 const int __imm)
9898 {
9899 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
9900 (__v4df) __B, __imm,
9901 (__v4df)
9902 _mm256_setzero_pd (),
9903 (__mmask8) __U);
9904 }
9905
9906 extern __inline __m128d
9907 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B,const int __imm)9908 _mm_mask_shuffle_pd (__m128d __W, __mmask8 __U, __m128d __A,
9909 __m128d __B, const int __imm)
9910 {
9911 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
9912 (__v2df) __B, __imm,
9913 (__v2df) __W,
9914 (__mmask8) __U);
9915 }
9916
9917 extern __inline __m128d
9918 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_pd(__mmask8 __U,__m128d __A,__m128d __B,const int __imm)9919 _mm_maskz_shuffle_pd (__mmask8 __U, __m128d __A, __m128d __B,
9920 const int __imm)
9921 {
9922 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
9923 (__v2df) __B, __imm,
9924 (__v2df)
9925 _mm_setzero_pd (),
9926 (__mmask8) __U);
9927 }
9928
9929 extern __inline __m256
9930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B,const int __imm)9931 _mm256_mask_shuffle_ps (__m256 __W, __mmask8 __U, __m256 __A,
9932 __m256 __B, const int __imm)
9933 {
9934 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
9935 (__v8sf) __B, __imm,
9936 (__v8sf) __W,
9937 (__mmask8) __U);
9938 }
9939
9940 extern __inline __m256
9941 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_ps(__mmask8 __U,__m256 __A,__m256 __B,const int __imm)9942 _mm256_maskz_shuffle_ps (__mmask8 __U, __m256 __A, __m256 __B,
9943 const int __imm)
9944 {
9945 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
9946 (__v8sf) __B, __imm,
9947 (__v8sf)
9948 _mm256_setzero_ps (),
9949 (__mmask8) __U);
9950 }
9951
9952 extern __inline __m128
9953 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B,const int __imm)9954 _mm_mask_shuffle_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B,
9955 const int __imm)
9956 {
9957 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
9958 (__v4sf) __B, __imm,
9959 (__v4sf) __W,
9960 (__mmask8) __U);
9961 }
9962
9963 extern __inline __m128
9964 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_ps(__mmask8 __U,__m128 __A,__m128 __B,const int __imm)9965 _mm_maskz_shuffle_ps (__mmask8 __U, __m128 __A, __m128 __B,
9966 const int __imm)
9967 {
9968 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
9969 (__v4sf) __B, __imm,
9970 (__v4sf)
9971 _mm_setzero_ps (),
9972 (__mmask8) __U);
9973 }
9974
9975 extern __inline __m256i
9976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_inserti32x4(__m256i __A,__m128i __B,const int __imm)9977 _mm256_inserti32x4 (__m256i __A, __m128i __B, const int __imm)
9978 {
9979 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9980 (__v4si) __B,
9981 __imm,
9982 (__v8si)
9983 _mm256_setzero_si256 (),
9984 (__mmask8) -1);
9985 }
9986
9987 extern __inline __m256i
9988 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_inserti32x4(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B,const int __imm)9989 _mm256_mask_inserti32x4 (__m256i __W, __mmask8 __U, __m256i __A,
9990 __m128i __B, const int __imm)
9991 {
9992 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9993 (__v4si) __B,
9994 __imm,
9995 (__v8si) __W,
9996 (__mmask8)
9997 __U);
9998 }
9999
10000 extern __inline __m256i
10001 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_inserti32x4(__mmask8 __U,__m256i __A,__m128i __B,const int __imm)10002 _mm256_maskz_inserti32x4 (__mmask8 __U, __m256i __A, __m128i __B,
10003 const int __imm)
10004 {
10005 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
10006 (__v4si) __B,
10007 __imm,
10008 (__v8si)
10009 _mm256_setzero_si256 (),
10010 (__mmask8)
10011 __U);
10012 }
10013
10014 extern __inline __m256
10015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_insertf32x4(__m256 __A,__m128 __B,const int __imm)10016 _mm256_insertf32x4 (__m256 __A, __m128 __B, const int __imm)
10017 {
10018 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
10019 (__v4sf) __B,
10020 __imm,
10021 (__v8sf)
10022 _mm256_setzero_ps (),
10023 (__mmask8) -1);
10024 }
10025
10026 extern __inline __m256
10027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_insertf32x4(__m256 __W,__mmask8 __U,__m256 __A,__m128 __B,const int __imm)10028 _mm256_mask_insertf32x4 (__m256 __W, __mmask8 __U, __m256 __A,
10029 __m128 __B, const int __imm)
10030 {
10031 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
10032 (__v4sf) __B,
10033 __imm,
10034 (__v8sf) __W,
10035 (__mmask8) __U);
10036 }
10037
10038 extern __inline __m256
10039 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_insertf32x4(__mmask8 __U,__m256 __A,__m128 __B,const int __imm)10040 _mm256_maskz_insertf32x4 (__mmask8 __U, __m256 __A, __m128 __B,
10041 const int __imm)
10042 {
10043 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
10044 (__v4sf) __B,
10045 __imm,
10046 (__v8sf)
10047 _mm256_setzero_ps (),
10048 (__mmask8) __U);
10049 }
10050
10051 extern __inline __m128i
10052 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_extracti32x4_epi32(__m256i __A,const int __imm)10053 _mm256_extracti32x4_epi32 (__m256i __A, const int __imm)
10054 {
10055 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
10056 __imm,
10057 (__v4si)
10058 _mm_setzero_si128 (),
10059 (__mmask8) -1);
10060 }
10061
10062 extern __inline __m128i
10063 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_extracti32x4_epi32(__m128i __W,__mmask8 __U,__m256i __A,const int __imm)10064 _mm256_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m256i __A,
10065 const int __imm)
10066 {
10067 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
10068 __imm,
10069 (__v4si) __W,
10070 (__mmask8)
10071 __U);
10072 }
10073
10074 extern __inline __m128i
10075 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_extracti32x4_epi32(__mmask8 __U,__m256i __A,const int __imm)10076 _mm256_maskz_extracti32x4_epi32 (__mmask8 __U, __m256i __A,
10077 const int __imm)
10078 {
10079 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
10080 __imm,
10081 (__v4si)
10082 _mm_setzero_si128 (),
10083 (__mmask8)
10084 __U);
10085 }
10086
10087 extern __inline __m128
10088 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_extractf32x4_ps(__m256 __A,const int __imm)10089 _mm256_extractf32x4_ps (__m256 __A, const int __imm)
10090 {
10091 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
10092 __imm,
10093 (__v4sf)
10094 _mm_setzero_ps (),
10095 (__mmask8) -1);
10096 }
10097
10098 extern __inline __m128
10099 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_extractf32x4_ps(__m128 __W,__mmask8 __U,__m256 __A,const int __imm)10100 _mm256_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m256 __A,
10101 const int __imm)
10102 {
10103 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
10104 __imm,
10105 (__v4sf) __W,
10106 (__mmask8)
10107 __U);
10108 }
10109
10110 extern __inline __m128
10111 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_extractf32x4_ps(__mmask8 __U,__m256 __A,const int __imm)10112 _mm256_maskz_extractf32x4_ps (__mmask8 __U, __m256 __A,
10113 const int __imm)
10114 {
10115 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
10116 __imm,
10117 (__v4sf)
10118 _mm_setzero_ps (),
10119 (__mmask8)
10120 __U);
10121 }
10122
10123 extern __inline __m256i
10124 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_i64x2(__m256i __A,__m256i __B,const int __imm)10125 _mm256_shuffle_i64x2 (__m256i __A, __m256i __B, const int __imm)
10126 {
10127 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10128 (__v4di) __B,
10129 __imm,
10130 (__v4di)
10131 _mm256_setzero_si256 (),
10132 (__mmask8) -1);
10133 }
10134
10135 extern __inline __m256i
10136 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_i64x2(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10137 _mm256_mask_shuffle_i64x2 (__m256i __W, __mmask8 __U, __m256i __A,
10138 __m256i __B, const int __imm)
10139 {
10140 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10141 (__v4di) __B,
10142 __imm,
10143 (__v4di) __W,
10144 (__mmask8) __U);
10145 }
10146
10147 extern __inline __m256i
10148 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_i64x2(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10149 _mm256_maskz_shuffle_i64x2 (__mmask8 __U, __m256i __A, __m256i __B,
10150 const int __imm)
10151 {
10152 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10153 (__v4di) __B,
10154 __imm,
10155 (__v4di)
10156 _mm256_setzero_si256 (),
10157 (__mmask8) __U);
10158 }
10159
10160 extern __inline __m256i
10161 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_i32x4(__m256i __A,__m256i __B,const int __imm)10162 _mm256_shuffle_i32x4 (__m256i __A, __m256i __B, const int __imm)
10163 {
10164 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10165 (__v8si) __B,
10166 __imm,
10167 (__v8si)
10168 _mm256_setzero_si256 (),
10169 (__mmask8) -1);
10170 }
10171
10172 extern __inline __m256i
10173 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_i32x4(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10174 _mm256_mask_shuffle_i32x4 (__m256i __W, __mmask8 __U, __m256i __A,
10175 __m256i __B, const int __imm)
10176 {
10177 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10178 (__v8si) __B,
10179 __imm,
10180 (__v8si) __W,
10181 (__mmask8) __U);
10182 }
10183
10184 extern __inline __m256i
10185 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_i32x4(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10186 _mm256_maskz_shuffle_i32x4 (__mmask8 __U, __m256i __A, __m256i __B,
10187 const int __imm)
10188 {
10189 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10190 (__v8si) __B,
10191 __imm,
10192 (__v8si)
10193 _mm256_setzero_si256 (),
10194 (__mmask8) __U);
10195 }
10196
10197 extern __inline __m256d
10198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_f64x2(__m256d __A,__m256d __B,const int __imm)10199 _mm256_shuffle_f64x2 (__m256d __A, __m256d __B, const int __imm)
10200 {
10201 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10202 (__v4df) __B,
10203 __imm,
10204 (__v4df)
10205 _mm256_setzero_pd (),
10206 (__mmask8) -1);
10207 }
10208
10209 extern __inline __m256d
10210 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_f64x2(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B,const int __imm)10211 _mm256_mask_shuffle_f64x2 (__m256d __W, __mmask8 __U, __m256d __A,
10212 __m256d __B, const int __imm)
10213 {
10214 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10215 (__v4df) __B,
10216 __imm,
10217 (__v4df) __W,
10218 (__mmask8) __U);
10219 }
10220
10221 extern __inline __m256d
10222 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_f64x2(__mmask8 __U,__m256d __A,__m256d __B,const int __imm)10223 _mm256_maskz_shuffle_f64x2 (__mmask8 __U, __m256d __A, __m256d __B,
10224 const int __imm)
10225 {
10226 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10227 (__v4df) __B,
10228 __imm,
10229 (__v4df)
10230 _mm256_setzero_pd (),
10231 (__mmask8) __U);
10232 }
10233
10234 extern __inline __m256
10235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_f32x4(__m256 __A,__m256 __B,const int __imm)10236 _mm256_shuffle_f32x4 (__m256 __A, __m256 __B, const int __imm)
10237 {
10238 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10239 (__v8sf) __B,
10240 __imm,
10241 (__v8sf)
10242 _mm256_setzero_ps (),
10243 (__mmask8) -1);
10244 }
10245
10246 extern __inline __m256
10247 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_f32x4(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B,const int __imm)10248 _mm256_mask_shuffle_f32x4 (__m256 __W, __mmask8 __U, __m256 __A,
10249 __m256 __B, const int __imm)
10250 {
10251 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10252 (__v8sf) __B,
10253 __imm,
10254 (__v8sf) __W,
10255 (__mmask8) __U);
10256 }
10257
10258 extern __inline __m256
10259 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_f32x4(__mmask8 __U,__m256 __A,__m256 __B,const int __imm)10260 _mm256_maskz_shuffle_f32x4 (__mmask8 __U, __m256 __A, __m256 __B,
10261 const int __imm)
10262 {
10263 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10264 (__v8sf) __B,
10265 __imm,
10266 (__v8sf)
10267 _mm256_setzero_ps (),
10268 (__mmask8) __U);
10269 }
10270
10271 extern __inline __m256d
10272 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fixupimm_pd(__m256d __A,__m256d __B,__m256i __C,const int __imm)10273 _mm256_fixupimm_pd (__m256d __A, __m256d __B, __m256i __C,
10274 const int __imm)
10275 {
10276 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
10277 (__v4df) __B,
10278 (__v4di) __C,
10279 __imm,
10280 (__mmask8) -1);
10281 }
10282
10283 extern __inline __m256d
10284 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fixupimm_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256i __C,const int __imm)10285 _mm256_mask_fixupimm_pd (__m256d __A, __mmask8 __U, __m256d __B,
10286 __m256i __C, const int __imm)
10287 {
10288 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
10289 (__v4df) __B,
10290 (__v4di) __C,
10291 __imm,
10292 (__mmask8) __U);
10293 }
10294
10295 extern __inline __m256d
10296 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fixupimm_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256i __C,const int __imm)10297 _mm256_maskz_fixupimm_pd (__mmask8 __U, __m256d __A, __m256d __B,
10298 __m256i __C, const int __imm)
10299 {
10300 return (__m256d) __builtin_ia32_fixupimmpd256_maskz ((__v4df) __A,
10301 (__v4df) __B,
10302 (__v4di) __C,
10303 __imm,
10304 (__mmask8) __U);
10305 }
10306
10307 extern __inline __m256
10308 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fixupimm_ps(__m256 __A,__m256 __B,__m256i __C,const int __imm)10309 _mm256_fixupimm_ps (__m256 __A, __m256 __B, __m256i __C,
10310 const int __imm)
10311 {
10312 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
10313 (__v8sf) __B,
10314 (__v8si) __C,
10315 __imm,
10316 (__mmask8) -1);
10317 }
10318
10319 extern __inline __m256
10320 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fixupimm_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256i __C,const int __imm)10321 _mm256_mask_fixupimm_ps (__m256 __A, __mmask8 __U, __m256 __B,
10322 __m256i __C, const int __imm)
10323 {
10324 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
10325 (__v8sf) __B,
10326 (__v8si) __C,
10327 __imm,
10328 (__mmask8) __U);
10329 }
10330
10331 extern __inline __m256
10332 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fixupimm_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256i __C,const int __imm)10333 _mm256_maskz_fixupimm_ps (__mmask8 __U, __m256 __A, __m256 __B,
10334 __m256i __C, const int __imm)
10335 {
10336 return (__m256) __builtin_ia32_fixupimmps256_maskz ((__v8sf) __A,
10337 (__v8sf) __B,
10338 (__v8si) __C,
10339 __imm,
10340 (__mmask8) __U);
10341 }
10342
10343 extern __inline __m128d
10344 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fixupimm_pd(__m128d __A,__m128d __B,__m128i __C,const int __imm)10345 _mm_fixupimm_pd (__m128d __A, __m128d __B, __m128i __C,
10346 const int __imm)
10347 {
10348 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
10349 (__v2df) __B,
10350 (__v2di) __C,
10351 __imm,
10352 (__mmask8) -1);
10353 }
10354
10355 extern __inline __m128d
10356 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fixupimm_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128i __C,const int __imm)10357 _mm_mask_fixupimm_pd (__m128d __A, __mmask8 __U, __m128d __B,
10358 __m128i __C, const int __imm)
10359 {
10360 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
10361 (__v2df) __B,
10362 (__v2di) __C,
10363 __imm,
10364 (__mmask8) __U);
10365 }
10366
10367 extern __inline __m128d
10368 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fixupimm_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128i __C,const int __imm)10369 _mm_maskz_fixupimm_pd (__mmask8 __U, __m128d __A, __m128d __B,
10370 __m128i __C, const int __imm)
10371 {
10372 return (__m128d) __builtin_ia32_fixupimmpd128_maskz ((__v2df) __A,
10373 (__v2df) __B,
10374 (__v2di) __C,
10375 __imm,
10376 (__mmask8) __U);
10377 }
10378
10379 extern __inline __m128
10380 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fixupimm_ps(__m128 __A,__m128 __B,__m128i __C,const int __imm)10381 _mm_fixupimm_ps (__m128 __A, __m128 __B, __m128i __C, const int __imm)
10382 {
10383 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
10384 (__v4sf) __B,
10385 (__v4si) __C,
10386 __imm,
10387 (__mmask8) -1);
10388 }
10389
10390 extern __inline __m128
10391 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fixupimm_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128i __C,const int __imm)10392 _mm_mask_fixupimm_ps (__m128 __A, __mmask8 __U, __m128 __B,
10393 __m128i __C, const int __imm)
10394 {
10395 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
10396 (__v4sf) __B,
10397 (__v4si) __C,
10398 __imm,
10399 (__mmask8) __U);
10400 }
10401
10402 extern __inline __m128
10403 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fixupimm_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128i __C,const int __imm)10404 _mm_maskz_fixupimm_ps (__mmask8 __U, __m128 __A, __m128 __B,
10405 __m128i __C, const int __imm)
10406 {
10407 return (__m128) __builtin_ia32_fixupimmps128_maskz ((__v4sf) __A,
10408 (__v4sf) __B,
10409 (__v4si) __C,
10410 __imm,
10411 (__mmask8) __U);
10412 }
10413
10414 extern __inline __m256i
10415 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srli_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)10416 _mm256_mask_srli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
10417 const int __imm)
10418 {
10419 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
10420 (__v8si) __W,
10421 (__mmask8) __U);
10422 }
10423
10424 extern __inline __m256i
10425 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srli_epi32(__mmask8 __U,__m256i __A,const int __imm)10426 _mm256_maskz_srli_epi32 (__mmask8 __U, __m256i __A, const int __imm)
10427 {
10428 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
10429 (__v8si)
10430 _mm256_setzero_si256 (),
10431 (__mmask8) __U);
10432 }
10433
10434 extern __inline __m128i
10435 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srli_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)10436 _mm_mask_srli_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
10437 const int __imm)
10438 {
10439 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
10440 (__v4si) __W,
10441 (__mmask8) __U);
10442 }
10443
10444 extern __inline __m128i
10445 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srli_epi32(__mmask8 __U,__m128i __A,const int __imm)10446 _mm_maskz_srli_epi32 (__mmask8 __U, __m128i __A, const int __imm)
10447 {
10448 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
10449 (__v4si)
10450 _mm_setzero_si128 (),
10451 (__mmask8) __U);
10452 }
10453
10454 extern __inline __m256i
10455 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srli_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)10456 _mm256_mask_srli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
10457 const int __imm)
10458 {
10459 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
10460 (__v4di) __W,
10461 (__mmask8) __U);
10462 }
10463
10464 extern __inline __m256i
10465 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srli_epi64(__mmask8 __U,__m256i __A,const int __imm)10466 _mm256_maskz_srli_epi64 (__mmask8 __U, __m256i __A, const int __imm)
10467 {
10468 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
10469 (__v4di)
10470 _mm256_setzero_si256 (),
10471 (__mmask8) __U);
10472 }
10473
10474 extern __inline __m128i
10475 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srli_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)10476 _mm_mask_srli_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
10477 const int __imm)
10478 {
10479 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
10480 (__v2di) __W,
10481 (__mmask8) __U);
10482 }
10483
10484 extern __inline __m128i
10485 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srli_epi64(__mmask8 __U,__m128i __A,const int __imm)10486 _mm_maskz_srli_epi64 (__mmask8 __U, __m128i __A, const int __imm)
10487 {
10488 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
10489 (__v2di)
10490 _mm_setzero_si128 (),
10491 (__mmask8) __U);
10492 }
10493
10494 extern __inline __m256i
10495 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ternarylogic_epi64(__m256i __A,__m256i __B,__m256i __C,const int __imm)10496 _mm256_ternarylogic_epi64 (__m256i __A, __m256i __B, __m256i __C,
10497 const int __imm)
10498 {
10499 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
10500 (__v4di) __B,
10501 (__v4di) __C, __imm,
10502 (__mmask8) -1);
10503 }
10504
10505 extern __inline __m256i
10506 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ternarylogic_epi64(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C,const int __imm)10507 _mm256_mask_ternarylogic_epi64 (__m256i __A, __mmask8 __U,
10508 __m256i __B, __m256i __C,
10509 const int __imm)
10510 {
10511 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
10512 (__v4di) __B,
10513 (__v4di) __C, __imm,
10514 (__mmask8) __U);
10515 }
10516
10517 extern __inline __m256i
10518 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ternarylogic_epi64(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C,const int __imm)10519 _mm256_maskz_ternarylogic_epi64 (__mmask8 __U, __m256i __A,
10520 __m256i __B, __m256i __C,
10521 const int __imm)
10522 {
10523 return (__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di) __A,
10524 (__v4di) __B,
10525 (__v4di) __C,
10526 __imm,
10527 (__mmask8) __U);
10528 }
10529
10530 extern __inline __m256i
10531 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ternarylogic_epi32(__m256i __A,__m256i __B,__m256i __C,const int __imm)10532 _mm256_ternarylogic_epi32 (__m256i __A, __m256i __B, __m256i __C,
10533 const int __imm)
10534 {
10535 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
10536 (__v8si) __B,
10537 (__v8si) __C, __imm,
10538 (__mmask8) -1);
10539 }
10540
10541 extern __inline __m256i
10542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ternarylogic_epi32(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C,const int __imm)10543 _mm256_mask_ternarylogic_epi32 (__m256i __A, __mmask8 __U,
10544 __m256i __B, __m256i __C,
10545 const int __imm)
10546 {
10547 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
10548 (__v8si) __B,
10549 (__v8si) __C, __imm,
10550 (__mmask8) __U);
10551 }
10552
10553 extern __inline __m256i
10554 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ternarylogic_epi32(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C,const int __imm)10555 _mm256_maskz_ternarylogic_epi32 (__mmask8 __U, __m256i __A,
10556 __m256i __B, __m256i __C,
10557 const int __imm)
10558 {
10559 return (__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si) __A,
10560 (__v8si) __B,
10561 (__v8si) __C,
10562 __imm,
10563 (__mmask8) __U);
10564 }
10565
10566 extern __inline __m128i
10567 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ternarylogic_epi64(__m128i __A,__m128i __B,__m128i __C,const int __imm)10568 _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
10569 const int __imm)
10570 {
10571 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
10572 (__v2di) __B,
10573 (__v2di) __C, __imm,
10574 (__mmask8) -1);
10575 }
10576
10577 extern __inline __m128i
10578 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ternarylogic_epi64(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C,const int __imm)10579 _mm_mask_ternarylogic_epi64 (__m128i __A, __mmask8 __U,
10580 __m128i __B, __m128i __C, const int __imm)
10581 {
10582 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
10583 (__v2di) __B,
10584 (__v2di) __C, __imm,
10585 (__mmask8) __U);
10586 }
10587
10588 extern __inline __m128i
10589 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ternarylogic_epi64(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C,const int __imm)10590 _mm_maskz_ternarylogic_epi64 (__mmask8 __U, __m128i __A,
10591 __m128i __B, __m128i __C, const int __imm)
10592 {
10593 return (__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di) __A,
10594 (__v2di) __B,
10595 (__v2di) __C,
10596 __imm,
10597 (__mmask8) __U);
10598 }
10599
10600 extern __inline __m128i
10601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ternarylogic_epi32(__m128i __A,__m128i __B,__m128i __C,const int __imm)10602 _mm_ternarylogic_epi32 (__m128i __A, __m128i __B, __m128i __C,
10603 const int __imm)
10604 {
10605 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
10606 (__v4si) __B,
10607 (__v4si) __C, __imm,
10608 (__mmask8) -1);
10609 }
10610
10611 extern __inline __m128i
10612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ternarylogic_epi32(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C,const int __imm)10613 _mm_mask_ternarylogic_epi32 (__m128i __A, __mmask8 __U,
10614 __m128i __B, __m128i __C, const int __imm)
10615 {
10616 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
10617 (__v4si) __B,
10618 (__v4si) __C, __imm,
10619 (__mmask8) __U);
10620 }
10621
10622 extern __inline __m128i
10623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ternarylogic_epi32(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C,const int __imm)10624 _mm_maskz_ternarylogic_epi32 (__mmask8 __U, __m128i __A,
10625 __m128i __B, __m128i __C, const int __imm)
10626 {
10627 return (__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si) __A,
10628 (__v4si) __B,
10629 (__v4si) __C,
10630 __imm,
10631 (__mmask8) __U);
10632 }
10633
10634 extern __inline __m256
10635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_roundscale_ps(__m256 __A,const int __imm)10636 _mm256_roundscale_ps (__m256 __A, const int __imm)
10637 {
10638 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10639 __imm,
10640 (__v8sf)
10641 _mm256_setzero_ps (),
10642 (__mmask8) -1);
10643 }
10644
10645 extern __inline __m256
10646 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_roundscale_ps(__m256 __W,__mmask8 __U,__m256 __A,const int __imm)10647 _mm256_mask_roundscale_ps (__m256 __W, __mmask8 __U, __m256 __A,
10648 const int __imm)
10649 {
10650 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10651 __imm,
10652 (__v8sf) __W,
10653 (__mmask8) __U);
10654 }
10655
10656 extern __inline __m256
10657 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_roundscale_ps(__mmask8 __U,__m256 __A,const int __imm)10658 _mm256_maskz_roundscale_ps (__mmask8 __U, __m256 __A, const int __imm)
10659 {
10660 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10661 __imm,
10662 (__v8sf)
10663 _mm256_setzero_ps (),
10664 (__mmask8) __U);
10665 }
10666
10667 extern __inline __m256d
10668 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_roundscale_pd(__m256d __A,const int __imm)10669 _mm256_roundscale_pd (__m256d __A, const int __imm)
10670 {
10671 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10672 __imm,
10673 (__v4df)
10674 _mm256_setzero_pd (),
10675 (__mmask8) -1);
10676 }
10677
10678 extern __inline __m256d
10679 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_roundscale_pd(__m256d __W,__mmask8 __U,__m256d __A,const int __imm)10680 _mm256_mask_roundscale_pd (__m256d __W, __mmask8 __U, __m256d __A,
10681 const int __imm)
10682 {
10683 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10684 __imm,
10685 (__v4df) __W,
10686 (__mmask8) __U);
10687 }
10688
10689 extern __inline __m256d
10690 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_roundscale_pd(__mmask8 __U,__m256d __A,const int __imm)10691 _mm256_maskz_roundscale_pd (__mmask8 __U, __m256d __A, const int __imm)
10692 {
10693 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10694 __imm,
10695 (__v4df)
10696 _mm256_setzero_pd (),
10697 (__mmask8) __U);
10698 }
10699
10700 extern __inline __m128
10701 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_roundscale_ps(__m128 __A,const int __imm)10702 _mm_roundscale_ps (__m128 __A, const int __imm)
10703 {
10704 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10705 __imm,
10706 (__v4sf)
10707 _mm_setzero_ps (),
10708 (__mmask8) -1);
10709 }
10710
10711 extern __inline __m128
10712 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_roundscale_ps(__m128 __W,__mmask8 __U,__m128 __A,const int __imm)10713 _mm_mask_roundscale_ps (__m128 __W, __mmask8 __U, __m128 __A,
10714 const int __imm)
10715 {
10716 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10717 __imm,
10718 (__v4sf) __W,
10719 (__mmask8) __U);
10720 }
10721
10722 extern __inline __m128
10723 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_roundscale_ps(__mmask8 __U,__m128 __A,const int __imm)10724 _mm_maskz_roundscale_ps (__mmask8 __U, __m128 __A, const int __imm)
10725 {
10726 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10727 __imm,
10728 (__v4sf)
10729 _mm_setzero_ps (),
10730 (__mmask8) __U);
10731 }
10732
10733 extern __inline __m128d
10734 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_roundscale_pd(__m128d __A,const int __imm)10735 _mm_roundscale_pd (__m128d __A, const int __imm)
10736 {
10737 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10738 __imm,
10739 (__v2df)
10740 _mm_setzero_pd (),
10741 (__mmask8) -1);
10742 }
10743
10744 extern __inline __m128d
10745 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_roundscale_pd(__m128d __W,__mmask8 __U,__m128d __A,const int __imm)10746 _mm_mask_roundscale_pd (__m128d __W, __mmask8 __U, __m128d __A,
10747 const int __imm)
10748 {
10749 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10750 __imm,
10751 (__v2df) __W,
10752 (__mmask8) __U);
10753 }
10754
10755 extern __inline __m128d
10756 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_roundscale_pd(__mmask8 __U,__m128d __A,const int __imm)10757 _mm_maskz_roundscale_pd (__mmask8 __U, __m128d __A, const int __imm)
10758 {
10759 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10760 __imm,
10761 (__v2df)
10762 _mm_setzero_pd (),
10763 (__mmask8) __U);
10764 }
10765
10766 extern __inline __m256
10767 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getmant_ps(__m256 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10768 _mm256_getmant_ps (__m256 __A, _MM_MANTISSA_NORM_ENUM __B,
10769 _MM_MANTISSA_SIGN_ENUM __C)
10770 {
10771 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10772 (__C << 2) | __B,
10773 (__v8sf)
10774 _mm256_setzero_ps (),
10775 (__mmask8) -1);
10776 }
10777
10778 extern __inline __m256
10779 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getmant_ps(__m256 __W,__mmask8 __U,__m256 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10780 _mm256_mask_getmant_ps (__m256 __W, __mmask8 __U, __m256 __A,
10781 _MM_MANTISSA_NORM_ENUM __B,
10782 _MM_MANTISSA_SIGN_ENUM __C)
10783 {
10784 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10785 (__C << 2) | __B,
10786 (__v8sf) __W,
10787 (__mmask8) __U);
10788 }
10789
10790 extern __inline __m256
10791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getmant_ps(__mmask8 __U,__m256 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10792 _mm256_maskz_getmant_ps (__mmask8 __U, __m256 __A,
10793 _MM_MANTISSA_NORM_ENUM __B,
10794 _MM_MANTISSA_SIGN_ENUM __C)
10795 {
10796 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10797 (__C << 2) | __B,
10798 (__v8sf)
10799 _mm256_setzero_ps (),
10800 (__mmask8) __U);
10801 }
10802
10803 extern __inline __m128
10804 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getmant_ps(__m128 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10805 _mm_getmant_ps (__m128 __A, _MM_MANTISSA_NORM_ENUM __B,
10806 _MM_MANTISSA_SIGN_ENUM __C)
10807 {
10808 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10809 (__C << 2) | __B,
10810 (__v4sf)
10811 _mm_setzero_ps (),
10812 (__mmask8) -1);
10813 }
10814
10815 extern __inline __m128
10816 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getmant_ps(__m128 __W,__mmask8 __U,__m128 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10817 _mm_mask_getmant_ps (__m128 __W, __mmask8 __U, __m128 __A,
10818 _MM_MANTISSA_NORM_ENUM __B,
10819 _MM_MANTISSA_SIGN_ENUM __C)
10820 {
10821 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10822 (__C << 2) | __B,
10823 (__v4sf) __W,
10824 (__mmask8) __U);
10825 }
10826
10827 extern __inline __m128
10828 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getmant_ps(__mmask8 __U,__m128 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10829 _mm_maskz_getmant_ps (__mmask8 __U, __m128 __A,
10830 _MM_MANTISSA_NORM_ENUM __B,
10831 _MM_MANTISSA_SIGN_ENUM __C)
10832 {
10833 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10834 (__C << 2) | __B,
10835 (__v4sf)
10836 _mm_setzero_ps (),
10837 (__mmask8) __U);
10838 }
10839
10840 extern __inline __m256d
10841 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getmant_pd(__m256d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10842 _mm256_getmant_pd (__m256d __A, _MM_MANTISSA_NORM_ENUM __B,
10843 _MM_MANTISSA_SIGN_ENUM __C)
10844 {
10845 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10846 (__C << 2) | __B,
10847 (__v4df)
10848 _mm256_setzero_pd (),
10849 (__mmask8) -1);
10850 }
10851
10852 extern __inline __m256d
10853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getmant_pd(__m256d __W,__mmask8 __U,__m256d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10854 _mm256_mask_getmant_pd (__m256d __W, __mmask8 __U, __m256d __A,
10855 _MM_MANTISSA_NORM_ENUM __B,
10856 _MM_MANTISSA_SIGN_ENUM __C)
10857 {
10858 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10859 (__C << 2) | __B,
10860 (__v4df) __W,
10861 (__mmask8) __U);
10862 }
10863
10864 extern __inline __m256d
10865 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getmant_pd(__mmask8 __U,__m256d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10866 _mm256_maskz_getmant_pd (__mmask8 __U, __m256d __A,
10867 _MM_MANTISSA_NORM_ENUM __B,
10868 _MM_MANTISSA_SIGN_ENUM __C)
10869 {
10870 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10871 (__C << 2) | __B,
10872 (__v4df)
10873 _mm256_setzero_pd (),
10874 (__mmask8) __U);
10875 }
10876
10877 extern __inline __m128d
10878 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getmant_pd(__m128d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10879 _mm_getmant_pd (__m128d __A, _MM_MANTISSA_NORM_ENUM __B,
10880 _MM_MANTISSA_SIGN_ENUM __C)
10881 {
10882 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10883 (__C << 2) | __B,
10884 (__v2df)
10885 _mm_setzero_pd (),
10886 (__mmask8) -1);
10887 }
10888
10889 extern __inline __m128d
10890 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getmant_pd(__m128d __W,__mmask8 __U,__m128d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10891 _mm_mask_getmant_pd (__m128d __W, __mmask8 __U, __m128d __A,
10892 _MM_MANTISSA_NORM_ENUM __B,
10893 _MM_MANTISSA_SIGN_ENUM __C)
10894 {
10895 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10896 (__C << 2) | __B,
10897 (__v2df) __W,
10898 (__mmask8) __U);
10899 }
10900
10901 extern __inline __m128d
10902 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getmant_pd(__mmask8 __U,__m128d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10903 _mm_maskz_getmant_pd (__mmask8 __U, __m128d __A,
10904 _MM_MANTISSA_NORM_ENUM __B,
10905 _MM_MANTISSA_SIGN_ENUM __C)
10906 {
10907 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10908 (__C << 2) | __B,
10909 (__v2df)
10910 _mm_setzero_pd (),
10911 (__mmask8) __U);
10912 }
10913
10914 extern __inline __m256
10915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_ps(__m256 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10916 _mm256_mmask_i32gather_ps (__m256 __v1_old, __mmask8 __mask,
10917 __m256i __index, void const *__addr,
10918 int __scale)
10919 {
10920 return (__m256) __builtin_ia32_gather3siv8sf ((__v8sf) __v1_old,
10921 __addr,
10922 (__v8si) __index,
10923 __mask, __scale);
10924 }
10925
10926 extern __inline __m128
10927 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10928 _mm_mmask_i32gather_ps (__m128 __v1_old, __mmask8 __mask,
10929 __m128i __index, void const *__addr,
10930 int __scale)
10931 {
10932 return (__m128) __builtin_ia32_gather3siv4sf ((__v4sf) __v1_old,
10933 __addr,
10934 (__v4si) __index,
10935 __mask, __scale);
10936 }
10937
10938 extern __inline __m256d
10939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_pd(__m256d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10940 _mm256_mmask_i32gather_pd (__m256d __v1_old, __mmask8 __mask,
10941 __m128i __index, void const *__addr,
10942 int __scale)
10943 {
10944 return (__m256d) __builtin_ia32_gather3siv4df ((__v4df) __v1_old,
10945 __addr,
10946 (__v4si) __index,
10947 __mask, __scale);
10948 }
10949
10950 extern __inline __m128d
10951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10952 _mm_mmask_i32gather_pd (__m128d __v1_old, __mmask8 __mask,
10953 __m128i __index, void const *__addr,
10954 int __scale)
10955 {
10956 return (__m128d) __builtin_ia32_gather3siv2df ((__v2df) __v1_old,
10957 __addr,
10958 (__v4si) __index,
10959 __mask, __scale);
10960 }
10961
10962 extern __inline __m128
10963 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10964 _mm256_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
10965 __m256i __index, void const *__addr,
10966 int __scale)
10967 {
10968 return (__m128) __builtin_ia32_gather3div8sf ((__v4sf) __v1_old,
10969 __addr,
10970 (__v4di) __index,
10971 __mask, __scale);
10972 }
10973
10974 extern __inline __m128
10975 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10976 _mm_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
10977 __m128i __index, void const *__addr,
10978 int __scale)
10979 {
10980 return (__m128) __builtin_ia32_gather3div4sf ((__v4sf) __v1_old,
10981 __addr,
10982 (__v2di) __index,
10983 __mask, __scale);
10984 }
10985
10986 extern __inline __m256d
10987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_pd(__m256d __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10988 _mm256_mmask_i64gather_pd (__m256d __v1_old, __mmask8 __mask,
10989 __m256i __index, void const *__addr,
10990 int __scale)
10991 {
10992 return (__m256d) __builtin_ia32_gather3div4df ((__v4df) __v1_old,
10993 __addr,
10994 (__v4di) __index,
10995 __mask, __scale);
10996 }
10997
10998 extern __inline __m128d
10999 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)11000 _mm_mmask_i64gather_pd (__m128d __v1_old, __mmask8 __mask,
11001 __m128i __index, void const *__addr,
11002 int __scale)
11003 {
11004 return (__m128d) __builtin_ia32_gather3div2df ((__v2df) __v1_old,
11005 __addr,
11006 (__v2di) __index,
11007 __mask, __scale);
11008 }
11009
11010 extern __inline __m256i
11011 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_epi32(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)11012 _mm256_mmask_i32gather_epi32 (__m256i __v1_old, __mmask8 __mask,
11013 __m256i __index, void const *__addr,
11014 int __scale)
11015 {
11016 return (__m256i) __builtin_ia32_gather3siv8si ((__v8si) __v1_old,
11017 __addr,
11018 (__v8si) __index,
11019 __mask, __scale);
11020 }
11021
11022 extern __inline __m128i
11023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)11024 _mm_mmask_i32gather_epi32 (__m128i __v1_old, __mmask8 __mask,
11025 __m128i __index, void const *__addr,
11026 int __scale)
11027 {
11028 return (__m128i) __builtin_ia32_gather3siv4si ((__v4si) __v1_old,
11029 __addr,
11030 (__v4si) __index,
11031 __mask, __scale);
11032 }
11033
11034 extern __inline __m256i
11035 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_epi64(__m256i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)11036 _mm256_mmask_i32gather_epi64 (__m256i __v1_old, __mmask8 __mask,
11037 __m128i __index, void const *__addr,
11038 int __scale)
11039 {
11040 return (__m256i) __builtin_ia32_gather3siv4di ((__v4di) __v1_old,
11041 __addr,
11042 (__v4si) __index,
11043 __mask, __scale);
11044 }
11045
11046 extern __inline __m128i
11047 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)11048 _mm_mmask_i32gather_epi64 (__m128i __v1_old, __mmask8 __mask,
11049 __m128i __index, void const *__addr,
11050 int __scale)
11051 {
11052 return (__m128i) __builtin_ia32_gather3siv2di ((__v2di) __v1_old,
11053 __addr,
11054 (__v4si) __index,
11055 __mask, __scale);
11056 }
11057
11058 extern __inline __m128i
11059 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)11060 _mm256_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
11061 __m256i __index, void const *__addr,
11062 int __scale)
11063 {
11064 return (__m128i) __builtin_ia32_gather3div8si ((__v4si) __v1_old,
11065 __addr,
11066 (__v4di) __index,
11067 __mask, __scale);
11068 }
11069
11070 extern __inline __m128i
11071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)11072 _mm_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
11073 __m128i __index, void const *__addr,
11074 int __scale)
11075 {
11076 return (__m128i) __builtin_ia32_gather3div4si ((__v4si) __v1_old,
11077 __addr,
11078 (__v2di) __index,
11079 __mask, __scale);
11080 }
11081
11082 extern __inline __m256i
11083 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_epi64(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)11084 _mm256_mmask_i64gather_epi64 (__m256i __v1_old, __mmask8 __mask,
11085 __m256i __index, void const *__addr,
11086 int __scale)
11087 {
11088 return (__m256i) __builtin_ia32_gather3div4di ((__v4di) __v1_old,
11089 __addr,
11090 (__v4di) __index,
11091 __mask, __scale);
11092 }
11093
11094 extern __inline __m128i
11095 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)11096 _mm_mmask_i64gather_epi64 (__m128i __v1_old, __mmask8 __mask,
11097 __m128i __index, void const *__addr,
11098 int __scale)
11099 {
11100 return (__m128i) __builtin_ia32_gather3div2di ((__v2di) __v1_old,
11101 __addr,
11102 (__v2di) __index,
11103 __mask, __scale);
11104 }
11105
11106 extern __inline void
11107 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_ps(void * __addr,__m256i __index,__m256 __v1,const int __scale)11108 _mm256_i32scatter_ps (void *__addr, __m256i __index,
11109 __m256 __v1, const int __scale)
11110 {
11111 __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF,
11112 (__v8si) __index, (__v8sf) __v1,
11113 __scale);
11114 }
11115
11116 extern __inline void
11117 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_ps(void * __addr,__mmask8 __mask,__m256i __index,__m256 __v1,const int __scale)11118 _mm256_mask_i32scatter_ps (void *__addr, __mmask8 __mask,
11119 __m256i __index, __m256 __v1,
11120 const int __scale)
11121 {
11122 __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index,
11123 (__v8sf) __v1, __scale);
11124 }
11125
11126 extern __inline void
11127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_ps(void * __addr,__m128i __index,__m128 __v1,const int __scale)11128 _mm_i32scatter_ps (void *__addr, __m128i __index, __m128 __v1,
11129 const int __scale)
11130 {
11131 __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF,
11132 (__v4si) __index, (__v4sf) __v1,
11133 __scale);
11134 }
11135
11136 extern __inline void
11137 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_ps(void * __addr,__mmask8 __mask,__m128i __index,__m128 __v1,const int __scale)11138 _mm_mask_i32scatter_ps (void *__addr, __mmask8 __mask,
11139 __m128i __index, __m128 __v1,
11140 const int __scale)
11141 {
11142 __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index,
11143 (__v4sf) __v1, __scale);
11144 }
11145
11146 extern __inline void
11147 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_pd(void * __addr,__m128i __index,__m256d __v1,const int __scale)11148 _mm256_i32scatter_pd (void *__addr, __m128i __index,
11149 __m256d __v1, const int __scale)
11150 {
11151 __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF,
11152 (__v4si) __index, (__v4df) __v1,
11153 __scale);
11154 }
11155
11156 extern __inline void
11157 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m256d __v1,const int __scale)11158 _mm256_mask_i32scatter_pd (void *__addr, __mmask8 __mask,
11159 __m128i __index, __m256d __v1,
11160 const int __scale)
11161 {
11162 __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index,
11163 (__v4df) __v1, __scale);
11164 }
11165
11166 extern __inline void
11167 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_pd(void * __addr,__m128i __index,__m128d __v1,const int __scale)11168 _mm_i32scatter_pd (void *__addr, __m128i __index,
11169 __m128d __v1, const int __scale)
11170 {
11171 __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF,
11172 (__v4si) __index, (__v2df) __v1,
11173 __scale);
11174 }
11175
11176 extern __inline void
11177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m128d __v1,const int __scale)11178 _mm_mask_i32scatter_pd (void *__addr, __mmask8 __mask,
11179 __m128i __index, __m128d __v1,
11180 const int __scale)
11181 {
11182 __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index,
11183 (__v2df) __v1, __scale);
11184 }
11185
11186 extern __inline void
11187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_ps(void * __addr,__m256i __index,__m128 __v1,const int __scale)11188 _mm256_i64scatter_ps (void *__addr, __m256i __index,
11189 __m128 __v1, const int __scale)
11190 {
11191 __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF,
11192 (__v4di) __index, (__v4sf) __v1,
11193 __scale);
11194 }
11195
11196 extern __inline void
11197 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_ps(void * __addr,__mmask8 __mask,__m256i __index,__m128 __v1,const int __scale)11198 _mm256_mask_i64scatter_ps (void *__addr, __mmask8 __mask,
11199 __m256i __index, __m128 __v1,
11200 const int __scale)
11201 {
11202 __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index,
11203 (__v4sf) __v1, __scale);
11204 }
11205
11206 extern __inline void
11207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_ps(void * __addr,__m128i __index,__m128 __v1,const int __scale)11208 _mm_i64scatter_ps (void *__addr, __m128i __index, __m128 __v1,
11209 const int __scale)
11210 {
11211 __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF,
11212 (__v2di) __index, (__v4sf) __v1,
11213 __scale);
11214 }
11215
11216 extern __inline void
11217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_ps(void * __addr,__mmask8 __mask,__m128i __index,__m128 __v1,const int __scale)11218 _mm_mask_i64scatter_ps (void *__addr, __mmask8 __mask,
11219 __m128i __index, __m128 __v1,
11220 const int __scale)
11221 {
11222 __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index,
11223 (__v4sf) __v1, __scale);
11224 }
11225
11226 extern __inline void
11227 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_pd(void * __addr,__m256i __index,__m256d __v1,const int __scale)11228 _mm256_i64scatter_pd (void *__addr, __m256i __index,
11229 __m256d __v1, const int __scale)
11230 {
11231 __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF,
11232 (__v4di) __index, (__v4df) __v1,
11233 __scale);
11234 }
11235
11236 extern __inline void
11237 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_pd(void * __addr,__mmask8 __mask,__m256i __index,__m256d __v1,const int __scale)11238 _mm256_mask_i64scatter_pd (void *__addr, __mmask8 __mask,
11239 __m256i __index, __m256d __v1,
11240 const int __scale)
11241 {
11242 __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index,
11243 (__v4df) __v1, __scale);
11244 }
11245
11246 extern __inline void
11247 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_pd(void * __addr,__m128i __index,__m128d __v1,const int __scale)11248 _mm_i64scatter_pd (void *__addr, __m128i __index,
11249 __m128d __v1, const int __scale)
11250 {
11251 __builtin_ia32_scatterdiv2df (__addr, (__mmask8) 0xFF,
11252 (__v2di) __index, (__v2df) __v1,
11253 __scale);
11254 }
11255
11256 extern __inline void
11257 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m128d __v1,const int __scale)11258 _mm_mask_i64scatter_pd (void *__addr, __mmask8 __mask,
11259 __m128i __index, __m128d __v1,
11260 const int __scale)
11261 {
11262 __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index,
11263 (__v2df) __v1, __scale);
11264 }
11265
11266 extern __inline void
11267 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_epi32(void * __addr,__m256i __index,__m256i __v1,const int __scale)11268 _mm256_i32scatter_epi32 (void *__addr, __m256i __index,
11269 __m256i __v1, const int __scale)
11270 {
11271 __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF,
11272 (__v8si) __index, (__v8si) __v1,
11273 __scale);
11274 }
11275
11276 extern __inline void
11277 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_epi32(void * __addr,__mmask8 __mask,__m256i __index,__m256i __v1,const int __scale)11278 _mm256_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask,
11279 __m256i __index, __m256i __v1,
11280 const int __scale)
11281 {
11282 __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index,
11283 (__v8si) __v1, __scale);
11284 }
11285
11286 extern __inline void
11287 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_epi32(void * __addr,__m128i __index,__m128i __v1,const int __scale)11288 _mm_i32scatter_epi32 (void *__addr, __m128i __index,
11289 __m128i __v1, const int __scale)
11290 {
11291 __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF,
11292 (__v4si) __index, (__v4si) __v1,
11293 __scale);
11294 }
11295
11296 extern __inline void
11297 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_epi32(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11298 _mm_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask,
11299 __m128i __index, __m128i __v1,
11300 const int __scale)
11301 {
11302 __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index,
11303 (__v4si) __v1, __scale);
11304 }
11305
11306 extern __inline void
11307 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_epi64(void * __addr,__m128i __index,__m256i __v1,const int __scale)11308 _mm256_i32scatter_epi64 (void *__addr, __m128i __index,
11309 __m256i __v1, const int __scale)
11310 {
11311 __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF,
11312 (__v4si) __index, (__v4di) __v1,
11313 __scale);
11314 }
11315
11316 extern __inline void
11317 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m256i __v1,const int __scale)11318 _mm256_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask,
11319 __m128i __index, __m256i __v1,
11320 const int __scale)
11321 {
11322 __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index,
11323 (__v4di) __v1, __scale);
11324 }
11325
11326 extern __inline void
11327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_epi64(void * __addr,__m128i __index,__m128i __v1,const int __scale)11328 _mm_i32scatter_epi64 (void *__addr, __m128i __index,
11329 __m128i __v1, const int __scale)
11330 {
11331 __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF,
11332 (__v4si) __index, (__v2di) __v1,
11333 __scale);
11334 }
11335
11336 extern __inline void
11337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11338 _mm_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask,
11339 __m128i __index, __m128i __v1,
11340 const int __scale)
11341 {
11342 __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index,
11343 (__v2di) __v1, __scale);
11344 }
11345
11346 extern __inline void
11347 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_epi32(void * __addr,__m256i __index,__m128i __v1,const int __scale)11348 _mm256_i64scatter_epi32 (void *__addr, __m256i __index,
11349 __m128i __v1, const int __scale)
11350 {
11351 __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF,
11352 (__v4di) __index, (__v4si) __v1,
11353 __scale);
11354 }
11355
11356 extern __inline void
11357 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_epi32(void * __addr,__mmask8 __mask,__m256i __index,__m128i __v1,const int __scale)11358 _mm256_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask,
11359 __m256i __index, __m128i __v1,
11360 const int __scale)
11361 {
11362 __builtin_ia32_scatterdiv8si (__addr, __mask, (__v4di) __index,
11363 (__v4si) __v1, __scale);
11364 }
11365
11366 extern __inline void
11367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_epi32(void * __addr,__m128i __index,__m128i __v1,const int __scale)11368 _mm_i64scatter_epi32 (void *__addr, __m128i __index,
11369 __m128i __v1, const int __scale)
11370 {
11371 __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF,
11372 (__v2di) __index, (__v4si) __v1,
11373 __scale);
11374 }
11375
11376 extern __inline void
11377 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_epi32(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11378 _mm_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask,
11379 __m128i __index, __m128i __v1,
11380 const int __scale)
11381 {
11382 __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index,
11383 (__v4si) __v1, __scale);
11384 }
11385
11386 extern __inline void
11387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_epi64(void * __addr,__m256i __index,__m256i __v1,const int __scale)11388 _mm256_i64scatter_epi64 (void *__addr, __m256i __index,
11389 __m256i __v1, const int __scale)
11390 {
11391 __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF,
11392 (__v4di) __index, (__v4di) __v1,
11393 __scale);
11394 }
11395
11396 extern __inline void
11397 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_epi64(void * __addr,__mmask8 __mask,__m256i __index,__m256i __v1,const int __scale)11398 _mm256_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask,
11399 __m256i __index, __m256i __v1,
11400 const int __scale)
11401 {
11402 __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index,
11403 (__v4di) __v1, __scale);
11404 }
11405
11406 extern __inline void
11407 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_epi64(void * __addr,__m128i __index,__m128i __v1,const int __scale)11408 _mm_i64scatter_epi64 (void *__addr, __m128i __index,
11409 __m128i __v1, const int __scale)
11410 {
11411 __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF,
11412 (__v2di) __index, (__v2di) __v1,
11413 __scale);
11414 }
11415
11416 extern __inline void
11417 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11418 _mm_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask,
11419 __m128i __index, __m128i __v1,
11420 const int __scale)
11421 {
11422 __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index,
11423 (__v2di) __v1, __scale);
11424 }
11425
11426 extern __inline __m256i
11427 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_epi32(__m256i __W,__mmask8 __U,__m256i __A,_MM_PERM_ENUM __mask)11428 _mm256_mask_shuffle_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11429 _MM_PERM_ENUM __mask)
11430 {
11431 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
11432 (__v8si) __W,
11433 (__mmask8) __U);
11434 }
11435
11436 extern __inline __m256i
11437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_epi32(__mmask8 __U,__m256i __A,_MM_PERM_ENUM __mask)11438 _mm256_maskz_shuffle_epi32 (__mmask8 __U, __m256i __A,
11439 _MM_PERM_ENUM __mask)
11440 {
11441 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
11442 (__v8si)
11443 _mm256_setzero_si256 (),
11444 (__mmask8) __U);
11445 }
11446
11447 extern __inline __m128i
11448 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_epi32(__m128i __W,__mmask8 __U,__m128i __A,_MM_PERM_ENUM __mask)11449 _mm_mask_shuffle_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11450 _MM_PERM_ENUM __mask)
11451 {
11452 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
11453 (__v4si) __W,
11454 (__mmask8) __U);
11455 }
11456
11457 extern __inline __m128i
11458 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_epi32(__mmask8 __U,__m128i __A,_MM_PERM_ENUM __mask)11459 _mm_maskz_shuffle_epi32 (__mmask8 __U, __m128i __A,
11460 _MM_PERM_ENUM __mask)
11461 {
11462 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
11463 (__v4si)
11464 _mm_setzero_si128 (),
11465 (__mmask8) __U);
11466 }
11467
11468 extern __inline __m256i
11469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rol_epi32(__m256i __A,const int __B)11470 _mm256_rol_epi32 (__m256i __A, const int __B)
11471 {
11472 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11473 (__v8si)
11474 _mm256_setzero_si256 (),
11475 (__mmask8) -1);
11476 }
11477
11478 extern __inline __m256i
11479 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rol_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11480 _mm256_mask_rol_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11481 const int __B)
11482 {
11483 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11484 (__v8si) __W,
11485 (__mmask8) __U);
11486 }
11487
11488 extern __inline __m256i
11489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rol_epi32(__mmask8 __U,__m256i __A,const int __B)11490 _mm256_maskz_rol_epi32 (__mmask8 __U, __m256i __A, const int __B)
11491 {
11492 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11493 (__v8si)
11494 _mm256_setzero_si256 (),
11495 (__mmask8) __U);
11496 }
11497
11498 extern __inline __m128i
11499 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rol_epi32(__m128i __A,const int __B)11500 _mm_rol_epi32 (__m128i __A, const int __B)
11501 {
11502 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11503 (__v4si)
11504 _mm_setzero_si128 (),
11505 (__mmask8) -1);
11506 }
11507
11508 extern __inline __m128i
11509 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rol_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11510 _mm_mask_rol_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11511 const int __B)
11512 {
11513 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11514 (__v4si) __W,
11515 (__mmask8) __U);
11516 }
11517
11518 extern __inline __m128i
11519 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rol_epi32(__mmask8 __U,__m128i __A,const int __B)11520 _mm_maskz_rol_epi32 (__mmask8 __U, __m128i __A, const int __B)
11521 {
11522 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11523 (__v4si)
11524 _mm_setzero_si128 (),
11525 (__mmask8) __U);
11526 }
11527
11528 extern __inline __m256i
11529 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ror_epi32(__m256i __A,const int __B)11530 _mm256_ror_epi32 (__m256i __A, const int __B)
11531 {
11532 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11533 (__v8si)
11534 _mm256_setzero_si256 (),
11535 (__mmask8) -1);
11536 }
11537
11538 extern __inline __m256i
11539 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ror_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11540 _mm256_mask_ror_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11541 const int __B)
11542 {
11543 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11544 (__v8si) __W,
11545 (__mmask8) __U);
11546 }
11547
11548 extern __inline __m256i
11549 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ror_epi32(__mmask8 __U,__m256i __A,const int __B)11550 _mm256_maskz_ror_epi32 (__mmask8 __U, __m256i __A, const int __B)
11551 {
11552 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11553 (__v8si)
11554 _mm256_setzero_si256 (),
11555 (__mmask8) __U);
11556 }
11557
11558 extern __inline __m128i
11559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ror_epi32(__m128i __A,const int __B)11560 _mm_ror_epi32 (__m128i __A, const int __B)
11561 {
11562 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11563 (__v4si)
11564 _mm_setzero_si128 (),
11565 (__mmask8) -1);
11566 }
11567
11568 extern __inline __m128i
11569 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ror_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11570 _mm_mask_ror_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11571 const int __B)
11572 {
11573 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11574 (__v4si) __W,
11575 (__mmask8) __U);
11576 }
11577
11578 extern __inline __m128i
11579 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ror_epi32(__mmask8 __U,__m128i __A,const int __B)11580 _mm_maskz_ror_epi32 (__mmask8 __U, __m128i __A, const int __B)
11581 {
11582 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11583 (__v4si)
11584 _mm_setzero_si128 (),
11585 (__mmask8) __U);
11586 }
11587
11588 extern __inline __m256i
11589 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rol_epi64(__m256i __A,const int __B)11590 _mm256_rol_epi64 (__m256i __A, const int __B)
11591 {
11592 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11593 (__v4di)
11594 _mm256_setzero_si256 (),
11595 (__mmask8) -1);
11596 }
11597
11598 extern __inline __m256i
11599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rol_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11600 _mm256_mask_rol_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11601 const int __B)
11602 {
11603 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11604 (__v4di) __W,
11605 (__mmask8) __U);
11606 }
11607
11608 extern __inline __m256i
11609 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rol_epi64(__mmask8 __U,__m256i __A,const int __B)11610 _mm256_maskz_rol_epi64 (__mmask8 __U, __m256i __A, const int __B)
11611 {
11612 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11613 (__v4di)
11614 _mm256_setzero_si256 (),
11615 (__mmask8) __U);
11616 }
11617
11618 extern __inline __m128i
11619 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rol_epi64(__m128i __A,const int __B)11620 _mm_rol_epi64 (__m128i __A, const int __B)
11621 {
11622 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11623 (__v2di)
11624 _mm_setzero_si128 (),
11625 (__mmask8) -1);
11626 }
11627
11628 extern __inline __m128i
11629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rol_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11630 _mm_mask_rol_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11631 const int __B)
11632 {
11633 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11634 (__v2di) __W,
11635 (__mmask8) __U);
11636 }
11637
11638 extern __inline __m128i
11639 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rol_epi64(__mmask8 __U,__m128i __A,const int __B)11640 _mm_maskz_rol_epi64 (__mmask8 __U, __m128i __A, const int __B)
11641 {
11642 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11643 (__v2di)
11644 _mm_setzero_si128 (),
11645 (__mmask8) __U);
11646 }
11647
11648 extern __inline __m256i
11649 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ror_epi64(__m256i __A,const int __B)11650 _mm256_ror_epi64 (__m256i __A, const int __B)
11651 {
11652 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11653 (__v4di)
11654 _mm256_setzero_si256 (),
11655 (__mmask8) -1);
11656 }
11657
11658 extern __inline __m256i
11659 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ror_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11660 _mm256_mask_ror_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11661 const int __B)
11662 {
11663 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11664 (__v4di) __W,
11665 (__mmask8) __U);
11666 }
11667
11668 extern __inline __m256i
11669 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ror_epi64(__mmask8 __U,__m256i __A,const int __B)11670 _mm256_maskz_ror_epi64 (__mmask8 __U, __m256i __A, const int __B)
11671 {
11672 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11673 (__v4di)
11674 _mm256_setzero_si256 (),
11675 (__mmask8) __U);
11676 }
11677
11678 extern __inline __m128i
11679 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ror_epi64(__m128i __A,const int __B)11680 _mm_ror_epi64 (__m128i __A, const int __B)
11681 {
11682 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11683 (__v2di)
11684 _mm_setzero_si128 (),
11685 (__mmask8) -1);
11686 }
11687
11688 extern __inline __m128i
11689 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ror_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11690 _mm_mask_ror_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11691 const int __B)
11692 {
11693 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11694 (__v2di) __W,
11695 (__mmask8) __U);
11696 }
11697
11698 extern __inline __m128i
11699 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ror_epi64(__mmask8 __U,__m128i __A,const int __B)11700 _mm_maskz_ror_epi64 (__mmask8 __U, __m128i __A, const int __B)
11701 {
11702 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11703 (__v2di)
11704 _mm_setzero_si128 (),
11705 (__mmask8) __U);
11706 }
11707
11708 extern __inline __m128i
11709 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_alignr_epi32(__m128i __A,__m128i __B,const int __imm)11710 _mm_alignr_epi32 (__m128i __A, __m128i __B, const int __imm)
11711 {
11712 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11713 (__v4si) __B, __imm,
11714 (__v4si)
11715 _mm_setzero_si128 (),
11716 (__mmask8) -1);
11717 }
11718
11719 extern __inline __m128i
11720 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_alignr_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11721 _mm_mask_alignr_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11722 __m128i __B, const int __imm)
11723 {
11724 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11725 (__v4si) __B, __imm,
11726 (__v4si) __W,
11727 (__mmask8) __U);
11728 }
11729
11730 extern __inline __m128i
11731 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_alignr_epi32(__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11732 _mm_maskz_alignr_epi32 (__mmask8 __U, __m128i __A, __m128i __B,
11733 const int __imm)
11734 {
11735 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11736 (__v4si) __B, __imm,
11737 (__v4si)
11738 _mm_setzero_si128 (),
11739 (__mmask8) __U);
11740 }
11741
11742 extern __inline __m128i
11743 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_alignr_epi64(__m128i __A,__m128i __B,const int __imm)11744 _mm_alignr_epi64 (__m128i __A, __m128i __B, const int __imm)
11745 {
11746 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11747 (__v2di) __B, __imm,
11748 (__v2di)
11749 _mm_setzero_si128 (),
11750 (__mmask8) -1);
11751 }
11752
11753 extern __inline __m128i
11754 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_alignr_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11755 _mm_mask_alignr_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11756 __m128i __B, const int __imm)
11757 {
11758 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11759 (__v2di) __B, __imm,
11760 (__v2di) __W,
11761 (__mmask8) __U);
11762 }
11763
11764 extern __inline __m128i
11765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_alignr_epi64(__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11766 _mm_maskz_alignr_epi64 (__mmask8 __U, __m128i __A, __m128i __B,
11767 const int __imm)
11768 {
11769 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11770 (__v2di) __B, __imm,
11771 (__v2di)
11772 _mm_setzero_si128 (),
11773 (__mmask8) __U);
11774 }
11775
11776 extern __inline __m256i
11777 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_alignr_epi32(__m256i __A,__m256i __B,const int __imm)11778 _mm256_alignr_epi32 (__m256i __A, __m256i __B, const int __imm)
11779 {
11780 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11781 (__v8si) __B, __imm,
11782 (__v8si)
11783 _mm256_setzero_si256 (),
11784 (__mmask8) -1);
11785 }
11786
11787 extern __inline __m256i
11788 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_alignr_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11789 _mm256_mask_alignr_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11790 __m256i __B, const int __imm)
11791 {
11792 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11793 (__v8si) __B, __imm,
11794 (__v8si) __W,
11795 (__mmask8) __U);
11796 }
11797
11798 extern __inline __m256i
11799 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_alignr_epi32(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11800 _mm256_maskz_alignr_epi32 (__mmask8 __U, __m256i __A, __m256i __B,
11801 const int __imm)
11802 {
11803 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11804 (__v8si) __B, __imm,
11805 (__v8si)
11806 _mm256_setzero_si256 (),
11807 (__mmask8) __U);
11808 }
11809
11810 extern __inline __m256i
11811 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_alignr_epi64(__m256i __A,__m256i __B,const int __imm)11812 _mm256_alignr_epi64 (__m256i __A, __m256i __B, const int __imm)
11813 {
11814 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11815 (__v4di) __B, __imm,
11816 (__v4di)
11817 _mm256_setzero_si256 (),
11818 (__mmask8) -1);
11819 }
11820
11821 extern __inline __m256i
11822 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_alignr_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11823 _mm256_mask_alignr_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11824 __m256i __B, const int __imm)
11825 {
11826 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11827 (__v4di) __B, __imm,
11828 (__v4di) __W,
11829 (__mmask8) __U);
11830 }
11831
11832 extern __inline __m256i
11833 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_alignr_epi64(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11834 _mm256_maskz_alignr_epi64 (__mmask8 __U, __m256i __A, __m256i __B,
11835 const int __imm)
11836 {
11837 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11838 (__v4di) __B, __imm,
11839 (__v4di)
11840 _mm256_setzero_si256 (),
11841 (__mmask8) __U);
11842 }
11843
11844 extern __inline __m128i
11845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m128 __A,const int __I)11846 _mm_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m128 __A,
11847 const int __I)
11848 {
11849 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
11850 (__v8hi) __W,
11851 (__mmask8) __U);
11852 }
11853
11854 extern __inline __m128i
11855 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_ph(__mmask8 __U,__m128 __A,const int __I)11856 _mm_maskz_cvtps_ph (__mmask8 __U, __m128 __A, const int __I)
11857 {
11858 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
11859 (__v8hi)
11860 _mm_setzero_si128 (),
11861 (__mmask8) __U);
11862 }
11863
11864 extern __inline __m128i
11865 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m256 __A,const int __I)11866 _mm256_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m256 __A,
11867 const int __I)
11868 {
11869 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
11870 (__v8hi) __W,
11871 (__mmask8) __U);
11872 }
11873
11874 extern __inline __m128i
11875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_ph(__mmask8 __U,__m256 __A,const int __I)11876 _mm256_maskz_cvtps_ph (__mmask8 __U, __m256 __A, const int __I)
11877 {
11878 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
11879 (__v8hi)
11880 _mm_setzero_si128 (),
11881 (__mmask8) __U);
11882 }
11883
11884 extern __inline __m256i
11885 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srai_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)11886 _mm256_mask_srai_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11887 const int __imm)
11888 {
11889 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
11890 (__v8si) __W,
11891 (__mmask8) __U);
11892 }
11893
11894 extern __inline __m256i
11895 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srai_epi32(__mmask8 __U,__m256i __A,const int __imm)11896 _mm256_maskz_srai_epi32 (__mmask8 __U, __m256i __A, const int __imm)
11897 {
11898 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
11899 (__v8si)
11900 _mm256_setzero_si256 (),
11901 (__mmask8) __U);
11902 }
11903
11904 extern __inline __m128i
11905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srai_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)11906 _mm_mask_srai_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11907 const int __imm)
11908 {
11909 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
11910 (__v4si) __W,
11911 (__mmask8) __U);
11912 }
11913
11914 extern __inline __m128i
11915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srai_epi32(__mmask8 __U,__m128i __A,const int __imm)11916 _mm_maskz_srai_epi32 (__mmask8 __U, __m128i __A, const int __imm)
11917 {
11918 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
11919 (__v4si)
11920 _mm_setzero_si128 (),
11921 (__mmask8) __U);
11922 }
11923
11924 extern __inline __m256i
11925 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srai_epi64(__m256i __A,const int __imm)11926 _mm256_srai_epi64 (__m256i __A, const int __imm)
11927 {
11928 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11929 (__v4di)
11930 _mm256_setzero_si256 (),
11931 (__mmask8) -1);
11932 }
11933
11934 extern __inline __m256i
11935 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srai_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)11936 _mm256_mask_srai_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11937 const int __imm)
11938 {
11939 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11940 (__v4di) __W,
11941 (__mmask8) __U);
11942 }
11943
11944 extern __inline __m256i
11945 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srai_epi64(__mmask8 __U,__m256i __A,const int __imm)11946 _mm256_maskz_srai_epi64 (__mmask8 __U, __m256i __A, const int __imm)
11947 {
11948 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11949 (__v4di)
11950 _mm256_setzero_si256 (),
11951 (__mmask8) __U);
11952 }
11953
11954 extern __inline __m128i
11955 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_epi64(__m128i __A,const int __imm)11956 _mm_srai_epi64 (__m128i __A, const int __imm)
11957 {
11958 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11959 (__v2di)
11960 _mm_setzero_si128 (),
11961 (__mmask8) -1);
11962 }
11963
11964 extern __inline __m128i
11965 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srai_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)11966 _mm_mask_srai_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11967 const int __imm)
11968 {
11969 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11970 (__v2di) __W,
11971 (__mmask8) __U);
11972 }
11973
11974 extern __inline __m128i
11975 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srai_epi64(__mmask8 __U,__m128i __A,const int __imm)11976 _mm_maskz_srai_epi64 (__mmask8 __U, __m128i __A, const int __imm)
11977 {
11978 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11979 (__v2di)
11980 _mm_setzero_si128 (),
11981 (__mmask8) __U);
11982 }
11983
11984 extern __inline __m128i
11985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_slli_epi32(__m128i __W,__mmask8 __U,__m128i __A,int __B)11986 _mm_mask_slli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
11987 {
11988 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
11989 (__v4si) __W,
11990 (__mmask8) __U);
11991 }
11992
11993 extern __inline __m128i
11994 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_slli_epi32(__mmask8 __U,__m128i __A,int __B)11995 _mm_maskz_slli_epi32 (__mmask8 __U, __m128i __A, int __B)
11996 {
11997 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
11998 (__v4si)
11999 _mm_setzero_si128 (),
12000 (__mmask8) __U);
12001 }
12002
12003 extern __inline __m128i
12004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_slli_epi64(__m128i __W,__mmask8 __U,__m128i __A,int __B)12005 _mm_mask_slli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
12006 {
12007 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
12008 (__v2di) __W,
12009 (__mmask8) __U);
12010 }
12011
12012 extern __inline __m128i
12013 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_slli_epi64(__mmask8 __U,__m128i __A,int __B)12014 _mm_maskz_slli_epi64 (__mmask8 __U, __m128i __A, int __B)
12015 {
12016 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
12017 (__v2di)
12018 _mm_setzero_si128 (),
12019 (__mmask8) __U);
12020 }
12021
12022 extern __inline __m256i
12023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_slli_epi32(__m256i __W,__mmask8 __U,__m256i __A,int __B)12024 _mm256_mask_slli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
12025 int __B)
12026 {
12027 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
12028 (__v8si) __W,
12029 (__mmask8) __U);
12030 }
12031
12032 extern __inline __m256i
12033 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_slli_epi32(__mmask8 __U,__m256i __A,int __B)12034 _mm256_maskz_slli_epi32 (__mmask8 __U, __m256i __A, int __B)
12035 {
12036 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
12037 (__v8si)
12038 _mm256_setzero_si256 (),
12039 (__mmask8) __U);
12040 }
12041
12042 extern __inline __m256i
12043 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_slli_epi64(__m256i __W,__mmask8 __U,__m256i __A,int __B)12044 _mm256_mask_slli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
12045 int __B)
12046 {
12047 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
12048 (__v4di) __W,
12049 (__mmask8) __U);
12050 }
12051
12052 extern __inline __m256i
12053 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_slli_epi64(__mmask8 __U,__m256i __A,int __B)12054 _mm256_maskz_slli_epi64 (__mmask8 __U, __m256i __A, int __B)
12055 {
12056 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
12057 (__v4di)
12058 _mm256_setzero_si256 (),
12059 (__mmask8) __U);
12060 }
12061
12062 extern __inline __m256d
12063 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex_pd(__m256d __W,__mmask8 __U,__m256d __X,const int __imm)12064 _mm256_mask_permutex_pd (__m256d __W, __mmask8 __U, __m256d __X,
12065 const int __imm)
12066 {
12067 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
12068 (__v4df) __W,
12069 (__mmask8) __U);
12070 }
12071
12072 extern __inline __m256d
12073 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex_pd(__mmask8 __U,__m256d __X,const int __imm)12074 _mm256_maskz_permutex_pd (__mmask8 __U, __m256d __X, const int __imm)
12075 {
12076 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
12077 (__v4df)
12078 _mm256_setzero_pd (),
12079 (__mmask8) __U);
12080 }
12081
12082 extern __inline __m256d
12083 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permute_pd(__m256d __W,__mmask8 __U,__m256d __X,const int __C)12084 _mm256_mask_permute_pd (__m256d __W, __mmask8 __U, __m256d __X,
12085 const int __C)
12086 {
12087 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
12088 (__v4df) __W,
12089 (__mmask8) __U);
12090 }
12091
12092 extern __inline __m256d
12093 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permute_pd(__mmask8 __U,__m256d __X,const int __C)12094 _mm256_maskz_permute_pd (__mmask8 __U, __m256d __X, const int __C)
12095 {
12096 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
12097 (__v4df)
12098 _mm256_setzero_pd (),
12099 (__mmask8) __U);
12100 }
12101
12102 extern __inline __m128d
12103 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permute_pd(__m128d __W,__mmask8 __U,__m128d __X,const int __C)12104 _mm_mask_permute_pd (__m128d __W, __mmask8 __U, __m128d __X,
12105 const int __C)
12106 {
12107 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
12108 (__v2df) __W,
12109 (__mmask8) __U);
12110 }
12111
12112 extern __inline __m128d
12113 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permute_pd(__mmask8 __U,__m128d __X,const int __C)12114 _mm_maskz_permute_pd (__mmask8 __U, __m128d __X, const int __C)
12115 {
12116 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
12117 (__v2df)
12118 _mm_setzero_pd (),
12119 (__mmask8) __U);
12120 }
12121
12122 extern __inline __m256
12123 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permute_ps(__m256 __W,__mmask8 __U,__m256 __X,const int __C)12124 _mm256_mask_permute_ps (__m256 __W, __mmask8 __U, __m256 __X,
12125 const int __C)
12126 {
12127 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
12128 (__v8sf) __W,
12129 (__mmask8) __U);
12130 }
12131
12132 extern __inline __m256
12133 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permute_ps(__mmask8 __U,__m256 __X,const int __C)12134 _mm256_maskz_permute_ps (__mmask8 __U, __m256 __X, const int __C)
12135 {
12136 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
12137 (__v8sf)
12138 _mm256_setzero_ps (),
12139 (__mmask8) __U);
12140 }
12141
12142 extern __inline __m128
12143 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permute_ps(__m128 __W,__mmask8 __U,__m128 __X,const int __C)12144 _mm_mask_permute_ps (__m128 __W, __mmask8 __U, __m128 __X,
12145 const int __C)
12146 {
12147 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
12148 (__v4sf) __W,
12149 (__mmask8) __U);
12150 }
12151
12152 extern __inline __m128
12153 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permute_ps(__mmask8 __U,__m128 __X,const int __C)12154 _mm_maskz_permute_ps (__mmask8 __U, __m128 __X, const int __C)
12155 {
12156 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
12157 (__v4sf)
12158 _mm_setzero_ps (),
12159 (__mmask8) __U);
12160 }
12161
12162 extern __inline __m256d
12163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_pd(__mmask8 __U,__m256d __A,__m256d __W)12164 _mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W)
12165 {
12166 return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A,
12167 (__v4df) __W,
12168 (__mmask8) __U);
12169 }
12170
12171 extern __inline __m256
12172 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_ps(__mmask8 __U,__m256 __A,__m256 __W)12173 _mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W)
12174 {
12175 return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A,
12176 (__v8sf) __W,
12177 (__mmask8) __U);
12178 }
12179
12180 extern __inline __m256i
12181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_epi64(__mmask8 __U,__m256i __A,__m256i __W)12182 _mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W)
12183 {
12184 return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A,
12185 (__v4di) __W,
12186 (__mmask8) __U);
12187 }
12188
12189 extern __inline __m256i
12190 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_epi32(__mmask8 __U,__m256i __A,__m256i __W)12191 _mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W)
12192 {
12193 return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A,
12194 (__v8si) __W,
12195 (__mmask8) __U);
12196 }
12197
12198 extern __inline __m128d
12199 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_pd(__mmask8 __U,__m128d __A,__m128d __W)12200 _mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W)
12201 {
12202 return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A,
12203 (__v2df) __W,
12204 (__mmask8) __U);
12205 }
12206
12207 extern __inline __m128
12208 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_ps(__mmask8 __U,__m128 __A,__m128 __W)12209 _mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W)
12210 {
12211 return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A,
12212 (__v4sf) __W,
12213 (__mmask8) __U);
12214 }
12215
12216 extern __inline __m128i
12217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_epi64(__mmask8 __U,__m128i __A,__m128i __W)12218 _mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W)
12219 {
12220 return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A,
12221 (__v2di) __W,
12222 (__mmask8) __U);
12223 }
12224
12225 extern __inline __m128i
12226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_epi32(__mmask8 __U,__m128i __A,__m128i __W)12227 _mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W)
12228 {
12229 return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A,
12230 (__v4si) __W,
12231 (__mmask8) __U);
12232 }
12233
12234 extern __inline __mmask8
12235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epi64_mask(__m256i __X,__m256i __Y,const int __P)12236 _mm256_cmp_epi64_mask (__m256i __X, __m256i __Y, const int __P)
12237 {
12238 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
12239 (__v4di) __Y, __P,
12240 (__mmask8) -1);
12241 }
12242
12243 extern __inline __mmask8
12244 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epi32_mask(__m256i __X,__m256i __Y,const int __P)12245 _mm256_cmp_epi32_mask (__m256i __X, __m256i __Y, const int __P)
12246 {
12247 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
12248 (__v8si) __Y, __P,
12249 (__mmask8) -1);
12250 }
12251
12252 extern __inline __mmask8
12253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epu64_mask(__m256i __X,__m256i __Y,const int __P)12254 _mm256_cmp_epu64_mask (__m256i __X, __m256i __Y, const int __P)
12255 {
12256 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
12257 (__v4di) __Y, __P,
12258 (__mmask8) -1);
12259 }
12260
12261 extern __inline __mmask8
12262 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epu32_mask(__m256i __X,__m256i __Y,const int __P)12263 _mm256_cmp_epu32_mask (__m256i __X, __m256i __Y, const int __P)
12264 {
12265 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
12266 (__v8si) __Y, __P,
12267 (__mmask8) -1);
12268 }
12269
12270 extern __inline __mmask8
12271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_pd_mask(__m256d __X,__m256d __Y,const int __P)12272 _mm256_cmp_pd_mask (__m256d __X, __m256d __Y, const int __P)
12273 {
12274 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
12275 (__v4df) __Y, __P,
12276 (__mmask8) -1);
12277 }
12278
12279 extern __inline __mmask8
12280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_ps_mask(__m256 __X,__m256 __Y,const int __P)12281 _mm256_cmp_ps_mask (__m256 __X, __m256 __Y, const int __P)
12282 {
12283 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
12284 (__v8sf) __Y, __P,
12285 (__mmask8) -1);
12286 }
12287
12288 extern __inline __mmask8
12289 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epi64_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12290 _mm256_mask_cmp_epi64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12291 const int __P)
12292 {
12293 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
12294 (__v4di) __Y, __P,
12295 (__mmask8) __U);
12296 }
12297
12298 extern __inline __mmask8
12299 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epi32_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12300 _mm256_mask_cmp_epi32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12301 const int __P)
12302 {
12303 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
12304 (__v8si) __Y, __P,
12305 (__mmask8) __U);
12306 }
12307
12308 extern __inline __mmask8
12309 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epu64_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12310 _mm256_mask_cmp_epu64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12311 const int __P)
12312 {
12313 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
12314 (__v4di) __Y, __P,
12315 (__mmask8) __U);
12316 }
12317
12318 extern __inline __mmask8
12319 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epu32_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12320 _mm256_mask_cmp_epu32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12321 const int __P)
12322 {
12323 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
12324 (__v8si) __Y, __P,
12325 (__mmask8) __U);
12326 }
12327
12328 extern __inline __mmask8
12329 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_pd_mask(__mmask8 __U,__m256d __X,__m256d __Y,const int __P)12330 _mm256_mask_cmp_pd_mask (__mmask8 __U, __m256d __X, __m256d __Y,
12331 const int __P)
12332 {
12333 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
12334 (__v4df) __Y, __P,
12335 (__mmask8) __U);
12336 }
12337
12338 extern __inline __mmask8
12339 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_ps_mask(__mmask8 __U,__m256 __X,__m256 __Y,const int __P)12340 _mm256_mask_cmp_ps_mask (__mmask8 __U, __m256 __X, __m256 __Y,
12341 const int __P)
12342 {
12343 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
12344 (__v8sf) __Y, __P,
12345 (__mmask8) __U);
12346 }
12347
12348 extern __inline __mmask8
12349 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epi64_mask(__m128i __X,__m128i __Y,const int __P)12350 _mm_cmp_epi64_mask (__m128i __X, __m128i __Y, const int __P)
12351 {
12352 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
12353 (__v2di) __Y, __P,
12354 (__mmask8) -1);
12355 }
12356
12357 extern __inline __mmask8
12358 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epi32_mask(__m128i __X,__m128i __Y,const int __P)12359 _mm_cmp_epi32_mask (__m128i __X, __m128i __Y, const int __P)
12360 {
12361 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
12362 (__v4si) __Y, __P,
12363 (__mmask8) -1);
12364 }
12365
12366 extern __inline __mmask8
12367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epu64_mask(__m128i __X,__m128i __Y,const int __P)12368 _mm_cmp_epu64_mask (__m128i __X, __m128i __Y, const int __P)
12369 {
12370 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
12371 (__v2di) __Y, __P,
12372 (__mmask8) -1);
12373 }
12374
12375 extern __inline __mmask8
12376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epu32_mask(__m128i __X,__m128i __Y,const int __P)12377 _mm_cmp_epu32_mask (__m128i __X, __m128i __Y, const int __P)
12378 {
12379 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
12380 (__v4si) __Y, __P,
12381 (__mmask8) -1);
12382 }
12383
12384 extern __inline __mmask8
12385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_pd_mask(__m128d __X,__m128d __Y,const int __P)12386 _mm_cmp_pd_mask (__m128d __X, __m128d __Y, const int __P)
12387 {
12388 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
12389 (__v2df) __Y, __P,
12390 (__mmask8) -1);
12391 }
12392
12393 extern __inline __mmask8
12394 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_ps_mask(__m128 __X,__m128 __Y,const int __P)12395 _mm_cmp_ps_mask (__m128 __X, __m128 __Y, const int __P)
12396 {
12397 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
12398 (__v4sf) __Y, __P,
12399 (__mmask8) -1);
12400 }
12401
12402 extern __inline __mmask8
12403 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epi64_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12404 _mm_mask_cmp_epi64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12405 const int __P)
12406 {
12407 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
12408 (__v2di) __Y, __P,
12409 (__mmask8) __U);
12410 }
12411
12412 extern __inline __mmask8
12413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epi32_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12414 _mm_mask_cmp_epi32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12415 const int __P)
12416 {
12417 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
12418 (__v4si) __Y, __P,
12419 (__mmask8) __U);
12420 }
12421
12422 extern __inline __mmask8
12423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epu64_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12424 _mm_mask_cmp_epu64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12425 const int __P)
12426 {
12427 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
12428 (__v2di) __Y, __P,
12429 (__mmask8) __U);
12430 }
12431
12432 extern __inline __mmask8
12433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epu32_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12434 _mm_mask_cmp_epu32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12435 const int __P)
12436 {
12437 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
12438 (__v4si) __Y, __P,
12439 (__mmask8) __U);
12440 }
12441
12442 extern __inline __mmask8
12443 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_pd_mask(__mmask8 __U,__m128d __X,__m128d __Y,const int __P)12444 _mm_mask_cmp_pd_mask (__mmask8 __U, __m128d __X, __m128d __Y,
12445 const int __P)
12446 {
12447 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
12448 (__v2df) __Y, __P,
12449 (__mmask8) __U);
12450 }
12451
12452 extern __inline __mmask8
12453 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_ps_mask(__mmask8 __U,__m128 __X,__m128 __Y,const int __P)12454 _mm_mask_cmp_ps_mask (__mmask8 __U, __m128 __X, __m128 __Y,
12455 const int __P)
12456 {
12457 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
12458 (__v4sf) __Y, __P,
12459 (__mmask8) __U);
12460 }
12461
12462 extern __inline __m256d
12463 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex_pd(__m256d __X,const int __M)12464 _mm256_permutex_pd (__m256d __X, const int __M)
12465 {
12466 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __M,
12467 (__v4df)
12468 _mm256_undefined_pd (),
12469 (__mmask8) -1);
12470 }
12471
12472 #else
12473 #define _mm256_permutex_pd(X, M) \
12474 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(X), (int)(M), \
12475 (__v4df)(__m256d) \
12476 _mm256_undefined_pd (), \
12477 (__mmask8)-1))
12478
12479 #define _mm256_permutex_epi64(X, I) \
12480 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12481 (int)(I), \
12482 (__v4di)(__m256i) \
12483 (_mm256_setzero_si256 ()),\
12484 (__mmask8) -1))
12485
12486 #define _mm256_maskz_permutex_epi64(M, X, I) \
12487 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12488 (int)(I), \
12489 (__v4di)(__m256i) \
12490 (_mm256_setzero_si256 ()),\
12491 (__mmask8)(M)))
12492
12493 #define _mm256_mask_permutex_epi64(W, M, X, I) \
12494 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12495 (int)(I), \
12496 (__v4di)(__m256i)(W), \
12497 (__mmask8)(M)))
12498
12499 #define _mm256_insertf32x4(X, Y, C) \
12500 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12501 (__v4sf)(__m128) (Y), (int) (C), \
12502 (__v8sf)(__m256)_mm256_setzero_ps (), \
12503 (__mmask8)-1))
12504
12505 #define _mm256_mask_insertf32x4(W, U, X, Y, C) \
12506 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12507 (__v4sf)(__m128) (Y), (int) (C), \
12508 (__v8sf)(__m256)(W), \
12509 (__mmask8)(U)))
12510
12511 #define _mm256_maskz_insertf32x4(U, X, Y, C) \
12512 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12513 (__v4sf)(__m128) (Y), (int) (C), \
12514 (__v8sf)(__m256)_mm256_setzero_ps (), \
12515 (__mmask8)(U)))
12516
12517 #define _mm256_inserti32x4(X, Y, C) \
12518 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12519 (__v4si)(__m128i) (Y), (int) (C), \
12520 (__v8si)(__m256i)_mm256_setzero_si256 (), \
12521 (__mmask8)-1))
12522
12523 #define _mm256_mask_inserti32x4(W, U, X, Y, C) \
12524 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12525 (__v4si)(__m128i) (Y), (int) (C), \
12526 (__v8si)(__m256i)(W), \
12527 (__mmask8)(U)))
12528
12529 #define _mm256_maskz_inserti32x4(U, X, Y, C) \
12530 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12531 (__v4si)(__m128i) (Y), (int) (C), \
12532 (__v8si)(__m256i)_mm256_setzero_si256 (), \
12533 (__mmask8)(U)))
12534
12535 #define _mm256_extractf32x4_ps(X, C) \
12536 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12537 (int) (C), \
12538 (__v4sf)(__m128)_mm_setzero_ps (), \
12539 (__mmask8)-1))
12540
12541 #define _mm256_mask_extractf32x4_ps(W, U, X, C) \
12542 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12543 (int) (C), \
12544 (__v4sf)(__m128)(W), \
12545 (__mmask8)(U)))
12546
12547 #define _mm256_maskz_extractf32x4_ps(U, X, C) \
12548 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12549 (int) (C), \
12550 (__v4sf)(__m128)_mm_setzero_ps (), \
12551 (__mmask8)(U)))
12552
12553 #define _mm256_extracti32x4_epi32(X, C) \
12554 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12555 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)-1))
12556
12557 #define _mm256_mask_extracti32x4_epi32(W, U, X, C) \
12558 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12559 (int) (C), (__v4si)(__m128i)(W), (__mmask8)(U)))
12560
12561 #define _mm256_maskz_extracti32x4_epi32(U, X, C) \
12562 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12563 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(U)))
12564
12565 #define _mm256_shuffle_i64x2(X, Y, C) \
12566 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12567 (__v4di)(__m256i)(Y), (int)(C), \
12568 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12569 (__mmask8)-1))
12570
12571 #define _mm256_mask_shuffle_i64x2(W, U, X, Y, C) \
12572 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12573 (__v4di)(__m256i)(Y), (int)(C), \
12574 (__v4di)(__m256i)(W),\
12575 (__mmask8)(U)))
12576
12577 #define _mm256_maskz_shuffle_i64x2(U, X, Y, C) \
12578 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12579 (__v4di)(__m256i)(Y), (int)(C), \
12580 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12581 (__mmask8)(U)))
12582
12583 #define _mm256_shuffle_i32x4(X, Y, C) \
12584 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12585 (__v8si)(__m256i)(Y), (int)(C), \
12586 (__v8si)(__m256i) \
12587 _mm256_setzero_si256 (), \
12588 (__mmask8)-1))
12589
12590 #define _mm256_mask_shuffle_i32x4(W, U, X, Y, C) \
12591 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12592 (__v8si)(__m256i)(Y), (int)(C), \
12593 (__v8si)(__m256i)(W), \
12594 (__mmask8)(U)))
12595
12596 #define _mm256_maskz_shuffle_i32x4(U, X, Y, C) \
12597 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12598 (__v8si)(__m256i)(Y), (int)(C), \
12599 (__v8si)(__m256i) \
12600 _mm256_setzero_si256 (), \
12601 (__mmask8)(U)))
12602
12603 #define _mm256_shuffle_f64x2(X, Y, C) \
12604 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12605 (__v4df)(__m256d)(Y), (int)(C), \
12606 (__v4df)(__m256d)_mm256_setzero_pd (),\
12607 (__mmask8)-1))
12608
12609 #define _mm256_mask_shuffle_f64x2(W, U, X, Y, C) \
12610 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12611 (__v4df)(__m256d)(Y), (int)(C), \
12612 (__v4df)(__m256d)(W), \
12613 (__mmask8)(U)))
12614
12615 #define _mm256_maskz_shuffle_f64x2(U, X, Y, C) \
12616 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12617 (__v4df)(__m256d)(Y), (int)(C), \
12618 (__v4df)(__m256d)_mm256_setzero_pd( ),\
12619 (__mmask8)(U)))
12620
12621 #define _mm256_shuffle_f32x4(X, Y, C) \
12622 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12623 (__v8sf)(__m256)(Y), (int)(C), \
12624 (__v8sf)(__m256)_mm256_setzero_ps (), \
12625 (__mmask8)-1))
12626
12627 #define _mm256_mask_shuffle_f32x4(W, U, X, Y, C) \
12628 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12629 (__v8sf)(__m256)(Y), (int)(C), \
12630 (__v8sf)(__m256)(W), \
12631 (__mmask8)(U)))
12632
12633 #define _mm256_maskz_shuffle_f32x4(U, X, Y, C) \
12634 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12635 (__v8sf)(__m256)(Y), (int)(C), \
12636 (__v8sf)(__m256)_mm256_setzero_ps (), \
12637 (__mmask8)(U)))
12638
12639 #define _mm256_mask_shuffle_pd(W, U, A, B, C) \
12640 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \
12641 (__v4df)(__m256d)(B), (int)(C), \
12642 (__v4df)(__m256d)(W), \
12643 (__mmask8)(U)))
12644
12645 #define _mm256_maskz_shuffle_pd(U, A, B, C) \
12646 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \
12647 (__v4df)(__m256d)(B), (int)(C), \
12648 (__v4df)(__m256d) \
12649 _mm256_setzero_pd (), \
12650 (__mmask8)(U)))
12651
12652 #define _mm_mask_shuffle_pd(W, U, A, B, C) \
12653 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \
12654 (__v2df)(__m128d)(B), (int)(C), \
12655 (__v2df)(__m128d)(W), \
12656 (__mmask8)(U)))
12657
12658 #define _mm_maskz_shuffle_pd(U, A, B, C) \
12659 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \
12660 (__v2df)(__m128d)(B), (int)(C), \
12661 (__v2df)(__m128d)_mm_setzero_pd (), \
12662 (__mmask8)(U)))
12663
12664 #define _mm256_mask_shuffle_ps(W, U, A, B, C) \
12665 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \
12666 (__v8sf)(__m256)(B), (int)(C), \
12667 (__v8sf)(__m256)(W), \
12668 (__mmask8)(U)))
12669
12670 #define _mm256_maskz_shuffle_ps(U, A, B, C) \
12671 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \
12672 (__v8sf)(__m256)(B), (int)(C), \
12673 (__v8sf)(__m256)_mm256_setzero_ps (),\
12674 (__mmask8)(U)))
12675
12676 #define _mm_mask_shuffle_ps(W, U, A, B, C) \
12677 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \
12678 (__v4sf)(__m128)(B), (int)(C), \
12679 (__v4sf)(__m128)(W), \
12680 (__mmask8)(U)))
12681
12682 #define _mm_maskz_shuffle_ps(U, A, B, C) \
12683 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \
12684 (__v4sf)(__m128)(B), (int)(C), \
12685 (__v4sf)(__m128)_mm_setzero_ps (), \
12686 (__mmask8)(U)))
12687
12688 #define _mm256_fixupimm_pd(X, Y, Z, C) \
12689 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \
12690 (__v4df)(__m256d)(Y), \
12691 (__v4di)(__m256i)(Z), (int)(C), \
12692 (__mmask8)(-1)))
12693
12694 #define _mm256_mask_fixupimm_pd(X, U, Y, Z, C) \
12695 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \
12696 (__v4df)(__m256d)(Y), \
12697 (__v4di)(__m256i)(Z), (int)(C), \
12698 (__mmask8)(U)))
12699
12700 #define _mm256_maskz_fixupimm_pd(U, X, Y, Z, C) \
12701 ((__m256d)__builtin_ia32_fixupimmpd256_maskz ((__v4df)(__m256d)(X), \
12702 (__v4df)(__m256d)(Y), \
12703 (__v4di)(__m256i)(Z), (int)(C),\
12704 (__mmask8)(U)))
12705
12706 #define _mm256_fixupimm_ps(X, Y, Z, C) \
12707 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \
12708 (__v8sf)(__m256)(Y), \
12709 (__v8si)(__m256i)(Z), (int)(C), \
12710 (__mmask8)(-1)))
12711
12712
12713 #define _mm256_mask_fixupimm_ps(X, U, Y, Z, C) \
12714 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \
12715 (__v8sf)(__m256)(Y), \
12716 (__v8si)(__m256i)(Z), (int)(C), \
12717 (__mmask8)(U)))
12718
12719 #define _mm256_maskz_fixupimm_ps(U, X, Y, Z, C) \
12720 ((__m256)__builtin_ia32_fixupimmps256_maskz ((__v8sf)(__m256)(X), \
12721 (__v8sf)(__m256)(Y), \
12722 (__v8si)(__m256i)(Z), (int)(C),\
12723 (__mmask8)(U)))
12724
12725 #define _mm_fixupimm_pd(X, Y, Z, C) \
12726 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \
12727 (__v2df)(__m128d)(Y), \
12728 (__v2di)(__m128i)(Z), (int)(C), \
12729 (__mmask8)(-1)))
12730
12731
12732 #define _mm_mask_fixupimm_pd(X, U, Y, Z, C) \
12733 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \
12734 (__v2df)(__m128d)(Y), \
12735 (__v2di)(__m128i)(Z), (int)(C), \
12736 (__mmask8)(U)))
12737
12738 #define _mm_maskz_fixupimm_pd(U, X, Y, Z, C) \
12739 ((__m128d)__builtin_ia32_fixupimmpd128_maskz ((__v2df)(__m128d)(X), \
12740 (__v2df)(__m128d)(Y), \
12741 (__v2di)(__m128i)(Z), (int)(C),\
12742 (__mmask8)(U)))
12743
12744 #define _mm_fixupimm_ps(X, Y, Z, C) \
12745 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \
12746 (__v4sf)(__m128)(Y), \
12747 (__v4si)(__m128i)(Z), (int)(C), \
12748 (__mmask8)(-1)))
12749
12750 #define _mm_mask_fixupimm_ps(X, U, Y, Z, C) \
12751 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \
12752 (__v4sf)(__m128)(Y), \
12753 (__v4si)(__m128i)(Z), (int)(C),\
12754 (__mmask8)(U)))
12755
12756 #define _mm_maskz_fixupimm_ps(U, X, Y, Z, C) \
12757 ((__m128)__builtin_ia32_fixupimmps128_maskz ((__v4sf)(__m128)(X), \
12758 (__v4sf)(__m128)(Y), \
12759 (__v4si)(__m128i)(Z), (int)(C),\
12760 (__mmask8)(U)))
12761
12762 #define _mm256_mask_srli_epi32(W, U, A, B) \
12763 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \
12764 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
12765
12766 #define _mm256_maskz_srli_epi32(U, A, B) \
12767 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \
12768 (int)(B), (__v8si)_mm256_setzero_si256 (), (__mmask8)(U)))
12769
12770 #define _mm_mask_srli_epi32(W, U, A, B) \
12771 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \
12772 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
12773
12774 #define _mm_maskz_srli_epi32(U, A, B) \
12775 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \
12776 (int)(B), (__v4si)_mm_setzero_si128 (), (__mmask8)(U)))
12777
12778 #define _mm256_mask_srli_epi64(W, U, A, B) \
12779 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \
12780 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
12781
12782 #define _mm256_maskz_srli_epi64(U, A, B) \
12783 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \
12784 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
12785
12786 #define _mm_mask_srli_epi64(W, U, A, B) \
12787 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \
12788 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
12789
12790 #define _mm_maskz_srli_epi64(U, A, B) \
12791 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \
12792 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)(U)))
12793
12794 #define _mm256_mask_slli_epi32(W, U, X, C) \
12795 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
12796 (__v8si)(__m256i)(W), \
12797 (__mmask8)(U)))
12798
12799 #define _mm256_maskz_slli_epi32(U, X, C) \
12800 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
12801 (__v8si)(__m256i)_mm256_setzero_si256 (), \
12802 (__mmask8)(U)))
12803
12804 #define _mm256_mask_slli_epi64(W, U, X, C) \
12805 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
12806 (__v4di)(__m256i)(W), \
12807 (__mmask8)(U)))
12808
12809 #define _mm256_maskz_slli_epi64(U, X, C) \
12810 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
12811 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12812 (__mmask8)(U)))
12813
12814 #define _mm_mask_slli_epi32(W, U, X, C) \
12815 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
12816 (__v4si)(__m128i)(W),\
12817 (__mmask8)(U)))
12818
12819 #define _mm_maskz_slli_epi32(U, X, C) \
12820 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
12821 (__v4si)(__m128i)_mm_setzero_si128 (),\
12822 (__mmask8)(U)))
12823
12824 #define _mm_mask_slli_epi64(W, U, X, C) \
12825 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
12826 (__v2di)(__m128i)(W),\
12827 (__mmask8)(U)))
12828
12829 #define _mm_maskz_slli_epi64(U, X, C) \
12830 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
12831 (__v2di)(__m128i)_mm_setzero_si128 (),\
12832 (__mmask8)(U)))
12833
12834 #define _mm256_ternarylogic_epi64(A, B, C, I) \
12835 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \
12836 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)-1))
12837
12838 #define _mm256_mask_ternarylogic_epi64(A, U, B, C, I) \
12839 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \
12840 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
12841
12842 #define _mm256_maskz_ternarylogic_epi64(U, A, B, C, I) \
12843 ((__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di)(__m256i)(A), \
12844 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
12845
12846 #define _mm256_ternarylogic_epi32(A, B, C, I) \
12847 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \
12848 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)-1))
12849
12850 #define _mm256_mask_ternarylogic_epi32(A, U, B, C, I) \
12851 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \
12852 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
12853
12854 #define _mm256_maskz_ternarylogic_epi32(U, A, B, C, I) \
12855 ((__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si)(__m256i)(A), \
12856 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
12857
12858 #define _mm_ternarylogic_epi64(A, B, C, I) \
12859 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \
12860 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)-1))
12861
12862 #define _mm_mask_ternarylogic_epi64(A, U, B, C, I) \
12863 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \
12864 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
12865
12866 #define _mm_maskz_ternarylogic_epi64(U, A, B, C, I) \
12867 ((__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di)(__m128i)(A), \
12868 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
12869
12870 #define _mm_ternarylogic_epi32(A, B, C, I) \
12871 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \
12872 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)-1))
12873
12874 #define _mm_mask_ternarylogic_epi32(A, U, B, C, I) \
12875 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \
12876 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
12877
12878 #define _mm_maskz_ternarylogic_epi32(U, A, B, C, I) \
12879 ((__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si)(__m128i)(A), \
12880 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
12881
12882 #define _mm256_roundscale_ps(A, B) \
12883 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12884 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps (), (__mmask8)-1))
12885
12886 #define _mm256_mask_roundscale_ps(W, U, A, B) \
12887 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12888 (int)(B), (__v8sf)(__m256)(W), (__mmask8)(U)))
12889
12890 #define _mm256_maskz_roundscale_ps(U, A, B) \
12891 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12892 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps (), (__mmask8)(U)))
12893
12894 #define _mm256_roundscale_pd(A, B) \
12895 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12896 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)-1))
12897
12898 #define _mm256_mask_roundscale_pd(W, U, A, B) \
12899 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12900 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
12901
12902 #define _mm256_maskz_roundscale_pd(U, A, B) \
12903 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12904 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)(U)))
12905
12906 #define _mm_roundscale_ps(A, B) \
12907 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12908 (int)(B), (__v4sf)(__m128)_mm_setzero_ps (), (__mmask8)-1))
12909
12910 #define _mm_mask_roundscale_ps(W, U, A, B) \
12911 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12912 (int)(B), (__v4sf)(__m128)(W), (__mmask8)(U)))
12913
12914 #define _mm_maskz_roundscale_ps(U, A, B) \
12915 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12916 (int)(B), (__v4sf)(__m128)_mm_setzero_ps (), (__mmask8)(U)))
12917
12918 #define _mm_roundscale_pd(A, B) \
12919 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12920 (int)(B), (__v2df)(__m128d)_mm_setzero_pd (), (__mmask8)-1))
12921
12922 #define _mm_mask_roundscale_pd(W, U, A, B) \
12923 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12924 (int)(B), (__v2df)(__m128d)(W), (__mmask8)(U)))
12925
12926 #define _mm_maskz_roundscale_pd(U, A, B) \
12927 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12928 (int)(B), (__v2df)(__m128d)_mm_setzero_pd (), (__mmask8)(U)))
12929
12930 #define _mm256_getmant_ps(X, B, C) \
12931 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12932 (int)(((C)<<2) | (B)), \
12933 (__v8sf)(__m256)_mm256_setzero_ps (), \
12934 (__mmask8)-1))
12935
12936 #define _mm256_mask_getmant_ps(W, U, X, B, C) \
12937 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12938 (int)(((C)<<2) | (B)), \
12939 (__v8sf)(__m256)(W), \
12940 (__mmask8)(U)))
12941
12942 #define _mm256_maskz_getmant_ps(U, X, B, C) \
12943 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12944 (int)(((C)<<2) | (B)), \
12945 (__v8sf)(__m256)_mm256_setzero_ps (), \
12946 (__mmask8)(U)))
12947
12948 #define _mm_getmant_ps(X, B, C) \
12949 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12950 (int)(((C)<<2) | (B)), \
12951 (__v4sf)(__m128)_mm_setzero_ps (), \
12952 (__mmask8)-1))
12953
12954 #define _mm_mask_getmant_ps(W, U, X, B, C) \
12955 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12956 (int)(((C)<<2) | (B)), \
12957 (__v4sf)(__m128)(W), \
12958 (__mmask8)(U)))
12959
12960 #define _mm_maskz_getmant_ps(U, X, B, C) \
12961 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12962 (int)(((C)<<2) | (B)), \
12963 (__v4sf)(__m128)_mm_setzero_ps (), \
12964 (__mmask8)(U)))
12965
12966 #define _mm256_getmant_pd(X, B, C) \
12967 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12968 (int)(((C)<<2) | (B)), \
12969 (__v4df)(__m256d)_mm256_setzero_pd (),\
12970 (__mmask8)-1))
12971
12972 #define _mm256_mask_getmant_pd(W, U, X, B, C) \
12973 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12974 (int)(((C)<<2) | (B)), \
12975 (__v4df)(__m256d)(W), \
12976 (__mmask8)(U)))
12977
12978 #define _mm256_maskz_getmant_pd(U, X, B, C) \
12979 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12980 (int)(((C)<<2) | (B)), \
12981 (__v4df)(__m256d)_mm256_setzero_pd (),\
12982 (__mmask8)(U)))
12983
12984 #define _mm_getmant_pd(X, B, C) \
12985 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12986 (int)(((C)<<2) | (B)), \
12987 (__v2df)(__m128d)_mm_setzero_pd (), \
12988 (__mmask8)-1))
12989
12990 #define _mm_mask_getmant_pd(W, U, X, B, C) \
12991 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12992 (int)(((C)<<2) | (B)), \
12993 (__v2df)(__m128d)(W), \
12994 (__mmask8)(U)))
12995
12996 #define _mm_maskz_getmant_pd(U, X, B, C) \
12997 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12998 (int)(((C)<<2) | (B)), \
12999 (__v2df)(__m128d)_mm_setzero_pd (), \
13000 (__mmask8)(U)))
13001
13002 #define _mm256_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
13003 (__m256) __builtin_ia32_gather3siv8sf ((__v8sf)(__m256) (V1OLD), \
13004 (void const *) (ADDR), \
13005 (__v8si)(__m256i) (INDEX), \
13006 (__mmask8) (MASK), \
13007 (int) (SCALE))
13008
13009 #define _mm_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
13010 (__m128) __builtin_ia32_gather3siv4sf ((__v4sf)(__m128) (V1OLD), \
13011 (void const *) (ADDR), \
13012 (__v4si)(__m128i) (INDEX), \
13013 (__mmask8) (MASK), \
13014 (int) (SCALE))
13015
13016 #define _mm256_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
13017 (__m256d) __builtin_ia32_gather3siv4df ((__v4df)(__m256d) (V1OLD), \
13018 (void const *) (ADDR), \
13019 (__v4si)(__m128i) (INDEX), \
13020 (__mmask8) (MASK), \
13021 (int) (SCALE))
13022
13023 #define _mm_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
13024 (__m128d) __builtin_ia32_gather3siv2df ((__v2df)(__m128d) (V1OLD), \
13025 (void const *) (ADDR), \
13026 (__v4si)(__m128i) (INDEX), \
13027 (__mmask8) (MASK), \
13028 (int) (SCALE))
13029
13030 #define _mm256_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
13031 (__m128) __builtin_ia32_gather3div8sf ((__v4sf)(__m128) (V1OLD), \
13032 (void const *) (ADDR), \
13033 (__v4di)(__m256i) (INDEX), \
13034 (__mmask8) (MASK), \
13035 (int) (SCALE))
13036
13037 #define _mm_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
13038 (__m128) __builtin_ia32_gather3div4sf ((__v4sf)(__m128) (V1OLD), \
13039 (void const *) (ADDR), \
13040 (__v2di)(__m128i) (INDEX), \
13041 (__mmask8) (MASK), \
13042 (int) (SCALE))
13043
13044 #define _mm256_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
13045 (__m256d) __builtin_ia32_gather3div4df ((__v4df)(__m256d) (V1OLD), \
13046 (void const *) (ADDR), \
13047 (__v4di)(__m256i) (INDEX), \
13048 (__mmask8) (MASK), \
13049 (int) (SCALE))
13050
13051 #define _mm_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
13052 (__m128d) __builtin_ia32_gather3div2df ((__v2df)(__m128d) (V1OLD), \
13053 (void const *) (ADDR), \
13054 (__v2di)(__m128i) (INDEX), \
13055 (__mmask8) (MASK), \
13056 (int) (SCALE))
13057
13058 #define _mm256_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
13059 (__m256i) __builtin_ia32_gather3siv8si ((__v8si)(__m256i) (V1OLD), \
13060 (void const *) (ADDR), \
13061 (__v8si)(__m256i) (INDEX), \
13062 (__mmask8) (MASK), \
13063 (int) (SCALE))
13064
13065 #define _mm_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
13066 (__m128i) __builtin_ia32_gather3siv4si ((__v4si)(__m128i) (V1OLD), \
13067 (void const *) (ADDR), \
13068 (__v4si)(__m128i) (INDEX), \
13069 (__mmask8) (MASK), \
13070 (int) (SCALE))
13071
13072 #define _mm256_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
13073 (__m256i) __builtin_ia32_gather3siv4di ((__v4di)(__m256i) (V1OLD), \
13074 (void const *) (ADDR), \
13075 (__v4si)(__m128i) (INDEX), \
13076 (__mmask8) (MASK), \
13077 (int) (SCALE))
13078
13079 #define _mm_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
13080 (__m128i) __builtin_ia32_gather3siv2di ((__v2di)(__m128i) (V1OLD), \
13081 (void const *) (ADDR), \
13082 (__v4si)(__m128i) (INDEX), \
13083 (__mmask8) (MASK), \
13084 (int) (SCALE))
13085
13086 #define _mm256_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
13087 (__m128i) __builtin_ia32_gather3div8si ((__v4si)(__m128i) (V1OLD), \
13088 (void const *) (ADDR), \
13089 (__v4di)(__m256i) (INDEX), \
13090 (__mmask8) (MASK), \
13091 (int) (SCALE))
13092
13093 #define _mm_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
13094 (__m128i) __builtin_ia32_gather3div4si ((__v4si)(__m128i) (V1OLD), \
13095 (void const *) (ADDR), \
13096 (__v2di)(__m128i) (INDEX), \
13097 (__mmask8) (MASK), \
13098 (int) (SCALE))
13099
13100 #define _mm256_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
13101 (__m256i) __builtin_ia32_gather3div4di ((__v4di)(__m256i) (V1OLD), \
13102 (void const *) (ADDR), \
13103 (__v4di)(__m256i) (INDEX), \
13104 (__mmask8) (MASK), \
13105 (int) (SCALE))
13106
13107 #define _mm_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
13108 (__m128i) __builtin_ia32_gather3div2di ((__v2di)(__m128i) (V1OLD), \
13109 (void const *) (ADDR), \
13110 (__v2di)(__m128i) (INDEX), \
13111 (__mmask8) (MASK), \
13112 (int) (SCALE))
13113
13114 #define _mm256_i32scatter_ps(ADDR, INDEX, V1, SCALE) \
13115 __builtin_ia32_scattersiv8sf ((void *) (ADDR), (__mmask8)0xFF, \
13116 (__v8si)(__m256i) (INDEX), \
13117 (__v8sf)(__m256) (V1), (int) (SCALE))
13118
13119 #define _mm256_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13120 __builtin_ia32_scattersiv8sf ((void *) (ADDR), (__mmask8) (MASK), \
13121 (__v8si)(__m256i) (INDEX), \
13122 (__v8sf)(__m256) (V1), (int) (SCALE))
13123
13124 #define _mm_i32scatter_ps(ADDR, INDEX, V1, SCALE) \
13125 __builtin_ia32_scattersiv4sf ((void *) (ADDR), (__mmask8)0xFF, \
13126 (__v4si)(__m128i) (INDEX), \
13127 (__v4sf)(__m128) (V1), (int) (SCALE))
13128
13129 #define _mm_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13130 __builtin_ia32_scattersiv4sf ((void *) (ADDR), (__mmask8) (MASK), \
13131 (__v4si)(__m128i) (INDEX), \
13132 (__v4sf)(__m128) (V1), (int) (SCALE))
13133
13134 #define _mm256_i32scatter_pd(ADDR, INDEX, V1, SCALE) \
13135 __builtin_ia32_scattersiv4df ((void *) (ADDR), (__mmask8)0xFF, \
13136 (__v4si)(__m128i) (INDEX), \
13137 (__v4df)(__m256d) (V1), (int) (SCALE))
13138
13139 #define _mm256_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13140 __builtin_ia32_scattersiv4df ((void *) (ADDR), (__mmask8) (MASK), \
13141 (__v4si)(__m128i) (INDEX), \
13142 (__v4df)(__m256d) (V1), (int) (SCALE))
13143
13144 #define _mm_i32scatter_pd(ADDR, INDEX, V1, SCALE) \
13145 __builtin_ia32_scattersiv2df ((void *) (ADDR), (__mmask8)0xFF, \
13146 (__v4si)(__m128i) (INDEX), \
13147 (__v2df)(__m128d) (V1), (int) (SCALE))
13148
13149 #define _mm_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13150 __builtin_ia32_scattersiv2df ((void *) (ADDR), (__mmask8) (MASK), \
13151 (__v4si)(__m128i) (INDEX), \
13152 (__v2df)(__m128d) (V1), (int) (SCALE))
13153
13154 #define _mm256_i64scatter_ps(ADDR, INDEX, V1, SCALE) \
13155 __builtin_ia32_scatterdiv8sf ((void *) (ADDR), (__mmask8)0xFF, \
13156 (__v4di)(__m256i) (INDEX), \
13157 (__v4sf)(__m128) (V1), (int) (SCALE))
13158
13159 #define _mm256_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13160 __builtin_ia32_scatterdiv8sf ((void *) (ADDR), (__mmask8) (MASK), \
13161 (__v4di)(__m256i) (INDEX), \
13162 (__v4sf)(__m128) (V1), (int) (SCALE))
13163
13164 #define _mm_i64scatter_ps(ADDR, INDEX, V1, SCALE) \
13165 __builtin_ia32_scatterdiv4sf ((void *) (ADDR), (__mmask8)0xFF, \
13166 (__v2di)(__m128i) (INDEX), \
13167 (__v4sf)(__m128) (V1), (int) (SCALE))
13168
13169 #define _mm_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13170 __builtin_ia32_scatterdiv4sf ((void *) (ADDR), (__mmask8) (MASK), \
13171 (__v2di)(__m128i) (INDEX), \
13172 (__v4sf)(__m128) (V1), (int) (SCALE))
13173
13174 #define _mm256_i64scatter_pd(ADDR, INDEX, V1, SCALE) \
13175 __builtin_ia32_scatterdiv4df ((void *) (ADDR), (__mmask8)0xFF, \
13176 (__v4di)(__m256i) (INDEX), \
13177 (__v4df)(__m256d) (V1), (int) (SCALE))
13178
13179 #define _mm256_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13180 __builtin_ia32_scatterdiv4df ((void *) (ADDR), (__mmask8) (MASK), \
13181 (__v4di)(__m256i) (INDEX), \
13182 (__v4df)(__m256d) (V1), (int) (SCALE))
13183
13184 #define _mm_i64scatter_pd(ADDR, INDEX, V1, SCALE) \
13185 __builtin_ia32_scatterdiv2df ((void *) (ADDR), (__mmask8)0xFF, \
13186 (__v2di)(__m128i) (INDEX), \
13187 (__v2df)(__m128d) (V1), (int) (SCALE))
13188
13189 #define _mm_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13190 __builtin_ia32_scatterdiv2df ((void *) (ADDR), (__mmask8) (MASK), \
13191 (__v2di)(__m128i) (INDEX), \
13192 (__v2df)(__m128d) (V1), (int) (SCALE))
13193
13194 #define _mm256_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \
13195 __builtin_ia32_scattersiv8si ((void *) (ADDR), (__mmask8)0xFF, \
13196 (__v8si)(__m256i) (INDEX), \
13197 (__v8si)(__m256i) (V1), (int) (SCALE))
13198
13199 #define _mm256_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13200 __builtin_ia32_scattersiv8si ((void *) (ADDR), (__mmask8) (MASK), \
13201 (__v8si)(__m256i) (INDEX), \
13202 (__v8si)(__m256i) (V1), (int) (SCALE))
13203
13204 #define _mm_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \
13205 __builtin_ia32_scattersiv4si ((void *) (ADDR), (__mmask8)0xFF, \
13206 (__v4si)(__m128i) (INDEX), \
13207 (__v4si)(__m128i) (V1), (int) (SCALE))
13208
13209 #define _mm_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13210 __builtin_ia32_scattersiv4si ((void *) (ADDR), (__mmask8) (MASK), \
13211 (__v4si)(__m128i) (INDEX), \
13212 (__v4si)(__m128i) (V1), (int) (SCALE))
13213
13214 #define _mm256_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \
13215 __builtin_ia32_scattersiv4di ((void *) (ADDR), (__mmask8)0xFF, \
13216 (__v4si)(__m128i) (INDEX), \
13217 (__v4di)(__m256i) (V1), (int) (SCALE))
13218
13219 #define _mm256_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13220 __builtin_ia32_scattersiv4di ((void *) (ADDR), (__mmask8) (MASK), \
13221 (__v4si)(__m128i) (INDEX), \
13222 (__v4di)(__m256i) (V1), (int) (SCALE))
13223
13224 #define _mm_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \
13225 __builtin_ia32_scattersiv2di ((void *) (ADDR), (__mmask8)0xFF, \
13226 (__v4si)(__m128i) (INDEX), \
13227 (__v2di)(__m128i) (V1), (int) (SCALE))
13228
13229 #define _mm_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13230 __builtin_ia32_scattersiv2di ((void *) (ADDR), (__mmask8) (MASK), \
13231 (__v4si)(__m128i) (INDEX), \
13232 (__v2di)(__m128i) (V1), (int) (SCALE))
13233
13234 #define _mm256_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \
13235 __builtin_ia32_scatterdiv8si ((void *) (ADDR), (__mmask8)0xFF, \
13236 (__v4di)(__m256i) (INDEX), \
13237 (__v4si)(__m128i) (V1), (int) (SCALE))
13238
13239 #define _mm256_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13240 __builtin_ia32_scatterdiv8si ((void *) (ADDR), (__mmask8) (MASK), \
13241 (__v4di)(__m256i) (INDEX), \
13242 (__v4si)(__m128i) (V1), (int) (SCALE))
13243
13244 #define _mm_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \
13245 __builtin_ia32_scatterdiv4si ((void *) (ADDR), (__mmask8)0xFF, \
13246 (__v2di)(__m128i) (INDEX), \
13247 (__v4si)(__m128i) (V1), (int) (SCALE))
13248
13249 #define _mm_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13250 __builtin_ia32_scatterdiv4si ((void *) (ADDR), (__mmask8) (MASK), \
13251 (__v2di)(__m128i) (INDEX), \
13252 (__v4si)(__m128i) (V1), (int) (SCALE))
13253
13254 #define _mm256_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \
13255 __builtin_ia32_scatterdiv4di ((void *) (ADDR), (__mmask8)0xFF, \
13256 (__v4di)(__m256i) (INDEX), \
13257 (__v4di)(__m256i) (V1), (int) (SCALE))
13258
13259 #define _mm256_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13260 __builtin_ia32_scatterdiv4di ((void *) (ADDR), (__mmask8) (MASK), \
13261 (__v4di)(__m256i) (INDEX), \
13262 (__v4di)(__m256i) (V1), (int) (SCALE))
13263
13264 #define _mm_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \
13265 __builtin_ia32_scatterdiv2di ((void *) (ADDR), (__mmask8)0xFF, \
13266 (__v2di)(__m128i) (INDEX), \
13267 (__v2di)(__m128i) (V1), (int) (SCALE))
13268
13269 #define _mm_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13270 __builtin_ia32_scatterdiv2di ((void *) (ADDR), (__mmask8) (MASK), \
13271 (__v2di)(__m128i) (INDEX), \
13272 (__v2di)(__m128i) (V1), (int) (SCALE))
13273
13274 #define _mm256_mask_shuffle_epi32(W, U, X, C) \
13275 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \
13276 (__v8si)(__m256i)(W), \
13277 (__mmask8)(U)))
13278
13279 #define _mm256_maskz_shuffle_epi32(U, X, C) \
13280 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \
13281 (__v8si)(__m256i) \
13282 _mm256_setzero_si256 (), \
13283 (__mmask8)(U)))
13284
13285 #define _mm_mask_shuffle_epi32(W, U, X, C) \
13286 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \
13287 (__v4si)(__m128i)(W), \
13288 (__mmask8)(U)))
13289
13290 #define _mm_maskz_shuffle_epi32(U, X, C) \
13291 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \
13292 (__v4si)(__m128i)_mm_setzero_si128 (), \
13293 (__mmask8)(U)))
13294
13295 #define _mm256_rol_epi64(A, B) \
13296 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13297 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13298 (__mmask8)-1))
13299
13300 #define _mm256_mask_rol_epi64(W, U, A, B) \
13301 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13302 (__v4di)(__m256i)(W), \
13303 (__mmask8)(U)))
13304
13305 #define _mm256_maskz_rol_epi64(U, A, B) \
13306 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13307 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13308 (__mmask8)(U)))
13309
13310 #define _mm_rol_epi64(A, B) \
13311 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13312 (__v2di)(__m128i)_mm_setzero_si128 (),\
13313 (__mmask8)-1))
13314
13315 #define _mm_mask_rol_epi64(W, U, A, B) \
13316 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13317 (__v2di)(__m128i)(W), \
13318 (__mmask8)(U)))
13319
13320 #define _mm_maskz_rol_epi64(U, A, B) \
13321 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13322 (__v2di)(__m128i)_mm_setzero_si128 (),\
13323 (__mmask8)(U)))
13324
13325 #define _mm256_ror_epi64(A, B) \
13326 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13327 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13328 (__mmask8)-1))
13329
13330 #define _mm256_mask_ror_epi64(W, U, A, B) \
13331 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13332 (__v4di)(__m256i)(W), \
13333 (__mmask8)(U)))
13334
13335 #define _mm256_maskz_ror_epi64(U, A, B) \
13336 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13337 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13338 (__mmask8)(U)))
13339
13340 #define _mm_ror_epi64(A, B) \
13341 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13342 (__v2di)(__m128i)_mm_setzero_si128 (),\
13343 (__mmask8)-1))
13344
13345 #define _mm_mask_ror_epi64(W, U, A, B) \
13346 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13347 (__v2di)(__m128i)(W), \
13348 (__mmask8)(U)))
13349
13350 #define _mm_maskz_ror_epi64(U, A, B) \
13351 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13352 (__v2di)(__m128i)_mm_setzero_si128 (),\
13353 (__mmask8)(U)))
13354
13355 #define _mm256_rol_epi32(A, B) \
13356 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13357 (__v8si)(__m256i)_mm256_setzero_si256 (),\
13358 (__mmask8)-1))
13359
13360 #define _mm256_mask_rol_epi32(W, U, A, B) \
13361 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13362 (__v8si)(__m256i)(W), \
13363 (__mmask8)(U)))
13364
13365 #define _mm256_maskz_rol_epi32(U, A, B) \
13366 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13367 (__v8si)(__m256i)_mm256_setzero_si256 (),\
13368 (__mmask8)(U)))
13369
13370 #define _mm_rol_epi32(A, B) \
13371 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13372 (__v4si)(__m128i)_mm_setzero_si128 (),\
13373 (__mmask8)-1))
13374
13375 #define _mm_mask_rol_epi32(W, U, A, B) \
13376 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13377 (__v4si)(__m128i)(W), \
13378 (__mmask8)(U)))
13379
13380 #define _mm_maskz_rol_epi32(U, A, B) \
13381 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13382 (__v4si)(__m128i)_mm_setzero_si128 (),\
13383 (__mmask8)(U)))
13384
13385 #define _mm256_ror_epi32(A, B) \
13386 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13387 (__v8si)(__m256i)_mm256_setzero_si256 (),\
13388 (__mmask8)-1))
13389
13390 #define _mm256_mask_ror_epi32(W, U, A, B) \
13391 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13392 (__v8si)(__m256i)(W), \
13393 (__mmask8)(U)))
13394
13395 #define _mm256_maskz_ror_epi32(U, A, B) \
13396 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13397 (__v8si)(__m256i) \
13398 _mm256_setzero_si256 (), \
13399 (__mmask8)(U)))
13400
13401 #define _mm_ror_epi32(A, B) \
13402 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13403 (__v4si)(__m128i)_mm_setzero_si128 (),\
13404 (__mmask8)-1))
13405
13406 #define _mm_mask_ror_epi32(W, U, A, B) \
13407 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13408 (__v4si)(__m128i)(W), \
13409 (__mmask8)(U)))
13410
13411 #define _mm_maskz_ror_epi32(U, A, B) \
13412 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13413 (__v4si)(__m128i)_mm_setzero_si128 (),\
13414 (__mmask8)(U)))
13415
13416 #define _mm256_alignr_epi32(X, Y, C) \
13417 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13418 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(X), (__mmask8)-1))
13419
13420 #define _mm256_mask_alignr_epi32(W, U, X, Y, C) \
13421 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13422 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(W), (__mmask8)(U)))
13423
13424 #define _mm256_maskz_alignr_epi32(U, X, Y, C) \
13425 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13426 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)_mm256_setzero_si256 (),\
13427 (__mmask8)(U)))
13428
13429 #define _mm256_alignr_epi64(X, Y, C) \
13430 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13431 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(X), (__mmask8)-1))
13432
13433 #define _mm256_mask_alignr_epi64(W, U, X, Y, C) \
13434 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13435 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(W), (__mmask8)(U)))
13436
13437 #define _mm256_maskz_alignr_epi64(U, X, Y, C) \
13438 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13439 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)_mm256_setzero_si256 (),\
13440 (__mmask8)(U)))
13441
13442 #define _mm_alignr_epi32(X, Y, C) \
13443 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13444 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(X), (__mmask8)-1))
13445
13446 #define _mm_mask_alignr_epi32(W, U, X, Y, C) \
13447 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13448 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(W), (__mmask8)(U)))
13449
13450 #define _mm_maskz_alignr_epi32(U, X, Y, C) \
13451 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13452 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)_mm_setzero_si128 (),\
13453 (__mmask8)(U)))
13454
13455 #define _mm_alignr_epi64(X, Y, C) \
13456 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13457 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
13458
13459 #define _mm_mask_alignr_epi64(W, U, X, Y, C) \
13460 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13461 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
13462
13463 #define _mm_maskz_alignr_epi64(U, X, Y, C) \
13464 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13465 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)_mm_setzero_si128 (),\
13466 (__mmask8)(U)))
13467
13468 #define _mm_mask_cvtps_ph(W, U, A, I) \
13469 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) (A), (int) (I), \
13470 (__v8hi)(__m128i) (W), (__mmask8) (U)))
13471
13472 #define _mm_maskz_cvtps_ph(U, A, I) \
13473 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) (A), (int) (I), \
13474 (__v8hi)(__m128i) _mm_setzero_si128 (), (__mmask8) (U)))
13475
13476 #define _mm256_mask_cvtps_ph(W, U, A, I) \
13477 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) (A), (int) (I), \
13478 (__v8hi)(__m128i) (W), (__mmask8) (U)))
13479
13480 #define _mm256_maskz_cvtps_ph(U, A, I) \
13481 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) (A), (int) (I), \
13482 (__v8hi)(__m128i) _mm_setzero_si128 (), (__mmask8) (U)))
13483
13484 #define _mm256_mask_srai_epi32(W, U, A, B) \
13485 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \
13486 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
13487
13488 #define _mm256_maskz_srai_epi32(U, A, B) \
13489 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \
13490 (int)(B), (__v8si)_mm256_setzero_si256 (), (__mmask8)(U)))
13491
13492 #define _mm_mask_srai_epi32(W, U, A, B) \
13493 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \
13494 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
13495
13496 #define _mm_maskz_srai_epi32(U, A, B) \
13497 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \
13498 (int)(B), (__v4si)_mm_setzero_si128 (), (__mmask8)(U)))
13499
13500 #define _mm256_srai_epi64(A, B) \
13501 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13502 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)-1))
13503
13504 #define _mm256_mask_srai_epi64(W, U, A, B) \
13505 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13506 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
13507
13508 #define _mm256_maskz_srai_epi64(U, A, B) \
13509 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13510 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
13511
13512 #define _mm_srai_epi64(A, B) \
13513 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13514 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)-1))
13515
13516 #define _mm_mask_srai_epi64(W, U, A, B) \
13517 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13518 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
13519
13520 #define _mm_maskz_srai_epi64(U, A, B) \
13521 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13522 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)(U)))
13523
13524 #define _mm256_mask_permutex_pd(W, U, A, B) \
13525 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \
13526 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
13527
13528 #define _mm256_maskz_permutex_pd(U, A, B) \
13529 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \
13530 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)(U)))
13531
13532 #define _mm256_mask_permute_pd(W, U, X, C) \
13533 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \
13534 (__v4df)(__m256d)(W), \
13535 (__mmask8)(U)))
13536
13537 #define _mm256_maskz_permute_pd(U, X, C) \
13538 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \
13539 (__v4df)(__m256d)_mm256_setzero_pd (),\
13540 (__mmask8)(U)))
13541
13542 #define _mm256_mask_permute_ps(W, U, X, C) \
13543 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \
13544 (__v8sf)(__m256)(W), (__mmask8)(U)))
13545
13546 #define _mm256_maskz_permute_ps(U, X, C) \
13547 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \
13548 (__v8sf)(__m256)_mm256_setzero_ps (), \
13549 (__mmask8)(U)))
13550
13551 #define _mm_mask_permute_pd(W, U, X, C) \
13552 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \
13553 (__v2df)(__m128d)(W), (__mmask8)(U)))
13554
13555 #define _mm_maskz_permute_pd(U, X, C) \
13556 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \
13557 (__v2df)(__m128d)_mm_setzero_pd (), \
13558 (__mmask8)(U)))
13559
13560 #define _mm_mask_permute_ps(W, U, X, C) \
13561 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \
13562 (__v4sf)(__m128)(W), (__mmask8)(U)))
13563
13564 #define _mm_maskz_permute_ps(U, X, C) \
13565 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \
13566 (__v4sf)(__m128)_mm_setzero_ps (), \
13567 (__mmask8)(U)))
13568
13569 #define _mm256_mask_blend_pd(__U, __A, __W) \
13570 ((__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) (__A), \
13571 (__v4df) (__W), \
13572 (__mmask8) (__U)))
13573
13574 #define _mm256_mask_blend_ps(__U, __A, __W) \
13575 ((__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) (__A), \
13576 (__v8sf) (__W), \
13577 (__mmask8) (__U)))
13578
13579 #define _mm256_mask_blend_epi64(__U, __A, __W) \
13580 ((__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) (__A), \
13581 (__v4di) (__W), \
13582 (__mmask8) (__U)))
13583
13584 #define _mm256_mask_blend_epi32(__U, __A, __W) \
13585 ((__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) (__A), \
13586 (__v8si) (__W), \
13587 (__mmask8) (__U)))
13588
13589 #define _mm_mask_blend_pd(__U, __A, __W) \
13590 ((__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) (__A), \
13591 (__v2df) (__W), \
13592 (__mmask8) (__U)))
13593
13594 #define _mm_mask_blend_ps(__U, __A, __W) \
13595 ((__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) (__A), \
13596 (__v4sf) (__W), \
13597 (__mmask8) (__U)))
13598
13599 #define _mm_mask_blend_epi64(__U, __A, __W) \
13600 ((__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) (__A), \
13601 (__v2di) (__W), \
13602 (__mmask8) (__U)))
13603
13604 #define _mm_mask_blend_epi32(__U, __A, __W) \
13605 ((__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) (__A), \
13606 (__v4si) (__W), \
13607 (__mmask8) (__U)))
13608
13609 #define _mm256_cmp_epu32_mask(X, Y, P) \
13610 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \
13611 (__v8si)(__m256i)(Y), (int)(P),\
13612 (__mmask8)-1))
13613
13614 #define _mm256_cmp_epi64_mask(X, Y, P) \
13615 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \
13616 (__v4di)(__m256i)(Y), (int)(P),\
13617 (__mmask8)-1))
13618
13619 #define _mm256_cmp_epi32_mask(X, Y, P) \
13620 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \
13621 (__v8si)(__m256i)(Y), (int)(P),\
13622 (__mmask8)-1))
13623
13624 #define _mm256_cmp_epu64_mask(X, Y, P) \
13625 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \
13626 (__v4di)(__m256i)(Y), (int)(P),\
13627 (__mmask8)-1))
13628
13629 #define _mm256_cmp_pd_mask(X, Y, P) \
13630 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \
13631 (__v4df)(__m256d)(Y), (int)(P),\
13632 (__mmask8)-1))
13633
13634 #define _mm256_cmp_ps_mask(X, Y, P) \
13635 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \
13636 (__v8sf)(__m256)(Y), (int)(P),\
13637 (__mmask8)-1))
13638
13639 #define _mm256_mask_cmp_epi64_mask(M, X, Y, P) \
13640 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \
13641 (__v4di)(__m256i)(Y), (int)(P),\
13642 (__mmask8)(M)))
13643
13644 #define _mm256_mask_cmp_epi32_mask(M, X, Y, P) \
13645 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \
13646 (__v8si)(__m256i)(Y), (int)(P),\
13647 (__mmask8)(M)))
13648
13649 #define _mm256_mask_cmp_epu64_mask(M, X, Y, P) \
13650 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \
13651 (__v4di)(__m256i)(Y), (int)(P),\
13652 (__mmask8)(M)))
13653
13654 #define _mm256_mask_cmp_epu32_mask(M, X, Y, P) \
13655 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \
13656 (__v8si)(__m256i)(Y), (int)(P),\
13657 (__mmask8)(M)))
13658
13659 #define _mm256_mask_cmp_pd_mask(M, X, Y, P) \
13660 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \
13661 (__v4df)(__m256d)(Y), (int)(P),\
13662 (__mmask8)(M)))
13663
13664 #define _mm256_mask_cmp_ps_mask(M, X, Y, P) \
13665 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \
13666 (__v8sf)(__m256)(Y), (int)(P),\
13667 (__mmask8)(M)))
13668
13669 #define _mm_cmp_epi64_mask(X, Y, P) \
13670 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \
13671 (__v2di)(__m128i)(Y), (int)(P),\
13672 (__mmask8)-1))
13673
13674 #define _mm_cmp_epi32_mask(X, Y, P) \
13675 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \
13676 (__v4si)(__m128i)(Y), (int)(P),\
13677 (__mmask8)-1))
13678
13679 #define _mm_cmp_epu64_mask(X, Y, P) \
13680 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \
13681 (__v2di)(__m128i)(Y), (int)(P),\
13682 (__mmask8)-1))
13683
13684 #define _mm_cmp_epu32_mask(X, Y, P) \
13685 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \
13686 (__v4si)(__m128i)(Y), (int)(P),\
13687 (__mmask8)-1))
13688
13689 #define _mm_cmp_pd_mask(X, Y, P) \
13690 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \
13691 (__v2df)(__m128d)(Y), (int)(P),\
13692 (__mmask8)-1))
13693
13694 #define _mm_cmp_ps_mask(X, Y, P) \
13695 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \
13696 (__v4sf)(__m128)(Y), (int)(P),\
13697 (__mmask8)-1))
13698
13699 #define _mm_mask_cmp_epi64_mask(M, X, Y, P) \
13700 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \
13701 (__v2di)(__m128i)(Y), (int)(P),\
13702 (__mmask8)(M)))
13703
13704 #define _mm_mask_cmp_epi32_mask(M, X, Y, P) \
13705 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \
13706 (__v4si)(__m128i)(Y), (int)(P),\
13707 (__mmask8)(M)))
13708
13709 #define _mm_mask_cmp_epu64_mask(M, X, Y, P) \
13710 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \
13711 (__v2di)(__m128i)(Y), (int)(P),\
13712 (__mmask8)(M)))
13713
13714 #define _mm_mask_cmp_epu32_mask(M, X, Y, P) \
13715 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \
13716 (__v4si)(__m128i)(Y), (int)(P),\
13717 (__mmask8)(M)))
13718
13719 #define _mm_mask_cmp_pd_mask(M, X, Y, P) \
13720 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \
13721 (__v2df)(__m128d)(Y), (int)(P),\
13722 (__mmask8)(M)))
13723
13724 #define _mm_mask_cmp_ps_mask(M, X, Y, P) \
13725 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \
13726 (__v4sf)(__m128)(Y), (int)(P),\
13727 (__mmask8)(M)))
13728
13729 #endif
13730
13731 #define _mm256_permutexvar_ps(A, B) _mm256_permutevar8x32_ps ((B), (A))
13732
13733 #ifdef __DISABLE_AVX512VL__
13734 #undef __DISABLE_AVX512VL__
13735 #pragma GCC pop_options
13736 #endif /* __DISABLE_AVX512VL__ */
13737
13738 #endif /* _AVX512VLINTRIN_H_INCLUDED */
13739