1 /* Copyright (C) 2014-2018 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_mask_storeu_epi64(void * __P,__mmask8 __U,__m256i __A)760 _mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A)
761 {
762 __builtin_ia32_storedqudi256_mask ((long long *) __P,
763 (__v4di) __A,
764 (__mmask8) __U);
765 }
766
767 extern __inline void
768 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi64(void * __P,__mmask8 __U,__m128i __A)769 _mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A)
770 {
771 __builtin_ia32_storedqudi128_mask ((long long *) __P,
772 (__v2di) __A,
773 (__mmask8) __U);
774 }
775
776 extern __inline __m256i
777 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi32(__m256i __W,__mmask8 __U,void const * __P)778 _mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
779 {
780 return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P,
781 (__v8si) __W,
782 (__mmask8) __U);
783 }
784
785 extern __inline __m256i
786 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi32(__mmask8 __U,void const * __P)787 _mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
788 {
789 return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P,
790 (__v8si)
791 _mm256_setzero_si256 (),
792 (__mmask8) __U);
793 }
794
795 extern __inline __m128i
796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi32(__m128i __W,__mmask8 __U,void const * __P)797 _mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
798 {
799 return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P,
800 (__v4si) __W,
801 (__mmask8) __U);
802 }
803
804 extern __inline __m128i
805 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi32(__mmask8 __U,void const * __P)806 _mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
807 {
808 return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P,
809 (__v4si)
810 _mm_setzero_si128 (),
811 (__mmask8) __U);
812 }
813
814 extern __inline void
815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi32(void * __P,__mmask8 __U,__m256i __A)816 _mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A)
817 {
818 __builtin_ia32_storedqusi256_mask ((int *) __P,
819 (__v8si) __A,
820 (__mmask8) __U);
821 }
822
823 extern __inline void
824 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi32(void * __P,__mmask8 __U,__m128i __A)825 _mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A)
826 {
827 __builtin_ia32_storedqusi128_mask ((int *) __P,
828 (__v4si) __A,
829 (__mmask8) __U);
830 }
831
832 extern __inline __m256i
833 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi32(__m256i __W,__mmask8 __U,__m256i __A)834 _mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
835 {
836 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
837 (__v8si) __W,
838 (__mmask8) __U);
839 }
840
841 extern __inline __m256i
842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi32(__mmask8 __U,__m256i __A)843 _mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A)
844 {
845 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
846 (__v8si)
847 _mm256_setzero_si256 (),
848 (__mmask8) __U);
849 }
850
851 extern __inline __m128i
852 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi32(__m128i __W,__mmask8 __U,__m128i __A)853 _mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
854 {
855 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
856 (__v4si) __W,
857 (__mmask8) __U);
858 }
859
860 extern __inline __m128i
861 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi32(__mmask8 __U,__m128i __A)862 _mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A)
863 {
864 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
865 (__v4si)
866 _mm_setzero_si128 (),
867 (__mmask8) __U);
868 }
869
870 extern __inline __m256i
871 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_abs_epi64(__m256i __A)872 _mm256_abs_epi64 (__m256i __A)
873 {
874 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
875 (__v4di)
876 _mm256_setzero_si256 (),
877 (__mmask8) -1);
878 }
879
880 extern __inline __m256i
881 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi64(__m256i __W,__mmask8 __U,__m256i __A)882 _mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
883 {
884 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
885 (__v4di) __W,
886 (__mmask8) __U);
887 }
888
889 extern __inline __m256i
890 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi64(__mmask8 __U,__m256i __A)891 _mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A)
892 {
893 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
894 (__v4di)
895 _mm256_setzero_si256 (),
896 (__mmask8) __U);
897 }
898
899 extern __inline __m128i
900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_epi64(__m128i __A)901 _mm_abs_epi64 (__m128i __A)
902 {
903 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
904 (__v2di)
905 _mm_setzero_si128 (),
906 (__mmask8) -1);
907 }
908
909 extern __inline __m128i
910 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi64(__m128i __W,__mmask8 __U,__m128i __A)911 _mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
912 {
913 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
914 (__v2di) __W,
915 (__mmask8) __U);
916 }
917
918 extern __inline __m128i
919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi64(__mmask8 __U,__m128i __A)920 _mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A)
921 {
922 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
923 (__v2di)
924 _mm_setzero_si128 (),
925 (__mmask8) __U);
926 }
927
928 extern __inline __m128i
929 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_epu32(__m256d __A)930 _mm256_cvtpd_epu32 (__m256d __A)
931 {
932 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
933 (__v4si)
934 _mm_setzero_si128 (),
935 (__mmask8) -1);
936 }
937
938 extern __inline __m128i
939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)940 _mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
941 {
942 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
943 (__v4si) __W,
944 (__mmask8) __U);
945 }
946
947 extern __inline __m128i
948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epu32(__mmask8 __U,__m256d __A)949 _mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A)
950 {
951 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
952 (__v4si)
953 _mm_setzero_si128 (),
954 (__mmask8) __U);
955 }
956
957 extern __inline __m128i
958 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epu32(__m128d __A)959 _mm_cvtpd_epu32 (__m128d __A)
960 {
961 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
962 (__v4si)
963 _mm_setzero_si128 (),
964 (__mmask8) -1);
965 }
966
967 extern __inline __m128i
968 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)969 _mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
970 {
971 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
972 (__v4si) __W,
973 (__mmask8) __U);
974 }
975
976 extern __inline __m128i
977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epu32(__mmask8 __U,__m128d __A)978 _mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A)
979 {
980 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
981 (__v4si)
982 _mm_setzero_si128 (),
983 (__mmask8) __U);
984 }
985
986 extern __inline __m256i
987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epi32(__m256i __W,__mmask8 __U,__m256 __A)988 _mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
989 {
990 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
991 (__v8si) __W,
992 (__mmask8) __U);
993 }
994
995 extern __inline __m256i
996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epi32(__mmask8 __U,__m256 __A)997 _mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A)
998 {
999 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
1000 (__v8si)
1001 _mm256_setzero_si256 (),
1002 (__mmask8) __U);
1003 }
1004
1005 extern __inline __m128i
1006 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epi32(__m128i __W,__mmask8 __U,__m128 __A)1007 _mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
1008 {
1009 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
1010 (__v4si) __W,
1011 (__mmask8) __U);
1012 }
1013
1014 extern __inline __m128i
1015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epi32(__mmask8 __U,__m128 __A)1016 _mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A)
1017 {
1018 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
1019 (__v4si)
1020 _mm_setzero_si128 (),
1021 (__mmask8) __U);
1022 }
1023
1024 extern __inline __m256i
1025 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttps_epu32(__m256 __A)1026 _mm256_cvttps_epu32 (__m256 __A)
1027 {
1028 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1029 (__v8si)
1030 _mm256_setzero_si256 (),
1031 (__mmask8) -1);
1032 }
1033
1034 extern __inline __m256i
1035 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epu32(__m256i __W,__mmask8 __U,__m256 __A)1036 _mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
1037 {
1038 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1039 (__v8si) __W,
1040 (__mmask8) __U);
1041 }
1042
1043 extern __inline __m256i
1044 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epu32(__mmask8 __U,__m256 __A)1045 _mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A)
1046 {
1047 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1048 (__v8si)
1049 _mm256_setzero_si256 (),
1050 (__mmask8) __U);
1051 }
1052
1053 extern __inline __m128i
1054 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epu32(__m128 __A)1055 _mm_cvttps_epu32 (__m128 __A)
1056 {
1057 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1058 (__v4si)
1059 _mm_setzero_si128 (),
1060 (__mmask8) -1);
1061 }
1062
1063 extern __inline __m128i
1064 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epu32(__m128i __W,__mmask8 __U,__m128 __A)1065 _mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
1066 {
1067 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1068 (__v4si) __W,
1069 (__mmask8) __U);
1070 }
1071
1072 extern __inline __m128i
1073 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epu32(__mmask8 __U,__m128 __A)1074 _mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A)
1075 {
1076 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1077 (__v4si)
1078 _mm_setzero_si128 (),
1079 (__mmask8) __U);
1080 }
1081
1082 extern __inline __m128i
1083 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1084 _mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
1085 {
1086 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
1087 (__v4si) __W,
1088 (__mmask8) __U);
1089 }
1090
1091 extern __inline __m128i
1092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epi32(__mmask8 __U,__m256d __A)1093 _mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A)
1094 {
1095 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
1096 (__v4si)
1097 _mm_setzero_si128 (),
1098 (__mmask8) __U);
1099 }
1100
1101 extern __inline __m128i
1102 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1103 _mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
1104 {
1105 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
1106 (__v4si) __W,
1107 (__mmask8) __U);
1108 }
1109
1110 extern __inline __m128i
1111 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epi32(__mmask8 __U,__m128d __A)1112 _mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A)
1113 {
1114 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
1115 (__v4si)
1116 _mm_setzero_si128 (),
1117 (__mmask8) __U);
1118 }
1119
1120 extern __inline __m128i
1121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttpd_epu32(__m256d __A)1122 _mm256_cvttpd_epu32 (__m256d __A)
1123 {
1124 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1125 (__v4si)
1126 _mm_setzero_si128 (),
1127 (__mmask8) -1);
1128 }
1129
1130 extern __inline __m128i
1131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)1132 _mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
1133 {
1134 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1135 (__v4si) __W,
1136 (__mmask8) __U);
1137 }
1138
1139 extern __inline __m128i
1140 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epu32(__mmask8 __U,__m256d __A)1141 _mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A)
1142 {
1143 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1144 (__v4si)
1145 _mm_setzero_si128 (),
1146 (__mmask8) __U);
1147 }
1148
1149 extern __inline __m128i
1150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epu32(__m128d __A)1151 _mm_cvttpd_epu32 (__m128d __A)
1152 {
1153 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1154 (__v4si)
1155 _mm_setzero_si128 (),
1156 (__mmask8) -1);
1157 }
1158
1159 extern __inline __m128i
1160 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)1161 _mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
1162 {
1163 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1164 (__v4si) __W,
1165 (__mmask8) __U);
1166 }
1167
1168 extern __inline __m128i
1169 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epu32(__mmask8 __U,__m128d __A)1170 _mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A)
1171 {
1172 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1173 (__v4si)
1174 _mm_setzero_si128 (),
1175 (__mmask8) __U);
1176 }
1177
1178 extern __inline __m128i
1179 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1180 _mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
1181 {
1182 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1183 (__v4si) __W,
1184 (__mmask8) __U);
1185 }
1186
1187 extern __inline __m128i
1188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epi32(__mmask8 __U,__m256d __A)1189 _mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A)
1190 {
1191 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1192 (__v4si)
1193 _mm_setzero_si128 (),
1194 (__mmask8) __U);
1195 }
1196
1197 extern __inline __m128i
1198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1199 _mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
1200 {
1201 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1202 (__v4si) __W,
1203 (__mmask8) __U);
1204 }
1205
1206 extern __inline __m128i
1207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epi32(__mmask8 __U,__m128d __A)1208 _mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A)
1209 {
1210 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1211 (__v4si)
1212 _mm_setzero_si128 (),
1213 (__mmask8) __U);
1214 }
1215
1216 extern __inline __m256d
1217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_pd(__m256d __W,__mmask8 __U,__m128i __A)1218 _mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A)
1219 {
1220 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
1221 (__v4df) __W,
1222 (__mmask8) __U);
1223 }
1224
1225 extern __inline __m256d
1226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1227 _mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
1228 {
1229 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
1230 (__v4df)
1231 _mm256_setzero_pd (),
1232 (__mmask8) __U);
1233 }
1234
1235 extern __inline __m128d
1236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_pd(__m128d __W,__mmask8 __U,__m128i __A)1237 _mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A)
1238 {
1239 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
1240 (__v2df) __W,
1241 (__mmask8) __U);
1242 }
1243
1244 extern __inline __m128d
1245 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1246 _mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
1247 {
1248 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
1249 (__v2df)
1250 _mm_setzero_pd (),
1251 (__mmask8) __U);
1252 }
1253
1254 extern __inline __m256d
1255 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_pd(__m128i __A)1256 _mm256_cvtepu32_pd (__m128i __A)
1257 {
1258 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1259 (__v4df)
1260 _mm256_setzero_pd (),
1261 (__mmask8) -1);
1262 }
1263
1264 extern __inline __m256d
1265 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_pd(__m256d __W,__mmask8 __U,__m128i __A)1266 _mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A)
1267 {
1268 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1269 (__v4df) __W,
1270 (__mmask8) __U);
1271 }
1272
1273 extern __inline __m256d
1274 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)1275 _mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
1276 {
1277 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1278 (__v4df)
1279 _mm256_setzero_pd (),
1280 (__mmask8) __U);
1281 }
1282
1283 extern __inline __m128d
1284 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_pd(__m128i __A)1285 _mm_cvtepu32_pd (__m128i __A)
1286 {
1287 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1288 (__v2df)
1289 _mm_setzero_pd (),
1290 (__mmask8) -1);
1291 }
1292
1293 extern __inline __m128d
1294 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_pd(__m128d __W,__mmask8 __U,__m128i __A)1295 _mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A)
1296 {
1297 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1298 (__v2df) __W,
1299 (__mmask8) __U);
1300 }
1301
1302 extern __inline __m128d
1303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)1304 _mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
1305 {
1306 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1307 (__v2df)
1308 _mm_setzero_pd (),
1309 (__mmask8) __U);
1310 }
1311
1312 extern __inline __m256
1313 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_ps(__m256 __W,__mmask8 __U,__m256i __A)1314 _mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A)
1315 {
1316 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1317 (__v8sf) __W,
1318 (__mmask8) __U);
1319 }
1320
1321 extern __inline __m256
1322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_ps(__mmask8 __U,__m256i __A)1323 _mm256_maskz_cvtepi32_ps (__mmask8 __U, __m256i __A)
1324 {
1325 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1326 (__v8sf)
1327 _mm256_setzero_ps (),
1328 (__mmask8) __U);
1329 }
1330
1331 extern __inline __m128
1332 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_ps(__m128 __W,__mmask8 __U,__m128i __A)1333 _mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A)
1334 {
1335 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1336 (__v4sf) __W,
1337 (__mmask8) __U);
1338 }
1339
1340 extern __inline __m128
1341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_ps(__mmask8 __U,__m128i __A)1342 _mm_maskz_cvtepi32_ps (__mmask8 __U, __m128i __A)
1343 {
1344 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1345 (__v4sf)
1346 _mm_setzero_ps (),
1347 (__mmask8) __U);
1348 }
1349
1350 extern __inline __m256
1351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_ps(__m256i __A)1352 _mm256_cvtepu32_ps (__m256i __A)
1353 {
1354 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1355 (__v8sf)
1356 _mm256_setzero_ps (),
1357 (__mmask8) -1);
1358 }
1359
1360 extern __inline __m256
1361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_ps(__m256 __W,__mmask8 __U,__m256i __A)1362 _mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A)
1363 {
1364 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1365 (__v8sf) __W,
1366 (__mmask8) __U);
1367 }
1368
1369 extern __inline __m256
1370 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_ps(__mmask8 __U,__m256i __A)1371 _mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A)
1372 {
1373 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1374 (__v8sf)
1375 _mm256_setzero_ps (),
1376 (__mmask8) __U);
1377 }
1378
1379 extern __inline __m128
1380 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_ps(__m128i __A)1381 _mm_cvtepu32_ps (__m128i __A)
1382 {
1383 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1384 (__v4sf)
1385 _mm_setzero_ps (),
1386 (__mmask8) -1);
1387 }
1388
1389 extern __inline __m128
1390 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_ps(__m128 __W,__mmask8 __U,__m128i __A)1391 _mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A)
1392 {
1393 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1394 (__v4sf) __W,
1395 (__mmask8) __U);
1396 }
1397
1398 extern __inline __m128
1399 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_ps(__mmask8 __U,__m128i __A)1400 _mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A)
1401 {
1402 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1403 (__v4sf)
1404 _mm_setzero_ps (),
1405 (__mmask8) __U);
1406 }
1407
1408 extern __inline __m256d
1409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_pd(__m256d __W,__mmask8 __U,__m128 __A)1410 _mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A)
1411 {
1412 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1413 (__v4df) __W,
1414 (__mmask8) __U);
1415 }
1416
1417 extern __inline __m256d
1418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1419 _mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
1420 {
1421 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1422 (__v4df)
1423 _mm256_setzero_pd (),
1424 (__mmask8) __U);
1425 }
1426
1427 extern __inline __m128d
1428 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_pd(__m128d __W,__mmask8 __U,__m128 __A)1429 _mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A)
1430 {
1431 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1432 (__v2df) __W,
1433 (__mmask8) __U);
1434 }
1435
1436 extern __inline __m128d
1437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1438 _mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
1439 {
1440 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1441 (__v2df)
1442 _mm_setzero_pd (),
1443 (__mmask8) __U);
1444 }
1445
1446 extern __inline __m128i
1447 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi8(__m128i __A)1448 _mm_cvtepi32_epi8 (__m128i __A)
1449 {
1450 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1451 (__v16qi)
1452 _mm_undefined_si128 (),
1453 (__mmask8) -1);
1454 }
1455
1456 extern __inline void
1457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1458 _mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1459 {
1460 __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1461 }
1462
1463 extern __inline __m128i
1464 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1465 _mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1466 {
1467 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1468 (__v16qi) __O, __M);
1469 }
1470
1471 extern __inline __m128i
1472 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi8(__mmask8 __M,__m128i __A)1473 _mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A)
1474 {
1475 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1476 (__v16qi)
1477 _mm_setzero_si128 (),
1478 __M);
1479 }
1480
1481 extern __inline __m128i
1482 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi8(__m256i __A)1483 _mm256_cvtepi32_epi8 (__m256i __A)
1484 {
1485 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1486 (__v16qi)
1487 _mm_undefined_si128 (),
1488 (__mmask8) -1);
1489 }
1490
1491 extern __inline __m128i
1492 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1493 _mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1494 {
1495 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1496 (__v16qi) __O, __M);
1497 }
1498
1499 extern __inline void
1500 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1501 _mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1502 {
1503 __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
1504 }
1505
1506 extern __inline __m128i
1507 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi8(__mmask8 __M,__m256i __A)1508 _mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A)
1509 {
1510 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1511 (__v16qi)
1512 _mm_setzero_si128 (),
1513 __M);
1514 }
1515
1516 extern __inline __m128i
1517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi8(__m128i __A)1518 _mm_cvtsepi32_epi8 (__m128i __A)
1519 {
1520 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1521 (__v16qi)
1522 _mm_undefined_si128 (),
1523 (__mmask8) -1);
1524 }
1525
1526 extern __inline void
1527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1528 _mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1529 {
1530 __builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1531 }
1532
1533 extern __inline __m128i
1534 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1535 _mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1536 {
1537 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1538 (__v16qi) __O, __M);
1539 }
1540
1541 extern __inline __m128i
1542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi8(__mmask8 __M,__m128i __A)1543 _mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A)
1544 {
1545 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1546 (__v16qi)
1547 _mm_setzero_si128 (),
1548 __M);
1549 }
1550
1551 extern __inline __m128i
1552 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi8(__m256i __A)1553 _mm256_cvtsepi32_epi8 (__m256i __A)
1554 {
1555 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1556 (__v16qi)
1557 _mm_undefined_si128 (),
1558 (__mmask8) -1);
1559 }
1560
1561 extern __inline void
1562 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1563 _mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1564 {
1565 __builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
1566 }
1567
1568 extern __inline __m128i
1569 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1570 _mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1571 {
1572 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1573 (__v16qi) __O, __M);
1574 }
1575
1576 extern __inline __m128i
1577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi8(__mmask8 __M,__m256i __A)1578 _mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A)
1579 {
1580 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1581 (__v16qi)
1582 _mm_setzero_si128 (),
1583 __M);
1584 }
1585
1586 extern __inline __m128i
1587 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi8(__m128i __A)1588 _mm_cvtusepi32_epi8 (__m128i __A)
1589 {
1590 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1591 (__v16qi)
1592 _mm_undefined_si128 (),
1593 (__mmask8) -1);
1594 }
1595
1596 extern __inline void
1597 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1598 _mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1599 {
1600 __builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1601 }
1602
1603 extern __inline __m128i
1604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1605 _mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1606 {
1607 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1608 (__v16qi) __O,
1609 __M);
1610 }
1611
1612 extern __inline __m128i
1613 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi8(__mmask8 __M,__m128i __A)1614 _mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A)
1615 {
1616 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1617 (__v16qi)
1618 _mm_setzero_si128 (),
1619 __M);
1620 }
1621
1622 extern __inline __m128i
1623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi8(__m256i __A)1624 _mm256_cvtusepi32_epi8 (__m256i __A)
1625 {
1626 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1627 (__v16qi)
1628 _mm_undefined_si128 (),
1629 (__mmask8) -1);
1630 }
1631
1632 extern __inline void
1633 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1634 _mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1635 {
1636 __builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M);
1637 }
1638
1639 extern __inline __m128i
1640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1641 _mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1642 {
1643 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1644 (__v16qi) __O,
1645 __M);
1646 }
1647
1648 extern __inline __m128i
1649 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi8(__mmask8 __M,__m256i __A)1650 _mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A)
1651 {
1652 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1653 (__v16qi)
1654 _mm_setzero_si128 (),
1655 __M);
1656 }
1657
1658 extern __inline __m128i
1659 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi16(__m128i __A)1660 _mm_cvtepi32_epi16 (__m128i __A)
1661 {
1662 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1663 (__v8hi)
1664 _mm_setzero_si128 (),
1665 (__mmask8) -1);
1666 }
1667
1668 extern __inline void
1669 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1670 _mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1671 {
1672 __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1673 }
1674
1675 extern __inline __m128i
1676 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1677 _mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1678 {
1679 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1680 (__v8hi) __O, __M);
1681 }
1682
1683 extern __inline __m128i
1684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi16(__mmask8 __M,__m128i __A)1685 _mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A)
1686 {
1687 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1688 (__v8hi)
1689 _mm_setzero_si128 (),
1690 __M);
1691 }
1692
1693 extern __inline __m128i
1694 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi16(__m256i __A)1695 _mm256_cvtepi32_epi16 (__m256i __A)
1696 {
1697 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1698 (__v8hi)
1699 _mm_setzero_si128 (),
1700 (__mmask8) -1);
1701 }
1702
1703 extern __inline void
1704 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1705 _mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1706 {
1707 __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1708 }
1709
1710 extern __inline __m128i
1711 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1712 _mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1713 {
1714 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1715 (__v8hi) __O, __M);
1716 }
1717
1718 extern __inline __m128i
1719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi16(__mmask8 __M,__m256i __A)1720 _mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A)
1721 {
1722 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1723 (__v8hi)
1724 _mm_setzero_si128 (),
1725 __M);
1726 }
1727
1728 extern __inline __m128i
1729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi16(__m128i __A)1730 _mm_cvtsepi32_epi16 (__m128i __A)
1731 {
1732 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1733 (__v8hi)
1734 _mm_setzero_si128 (),
1735 (__mmask8) -1);
1736 }
1737
1738 extern __inline void
1739 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1740 _mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1741 {
1742 __builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1743 }
1744
1745 extern __inline __m128i
1746 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1747 _mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1748 {
1749 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1750 (__v8hi)__O,
1751 __M);
1752 }
1753
1754 extern __inline __m128i
1755 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi16(__mmask8 __M,__m128i __A)1756 _mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A)
1757 {
1758 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1759 (__v8hi)
1760 _mm_setzero_si128 (),
1761 __M);
1762 }
1763
1764 extern __inline __m128i
1765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi16(__m256i __A)1766 _mm256_cvtsepi32_epi16 (__m256i __A)
1767 {
1768 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1769 (__v8hi)
1770 _mm_undefined_si128 (),
1771 (__mmask8) -1);
1772 }
1773
1774 extern __inline void
1775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1776 _mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1777 {
1778 __builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1779 }
1780
1781 extern __inline __m128i
1782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1783 _mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1784 {
1785 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1786 (__v8hi) __O, __M);
1787 }
1788
1789 extern __inline __m128i
1790 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi16(__mmask8 __M,__m256i __A)1791 _mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A)
1792 {
1793 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1794 (__v8hi)
1795 _mm_setzero_si128 (),
1796 __M);
1797 }
1798
1799 extern __inline __m128i
1800 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi16(__m128i __A)1801 _mm_cvtusepi32_epi16 (__m128i __A)
1802 {
1803 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1804 (__v8hi)
1805 _mm_undefined_si128 (),
1806 (__mmask8) -1);
1807 }
1808
1809 extern __inline void
1810 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1811 _mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1812 {
1813 __builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1814 }
1815
1816 extern __inline __m128i
1817 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1818 _mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1819 {
1820 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1821 (__v8hi) __O, __M);
1822 }
1823
1824 extern __inline __m128i
1825 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi16(__mmask8 __M,__m128i __A)1826 _mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A)
1827 {
1828 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1829 (__v8hi)
1830 _mm_setzero_si128 (),
1831 __M);
1832 }
1833
1834 extern __inline __m128i
1835 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi16(__m256i __A)1836 _mm256_cvtusepi32_epi16 (__m256i __A)
1837 {
1838 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1839 (__v8hi)
1840 _mm_undefined_si128 (),
1841 (__mmask8) -1);
1842 }
1843
1844 extern __inline void
1845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1846 _mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1847 {
1848 __builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1849 }
1850
1851 extern __inline __m128i
1852 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1853 _mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1854 {
1855 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1856 (__v8hi) __O, __M);
1857 }
1858
1859 extern __inline __m128i
1860 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi16(__mmask8 __M,__m256i __A)1861 _mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A)
1862 {
1863 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1864 (__v8hi)
1865 _mm_setzero_si128 (),
1866 __M);
1867 }
1868
1869 extern __inline __m128i
1870 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi8(__m128i __A)1871 _mm_cvtepi64_epi8 (__m128i __A)
1872 {
1873 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1874 (__v16qi)
1875 _mm_undefined_si128 (),
1876 (__mmask8) -1);
1877 }
1878
1879 extern __inline void
1880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1881 _mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1882 {
1883 __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
1884 }
1885
1886 extern __inline __m128i
1887 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)1888 _mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1889 {
1890 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1891 (__v16qi) __O, __M);
1892 }
1893
1894 extern __inline __m128i
1895 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi8(__mmask8 __M,__m128i __A)1896 _mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A)
1897 {
1898 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1899 (__v16qi)
1900 _mm_setzero_si128 (),
1901 __M);
1902 }
1903
1904 extern __inline __m128i
1905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi8(__m256i __A)1906 _mm256_cvtepi64_epi8 (__m256i __A)
1907 {
1908 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1909 (__v16qi)
1910 _mm_undefined_si128 (),
1911 (__mmask8) -1);
1912 }
1913
1914 extern __inline void
1915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1916 _mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1917 {
1918 __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
1919 }
1920
1921 extern __inline __m128i
1922 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)1923 _mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1924 {
1925 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1926 (__v16qi) __O, __M);
1927 }
1928
1929 extern __inline __m128i
1930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi8(__mmask8 __M,__m256i __A)1931 _mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A)
1932 {
1933 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1934 (__v16qi)
1935 _mm_setzero_si128 (),
1936 __M);
1937 }
1938
1939 extern __inline __m128i
1940 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi8(__m128i __A)1941 _mm_cvtsepi64_epi8 (__m128i __A)
1942 {
1943 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1944 (__v16qi)
1945 _mm_undefined_si128 (),
1946 (__mmask8) -1);
1947 }
1948
1949 extern __inline void
1950 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1951 _mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1952 {
1953 __builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
1954 }
1955
1956 extern __inline __m128i
1957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)1958 _mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1959 {
1960 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1961 (__v16qi) __O, __M);
1962 }
1963
1964 extern __inline __m128i
1965 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi8(__mmask8 __M,__m128i __A)1966 _mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A)
1967 {
1968 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1969 (__v16qi)
1970 _mm_setzero_si128 (),
1971 __M);
1972 }
1973
1974 extern __inline __m128i
1975 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi8(__m256i __A)1976 _mm256_cvtsepi64_epi8 (__m256i __A)
1977 {
1978 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
1979 (__v16qi)
1980 _mm_undefined_si128 (),
1981 (__mmask8) -1);
1982 }
1983
1984 extern __inline void
1985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1986 _mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1987 {
1988 __builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
1989 }
1990
1991 extern __inline __m128i
1992 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)1993 _mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1994 {
1995 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
1996 (__v16qi) __O, __M);
1997 }
1998
1999 extern __inline __m128i
2000 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi8(__mmask8 __M,__m256i __A)2001 _mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A)
2002 {
2003 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
2004 (__v16qi)
2005 _mm_setzero_si128 (),
2006 __M);
2007 }
2008
2009 extern __inline __m128i
2010 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi8(__m128i __A)2011 _mm_cvtusepi64_epi8 (__m128i __A)
2012 {
2013 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
2014 (__v16qi)
2015 _mm_undefined_si128 (),
2016 (__mmask8) -1);
2017 }
2018
2019 extern __inline void
2020 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2021 _mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2022 {
2023 __builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
2024 }
2025
2026 extern __inline __m128i
2027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)2028 _mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
2029 {
2030 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
2031 (__v16qi) __O,
2032 __M);
2033 }
2034
2035 extern __inline __m128i
2036 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi8(__mmask8 __M,__m128i __A)2037 _mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A)
2038 {
2039 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
2040 (__v16qi)
2041 _mm_setzero_si128 (),
2042 __M);
2043 }
2044
2045 extern __inline __m128i
2046 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi8(__m256i __A)2047 _mm256_cvtusepi64_epi8 (__m256i __A)
2048 {
2049 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2050 (__v16qi)
2051 _mm_undefined_si128 (),
2052 (__mmask8) -1);
2053 }
2054
2055 extern __inline void
2056 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)2057 _mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
2058 {
2059 __builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
2060 }
2061
2062 extern __inline __m128i
2063 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)2064 _mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
2065 {
2066 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2067 (__v16qi) __O,
2068 __M);
2069 }
2070
2071 extern __inline __m128i
2072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi8(__mmask8 __M,__m256i __A)2073 _mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A)
2074 {
2075 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2076 (__v16qi)
2077 _mm_setzero_si128 (),
2078 __M);
2079 }
2080
2081 extern __inline __m128i
2082 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi16(__m128i __A)2083 _mm_cvtepi64_epi16 (__m128i __A)
2084 {
2085 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2086 (__v8hi)
2087 _mm_undefined_si128 (),
2088 (__mmask8) -1);
2089 }
2090
2091 extern __inline void
2092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2093 _mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2094 {
2095 __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2096 }
2097
2098 extern __inline __m128i
2099 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2100 _mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2101 {
2102 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2103 (__v8hi)__O,
2104 __M);
2105 }
2106
2107 extern __inline __m128i
2108 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi16(__mmask8 __M,__m128i __A)2109 _mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A)
2110 {
2111 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2112 (__v8hi)
2113 _mm_setzero_si128 (),
2114 __M);
2115 }
2116
2117 extern __inline __m128i
2118 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi16(__m256i __A)2119 _mm256_cvtepi64_epi16 (__m256i __A)
2120 {
2121 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2122 (__v8hi)
2123 _mm_undefined_si128 (),
2124 (__mmask8) -1);
2125 }
2126
2127 extern __inline void
2128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2129 _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2130 {
2131 __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2132 }
2133
2134 extern __inline __m128i
2135 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2136 _mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2137 {
2138 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2139 (__v8hi) __O, __M);
2140 }
2141
2142 extern __inline __m128i
2143 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi16(__mmask8 __M,__m256i __A)2144 _mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A)
2145 {
2146 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2147 (__v8hi)
2148 _mm_setzero_si128 (),
2149 __M);
2150 }
2151
2152 extern __inline __m128i
2153 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi16(__m128i __A)2154 _mm_cvtsepi64_epi16 (__m128i __A)
2155 {
2156 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2157 (__v8hi)
2158 _mm_undefined_si128 (),
2159 (__mmask8) -1);
2160 }
2161
2162 extern __inline void
2163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2164 _mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2165 {
2166 __builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2167 }
2168
2169 extern __inline __m128i
2170 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2171 _mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2172 {
2173 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2174 (__v8hi) __O, __M);
2175 }
2176
2177 extern __inline __m128i
2178 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi16(__mmask8 __M,__m128i __A)2179 _mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A)
2180 {
2181 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2182 (__v8hi)
2183 _mm_setzero_si128 (),
2184 __M);
2185 }
2186
2187 extern __inline __m128i
2188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi16(__m256i __A)2189 _mm256_cvtsepi64_epi16 (__m256i __A)
2190 {
2191 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2192 (__v8hi)
2193 _mm_undefined_si128 (),
2194 (__mmask8) -1);
2195 }
2196
2197 extern __inline void
2198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2199 _mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2200 {
2201 __builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2202 }
2203
2204 extern __inline __m128i
2205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2206 _mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2207 {
2208 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2209 (__v8hi) __O, __M);
2210 }
2211
2212 extern __inline __m128i
2213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi16(__mmask8 __M,__m256i __A)2214 _mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A)
2215 {
2216 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2217 (__v8hi)
2218 _mm_setzero_si128 (),
2219 __M);
2220 }
2221
2222 extern __inline __m128i
2223 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi16(__m128i __A)2224 _mm_cvtusepi64_epi16 (__m128i __A)
2225 {
2226 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2227 (__v8hi)
2228 _mm_undefined_si128 (),
2229 (__mmask8) -1);
2230 }
2231
2232 extern __inline void
2233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2234 _mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2235 {
2236 __builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2237 }
2238
2239 extern __inline __m128i
2240 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2241 _mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2242 {
2243 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2244 (__v8hi) __O, __M);
2245 }
2246
2247 extern __inline __m128i
2248 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi16(__mmask8 __M,__m128i __A)2249 _mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A)
2250 {
2251 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2252 (__v8hi)
2253 _mm_setzero_si128 (),
2254 __M);
2255 }
2256
2257 extern __inline __m128i
2258 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi16(__m256i __A)2259 _mm256_cvtusepi64_epi16 (__m256i __A)
2260 {
2261 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2262 (__v8hi)
2263 _mm_undefined_si128 (),
2264 (__mmask8) -1);
2265 }
2266
2267 extern __inline void
2268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2269 _mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2270 {
2271 __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2272 }
2273
2274 extern __inline __m128i
2275 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2276 _mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2277 {
2278 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2279 (__v8hi) __O, __M);
2280 }
2281
2282 extern __inline __m128i
2283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi16(__mmask8 __M,__m256i __A)2284 _mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A)
2285 {
2286 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2287 (__v8hi)
2288 _mm_setzero_si128 (),
2289 __M);
2290 }
2291
2292 extern __inline __m128i
2293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi32(__m128i __A)2294 _mm_cvtepi64_epi32 (__m128i __A)
2295 {
2296 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2297 (__v4si)
2298 _mm_undefined_si128 (),
2299 (__mmask8) -1);
2300 }
2301
2302 extern __inline void
2303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2304 _mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2305 {
2306 __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2307 }
2308
2309 extern __inline __m128i
2310 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2311 _mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2312 {
2313 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2314 (__v4si) __O, __M);
2315 }
2316
2317 extern __inline __m128i
2318 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi32(__mmask8 __M,__m128i __A)2319 _mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A)
2320 {
2321 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2322 (__v4si)
2323 _mm_setzero_si128 (),
2324 __M);
2325 }
2326
2327 extern __inline __m128i
2328 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi32(__m256i __A)2329 _mm256_cvtepi64_epi32 (__m256i __A)
2330 {
2331 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2332 (__v4si)
2333 _mm_undefined_si128 (),
2334 (__mmask8) -1);
2335 }
2336
2337 extern __inline void
2338 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2339 _mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2340 {
2341 __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2342 }
2343
2344 extern __inline __m128i
2345 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2346 _mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2347 {
2348 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2349 (__v4si) __O, __M);
2350 }
2351
2352 extern __inline __m128i
2353 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi32(__mmask8 __M,__m256i __A)2354 _mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
2355 {
2356 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2357 (__v4si)
2358 _mm_setzero_si128 (),
2359 __M);
2360 }
2361
2362 extern __inline __m128i
2363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi32(__m128i __A)2364 _mm_cvtsepi64_epi32 (__m128i __A)
2365 {
2366 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2367 (__v4si)
2368 _mm_undefined_si128 (),
2369 (__mmask8) -1);
2370 }
2371
2372 extern __inline void
2373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2374 _mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2375 {
2376 __builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2377 }
2378
2379 extern __inline __m128i
2380 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2381 _mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2382 {
2383 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2384 (__v4si) __O, __M);
2385 }
2386
2387 extern __inline __m128i
2388 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi32(__mmask8 __M,__m128i __A)2389 _mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A)
2390 {
2391 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2392 (__v4si)
2393 _mm_setzero_si128 (),
2394 __M);
2395 }
2396
2397 extern __inline __m128i
2398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi32(__m256i __A)2399 _mm256_cvtsepi64_epi32 (__m256i __A)
2400 {
2401 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2402 (__v4si)
2403 _mm_undefined_si128 (),
2404 (__mmask8) -1);
2405 }
2406
2407 extern __inline void
2408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2409 _mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2410 {
2411 __builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2412 }
2413
2414 extern __inline __m128i
2415 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2416 _mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2417 {
2418 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2419 (__v4si)__O,
2420 __M);
2421 }
2422
2423 extern __inline __m128i
2424 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi32(__mmask8 __M,__m256i __A)2425 _mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A)
2426 {
2427 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2428 (__v4si)
2429 _mm_setzero_si128 (),
2430 __M);
2431 }
2432
2433 extern __inline __m128i
2434 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi32(__m128i __A)2435 _mm_cvtusepi64_epi32 (__m128i __A)
2436 {
2437 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2438 (__v4si)
2439 _mm_undefined_si128 (),
2440 (__mmask8) -1);
2441 }
2442
2443 extern __inline void
2444 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2445 _mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2446 {
2447 __builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2448 }
2449
2450 extern __inline __m128i
2451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2452 _mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2453 {
2454 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2455 (__v4si) __O, __M);
2456 }
2457
2458 extern __inline __m128i
2459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi32(__mmask8 __M,__m128i __A)2460 _mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A)
2461 {
2462 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2463 (__v4si)
2464 _mm_setzero_si128 (),
2465 __M);
2466 }
2467
2468 extern __inline __m128i
2469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi32(__m256i __A)2470 _mm256_cvtusepi64_epi32 (__m256i __A)
2471 {
2472 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2473 (__v4si)
2474 _mm_undefined_si128 (),
2475 (__mmask8) -1);
2476 }
2477
2478 extern __inline void
2479 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2480 _mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2481 {
2482 __builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2483 }
2484
2485 extern __inline __m128i
2486 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2487 _mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2488 {
2489 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2490 (__v4si) __O, __M);
2491 }
2492
2493 extern __inline __m128i
2494 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi32(__mmask8 __M,__m256i __A)2495 _mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A)
2496 {
2497 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2498 (__v4si)
2499 _mm_setzero_si128 (),
2500 __M);
2501 }
2502
2503 extern __inline __m256
2504 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastss_ps(__m256 __O,__mmask8 __M,__m128 __A)2505 _mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
2506 {
2507 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
2508 (__v8sf) __O,
2509 __M);
2510 }
2511
2512 extern __inline __m256
2513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)2514 _mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
2515 {
2516 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
2517 (__v8sf)
2518 _mm256_setzero_ps (),
2519 __M);
2520 }
2521
2522 extern __inline __m128
2523 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastss_ps(__m128 __O,__mmask8 __M,__m128 __A)2524 _mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
2525 {
2526 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
2527 (__v4sf) __O,
2528 __M);
2529 }
2530
2531 extern __inline __m128
2532 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)2533 _mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
2534 {
2535 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
2536 (__v4sf)
2537 _mm_setzero_ps (),
2538 __M);
2539 }
2540
2541 extern __inline __m256d
2542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastsd_pd(__m256d __O,__mmask8 __M,__m128d __A)2543 _mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
2544 {
2545 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
2546 (__v4df) __O,
2547 __M);
2548 }
2549
2550 extern __inline __m256d
2551 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastsd_pd(__mmask8 __M,__m128d __A)2552 _mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
2553 {
2554 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
2555 (__v4df)
2556 _mm256_setzero_pd (),
2557 __M);
2558 }
2559
2560 extern __inline __m256i
2561 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastd_epi32(__m256i __O,__mmask8 __M,__m128i __A)2562 _mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
2563 {
2564 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
2565 (__v8si) __O,
2566 __M);
2567 }
2568
2569 extern __inline __m256i
2570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)2571 _mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
2572 {
2573 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
2574 (__v8si)
2575 _mm256_setzero_si256 (),
2576 __M);
2577 }
2578
2579 extern __inline __m256i
2580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi32(__m256i __O,__mmask8 __M,int __A)2581 _mm256_mask_set1_epi32 (__m256i __O, __mmask8 __M, int __A)
2582 {
2583 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) __O,
2584 __M);
2585 }
2586
2587 extern __inline __m256i
2588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi32(__mmask8 __M,int __A)2589 _mm256_maskz_set1_epi32 (__mmask8 __M, int __A)
2590 {
2591 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A,
2592 (__v8si)
2593 _mm256_setzero_si256 (),
2594 __M);
2595 }
2596
2597 extern __inline __m128i
2598 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastd_epi32(__m128i __O,__mmask8 __M,__m128i __A)2599 _mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2600 {
2601 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
2602 (__v4si) __O,
2603 __M);
2604 }
2605
2606 extern __inline __m128i
2607 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)2608 _mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
2609 {
2610 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
2611 (__v4si)
2612 _mm_setzero_si128 (),
2613 __M);
2614 }
2615
2616 extern __inline __m128i
2617 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi32(__m128i __O,__mmask8 __M,int __A)2618 _mm_mask_set1_epi32 (__m128i __O, __mmask8 __M, int __A)
2619 {
2620 return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) __O,
2621 __M);
2622 }
2623
2624 extern __inline __m128i
2625 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi32(__mmask8 __M,int __A)2626 _mm_maskz_set1_epi32 (__mmask8 __M, int __A)
2627 {
2628 return (__m128i)
2629 __builtin_ia32_pbroadcastd128_gpr_mask (__A,
2630 (__v4si) _mm_setzero_si128 (),
2631 __M);
2632 }
2633
2634 extern __inline __m256i
2635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastq_epi64(__m256i __O,__mmask8 __M,__m128i __A)2636 _mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
2637 {
2638 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
2639 (__v4di) __O,
2640 __M);
2641 }
2642
2643 extern __inline __m256i
2644 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)2645 _mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
2646 {
2647 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
2648 (__v4di)
2649 _mm256_setzero_si256 (),
2650 __M);
2651 }
2652
2653 extern __inline __m256i
2654 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi64(__m256i __O,__mmask8 __M,long long __A)2655 _mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
2656 {
2657 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O,
2658 __M);
2659 }
2660
2661 extern __inline __m256i
2662 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi64(__mmask8 __M,long long __A)2663 _mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
2664 {
2665 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A,
2666 (__v4di)
2667 _mm256_setzero_si256 (),
2668 __M);
2669 }
2670
2671 extern __inline __m128i
2672 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastq_epi64(__m128i __O,__mmask8 __M,__m128i __A)2673 _mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
2674 {
2675 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
2676 (__v2di) __O,
2677 __M);
2678 }
2679
2680 extern __inline __m128i
2681 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)2682 _mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
2683 {
2684 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
2685 (__v2di)
2686 _mm_setzero_si128 (),
2687 __M);
2688 }
2689
2690 extern __inline __m128i
2691 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi64(__m128i __O,__mmask8 __M,long long __A)2692 _mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
2693 {
2694 return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O,
2695 __M);
2696 }
2697
2698 extern __inline __m128i
2699 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi64(__mmask8 __M,long long __A)2700 _mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
2701 {
2702 return (__m128i)
2703 __builtin_ia32_pbroadcastq128_gpr_mask (__A,
2704 (__v2di) _mm_setzero_si128 (),
2705 __M);
2706 }
2707
2708 extern __inline __m256
2709 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_f32x4(__m128 __A)2710 _mm256_broadcast_f32x4 (__m128 __A)
2711 {
2712 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2713 (__v8sf)_mm256_undefined_pd (),
2714 (__mmask8) -1);
2715 }
2716
2717 extern __inline __m256
2718 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_f32x4(__m256 __O,__mmask8 __M,__m128 __A)2719 _mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
2720 {
2721 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2722 (__v8sf) __O,
2723 __M);
2724 }
2725
2726 extern __inline __m256
2727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_f32x4(__mmask8 __M,__m128 __A)2728 _mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
2729 {
2730 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2731 (__v8sf)
2732 _mm256_setzero_ps (),
2733 __M);
2734 }
2735
2736 extern __inline __m256i
2737 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_i32x4(__m128i __A)2738 _mm256_broadcast_i32x4 (__m128i __A)
2739 {
2740 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2741 __A,
2742 (__v8si)_mm256_undefined_si256 (),
2743 (__mmask8) -1);
2744 }
2745
2746 extern __inline __m256i
2747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_i32x4(__m256i __O,__mmask8 __M,__m128i __A)2748 _mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
2749 {
2750 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2751 __A,
2752 (__v8si)
2753 __O, __M);
2754 }
2755
2756 extern __inline __m256i
2757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_i32x4(__mmask8 __M,__m128i __A)2758 _mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
2759 {
2760 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2761 __A,
2762 (__v8si)
2763 _mm256_setzero_si256 (),
2764 __M);
2765 }
2766
2767 extern __inline __m256i
2768 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi32(__m256i __W,__mmask8 __U,__m128i __A)2769 _mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2770 {
2771 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2772 (__v8si) __W,
2773 (__mmask8) __U);
2774 }
2775
2776 extern __inline __m256i
2777 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)2778 _mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2779 {
2780 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2781 (__v8si)
2782 _mm256_setzero_si256 (),
2783 (__mmask8) __U);
2784 }
2785
2786 extern __inline __m128i
2787 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi32(__m128i __W,__mmask8 __U,__m128i __A)2788 _mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2789 {
2790 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2791 (__v4si) __W,
2792 (__mmask8) __U);
2793 }
2794
2795 extern __inline __m128i
2796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)2797 _mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2798 {
2799 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2800 (__v4si)
2801 _mm_setzero_si128 (),
2802 (__mmask8) __U);
2803 }
2804
2805 extern __inline __m256i
2806 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi64(__m256i __W,__mmask8 __U,__m128i __A)2807 _mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2808 {
2809 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2810 (__v4di) __W,
2811 (__mmask8) __U);
2812 }
2813
2814 extern __inline __m256i
2815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)2816 _mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2817 {
2818 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2819 (__v4di)
2820 _mm256_setzero_si256 (),
2821 (__mmask8) __U);
2822 }
2823
2824 extern __inline __m128i
2825 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi64(__m128i __W,__mmask8 __U,__m128i __A)2826 _mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2827 {
2828 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2829 (__v2di) __W,
2830 (__mmask8) __U);
2831 }
2832
2833 extern __inline __m128i
2834 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)2835 _mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2836 {
2837 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2838 (__v2di)
2839 _mm_setzero_si128 (),
2840 (__mmask8) __U);
2841 }
2842
2843 extern __inline __m256i
2844 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi32(__m256i __W,__mmask8 __U,__m128i __A)2845 _mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2846 {
2847 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2848 (__v8si) __W,
2849 (__mmask8) __U);
2850 }
2851
2852 extern __inline __m256i
2853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)2854 _mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2855 {
2856 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2857 (__v8si)
2858 _mm256_setzero_si256 (),
2859 (__mmask8) __U);
2860 }
2861
2862 extern __inline __m128i
2863 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi32(__m128i __W,__mmask8 __U,__m128i __A)2864 _mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2865 {
2866 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2867 (__v4si) __W,
2868 (__mmask8) __U);
2869 }
2870
2871 extern __inline __m128i
2872 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)2873 _mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2874 {
2875 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2876 (__v4si)
2877 _mm_setzero_si128 (),
2878 (__mmask8) __U);
2879 }
2880
2881 extern __inline __m256i
2882 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi64(__m256i __W,__mmask8 __U,__m128i __A)2883 _mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2884 {
2885 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2886 (__v4di) __W,
2887 (__mmask8) __U);
2888 }
2889
2890 extern __inline __m256i
2891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)2892 _mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2893 {
2894 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2895 (__v4di)
2896 _mm256_setzero_si256 (),
2897 (__mmask8) __U);
2898 }
2899
2900 extern __inline __m128i
2901 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi64(__m128i __W,__mmask8 __U,__m128i __A)2902 _mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2903 {
2904 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2905 (__v2di) __W,
2906 (__mmask8) __U);
2907 }
2908
2909 extern __inline __m128i
2910 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)2911 _mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2912 {
2913 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2914 (__v2di)
2915 _mm_setzero_si128 (),
2916 (__mmask8) __U);
2917 }
2918
2919 extern __inline __m256i
2920 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi64(__m256i __W,__mmask8 __U,__m128i __X)2921 _mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
2922 {
2923 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2924 (__v4di) __W,
2925 (__mmask8) __U);
2926 }
2927
2928 extern __inline __m256i
2929 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)2930 _mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2931 {
2932 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2933 (__v4di)
2934 _mm256_setzero_si256 (),
2935 (__mmask8) __U);
2936 }
2937
2938 extern __inline __m128i
2939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi64(__m128i __W,__mmask8 __U,__m128i __X)2940 _mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
2941 {
2942 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2943 (__v2di) __W,
2944 (__mmask8) __U);
2945 }
2946
2947 extern __inline __m128i
2948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)2949 _mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2950 {
2951 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2952 (__v2di)
2953 _mm_setzero_si128 (),
2954 (__mmask8) __U);
2955 }
2956
2957 extern __inline __m256i
2958 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi32(__m256i __W,__mmask8 __U,__m128i __A)2959 _mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2960 {
2961 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2962 (__v8si) __W,
2963 (__mmask8) __U);
2964 }
2965
2966 extern __inline __m256i
2967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)2968 _mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
2969 {
2970 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2971 (__v8si)
2972 _mm256_setzero_si256 (),
2973 (__mmask8) __U);
2974 }
2975
2976 extern __inline __m128i
2977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi32(__m128i __W,__mmask8 __U,__m128i __A)2978 _mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2979 {
2980 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
2981 (__v4si) __W,
2982 (__mmask8) __U);
2983 }
2984
2985 extern __inline __m128i
2986 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)2987 _mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
2988 {
2989 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
2990 (__v4si)
2991 _mm_setzero_si128 (),
2992 (__mmask8) __U);
2993 }
2994
2995 extern __inline __m256i
2996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi64(__m256i __W,__mmask8 __U,__m128i __A)2997 _mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2998 {
2999 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
3000 (__v4di) __W,
3001 (__mmask8) __U);
3002 }
3003
3004 extern __inline __m256i
3005 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)3006 _mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
3007 {
3008 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
3009 (__v4di)
3010 _mm256_setzero_si256 (),
3011 (__mmask8) __U);
3012 }
3013
3014 extern __inline __m128i
3015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi64(__m128i __W,__mmask8 __U,__m128i __A)3016 _mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3017 {
3018 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3019 (__v2di) __W,
3020 (__mmask8) __U);
3021 }
3022
3023 extern __inline __m128i
3024 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)3025 _mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
3026 {
3027 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3028 (__v2di)
3029 _mm_setzero_si128 (),
3030 (__mmask8) __U);
3031 }
3032
3033 extern __inline __m256i
3034 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi32(__m256i __W,__mmask8 __U,__m128i __A)3035 _mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
3036 {
3037 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3038 (__v8si) __W,
3039 (__mmask8) __U);
3040 }
3041
3042 extern __inline __m256i
3043 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3044 _mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3045 {
3046 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3047 (__v8si)
3048 _mm256_setzero_si256 (),
3049 (__mmask8) __U);
3050 }
3051
3052 extern __inline __m128i
3053 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi32(__m128i __W,__mmask8 __U,__m128i __A)3054 _mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
3055 {
3056 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3057 (__v4si) __W,
3058 (__mmask8) __U);
3059 }
3060
3061 extern __inline __m128i
3062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3063 _mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3064 {
3065 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3066 (__v4si)
3067 _mm_setzero_si128 (),
3068 (__mmask8) __U);
3069 }
3070
3071 extern __inline __m256i
3072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi64(__m256i __W,__mmask8 __U,__m128i __A)3073 _mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
3074 {
3075 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3076 (__v4di) __W,
3077 (__mmask8) __U);
3078 }
3079
3080 extern __inline __m256i
3081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3082 _mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3083 {
3084 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3085 (__v4di)
3086 _mm256_setzero_si256 (),
3087 (__mmask8) __U);
3088 }
3089
3090 extern __inline __m128i
3091 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi64(__m128i __W,__mmask8 __U,__m128i __A)3092 _mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3093 {
3094 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3095 (__v2di) __W,
3096 (__mmask8) __U);
3097 }
3098
3099 extern __inline __m128i
3100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3101 _mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3102 {
3103 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3104 (__v2di)
3105 _mm_setzero_si128 (),
3106 (__mmask8) __U);
3107 }
3108
3109 extern __inline __m256i
3110 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_epi64(__m256i __W,__mmask8 __U,__m128i __X)3111 _mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
3112 {
3113 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3114 (__v4di) __W,
3115 (__mmask8) __U);
3116 }
3117
3118 extern __inline __m256i
3119 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3120 _mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3121 {
3122 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3123 (__v4di)
3124 _mm256_setzero_si256 (),
3125 (__mmask8) __U);
3126 }
3127
3128 extern __inline __m128i
3129 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_epi64(__m128i __W,__mmask8 __U,__m128i __X)3130 _mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
3131 {
3132 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3133 (__v2di) __W,
3134 (__mmask8) __U);
3135 }
3136
3137 extern __inline __m128i
3138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3139 _mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3140 {
3141 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3142 (__v2di)
3143 _mm_setzero_si128 (),
3144 (__mmask8) __U);
3145 }
3146
3147 extern __inline __m256d
3148 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_pd(__m256d __A)3149 _mm256_rcp14_pd (__m256d __A)
3150 {
3151 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3152 (__v4df)
3153 _mm256_setzero_pd (),
3154 (__mmask8) -1);
3155 }
3156
3157 extern __inline __m256d
3158 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_pd(__m256d __W,__mmask8 __U,__m256d __A)3159 _mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3160 {
3161 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3162 (__v4df) __W,
3163 (__mmask8) __U);
3164 }
3165
3166 extern __inline __m256d
3167 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_pd(__mmask8 __U,__m256d __A)3168 _mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
3169 {
3170 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3171 (__v4df)
3172 _mm256_setzero_pd (),
3173 (__mmask8) __U);
3174 }
3175
3176 extern __inline __m128d
3177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_pd(__m128d __A)3178 _mm_rcp14_pd (__m128d __A)
3179 {
3180 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3181 (__v2df)
3182 _mm_setzero_pd (),
3183 (__mmask8) -1);
3184 }
3185
3186 extern __inline __m128d
3187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_pd(__m128d __W,__mmask8 __U,__m128d __A)3188 _mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3189 {
3190 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3191 (__v2df) __W,
3192 (__mmask8) __U);
3193 }
3194
3195 extern __inline __m128d
3196 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_pd(__mmask8 __U,__m128d __A)3197 _mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
3198 {
3199 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3200 (__v2df)
3201 _mm_setzero_pd (),
3202 (__mmask8) __U);
3203 }
3204
3205 extern __inline __m256
3206 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_ps(__m256 __A)3207 _mm256_rcp14_ps (__m256 __A)
3208 {
3209 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3210 (__v8sf)
3211 _mm256_setzero_ps (),
3212 (__mmask8) -1);
3213 }
3214
3215 extern __inline __m256
3216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_ps(__m256 __W,__mmask8 __U,__m256 __A)3217 _mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3218 {
3219 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3220 (__v8sf) __W,
3221 (__mmask8) __U);
3222 }
3223
3224 extern __inline __m256
3225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_ps(__mmask8 __U,__m256 __A)3226 _mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
3227 {
3228 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3229 (__v8sf)
3230 _mm256_setzero_ps (),
3231 (__mmask8) __U);
3232 }
3233
3234 extern __inline __m128
3235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_ps(__m128 __A)3236 _mm_rcp14_ps (__m128 __A)
3237 {
3238 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3239 (__v4sf)
3240 _mm_setzero_ps (),
3241 (__mmask8) -1);
3242 }
3243
3244 extern __inline __m128
3245 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_ps(__m128 __W,__mmask8 __U,__m128 __A)3246 _mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3247 {
3248 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3249 (__v4sf) __W,
3250 (__mmask8) __U);
3251 }
3252
3253 extern __inline __m128
3254 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_ps(__mmask8 __U,__m128 __A)3255 _mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
3256 {
3257 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3258 (__v4sf)
3259 _mm_setzero_ps (),
3260 (__mmask8) __U);
3261 }
3262
3263 extern __inline __m256d
3264 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_pd(__m256d __A)3265 _mm256_rsqrt14_pd (__m256d __A)
3266 {
3267 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3268 (__v4df)
3269 _mm256_setzero_pd (),
3270 (__mmask8) -1);
3271 }
3272
3273 extern __inline __m256d
3274 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_pd(__m256d __W,__mmask8 __U,__m256d __A)3275 _mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3276 {
3277 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3278 (__v4df) __W,
3279 (__mmask8) __U);
3280 }
3281
3282 extern __inline __m256d
3283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_pd(__mmask8 __U,__m256d __A)3284 _mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
3285 {
3286 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3287 (__v4df)
3288 _mm256_setzero_pd (),
3289 (__mmask8) __U);
3290 }
3291
3292 extern __inline __m128d
3293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_pd(__m128d __A)3294 _mm_rsqrt14_pd (__m128d __A)
3295 {
3296 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3297 (__v2df)
3298 _mm_setzero_pd (),
3299 (__mmask8) -1);
3300 }
3301
3302 extern __inline __m128d
3303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_pd(__m128d __W,__mmask8 __U,__m128d __A)3304 _mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3305 {
3306 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3307 (__v2df) __W,
3308 (__mmask8) __U);
3309 }
3310
3311 extern __inline __m128d
3312 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_pd(__mmask8 __U,__m128d __A)3313 _mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
3314 {
3315 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3316 (__v2df)
3317 _mm_setzero_pd (),
3318 (__mmask8) __U);
3319 }
3320
3321 extern __inline __m256
3322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_ps(__m256 __A)3323 _mm256_rsqrt14_ps (__m256 __A)
3324 {
3325 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3326 (__v8sf)
3327 _mm256_setzero_ps (),
3328 (__mmask8) -1);
3329 }
3330
3331 extern __inline __m256
3332 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_ps(__m256 __W,__mmask8 __U,__m256 __A)3333 _mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3334 {
3335 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3336 (__v8sf) __W,
3337 (__mmask8) __U);
3338 }
3339
3340 extern __inline __m256
3341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_ps(__mmask8 __U,__m256 __A)3342 _mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
3343 {
3344 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3345 (__v8sf)
3346 _mm256_setzero_ps (),
3347 (__mmask8) __U);
3348 }
3349
3350 extern __inline __m128
3351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_ps(__m128 __A)3352 _mm_rsqrt14_ps (__m128 __A)
3353 {
3354 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3355 (__v4sf)
3356 _mm_setzero_ps (),
3357 (__mmask8) -1);
3358 }
3359
3360 extern __inline __m128
3361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_ps(__m128 __W,__mmask8 __U,__m128 __A)3362 _mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3363 {
3364 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3365 (__v4sf) __W,
3366 (__mmask8) __U);
3367 }
3368
3369 extern __inline __m128
3370 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_ps(__mmask8 __U,__m128 __A)3371 _mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
3372 {
3373 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3374 (__v4sf)
3375 _mm_setzero_ps (),
3376 (__mmask8) __U);
3377 }
3378
3379 extern __inline __m256d
3380 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_pd(__m256d __W,__mmask8 __U,__m256d __A)3381 _mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A)
3382 {
3383 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3384 (__v4df) __W,
3385 (__mmask8) __U);
3386 }
3387
3388 extern __inline __m256d
3389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_pd(__mmask8 __U,__m256d __A)3390 _mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A)
3391 {
3392 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3393 (__v4df)
3394 _mm256_setzero_pd (),
3395 (__mmask8) __U);
3396 }
3397
3398 extern __inline __m128d
3399 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_pd(__m128d __W,__mmask8 __U,__m128d __A)3400 _mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A)
3401 {
3402 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3403 (__v2df) __W,
3404 (__mmask8) __U);
3405 }
3406
3407 extern __inline __m128d
3408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_pd(__mmask8 __U,__m128d __A)3409 _mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A)
3410 {
3411 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3412 (__v2df)
3413 _mm_setzero_pd (),
3414 (__mmask8) __U);
3415 }
3416
3417 extern __inline __m256
3418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_ps(__m256 __W,__mmask8 __U,__m256 __A)3419 _mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A)
3420 {
3421 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3422 (__v8sf) __W,
3423 (__mmask8) __U);
3424 }
3425
3426 extern __inline __m256
3427 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_ps(__mmask8 __U,__m256 __A)3428 _mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A)
3429 {
3430 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3431 (__v8sf)
3432 _mm256_setzero_ps (),
3433 (__mmask8) __U);
3434 }
3435
3436 extern __inline __m128
3437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_ps(__m128 __W,__mmask8 __U,__m128 __A)3438 _mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A)
3439 {
3440 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
3441 (__v4sf) __W,
3442 (__mmask8) __U);
3443 }
3444
3445 extern __inline __m128
3446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_ps(__mmask8 __U,__m128 __A)3447 _mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A)
3448 {
3449 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
3450 (__v4sf)
3451 _mm_setzero_ps (),
3452 (__mmask8) __U);
3453 }
3454
3455 extern __inline __m256i
3456 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3457 _mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3458 __m256i __B)
3459 {
3460 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
3461 (__v8si) __B,
3462 (__v8si) __W,
3463 (__mmask8) __U);
3464 }
3465
3466 extern __inline __m256i
3467 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi32(__mmask8 __U,__m256i __A,__m256i __B)3468 _mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3469 {
3470 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
3471 (__v8si) __B,
3472 (__v8si)
3473 _mm256_setzero_si256 (),
3474 (__mmask8) __U);
3475 }
3476
3477 extern __inline __m256i
3478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3479 _mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3480 __m256i __B)
3481 {
3482 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
3483 (__v4di) __B,
3484 (__v4di) __W,
3485 (__mmask8) __U);
3486 }
3487
3488 extern __inline __m256i
3489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi64(__mmask8 __U,__m256i __A,__m256i __B)3490 _mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
3491 {
3492 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
3493 (__v4di) __B,
3494 (__v4di)
3495 _mm256_setzero_si256 (),
3496 (__mmask8) __U);
3497 }
3498
3499 extern __inline __m256i
3500 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3501 _mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3502 __m256i __B)
3503 {
3504 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
3505 (__v8si) __B,
3506 (__v8si) __W,
3507 (__mmask8) __U);
3508 }
3509
3510 extern __inline __m256i
3511 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi32(__mmask8 __U,__m256i __A,__m256i __B)3512 _mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3513 {
3514 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
3515 (__v8si) __B,
3516 (__v8si)
3517 _mm256_setzero_si256 (),
3518 (__mmask8) __U);
3519 }
3520
3521 extern __inline __m256i
3522 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3523 _mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3524 __m256i __B)
3525 {
3526 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
3527 (__v4di) __B,
3528 (__v4di) __W,
3529 (__mmask8) __U);
3530 }
3531
3532 extern __inline __m256i
3533 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi64(__mmask8 __U,__m256i __A,__m256i __B)3534 _mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
3535 {
3536 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
3537 (__v4di) __B,
3538 (__v4di)
3539 _mm256_setzero_si256 (),
3540 (__mmask8) __U);
3541 }
3542
3543 extern __inline __m128i
3544 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3545 _mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3546 __m128i __B)
3547 {
3548 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
3549 (__v4si) __B,
3550 (__v4si) __W,
3551 (__mmask8) __U);
3552 }
3553
3554 extern __inline __m128i
3555 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi32(__mmask8 __U,__m128i __A,__m128i __B)3556 _mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3557 {
3558 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
3559 (__v4si) __B,
3560 (__v4si)
3561 _mm_setzero_si128 (),
3562 (__mmask8) __U);
3563 }
3564
3565 extern __inline __m128i
3566 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3567 _mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3568 __m128i __B)
3569 {
3570 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
3571 (__v2di) __B,
3572 (__v2di) __W,
3573 (__mmask8) __U);
3574 }
3575
3576 extern __inline __m128i
3577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi64(__mmask8 __U,__m128i __A,__m128i __B)3578 _mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3579 {
3580 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
3581 (__v2di) __B,
3582 (__v2di)
3583 _mm_setzero_si128 (),
3584 (__mmask8) __U);
3585 }
3586
3587 extern __inline __m128i
3588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3589 _mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3590 __m128i __B)
3591 {
3592 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
3593 (__v4si) __B,
3594 (__v4si) __W,
3595 (__mmask8) __U);
3596 }
3597
3598 extern __inline __m128i
3599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi32(__mmask8 __U,__m128i __A,__m128i __B)3600 _mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3601 {
3602 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
3603 (__v4si) __B,
3604 (__v4si)
3605 _mm_setzero_si128 (),
3606 (__mmask8) __U);
3607 }
3608
3609 extern __inline __m128i
3610 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3611 _mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3612 __m128i __B)
3613 {
3614 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
3615 (__v2di) __B,
3616 (__v2di) __W,
3617 (__mmask8) __U);
3618 }
3619
3620 extern __inline __m128i
3621 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi64(__mmask8 __U,__m128i __A,__m128i __B)3622 _mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3623 {
3624 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
3625 (__v2di) __B,
3626 (__v2di)
3627 _mm_setzero_si128 (),
3628 (__mmask8) __U);
3629 }
3630
3631 extern __inline __m256
3632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_ps(__m256 __A)3633 _mm256_getexp_ps (__m256 __A)
3634 {
3635 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3636 (__v8sf)
3637 _mm256_setzero_ps (),
3638 (__mmask8) -1);
3639 }
3640
3641 extern __inline __m256
3642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_ps(__m256 __W,__mmask8 __U,__m256 __A)3643 _mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A)
3644 {
3645 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3646 (__v8sf) __W,
3647 (__mmask8) __U);
3648 }
3649
3650 extern __inline __m256
3651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_ps(__mmask8 __U,__m256 __A)3652 _mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A)
3653 {
3654 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3655 (__v8sf)
3656 _mm256_setzero_ps (),
3657 (__mmask8) __U);
3658 }
3659
3660 extern __inline __m256d
3661 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_pd(__m256d __A)3662 _mm256_getexp_pd (__m256d __A)
3663 {
3664 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3665 (__v4df)
3666 _mm256_setzero_pd (),
3667 (__mmask8) -1);
3668 }
3669
3670 extern __inline __m256d
3671 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_pd(__m256d __W,__mmask8 __U,__m256d __A)3672 _mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A)
3673 {
3674 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3675 (__v4df) __W,
3676 (__mmask8) __U);
3677 }
3678
3679 extern __inline __m256d
3680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_pd(__mmask8 __U,__m256d __A)3681 _mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A)
3682 {
3683 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3684 (__v4df)
3685 _mm256_setzero_pd (),
3686 (__mmask8) __U);
3687 }
3688
3689 extern __inline __m128
3690 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_ps(__m128 __A)3691 _mm_getexp_ps (__m128 __A)
3692 {
3693 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3694 (__v4sf)
3695 _mm_setzero_ps (),
3696 (__mmask8) -1);
3697 }
3698
3699 extern __inline __m128
3700 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_ps(__m128 __W,__mmask8 __U,__m128 __A)3701 _mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A)
3702 {
3703 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3704 (__v4sf) __W,
3705 (__mmask8) __U);
3706 }
3707
3708 extern __inline __m128
3709 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_ps(__mmask8 __U,__m128 __A)3710 _mm_maskz_getexp_ps (__mmask8 __U, __m128 __A)
3711 {
3712 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3713 (__v4sf)
3714 _mm_setzero_ps (),
3715 (__mmask8) __U);
3716 }
3717
3718 extern __inline __m128d
3719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_pd(__m128d __A)3720 _mm_getexp_pd (__m128d __A)
3721 {
3722 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3723 (__v2df)
3724 _mm_setzero_pd (),
3725 (__mmask8) -1);
3726 }
3727
3728 extern __inline __m128d
3729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_pd(__m128d __W,__mmask8 __U,__m128d __A)3730 _mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A)
3731 {
3732 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3733 (__v2df) __W,
3734 (__mmask8) __U);
3735 }
3736
3737 extern __inline __m128d
3738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_pd(__mmask8 __U,__m128d __A)3739 _mm_maskz_getexp_pd (__mmask8 __U, __m128d __A)
3740 {
3741 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3742 (__v2df)
3743 _mm_setzero_pd (),
3744 (__mmask8) __U);
3745 }
3746
3747 extern __inline __m256i
3748 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3749 _mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3750 __m128i __B)
3751 {
3752 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
3753 (__v4si) __B,
3754 (__v8si) __W,
3755 (__mmask8) __U);
3756 }
3757
3758 extern __inline __m256i
3759 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi32(__mmask8 __U,__m256i __A,__m128i __B)3760 _mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
3761 {
3762 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
3763 (__v4si) __B,
3764 (__v8si)
3765 _mm256_setzero_si256 (),
3766 (__mmask8) __U);
3767 }
3768
3769 extern __inline __m128i
3770 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3771 _mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3772 __m128i __B)
3773 {
3774 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
3775 (__v4si) __B,
3776 (__v4si) __W,
3777 (__mmask8) __U);
3778 }
3779
3780 extern __inline __m128i
3781 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi32(__mmask8 __U,__m128i __A,__m128i __B)3782 _mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3783 {
3784 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
3785 (__v4si) __B,
3786 (__v4si)
3787 _mm_setzero_si128 (),
3788 (__mmask8) __U);
3789 }
3790
3791 extern __inline __m256i
3792 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3793 _mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3794 __m128i __B)
3795 {
3796 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
3797 (__v2di) __B,
3798 (__v4di) __W,
3799 (__mmask8) __U);
3800 }
3801
3802 extern __inline __m256i
3803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi64(__mmask8 __U,__m256i __A,__m128i __B)3804 _mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
3805 {
3806 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
3807 (__v2di) __B,
3808 (__v4di)
3809 _mm256_setzero_si256 (),
3810 (__mmask8) __U);
3811 }
3812
3813 extern __inline __m128i
3814 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3815 _mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3816 __m128i __B)
3817 {
3818 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
3819 (__v2di) __B,
3820 (__v2di) __W,
3821 (__mmask8) __U);
3822 }
3823
3824 extern __inline __m128i
3825 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi64(__mmask8 __U,__m128i __A,__m128i __B)3826 _mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3827 {
3828 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
3829 (__v2di) __B,
3830 (__v2di)
3831 _mm_setzero_si128 (),
3832 (__mmask8) __U);
3833 }
3834
3835 extern __inline __m256i
3836 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3837 _mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3838 __m256i __B)
3839 {
3840 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
3841 (__v8si) __B,
3842 (__v8si) __W,
3843 (__mmask8) __U);
3844 }
3845
3846 extern __inline __m256i
3847 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi32(__mmask8 __U,__m256i __A,__m256i __B)3848 _mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3849 {
3850 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
3851 (__v8si) __B,
3852 (__v8si)
3853 _mm256_setzero_si256 (),
3854 (__mmask8) __U);
3855 }
3856
3857 extern __inline __m256d
3858 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_pd(__m256d __A,__m256d __B)3859 _mm256_scalef_pd (__m256d __A, __m256d __B)
3860 {
3861 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3862 (__v4df) __B,
3863 (__v4df)
3864 _mm256_setzero_pd (),
3865 (__mmask8) -1);
3866 }
3867
3868 extern __inline __m256d
3869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)3870 _mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
3871 __m256d __B)
3872 {
3873 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3874 (__v4df) __B,
3875 (__v4df) __W,
3876 (__mmask8) __U);
3877 }
3878
3879 extern __inline __m256d
3880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_pd(__mmask8 __U,__m256d __A,__m256d __B)3881 _mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B)
3882 {
3883 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3884 (__v4df) __B,
3885 (__v4df)
3886 _mm256_setzero_pd (),
3887 (__mmask8) __U);
3888 }
3889
3890 extern __inline __m256
3891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_ps(__m256 __A,__m256 __B)3892 _mm256_scalef_ps (__m256 __A, __m256 __B)
3893 {
3894 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3895 (__v8sf) __B,
3896 (__v8sf)
3897 _mm256_setzero_ps (),
3898 (__mmask8) -1);
3899 }
3900
3901 extern __inline __m256
3902 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)3903 _mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
3904 __m256 __B)
3905 {
3906 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3907 (__v8sf) __B,
3908 (__v8sf) __W,
3909 (__mmask8) __U);
3910 }
3911
3912 extern __inline __m256
3913 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_ps(__mmask8 __U,__m256 __A,__m256 __B)3914 _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B)
3915 {
3916 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3917 (__v8sf) __B,
3918 (__v8sf)
3919 _mm256_setzero_ps (),
3920 (__mmask8) __U);
3921 }
3922
3923 extern __inline __m128d
3924 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_pd(__m128d __A,__m128d __B)3925 _mm_scalef_pd (__m128d __A, __m128d __B)
3926 {
3927 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3928 (__v2df) __B,
3929 (__v2df)
3930 _mm_setzero_pd (),
3931 (__mmask8) -1);
3932 }
3933
3934 extern __inline __m128d
3935 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)3936 _mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
3937 __m128d __B)
3938 {
3939 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3940 (__v2df) __B,
3941 (__v2df) __W,
3942 (__mmask8) __U);
3943 }
3944
3945 extern __inline __m128d
3946 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_pd(__mmask8 __U,__m128d __A,__m128d __B)3947 _mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B)
3948 {
3949 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3950 (__v2df) __B,
3951 (__v2df)
3952 _mm_setzero_pd (),
3953 (__mmask8) __U);
3954 }
3955
3956 extern __inline __m128
3957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_ps(__m128 __A,__m128 __B)3958 _mm_scalef_ps (__m128 __A, __m128 __B)
3959 {
3960 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3961 (__v4sf) __B,
3962 (__v4sf)
3963 _mm_setzero_ps (),
3964 (__mmask8) -1);
3965 }
3966
3967 extern __inline __m128
3968 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)3969 _mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
3970 {
3971 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3972 (__v4sf) __B,
3973 (__v4sf) __W,
3974 (__mmask8) __U);
3975 }
3976
3977 extern __inline __m128
3978 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_ps(__mmask8 __U,__m128 __A,__m128 __B)3979 _mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B)
3980 {
3981 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3982 (__v4sf) __B,
3983 (__v4sf)
3984 _mm_setzero_ps (),
3985 (__mmask8) __U);
3986 }
3987
3988 extern __inline __m256d
3989 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)3990 _mm256_mask_fmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
3991 __m256d __C)
3992 {
3993 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
3994 (__v4df) __B,
3995 (__v4df) __C,
3996 (__mmask8) __U);
3997 }
3998
3999 extern __inline __m256d
4000 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4001 _mm256_mask3_fmadd_pd (__m256d __A, __m256d __B, __m256d __C,
4002 __mmask8 __U)
4003 {
4004 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
4005 (__v4df) __B,
4006 (__v4df) __C,
4007 (__mmask8) __U);
4008 }
4009
4010 extern __inline __m256d
4011 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4012 _mm256_maskz_fmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4013 __m256d __C)
4014 {
4015 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
4016 (__v4df) __B,
4017 (__v4df) __C,
4018 (__mmask8) __U);
4019 }
4020
4021 extern __inline __m128d
4022 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4023 _mm_mask_fmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
4024 {
4025 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
4026 (__v2df) __B,
4027 (__v2df) __C,
4028 (__mmask8) __U);
4029 }
4030
4031 extern __inline __m128d
4032 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4033 _mm_mask3_fmadd_pd (__m128d __A, __m128d __B, __m128d __C,
4034 __mmask8 __U)
4035 {
4036 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
4037 (__v2df) __B,
4038 (__v2df) __C,
4039 (__mmask8) __U);
4040 }
4041
4042 extern __inline __m128d
4043 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4044 _mm_maskz_fmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4045 __m128d __C)
4046 {
4047 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
4048 (__v2df) __B,
4049 (__v2df) __C,
4050 (__mmask8) __U);
4051 }
4052
4053 extern __inline __m256
4054 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4055 _mm256_mask_fmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
4056 {
4057 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
4058 (__v8sf) __B,
4059 (__v8sf) __C,
4060 (__mmask8) __U);
4061 }
4062
4063 extern __inline __m256
4064 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4065 _mm256_mask3_fmadd_ps (__m256 __A, __m256 __B, __m256 __C,
4066 __mmask8 __U)
4067 {
4068 return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
4069 (__v8sf) __B,
4070 (__v8sf) __C,
4071 (__mmask8) __U);
4072 }
4073
4074 extern __inline __m256
4075 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4076 _mm256_maskz_fmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4077 __m256 __C)
4078 {
4079 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
4080 (__v8sf) __B,
4081 (__v8sf) __C,
4082 (__mmask8) __U);
4083 }
4084
4085 extern __inline __m128
4086 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4087 _mm_mask_fmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4088 {
4089 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
4090 (__v4sf) __B,
4091 (__v4sf) __C,
4092 (__mmask8) __U);
4093 }
4094
4095 extern __inline __m128
4096 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4097 _mm_mask3_fmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4098 {
4099 return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
4100 (__v4sf) __B,
4101 (__v4sf) __C,
4102 (__mmask8) __U);
4103 }
4104
4105 extern __inline __m128
4106 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4107 _mm_maskz_fmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4108 {
4109 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
4110 (__v4sf) __B,
4111 (__v4sf) __C,
4112 (__mmask8) __U);
4113 }
4114
4115 extern __inline __m256d
4116 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4117 _mm256_mask_fmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4118 __m256d __C)
4119 {
4120 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
4121 (__v4df) __B,
4122 -(__v4df) __C,
4123 (__mmask8) __U);
4124 }
4125
4126 extern __inline __m256d
4127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4128 _mm256_mask3_fmsub_pd (__m256d __A, __m256d __B, __m256d __C,
4129 __mmask8 __U)
4130 {
4131 return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
4132 (__v4df) __B,
4133 (__v4df) __C,
4134 (__mmask8) __U);
4135 }
4136
4137 extern __inline __m256d
4138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4139 _mm256_maskz_fmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4140 __m256d __C)
4141 {
4142 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
4143 (__v4df) __B,
4144 -(__v4df) __C,
4145 (__mmask8) __U);
4146 }
4147
4148 extern __inline __m128d
4149 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4150 _mm_mask_fmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
4151 {
4152 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
4153 (__v2df) __B,
4154 -(__v2df) __C,
4155 (__mmask8) __U);
4156 }
4157
4158 extern __inline __m128d
4159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4160 _mm_mask3_fmsub_pd (__m128d __A, __m128d __B, __m128d __C,
4161 __mmask8 __U)
4162 {
4163 return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
4164 (__v2df) __B,
4165 (__v2df) __C,
4166 (__mmask8) __U);
4167 }
4168
4169 extern __inline __m128d
4170 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4171 _mm_maskz_fmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4172 __m128d __C)
4173 {
4174 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
4175 (__v2df) __B,
4176 -(__v2df) __C,
4177 (__mmask8) __U);
4178 }
4179
4180 extern __inline __m256
4181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4182 _mm256_mask_fmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
4183 {
4184 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
4185 (__v8sf) __B,
4186 -(__v8sf) __C,
4187 (__mmask8) __U);
4188 }
4189
4190 extern __inline __m256
4191 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4192 _mm256_mask3_fmsub_ps (__m256 __A, __m256 __B, __m256 __C,
4193 __mmask8 __U)
4194 {
4195 return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
4196 (__v8sf) __B,
4197 (__v8sf) __C,
4198 (__mmask8) __U);
4199 }
4200
4201 extern __inline __m256
4202 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4203 _mm256_maskz_fmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4204 __m256 __C)
4205 {
4206 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
4207 (__v8sf) __B,
4208 -(__v8sf) __C,
4209 (__mmask8) __U);
4210 }
4211
4212 extern __inline __m128
4213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4214 _mm_mask_fmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4215 {
4216 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
4217 (__v4sf) __B,
4218 -(__v4sf) __C,
4219 (__mmask8) __U);
4220 }
4221
4222 extern __inline __m128
4223 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4224 _mm_mask3_fmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4225 {
4226 return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
4227 (__v4sf) __B,
4228 (__v4sf) __C,
4229 (__mmask8) __U);
4230 }
4231
4232 extern __inline __m128
4233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4234 _mm_maskz_fmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4235 {
4236 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
4237 (__v4sf) __B,
4238 -(__v4sf) __C,
4239 (__mmask8) __U);
4240 }
4241
4242 extern __inline __m256d
4243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4244 _mm256_mask_fmaddsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4245 __m256d __C)
4246 {
4247 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
4248 (__v4df) __B,
4249 (__v4df) __C,
4250 (__mmask8) __U);
4251 }
4252
4253 extern __inline __m256d
4254 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4255 _mm256_mask3_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C,
4256 __mmask8 __U)
4257 {
4258 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
4259 (__v4df) __B,
4260 (__v4df) __C,
4261 (__mmask8)
4262 __U);
4263 }
4264
4265 extern __inline __m256d
4266 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4267 _mm256_maskz_fmaddsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4268 __m256d __C)
4269 {
4270 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
4271 (__v4df) __B,
4272 (__v4df) __C,
4273 (__mmask8)
4274 __U);
4275 }
4276
4277 extern __inline __m128d
4278 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4279 _mm_mask_fmaddsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
4280 __m128d __C)
4281 {
4282 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
4283 (__v2df) __B,
4284 (__v2df) __C,
4285 (__mmask8) __U);
4286 }
4287
4288 extern __inline __m128d
4289 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4290 _mm_mask3_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C,
4291 __mmask8 __U)
4292 {
4293 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
4294 (__v2df) __B,
4295 (__v2df) __C,
4296 (__mmask8)
4297 __U);
4298 }
4299
4300 extern __inline __m128d
4301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4302 _mm_maskz_fmaddsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4303 __m128d __C)
4304 {
4305 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
4306 (__v2df) __B,
4307 (__v2df) __C,
4308 (__mmask8)
4309 __U);
4310 }
4311
4312 extern __inline __m256
4313 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4314 _mm256_mask_fmaddsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
4315 __m256 __C)
4316 {
4317 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
4318 (__v8sf) __B,
4319 (__v8sf) __C,
4320 (__mmask8) __U);
4321 }
4322
4323 extern __inline __m256
4324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4325 _mm256_mask3_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C,
4326 __mmask8 __U)
4327 {
4328 return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
4329 (__v8sf) __B,
4330 (__v8sf) __C,
4331 (__mmask8) __U);
4332 }
4333
4334 extern __inline __m256
4335 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4336 _mm256_maskz_fmaddsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4337 __m256 __C)
4338 {
4339 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
4340 (__v8sf) __B,
4341 (__v8sf) __C,
4342 (__mmask8) __U);
4343 }
4344
4345 extern __inline __m128
4346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4347 _mm_mask_fmaddsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4348 {
4349 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
4350 (__v4sf) __B,
4351 (__v4sf) __C,
4352 (__mmask8) __U);
4353 }
4354
4355 extern __inline __m128
4356 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4357 _mm_mask3_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C,
4358 __mmask8 __U)
4359 {
4360 return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
4361 (__v4sf) __B,
4362 (__v4sf) __C,
4363 (__mmask8) __U);
4364 }
4365
4366 extern __inline __m128
4367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4368 _mm_maskz_fmaddsub_ps (__mmask8 __U, __m128 __A, __m128 __B,
4369 __m128 __C)
4370 {
4371 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
4372 (__v4sf) __B,
4373 (__v4sf) __C,
4374 (__mmask8) __U);
4375 }
4376
4377 extern __inline __m256d
4378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4379 _mm256_mask_fmsubadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
4380 __m256d __C)
4381 {
4382 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
4383 (__v4df) __B,
4384 -(__v4df) __C,
4385 (__mmask8) __U);
4386 }
4387
4388 extern __inline __m256d
4389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4390 _mm256_mask3_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C,
4391 __mmask8 __U)
4392 {
4393 return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
4394 (__v4df) __B,
4395 (__v4df) __C,
4396 (__mmask8)
4397 __U);
4398 }
4399
4400 extern __inline __m256d
4401 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4402 _mm256_maskz_fmsubadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4403 __m256d __C)
4404 {
4405 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
4406 (__v4df) __B,
4407 -(__v4df) __C,
4408 (__mmask8)
4409 __U);
4410 }
4411
4412 extern __inline __m128d
4413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4414 _mm_mask_fmsubadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
4415 __m128d __C)
4416 {
4417 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
4418 (__v2df) __B,
4419 -(__v2df) __C,
4420 (__mmask8) __U);
4421 }
4422
4423 extern __inline __m128d
4424 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4425 _mm_mask3_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C,
4426 __mmask8 __U)
4427 {
4428 return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
4429 (__v2df) __B,
4430 (__v2df) __C,
4431 (__mmask8)
4432 __U);
4433 }
4434
4435 extern __inline __m128d
4436 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4437 _mm_maskz_fmsubadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4438 __m128d __C)
4439 {
4440 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
4441 (__v2df) __B,
4442 -(__v2df) __C,
4443 (__mmask8)
4444 __U);
4445 }
4446
4447 extern __inline __m256
4448 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4449 _mm256_mask_fmsubadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
4450 __m256 __C)
4451 {
4452 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
4453 (__v8sf) __B,
4454 -(__v8sf) __C,
4455 (__mmask8) __U);
4456 }
4457
4458 extern __inline __m256
4459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4460 _mm256_mask3_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C,
4461 __mmask8 __U)
4462 {
4463 return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
4464 (__v8sf) __B,
4465 (__v8sf) __C,
4466 (__mmask8) __U);
4467 }
4468
4469 extern __inline __m256
4470 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4471 _mm256_maskz_fmsubadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4472 __m256 __C)
4473 {
4474 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
4475 (__v8sf) __B,
4476 -(__v8sf) __C,
4477 (__mmask8) __U);
4478 }
4479
4480 extern __inline __m128
4481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4482 _mm_mask_fmsubadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4483 {
4484 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
4485 (__v4sf) __B,
4486 -(__v4sf) __C,
4487 (__mmask8) __U);
4488 }
4489
4490 extern __inline __m128
4491 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4492 _mm_mask3_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C,
4493 __mmask8 __U)
4494 {
4495 return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
4496 (__v4sf) __B,
4497 (__v4sf) __C,
4498 (__mmask8) __U);
4499 }
4500
4501 extern __inline __m128
4502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4503 _mm_maskz_fmsubadd_ps (__mmask8 __U, __m128 __A, __m128 __B,
4504 __m128 __C)
4505 {
4506 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
4507 (__v4sf) __B,
4508 -(__v4sf) __C,
4509 (__mmask8) __U);
4510 }
4511
4512 extern __inline __m256d
4513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4514 _mm256_mask_fnmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
4515 __m256d __C)
4516 {
4517 return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
4518 (__v4df) __B,
4519 (__v4df) __C,
4520 (__mmask8) __U);
4521 }
4522
4523 extern __inline __m256d
4524 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4525 _mm256_mask3_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C,
4526 __mmask8 __U)
4527 {
4528 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A,
4529 (__v4df) __B,
4530 (__v4df) __C,
4531 (__mmask8) __U);
4532 }
4533
4534 extern __inline __m256d
4535 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4536 _mm256_maskz_fnmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4537 __m256d __C)
4538 {
4539 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
4540 (__v4df) __B,
4541 (__v4df) __C,
4542 (__mmask8) __U);
4543 }
4544
4545 extern __inline __m128d
4546 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4547 _mm_mask_fnmadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
4548 __m128d __C)
4549 {
4550 return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
4551 (__v2df) __B,
4552 (__v2df) __C,
4553 (__mmask8) __U);
4554 }
4555
4556 extern __inline __m128d
4557 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4558 _mm_mask3_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C,
4559 __mmask8 __U)
4560 {
4561 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A,
4562 (__v2df) __B,
4563 (__v2df) __C,
4564 (__mmask8) __U);
4565 }
4566
4567 extern __inline __m128d
4568 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4569 _mm_maskz_fnmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4570 __m128d __C)
4571 {
4572 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
4573 (__v2df) __B,
4574 (__v2df) __C,
4575 (__mmask8) __U);
4576 }
4577
4578 extern __inline __m256
4579 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4580 _mm256_mask_fnmadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
4581 __m256 __C)
4582 {
4583 return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
4584 (__v8sf) __B,
4585 (__v8sf) __C,
4586 (__mmask8) __U);
4587 }
4588
4589 extern __inline __m256
4590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4591 _mm256_mask3_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C,
4592 __mmask8 __U)
4593 {
4594 return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A,
4595 (__v8sf) __B,
4596 (__v8sf) __C,
4597 (__mmask8) __U);
4598 }
4599
4600 extern __inline __m256
4601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4602 _mm256_maskz_fnmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4603 __m256 __C)
4604 {
4605 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
4606 (__v8sf) __B,
4607 (__v8sf) __C,
4608 (__mmask8) __U);
4609 }
4610
4611 extern __inline __m128
4612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4613 _mm_mask_fnmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4614 {
4615 return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
4616 (__v4sf) __B,
4617 (__v4sf) __C,
4618 (__mmask8) __U);
4619 }
4620
4621 extern __inline __m128
4622 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4623 _mm_mask3_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4624 {
4625 return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A,
4626 (__v4sf) __B,
4627 (__v4sf) __C,
4628 (__mmask8) __U);
4629 }
4630
4631 extern __inline __m128
4632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4633 _mm_maskz_fnmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4634 {
4635 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
4636 (__v4sf) __B,
4637 (__v4sf) __C,
4638 (__mmask8) __U);
4639 }
4640
4641 extern __inline __m256d
4642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4643 _mm256_mask_fnmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4644 __m256d __C)
4645 {
4646 return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
4647 (__v4df) __B,
4648 (__v4df) __C,
4649 (__mmask8) __U);
4650 }
4651
4652 extern __inline __m256d
4653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4654 _mm256_mask3_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C,
4655 __mmask8 __U)
4656 {
4657 return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
4658 (__v4df) __B,
4659 (__v4df) __C,
4660 (__mmask8) __U);
4661 }
4662
4663 extern __inline __m256d
4664 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4665 _mm256_maskz_fnmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4666 __m256d __C)
4667 {
4668 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
4669 (__v4df) __B,
4670 -(__v4df) __C,
4671 (__mmask8) __U);
4672 }
4673
4674 extern __inline __m128d
4675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4676 _mm_mask_fnmsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
4677 __m128d __C)
4678 {
4679 return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
4680 (__v2df) __B,
4681 (__v2df) __C,
4682 (__mmask8) __U);
4683 }
4684
4685 extern __inline __m128d
4686 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4687 _mm_mask3_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C,
4688 __mmask8 __U)
4689 {
4690 return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
4691 (__v2df) __B,
4692 (__v2df) __C,
4693 (__mmask8) __U);
4694 }
4695
4696 extern __inline __m128d
4697 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4698 _mm_maskz_fnmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4699 __m128d __C)
4700 {
4701 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
4702 (__v2df) __B,
4703 -(__v2df) __C,
4704 (__mmask8) __U);
4705 }
4706
4707 extern __inline __m256
4708 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4709 _mm256_mask_fnmsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
4710 __m256 __C)
4711 {
4712 return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
4713 (__v8sf) __B,
4714 (__v8sf) __C,
4715 (__mmask8) __U);
4716 }
4717
4718 extern __inline __m256
4719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4720 _mm256_mask3_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C,
4721 __mmask8 __U)
4722 {
4723 return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
4724 (__v8sf) __B,
4725 (__v8sf) __C,
4726 (__mmask8) __U);
4727 }
4728
4729 extern __inline __m256
4730 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4731 _mm256_maskz_fnmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4732 __m256 __C)
4733 {
4734 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
4735 (__v8sf) __B,
4736 -(__v8sf) __C,
4737 (__mmask8) __U);
4738 }
4739
4740 extern __inline __m128
4741 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4742 _mm_mask_fnmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4743 {
4744 return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
4745 (__v4sf) __B,
4746 (__v4sf) __C,
4747 (__mmask8) __U);
4748 }
4749
4750 extern __inline __m128
4751 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4752 _mm_mask3_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4753 {
4754 return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
4755 (__v4sf) __B,
4756 (__v4sf) __C,
4757 (__mmask8) __U);
4758 }
4759
4760 extern __inline __m128
4761 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4762 _mm_maskz_fnmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4763 {
4764 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
4765 (__v4sf) __B,
4766 -(__v4sf) __C,
4767 (__mmask8) __U);
4768 }
4769
4770 extern __inline __m128i
4771 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4772 _mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4773 __m128i __B)
4774 {
4775 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
4776 (__v4si) __B,
4777 (__v4si) __W,
4778 (__mmask8) __U);
4779 }
4780
4781 extern __inline __m128i
4782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi32(__mmask8 __U,__m128i __A,__m128i __B)4783 _mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4784 {
4785 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
4786 (__v4si) __B,
4787 (__v4si)
4788 _mm_setzero_si128 (),
4789 (__mmask8) __U);
4790 }
4791
4792 extern __inline __m256i
4793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4794 _mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4795 __m256i __B)
4796 {
4797 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
4798 (__v8si) __B,
4799 (__v8si) __W,
4800 (__mmask8) __U);
4801 }
4802
4803 extern __inline __m256i
4804 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi32(__mmask8 __U,__m256i __A,__m256i __B)4805 _mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4806 {
4807 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
4808 (__v8si) __B,
4809 (__v8si)
4810 _mm256_setzero_si256 (),
4811 (__mmask8) __U);
4812 }
4813
4814 extern __inline __m128i
4815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4816 _mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4817 __m128i __B)
4818 {
4819 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
4820 (__v4si) __B,
4821 (__v4si) __W,
4822 (__mmask8) __U);
4823 }
4824
4825 extern __inline __m128i
4826 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi32(__mmask8 __U,__m128i __A,__m128i __B)4827 _mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4828 {
4829 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
4830 (__v4si) __B,
4831 (__v4si)
4832 _mm_setzero_si128 (),
4833 (__mmask8) __U);
4834 }
4835
4836 extern __inline __m256i
4837 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4838 _mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4839 __m256i __B)
4840 {
4841 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
4842 (__v8si) __B,
4843 (__v8si) __W,
4844 (__mmask8) __U);
4845 }
4846
4847 extern __inline __m256i
4848 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi32(__mmask8 __U,__m256i __A,__m256i __B)4849 _mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4850 {
4851 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
4852 (__v8si) __B,
4853 (__v8si)
4854 _mm256_setzero_si256 (),
4855 (__mmask8) __U);
4856 }
4857
4858 extern __inline __m128i
4859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4860 _mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4861 {
4862 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
4863 (__v4si) __B,
4864 (__v4si) __W,
4865 (__mmask8) __U);
4866 }
4867
4868 extern __inline __m128i
4869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi32(__mmask8 __U,__m128i __A,__m128i __B)4870 _mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4871 {
4872 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
4873 (__v4si) __B,
4874 (__v4si)
4875 _mm_setzero_si128 (),
4876 (__mmask8) __U);
4877 }
4878
4879 extern __inline __m256i
4880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4881 _mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4882 __m256i __B)
4883 {
4884 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
4885 (__v8si) __B,
4886 (__v8si) __W,
4887 (__mmask8) __U);
4888 }
4889
4890 extern __inline __m256i
4891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi32(__mmask8 __U,__m256i __A,__m256i __B)4892 _mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4893 {
4894 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
4895 (__v8si) __B,
4896 (__v8si)
4897 _mm256_setzero_si256 (),
4898 (__mmask8) __U);
4899 }
4900
4901 extern __inline __m128i
4902 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4903 _mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4904 __m128i __B)
4905 {
4906 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
4907 (__v4si) __B,
4908 (__v4si) __W,
4909 (__mmask8) __U);
4910 }
4911
4912 extern __inline __m128i
4913 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi32(__mmask8 __U,__m128i __A,__m128i __B)4914 _mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4915 {
4916 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
4917 (__v4si) __B,
4918 (__v4si)
4919 _mm_setzero_si128 (),
4920 (__mmask8) __U);
4921 }
4922
4923 extern __inline __m128
4924 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m128d __A)4925 _mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A)
4926 {
4927 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
4928 (__v4sf) __W,
4929 (__mmask8) __U);
4930 }
4931
4932 extern __inline __m128
4933 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_ps(__mmask8 __U,__m128d __A)4934 _mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A)
4935 {
4936 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
4937 (__v4sf)
4938 _mm_setzero_ps (),
4939 (__mmask8) __U);
4940 }
4941
4942 extern __inline __m128
4943 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m256d __A)4944 _mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A)
4945 {
4946 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
4947 (__v4sf) __W,
4948 (__mmask8) __U);
4949 }
4950
4951 extern __inline __m128
4952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_ps(__mmask8 __U,__m256d __A)4953 _mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A)
4954 {
4955 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
4956 (__v4sf)
4957 _mm_setzero_ps (),
4958 (__mmask8) __U);
4959 }
4960
4961 extern __inline __m256i
4962 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epi32(__m256i __W,__mmask8 __U,__m256 __A)4963 _mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
4964 {
4965 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
4966 (__v8si) __W,
4967 (__mmask8) __U);
4968 }
4969
4970 extern __inline __m256i
4971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epi32(__mmask8 __U,__m256 __A)4972 _mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A)
4973 {
4974 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
4975 (__v8si)
4976 _mm256_setzero_si256 (),
4977 (__mmask8) __U);
4978 }
4979
4980 extern __inline __m128i
4981 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epi32(__m128i __W,__mmask8 __U,__m128 __A)4982 _mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
4983 {
4984 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
4985 (__v4si) __W,
4986 (__mmask8) __U);
4987 }
4988
4989 extern __inline __m128i
4990 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epi32(__mmask8 __U,__m128 __A)4991 _mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A)
4992 {
4993 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
4994 (__v4si)
4995 _mm_setzero_si128 (),
4996 (__mmask8) __U);
4997 }
4998
4999 extern __inline __m256i
5000 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_epu32(__m256 __A)5001 _mm256_cvtps_epu32 (__m256 __A)
5002 {
5003 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5004 (__v8si)
5005 _mm256_setzero_si256 (),
5006 (__mmask8) -1);
5007 }
5008
5009 extern __inline __m256i
5010 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epu32(__m256i __W,__mmask8 __U,__m256 __A)5011 _mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
5012 {
5013 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5014 (__v8si) __W,
5015 (__mmask8) __U);
5016 }
5017
5018 extern __inline __m256i
5019 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epu32(__mmask8 __U,__m256 __A)5020 _mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A)
5021 {
5022 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5023 (__v8si)
5024 _mm256_setzero_si256 (),
5025 (__mmask8) __U);
5026 }
5027
5028 extern __inline __m128i
5029 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epu32(__m128 __A)5030 _mm_cvtps_epu32 (__m128 __A)
5031 {
5032 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5033 (__v4si)
5034 _mm_setzero_si128 (),
5035 (__mmask8) -1);
5036 }
5037
5038 extern __inline __m128i
5039 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epu32(__m128i __W,__mmask8 __U,__m128 __A)5040 _mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
5041 {
5042 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5043 (__v4si) __W,
5044 (__mmask8) __U);
5045 }
5046
5047 extern __inline __m128i
5048 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epu32(__mmask8 __U,__m128 __A)5049 _mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A)
5050 {
5051 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5052 (__v4si)
5053 _mm_setzero_si128 (),
5054 (__mmask8) __U);
5055 }
5056
5057 extern __inline __m256d
5058 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movedup_pd(__m256d __W,__mmask8 __U,__m256d __A)5059 _mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
5060 {
5061 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
5062 (__v4df) __W,
5063 (__mmask8) __U);
5064 }
5065
5066 extern __inline __m256d
5067 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movedup_pd(__mmask8 __U,__m256d __A)5068 _mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
5069 {
5070 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
5071 (__v4df)
5072 _mm256_setzero_pd (),
5073 (__mmask8) __U);
5074 }
5075
5076 extern __inline __m128d
5077 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movedup_pd(__m128d __W,__mmask8 __U,__m128d __A)5078 _mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
5079 {
5080 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5081 (__v2df) __W,
5082 (__mmask8) __U);
5083 }
5084
5085 extern __inline __m128d
5086 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movedup_pd(__mmask8 __U,__m128d __A)5087 _mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
5088 {
5089 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5090 (__v2df)
5091 _mm_setzero_pd (),
5092 (__mmask8) __U);
5093 }
5094
5095 extern __inline __m256
5096 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movehdup_ps(__m256 __W,__mmask8 __U,__m256 __A)5097 _mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
5098 {
5099 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
5100 (__v8sf) __W,
5101 (__mmask8) __U);
5102 }
5103
5104 extern __inline __m256
5105 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movehdup_ps(__mmask8 __U,__m256 __A)5106 _mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
5107 {
5108 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
5109 (__v8sf)
5110 _mm256_setzero_ps (),
5111 (__mmask8) __U);
5112 }
5113
5114 extern __inline __m128
5115 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movehdup_ps(__m128 __W,__mmask8 __U,__m128 __A)5116 _mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
5117 {
5118 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
5119 (__v4sf) __W,
5120 (__mmask8) __U);
5121 }
5122
5123 extern __inline __m128
5124 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movehdup_ps(__mmask8 __U,__m128 __A)5125 _mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
5126 {
5127 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
5128 (__v4sf)
5129 _mm_setzero_ps (),
5130 (__mmask8) __U);
5131 }
5132
5133 extern __inline __m256
5134 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_moveldup_ps(__m256 __W,__mmask8 __U,__m256 __A)5135 _mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
5136 {
5137 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
5138 (__v8sf) __W,
5139 (__mmask8) __U);
5140 }
5141
5142 extern __inline __m256
5143 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_moveldup_ps(__mmask8 __U,__m256 __A)5144 _mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
5145 {
5146 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
5147 (__v8sf)
5148 _mm256_setzero_ps (),
5149 (__mmask8) __U);
5150 }
5151
5152 extern __inline __m128
5153 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_moveldup_ps(__m128 __W,__mmask8 __U,__m128 __A)5154 _mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
5155 {
5156 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
5157 (__v4sf) __W,
5158 (__mmask8) __U);
5159 }
5160
5161 extern __inline __m128
5162 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_moveldup_ps(__mmask8 __U,__m128 __A)5163 _mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
5164 {
5165 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
5166 (__v4sf)
5167 _mm_setzero_ps (),
5168 (__mmask8) __U);
5169 }
5170
5171 extern __inline __m128i
5172 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5173 _mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5174 __m128i __B)
5175 {
5176 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
5177 (__v4si) __B,
5178 (__v4si) __W,
5179 (__mmask8) __U);
5180 }
5181
5182 extern __inline __m128i
5183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi32(__mmask8 __U,__m128i __A,__m128i __B)5184 _mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5185 {
5186 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
5187 (__v4si) __B,
5188 (__v4si)
5189 _mm_setzero_si128 (),
5190 (__mmask8) __U);
5191 }
5192
5193 extern __inline __m256i
5194 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5195 _mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5196 __m256i __B)
5197 {
5198 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
5199 (__v8si) __B,
5200 (__v8si) __W,
5201 (__mmask8) __U);
5202 }
5203
5204 extern __inline __m256i
5205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi32(__mmask8 __U,__m256i __A,__m256i __B)5206 _mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5207 {
5208 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
5209 (__v8si) __B,
5210 (__v8si)
5211 _mm256_setzero_si256 (),
5212 (__mmask8) __U);
5213 }
5214
5215 extern __inline __m128i
5216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5217 _mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5218 __m128i __B)
5219 {
5220 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
5221 (__v2di) __B,
5222 (__v2di) __W,
5223 (__mmask8) __U);
5224 }
5225
5226 extern __inline __m128i
5227 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi64(__mmask8 __U,__m128i __A,__m128i __B)5228 _mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5229 {
5230 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
5231 (__v2di) __B,
5232 (__v2di)
5233 _mm_setzero_si128 (),
5234 (__mmask8) __U);
5235 }
5236
5237 extern __inline __m256i
5238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5239 _mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5240 __m256i __B)
5241 {
5242 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
5243 (__v4di) __B,
5244 (__v4di) __W,
5245 (__mmask8) __U);
5246 }
5247
5248 extern __inline __m256i
5249 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi64(__mmask8 __U,__m256i __A,__m256i __B)5250 _mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5251 {
5252 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
5253 (__v4di) __B,
5254 (__v4di)
5255 _mm256_setzero_si256 (),
5256 (__mmask8) __U);
5257 }
5258
5259 extern __inline __m128i
5260 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5261 _mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5262 __m128i __B)
5263 {
5264 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
5265 (__v4si) __B,
5266 (__v4si) __W,
5267 (__mmask8) __U);
5268 }
5269
5270 extern __inline __m128i
5271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi32(__mmask8 __U,__m128i __A,__m128i __B)5272 _mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5273 {
5274 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
5275 (__v4si) __B,
5276 (__v4si)
5277 _mm_setzero_si128 (),
5278 (__mmask8) __U);
5279 }
5280
5281 extern __inline __m256i
5282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5283 _mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5284 __m256i __B)
5285 {
5286 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
5287 (__v8si) __B,
5288 (__v8si) __W,
5289 (__mmask8) __U);
5290 }
5291
5292 extern __inline __m256i
5293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi32(__mmask8 __U,__m256i __A,__m256i __B)5294 _mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5295 {
5296 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
5297 (__v8si) __B,
5298 (__v8si)
5299 _mm256_setzero_si256 (),
5300 (__mmask8) __U);
5301 }
5302
5303 extern __inline __m128i
5304 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5305 _mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5306 __m128i __B)
5307 {
5308 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
5309 (__v2di) __B,
5310 (__v2di) __W,
5311 (__mmask8) __U);
5312 }
5313
5314 extern __inline __m128i
5315 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi64(__mmask8 __U,__m128i __A,__m128i __B)5316 _mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5317 {
5318 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
5319 (__v2di) __B,
5320 (__v2di)
5321 _mm_setzero_si128 (),
5322 (__mmask8) __U);
5323 }
5324
5325 extern __inline __m256i
5326 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5327 _mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5328 __m256i __B)
5329 {
5330 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
5331 (__v4di) __B,
5332 (__v4di) __W,
5333 (__mmask8) __U);
5334 }
5335
5336 extern __inline __m256i
5337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi64(__mmask8 __U,__m256i __A,__m256i __B)5338 _mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5339 {
5340 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
5341 (__v4di) __B,
5342 (__v4di)
5343 _mm256_setzero_si256 (),
5344 (__mmask8) __U);
5345 }
5346
5347 extern __inline __mmask8
5348 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu32_mask(__m128i __A,__m128i __B)5349 _mm_cmpeq_epu32_mask (__m128i __A, __m128i __B)
5350 {
5351 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5352 (__v4si) __B, 0,
5353 (__mmask8) -1);
5354 }
5355
5356 extern __inline __mmask8
5357 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi32_mask(__m128i __A,__m128i __B)5358 _mm_cmpeq_epi32_mask (__m128i __A, __m128i __B)
5359 {
5360 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
5361 (__v4si) __B,
5362 (__mmask8) -1);
5363 }
5364
5365 extern __inline __mmask8
5366 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu32_mask(__mmask8 __U,__m128i __A,__m128i __B)5367 _mm_mask_cmpeq_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5368 {
5369 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5370 (__v4si) __B, 0, __U);
5371 }
5372
5373 extern __inline __mmask8
5374 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5375 _mm_mask_cmpeq_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5376 {
5377 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
5378 (__v4si) __B, __U);
5379 }
5380
5381 extern __inline __mmask8
5382 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu32_mask(__m256i __A,__m256i __B)5383 _mm256_cmpeq_epu32_mask (__m256i __A, __m256i __B)
5384 {
5385 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5386 (__v8si) __B, 0,
5387 (__mmask8) -1);
5388 }
5389
5390 extern __inline __mmask8
5391 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi32_mask(__m256i __A,__m256i __B)5392 _mm256_cmpeq_epi32_mask (__m256i __A, __m256i __B)
5393 {
5394 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
5395 (__v8si) __B,
5396 (__mmask8) -1);
5397 }
5398
5399 extern __inline __mmask8
5400 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu32_mask(__mmask8 __U,__m256i __A,__m256i __B)5401 _mm256_mask_cmpeq_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5402 {
5403 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5404 (__v8si) __B, 0, __U);
5405 }
5406
5407 extern __inline __mmask8
5408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5409 _mm256_mask_cmpeq_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5410 {
5411 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
5412 (__v8si) __B, __U);
5413 }
5414
5415 extern __inline __mmask8
5416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu64_mask(__m128i __A,__m128i __B)5417 _mm_cmpeq_epu64_mask (__m128i __A, __m128i __B)
5418 {
5419 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5420 (__v2di) __B, 0,
5421 (__mmask8) -1);
5422 }
5423
5424 extern __inline __mmask8
5425 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi64_mask(__m128i __A,__m128i __B)5426 _mm_cmpeq_epi64_mask (__m128i __A, __m128i __B)
5427 {
5428 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
5429 (__v2di) __B,
5430 (__mmask8) -1);
5431 }
5432
5433 extern __inline __mmask8
5434 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu64_mask(__mmask8 __U,__m128i __A,__m128i __B)5435 _mm_mask_cmpeq_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5436 {
5437 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5438 (__v2di) __B, 0, __U);
5439 }
5440
5441 extern __inline __mmask8
5442 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5443 _mm_mask_cmpeq_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5444 {
5445 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
5446 (__v2di) __B, __U);
5447 }
5448
5449 extern __inline __mmask8
5450 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu64_mask(__m256i __A,__m256i __B)5451 _mm256_cmpeq_epu64_mask (__m256i __A, __m256i __B)
5452 {
5453 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5454 (__v4di) __B, 0,
5455 (__mmask8) -1);
5456 }
5457
5458 extern __inline __mmask8
5459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi64_mask(__m256i __A,__m256i __B)5460 _mm256_cmpeq_epi64_mask (__m256i __A, __m256i __B)
5461 {
5462 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
5463 (__v4di) __B,
5464 (__mmask8) -1);
5465 }
5466
5467 extern __inline __mmask8
5468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu64_mask(__mmask8 __U,__m256i __A,__m256i __B)5469 _mm256_mask_cmpeq_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5470 {
5471 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5472 (__v4di) __B, 0, __U);
5473 }
5474
5475 extern __inline __mmask8
5476 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5477 _mm256_mask_cmpeq_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5478 {
5479 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
5480 (__v4di) __B, __U);
5481 }
5482
5483 extern __inline __mmask8
5484 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu32_mask(__m128i __A,__m128i __B)5485 _mm_cmpgt_epu32_mask (__m128i __A, __m128i __B)
5486 {
5487 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5488 (__v4si) __B, 6,
5489 (__mmask8) -1);
5490 }
5491
5492 extern __inline __mmask8
5493 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi32_mask(__m128i __A,__m128i __B)5494 _mm_cmpgt_epi32_mask (__m128i __A, __m128i __B)
5495 {
5496 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
5497 (__v4si) __B,
5498 (__mmask8) -1);
5499 }
5500
5501 extern __inline __mmask8
5502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu32_mask(__mmask8 __U,__m128i __A,__m128i __B)5503 _mm_mask_cmpgt_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5504 {
5505 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5506 (__v4si) __B, 6, __U);
5507 }
5508
5509 extern __inline __mmask8
5510 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5511 _mm_mask_cmpgt_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5512 {
5513 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
5514 (__v4si) __B, __U);
5515 }
5516
5517 extern __inline __mmask8
5518 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu32_mask(__m256i __A,__m256i __B)5519 _mm256_cmpgt_epu32_mask (__m256i __A, __m256i __B)
5520 {
5521 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5522 (__v8si) __B, 6,
5523 (__mmask8) -1);
5524 }
5525
5526 extern __inline __mmask8
5527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi32_mask(__m256i __A,__m256i __B)5528 _mm256_cmpgt_epi32_mask (__m256i __A, __m256i __B)
5529 {
5530 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
5531 (__v8si) __B,
5532 (__mmask8) -1);
5533 }
5534
5535 extern __inline __mmask8
5536 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu32_mask(__mmask8 __U,__m256i __A,__m256i __B)5537 _mm256_mask_cmpgt_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5538 {
5539 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5540 (__v8si) __B, 6, __U);
5541 }
5542
5543 extern __inline __mmask8
5544 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5545 _mm256_mask_cmpgt_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5546 {
5547 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
5548 (__v8si) __B, __U);
5549 }
5550
5551 extern __inline __mmask8
5552 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu64_mask(__m128i __A,__m128i __B)5553 _mm_cmpgt_epu64_mask (__m128i __A, __m128i __B)
5554 {
5555 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5556 (__v2di) __B, 6,
5557 (__mmask8) -1);
5558 }
5559
5560 extern __inline __mmask8
5561 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi64_mask(__m128i __A,__m128i __B)5562 _mm_cmpgt_epi64_mask (__m128i __A, __m128i __B)
5563 {
5564 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
5565 (__v2di) __B,
5566 (__mmask8) -1);
5567 }
5568
5569 extern __inline __mmask8
5570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu64_mask(__mmask8 __U,__m128i __A,__m128i __B)5571 _mm_mask_cmpgt_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5572 {
5573 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5574 (__v2di) __B, 6, __U);
5575 }
5576
5577 extern __inline __mmask8
5578 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5579 _mm_mask_cmpgt_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5580 {
5581 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
5582 (__v2di) __B, __U);
5583 }
5584
5585 extern __inline __mmask8
5586 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu64_mask(__m256i __A,__m256i __B)5587 _mm256_cmpgt_epu64_mask (__m256i __A, __m256i __B)
5588 {
5589 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5590 (__v4di) __B, 6,
5591 (__mmask8) -1);
5592 }
5593
5594 extern __inline __mmask8
5595 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi64_mask(__m256i __A,__m256i __B)5596 _mm256_cmpgt_epi64_mask (__m256i __A, __m256i __B)
5597 {
5598 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
5599 (__v4di) __B,
5600 (__mmask8) -1);
5601 }
5602
5603 extern __inline __mmask8
5604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu64_mask(__mmask8 __U,__m256i __A,__m256i __B)5605 _mm256_mask_cmpgt_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5606 {
5607 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5608 (__v4di) __B, 6, __U);
5609 }
5610
5611 extern __inline __mmask8
5612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5613 _mm256_mask_cmpgt_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5614 {
5615 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
5616 (__v4di) __B, __U);
5617 }
5618
5619 extern __inline __mmask8
5620 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi32_mask(__m128i __A,__m128i __B)5621 _mm_test_epi32_mask (__m128i __A, __m128i __B)
5622 {
5623 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
5624 (__v4si) __B,
5625 (__mmask8) -1);
5626 }
5627
5628 extern __inline __mmask8
5629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5630 _mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5631 {
5632 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
5633 (__v4si) __B, __U);
5634 }
5635
5636 extern __inline __mmask8
5637 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi32_mask(__m256i __A,__m256i __B)5638 _mm256_test_epi32_mask (__m256i __A, __m256i __B)
5639 {
5640 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
5641 (__v8si) __B,
5642 (__mmask8) -1);
5643 }
5644
5645 extern __inline __mmask8
5646 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5647 _mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5648 {
5649 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
5650 (__v8si) __B, __U);
5651 }
5652
5653 extern __inline __mmask8
5654 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi64_mask(__m128i __A,__m128i __B)5655 _mm_test_epi64_mask (__m128i __A, __m128i __B)
5656 {
5657 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
5658 (__v2di) __B,
5659 (__mmask8) -1);
5660 }
5661
5662 extern __inline __mmask8
5663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5664 _mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5665 {
5666 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
5667 (__v2di) __B, __U);
5668 }
5669
5670 extern __inline __mmask8
5671 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi64_mask(__m256i __A,__m256i __B)5672 _mm256_test_epi64_mask (__m256i __A, __m256i __B)
5673 {
5674 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
5675 (__v4di) __B,
5676 (__mmask8) -1);
5677 }
5678
5679 extern __inline __mmask8
5680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5681 _mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5682 {
5683 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
5684 (__v4di) __B, __U);
5685 }
5686
5687 extern __inline __mmask8
5688 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi32_mask(__m128i __A,__m128i __B)5689 _mm_testn_epi32_mask (__m128i __A, __m128i __B)
5690 {
5691 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
5692 (__v4si) __B,
5693 (__mmask8) -1);
5694 }
5695
5696 extern __inline __mmask8
5697 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5698 _mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5699 {
5700 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
5701 (__v4si) __B, __U);
5702 }
5703
5704 extern __inline __mmask8
5705 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi32_mask(__m256i __A,__m256i __B)5706 _mm256_testn_epi32_mask (__m256i __A, __m256i __B)
5707 {
5708 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
5709 (__v8si) __B,
5710 (__mmask8) -1);
5711 }
5712
5713 extern __inline __mmask8
5714 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5715 _mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5716 {
5717 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
5718 (__v8si) __B, __U);
5719 }
5720
5721 extern __inline __mmask8
5722 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi64_mask(__m128i __A,__m128i __B)5723 _mm_testn_epi64_mask (__m128i __A, __m128i __B)
5724 {
5725 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
5726 (__v2di) __B,
5727 (__mmask8) -1);
5728 }
5729
5730 extern __inline __mmask8
5731 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5732 _mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5733 {
5734 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
5735 (__v2di) __B, __U);
5736 }
5737
5738 extern __inline __mmask8
5739 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi64_mask(__m256i __A,__m256i __B)5740 _mm256_testn_epi64_mask (__m256i __A, __m256i __B)
5741 {
5742 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
5743 (__v4di) __B,
5744 (__mmask8) -1);
5745 }
5746
5747 extern __inline __mmask8
5748 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5749 _mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5750 {
5751 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
5752 (__v4di) __B, __U);
5753 }
5754
5755 extern __inline __m256d
5756 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_pd(__m256d __W,__mmask8 __U,__m256d __A)5757 _mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A)
5758 {
5759 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
5760 (__v4df) __W,
5761 (__mmask8) __U);
5762 }
5763
5764 extern __inline __m256d
5765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_pd(__mmask8 __U,__m256d __A)5766 _mm256_maskz_compress_pd (__mmask8 __U, __m256d __A)
5767 {
5768 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
5769 (__v4df)
5770 _mm256_setzero_pd (),
5771 (__mmask8) __U);
5772 }
5773
5774 extern __inline void
5775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m256d __A)5776 _mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A)
5777 {
5778 __builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
5779 (__v4df) __A,
5780 (__mmask8) __U);
5781 }
5782
5783 extern __inline __m128d
5784 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_pd(__m128d __W,__mmask8 __U,__m128d __A)5785 _mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A)
5786 {
5787 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
5788 (__v2df) __W,
5789 (__mmask8) __U);
5790 }
5791
5792 extern __inline __m128d
5793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_pd(__mmask8 __U,__m128d __A)5794 _mm_maskz_compress_pd (__mmask8 __U, __m128d __A)
5795 {
5796 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
5797 (__v2df)
5798 _mm_setzero_pd (),
5799 (__mmask8) __U);
5800 }
5801
5802 extern __inline void
5803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m128d __A)5804 _mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A)
5805 {
5806 __builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
5807 (__v2df) __A,
5808 (__mmask8) __U);
5809 }
5810
5811 extern __inline __m256
5812 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_ps(__m256 __W,__mmask8 __U,__m256 __A)5813 _mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A)
5814 {
5815 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
5816 (__v8sf) __W,
5817 (__mmask8) __U);
5818 }
5819
5820 extern __inline __m256
5821 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_ps(__mmask8 __U,__m256 __A)5822 _mm256_maskz_compress_ps (__mmask8 __U, __m256 __A)
5823 {
5824 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
5825 (__v8sf)
5826 _mm256_setzero_ps (),
5827 (__mmask8) __U);
5828 }
5829
5830 extern __inline void
5831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m256 __A)5832 _mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A)
5833 {
5834 __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
5835 (__v8sf) __A,
5836 (__mmask8) __U);
5837 }
5838
5839 extern __inline __m128
5840 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_ps(__m128 __W,__mmask8 __U,__m128 __A)5841 _mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A)
5842 {
5843 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
5844 (__v4sf) __W,
5845 (__mmask8) __U);
5846 }
5847
5848 extern __inline __m128
5849 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_ps(__mmask8 __U,__m128 __A)5850 _mm_maskz_compress_ps (__mmask8 __U, __m128 __A)
5851 {
5852 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
5853 (__v4sf)
5854 _mm_setzero_ps (),
5855 (__mmask8) __U);
5856 }
5857
5858 extern __inline void
5859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m128 __A)5860 _mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A)
5861 {
5862 __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
5863 (__v4sf) __A,
5864 (__mmask8) __U);
5865 }
5866
5867 extern __inline __m256i
5868 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi64(__m256i __W,__mmask8 __U,__m256i __A)5869 _mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
5870 {
5871 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
5872 (__v4di) __W,
5873 (__mmask8) __U);
5874 }
5875
5876 extern __inline __m256i
5877 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi64(__mmask8 __U,__m256i __A)5878 _mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A)
5879 {
5880 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
5881 (__v4di)
5882 _mm256_setzero_si256 (),
5883 (__mmask8) __U);
5884 }
5885
5886 extern __inline void
5887 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m256i __A)5888 _mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A)
5889 {
5890 __builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
5891 (__v4di) __A,
5892 (__mmask8) __U);
5893 }
5894
5895 extern __inline __m128i
5896 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi64(__m128i __W,__mmask8 __U,__m128i __A)5897 _mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
5898 {
5899 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
5900 (__v2di) __W,
5901 (__mmask8) __U);
5902 }
5903
5904 extern __inline __m128i
5905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi64(__mmask8 __U,__m128i __A)5906 _mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A)
5907 {
5908 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
5909 (__v2di)
5910 _mm_setzero_si128 (),
5911 (__mmask8) __U);
5912 }
5913
5914 extern __inline void
5915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m128i __A)5916 _mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A)
5917 {
5918 __builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
5919 (__v2di) __A,
5920 (__mmask8) __U);
5921 }
5922
5923 extern __inline __m256i
5924 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi32(__m256i __W,__mmask8 __U,__m256i __A)5925 _mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
5926 {
5927 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
5928 (__v8si) __W,
5929 (__mmask8) __U);
5930 }
5931
5932 extern __inline __m256i
5933 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi32(__mmask8 __U,__m256i __A)5934 _mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A)
5935 {
5936 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
5937 (__v8si)
5938 _mm256_setzero_si256 (),
5939 (__mmask8) __U);
5940 }
5941
5942 extern __inline void
5943 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m256i __A)5944 _mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A)
5945 {
5946 __builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
5947 (__v8si) __A,
5948 (__mmask8) __U);
5949 }
5950
5951 extern __inline __m128i
5952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi32(__m128i __W,__mmask8 __U,__m128i __A)5953 _mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
5954 {
5955 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
5956 (__v4si) __W,
5957 (__mmask8) __U);
5958 }
5959
5960 extern __inline __m128i
5961 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi32(__mmask8 __U,__m128i __A)5962 _mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A)
5963 {
5964 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
5965 (__v4si)
5966 _mm_setzero_si128 (),
5967 (__mmask8) __U);
5968 }
5969
5970 extern __inline void
5971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m128i __A)5972 _mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A)
5973 {
5974 __builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
5975 (__v4si) __A,
5976 (__mmask8) __U);
5977 }
5978
5979 extern __inline __m256d
5980 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_pd(__m256d __W,__mmask8 __U,__m256d __A)5981 _mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A)
5982 {
5983 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
5984 (__v4df) __W,
5985 (__mmask8) __U);
5986 }
5987
5988 extern __inline __m256d
5989 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_pd(__mmask8 __U,__m256d __A)5990 _mm256_maskz_expand_pd (__mmask8 __U, __m256d __A)
5991 {
5992 return (__m256d) __builtin_ia32_expanddf256_maskz ((__v4df) __A,
5993 (__v4df)
5994 _mm256_setzero_pd (),
5995 (__mmask8) __U);
5996 }
5997
5998 extern __inline __m256d
5999 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_pd(__m256d __W,__mmask8 __U,void const * __P)6000 _mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P)
6001 {
6002 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
6003 (__v4df) __W,
6004 (__mmask8)
6005 __U);
6006 }
6007
6008 extern __inline __m256d
6009 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_pd(__mmask8 __U,void const * __P)6010 _mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
6011 {
6012 return (__m256d) __builtin_ia32_expandloaddf256_maskz ((__v4df *) __P,
6013 (__v4df)
6014 _mm256_setzero_pd (),
6015 (__mmask8)
6016 __U);
6017 }
6018
6019 extern __inline __m128d
6020 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_pd(__m128d __W,__mmask8 __U,__m128d __A)6021 _mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A)
6022 {
6023 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
6024 (__v2df) __W,
6025 (__mmask8) __U);
6026 }
6027
6028 extern __inline __m128d
6029 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_pd(__mmask8 __U,__m128d __A)6030 _mm_maskz_expand_pd (__mmask8 __U, __m128d __A)
6031 {
6032 return (__m128d) __builtin_ia32_expanddf128_maskz ((__v2df) __A,
6033 (__v2df)
6034 _mm_setzero_pd (),
6035 (__mmask8) __U);
6036 }
6037
6038 extern __inline __m128d
6039 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_pd(__m128d __W,__mmask8 __U,void const * __P)6040 _mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P)
6041 {
6042 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
6043 (__v2df) __W,
6044 (__mmask8)
6045 __U);
6046 }
6047
6048 extern __inline __m128d
6049 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_pd(__mmask8 __U,void const * __P)6050 _mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
6051 {
6052 return (__m128d) __builtin_ia32_expandloaddf128_maskz ((__v2df *) __P,
6053 (__v2df)
6054 _mm_setzero_pd (),
6055 (__mmask8)
6056 __U);
6057 }
6058
6059 extern __inline __m256
6060 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_ps(__m256 __W,__mmask8 __U,__m256 __A)6061 _mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A)
6062 {
6063 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
6064 (__v8sf) __W,
6065 (__mmask8) __U);
6066 }
6067
6068 extern __inline __m256
6069 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_ps(__mmask8 __U,__m256 __A)6070 _mm256_maskz_expand_ps (__mmask8 __U, __m256 __A)
6071 {
6072 return (__m256) __builtin_ia32_expandsf256_maskz ((__v8sf) __A,
6073 (__v8sf)
6074 _mm256_setzero_ps (),
6075 (__mmask8) __U);
6076 }
6077
6078 extern __inline __m256
6079 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_ps(__m256 __W,__mmask8 __U,void const * __P)6080 _mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P)
6081 {
6082 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
6083 (__v8sf) __W,
6084 (__mmask8) __U);
6085 }
6086
6087 extern __inline __m256
6088 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_ps(__mmask8 __U,void const * __P)6089 _mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
6090 {
6091 return (__m256) __builtin_ia32_expandloadsf256_maskz ((__v8sf *) __P,
6092 (__v8sf)
6093 _mm256_setzero_ps (),
6094 (__mmask8)
6095 __U);
6096 }
6097
6098 extern __inline __m128
6099 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_ps(__m128 __W,__mmask8 __U,__m128 __A)6100 _mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A)
6101 {
6102 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
6103 (__v4sf) __W,
6104 (__mmask8) __U);
6105 }
6106
6107 extern __inline __m128
6108 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_ps(__mmask8 __U,__m128 __A)6109 _mm_maskz_expand_ps (__mmask8 __U, __m128 __A)
6110 {
6111 return (__m128) __builtin_ia32_expandsf128_maskz ((__v4sf) __A,
6112 (__v4sf)
6113 _mm_setzero_ps (),
6114 (__mmask8) __U);
6115 }
6116
6117 extern __inline __m128
6118 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_ps(__m128 __W,__mmask8 __U,void const * __P)6119 _mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P)
6120 {
6121 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
6122 (__v4sf) __W,
6123 (__mmask8) __U);
6124 }
6125
6126 extern __inline __m128
6127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_ps(__mmask8 __U,void const * __P)6128 _mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
6129 {
6130 return (__m128) __builtin_ia32_expandloadsf128_maskz ((__v4sf *) __P,
6131 (__v4sf)
6132 _mm_setzero_ps (),
6133 (__mmask8)
6134 __U);
6135 }
6136
6137 extern __inline __m256i
6138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi64(__m256i __W,__mmask8 __U,__m256i __A)6139 _mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
6140 {
6141 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
6142 (__v4di) __W,
6143 (__mmask8) __U);
6144 }
6145
6146 extern __inline __m256i
6147 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi64(__mmask8 __U,__m256i __A)6148 _mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A)
6149 {
6150 return (__m256i) __builtin_ia32_expanddi256_maskz ((__v4di) __A,
6151 (__v4di)
6152 _mm256_setzero_si256 (),
6153 (__mmask8) __U);
6154 }
6155
6156 extern __inline __m256i
6157 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi64(__m256i __W,__mmask8 __U,void const * __P)6158 _mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
6159 void const *__P)
6160 {
6161 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
6162 (__v4di) __W,
6163 (__mmask8)
6164 __U);
6165 }
6166
6167 extern __inline __m256i
6168 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)6169 _mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
6170 {
6171 return (__m256i) __builtin_ia32_expandloaddi256_maskz ((__v4di *) __P,
6172 (__v4di)
6173 _mm256_setzero_si256 (),
6174 (__mmask8)
6175 __U);
6176 }
6177
6178 extern __inline __m128i
6179 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi64(__m128i __W,__mmask8 __U,__m128i __A)6180 _mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
6181 {
6182 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
6183 (__v2di) __W,
6184 (__mmask8) __U);
6185 }
6186
6187 extern __inline __m128i
6188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi64(__mmask8 __U,__m128i __A)6189 _mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A)
6190 {
6191 return (__m128i) __builtin_ia32_expanddi128_maskz ((__v2di) __A,
6192 (__v2di)
6193 _mm_setzero_si128 (),
6194 (__mmask8) __U);
6195 }
6196
6197 extern __inline __m128i
6198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi64(__m128i __W,__mmask8 __U,void const * __P)6199 _mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
6200 {
6201 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
6202 (__v2di) __W,
6203 (__mmask8)
6204 __U);
6205 }
6206
6207 extern __inline __m128i
6208 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)6209 _mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
6210 {
6211 return (__m128i) __builtin_ia32_expandloaddi128_maskz ((__v2di *) __P,
6212 (__v2di)
6213 _mm_setzero_si128 (),
6214 (__mmask8)
6215 __U);
6216 }
6217
6218 extern __inline __m256i
6219 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi32(__m256i __W,__mmask8 __U,__m256i __A)6220 _mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
6221 {
6222 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
6223 (__v8si) __W,
6224 (__mmask8) __U);
6225 }
6226
6227 extern __inline __m256i
6228 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi32(__mmask8 __U,__m256i __A)6229 _mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A)
6230 {
6231 return (__m256i) __builtin_ia32_expandsi256_maskz ((__v8si) __A,
6232 (__v8si)
6233 _mm256_setzero_si256 (),
6234 (__mmask8) __U);
6235 }
6236
6237 extern __inline __m256i
6238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi32(__m256i __W,__mmask8 __U,void const * __P)6239 _mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
6240 void const *__P)
6241 {
6242 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
6243 (__v8si) __W,
6244 (__mmask8)
6245 __U);
6246 }
6247
6248 extern __inline __m256i
6249 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)6250 _mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
6251 {
6252 return (__m256i) __builtin_ia32_expandloadsi256_maskz ((__v8si *) __P,
6253 (__v8si)
6254 _mm256_setzero_si256 (),
6255 (__mmask8)
6256 __U);
6257 }
6258
6259 extern __inline __m128i
6260 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi32(__m128i __W,__mmask8 __U,__m128i __A)6261 _mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
6262 {
6263 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
6264 (__v4si) __W,
6265 (__mmask8) __U);
6266 }
6267
6268 extern __inline __m128i
6269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi32(__mmask8 __U,__m128i __A)6270 _mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A)
6271 {
6272 return (__m128i) __builtin_ia32_expandsi128_maskz ((__v4si) __A,
6273 (__v4si)
6274 _mm_setzero_si128 (),
6275 (__mmask8) __U);
6276 }
6277
6278 extern __inline __m128i
6279 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi32(__m128i __W,__mmask8 __U,void const * __P)6280 _mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
6281 {
6282 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
6283 (__v4si) __W,
6284 (__mmask8)
6285 __U);
6286 }
6287
6288 extern __inline __m128i
6289 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)6290 _mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
6291 {
6292 return (__m128i) __builtin_ia32_expandloadsi128_maskz ((__v4si *) __P,
6293 (__v4si)
6294 _mm_setzero_si128 (),
6295 (__mmask8)
6296 __U);
6297 }
6298
6299 extern __inline __m256d
6300 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_pd(__m256d __A,__m256i __I,__m256d __B)6301 _mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B)
6302 {
6303 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
6304 /* idx */ ,
6305 (__v4df) __A,
6306 (__v4df) __B,
6307 (__mmask8) -1);
6308 }
6309
6310 extern __inline __m256d
6311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_pd(__m256d __A,__mmask8 __U,__m256i __I,__m256d __B)6312 _mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
6313 __m256d __B)
6314 {
6315 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
6316 /* idx */ ,
6317 (__v4df) __A,
6318 (__v4df) __B,
6319 (__mmask8)
6320 __U);
6321 }
6322
6323 extern __inline __m256d
6324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_pd(__m256d __A,__m256i __I,__mmask8 __U,__m256d __B)6325 _mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
6326 __m256d __B)
6327 {
6328 return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
6329 (__v4di) __I
6330 /* idx */ ,
6331 (__v4df) __B,
6332 (__mmask8)
6333 __U);
6334 }
6335
6336 extern __inline __m256d
6337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_pd(__mmask8 __U,__m256d __A,__m256i __I,__m256d __B)6338 _mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
6339 __m256d __B)
6340 {
6341 return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
6342 /* idx */ ,
6343 (__v4df) __A,
6344 (__v4df) __B,
6345 (__mmask8)
6346 __U);
6347 }
6348
6349 extern __inline __m256
6350 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_ps(__m256 __A,__m256i __I,__m256 __B)6351 _mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B)
6352 {
6353 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
6354 /* idx */ ,
6355 (__v8sf) __A,
6356 (__v8sf) __B,
6357 (__mmask8) -1);
6358 }
6359
6360 extern __inline __m256
6361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_ps(__m256 __A,__mmask8 __U,__m256i __I,__m256 __B)6362 _mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
6363 __m256 __B)
6364 {
6365 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
6366 /* idx */ ,
6367 (__v8sf) __A,
6368 (__v8sf) __B,
6369 (__mmask8) __U);
6370 }
6371
6372 extern __inline __m256
6373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_ps(__m256 __A,__m256i __I,__mmask8 __U,__m256 __B)6374 _mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
6375 __m256 __B)
6376 {
6377 return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
6378 (__v8si) __I
6379 /* idx */ ,
6380 (__v8sf) __B,
6381 (__mmask8) __U);
6382 }
6383
6384 extern __inline __m256
6385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_ps(__mmask8 __U,__m256 __A,__m256i __I,__m256 __B)6386 _mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
6387 __m256 __B)
6388 {
6389 return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
6390 /* idx */ ,
6391 (__v8sf) __A,
6392 (__v8sf) __B,
6393 (__mmask8)
6394 __U);
6395 }
6396
6397 extern __inline __m128i
6398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi64(__m128i __A,__m128i __I,__m128i __B)6399 _mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B)
6400 {
6401 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
6402 /* idx */ ,
6403 (__v2di) __A,
6404 (__v2di) __B,
6405 (__mmask8) -1);
6406 }
6407
6408 extern __inline __m128i
6409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi64(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)6410 _mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
6411 __m128i __B)
6412 {
6413 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
6414 /* idx */ ,
6415 (__v2di) __A,
6416 (__v2di) __B,
6417 (__mmask8) __U);
6418 }
6419
6420 extern __inline __m128i
6421 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi64(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)6422 _mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
6423 __m128i __B)
6424 {
6425 return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
6426 (__v2di) __I
6427 /* idx */ ,
6428 (__v2di) __B,
6429 (__mmask8) __U);
6430 }
6431
6432 extern __inline __m128i
6433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi64(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)6434 _mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
6435 __m128i __B)
6436 {
6437 return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
6438 /* idx */ ,
6439 (__v2di) __A,
6440 (__v2di) __B,
6441 (__mmask8)
6442 __U);
6443 }
6444
6445 extern __inline __m128i
6446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi32(__m128i __A,__m128i __I,__m128i __B)6447 _mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B)
6448 {
6449 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
6450 /* idx */ ,
6451 (__v4si) __A,
6452 (__v4si) __B,
6453 (__mmask8) -1);
6454 }
6455
6456 extern __inline __m128i
6457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi32(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)6458 _mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
6459 __m128i __B)
6460 {
6461 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
6462 /* idx */ ,
6463 (__v4si) __A,
6464 (__v4si) __B,
6465 (__mmask8) __U);
6466 }
6467
6468 extern __inline __m128i
6469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi32(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)6470 _mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
6471 __m128i __B)
6472 {
6473 return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
6474 (__v4si) __I
6475 /* idx */ ,
6476 (__v4si) __B,
6477 (__mmask8) __U);
6478 }
6479
6480 extern __inline __m128i
6481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi32(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)6482 _mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
6483 __m128i __B)
6484 {
6485 return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
6486 /* idx */ ,
6487 (__v4si) __A,
6488 (__v4si) __B,
6489 (__mmask8)
6490 __U);
6491 }
6492
6493 extern __inline __m256i
6494 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi64(__m256i __A,__m256i __I,__m256i __B)6495 _mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B)
6496 {
6497 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
6498 /* idx */ ,
6499 (__v4di) __A,
6500 (__v4di) __B,
6501 (__mmask8) -1);
6502 }
6503
6504 extern __inline __m256i
6505 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi64(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)6506 _mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
6507 __m256i __B)
6508 {
6509 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
6510 /* idx */ ,
6511 (__v4di) __A,
6512 (__v4di) __B,
6513 (__mmask8) __U);
6514 }
6515
6516 extern __inline __m256i
6517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi64(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)6518 _mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
6519 __mmask8 __U, __m256i __B)
6520 {
6521 return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
6522 (__v4di) __I
6523 /* idx */ ,
6524 (__v4di) __B,
6525 (__mmask8) __U);
6526 }
6527
6528 extern __inline __m256i
6529 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi64(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)6530 _mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
6531 __m256i __I, __m256i __B)
6532 {
6533 return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
6534 /* idx */ ,
6535 (__v4di) __A,
6536 (__v4di) __B,
6537 (__mmask8)
6538 __U);
6539 }
6540
6541 extern __inline __m256i
6542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi32(__m256i __A,__m256i __I,__m256i __B)6543 _mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B)
6544 {
6545 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
6546 /* idx */ ,
6547 (__v8si) __A,
6548 (__v8si) __B,
6549 (__mmask8) -1);
6550 }
6551
6552 extern __inline __m256i
6553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi32(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)6554 _mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
6555 __m256i __B)
6556 {
6557 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
6558 /* idx */ ,
6559 (__v8si) __A,
6560 (__v8si) __B,
6561 (__mmask8) __U);
6562 }
6563
6564 extern __inline __m256i
6565 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi32(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)6566 _mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
6567 __mmask8 __U, __m256i __B)
6568 {
6569 return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
6570 (__v8si) __I
6571 /* idx */ ,
6572 (__v8si) __B,
6573 (__mmask8) __U);
6574 }
6575
6576 extern __inline __m256i
6577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi32(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)6578 _mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
6579 __m256i __I, __m256i __B)
6580 {
6581 return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
6582 /* idx */ ,
6583 (__v8si) __A,
6584 (__v8si) __B,
6585 (__mmask8)
6586 __U);
6587 }
6588
6589 extern __inline __m128d
6590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_pd(__m128d __A,__m128i __I,__m128d __B)6591 _mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B)
6592 {
6593 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
6594 /* idx */ ,
6595 (__v2df) __A,
6596 (__v2df) __B,
6597 (__mmask8) -1);
6598 }
6599
6600 extern __inline __m128d
6601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_pd(__m128d __A,__mmask8 __U,__m128i __I,__m128d __B)6602 _mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
6603 __m128d __B)
6604 {
6605 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
6606 /* idx */ ,
6607 (__v2df) __A,
6608 (__v2df) __B,
6609 (__mmask8)
6610 __U);
6611 }
6612
6613 extern __inline __m128d
6614 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_pd(__m128d __A,__m128i __I,__mmask8 __U,__m128d __B)6615 _mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
6616 __m128d __B)
6617 {
6618 return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
6619 (__v2di) __I
6620 /* idx */ ,
6621 (__v2df) __B,
6622 (__mmask8)
6623 __U);
6624 }
6625
6626 extern __inline __m128d
6627 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_pd(__mmask8 __U,__m128d __A,__m128i __I,__m128d __B)6628 _mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
6629 __m128d __B)
6630 {
6631 return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
6632 /* idx */ ,
6633 (__v2df) __A,
6634 (__v2df) __B,
6635 (__mmask8)
6636 __U);
6637 }
6638
6639 extern __inline __m128
6640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_ps(__m128 __A,__m128i __I,__m128 __B)6641 _mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B)
6642 {
6643 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
6644 /* idx */ ,
6645 (__v4sf) __A,
6646 (__v4sf) __B,
6647 (__mmask8) -1);
6648 }
6649
6650 extern __inline __m128
6651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_ps(__m128 __A,__mmask8 __U,__m128i __I,__m128 __B)6652 _mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
6653 __m128 __B)
6654 {
6655 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
6656 /* idx */ ,
6657 (__v4sf) __A,
6658 (__v4sf) __B,
6659 (__mmask8) __U);
6660 }
6661
6662 extern __inline __m128
6663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_ps(__m128 __A,__m128i __I,__mmask8 __U,__m128 __B)6664 _mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
6665 __m128 __B)
6666 {
6667 return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
6668 (__v4si) __I
6669 /* idx */ ,
6670 (__v4sf) __B,
6671 (__mmask8) __U);
6672 }
6673
6674 extern __inline __m128
6675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_ps(__mmask8 __U,__m128 __A,__m128i __I,__m128 __B)6676 _mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
6677 __m128 __B)
6678 {
6679 return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
6680 /* idx */ ,
6681 (__v4sf) __A,
6682 (__v4sf) __B,
6683 (__mmask8)
6684 __U);
6685 }
6686
6687 extern __inline __m128i
6688 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srav_epi64(__m128i __X,__m128i __Y)6689 _mm_srav_epi64 (__m128i __X, __m128i __Y)
6690 {
6691 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6692 (__v2di) __Y,
6693 (__v2di)
6694 _mm_setzero_si128 (),
6695 (__mmask8) -1);
6696 }
6697
6698 extern __inline __m128i
6699 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6700 _mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6701 __m128i __Y)
6702 {
6703 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6704 (__v2di) __Y,
6705 (__v2di) __W,
6706 (__mmask8) __U);
6707 }
6708
6709 extern __inline __m128i
6710 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6711 _mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6712 {
6713 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6714 (__v2di) __Y,
6715 (__v2di)
6716 _mm_setzero_si128 (),
6717 (__mmask8) __U);
6718 }
6719
6720 extern __inline __m256i
6721 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6722 _mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6723 __m256i __Y)
6724 {
6725 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
6726 (__v8si) __Y,
6727 (__v8si) __W,
6728 (__mmask8) __U);
6729 }
6730
6731 extern __inline __m256i
6732 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6733 _mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6734 {
6735 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
6736 (__v8si) __Y,
6737 (__v8si)
6738 _mm256_setzero_si256 (),
6739 (__mmask8) __U);
6740 }
6741
6742 extern __inline __m128i
6743 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6744 _mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6745 __m128i __Y)
6746 {
6747 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
6748 (__v4si) __Y,
6749 (__v4si) __W,
6750 (__mmask8) __U);
6751 }
6752
6753 extern __inline __m128i
6754 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6755 _mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6756 {
6757 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
6758 (__v4si) __Y,
6759 (__v4si)
6760 _mm_setzero_si128 (),
6761 (__mmask8) __U);
6762 }
6763
6764 extern __inline __m256i
6765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6766 _mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
6767 __m256i __Y)
6768 {
6769 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
6770 (__v4di) __Y,
6771 (__v4di) __W,
6772 (__mmask8) __U);
6773 }
6774
6775 extern __inline __m256i
6776 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)6777 _mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
6778 {
6779 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
6780 (__v4di) __Y,
6781 (__v4di)
6782 _mm256_setzero_si256 (),
6783 (__mmask8) __U);
6784 }
6785
6786 extern __inline __m128i
6787 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6788 _mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6789 __m128i __Y)
6790 {
6791 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
6792 (__v2di) __Y,
6793 (__v2di) __W,
6794 (__mmask8) __U);
6795 }
6796
6797 extern __inline __m128i
6798 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6799 _mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6800 {
6801 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
6802 (__v2di) __Y,
6803 (__v2di)
6804 _mm_setzero_si128 (),
6805 (__mmask8) __U);
6806 }
6807
6808 extern __inline __m256i
6809 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6810 _mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6811 __m256i __Y)
6812 {
6813 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
6814 (__v8si) __Y,
6815 (__v8si) __W,
6816 (__mmask8) __U);
6817 }
6818
6819 extern __inline __m256i
6820 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6821 _mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6822 {
6823 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
6824 (__v8si) __Y,
6825 (__v8si)
6826 _mm256_setzero_si256 (),
6827 (__mmask8) __U);
6828 }
6829
6830 extern __inline __m128i
6831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6832 _mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6833 __m128i __Y)
6834 {
6835 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
6836 (__v4si) __Y,
6837 (__v4si) __W,
6838 (__mmask8) __U);
6839 }
6840
6841 extern __inline __m128i
6842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6843 _mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6844 {
6845 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
6846 (__v4si) __Y,
6847 (__v4si)
6848 _mm_setzero_si128 (),
6849 (__mmask8) __U);
6850 }
6851
6852 extern __inline __m256i
6853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6854 _mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6855 __m256i __Y)
6856 {
6857 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
6858 (__v8si) __Y,
6859 (__v8si) __W,
6860 (__mmask8) __U);
6861 }
6862
6863 extern __inline __m256i
6864 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6865 _mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6866 {
6867 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
6868 (__v8si) __Y,
6869 (__v8si)
6870 _mm256_setzero_si256 (),
6871 (__mmask8) __U);
6872 }
6873
6874 extern __inline __m128i
6875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6876 _mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6877 __m128i __Y)
6878 {
6879 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
6880 (__v4si) __Y,
6881 (__v4si) __W,
6882 (__mmask8) __U);
6883 }
6884
6885 extern __inline __m128i
6886 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6887 _mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6888 {
6889 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
6890 (__v4si) __Y,
6891 (__v4si)
6892 _mm_setzero_si128 (),
6893 (__mmask8) __U);
6894 }
6895
6896 extern __inline __m256i
6897 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6898 _mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
6899 __m256i __Y)
6900 {
6901 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
6902 (__v4di) __Y,
6903 (__v4di) __W,
6904 (__mmask8) __U);
6905 }
6906
6907 extern __inline __m256i
6908 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)6909 _mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
6910 {
6911 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
6912 (__v4di) __Y,
6913 (__v4di)
6914 _mm256_setzero_si256 (),
6915 (__mmask8) __U);
6916 }
6917
6918 extern __inline __m128i
6919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6920 _mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6921 __m128i __Y)
6922 {
6923 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
6924 (__v2di) __Y,
6925 (__v2di) __W,
6926 (__mmask8) __U);
6927 }
6928
6929 extern __inline __m128i
6930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6931 _mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6932 {
6933 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
6934 (__v2di) __Y,
6935 (__v2di)
6936 _mm_setzero_si128 (),
6937 (__mmask8) __U);
6938 }
6939
6940 extern __inline __m256i
6941 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi32(__m256i __A,__m256i __B)6942 _mm256_rolv_epi32 (__m256i __A, __m256i __B)
6943 {
6944 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
6945 (__v8si) __B,
6946 (__v8si)
6947 _mm256_setzero_si256 (),
6948 (__mmask8) -1);
6949 }
6950
6951 extern __inline __m256i
6952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)6953 _mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
6954 __m256i __B)
6955 {
6956 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
6957 (__v8si) __B,
6958 (__v8si) __W,
6959 (__mmask8) __U);
6960 }
6961
6962 extern __inline __m256i
6963 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi32(__mmask8 __U,__m256i __A,__m256i __B)6964 _mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
6965 {
6966 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
6967 (__v8si) __B,
6968 (__v8si)
6969 _mm256_setzero_si256 (),
6970 (__mmask8) __U);
6971 }
6972
6973 extern __inline __m128i
6974 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi32(__m128i __A,__m128i __B)6975 _mm_rolv_epi32 (__m128i __A, __m128i __B)
6976 {
6977 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
6978 (__v4si) __B,
6979 (__v4si)
6980 _mm_setzero_si128 (),
6981 (__mmask8) -1);
6982 }
6983
6984 extern __inline __m128i
6985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)6986 _mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
6987 __m128i __B)
6988 {
6989 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
6990 (__v4si) __B,
6991 (__v4si) __W,
6992 (__mmask8) __U);
6993 }
6994
6995 extern __inline __m128i
6996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi32(__mmask8 __U,__m128i __A,__m128i __B)6997 _mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
6998 {
6999 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
7000 (__v4si) __B,
7001 (__v4si)
7002 _mm_setzero_si128 (),
7003 (__mmask8) __U);
7004 }
7005
7006 extern __inline __m256i
7007 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi32(__m256i __A,__m256i __B)7008 _mm256_rorv_epi32 (__m256i __A, __m256i __B)
7009 {
7010 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7011 (__v8si) __B,
7012 (__v8si)
7013 _mm256_setzero_si256 (),
7014 (__mmask8) -1);
7015 }
7016
7017 extern __inline __m256i
7018 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7019 _mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7020 __m256i __B)
7021 {
7022 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7023 (__v8si) __B,
7024 (__v8si) __W,
7025 (__mmask8) __U);
7026 }
7027
7028 extern __inline __m256i
7029 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi32(__mmask8 __U,__m256i __A,__m256i __B)7030 _mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
7031 {
7032 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7033 (__v8si) __B,
7034 (__v8si)
7035 _mm256_setzero_si256 (),
7036 (__mmask8) __U);
7037 }
7038
7039 extern __inline __m128i
7040 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi32(__m128i __A,__m128i __B)7041 _mm_rorv_epi32 (__m128i __A, __m128i __B)
7042 {
7043 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7044 (__v4si) __B,
7045 (__v4si)
7046 _mm_setzero_si128 (),
7047 (__mmask8) -1);
7048 }
7049
7050 extern __inline __m128i
7051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7052 _mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
7053 __m128i __B)
7054 {
7055 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7056 (__v4si) __B,
7057 (__v4si) __W,
7058 (__mmask8) __U);
7059 }
7060
7061 extern __inline __m128i
7062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi32(__mmask8 __U,__m128i __A,__m128i __B)7063 _mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
7064 {
7065 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7066 (__v4si) __B,
7067 (__v4si)
7068 _mm_setzero_si128 (),
7069 (__mmask8) __U);
7070 }
7071
7072 extern __inline __m256i
7073 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi64(__m256i __A,__m256i __B)7074 _mm256_rolv_epi64 (__m256i __A, __m256i __B)
7075 {
7076 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7077 (__v4di) __B,
7078 (__v4di)
7079 _mm256_setzero_si256 (),
7080 (__mmask8) -1);
7081 }
7082
7083 extern __inline __m256i
7084 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7085 _mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7086 __m256i __B)
7087 {
7088 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7089 (__v4di) __B,
7090 (__v4di) __W,
7091 (__mmask8) __U);
7092 }
7093
7094 extern __inline __m256i
7095 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi64(__mmask8 __U,__m256i __A,__m256i __B)7096 _mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7097 {
7098 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7099 (__v4di) __B,
7100 (__v4di)
7101 _mm256_setzero_si256 (),
7102 (__mmask8) __U);
7103 }
7104
7105 extern __inline __m128i
7106 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi64(__m128i __A,__m128i __B)7107 _mm_rolv_epi64 (__m128i __A, __m128i __B)
7108 {
7109 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7110 (__v2di) __B,
7111 (__v2di)
7112 _mm_setzero_si128 (),
7113 (__mmask8) -1);
7114 }
7115
7116 extern __inline __m128i
7117 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7118 _mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7119 __m128i __B)
7120 {
7121 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7122 (__v2di) __B,
7123 (__v2di) __W,
7124 (__mmask8) __U);
7125 }
7126
7127 extern __inline __m128i
7128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi64(__mmask8 __U,__m128i __A,__m128i __B)7129 _mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7130 {
7131 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7132 (__v2di) __B,
7133 (__v2di)
7134 _mm_setzero_si128 (),
7135 (__mmask8) __U);
7136 }
7137
7138 extern __inline __m256i
7139 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi64(__m256i __A,__m256i __B)7140 _mm256_rorv_epi64 (__m256i __A, __m256i __B)
7141 {
7142 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7143 (__v4di) __B,
7144 (__v4di)
7145 _mm256_setzero_si256 (),
7146 (__mmask8) -1);
7147 }
7148
7149 extern __inline __m256i
7150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7151 _mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7152 __m256i __B)
7153 {
7154 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7155 (__v4di) __B,
7156 (__v4di) __W,
7157 (__mmask8) __U);
7158 }
7159
7160 extern __inline __m256i
7161 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi64(__mmask8 __U,__m256i __A,__m256i __B)7162 _mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7163 {
7164 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7165 (__v4di) __B,
7166 (__v4di)
7167 _mm256_setzero_si256 (),
7168 (__mmask8) __U);
7169 }
7170
7171 extern __inline __m128i
7172 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi64(__m128i __A,__m128i __B)7173 _mm_rorv_epi64 (__m128i __A, __m128i __B)
7174 {
7175 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7176 (__v2di) __B,
7177 (__v2di)
7178 _mm_setzero_si128 (),
7179 (__mmask8) -1);
7180 }
7181
7182 extern __inline __m128i
7183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7184 _mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7185 __m128i __B)
7186 {
7187 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7188 (__v2di) __B,
7189 (__v2di) __W,
7190 (__mmask8) __U);
7191 }
7192
7193 extern __inline __m128i
7194 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi64(__mmask8 __U,__m128i __A,__m128i __B)7195 _mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7196 {
7197 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7198 (__v2di) __B,
7199 (__v2di)
7200 _mm_setzero_si128 (),
7201 (__mmask8) __U);
7202 }
7203
7204 extern __inline __m256i
7205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srav_epi64(__m256i __X,__m256i __Y)7206 _mm256_srav_epi64 (__m256i __X, __m256i __Y)
7207 {
7208 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7209 (__v4di) __Y,
7210 (__v4di)
7211 _mm256_setzero_si256 (),
7212 (__mmask8) -1);
7213 }
7214
7215 extern __inline __m256i
7216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)7217 _mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
7218 __m256i __Y)
7219 {
7220 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7221 (__v4di) __Y,
7222 (__v4di) __W,
7223 (__mmask8) __U);
7224 }
7225
7226 extern __inline __m256i
7227 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi64(__mmask8 __U,__m256i __X,__m256i __Y)7228 _mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
7229 {
7230 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7231 (__v4di) __Y,
7232 (__v4di)
7233 _mm256_setzero_si256 (),
7234 (__mmask8) __U);
7235 }
7236
7237 extern __inline __m256i
7238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7239 _mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7240 __m256i __B)
7241 {
7242 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
7243 (__v4di) __B,
7244 (__v4di) __W, __U);
7245 }
7246
7247 extern __inline __m256i
7248 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi64(__mmask8 __U,__m256i __A,__m256i __B)7249 _mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7250 {
7251 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
7252 (__v4di) __B,
7253 (__v4di)
7254 _mm256_setzero_pd (),
7255 __U);
7256 }
7257
7258 extern __inline __m128i
7259 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7260 _mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7261 __m128i __B)
7262 {
7263 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
7264 (__v2di) __B,
7265 (__v2di) __W, __U);
7266 }
7267
7268 extern __inline __m128i
7269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi64(__mmask8 __U,__m128i __A,__m128i __B)7270 _mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7271 {
7272 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
7273 (__v2di) __B,
7274 (__v2di)
7275 _mm_setzero_pd (),
7276 __U);
7277 }
7278
7279 extern __inline __m256i
7280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7281 _mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7282 __m256i __B)
7283 {
7284 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
7285 (__v4di) __B,
7286 (__v4di) __W, __U);
7287 }
7288
7289 extern __inline __m256i
7290 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi64(__mmask8 __U,__m256i __A,__m256i __B)7291 _mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7292 {
7293 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
7294 (__v4di) __B,
7295 (__v4di)
7296 _mm256_setzero_pd (),
7297 __U);
7298 }
7299
7300 extern __inline __m128i
7301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7302 _mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7303 __m128i __B)
7304 {
7305 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
7306 (__v2di) __B,
7307 (__v2di) __W, __U);
7308 }
7309
7310 extern __inline __m128i
7311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi64(__mmask8 __U,__m128i __A,__m128i __B)7312 _mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7313 {
7314 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
7315 (__v2di) __B,
7316 (__v2di)
7317 _mm_setzero_pd (),
7318 __U);
7319 }
7320
7321 extern __inline __m256i
7322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7323 _mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7324 __m256i __B)
7325 {
7326 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
7327 (__v4di) __B,
7328 (__v4di) __W,
7329 (__mmask8) __U);
7330 }
7331
7332 extern __inline __m256i
7333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi64(__mmask8 __U,__m256i __A,__m256i __B)7334 _mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7335 {
7336 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
7337 (__v4di) __B,
7338 (__v4di)
7339 _mm256_setzero_si256 (),
7340 (__mmask8) __U);
7341 }
7342
7343 extern __inline __m128i
7344 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7345 _mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
7346 {
7347 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
7348 (__v2di) __B,
7349 (__v2di) __W,
7350 (__mmask8) __U);
7351 }
7352
7353 extern __inline __m128i
7354 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi64(__mmask8 __U,__m128i __A,__m128i __B)7355 _mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7356 {
7357 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
7358 (__v2di) __B,
7359 (__v2di)
7360 _mm_setzero_si128 (),
7361 (__mmask8) __U);
7362 }
7363
7364 extern __inline __m256i
7365 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7366 _mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7367 __m256i __B)
7368 {
7369 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
7370 (__v4di) __B,
7371 (__v4di) __W,
7372 (__mmask8) __U);
7373 }
7374
7375 extern __inline __m256i
7376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi64(__mmask8 __U,__m256i __A,__m256i __B)7377 _mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7378 {
7379 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
7380 (__v4di) __B,
7381 (__v4di)
7382 _mm256_setzero_si256 (),
7383 (__mmask8) __U);
7384 }
7385
7386 extern __inline __m128i
7387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7388 _mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7389 __m128i __B)
7390 {
7391 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
7392 (__v2di) __B,
7393 (__v2di) __W,
7394 (__mmask8) __U);
7395 }
7396
7397 extern __inline __m128i
7398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi64(__mmask8 __U,__m128i __A,__m128i __B)7399 _mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7400 {
7401 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
7402 (__v2di) __B,
7403 (__v2di)
7404 _mm_setzero_si128 (),
7405 (__mmask8) __U);
7406 }
7407
7408 extern __inline __m256d
7409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7410 _mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
7411 __m256d __B)
7412 {
7413 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
7414 (__v4df) __B,
7415 (__v4df) __W,
7416 (__mmask8) __U);
7417 }
7418
7419 extern __inline __m256d
7420 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_pd(__mmask8 __U,__m256d __A,__m256d __B)7421 _mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B)
7422 {
7423 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
7424 (__v4df) __B,
7425 (__v4df)
7426 _mm256_setzero_pd (),
7427 (__mmask8) __U);
7428 }
7429
7430 extern __inline __m256
7431 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7432 _mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7433 {
7434 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
7435 (__v8sf) __B,
7436 (__v8sf) __W,
7437 (__mmask8) __U);
7438 }
7439
7440 extern __inline __m256
7441 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_ps(__mmask8 __U,__m256 __A,__m256 __B)7442 _mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B)
7443 {
7444 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
7445 (__v8sf) __B,
7446 (__v8sf)
7447 _mm256_setzero_ps (),
7448 (__mmask8) __U);
7449 }
7450
7451 extern __inline __m128
7452 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7453 _mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7454 {
7455 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
7456 (__v4sf) __B,
7457 (__v4sf) __W,
7458 (__mmask8) __U);
7459 }
7460
7461 extern __inline __m128
7462 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_ps(__mmask8 __U,__m128 __A,__m128 __B)7463 _mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B)
7464 {
7465 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
7466 (__v4sf) __B,
7467 (__v4sf)
7468 _mm_setzero_ps (),
7469 (__mmask8) __U);
7470 }
7471
7472 extern __inline __m128d
7473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7474 _mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7475 {
7476 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
7477 (__v2df) __B,
7478 (__v2df) __W,
7479 (__mmask8) __U);
7480 }
7481
7482 extern __inline __m128d
7483 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_pd(__mmask8 __U,__m128d __A,__m128d __B)7484 _mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B)
7485 {
7486 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
7487 (__v2df) __B,
7488 (__v2df)
7489 _mm_setzero_pd (),
7490 (__mmask8) __U);
7491 }
7492
7493 extern __inline __m256d
7494 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7495 _mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
7496 __m256d __B)
7497 {
7498 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
7499 (__v4df) __B,
7500 (__v4df) __W,
7501 (__mmask8) __U);
7502 }
7503
7504 extern __inline __m256d
7505 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7506 _mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
7507 __m256d __B)
7508 {
7509 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
7510 (__v4df) __B,
7511 (__v4df) __W,
7512 (__mmask8) __U);
7513 }
7514
7515 extern __inline __m256d
7516 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_pd(__mmask8 __U,__m256d __A,__m256d __B)7517 _mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B)
7518 {
7519 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
7520 (__v4df) __B,
7521 (__v4df)
7522 _mm256_setzero_pd (),
7523 (__mmask8) __U);
7524 }
7525
7526 extern __inline __m256
7527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7528 _mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7529 {
7530 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
7531 (__v8sf) __B,
7532 (__v8sf) __W,
7533 (__mmask8) __U);
7534 }
7535
7536 extern __inline __m256d
7537 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_pd(__mmask8 __U,__m256d __A,__m256d __B)7538 _mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B)
7539 {
7540 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
7541 (__v4df) __B,
7542 (__v4df)
7543 _mm256_setzero_pd (),
7544 (__mmask8) __U);
7545 }
7546
7547 extern __inline __m256
7548 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7549 _mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7550 {
7551 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
7552 (__v8sf) __B,
7553 (__v8sf) __W,
7554 (__mmask8) __U);
7555 }
7556
7557 extern __inline __m256
7558 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_ps(__mmask8 __U,__m256 __A,__m256 __B)7559 _mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B)
7560 {
7561 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
7562 (__v8sf) __B,
7563 (__v8sf)
7564 _mm256_setzero_ps (),
7565 (__mmask8) __U);
7566 }
7567
7568 extern __inline __m256
7569 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_ps(__mmask8 __U,__m256 __A,__m256 __B)7570 _mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B)
7571 {
7572 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
7573 (__v8sf) __B,
7574 (__v8sf)
7575 _mm256_setzero_ps (),
7576 (__mmask8) __U);
7577 }
7578
7579 extern __inline __m128
7580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7581 _mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7582 {
7583 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
7584 (__v4sf) __B,
7585 (__v4sf) __W,
7586 (__mmask8) __U);
7587 }
7588
7589 extern __inline __m128
7590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7591 _mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7592 {
7593 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
7594 (__v4sf) __B,
7595 (__v4sf) __W,
7596 (__mmask8) __U);
7597 }
7598
7599 extern __inline __m128
7600 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_ps(__mmask8 __U,__m128 __A,__m128 __B)7601 _mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B)
7602 {
7603 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
7604 (__v4sf) __B,
7605 (__v4sf)
7606 _mm_setzero_ps (),
7607 (__mmask8) __U);
7608 }
7609
7610 extern __inline __m128
7611 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_ps(__mmask8 __U,__m128 __A,__m128 __B)7612 _mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B)
7613 {
7614 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
7615 (__v4sf) __B,
7616 (__v4sf)
7617 _mm_setzero_ps (),
7618 (__mmask8) __U);
7619 }
7620
7621 extern __inline __m128
7622 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7623 _mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7624 {
7625 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
7626 (__v4sf) __B,
7627 (__v4sf) __W,
7628 (__mmask8) __U);
7629 }
7630
7631 extern __inline __m128
7632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_ps(__mmask8 __U,__m128 __A,__m128 __B)7633 _mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B)
7634 {
7635 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
7636 (__v4sf) __B,
7637 (__v4sf)
7638 _mm_setzero_ps (),
7639 (__mmask8) __U);
7640 }
7641
7642 extern __inline __m128d
7643 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7644 _mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7645 {
7646 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
7647 (__v2df) __B,
7648 (__v2df) __W,
7649 (__mmask8) __U);
7650 }
7651
7652 extern __inline __m128d
7653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_pd(__mmask8 __U,__m128d __A,__m128d __B)7654 _mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B)
7655 {
7656 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
7657 (__v2df) __B,
7658 (__v2df)
7659 _mm_setzero_pd (),
7660 (__mmask8) __U);
7661 }
7662
7663 extern __inline __m128d
7664 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7665 _mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7666 {
7667 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
7668 (__v2df) __B,
7669 (__v2df) __W,
7670 (__mmask8) __U);
7671 }
7672
7673 extern __inline __m128d
7674 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_pd(__mmask8 __U,__m128d __A,__m128d __B)7675 _mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B)
7676 {
7677 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
7678 (__v2df) __B,
7679 (__v2df)
7680 _mm_setzero_pd (),
7681 (__mmask8) __U);
7682 }
7683
7684 extern __inline __m128d
7685 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7686 _mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7687 {
7688 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
7689 (__v2df) __B,
7690 (__v2df) __W,
7691 (__mmask8) __U);
7692 }
7693
7694 extern __inline __m128d
7695 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_pd(__mmask8 __U,__m128d __A,__m128d __B)7696 _mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B)
7697 {
7698 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
7699 (__v2df) __B,
7700 (__v2df)
7701 _mm_setzero_pd (),
7702 (__mmask8) __U);
7703 }
7704
7705 extern __inline __m256
7706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7707 _mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7708 {
7709 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
7710 (__v8sf) __B,
7711 (__v8sf) __W,
7712 (__mmask8) __U);
7713 }
7714
7715 extern __inline __m256
7716 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_ps(__mmask8 __U,__m256 __A,__m256 __B)7717 _mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B)
7718 {
7719 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
7720 (__v8sf) __B,
7721 (__v8sf)
7722 _mm256_setzero_ps (),
7723 (__mmask8) __U);
7724 }
7725
7726 extern __inline __m256d
7727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7728 _mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
7729 __m256d __B)
7730 {
7731 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
7732 (__v4df) __B,
7733 (__v4df) __W,
7734 (__mmask8) __U);
7735 }
7736
7737 extern __inline __m256d
7738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_pd(__mmask8 __U,__m256d __A,__m256d __B)7739 _mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B)
7740 {
7741 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
7742 (__v4df) __B,
7743 (__v4df)
7744 _mm256_setzero_pd (),
7745 (__mmask8) __U);
7746 }
7747
7748 extern __inline __m256i
7749 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi64(__mmask8 __M,__m256i __A,__m256i __B)7750 _mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
7751 {
7752 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7753 (__v4di) __B,
7754 (__v4di)
7755 _mm256_setzero_si256 (),
7756 __M);
7757 }
7758
7759 extern __inline __m256i
7760 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7761 _mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
7762 __m256i __B)
7763 {
7764 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7765 (__v4di) __B,
7766 (__v4di) __W, __M);
7767 }
7768
7769 extern __inline __m256i
7770 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epi64(__m256i __A,__m256i __B)7771 _mm256_min_epi64 (__m256i __A, __m256i __B)
7772 {
7773 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7774 (__v4di) __B,
7775 (__v4di)
7776 _mm256_setzero_si256 (),
7777 (__mmask8) -1);
7778 }
7779
7780 extern __inline __m256i
7781 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7782 _mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
7783 __m256i __B)
7784 {
7785 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7786 (__v4di) __B,
7787 (__v4di) __W, __M);
7788 }
7789
7790 extern __inline __m256i
7791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi64(__mmask8 __M,__m256i __A,__m256i __B)7792 _mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
7793 {
7794 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7795 (__v4di) __B,
7796 (__v4di)
7797 _mm256_setzero_si256 (),
7798 __M);
7799 }
7800
7801 extern __inline __m256i
7802 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu64(__mmask8 __M,__m256i __A,__m256i __B)7803 _mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
7804 {
7805 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7806 (__v4di) __B,
7807 (__v4di)
7808 _mm256_setzero_si256 (),
7809 __M);
7810 }
7811
7812 extern __inline __m256i
7813 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epi64(__m256i __A,__m256i __B)7814 _mm256_max_epi64 (__m256i __A, __m256i __B)
7815 {
7816 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7817 (__v4di) __B,
7818 (__v4di)
7819 _mm256_setzero_si256 (),
7820 (__mmask8) -1);
7821 }
7822
7823 extern __inline __m256i
7824 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epu64(__m256i __A,__m256i __B)7825 _mm256_max_epu64 (__m256i __A, __m256i __B)
7826 {
7827 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7828 (__v4di) __B,
7829 (__v4di)
7830 _mm256_setzero_si256 (),
7831 (__mmask8) -1);
7832 }
7833
7834 extern __inline __m256i
7835 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7836 _mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
7837 __m256i __B)
7838 {
7839 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7840 (__v4di) __B,
7841 (__v4di) __W, __M);
7842 }
7843
7844 extern __inline __m256i
7845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epu64(__m256i __A,__m256i __B)7846 _mm256_min_epu64 (__m256i __A, __m256i __B)
7847 {
7848 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7849 (__v4di) __B,
7850 (__v4di)
7851 _mm256_setzero_si256 (),
7852 (__mmask8) -1);
7853 }
7854
7855 extern __inline __m256i
7856 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7857 _mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
7858 __m256i __B)
7859 {
7860 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7861 (__v4di) __B,
7862 (__v4di) __W, __M);
7863 }
7864
7865 extern __inline __m256i
7866 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu64(__mmask8 __M,__m256i __A,__m256i __B)7867 _mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
7868 {
7869 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7870 (__v4di) __B,
7871 (__v4di)
7872 _mm256_setzero_si256 (),
7873 __M);
7874 }
7875
7876 extern __inline __m256i
7877 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi32(__mmask8 __M,__m256i __A,__m256i __B)7878 _mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
7879 {
7880 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
7881 (__v8si) __B,
7882 (__v8si)
7883 _mm256_setzero_si256 (),
7884 __M);
7885 }
7886
7887 extern __inline __m256i
7888 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7889 _mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
7890 __m256i __B)
7891 {
7892 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
7893 (__v8si) __B,
7894 (__v8si) __W, __M);
7895 }
7896
7897 extern __inline __m256i
7898 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi32(__mmask8 __M,__m256i __A,__m256i __B)7899 _mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
7900 {
7901 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
7902 (__v8si) __B,
7903 (__v8si)
7904 _mm256_setzero_si256 (),
7905 __M);
7906 }
7907
7908 extern __inline __m256i
7909 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7910 _mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
7911 __m256i __B)
7912 {
7913 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
7914 (__v8si) __B,
7915 (__v8si) __W, __M);
7916 }
7917
7918 extern __inline __m256i
7919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu32(__mmask8 __M,__m256i __A,__m256i __B)7920 _mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
7921 {
7922 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
7923 (__v8si) __B,
7924 (__v8si)
7925 _mm256_setzero_si256 (),
7926 __M);
7927 }
7928
7929 extern __inline __m256i
7930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7931 _mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
7932 __m256i __B)
7933 {
7934 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
7935 (__v8si) __B,
7936 (__v8si) __W, __M);
7937 }
7938
7939 extern __inline __m256i
7940 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu32(__mmask8 __M,__m256i __A,__m256i __B)7941 _mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
7942 {
7943 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
7944 (__v8si) __B,
7945 (__v8si)
7946 _mm256_setzero_si256 (),
7947 __M);
7948 }
7949
7950 extern __inline __m256i
7951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7952 _mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
7953 __m256i __B)
7954 {
7955 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
7956 (__v8si) __B,
7957 (__v8si) __W, __M);
7958 }
7959
7960 extern __inline __m128i
7961 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi64(__mmask8 __M,__m128i __A,__m128i __B)7962 _mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
7963 {
7964 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
7965 (__v2di) __B,
7966 (__v2di)
7967 _mm_setzero_si128 (),
7968 __M);
7969 }
7970
7971 extern __inline __m128i
7972 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)7973 _mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
7974 __m128i __B)
7975 {
7976 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
7977 (__v2di) __B,
7978 (__v2di) __W, __M);
7979 }
7980
7981 extern __inline __m128i
7982 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi64(__m128i __A,__m128i __B)7983 _mm_min_epi64 (__m128i __A, __m128i __B)
7984 {
7985 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
7986 (__v2di) __B,
7987 (__v2di)
7988 _mm_setzero_si128 (),
7989 (__mmask8) -1);
7990 }
7991
7992 extern __inline __m128i
7993 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)7994 _mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
7995 __m128i __B)
7996 {
7997 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
7998 (__v2di) __B,
7999 (__v2di) __W, __M);
8000 }
8001
8002 extern __inline __m128i
8003 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi64(__mmask8 __M,__m128i __A,__m128i __B)8004 _mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
8005 {
8006 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
8007 (__v2di) __B,
8008 (__v2di)
8009 _mm_setzero_si128 (),
8010 __M);
8011 }
8012
8013 extern __inline __m128i
8014 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu64(__mmask8 __M,__m128i __A,__m128i __B)8015 _mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
8016 {
8017 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8018 (__v2di) __B,
8019 (__v2di)
8020 _mm_setzero_si128 (),
8021 __M);
8022 }
8023
8024 extern __inline __m128i
8025 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi64(__m128i __A,__m128i __B)8026 _mm_max_epi64 (__m128i __A, __m128i __B)
8027 {
8028 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
8029 (__v2di) __B,
8030 (__v2di)
8031 _mm_setzero_si128 (),
8032 (__mmask8) -1);
8033 }
8034
8035 extern __inline __m128i
8036 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu64(__m128i __A,__m128i __B)8037 _mm_max_epu64 (__m128i __A, __m128i __B)
8038 {
8039 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8040 (__v2di) __B,
8041 (__v2di)
8042 _mm_setzero_si128 (),
8043 (__mmask8) -1);
8044 }
8045
8046 extern __inline __m128i
8047 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8048 _mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
8049 __m128i __B)
8050 {
8051 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8052 (__v2di) __B,
8053 (__v2di) __W, __M);
8054 }
8055
8056 extern __inline __m128i
8057 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu64(__m128i __A,__m128i __B)8058 _mm_min_epu64 (__m128i __A, __m128i __B)
8059 {
8060 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8061 (__v2di) __B,
8062 (__v2di)
8063 _mm_setzero_si128 (),
8064 (__mmask8) -1);
8065 }
8066
8067 extern __inline __m128i
8068 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8069 _mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
8070 __m128i __B)
8071 {
8072 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8073 (__v2di) __B,
8074 (__v2di) __W, __M);
8075 }
8076
8077 extern __inline __m128i
8078 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu64(__mmask8 __M,__m128i __A,__m128i __B)8079 _mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
8080 {
8081 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8082 (__v2di) __B,
8083 (__v2di)
8084 _mm_setzero_si128 (),
8085 __M);
8086 }
8087
8088 extern __inline __m128i
8089 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi32(__mmask8 __M,__m128i __A,__m128i __B)8090 _mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
8091 {
8092 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
8093 (__v4si) __B,
8094 (__v4si)
8095 _mm_setzero_si128 (),
8096 __M);
8097 }
8098
8099 extern __inline __m128i
8100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8101 _mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
8102 __m128i __B)
8103 {
8104 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
8105 (__v4si) __B,
8106 (__v4si) __W, __M);
8107 }
8108
8109 extern __inline __m128i
8110 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi32(__mmask8 __M,__m128i __A,__m128i __B)8111 _mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
8112 {
8113 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
8114 (__v4si) __B,
8115 (__v4si)
8116 _mm_setzero_si128 (),
8117 __M);
8118 }
8119
8120 extern __inline __m128i
8121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8122 _mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
8123 __m128i __B)
8124 {
8125 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
8126 (__v4si) __B,
8127 (__v4si) __W, __M);
8128 }
8129
8130 extern __inline __m128i
8131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu32(__mmask8 __M,__m128i __A,__m128i __B)8132 _mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
8133 {
8134 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
8135 (__v4si) __B,
8136 (__v4si)
8137 _mm_setzero_si128 (),
8138 __M);
8139 }
8140
8141 extern __inline __m128i
8142 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8143 _mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
8144 __m128i __B)
8145 {
8146 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
8147 (__v4si) __B,
8148 (__v4si) __W, __M);
8149 }
8150
8151 extern __inline __m128i
8152 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu32(__mmask8 __M,__m128i __A,__m128i __B)8153 _mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
8154 {
8155 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
8156 (__v4si) __B,
8157 (__v4si)
8158 _mm_setzero_si128 (),
8159 __M);
8160 }
8161
8162 extern __inline __m128i
8163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8164 _mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
8165 __m128i __B)
8166 {
8167 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
8168 (__v4si) __B,
8169 (__v4si) __W, __M);
8170 }
8171
8172 #ifndef __AVX512CD__
8173 #pragma GCC push_options
8174 #pragma GCC target("avx512vl,avx512cd")
8175 #define __DISABLE_AVX512VLCD__
8176 #endif
8177
8178 extern __inline __m128i
8179 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmb_epi64(__mmask8 __A)8180 _mm_broadcastmb_epi64 (__mmask8 __A)
8181 {
8182 return (__m128i) __builtin_ia32_broadcastmb128 (__A);
8183 }
8184
8185 extern __inline __m256i
8186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmb_epi64(__mmask8 __A)8187 _mm256_broadcastmb_epi64 (__mmask8 __A)
8188 {
8189 return (__m256i) __builtin_ia32_broadcastmb256 (__A);
8190 }
8191
8192 extern __inline __m128i
8193 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmw_epi32(__mmask16 __A)8194 _mm_broadcastmw_epi32 (__mmask16 __A)
8195 {
8196 return (__m128i) __builtin_ia32_broadcastmw128 (__A);
8197 }
8198
8199 extern __inline __m256i
8200 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmw_epi32(__mmask16 __A)8201 _mm256_broadcastmw_epi32 (__mmask16 __A)
8202 {
8203 return (__m256i) __builtin_ia32_broadcastmw256 (__A);
8204 }
8205
8206 extern __inline __m256i
8207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi32(__m256i __A)8208 _mm256_lzcnt_epi32 (__m256i __A)
8209 {
8210 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8211 (__v8si)
8212 _mm256_setzero_si256 (),
8213 (__mmask8) -1);
8214 }
8215
8216 extern __inline __m256i
8217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi32(__m256i __W,__mmask8 __U,__m256i __A)8218 _mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
8219 {
8220 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8221 (__v8si) __W,
8222 (__mmask8) __U);
8223 }
8224
8225 extern __inline __m256i
8226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi32(__mmask8 __U,__m256i __A)8227 _mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A)
8228 {
8229 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8230 (__v8si)
8231 _mm256_setzero_si256 (),
8232 (__mmask8) __U);
8233 }
8234
8235 extern __inline __m256i
8236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi64(__m256i __A)8237 _mm256_lzcnt_epi64 (__m256i __A)
8238 {
8239 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8240 (__v4di)
8241 _mm256_setzero_si256 (),
8242 (__mmask8) -1);
8243 }
8244
8245 extern __inline __m256i
8246 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi64(__m256i __W,__mmask8 __U,__m256i __A)8247 _mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
8248 {
8249 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8250 (__v4di) __W,
8251 (__mmask8) __U);
8252 }
8253
8254 extern __inline __m256i
8255 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi64(__mmask8 __U,__m256i __A)8256 _mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A)
8257 {
8258 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8259 (__v4di)
8260 _mm256_setzero_si256 (),
8261 (__mmask8) __U);
8262 }
8263
8264 extern __inline __m256i
8265 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi64(__m256i __A)8266 _mm256_conflict_epi64 (__m256i __A)
8267 {
8268 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8269 (__v4di)
8270 _mm256_setzero_si256 (),
8271 (__mmask8) -1);
8272 }
8273
8274 extern __inline __m256i
8275 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi64(__m256i __W,__mmask8 __U,__m256i __A)8276 _mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
8277 {
8278 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8279 (__v4di) __W,
8280 (__mmask8)
8281 __U);
8282 }
8283
8284 extern __inline __m256i
8285 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi64(__mmask8 __U,__m256i __A)8286 _mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A)
8287 {
8288 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8289 (__v4di)
8290 _mm256_setzero_si256 (),
8291 (__mmask8)
8292 __U);
8293 }
8294
8295 extern __inline __m256i
8296 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi32(__m256i __A)8297 _mm256_conflict_epi32 (__m256i __A)
8298 {
8299 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8300 (__v8si)
8301 _mm256_setzero_si256 (),
8302 (__mmask8) -1);
8303 }
8304
8305 extern __inline __m256i
8306 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi32(__m256i __W,__mmask8 __U,__m256i __A)8307 _mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
8308 {
8309 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8310 (__v8si) __W,
8311 (__mmask8)
8312 __U);
8313 }
8314
8315 extern __inline __m256i
8316 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi32(__mmask8 __U,__m256i __A)8317 _mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A)
8318 {
8319 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8320 (__v8si)
8321 _mm256_setzero_si256 (),
8322 (__mmask8)
8323 __U);
8324 }
8325
8326 extern __inline __m128i
8327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi32(__m128i __A)8328 _mm_lzcnt_epi32 (__m128i __A)
8329 {
8330 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8331 (__v4si)
8332 _mm_setzero_si128 (),
8333 (__mmask8) -1);
8334 }
8335
8336 extern __inline __m128i
8337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi32(__m128i __W,__mmask8 __U,__m128i __A)8338 _mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
8339 {
8340 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8341 (__v4si) __W,
8342 (__mmask8) __U);
8343 }
8344
8345 extern __inline __m128i
8346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi32(__mmask8 __U,__m128i __A)8347 _mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A)
8348 {
8349 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8350 (__v4si)
8351 _mm_setzero_si128 (),
8352 (__mmask8) __U);
8353 }
8354
8355 extern __inline __m128i
8356 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi64(__m128i __A)8357 _mm_lzcnt_epi64 (__m128i __A)
8358 {
8359 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8360 (__v2di)
8361 _mm_setzero_si128 (),
8362 (__mmask8) -1);
8363 }
8364
8365 extern __inline __m128i
8366 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi64(__m128i __W,__mmask8 __U,__m128i __A)8367 _mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
8368 {
8369 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8370 (__v2di) __W,
8371 (__mmask8) __U);
8372 }
8373
8374 extern __inline __m128i
8375 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi64(__mmask8 __U,__m128i __A)8376 _mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A)
8377 {
8378 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8379 (__v2di)
8380 _mm_setzero_si128 (),
8381 (__mmask8) __U);
8382 }
8383
8384 extern __inline __m128i
8385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi64(__m128i __A)8386 _mm_conflict_epi64 (__m128i __A)
8387 {
8388 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8389 (__v2di)
8390 _mm_setzero_si128 (),
8391 (__mmask8) -1);
8392 }
8393
8394 extern __inline __m128i
8395 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi64(__m128i __W,__mmask8 __U,__m128i __A)8396 _mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
8397 {
8398 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8399 (__v2di) __W,
8400 (__mmask8)
8401 __U);
8402 }
8403
8404 extern __inline __m128i
8405 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi64(__mmask8 __U,__m128i __A)8406 _mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A)
8407 {
8408 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8409 (__v2di)
8410 _mm_setzero_si128 (),
8411 (__mmask8)
8412 __U);
8413 }
8414
8415 extern __inline __m128i
8416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi32(__m128i __A)8417 _mm_conflict_epi32 (__m128i __A)
8418 {
8419 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8420 (__v4si)
8421 _mm_setzero_si128 (),
8422 (__mmask8) -1);
8423 }
8424
8425 extern __inline __m128i
8426 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi32(__m128i __W,__mmask8 __U,__m128i __A)8427 _mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
8428 {
8429 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8430 (__v4si) __W,
8431 (__mmask8)
8432 __U);
8433 }
8434
8435 extern __inline __m128i
8436 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi32(__mmask8 __U,__m128i __A)8437 _mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A)
8438 {
8439 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8440 (__v4si)
8441 _mm_setzero_si128 (),
8442 (__mmask8)
8443 __U);
8444 }
8445
8446 #ifdef __DISABLE_AVX512VLCD__
8447 #pragma GCC pop_options
8448 #endif
8449
8450 extern __inline __m256d
8451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)8452 _mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A,
8453 __m256d __B)
8454 {
8455 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
8456 (__v4df) __B,
8457 (__v4df) __W,
8458 (__mmask8) __U);
8459 }
8460
8461 extern __inline __m256d
8462 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_pd(__mmask8 __U,__m256d __A,__m256d __B)8463 _mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B)
8464 {
8465 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
8466 (__v4df) __B,
8467 (__v4df)
8468 _mm256_setzero_pd (),
8469 (__mmask8) __U);
8470 }
8471
8472 extern __inline __m128d
8473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)8474 _mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A,
8475 __m128d __B)
8476 {
8477 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
8478 (__v2df) __B,
8479 (__v2df) __W,
8480 (__mmask8) __U);
8481 }
8482
8483 extern __inline __m128d
8484 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_pd(__mmask8 __U,__m128d __A,__m128d __B)8485 _mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B)
8486 {
8487 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
8488 (__v2df) __B,
8489 (__v2df)
8490 _mm_setzero_pd (),
8491 (__mmask8) __U);
8492 }
8493
8494 extern __inline __m256
8495 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)8496 _mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A,
8497 __m256 __B)
8498 {
8499 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
8500 (__v8sf) __B,
8501 (__v8sf) __W,
8502 (__mmask8) __U);
8503 }
8504
8505 extern __inline __m256d
8506 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)8507 _mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A,
8508 __m256d __B)
8509 {
8510 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
8511 (__v4df) __B,
8512 (__v4df) __W,
8513 (__mmask8) __U);
8514 }
8515
8516 extern __inline __m256d
8517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_pd(__mmask8 __U,__m256d __A,__m256d __B)8518 _mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B)
8519 {
8520 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
8521 (__v4df) __B,
8522 (__v4df)
8523 _mm256_setzero_pd (),
8524 (__mmask8) __U);
8525 }
8526
8527 extern __inline __m128d
8528 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)8529 _mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A,
8530 __m128d __B)
8531 {
8532 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
8533 (__v2df) __B,
8534 (__v2df) __W,
8535 (__mmask8) __U);
8536 }
8537
8538 extern __inline __m128d
8539 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_pd(__mmask8 __U,__m128d __A,__m128d __B)8540 _mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B)
8541 {
8542 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
8543 (__v2df) __B,
8544 (__v2df)
8545 _mm_setzero_pd (),
8546 (__mmask8) __U);
8547 }
8548
8549 extern __inline __m256
8550 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)8551 _mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A,
8552 __m256 __B)
8553 {
8554 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
8555 (__v8sf) __B,
8556 (__v8sf) __W,
8557 (__mmask8) __U);
8558 }
8559
8560 extern __inline __m256
8561 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_ps(__mmask8 __U,__m256 __A,__m256 __B)8562 _mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B)
8563 {
8564 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
8565 (__v8sf) __B,
8566 (__v8sf)
8567 _mm256_setzero_ps (),
8568 (__mmask8) __U);
8569 }
8570
8571 extern __inline __m128
8572 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)8573 _mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8574 {
8575 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
8576 (__v4sf) __B,
8577 (__v4sf) __W,
8578 (__mmask8) __U);
8579 }
8580
8581 extern __inline __m128
8582 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_ps(__mmask8 __U,__m128 __A,__m128 __B)8583 _mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B)
8584 {
8585 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
8586 (__v4sf) __B,
8587 (__v4sf)
8588 _mm_setzero_ps (),
8589 (__mmask8) __U);
8590 }
8591
8592 extern __inline __m128
8593 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtph_ps(__m128 __W,__mmask8 __U,__m128i __A)8594 _mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A)
8595 {
8596 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
8597 (__v4sf) __W,
8598 (__mmask8) __U);
8599 }
8600
8601 extern __inline __m128
8602 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtph_ps(__mmask8 __U,__m128i __A)8603 _mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
8604 {
8605 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
8606 (__v4sf)
8607 _mm_setzero_ps (),
8608 (__mmask8) __U);
8609 }
8610
8611 extern __inline __m256
8612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_ps(__mmask8 __U,__m256 __A,__m256 __B)8613 _mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B)
8614 {
8615 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
8616 (__v8sf) __B,
8617 (__v8sf)
8618 _mm256_setzero_ps (),
8619 (__mmask8) __U);
8620 }
8621
8622 extern __inline __m256
8623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtph_ps(__m256 __W,__mmask8 __U,__m128i __A)8624 _mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A)
8625 {
8626 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
8627 (__v8sf) __W,
8628 (__mmask8) __U);
8629 }
8630
8631 extern __inline __m256
8632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtph_ps(__mmask8 __U,__m128i __A)8633 _mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
8634 {
8635 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
8636 (__v8sf)
8637 _mm256_setzero_ps (),
8638 (__mmask8) __U);
8639 }
8640
8641 extern __inline __m128
8642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)8643 _mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8644 {
8645 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
8646 (__v4sf) __B,
8647 (__v4sf) __W,
8648 (__mmask8) __U);
8649 }
8650
8651 extern __inline __m128
8652 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_ps(__mmask8 __U,__m128 __A,__m128 __B)8653 _mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B)
8654 {
8655 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
8656 (__v4sf) __B,
8657 (__v4sf)
8658 _mm_setzero_ps (),
8659 (__mmask8) __U);
8660 }
8661
8662 extern __inline __m256i
8663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8664 _mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
8665 __m128i __B)
8666 {
8667 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
8668 (__v4si) __B,
8669 (__v8si) __W,
8670 (__mmask8) __U);
8671 }
8672
8673 extern __inline __m256i
8674 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi32(__mmask8 __U,__m256i __A,__m128i __B)8675 _mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
8676 {
8677 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
8678 (__v4si) __B,
8679 (__v8si)
8680 _mm256_setzero_si256 (),
8681 (__mmask8) __U);
8682 }
8683
8684 extern __inline __m128i
8685 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8686 _mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
8687 __m128i __B)
8688 {
8689 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
8690 (__v4si) __B,
8691 (__v4si) __W,
8692 (__mmask8) __U);
8693 }
8694
8695 extern __inline __m128i
8696 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi32(__mmask8 __U,__m128i __A,__m128i __B)8697 _mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
8698 {
8699 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
8700 (__v4si) __B,
8701 (__v4si)
8702 _mm_setzero_si128 (),
8703 (__mmask8) __U);
8704 }
8705
8706 extern __inline __m256i
8707 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sra_epi64(__m256i __A,__m128i __B)8708 _mm256_sra_epi64 (__m256i __A, __m128i __B)
8709 {
8710 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8711 (__v2di) __B,
8712 (__v4di)
8713 _mm256_setzero_si256 (),
8714 (__mmask8) -1);
8715 }
8716
8717 extern __inline __m256i
8718 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8719 _mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
8720 __m128i __B)
8721 {
8722 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8723 (__v2di) __B,
8724 (__v4di) __W,
8725 (__mmask8) __U);
8726 }
8727
8728 extern __inline __m256i
8729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi64(__mmask8 __U,__m256i __A,__m128i __B)8730 _mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
8731 {
8732 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8733 (__v2di) __B,
8734 (__v4di)
8735 _mm256_setzero_si256 (),
8736 (__mmask8) __U);
8737 }
8738
8739 extern __inline __m128i
8740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi64(__m128i __A,__m128i __B)8741 _mm_sra_epi64 (__m128i __A, __m128i __B)
8742 {
8743 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8744 (__v2di) __B,
8745 (__v2di)
8746 _mm_setzero_si128 (),
8747 (__mmask8) -1);
8748 }
8749
8750 extern __inline __m128i
8751 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8752 _mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
8753 __m128i __B)
8754 {
8755 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8756 (__v2di) __B,
8757 (__v2di) __W,
8758 (__mmask8) __U);
8759 }
8760
8761 extern __inline __m128i
8762 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi64(__mmask8 __U,__m128i __A,__m128i __B)8763 _mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
8764 {
8765 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8766 (__v2di) __B,
8767 (__v2di)
8768 _mm_setzero_si128 (),
8769 (__mmask8) __U);
8770 }
8771
8772 extern __inline __m128i
8773 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8774 _mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
8775 __m128i __B)
8776 {
8777 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
8778 (__v4si) __B,
8779 (__v4si) __W,
8780 (__mmask8) __U);
8781 }
8782
8783 extern __inline __m128i
8784 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi32(__mmask8 __U,__m128i __A,__m128i __B)8785 _mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
8786 {
8787 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
8788 (__v4si) __B,
8789 (__v4si)
8790 _mm_setzero_si128 (),
8791 (__mmask8) __U);
8792 }
8793
8794 extern __inline __m128i
8795 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8796 _mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
8797 __m128i __B)
8798 {
8799 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
8800 (__v2di) __B,
8801 (__v2di) __W,
8802 (__mmask8) __U);
8803 }
8804
8805 extern __inline __m128i
8806 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi64(__mmask8 __U,__m128i __A,__m128i __B)8807 _mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
8808 {
8809 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
8810 (__v2di) __B,
8811 (__v2di)
8812 _mm_setzero_si128 (),
8813 (__mmask8) __U);
8814 }
8815
8816 extern __inline __m256i
8817 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8818 _mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
8819 __m128i __B)
8820 {
8821 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
8822 (__v4si) __B,
8823 (__v8si) __W,
8824 (__mmask8) __U);
8825 }
8826
8827 extern __inline __m256i
8828 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi32(__mmask8 __U,__m256i __A,__m128i __B)8829 _mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
8830 {
8831 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
8832 (__v4si) __B,
8833 (__v8si)
8834 _mm256_setzero_si256 (),
8835 (__mmask8) __U);
8836 }
8837
8838 extern __inline __m256i
8839 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8840 _mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
8841 __m128i __B)
8842 {
8843 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
8844 (__v2di) __B,
8845 (__v4di) __W,
8846 (__mmask8) __U);
8847 }
8848
8849 extern __inline __m256i
8850 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi64(__mmask8 __U,__m256i __A,__m128i __B)8851 _mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
8852 {
8853 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
8854 (__v2di) __B,
8855 (__v4di)
8856 _mm256_setzero_si256 (),
8857 (__mmask8) __U);
8858 }
8859
8860 extern __inline __m256
8861 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_ps(__m256 __W,__mmask8 __U,__m256i __X,__m256 __Y)8862 _mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X,
8863 __m256 __Y)
8864 {
8865 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8866 (__v8si) __X,
8867 (__v8sf) __W,
8868 (__mmask8) __U);
8869 }
8870
8871 extern __inline __m256
8872 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_ps(__mmask8 __U,__m256i __X,__m256 __Y)8873 _mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y)
8874 {
8875 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8876 (__v8si) __X,
8877 (__v8sf)
8878 _mm256_setzero_ps (),
8879 (__mmask8) __U);
8880 }
8881
8882 extern __inline __m256d
8883 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_pd(__m256i __X,__m256d __Y)8884 _mm256_permutexvar_pd (__m256i __X, __m256d __Y)
8885 {
8886 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8887 (__v4di) __X,
8888 (__v4df)
8889 _mm256_setzero_pd (),
8890 (__mmask8) -1);
8891 }
8892
8893 extern __inline __m256d
8894 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_pd(__m256d __W,__mmask8 __U,__m256i __X,__m256d __Y)8895 _mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
8896 __m256d __Y)
8897 {
8898 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8899 (__v4di) __X,
8900 (__v4df) __W,
8901 (__mmask8) __U);
8902 }
8903
8904 extern __inline __m256d
8905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_pd(__mmask8 __U,__m256i __X,__m256d __Y)8906 _mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
8907 {
8908 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8909 (__v4di) __X,
8910 (__v4df)
8911 _mm256_setzero_pd (),
8912 (__mmask8) __U);
8913 }
8914
8915 extern __inline __m256d
8916 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256i __C)8917 _mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A,
8918 __m256i __C)
8919 {
8920 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
8921 (__v4di) __C,
8922 (__v4df) __W,
8923 (__mmask8)
8924 __U);
8925 }
8926
8927 extern __inline __m256d
8928 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_pd(__mmask8 __U,__m256d __A,__m256i __C)8929 _mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C)
8930 {
8931 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
8932 (__v4di) __C,
8933 (__v4df)
8934 _mm256_setzero_pd (),
8935 (__mmask8)
8936 __U);
8937 }
8938
8939 extern __inline __m256
8940 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256i __C)8941 _mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A,
8942 __m256i __C)
8943 {
8944 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
8945 (__v8si) __C,
8946 (__v8sf) __W,
8947 (__mmask8) __U);
8948 }
8949
8950 extern __inline __m256
8951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_ps(__mmask8 __U,__m256 __A,__m256i __C)8952 _mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C)
8953 {
8954 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
8955 (__v8si) __C,
8956 (__v8sf)
8957 _mm256_setzero_ps (),
8958 (__mmask8) __U);
8959 }
8960
8961 extern __inline __m128d
8962 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128i __C)8963 _mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A,
8964 __m128i __C)
8965 {
8966 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
8967 (__v2di) __C,
8968 (__v2df) __W,
8969 (__mmask8) __U);
8970 }
8971
8972 extern __inline __m128d
8973 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_pd(__mmask8 __U,__m128d __A,__m128i __C)8974 _mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C)
8975 {
8976 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
8977 (__v2di) __C,
8978 (__v2df)
8979 _mm_setzero_pd (),
8980 (__mmask8) __U);
8981 }
8982
8983 extern __inline __m128
8984 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128i __C)8985 _mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A,
8986 __m128i __C)
8987 {
8988 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
8989 (__v4si) __C,
8990 (__v4sf) __W,
8991 (__mmask8) __U);
8992 }
8993
8994 extern __inline __m128
8995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_ps(__mmask8 __U,__m128 __A,__m128i __C)8996 _mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C)
8997 {
8998 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
8999 (__v4si) __C,
9000 (__v4sf)
9001 _mm_setzero_ps (),
9002 (__mmask8) __U);
9003 }
9004
9005 extern __inline __m256i
9006 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mullo_epi32(__mmask8 __M,__m256i __A,__m256i __B)9007 _mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
9008 {
9009 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
9010 (__v8si) __B,
9011 (__v8si)
9012 _mm256_setzero_si256 (),
9013 __M);
9014 }
9015
9016 extern __inline __m256i
9017 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi64(__mmask8 __M,__m256i __X,__m256i __Y)9018 _mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
9019 {
9020 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9021 (__v4di) __X,
9022 (__v4di)
9023 _mm256_setzero_si256 (),
9024 __M);
9025 }
9026
9027 extern __inline __m256i
9028 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mullo_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)9029 _mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
9030 __m256i __B)
9031 {
9032 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
9033 (__v8si) __B,
9034 (__v8si) __W, __M);
9035 }
9036
9037 extern __inline __m128i
9038 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mullo_epi32(__mmask8 __M,__m128i __A,__m128i __B)9039 _mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
9040 {
9041 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
9042 (__v4si) __B,
9043 (__v4si)
9044 _mm_setzero_si128 (),
9045 __M);
9046 }
9047
9048 extern __inline __m128i
9049 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mullo_epi32(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)9050 _mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
9051 __m128i __B)
9052 {
9053 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
9054 (__v4si) __B,
9055 (__v4si) __W, __M);
9056 }
9057
9058 extern __inline __m256i
9059 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9060 _mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
9061 __m256i __Y)
9062 {
9063 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
9064 (__v8si) __Y,
9065 (__v4di) __W, __M);
9066 }
9067
9068 extern __inline __m256i
9069 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epi32(__mmask8 __M,__m256i __X,__m256i __Y)9070 _mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
9071 {
9072 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
9073 (__v8si) __Y,
9074 (__v4di)
9075 _mm256_setzero_si256 (),
9076 __M);
9077 }
9078
9079 extern __inline __m128i
9080 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epi32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)9081 _mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
9082 __m128i __Y)
9083 {
9084 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
9085 (__v4si) __Y,
9086 (__v2di) __W, __M);
9087 }
9088
9089 extern __inline __m128i
9090 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epi32(__mmask8 __M,__m128i __X,__m128i __Y)9091 _mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
9092 {
9093 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
9094 (__v4si) __Y,
9095 (__v2di)
9096 _mm_setzero_si128 (),
9097 __M);
9098 }
9099
9100 extern __inline __m256i
9101 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi64(__m256i __X,__m256i __Y)9102 _mm256_permutexvar_epi64 (__m256i __X, __m256i __Y)
9103 {
9104 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9105 (__v4di) __X,
9106 (__v4di)
9107 _mm256_setzero_si256 (),
9108 (__mmask8) -1);
9109 }
9110
9111 extern __inline __m256i
9112 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi64(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9113 _mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
9114 __m256i __Y)
9115 {
9116 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9117 (__v4di) __X,
9118 (__v4di) __W,
9119 __M);
9120 }
9121
9122 extern __inline __m256i
9123 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epu32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9124 _mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
9125 __m256i __Y)
9126 {
9127 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
9128 (__v8si) __Y,
9129 (__v4di) __W, __M);
9130 }
9131
9132 extern __inline __m256i
9133 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi32(__mmask8 __M,__m256i __X,__m256i __Y)9134 _mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
9135 {
9136 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9137 (__v8si) __X,
9138 (__v8si)
9139 _mm256_setzero_si256 (),
9140 __M);
9141 }
9142
9143 extern __inline __m256i
9144 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epu32(__mmask8 __M,__m256i __X,__m256i __Y)9145 _mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
9146 {
9147 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
9148 (__v8si) __Y,
9149 (__v4di)
9150 _mm256_setzero_si256 (),
9151 __M);
9152 }
9153
9154 extern __inline __m128i
9155 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epu32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)9156 _mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
9157 __m128i __Y)
9158 {
9159 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
9160 (__v4si) __Y,
9161 (__v2di) __W, __M);
9162 }
9163
9164 extern __inline __m128i
9165 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epu32(__mmask8 __M,__m128i __X,__m128i __Y)9166 _mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
9167 {
9168 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
9169 (__v4si) __Y,
9170 (__v2di)
9171 _mm_setzero_si128 (),
9172 __M);
9173 }
9174
9175 extern __inline __m256i
9176 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi32(__m256i __X,__m256i __Y)9177 _mm256_permutexvar_epi32 (__m256i __X, __m256i __Y)
9178 {
9179 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9180 (__v8si) __X,
9181 (__v8si)
9182 _mm256_setzero_si256 (),
9183 (__mmask8) -1);
9184 }
9185
9186 extern __inline __m256i
9187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9188 _mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
9189 __m256i __Y)
9190 {
9191 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9192 (__v8si) __X,
9193 (__v8si) __W,
9194 __M);
9195 }
9196
9197 extern __inline __mmask8
9198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9199 _mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9200 {
9201 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9202 (__v8si) __Y, 4,
9203 (__mmask8) __M);
9204 }
9205
9206 extern __inline __mmask8
9207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu32_mask(__m256i __X,__m256i __Y)9208 _mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y)
9209 {
9210 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9211 (__v8si) __Y, 4,
9212 (__mmask8) -1);
9213 }
9214
9215 extern __inline __mmask8
9216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9217 _mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9218 {
9219 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9220 (__v8si) __Y, 1,
9221 (__mmask8) __M);
9222 }
9223
9224 extern __inline __mmask8
9225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu32_mask(__m256i __X,__m256i __Y)9226 _mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y)
9227 {
9228 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9229 (__v8si) __Y, 1,
9230 (__mmask8) -1);
9231 }
9232
9233 extern __inline __mmask8
9234 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9235 _mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9236 {
9237 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9238 (__v8si) __Y, 5,
9239 (__mmask8) __M);
9240 }
9241
9242 extern __inline __mmask8
9243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu32_mask(__m256i __X,__m256i __Y)9244 _mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y)
9245 {
9246 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9247 (__v8si) __Y, 5,
9248 (__mmask8) -1);
9249 }
9250
9251 extern __inline __mmask8
9252 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9253 _mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9254 {
9255 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9256 (__v8si) __Y, 2,
9257 (__mmask8) __M);
9258 }
9259
9260 extern __inline __mmask8
9261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu32_mask(__m256i __X,__m256i __Y)9262 _mm256_cmple_epu32_mask (__m256i __X, __m256i __Y)
9263 {
9264 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9265 (__v8si) __Y, 2,
9266 (__mmask8) -1);
9267 }
9268
9269 extern __inline __mmask8
9270 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9271 _mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9272 {
9273 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9274 (__v4di) __Y, 4,
9275 (__mmask8) __M);
9276 }
9277
9278 extern __inline __mmask8
9279 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu64_mask(__m256i __X,__m256i __Y)9280 _mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y)
9281 {
9282 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9283 (__v4di) __Y, 4,
9284 (__mmask8) -1);
9285 }
9286
9287 extern __inline __mmask8
9288 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9289 _mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9290 {
9291 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9292 (__v4di) __Y, 1,
9293 (__mmask8) __M);
9294 }
9295
9296 extern __inline __mmask8
9297 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu64_mask(__m256i __X,__m256i __Y)9298 _mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y)
9299 {
9300 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9301 (__v4di) __Y, 1,
9302 (__mmask8) -1);
9303 }
9304
9305 extern __inline __mmask8
9306 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9307 _mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9308 {
9309 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9310 (__v4di) __Y, 5,
9311 (__mmask8) __M);
9312 }
9313
9314 extern __inline __mmask8
9315 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu64_mask(__m256i __X,__m256i __Y)9316 _mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y)
9317 {
9318 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9319 (__v4di) __Y, 5,
9320 (__mmask8) -1);
9321 }
9322
9323 extern __inline __mmask8
9324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9325 _mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9326 {
9327 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9328 (__v4di) __Y, 2,
9329 (__mmask8) __M);
9330 }
9331
9332 extern __inline __mmask8
9333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu64_mask(__m256i __X,__m256i __Y)9334 _mm256_cmple_epu64_mask (__m256i __X, __m256i __Y)
9335 {
9336 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9337 (__v4di) __Y, 2,
9338 (__mmask8) -1);
9339 }
9340
9341 extern __inline __mmask8
9342 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9343 _mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9344 {
9345 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9346 (__v8si) __Y, 4,
9347 (__mmask8) __M);
9348 }
9349
9350 extern __inline __mmask8
9351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi32_mask(__m256i __X,__m256i __Y)9352 _mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y)
9353 {
9354 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9355 (__v8si) __Y, 4,
9356 (__mmask8) -1);
9357 }
9358
9359 extern __inline __mmask8
9360 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9361 _mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9362 {
9363 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9364 (__v8si) __Y, 1,
9365 (__mmask8) __M);
9366 }
9367
9368 extern __inline __mmask8
9369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi32_mask(__m256i __X,__m256i __Y)9370 _mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y)
9371 {
9372 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9373 (__v8si) __Y, 1,
9374 (__mmask8) -1);
9375 }
9376
9377 extern __inline __mmask8
9378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9379 _mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9380 {
9381 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9382 (__v8si) __Y, 5,
9383 (__mmask8) __M);
9384 }
9385
9386 extern __inline __mmask8
9387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi32_mask(__m256i __X,__m256i __Y)9388 _mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y)
9389 {
9390 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9391 (__v8si) __Y, 5,
9392 (__mmask8) -1);
9393 }
9394
9395 extern __inline __mmask8
9396 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9397 _mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9398 {
9399 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9400 (__v8si) __Y, 2,
9401 (__mmask8) __M);
9402 }
9403
9404 extern __inline __mmask8
9405 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi32_mask(__m256i __X,__m256i __Y)9406 _mm256_cmple_epi32_mask (__m256i __X, __m256i __Y)
9407 {
9408 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9409 (__v8si) __Y, 2,
9410 (__mmask8) -1);
9411 }
9412
9413 extern __inline __mmask8
9414 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9415 _mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9416 {
9417 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9418 (__v4di) __Y, 4,
9419 (__mmask8) __M);
9420 }
9421
9422 extern __inline __mmask8
9423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi64_mask(__m256i __X,__m256i __Y)9424 _mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y)
9425 {
9426 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9427 (__v4di) __Y, 4,
9428 (__mmask8) -1);
9429 }
9430
9431 extern __inline __mmask8
9432 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9433 _mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9434 {
9435 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9436 (__v4di) __Y, 1,
9437 (__mmask8) __M);
9438 }
9439
9440 extern __inline __mmask8
9441 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi64_mask(__m256i __X,__m256i __Y)9442 _mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y)
9443 {
9444 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9445 (__v4di) __Y, 1,
9446 (__mmask8) -1);
9447 }
9448
9449 extern __inline __mmask8
9450 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9451 _mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9452 {
9453 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9454 (__v4di) __Y, 5,
9455 (__mmask8) __M);
9456 }
9457
9458 extern __inline __mmask8
9459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi64_mask(__m256i __X,__m256i __Y)9460 _mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y)
9461 {
9462 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9463 (__v4di) __Y, 5,
9464 (__mmask8) -1);
9465 }
9466
9467 extern __inline __mmask8
9468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9469 _mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9470 {
9471 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9472 (__v4di) __Y, 2,
9473 (__mmask8) __M);
9474 }
9475
9476 extern __inline __mmask8
9477 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi64_mask(__m256i __X,__m256i __Y)9478 _mm256_cmple_epi64_mask (__m256i __X, __m256i __Y)
9479 {
9480 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9481 (__v4di) __Y, 2,
9482 (__mmask8) -1);
9483 }
9484
9485 extern __inline __mmask8
9486 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9487 _mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9488 {
9489 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9490 (__v4si) __Y, 4,
9491 (__mmask8) __M);
9492 }
9493
9494 extern __inline __mmask8
9495 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu32_mask(__m128i __X,__m128i __Y)9496 _mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y)
9497 {
9498 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9499 (__v4si) __Y, 4,
9500 (__mmask8) -1);
9501 }
9502
9503 extern __inline __mmask8
9504 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9505 _mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9506 {
9507 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9508 (__v4si) __Y, 1,
9509 (__mmask8) __M);
9510 }
9511
9512 extern __inline __mmask8
9513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu32_mask(__m128i __X,__m128i __Y)9514 _mm_cmplt_epu32_mask (__m128i __X, __m128i __Y)
9515 {
9516 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9517 (__v4si) __Y, 1,
9518 (__mmask8) -1);
9519 }
9520
9521 extern __inline __mmask8
9522 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9523 _mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9524 {
9525 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9526 (__v4si) __Y, 5,
9527 (__mmask8) __M);
9528 }
9529
9530 extern __inline __mmask8
9531 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu32_mask(__m128i __X,__m128i __Y)9532 _mm_cmpge_epu32_mask (__m128i __X, __m128i __Y)
9533 {
9534 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9535 (__v4si) __Y, 5,
9536 (__mmask8) -1);
9537 }
9538
9539 extern __inline __mmask8
9540 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9541 _mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9542 {
9543 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9544 (__v4si) __Y, 2,
9545 (__mmask8) __M);
9546 }
9547
9548 extern __inline __mmask8
9549 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu32_mask(__m128i __X,__m128i __Y)9550 _mm_cmple_epu32_mask (__m128i __X, __m128i __Y)
9551 {
9552 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9553 (__v4si) __Y, 2,
9554 (__mmask8) -1);
9555 }
9556
9557 extern __inline __mmask8
9558 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9559 _mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9560 {
9561 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9562 (__v2di) __Y, 4,
9563 (__mmask8) __M);
9564 }
9565
9566 extern __inline __mmask8
9567 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu64_mask(__m128i __X,__m128i __Y)9568 _mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y)
9569 {
9570 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9571 (__v2di) __Y, 4,
9572 (__mmask8) -1);
9573 }
9574
9575 extern __inline __mmask8
9576 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9577 _mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9578 {
9579 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9580 (__v2di) __Y, 1,
9581 (__mmask8) __M);
9582 }
9583
9584 extern __inline __mmask8
9585 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu64_mask(__m128i __X,__m128i __Y)9586 _mm_cmplt_epu64_mask (__m128i __X, __m128i __Y)
9587 {
9588 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9589 (__v2di) __Y, 1,
9590 (__mmask8) -1);
9591 }
9592
9593 extern __inline __mmask8
9594 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9595 _mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9596 {
9597 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9598 (__v2di) __Y, 5,
9599 (__mmask8) __M);
9600 }
9601
9602 extern __inline __mmask8
9603 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu64_mask(__m128i __X,__m128i __Y)9604 _mm_cmpge_epu64_mask (__m128i __X, __m128i __Y)
9605 {
9606 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9607 (__v2di) __Y, 5,
9608 (__mmask8) -1);
9609 }
9610
9611 extern __inline __mmask8
9612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9613 _mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9614 {
9615 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9616 (__v2di) __Y, 2,
9617 (__mmask8) __M);
9618 }
9619
9620 extern __inline __mmask8
9621 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu64_mask(__m128i __X,__m128i __Y)9622 _mm_cmple_epu64_mask (__m128i __X, __m128i __Y)
9623 {
9624 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9625 (__v2di) __Y, 2,
9626 (__mmask8) -1);
9627 }
9628
9629 extern __inline __mmask8
9630 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9631 _mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9632 {
9633 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9634 (__v4si) __Y, 4,
9635 (__mmask8) __M);
9636 }
9637
9638 extern __inline __mmask8
9639 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi32_mask(__m128i __X,__m128i __Y)9640 _mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y)
9641 {
9642 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9643 (__v4si) __Y, 4,
9644 (__mmask8) -1);
9645 }
9646
9647 extern __inline __mmask8
9648 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9649 _mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9650 {
9651 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9652 (__v4si) __Y, 1,
9653 (__mmask8) __M);
9654 }
9655
9656 extern __inline __mmask8
9657 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi32_mask(__m128i __X,__m128i __Y)9658 _mm_cmplt_epi32_mask (__m128i __X, __m128i __Y)
9659 {
9660 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9661 (__v4si) __Y, 1,
9662 (__mmask8) -1);
9663 }
9664
9665 extern __inline __mmask8
9666 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9667 _mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9668 {
9669 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9670 (__v4si) __Y, 5,
9671 (__mmask8) __M);
9672 }
9673
9674 extern __inline __mmask8
9675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi32_mask(__m128i __X,__m128i __Y)9676 _mm_cmpge_epi32_mask (__m128i __X, __m128i __Y)
9677 {
9678 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9679 (__v4si) __Y, 5,
9680 (__mmask8) -1);
9681 }
9682
9683 extern __inline __mmask8
9684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9685 _mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9686 {
9687 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9688 (__v4si) __Y, 2,
9689 (__mmask8) __M);
9690 }
9691
9692 extern __inline __mmask8
9693 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi32_mask(__m128i __X,__m128i __Y)9694 _mm_cmple_epi32_mask (__m128i __X, __m128i __Y)
9695 {
9696 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9697 (__v4si) __Y, 2,
9698 (__mmask8) -1);
9699 }
9700
9701 extern __inline __mmask8
9702 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9703 _mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9704 {
9705 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9706 (__v2di) __Y, 4,
9707 (__mmask8) __M);
9708 }
9709
9710 extern __inline __mmask8
9711 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi64_mask(__m128i __X,__m128i __Y)9712 _mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y)
9713 {
9714 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9715 (__v2di) __Y, 4,
9716 (__mmask8) -1);
9717 }
9718
9719 extern __inline __mmask8
9720 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9721 _mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9722 {
9723 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9724 (__v2di) __Y, 1,
9725 (__mmask8) __M);
9726 }
9727
9728 extern __inline __mmask8
9729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi64_mask(__m128i __X,__m128i __Y)9730 _mm_cmplt_epi64_mask (__m128i __X, __m128i __Y)
9731 {
9732 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9733 (__v2di) __Y, 1,
9734 (__mmask8) -1);
9735 }
9736
9737 extern __inline __mmask8
9738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9739 _mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9740 {
9741 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9742 (__v2di) __Y, 5,
9743 (__mmask8) __M);
9744 }
9745
9746 extern __inline __mmask8
9747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi64_mask(__m128i __X,__m128i __Y)9748 _mm_cmpge_epi64_mask (__m128i __X, __m128i __Y)
9749 {
9750 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9751 (__v2di) __Y, 5,
9752 (__mmask8) -1);
9753 }
9754
9755 extern __inline __mmask8
9756 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9757 _mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9758 {
9759 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9760 (__v2di) __Y, 2,
9761 (__mmask8) __M);
9762 }
9763
9764 extern __inline __mmask8
9765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi64_mask(__m128i __X,__m128i __Y)9766 _mm_cmple_epi64_mask (__m128i __X, __m128i __Y)
9767 {
9768 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9769 (__v2di) __Y, 2,
9770 (__mmask8) -1);
9771 }
9772
9773 #ifdef __OPTIMIZE__
9774 extern __inline __m256i
9775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex_epi64(__m256i __X,const int __I)9776 _mm256_permutex_epi64 (__m256i __X, const int __I)
9777 {
9778 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9779 __I,
9780 (__v4di)
9781 _mm256_setzero_si256(),
9782 (__mmask8) -1);
9783 }
9784
9785 extern __inline __m256i
9786 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex_epi64(__m256i __W,__mmask8 __M,__m256i __X,const int __I)9787 _mm256_mask_permutex_epi64 (__m256i __W, __mmask8 __M,
9788 __m256i __X, const int __I)
9789 {
9790 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9791 __I,
9792 (__v4di) __W,
9793 (__mmask8) __M);
9794 }
9795
9796 extern __inline __m256i
9797 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex_epi64(__mmask8 __M,__m256i __X,const int __I)9798 _mm256_maskz_permutex_epi64 (__mmask8 __M, __m256i __X, const int __I)
9799 {
9800 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9801 __I,
9802 (__v4di)
9803 _mm256_setzero_si256 (),
9804 (__mmask8) __M);
9805 }
9806
9807 extern __inline __m256d
9808 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B,const int __imm)9809 _mm256_mask_shuffle_pd (__m256d __W, __mmask8 __U, __m256d __A,
9810 __m256d __B, const int __imm)
9811 {
9812 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
9813 (__v4df) __B, __imm,
9814 (__v4df) __W,
9815 (__mmask8) __U);
9816 }
9817
9818 extern __inline __m256d
9819 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_pd(__mmask8 __U,__m256d __A,__m256d __B,const int __imm)9820 _mm256_maskz_shuffle_pd (__mmask8 __U, __m256d __A, __m256d __B,
9821 const int __imm)
9822 {
9823 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
9824 (__v4df) __B, __imm,
9825 (__v4df)
9826 _mm256_setzero_pd (),
9827 (__mmask8) __U);
9828 }
9829
9830 extern __inline __m128d
9831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B,const int __imm)9832 _mm_mask_shuffle_pd (__m128d __W, __mmask8 __U, __m128d __A,
9833 __m128d __B, const int __imm)
9834 {
9835 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
9836 (__v2df) __B, __imm,
9837 (__v2df) __W,
9838 (__mmask8) __U);
9839 }
9840
9841 extern __inline __m128d
9842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_pd(__mmask8 __U,__m128d __A,__m128d __B,const int __imm)9843 _mm_maskz_shuffle_pd (__mmask8 __U, __m128d __A, __m128d __B,
9844 const int __imm)
9845 {
9846 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
9847 (__v2df) __B, __imm,
9848 (__v2df)
9849 _mm_setzero_pd (),
9850 (__mmask8) __U);
9851 }
9852
9853 extern __inline __m256
9854 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B,const int __imm)9855 _mm256_mask_shuffle_ps (__m256 __W, __mmask8 __U, __m256 __A,
9856 __m256 __B, const int __imm)
9857 {
9858 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
9859 (__v8sf) __B, __imm,
9860 (__v8sf) __W,
9861 (__mmask8) __U);
9862 }
9863
9864 extern __inline __m256
9865 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_ps(__mmask8 __U,__m256 __A,__m256 __B,const int __imm)9866 _mm256_maskz_shuffle_ps (__mmask8 __U, __m256 __A, __m256 __B,
9867 const int __imm)
9868 {
9869 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
9870 (__v8sf) __B, __imm,
9871 (__v8sf)
9872 _mm256_setzero_ps (),
9873 (__mmask8) __U);
9874 }
9875
9876 extern __inline __m128
9877 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B,const int __imm)9878 _mm_mask_shuffle_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B,
9879 const int __imm)
9880 {
9881 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
9882 (__v4sf) __B, __imm,
9883 (__v4sf) __W,
9884 (__mmask8) __U);
9885 }
9886
9887 extern __inline __m128
9888 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_ps(__mmask8 __U,__m128 __A,__m128 __B,const int __imm)9889 _mm_maskz_shuffle_ps (__mmask8 __U, __m128 __A, __m128 __B,
9890 const int __imm)
9891 {
9892 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
9893 (__v4sf) __B, __imm,
9894 (__v4sf)
9895 _mm_setzero_ps (),
9896 (__mmask8) __U);
9897 }
9898
9899 extern __inline __m256i
9900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_inserti32x4(__m256i __A,__m128i __B,const int __imm)9901 _mm256_inserti32x4 (__m256i __A, __m128i __B, const int __imm)
9902 {
9903 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9904 (__v4si) __B,
9905 __imm,
9906 (__v8si)
9907 _mm256_setzero_si256 (),
9908 (__mmask8) -1);
9909 }
9910
9911 extern __inline __m256i
9912 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_inserti32x4(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B,const int __imm)9913 _mm256_mask_inserti32x4 (__m256i __W, __mmask8 __U, __m256i __A,
9914 __m128i __B, const int __imm)
9915 {
9916 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9917 (__v4si) __B,
9918 __imm,
9919 (__v8si) __W,
9920 (__mmask8)
9921 __U);
9922 }
9923
9924 extern __inline __m256i
9925 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_inserti32x4(__mmask8 __U,__m256i __A,__m128i __B,const int __imm)9926 _mm256_maskz_inserti32x4 (__mmask8 __U, __m256i __A, __m128i __B,
9927 const int __imm)
9928 {
9929 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9930 (__v4si) __B,
9931 __imm,
9932 (__v8si)
9933 _mm256_setzero_si256 (),
9934 (__mmask8)
9935 __U);
9936 }
9937
9938 extern __inline __m256
9939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_insertf32x4(__m256 __A,__m128 __B,const int __imm)9940 _mm256_insertf32x4 (__m256 __A, __m128 __B, const int __imm)
9941 {
9942 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
9943 (__v4sf) __B,
9944 __imm,
9945 (__v8sf)
9946 _mm256_setzero_ps (),
9947 (__mmask8) -1);
9948 }
9949
9950 extern __inline __m256
9951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_insertf32x4(__m256 __W,__mmask8 __U,__m256 __A,__m128 __B,const int __imm)9952 _mm256_mask_insertf32x4 (__m256 __W, __mmask8 __U, __m256 __A,
9953 __m128 __B, const int __imm)
9954 {
9955 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
9956 (__v4sf) __B,
9957 __imm,
9958 (__v8sf) __W,
9959 (__mmask8) __U);
9960 }
9961
9962 extern __inline __m256
9963 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_insertf32x4(__mmask8 __U,__m256 __A,__m128 __B,const int __imm)9964 _mm256_maskz_insertf32x4 (__mmask8 __U, __m256 __A, __m128 __B,
9965 const int __imm)
9966 {
9967 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
9968 (__v4sf) __B,
9969 __imm,
9970 (__v8sf)
9971 _mm256_setzero_ps (),
9972 (__mmask8) __U);
9973 }
9974
9975 extern __inline __m128i
9976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_extracti32x4_epi32(__m256i __A,const int __imm)9977 _mm256_extracti32x4_epi32 (__m256i __A, const int __imm)
9978 {
9979 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
9980 __imm,
9981 (__v4si)
9982 _mm_setzero_si128 (),
9983 (__mmask8) -1);
9984 }
9985
9986 extern __inline __m128i
9987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_extracti32x4_epi32(__m128i __W,__mmask8 __U,__m256i __A,const int __imm)9988 _mm256_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m256i __A,
9989 const int __imm)
9990 {
9991 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
9992 __imm,
9993 (__v4si) __W,
9994 (__mmask8)
9995 __U);
9996 }
9997
9998 extern __inline __m128i
9999 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_extracti32x4_epi32(__mmask8 __U,__m256i __A,const int __imm)10000 _mm256_maskz_extracti32x4_epi32 (__mmask8 __U, __m256i __A,
10001 const int __imm)
10002 {
10003 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
10004 __imm,
10005 (__v4si)
10006 _mm_setzero_si128 (),
10007 (__mmask8)
10008 __U);
10009 }
10010
10011 extern __inline __m128
10012 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_extractf32x4_ps(__m256 __A,const int __imm)10013 _mm256_extractf32x4_ps (__m256 __A, const int __imm)
10014 {
10015 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
10016 __imm,
10017 (__v4sf)
10018 _mm_setzero_ps (),
10019 (__mmask8) -1);
10020 }
10021
10022 extern __inline __m128
10023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_extractf32x4_ps(__m128 __W,__mmask8 __U,__m256 __A,const int __imm)10024 _mm256_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m256 __A,
10025 const int __imm)
10026 {
10027 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
10028 __imm,
10029 (__v4sf) __W,
10030 (__mmask8)
10031 __U);
10032 }
10033
10034 extern __inline __m128
10035 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_extractf32x4_ps(__mmask8 __U,__m256 __A,const int __imm)10036 _mm256_maskz_extractf32x4_ps (__mmask8 __U, __m256 __A,
10037 const int __imm)
10038 {
10039 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
10040 __imm,
10041 (__v4sf)
10042 _mm_setzero_ps (),
10043 (__mmask8)
10044 __U);
10045 }
10046
10047 extern __inline __m256i
10048 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_i64x2(__m256i __A,__m256i __B,const int __imm)10049 _mm256_shuffle_i64x2 (__m256i __A, __m256i __B, const int __imm)
10050 {
10051 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10052 (__v4di) __B,
10053 __imm,
10054 (__v4di)
10055 _mm256_setzero_si256 (),
10056 (__mmask8) -1);
10057 }
10058
10059 extern __inline __m256i
10060 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_i64x2(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10061 _mm256_mask_shuffle_i64x2 (__m256i __W, __mmask8 __U, __m256i __A,
10062 __m256i __B, const int __imm)
10063 {
10064 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10065 (__v4di) __B,
10066 __imm,
10067 (__v4di) __W,
10068 (__mmask8) __U);
10069 }
10070
10071 extern __inline __m256i
10072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_i64x2(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10073 _mm256_maskz_shuffle_i64x2 (__mmask8 __U, __m256i __A, __m256i __B,
10074 const int __imm)
10075 {
10076 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10077 (__v4di) __B,
10078 __imm,
10079 (__v4di)
10080 _mm256_setzero_si256 (),
10081 (__mmask8) __U);
10082 }
10083
10084 extern __inline __m256i
10085 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_i32x4(__m256i __A,__m256i __B,const int __imm)10086 _mm256_shuffle_i32x4 (__m256i __A, __m256i __B, const int __imm)
10087 {
10088 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10089 (__v8si) __B,
10090 __imm,
10091 (__v8si)
10092 _mm256_setzero_si256 (),
10093 (__mmask8) -1);
10094 }
10095
10096 extern __inline __m256i
10097 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_i32x4(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10098 _mm256_mask_shuffle_i32x4 (__m256i __W, __mmask8 __U, __m256i __A,
10099 __m256i __B, const int __imm)
10100 {
10101 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10102 (__v8si) __B,
10103 __imm,
10104 (__v8si) __W,
10105 (__mmask8) __U);
10106 }
10107
10108 extern __inline __m256i
10109 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_i32x4(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10110 _mm256_maskz_shuffle_i32x4 (__mmask8 __U, __m256i __A, __m256i __B,
10111 const int __imm)
10112 {
10113 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10114 (__v8si) __B,
10115 __imm,
10116 (__v8si)
10117 _mm256_setzero_si256 (),
10118 (__mmask8) __U);
10119 }
10120
10121 extern __inline __m256d
10122 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_f64x2(__m256d __A,__m256d __B,const int __imm)10123 _mm256_shuffle_f64x2 (__m256d __A, __m256d __B, const int __imm)
10124 {
10125 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10126 (__v4df) __B,
10127 __imm,
10128 (__v4df)
10129 _mm256_setzero_pd (),
10130 (__mmask8) -1);
10131 }
10132
10133 extern __inline __m256d
10134 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_f64x2(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B,const int __imm)10135 _mm256_mask_shuffle_f64x2 (__m256d __W, __mmask8 __U, __m256d __A,
10136 __m256d __B, const int __imm)
10137 {
10138 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10139 (__v4df) __B,
10140 __imm,
10141 (__v4df) __W,
10142 (__mmask8) __U);
10143 }
10144
10145 extern __inline __m256d
10146 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_f64x2(__mmask8 __U,__m256d __A,__m256d __B,const int __imm)10147 _mm256_maskz_shuffle_f64x2 (__mmask8 __U, __m256d __A, __m256d __B,
10148 const int __imm)
10149 {
10150 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10151 (__v4df) __B,
10152 __imm,
10153 (__v4df)
10154 _mm256_setzero_pd (),
10155 (__mmask8) __U);
10156 }
10157
10158 extern __inline __m256
10159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_f32x4(__m256 __A,__m256 __B,const int __imm)10160 _mm256_shuffle_f32x4 (__m256 __A, __m256 __B, const int __imm)
10161 {
10162 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10163 (__v8sf) __B,
10164 __imm,
10165 (__v8sf)
10166 _mm256_setzero_ps (),
10167 (__mmask8) -1);
10168 }
10169
10170 extern __inline __m256
10171 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_f32x4(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B,const int __imm)10172 _mm256_mask_shuffle_f32x4 (__m256 __W, __mmask8 __U, __m256 __A,
10173 __m256 __B, const int __imm)
10174 {
10175 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10176 (__v8sf) __B,
10177 __imm,
10178 (__v8sf) __W,
10179 (__mmask8) __U);
10180 }
10181
10182 extern __inline __m256
10183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_f32x4(__mmask8 __U,__m256 __A,__m256 __B,const int __imm)10184 _mm256_maskz_shuffle_f32x4 (__mmask8 __U, __m256 __A, __m256 __B,
10185 const int __imm)
10186 {
10187 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10188 (__v8sf) __B,
10189 __imm,
10190 (__v8sf)
10191 _mm256_setzero_ps (),
10192 (__mmask8) __U);
10193 }
10194
10195 extern __inline __m256d
10196 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fixupimm_pd(__m256d __A,__m256d __B,__m256i __C,const int __imm)10197 _mm256_fixupimm_pd (__m256d __A, __m256d __B, __m256i __C,
10198 const int __imm)
10199 {
10200 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
10201 (__v4df) __B,
10202 (__v4di) __C,
10203 __imm,
10204 (__mmask8) -1);
10205 }
10206
10207 extern __inline __m256d
10208 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fixupimm_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256i __C,const int __imm)10209 _mm256_mask_fixupimm_pd (__m256d __A, __mmask8 __U, __m256d __B,
10210 __m256i __C, const int __imm)
10211 {
10212 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
10213 (__v4df) __B,
10214 (__v4di) __C,
10215 __imm,
10216 (__mmask8) __U);
10217 }
10218
10219 extern __inline __m256d
10220 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fixupimm_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256i __C,const int __imm)10221 _mm256_maskz_fixupimm_pd (__mmask8 __U, __m256d __A, __m256d __B,
10222 __m256i __C, const int __imm)
10223 {
10224 return (__m256d) __builtin_ia32_fixupimmpd256_maskz ((__v4df) __A,
10225 (__v4df) __B,
10226 (__v4di) __C,
10227 __imm,
10228 (__mmask8) __U);
10229 }
10230
10231 extern __inline __m256
10232 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fixupimm_ps(__m256 __A,__m256 __B,__m256i __C,const int __imm)10233 _mm256_fixupimm_ps (__m256 __A, __m256 __B, __m256i __C,
10234 const int __imm)
10235 {
10236 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
10237 (__v8sf) __B,
10238 (__v8si) __C,
10239 __imm,
10240 (__mmask8) -1);
10241 }
10242
10243 extern __inline __m256
10244 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fixupimm_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256i __C,const int __imm)10245 _mm256_mask_fixupimm_ps (__m256 __A, __mmask8 __U, __m256 __B,
10246 __m256i __C, const int __imm)
10247 {
10248 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
10249 (__v8sf) __B,
10250 (__v8si) __C,
10251 __imm,
10252 (__mmask8) __U);
10253 }
10254
10255 extern __inline __m256
10256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fixupimm_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256i __C,const int __imm)10257 _mm256_maskz_fixupimm_ps (__mmask8 __U, __m256 __A, __m256 __B,
10258 __m256i __C, const int __imm)
10259 {
10260 return (__m256) __builtin_ia32_fixupimmps256_maskz ((__v8sf) __A,
10261 (__v8sf) __B,
10262 (__v8si) __C,
10263 __imm,
10264 (__mmask8) __U);
10265 }
10266
10267 extern __inline __m128d
10268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fixupimm_pd(__m128d __A,__m128d __B,__m128i __C,const int __imm)10269 _mm_fixupimm_pd (__m128d __A, __m128d __B, __m128i __C,
10270 const int __imm)
10271 {
10272 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
10273 (__v2df) __B,
10274 (__v2di) __C,
10275 __imm,
10276 (__mmask8) -1);
10277 }
10278
10279 extern __inline __m128d
10280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fixupimm_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128i __C,const int __imm)10281 _mm_mask_fixupimm_pd (__m128d __A, __mmask8 __U, __m128d __B,
10282 __m128i __C, const int __imm)
10283 {
10284 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
10285 (__v2df) __B,
10286 (__v2di) __C,
10287 __imm,
10288 (__mmask8) __U);
10289 }
10290
10291 extern __inline __m128d
10292 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fixupimm_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128i __C,const int __imm)10293 _mm_maskz_fixupimm_pd (__mmask8 __U, __m128d __A, __m128d __B,
10294 __m128i __C, const int __imm)
10295 {
10296 return (__m128d) __builtin_ia32_fixupimmpd128_maskz ((__v2df) __A,
10297 (__v2df) __B,
10298 (__v2di) __C,
10299 __imm,
10300 (__mmask8) __U);
10301 }
10302
10303 extern __inline __m128
10304 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fixupimm_ps(__m128 __A,__m128 __B,__m128i __C,const int __imm)10305 _mm_fixupimm_ps (__m128 __A, __m128 __B, __m128i __C, const int __imm)
10306 {
10307 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
10308 (__v4sf) __B,
10309 (__v4si) __C,
10310 __imm,
10311 (__mmask8) -1);
10312 }
10313
10314 extern __inline __m128
10315 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fixupimm_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128i __C,const int __imm)10316 _mm_mask_fixupimm_ps (__m128 __A, __mmask8 __U, __m128 __B,
10317 __m128i __C, const int __imm)
10318 {
10319 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
10320 (__v4sf) __B,
10321 (__v4si) __C,
10322 __imm,
10323 (__mmask8) __U);
10324 }
10325
10326 extern __inline __m128
10327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fixupimm_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128i __C,const int __imm)10328 _mm_maskz_fixupimm_ps (__mmask8 __U, __m128 __A, __m128 __B,
10329 __m128i __C, const int __imm)
10330 {
10331 return (__m128) __builtin_ia32_fixupimmps128_maskz ((__v4sf) __A,
10332 (__v4sf) __B,
10333 (__v4si) __C,
10334 __imm,
10335 (__mmask8) __U);
10336 }
10337
10338 extern __inline __m256i
10339 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srli_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)10340 _mm256_mask_srli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
10341 const int __imm)
10342 {
10343 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
10344 (__v8si) __W,
10345 (__mmask8) __U);
10346 }
10347
10348 extern __inline __m256i
10349 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srli_epi32(__mmask8 __U,__m256i __A,const int __imm)10350 _mm256_maskz_srli_epi32 (__mmask8 __U, __m256i __A, const int __imm)
10351 {
10352 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
10353 (__v8si)
10354 _mm256_setzero_si256 (),
10355 (__mmask8) __U);
10356 }
10357
10358 extern __inline __m128i
10359 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srli_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)10360 _mm_mask_srli_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
10361 const int __imm)
10362 {
10363 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
10364 (__v4si) __W,
10365 (__mmask8) __U);
10366 }
10367
10368 extern __inline __m128i
10369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srli_epi32(__mmask8 __U,__m128i __A,const int __imm)10370 _mm_maskz_srli_epi32 (__mmask8 __U, __m128i __A, const int __imm)
10371 {
10372 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
10373 (__v4si)
10374 _mm_setzero_si128 (),
10375 (__mmask8) __U);
10376 }
10377
10378 extern __inline __m256i
10379 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srli_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)10380 _mm256_mask_srli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
10381 const int __imm)
10382 {
10383 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
10384 (__v4di) __W,
10385 (__mmask8) __U);
10386 }
10387
10388 extern __inline __m256i
10389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srli_epi64(__mmask8 __U,__m256i __A,const int __imm)10390 _mm256_maskz_srli_epi64 (__mmask8 __U, __m256i __A, const int __imm)
10391 {
10392 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
10393 (__v4di)
10394 _mm256_setzero_si256 (),
10395 (__mmask8) __U);
10396 }
10397
10398 extern __inline __m128i
10399 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srli_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)10400 _mm_mask_srli_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
10401 const int __imm)
10402 {
10403 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
10404 (__v2di) __W,
10405 (__mmask8) __U);
10406 }
10407
10408 extern __inline __m128i
10409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srli_epi64(__mmask8 __U,__m128i __A,const int __imm)10410 _mm_maskz_srli_epi64 (__mmask8 __U, __m128i __A, const int __imm)
10411 {
10412 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
10413 (__v2di)
10414 _mm_setzero_si128 (),
10415 (__mmask8) __U);
10416 }
10417
10418 extern __inline __m256i
10419 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ternarylogic_epi64(__m256i __A,__m256i __B,__m256i __C,const int __imm)10420 _mm256_ternarylogic_epi64 (__m256i __A, __m256i __B, __m256i __C,
10421 const int __imm)
10422 {
10423 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
10424 (__v4di) __B,
10425 (__v4di) __C, __imm,
10426 (__mmask8) -1);
10427 }
10428
10429 extern __inline __m256i
10430 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ternarylogic_epi64(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C,const int __imm)10431 _mm256_mask_ternarylogic_epi64 (__m256i __A, __mmask8 __U,
10432 __m256i __B, __m256i __C,
10433 const int __imm)
10434 {
10435 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
10436 (__v4di) __B,
10437 (__v4di) __C, __imm,
10438 (__mmask8) __U);
10439 }
10440
10441 extern __inline __m256i
10442 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ternarylogic_epi64(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C,const int __imm)10443 _mm256_maskz_ternarylogic_epi64 (__mmask8 __U, __m256i __A,
10444 __m256i __B, __m256i __C,
10445 const int __imm)
10446 {
10447 return (__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di) __A,
10448 (__v4di) __B,
10449 (__v4di) __C,
10450 __imm,
10451 (__mmask8) __U);
10452 }
10453
10454 extern __inline __m256i
10455 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ternarylogic_epi32(__m256i __A,__m256i __B,__m256i __C,const int __imm)10456 _mm256_ternarylogic_epi32 (__m256i __A, __m256i __B, __m256i __C,
10457 const int __imm)
10458 {
10459 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
10460 (__v8si) __B,
10461 (__v8si) __C, __imm,
10462 (__mmask8) -1);
10463 }
10464
10465 extern __inline __m256i
10466 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ternarylogic_epi32(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C,const int __imm)10467 _mm256_mask_ternarylogic_epi32 (__m256i __A, __mmask8 __U,
10468 __m256i __B, __m256i __C,
10469 const int __imm)
10470 {
10471 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
10472 (__v8si) __B,
10473 (__v8si) __C, __imm,
10474 (__mmask8) __U);
10475 }
10476
10477 extern __inline __m256i
10478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ternarylogic_epi32(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C,const int __imm)10479 _mm256_maskz_ternarylogic_epi32 (__mmask8 __U, __m256i __A,
10480 __m256i __B, __m256i __C,
10481 const int __imm)
10482 {
10483 return (__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si) __A,
10484 (__v8si) __B,
10485 (__v8si) __C,
10486 __imm,
10487 (__mmask8) __U);
10488 }
10489
10490 extern __inline __m128i
10491 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ternarylogic_epi64(__m128i __A,__m128i __B,__m128i __C,const int __imm)10492 _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
10493 const int __imm)
10494 {
10495 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
10496 (__v2di) __B,
10497 (__v2di) __C, __imm,
10498 (__mmask8) -1);
10499 }
10500
10501 extern __inline __m128i
10502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ternarylogic_epi64(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C,const int __imm)10503 _mm_mask_ternarylogic_epi64 (__m128i __A, __mmask8 __U,
10504 __m128i __B, __m128i __C, const int __imm)
10505 {
10506 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
10507 (__v2di) __B,
10508 (__v2di) __C, __imm,
10509 (__mmask8) __U);
10510 }
10511
10512 extern __inline __m128i
10513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ternarylogic_epi64(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C,const int __imm)10514 _mm_maskz_ternarylogic_epi64 (__mmask8 __U, __m128i __A,
10515 __m128i __B, __m128i __C, const int __imm)
10516 {
10517 return (__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di) __A,
10518 (__v2di) __B,
10519 (__v2di) __C,
10520 __imm,
10521 (__mmask8) __U);
10522 }
10523
10524 extern __inline __m128i
10525 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ternarylogic_epi32(__m128i __A,__m128i __B,__m128i __C,const int __imm)10526 _mm_ternarylogic_epi32 (__m128i __A, __m128i __B, __m128i __C,
10527 const int __imm)
10528 {
10529 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
10530 (__v4si) __B,
10531 (__v4si) __C, __imm,
10532 (__mmask8) -1);
10533 }
10534
10535 extern __inline __m128i
10536 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ternarylogic_epi32(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C,const int __imm)10537 _mm_mask_ternarylogic_epi32 (__m128i __A, __mmask8 __U,
10538 __m128i __B, __m128i __C, const int __imm)
10539 {
10540 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
10541 (__v4si) __B,
10542 (__v4si) __C, __imm,
10543 (__mmask8) __U);
10544 }
10545
10546 extern __inline __m128i
10547 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ternarylogic_epi32(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C,const int __imm)10548 _mm_maskz_ternarylogic_epi32 (__mmask8 __U, __m128i __A,
10549 __m128i __B, __m128i __C, const int __imm)
10550 {
10551 return (__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si) __A,
10552 (__v4si) __B,
10553 (__v4si) __C,
10554 __imm,
10555 (__mmask8) __U);
10556 }
10557
10558 extern __inline __m256
10559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_roundscale_ps(__m256 __A,const int __imm)10560 _mm256_roundscale_ps (__m256 __A, const int __imm)
10561 {
10562 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10563 __imm,
10564 (__v8sf)
10565 _mm256_setzero_ps (),
10566 (__mmask8) -1);
10567 }
10568
10569 extern __inline __m256
10570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_roundscale_ps(__m256 __W,__mmask8 __U,__m256 __A,const int __imm)10571 _mm256_mask_roundscale_ps (__m256 __W, __mmask8 __U, __m256 __A,
10572 const int __imm)
10573 {
10574 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10575 __imm,
10576 (__v8sf) __W,
10577 (__mmask8) __U);
10578 }
10579
10580 extern __inline __m256
10581 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_roundscale_ps(__mmask8 __U,__m256 __A,const int __imm)10582 _mm256_maskz_roundscale_ps (__mmask8 __U, __m256 __A, const int __imm)
10583 {
10584 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10585 __imm,
10586 (__v8sf)
10587 _mm256_setzero_ps (),
10588 (__mmask8) __U);
10589 }
10590
10591 extern __inline __m256d
10592 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_roundscale_pd(__m256d __A,const int __imm)10593 _mm256_roundscale_pd (__m256d __A, const int __imm)
10594 {
10595 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10596 __imm,
10597 (__v4df)
10598 _mm256_setzero_pd (),
10599 (__mmask8) -1);
10600 }
10601
10602 extern __inline __m256d
10603 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_roundscale_pd(__m256d __W,__mmask8 __U,__m256d __A,const int __imm)10604 _mm256_mask_roundscale_pd (__m256d __W, __mmask8 __U, __m256d __A,
10605 const int __imm)
10606 {
10607 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10608 __imm,
10609 (__v4df) __W,
10610 (__mmask8) __U);
10611 }
10612
10613 extern __inline __m256d
10614 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_roundscale_pd(__mmask8 __U,__m256d __A,const int __imm)10615 _mm256_maskz_roundscale_pd (__mmask8 __U, __m256d __A, const int __imm)
10616 {
10617 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10618 __imm,
10619 (__v4df)
10620 _mm256_setzero_pd (),
10621 (__mmask8) __U);
10622 }
10623
10624 extern __inline __m128
10625 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_roundscale_ps(__m128 __A,const int __imm)10626 _mm_roundscale_ps (__m128 __A, const int __imm)
10627 {
10628 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10629 __imm,
10630 (__v4sf)
10631 _mm_setzero_ps (),
10632 (__mmask8) -1);
10633 }
10634
10635 extern __inline __m128
10636 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_roundscale_ps(__m128 __W,__mmask8 __U,__m128 __A,const int __imm)10637 _mm_mask_roundscale_ps (__m128 __W, __mmask8 __U, __m128 __A,
10638 const int __imm)
10639 {
10640 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10641 __imm,
10642 (__v4sf) __W,
10643 (__mmask8) __U);
10644 }
10645
10646 extern __inline __m128
10647 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_roundscale_ps(__mmask8 __U,__m128 __A,const int __imm)10648 _mm_maskz_roundscale_ps (__mmask8 __U, __m128 __A, const int __imm)
10649 {
10650 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10651 __imm,
10652 (__v4sf)
10653 _mm_setzero_ps (),
10654 (__mmask8) __U);
10655 }
10656
10657 extern __inline __m128d
10658 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_roundscale_pd(__m128d __A,const int __imm)10659 _mm_roundscale_pd (__m128d __A, const int __imm)
10660 {
10661 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10662 __imm,
10663 (__v2df)
10664 _mm_setzero_pd (),
10665 (__mmask8) -1);
10666 }
10667
10668 extern __inline __m128d
10669 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_roundscale_pd(__m128d __W,__mmask8 __U,__m128d __A,const int __imm)10670 _mm_mask_roundscale_pd (__m128d __W, __mmask8 __U, __m128d __A,
10671 const int __imm)
10672 {
10673 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10674 __imm,
10675 (__v2df) __W,
10676 (__mmask8) __U);
10677 }
10678
10679 extern __inline __m128d
10680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_roundscale_pd(__mmask8 __U,__m128d __A,const int __imm)10681 _mm_maskz_roundscale_pd (__mmask8 __U, __m128d __A, const int __imm)
10682 {
10683 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10684 __imm,
10685 (__v2df)
10686 _mm_setzero_pd (),
10687 (__mmask8) __U);
10688 }
10689
10690 extern __inline __m256
10691 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getmant_ps(__m256 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10692 _mm256_getmant_ps (__m256 __A, _MM_MANTISSA_NORM_ENUM __B,
10693 _MM_MANTISSA_SIGN_ENUM __C)
10694 {
10695 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10696 (__C << 2) | __B,
10697 (__v8sf)
10698 _mm256_setzero_ps (),
10699 (__mmask8) -1);
10700 }
10701
10702 extern __inline __m256
10703 __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)10704 _mm256_mask_getmant_ps (__m256 __W, __mmask8 __U, __m256 __A,
10705 _MM_MANTISSA_NORM_ENUM __B,
10706 _MM_MANTISSA_SIGN_ENUM __C)
10707 {
10708 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10709 (__C << 2) | __B,
10710 (__v8sf) __W,
10711 (__mmask8) __U);
10712 }
10713
10714 extern __inline __m256
10715 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getmant_ps(__mmask8 __U,__m256 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10716 _mm256_maskz_getmant_ps (__mmask8 __U, __m256 __A,
10717 _MM_MANTISSA_NORM_ENUM __B,
10718 _MM_MANTISSA_SIGN_ENUM __C)
10719 {
10720 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10721 (__C << 2) | __B,
10722 (__v8sf)
10723 _mm256_setzero_ps (),
10724 (__mmask8) __U);
10725 }
10726
10727 extern __inline __m128
10728 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getmant_ps(__m128 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10729 _mm_getmant_ps (__m128 __A, _MM_MANTISSA_NORM_ENUM __B,
10730 _MM_MANTISSA_SIGN_ENUM __C)
10731 {
10732 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10733 (__C << 2) | __B,
10734 (__v4sf)
10735 _mm_setzero_ps (),
10736 (__mmask8) -1);
10737 }
10738
10739 extern __inline __m128
10740 __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)10741 _mm_mask_getmant_ps (__m128 __W, __mmask8 __U, __m128 __A,
10742 _MM_MANTISSA_NORM_ENUM __B,
10743 _MM_MANTISSA_SIGN_ENUM __C)
10744 {
10745 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10746 (__C << 2) | __B,
10747 (__v4sf) __W,
10748 (__mmask8) __U);
10749 }
10750
10751 extern __inline __m128
10752 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getmant_ps(__mmask8 __U,__m128 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10753 _mm_maskz_getmant_ps (__mmask8 __U, __m128 __A,
10754 _MM_MANTISSA_NORM_ENUM __B,
10755 _MM_MANTISSA_SIGN_ENUM __C)
10756 {
10757 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10758 (__C << 2) | __B,
10759 (__v4sf)
10760 _mm_setzero_ps (),
10761 (__mmask8) __U);
10762 }
10763
10764 extern __inline __m256d
10765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getmant_pd(__m256d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10766 _mm256_getmant_pd (__m256d __A, _MM_MANTISSA_NORM_ENUM __B,
10767 _MM_MANTISSA_SIGN_ENUM __C)
10768 {
10769 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10770 (__C << 2) | __B,
10771 (__v4df)
10772 _mm256_setzero_pd (),
10773 (__mmask8) -1);
10774 }
10775
10776 extern __inline __m256d
10777 __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)10778 _mm256_mask_getmant_pd (__m256d __W, __mmask8 __U, __m256d __A,
10779 _MM_MANTISSA_NORM_ENUM __B,
10780 _MM_MANTISSA_SIGN_ENUM __C)
10781 {
10782 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10783 (__C << 2) | __B,
10784 (__v4df) __W,
10785 (__mmask8) __U);
10786 }
10787
10788 extern __inline __m256d
10789 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getmant_pd(__mmask8 __U,__m256d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10790 _mm256_maskz_getmant_pd (__mmask8 __U, __m256d __A,
10791 _MM_MANTISSA_NORM_ENUM __B,
10792 _MM_MANTISSA_SIGN_ENUM __C)
10793 {
10794 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10795 (__C << 2) | __B,
10796 (__v4df)
10797 _mm256_setzero_pd (),
10798 (__mmask8) __U);
10799 }
10800
10801 extern __inline __m128d
10802 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getmant_pd(__m128d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10803 _mm_getmant_pd (__m128d __A, _MM_MANTISSA_NORM_ENUM __B,
10804 _MM_MANTISSA_SIGN_ENUM __C)
10805 {
10806 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10807 (__C << 2) | __B,
10808 (__v2df)
10809 _mm_setzero_pd (),
10810 (__mmask8) -1);
10811 }
10812
10813 extern __inline __m128d
10814 __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)10815 _mm_mask_getmant_pd (__m128d __W, __mmask8 __U, __m128d __A,
10816 _MM_MANTISSA_NORM_ENUM __B,
10817 _MM_MANTISSA_SIGN_ENUM __C)
10818 {
10819 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10820 (__C << 2) | __B,
10821 (__v2df) __W,
10822 (__mmask8) __U);
10823 }
10824
10825 extern __inline __m128d
10826 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getmant_pd(__mmask8 __U,__m128d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10827 _mm_maskz_getmant_pd (__mmask8 __U, __m128d __A,
10828 _MM_MANTISSA_NORM_ENUM __B,
10829 _MM_MANTISSA_SIGN_ENUM __C)
10830 {
10831 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10832 (__C << 2) | __B,
10833 (__v2df)
10834 _mm_setzero_pd (),
10835 (__mmask8) __U);
10836 }
10837
10838 extern __inline __m256
10839 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_ps(__m256 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10840 _mm256_mmask_i32gather_ps (__m256 __v1_old, __mmask8 __mask,
10841 __m256i __index, void const *__addr,
10842 int __scale)
10843 {
10844 return (__m256) __builtin_ia32_gather3siv8sf ((__v8sf) __v1_old,
10845 __addr,
10846 (__v8si) __index,
10847 __mask, __scale);
10848 }
10849
10850 extern __inline __m128
10851 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10852 _mm_mmask_i32gather_ps (__m128 __v1_old, __mmask8 __mask,
10853 __m128i __index, void const *__addr,
10854 int __scale)
10855 {
10856 return (__m128) __builtin_ia32_gather3siv4sf ((__v4sf) __v1_old,
10857 __addr,
10858 (__v4si) __index,
10859 __mask, __scale);
10860 }
10861
10862 extern __inline __m256d
10863 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_pd(__m256d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10864 _mm256_mmask_i32gather_pd (__m256d __v1_old, __mmask8 __mask,
10865 __m128i __index, void const *__addr,
10866 int __scale)
10867 {
10868 return (__m256d) __builtin_ia32_gather3siv4df ((__v4df) __v1_old,
10869 __addr,
10870 (__v4si) __index,
10871 __mask, __scale);
10872 }
10873
10874 extern __inline __m128d
10875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10876 _mm_mmask_i32gather_pd (__m128d __v1_old, __mmask8 __mask,
10877 __m128i __index, void const *__addr,
10878 int __scale)
10879 {
10880 return (__m128d) __builtin_ia32_gather3siv2df ((__v2df) __v1_old,
10881 __addr,
10882 (__v4si) __index,
10883 __mask, __scale);
10884 }
10885
10886 extern __inline __m128
10887 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10888 _mm256_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
10889 __m256i __index, void const *__addr,
10890 int __scale)
10891 {
10892 return (__m128) __builtin_ia32_gather3div8sf ((__v4sf) __v1_old,
10893 __addr,
10894 (__v4di) __index,
10895 __mask, __scale);
10896 }
10897
10898 extern __inline __m128
10899 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10900 _mm_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
10901 __m128i __index, void const *__addr,
10902 int __scale)
10903 {
10904 return (__m128) __builtin_ia32_gather3div4sf ((__v4sf) __v1_old,
10905 __addr,
10906 (__v2di) __index,
10907 __mask, __scale);
10908 }
10909
10910 extern __inline __m256d
10911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_pd(__m256d __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10912 _mm256_mmask_i64gather_pd (__m256d __v1_old, __mmask8 __mask,
10913 __m256i __index, void const *__addr,
10914 int __scale)
10915 {
10916 return (__m256d) __builtin_ia32_gather3div4df ((__v4df) __v1_old,
10917 __addr,
10918 (__v4di) __index,
10919 __mask, __scale);
10920 }
10921
10922 extern __inline __m128d
10923 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10924 _mm_mmask_i64gather_pd (__m128d __v1_old, __mmask8 __mask,
10925 __m128i __index, void const *__addr,
10926 int __scale)
10927 {
10928 return (__m128d) __builtin_ia32_gather3div2df ((__v2df) __v1_old,
10929 __addr,
10930 (__v2di) __index,
10931 __mask, __scale);
10932 }
10933
10934 extern __inline __m256i
10935 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_epi32(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10936 _mm256_mmask_i32gather_epi32 (__m256i __v1_old, __mmask8 __mask,
10937 __m256i __index, void const *__addr,
10938 int __scale)
10939 {
10940 return (__m256i) __builtin_ia32_gather3siv8si ((__v8si) __v1_old,
10941 __addr,
10942 (__v8si) __index,
10943 __mask, __scale);
10944 }
10945
10946 extern __inline __m128i
10947 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10948 _mm_mmask_i32gather_epi32 (__m128i __v1_old, __mmask8 __mask,
10949 __m128i __index, void const *__addr,
10950 int __scale)
10951 {
10952 return (__m128i) __builtin_ia32_gather3siv4si ((__v4si) __v1_old,
10953 __addr,
10954 (__v4si) __index,
10955 __mask, __scale);
10956 }
10957
10958 extern __inline __m256i
10959 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_epi64(__m256i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10960 _mm256_mmask_i32gather_epi64 (__m256i __v1_old, __mmask8 __mask,
10961 __m128i __index, void const *__addr,
10962 int __scale)
10963 {
10964 return (__m256i) __builtin_ia32_gather3siv4di ((__v4di) __v1_old,
10965 __addr,
10966 (__v4si) __index,
10967 __mask, __scale);
10968 }
10969
10970 extern __inline __m128i
10971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10972 _mm_mmask_i32gather_epi64 (__m128i __v1_old, __mmask8 __mask,
10973 __m128i __index, void const *__addr,
10974 int __scale)
10975 {
10976 return (__m128i) __builtin_ia32_gather3siv2di ((__v2di) __v1_old,
10977 __addr,
10978 (__v4si) __index,
10979 __mask, __scale);
10980 }
10981
10982 extern __inline __m128i
10983 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10984 _mm256_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
10985 __m256i __index, void const *__addr,
10986 int __scale)
10987 {
10988 return (__m128i) __builtin_ia32_gather3div8si ((__v4si) __v1_old,
10989 __addr,
10990 (__v4di) __index,
10991 __mask, __scale);
10992 }
10993
10994 extern __inline __m128i
10995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10996 _mm_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
10997 __m128i __index, void const *__addr,
10998 int __scale)
10999 {
11000 return (__m128i) __builtin_ia32_gather3div4si ((__v4si) __v1_old,
11001 __addr,
11002 (__v2di) __index,
11003 __mask, __scale);
11004 }
11005
11006 extern __inline __m256i
11007 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_epi64(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)11008 _mm256_mmask_i64gather_epi64 (__m256i __v1_old, __mmask8 __mask,
11009 __m256i __index, void const *__addr,
11010 int __scale)
11011 {
11012 return (__m256i) __builtin_ia32_gather3div4di ((__v4di) __v1_old,
11013 __addr,
11014 (__v4di) __index,
11015 __mask, __scale);
11016 }
11017
11018 extern __inline __m128i
11019 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)11020 _mm_mmask_i64gather_epi64 (__m128i __v1_old, __mmask8 __mask,
11021 __m128i __index, void const *__addr,
11022 int __scale)
11023 {
11024 return (__m128i) __builtin_ia32_gather3div2di ((__v2di) __v1_old,
11025 __addr,
11026 (__v2di) __index,
11027 __mask, __scale);
11028 }
11029
11030 extern __inline void
11031 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_ps(void * __addr,__m256i __index,__m256 __v1,const int __scale)11032 _mm256_i32scatter_ps (void *__addr, __m256i __index,
11033 __m256 __v1, const int __scale)
11034 {
11035 __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF,
11036 (__v8si) __index, (__v8sf) __v1,
11037 __scale);
11038 }
11039
11040 extern __inline void
11041 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_ps(void * __addr,__mmask8 __mask,__m256i __index,__m256 __v1,const int __scale)11042 _mm256_mask_i32scatter_ps (void *__addr, __mmask8 __mask,
11043 __m256i __index, __m256 __v1,
11044 const int __scale)
11045 {
11046 __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index,
11047 (__v8sf) __v1, __scale);
11048 }
11049
11050 extern __inline void
11051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_ps(void * __addr,__m128i __index,__m128 __v1,const int __scale)11052 _mm_i32scatter_ps (void *__addr, __m128i __index, __m128 __v1,
11053 const int __scale)
11054 {
11055 __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF,
11056 (__v4si) __index, (__v4sf) __v1,
11057 __scale);
11058 }
11059
11060 extern __inline void
11061 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_ps(void * __addr,__mmask8 __mask,__m128i __index,__m128 __v1,const int __scale)11062 _mm_mask_i32scatter_ps (void *__addr, __mmask8 __mask,
11063 __m128i __index, __m128 __v1,
11064 const int __scale)
11065 {
11066 __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index,
11067 (__v4sf) __v1, __scale);
11068 }
11069
11070 extern __inline void
11071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_pd(void * __addr,__m128i __index,__m256d __v1,const int __scale)11072 _mm256_i32scatter_pd (void *__addr, __m128i __index,
11073 __m256d __v1, const int __scale)
11074 {
11075 __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF,
11076 (__v4si) __index, (__v4df) __v1,
11077 __scale);
11078 }
11079
11080 extern __inline void
11081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m256d __v1,const int __scale)11082 _mm256_mask_i32scatter_pd (void *__addr, __mmask8 __mask,
11083 __m128i __index, __m256d __v1,
11084 const int __scale)
11085 {
11086 __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index,
11087 (__v4df) __v1, __scale);
11088 }
11089
11090 extern __inline void
11091 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_pd(void * __addr,__m128i __index,__m128d __v1,const int __scale)11092 _mm_i32scatter_pd (void *__addr, __m128i __index,
11093 __m128d __v1, const int __scale)
11094 {
11095 __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF,
11096 (__v4si) __index, (__v2df) __v1,
11097 __scale);
11098 }
11099
11100 extern __inline void
11101 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m128d __v1,const int __scale)11102 _mm_mask_i32scatter_pd (void *__addr, __mmask8 __mask,
11103 __m128i __index, __m128d __v1,
11104 const int __scale)
11105 {
11106 __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index,
11107 (__v2df) __v1, __scale);
11108 }
11109
11110 extern __inline void
11111 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_ps(void * __addr,__m256i __index,__m128 __v1,const int __scale)11112 _mm256_i64scatter_ps (void *__addr, __m256i __index,
11113 __m128 __v1, const int __scale)
11114 {
11115 __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF,
11116 (__v4di) __index, (__v4sf) __v1,
11117 __scale);
11118 }
11119
11120 extern __inline void
11121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_ps(void * __addr,__mmask8 __mask,__m256i __index,__m128 __v1,const int __scale)11122 _mm256_mask_i64scatter_ps (void *__addr, __mmask8 __mask,
11123 __m256i __index, __m128 __v1,
11124 const int __scale)
11125 {
11126 __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index,
11127 (__v4sf) __v1, __scale);
11128 }
11129
11130 extern __inline void
11131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_ps(void * __addr,__m128i __index,__m128 __v1,const int __scale)11132 _mm_i64scatter_ps (void *__addr, __m128i __index, __m128 __v1,
11133 const int __scale)
11134 {
11135 __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF,
11136 (__v2di) __index, (__v4sf) __v1,
11137 __scale);
11138 }
11139
11140 extern __inline void
11141 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_ps(void * __addr,__mmask8 __mask,__m128i __index,__m128 __v1,const int __scale)11142 _mm_mask_i64scatter_ps (void *__addr, __mmask8 __mask,
11143 __m128i __index, __m128 __v1,
11144 const int __scale)
11145 {
11146 __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index,
11147 (__v4sf) __v1, __scale);
11148 }
11149
11150 extern __inline void
11151 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_pd(void * __addr,__m256i __index,__m256d __v1,const int __scale)11152 _mm256_i64scatter_pd (void *__addr, __m256i __index,
11153 __m256d __v1, const int __scale)
11154 {
11155 __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF,
11156 (__v4di) __index, (__v4df) __v1,
11157 __scale);
11158 }
11159
11160 extern __inline void
11161 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_pd(void * __addr,__mmask8 __mask,__m256i __index,__m256d __v1,const int __scale)11162 _mm256_mask_i64scatter_pd (void *__addr, __mmask8 __mask,
11163 __m256i __index, __m256d __v1,
11164 const int __scale)
11165 {
11166 __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index,
11167 (__v4df) __v1, __scale);
11168 }
11169
11170 extern __inline void
11171 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_pd(void * __addr,__m128i __index,__m128d __v1,const int __scale)11172 _mm_i64scatter_pd (void *__addr, __m128i __index,
11173 __m128d __v1, const int __scale)
11174 {
11175 __builtin_ia32_scatterdiv2df (__addr, (__mmask8) 0xFF,
11176 (__v2di) __index, (__v2df) __v1,
11177 __scale);
11178 }
11179
11180 extern __inline void
11181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m128d __v1,const int __scale)11182 _mm_mask_i64scatter_pd (void *__addr, __mmask8 __mask,
11183 __m128i __index, __m128d __v1,
11184 const int __scale)
11185 {
11186 __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index,
11187 (__v2df) __v1, __scale);
11188 }
11189
11190 extern __inline void
11191 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_epi32(void * __addr,__m256i __index,__m256i __v1,const int __scale)11192 _mm256_i32scatter_epi32 (void *__addr, __m256i __index,
11193 __m256i __v1, const int __scale)
11194 {
11195 __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF,
11196 (__v8si) __index, (__v8si) __v1,
11197 __scale);
11198 }
11199
11200 extern __inline void
11201 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_epi32(void * __addr,__mmask8 __mask,__m256i __index,__m256i __v1,const int __scale)11202 _mm256_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask,
11203 __m256i __index, __m256i __v1,
11204 const int __scale)
11205 {
11206 __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index,
11207 (__v8si) __v1, __scale);
11208 }
11209
11210 extern __inline void
11211 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_epi32(void * __addr,__m128i __index,__m128i __v1,const int __scale)11212 _mm_i32scatter_epi32 (void *__addr, __m128i __index,
11213 __m128i __v1, const int __scale)
11214 {
11215 __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF,
11216 (__v4si) __index, (__v4si) __v1,
11217 __scale);
11218 }
11219
11220 extern __inline void
11221 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_epi32(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11222 _mm_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask,
11223 __m128i __index, __m128i __v1,
11224 const int __scale)
11225 {
11226 __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index,
11227 (__v4si) __v1, __scale);
11228 }
11229
11230 extern __inline void
11231 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_epi64(void * __addr,__m128i __index,__m256i __v1,const int __scale)11232 _mm256_i32scatter_epi64 (void *__addr, __m128i __index,
11233 __m256i __v1, const int __scale)
11234 {
11235 __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF,
11236 (__v4si) __index, (__v4di) __v1,
11237 __scale);
11238 }
11239
11240 extern __inline void
11241 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m256i __v1,const int __scale)11242 _mm256_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask,
11243 __m128i __index, __m256i __v1,
11244 const int __scale)
11245 {
11246 __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index,
11247 (__v4di) __v1, __scale);
11248 }
11249
11250 extern __inline void
11251 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_epi64(void * __addr,__m128i __index,__m128i __v1,const int __scale)11252 _mm_i32scatter_epi64 (void *__addr, __m128i __index,
11253 __m128i __v1, const int __scale)
11254 {
11255 __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF,
11256 (__v4si) __index, (__v2di) __v1,
11257 __scale);
11258 }
11259
11260 extern __inline void
11261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11262 _mm_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask,
11263 __m128i __index, __m128i __v1,
11264 const int __scale)
11265 {
11266 __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index,
11267 (__v2di) __v1, __scale);
11268 }
11269
11270 extern __inline void
11271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_epi32(void * __addr,__m256i __index,__m128i __v1,const int __scale)11272 _mm256_i64scatter_epi32 (void *__addr, __m256i __index,
11273 __m128i __v1, const int __scale)
11274 {
11275 __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF,
11276 (__v4di) __index, (__v4si) __v1,
11277 __scale);
11278 }
11279
11280 extern __inline void
11281 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_epi32(void * __addr,__mmask8 __mask,__m256i __index,__m128i __v1,const int __scale)11282 _mm256_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask,
11283 __m256i __index, __m128i __v1,
11284 const int __scale)
11285 {
11286 __builtin_ia32_scatterdiv8si (__addr, __mask, (__v4di) __index,
11287 (__v4si) __v1, __scale);
11288 }
11289
11290 extern __inline void
11291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_epi32(void * __addr,__m128i __index,__m128i __v1,const int __scale)11292 _mm_i64scatter_epi32 (void *__addr, __m128i __index,
11293 __m128i __v1, const int __scale)
11294 {
11295 __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF,
11296 (__v2di) __index, (__v4si) __v1,
11297 __scale);
11298 }
11299
11300 extern __inline void
11301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_epi32(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11302 _mm_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask,
11303 __m128i __index, __m128i __v1,
11304 const int __scale)
11305 {
11306 __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index,
11307 (__v4si) __v1, __scale);
11308 }
11309
11310 extern __inline void
11311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_epi64(void * __addr,__m256i __index,__m256i __v1,const int __scale)11312 _mm256_i64scatter_epi64 (void *__addr, __m256i __index,
11313 __m256i __v1, const int __scale)
11314 {
11315 __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF,
11316 (__v4di) __index, (__v4di) __v1,
11317 __scale);
11318 }
11319
11320 extern __inline void
11321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_epi64(void * __addr,__mmask8 __mask,__m256i __index,__m256i __v1,const int __scale)11322 _mm256_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask,
11323 __m256i __index, __m256i __v1,
11324 const int __scale)
11325 {
11326 __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index,
11327 (__v4di) __v1, __scale);
11328 }
11329
11330 extern __inline void
11331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_epi64(void * __addr,__m128i __index,__m128i __v1,const int __scale)11332 _mm_i64scatter_epi64 (void *__addr, __m128i __index,
11333 __m128i __v1, const int __scale)
11334 {
11335 __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF,
11336 (__v2di) __index, (__v2di) __v1,
11337 __scale);
11338 }
11339
11340 extern __inline void
11341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11342 _mm_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask,
11343 __m128i __index, __m128i __v1,
11344 const int __scale)
11345 {
11346 __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index,
11347 (__v2di) __v1, __scale);
11348 }
11349
11350 extern __inline __m256i
11351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_epi32(__m256i __W,__mmask8 __U,__m256i __A,_MM_PERM_ENUM __mask)11352 _mm256_mask_shuffle_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11353 _MM_PERM_ENUM __mask)
11354 {
11355 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
11356 (__v8si) __W,
11357 (__mmask8) __U);
11358 }
11359
11360 extern __inline __m256i
11361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_epi32(__mmask8 __U,__m256i __A,_MM_PERM_ENUM __mask)11362 _mm256_maskz_shuffle_epi32 (__mmask8 __U, __m256i __A,
11363 _MM_PERM_ENUM __mask)
11364 {
11365 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
11366 (__v8si)
11367 _mm256_setzero_si256 (),
11368 (__mmask8) __U);
11369 }
11370
11371 extern __inline __m128i
11372 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_epi32(__m128i __W,__mmask8 __U,__m128i __A,_MM_PERM_ENUM __mask)11373 _mm_mask_shuffle_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11374 _MM_PERM_ENUM __mask)
11375 {
11376 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
11377 (__v4si) __W,
11378 (__mmask8) __U);
11379 }
11380
11381 extern __inline __m128i
11382 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_epi32(__mmask8 __U,__m128i __A,_MM_PERM_ENUM __mask)11383 _mm_maskz_shuffle_epi32 (__mmask8 __U, __m128i __A,
11384 _MM_PERM_ENUM __mask)
11385 {
11386 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
11387 (__v4si)
11388 _mm_setzero_si128 (),
11389 (__mmask8) __U);
11390 }
11391
11392 extern __inline __m256i
11393 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rol_epi32(__m256i __A,const int __B)11394 _mm256_rol_epi32 (__m256i __A, const int __B)
11395 {
11396 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11397 (__v8si)
11398 _mm256_setzero_si256 (),
11399 (__mmask8) -1);
11400 }
11401
11402 extern __inline __m256i
11403 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rol_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11404 _mm256_mask_rol_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11405 const int __B)
11406 {
11407 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11408 (__v8si) __W,
11409 (__mmask8) __U);
11410 }
11411
11412 extern __inline __m256i
11413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rol_epi32(__mmask8 __U,__m256i __A,const int __B)11414 _mm256_maskz_rol_epi32 (__mmask8 __U, __m256i __A, const int __B)
11415 {
11416 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11417 (__v8si)
11418 _mm256_setzero_si256 (),
11419 (__mmask8) __U);
11420 }
11421
11422 extern __inline __m128i
11423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rol_epi32(__m128i __A,const int __B)11424 _mm_rol_epi32 (__m128i __A, const int __B)
11425 {
11426 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11427 (__v4si)
11428 _mm_setzero_si128 (),
11429 (__mmask8) -1);
11430 }
11431
11432 extern __inline __m128i
11433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rol_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11434 _mm_mask_rol_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11435 const int __B)
11436 {
11437 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11438 (__v4si) __W,
11439 (__mmask8) __U);
11440 }
11441
11442 extern __inline __m128i
11443 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rol_epi32(__mmask8 __U,__m128i __A,const int __B)11444 _mm_maskz_rol_epi32 (__mmask8 __U, __m128i __A, const int __B)
11445 {
11446 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11447 (__v4si)
11448 _mm_setzero_si128 (),
11449 (__mmask8) __U);
11450 }
11451
11452 extern __inline __m256i
11453 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ror_epi32(__m256i __A,const int __B)11454 _mm256_ror_epi32 (__m256i __A, const int __B)
11455 {
11456 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11457 (__v8si)
11458 _mm256_setzero_si256 (),
11459 (__mmask8) -1);
11460 }
11461
11462 extern __inline __m256i
11463 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ror_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11464 _mm256_mask_ror_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11465 const int __B)
11466 {
11467 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11468 (__v8si) __W,
11469 (__mmask8) __U);
11470 }
11471
11472 extern __inline __m256i
11473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ror_epi32(__mmask8 __U,__m256i __A,const int __B)11474 _mm256_maskz_ror_epi32 (__mmask8 __U, __m256i __A, const int __B)
11475 {
11476 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11477 (__v8si)
11478 _mm256_setzero_si256 (),
11479 (__mmask8) __U);
11480 }
11481
11482 extern __inline __m128i
11483 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ror_epi32(__m128i __A,const int __B)11484 _mm_ror_epi32 (__m128i __A, const int __B)
11485 {
11486 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11487 (__v4si)
11488 _mm_setzero_si128 (),
11489 (__mmask8) -1);
11490 }
11491
11492 extern __inline __m128i
11493 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ror_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11494 _mm_mask_ror_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11495 const int __B)
11496 {
11497 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11498 (__v4si) __W,
11499 (__mmask8) __U);
11500 }
11501
11502 extern __inline __m128i
11503 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ror_epi32(__mmask8 __U,__m128i __A,const int __B)11504 _mm_maskz_ror_epi32 (__mmask8 __U, __m128i __A, const int __B)
11505 {
11506 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11507 (__v4si)
11508 _mm_setzero_si128 (),
11509 (__mmask8) __U);
11510 }
11511
11512 extern __inline __m256i
11513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rol_epi64(__m256i __A,const int __B)11514 _mm256_rol_epi64 (__m256i __A, const int __B)
11515 {
11516 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11517 (__v4di)
11518 _mm256_setzero_si256 (),
11519 (__mmask8) -1);
11520 }
11521
11522 extern __inline __m256i
11523 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rol_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11524 _mm256_mask_rol_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11525 const int __B)
11526 {
11527 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11528 (__v4di) __W,
11529 (__mmask8) __U);
11530 }
11531
11532 extern __inline __m256i
11533 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rol_epi64(__mmask8 __U,__m256i __A,const int __B)11534 _mm256_maskz_rol_epi64 (__mmask8 __U, __m256i __A, const int __B)
11535 {
11536 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11537 (__v4di)
11538 _mm256_setzero_si256 (),
11539 (__mmask8) __U);
11540 }
11541
11542 extern __inline __m128i
11543 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rol_epi64(__m128i __A,const int __B)11544 _mm_rol_epi64 (__m128i __A, const int __B)
11545 {
11546 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11547 (__v2di)
11548 _mm_setzero_si128 (),
11549 (__mmask8) -1);
11550 }
11551
11552 extern __inline __m128i
11553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rol_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11554 _mm_mask_rol_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11555 const int __B)
11556 {
11557 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11558 (__v2di) __W,
11559 (__mmask8) __U);
11560 }
11561
11562 extern __inline __m128i
11563 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rol_epi64(__mmask8 __U,__m128i __A,const int __B)11564 _mm_maskz_rol_epi64 (__mmask8 __U, __m128i __A, const int __B)
11565 {
11566 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11567 (__v2di)
11568 _mm_setzero_si128 (),
11569 (__mmask8) __U);
11570 }
11571
11572 extern __inline __m256i
11573 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ror_epi64(__m256i __A,const int __B)11574 _mm256_ror_epi64 (__m256i __A, const int __B)
11575 {
11576 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11577 (__v4di)
11578 _mm256_setzero_si256 (),
11579 (__mmask8) -1);
11580 }
11581
11582 extern __inline __m256i
11583 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ror_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11584 _mm256_mask_ror_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11585 const int __B)
11586 {
11587 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11588 (__v4di) __W,
11589 (__mmask8) __U);
11590 }
11591
11592 extern __inline __m256i
11593 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ror_epi64(__mmask8 __U,__m256i __A,const int __B)11594 _mm256_maskz_ror_epi64 (__mmask8 __U, __m256i __A, const int __B)
11595 {
11596 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11597 (__v4di)
11598 _mm256_setzero_si256 (),
11599 (__mmask8) __U);
11600 }
11601
11602 extern __inline __m128i
11603 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ror_epi64(__m128i __A,const int __B)11604 _mm_ror_epi64 (__m128i __A, const int __B)
11605 {
11606 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11607 (__v2di)
11608 _mm_setzero_si128 (),
11609 (__mmask8) -1);
11610 }
11611
11612 extern __inline __m128i
11613 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ror_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11614 _mm_mask_ror_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11615 const int __B)
11616 {
11617 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11618 (__v2di) __W,
11619 (__mmask8) __U);
11620 }
11621
11622 extern __inline __m128i
11623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ror_epi64(__mmask8 __U,__m128i __A,const int __B)11624 _mm_maskz_ror_epi64 (__mmask8 __U, __m128i __A, const int __B)
11625 {
11626 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11627 (__v2di)
11628 _mm_setzero_si128 (),
11629 (__mmask8) __U);
11630 }
11631
11632 extern __inline __m128i
11633 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_alignr_epi32(__m128i __A,__m128i __B,const int __imm)11634 _mm_alignr_epi32 (__m128i __A, __m128i __B, const int __imm)
11635 {
11636 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11637 (__v4si) __B, __imm,
11638 (__v4si)
11639 _mm_setzero_si128 (),
11640 (__mmask8) -1);
11641 }
11642
11643 extern __inline __m128i
11644 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_alignr_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11645 _mm_mask_alignr_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11646 __m128i __B, const int __imm)
11647 {
11648 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11649 (__v4si) __B, __imm,
11650 (__v4si) __W,
11651 (__mmask8) __U);
11652 }
11653
11654 extern __inline __m128i
11655 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_alignr_epi32(__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11656 _mm_maskz_alignr_epi32 (__mmask8 __U, __m128i __A, __m128i __B,
11657 const int __imm)
11658 {
11659 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11660 (__v4si) __B, __imm,
11661 (__v4si)
11662 _mm_setzero_si128 (),
11663 (__mmask8) __U);
11664 }
11665
11666 extern __inline __m128i
11667 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_alignr_epi64(__m128i __A,__m128i __B,const int __imm)11668 _mm_alignr_epi64 (__m128i __A, __m128i __B, const int __imm)
11669 {
11670 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11671 (__v2di) __B, __imm,
11672 (__v2di)
11673 _mm_setzero_si128 (),
11674 (__mmask8) -1);
11675 }
11676
11677 extern __inline __m128i
11678 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_alignr_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11679 _mm_mask_alignr_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11680 __m128i __B, const int __imm)
11681 {
11682 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11683 (__v2di) __B, __imm,
11684 (__v2di) __W,
11685 (__mmask8) __U);
11686 }
11687
11688 extern __inline __m128i
11689 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_alignr_epi64(__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11690 _mm_maskz_alignr_epi64 (__mmask8 __U, __m128i __A, __m128i __B,
11691 const int __imm)
11692 {
11693 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11694 (__v2di) __B, __imm,
11695 (__v2di)
11696 _mm_setzero_si128 (),
11697 (__mmask8) __U);
11698 }
11699
11700 extern __inline __m256i
11701 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_alignr_epi32(__m256i __A,__m256i __B,const int __imm)11702 _mm256_alignr_epi32 (__m256i __A, __m256i __B, const int __imm)
11703 {
11704 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11705 (__v8si) __B, __imm,
11706 (__v8si)
11707 _mm256_setzero_si256 (),
11708 (__mmask8) -1);
11709 }
11710
11711 extern __inline __m256i
11712 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_alignr_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11713 _mm256_mask_alignr_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11714 __m256i __B, const int __imm)
11715 {
11716 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11717 (__v8si) __B, __imm,
11718 (__v8si) __W,
11719 (__mmask8) __U);
11720 }
11721
11722 extern __inline __m256i
11723 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_alignr_epi32(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11724 _mm256_maskz_alignr_epi32 (__mmask8 __U, __m256i __A, __m256i __B,
11725 const int __imm)
11726 {
11727 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11728 (__v8si) __B, __imm,
11729 (__v8si)
11730 _mm256_setzero_si256 (),
11731 (__mmask8) __U);
11732 }
11733
11734 extern __inline __m256i
11735 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_alignr_epi64(__m256i __A,__m256i __B,const int __imm)11736 _mm256_alignr_epi64 (__m256i __A, __m256i __B, const int __imm)
11737 {
11738 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11739 (__v4di) __B, __imm,
11740 (__v4di)
11741 _mm256_setzero_si256 (),
11742 (__mmask8) -1);
11743 }
11744
11745 extern __inline __m256i
11746 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_alignr_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11747 _mm256_mask_alignr_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11748 __m256i __B, const int __imm)
11749 {
11750 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11751 (__v4di) __B, __imm,
11752 (__v4di) __W,
11753 (__mmask8) __U);
11754 }
11755
11756 extern __inline __m256i
11757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_alignr_epi64(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11758 _mm256_maskz_alignr_epi64 (__mmask8 __U, __m256i __A, __m256i __B,
11759 const int __imm)
11760 {
11761 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11762 (__v4di) __B, __imm,
11763 (__v4di)
11764 _mm256_setzero_si256 (),
11765 (__mmask8) __U);
11766 }
11767
11768 extern __inline __m128i
11769 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m128 __A,const int __I)11770 _mm_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m128 __A,
11771 const int __I)
11772 {
11773 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
11774 (__v8hi) __W,
11775 (__mmask8) __U);
11776 }
11777
11778 extern __inline __m128i
11779 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_ph(__mmask8 __U,__m128 __A,const int __I)11780 _mm_maskz_cvtps_ph (__mmask8 __U, __m128 __A, const int __I)
11781 {
11782 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
11783 (__v8hi)
11784 _mm_setzero_si128 (),
11785 (__mmask8) __U);
11786 }
11787
11788 extern __inline __m128i
11789 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m256 __A,const int __I)11790 _mm256_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m256 __A,
11791 const int __I)
11792 {
11793 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
11794 (__v8hi) __W,
11795 (__mmask8) __U);
11796 }
11797
11798 extern __inline __m128i
11799 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_ph(__mmask8 __U,__m256 __A,const int __I)11800 _mm256_maskz_cvtps_ph (__mmask8 __U, __m256 __A, const int __I)
11801 {
11802 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
11803 (__v8hi)
11804 _mm_setzero_si128 (),
11805 (__mmask8) __U);
11806 }
11807
11808 extern __inline __m256i
11809 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srai_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)11810 _mm256_mask_srai_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11811 const int __imm)
11812 {
11813 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
11814 (__v8si) __W,
11815 (__mmask8) __U);
11816 }
11817
11818 extern __inline __m256i
11819 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srai_epi32(__mmask8 __U,__m256i __A,const int __imm)11820 _mm256_maskz_srai_epi32 (__mmask8 __U, __m256i __A, const int __imm)
11821 {
11822 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
11823 (__v8si)
11824 _mm256_setzero_si256 (),
11825 (__mmask8) __U);
11826 }
11827
11828 extern __inline __m128i
11829 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srai_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)11830 _mm_mask_srai_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11831 const int __imm)
11832 {
11833 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
11834 (__v4si) __W,
11835 (__mmask8) __U);
11836 }
11837
11838 extern __inline __m128i
11839 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srai_epi32(__mmask8 __U,__m128i __A,const int __imm)11840 _mm_maskz_srai_epi32 (__mmask8 __U, __m128i __A, const int __imm)
11841 {
11842 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
11843 (__v4si)
11844 _mm_setzero_si128 (),
11845 (__mmask8) __U);
11846 }
11847
11848 extern __inline __m256i
11849 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srai_epi64(__m256i __A,const int __imm)11850 _mm256_srai_epi64 (__m256i __A, const int __imm)
11851 {
11852 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11853 (__v4di)
11854 _mm256_setzero_si256 (),
11855 (__mmask8) -1);
11856 }
11857
11858 extern __inline __m256i
11859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srai_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)11860 _mm256_mask_srai_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11861 const int __imm)
11862 {
11863 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11864 (__v4di) __W,
11865 (__mmask8) __U);
11866 }
11867
11868 extern __inline __m256i
11869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srai_epi64(__mmask8 __U,__m256i __A,const int __imm)11870 _mm256_maskz_srai_epi64 (__mmask8 __U, __m256i __A, const int __imm)
11871 {
11872 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11873 (__v4di)
11874 _mm256_setzero_si256 (),
11875 (__mmask8) __U);
11876 }
11877
11878 extern __inline __m128i
11879 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_epi64(__m128i __A,const int __imm)11880 _mm_srai_epi64 (__m128i __A, const int __imm)
11881 {
11882 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11883 (__v2di)
11884 _mm_setzero_si128 (),
11885 (__mmask8) -1);
11886 }
11887
11888 extern __inline __m128i
11889 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srai_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)11890 _mm_mask_srai_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11891 const int __imm)
11892 {
11893 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11894 (__v2di) __W,
11895 (__mmask8) __U);
11896 }
11897
11898 extern __inline __m128i
11899 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srai_epi64(__mmask8 __U,__m128i __A,const int __imm)11900 _mm_maskz_srai_epi64 (__mmask8 __U, __m128i __A, const int __imm)
11901 {
11902 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11903 (__v2di)
11904 _mm_setzero_si128 (),
11905 (__mmask8) __U);
11906 }
11907
11908 extern __inline __m128i
11909 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_slli_epi32(__m128i __W,__mmask8 __U,__m128i __A,int __B)11910 _mm_mask_slli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
11911 {
11912 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
11913 (__v4si) __W,
11914 (__mmask8) __U);
11915 }
11916
11917 extern __inline __m128i
11918 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_slli_epi32(__mmask8 __U,__m128i __A,int __B)11919 _mm_maskz_slli_epi32 (__mmask8 __U, __m128i __A, int __B)
11920 {
11921 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
11922 (__v4si)
11923 _mm_setzero_si128 (),
11924 (__mmask8) __U);
11925 }
11926
11927 extern __inline __m128i
11928 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_slli_epi64(__m128i __W,__mmask8 __U,__m128i __A,int __B)11929 _mm_mask_slli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
11930 {
11931 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
11932 (__v2di) __W,
11933 (__mmask8) __U);
11934 }
11935
11936 extern __inline __m128i
11937 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_slli_epi64(__mmask8 __U,__m128i __A,int __B)11938 _mm_maskz_slli_epi64 (__mmask8 __U, __m128i __A, int __B)
11939 {
11940 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
11941 (__v2di)
11942 _mm_setzero_si128 (),
11943 (__mmask8) __U);
11944 }
11945
11946 extern __inline __m256i
11947 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_slli_epi32(__m256i __W,__mmask8 __U,__m256i __A,int __B)11948 _mm256_mask_slli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11949 int __B)
11950 {
11951 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
11952 (__v8si) __W,
11953 (__mmask8) __U);
11954 }
11955
11956 extern __inline __m256i
11957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_slli_epi32(__mmask8 __U,__m256i __A,int __B)11958 _mm256_maskz_slli_epi32 (__mmask8 __U, __m256i __A, int __B)
11959 {
11960 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
11961 (__v8si)
11962 _mm256_setzero_si256 (),
11963 (__mmask8) __U);
11964 }
11965
11966 extern __inline __m256i
11967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_slli_epi64(__m256i __W,__mmask8 __U,__m256i __A,int __B)11968 _mm256_mask_slli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11969 int __B)
11970 {
11971 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
11972 (__v4di) __W,
11973 (__mmask8) __U);
11974 }
11975
11976 extern __inline __m256i
11977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_slli_epi64(__mmask8 __U,__m256i __A,int __B)11978 _mm256_maskz_slli_epi64 (__mmask8 __U, __m256i __A, int __B)
11979 {
11980 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
11981 (__v4di)
11982 _mm256_setzero_si256 (),
11983 (__mmask8) __U);
11984 }
11985
11986 extern __inline __m256d
11987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex_pd(__m256d __W,__mmask8 __U,__m256d __X,const int __imm)11988 _mm256_mask_permutex_pd (__m256d __W, __mmask8 __U, __m256d __X,
11989 const int __imm)
11990 {
11991 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
11992 (__v4df) __W,
11993 (__mmask8) __U);
11994 }
11995
11996 extern __inline __m256d
11997 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex_pd(__mmask8 __U,__m256d __X,const int __imm)11998 _mm256_maskz_permutex_pd (__mmask8 __U, __m256d __X, const int __imm)
11999 {
12000 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
12001 (__v4df)
12002 _mm256_setzero_pd (),
12003 (__mmask8) __U);
12004 }
12005
12006 extern __inline __m256d
12007 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permute_pd(__m256d __W,__mmask8 __U,__m256d __X,const int __C)12008 _mm256_mask_permute_pd (__m256d __W, __mmask8 __U, __m256d __X,
12009 const int __C)
12010 {
12011 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
12012 (__v4df) __W,
12013 (__mmask8) __U);
12014 }
12015
12016 extern __inline __m256d
12017 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permute_pd(__mmask8 __U,__m256d __X,const int __C)12018 _mm256_maskz_permute_pd (__mmask8 __U, __m256d __X, const int __C)
12019 {
12020 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
12021 (__v4df)
12022 _mm256_setzero_pd (),
12023 (__mmask8) __U);
12024 }
12025
12026 extern __inline __m128d
12027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permute_pd(__m128d __W,__mmask8 __U,__m128d __X,const int __C)12028 _mm_mask_permute_pd (__m128d __W, __mmask8 __U, __m128d __X,
12029 const int __C)
12030 {
12031 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
12032 (__v2df) __W,
12033 (__mmask8) __U);
12034 }
12035
12036 extern __inline __m128d
12037 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permute_pd(__mmask8 __U,__m128d __X,const int __C)12038 _mm_maskz_permute_pd (__mmask8 __U, __m128d __X, const int __C)
12039 {
12040 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
12041 (__v2df)
12042 _mm_setzero_pd (),
12043 (__mmask8) __U);
12044 }
12045
12046 extern __inline __m256
12047 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permute_ps(__m256 __W,__mmask8 __U,__m256 __X,const int __C)12048 _mm256_mask_permute_ps (__m256 __W, __mmask8 __U, __m256 __X,
12049 const int __C)
12050 {
12051 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
12052 (__v8sf) __W,
12053 (__mmask8) __U);
12054 }
12055
12056 extern __inline __m256
12057 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permute_ps(__mmask8 __U,__m256 __X,const int __C)12058 _mm256_maskz_permute_ps (__mmask8 __U, __m256 __X, const int __C)
12059 {
12060 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
12061 (__v8sf)
12062 _mm256_setzero_ps (),
12063 (__mmask8) __U);
12064 }
12065
12066 extern __inline __m128
12067 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permute_ps(__m128 __W,__mmask8 __U,__m128 __X,const int __C)12068 _mm_mask_permute_ps (__m128 __W, __mmask8 __U, __m128 __X,
12069 const int __C)
12070 {
12071 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
12072 (__v4sf) __W,
12073 (__mmask8) __U);
12074 }
12075
12076 extern __inline __m128
12077 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permute_ps(__mmask8 __U,__m128 __X,const int __C)12078 _mm_maskz_permute_ps (__mmask8 __U, __m128 __X, const int __C)
12079 {
12080 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
12081 (__v4sf)
12082 _mm_setzero_ps (),
12083 (__mmask8) __U);
12084 }
12085
12086 extern __inline __m256d
12087 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_pd(__mmask8 __U,__m256d __A,__m256d __W)12088 _mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W)
12089 {
12090 return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A,
12091 (__v4df) __W,
12092 (__mmask8) __U);
12093 }
12094
12095 extern __inline __m256
12096 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_ps(__mmask8 __U,__m256 __A,__m256 __W)12097 _mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W)
12098 {
12099 return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A,
12100 (__v8sf) __W,
12101 (__mmask8) __U);
12102 }
12103
12104 extern __inline __m256i
12105 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_epi64(__mmask8 __U,__m256i __A,__m256i __W)12106 _mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W)
12107 {
12108 return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A,
12109 (__v4di) __W,
12110 (__mmask8) __U);
12111 }
12112
12113 extern __inline __m256i
12114 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_epi32(__mmask8 __U,__m256i __A,__m256i __W)12115 _mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W)
12116 {
12117 return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A,
12118 (__v8si) __W,
12119 (__mmask8) __U);
12120 }
12121
12122 extern __inline __m128d
12123 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_pd(__mmask8 __U,__m128d __A,__m128d __W)12124 _mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W)
12125 {
12126 return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A,
12127 (__v2df) __W,
12128 (__mmask8) __U);
12129 }
12130
12131 extern __inline __m128
12132 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_ps(__mmask8 __U,__m128 __A,__m128 __W)12133 _mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W)
12134 {
12135 return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A,
12136 (__v4sf) __W,
12137 (__mmask8) __U);
12138 }
12139
12140 extern __inline __m128i
12141 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_epi64(__mmask8 __U,__m128i __A,__m128i __W)12142 _mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W)
12143 {
12144 return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A,
12145 (__v2di) __W,
12146 (__mmask8) __U);
12147 }
12148
12149 extern __inline __m128i
12150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_epi32(__mmask8 __U,__m128i __A,__m128i __W)12151 _mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W)
12152 {
12153 return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A,
12154 (__v4si) __W,
12155 (__mmask8) __U);
12156 }
12157
12158 extern __inline __mmask8
12159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epi64_mask(__m256i __X,__m256i __Y,const int __P)12160 _mm256_cmp_epi64_mask (__m256i __X, __m256i __Y, const int __P)
12161 {
12162 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
12163 (__v4di) __Y, __P,
12164 (__mmask8) -1);
12165 }
12166
12167 extern __inline __mmask8
12168 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epi32_mask(__m256i __X,__m256i __Y,const int __P)12169 _mm256_cmp_epi32_mask (__m256i __X, __m256i __Y, const int __P)
12170 {
12171 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
12172 (__v8si) __Y, __P,
12173 (__mmask8) -1);
12174 }
12175
12176 extern __inline __mmask8
12177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epu64_mask(__m256i __X,__m256i __Y,const int __P)12178 _mm256_cmp_epu64_mask (__m256i __X, __m256i __Y, const int __P)
12179 {
12180 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
12181 (__v4di) __Y, __P,
12182 (__mmask8) -1);
12183 }
12184
12185 extern __inline __mmask8
12186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epu32_mask(__m256i __X,__m256i __Y,const int __P)12187 _mm256_cmp_epu32_mask (__m256i __X, __m256i __Y, const int __P)
12188 {
12189 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
12190 (__v8si) __Y, __P,
12191 (__mmask8) -1);
12192 }
12193
12194 extern __inline __mmask8
12195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_pd_mask(__m256d __X,__m256d __Y,const int __P)12196 _mm256_cmp_pd_mask (__m256d __X, __m256d __Y, const int __P)
12197 {
12198 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
12199 (__v4df) __Y, __P,
12200 (__mmask8) -1);
12201 }
12202
12203 extern __inline __mmask8
12204 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_ps_mask(__m256 __X,__m256 __Y,const int __P)12205 _mm256_cmp_ps_mask (__m256 __X, __m256 __Y, const int __P)
12206 {
12207 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
12208 (__v8sf) __Y, __P,
12209 (__mmask8) -1);
12210 }
12211
12212 extern __inline __mmask8
12213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epi64_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12214 _mm256_mask_cmp_epi64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12215 const int __P)
12216 {
12217 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
12218 (__v4di) __Y, __P,
12219 (__mmask8) __U);
12220 }
12221
12222 extern __inline __mmask8
12223 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epi32_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12224 _mm256_mask_cmp_epi32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12225 const int __P)
12226 {
12227 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
12228 (__v8si) __Y, __P,
12229 (__mmask8) __U);
12230 }
12231
12232 extern __inline __mmask8
12233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epu64_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12234 _mm256_mask_cmp_epu64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12235 const int __P)
12236 {
12237 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
12238 (__v4di) __Y, __P,
12239 (__mmask8) __U);
12240 }
12241
12242 extern __inline __mmask8
12243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epu32_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12244 _mm256_mask_cmp_epu32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12245 const int __P)
12246 {
12247 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
12248 (__v8si) __Y, __P,
12249 (__mmask8) __U);
12250 }
12251
12252 extern __inline __mmask8
12253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_pd_mask(__mmask8 __U,__m256d __X,__m256d __Y,const int __P)12254 _mm256_mask_cmp_pd_mask (__mmask8 __U, __m256d __X, __m256d __Y,
12255 const int __P)
12256 {
12257 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
12258 (__v4df) __Y, __P,
12259 (__mmask8) __U);
12260 }
12261
12262 extern __inline __mmask8
12263 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_ps_mask(__mmask8 __U,__m256 __X,__m256 __Y,const int __P)12264 _mm256_mask_cmp_ps_mask (__mmask8 __U, __m256 __X, __m256 __Y,
12265 const int __P)
12266 {
12267 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
12268 (__v8sf) __Y, __P,
12269 (__mmask8) __U);
12270 }
12271
12272 extern __inline __mmask8
12273 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epi64_mask(__m128i __X,__m128i __Y,const int __P)12274 _mm_cmp_epi64_mask (__m128i __X, __m128i __Y, const int __P)
12275 {
12276 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
12277 (__v2di) __Y, __P,
12278 (__mmask8) -1);
12279 }
12280
12281 extern __inline __mmask8
12282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epi32_mask(__m128i __X,__m128i __Y,const int __P)12283 _mm_cmp_epi32_mask (__m128i __X, __m128i __Y, const int __P)
12284 {
12285 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
12286 (__v4si) __Y, __P,
12287 (__mmask8) -1);
12288 }
12289
12290 extern __inline __mmask8
12291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epu64_mask(__m128i __X,__m128i __Y,const int __P)12292 _mm_cmp_epu64_mask (__m128i __X, __m128i __Y, const int __P)
12293 {
12294 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
12295 (__v2di) __Y, __P,
12296 (__mmask8) -1);
12297 }
12298
12299 extern __inline __mmask8
12300 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epu32_mask(__m128i __X,__m128i __Y,const int __P)12301 _mm_cmp_epu32_mask (__m128i __X, __m128i __Y, const int __P)
12302 {
12303 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
12304 (__v4si) __Y, __P,
12305 (__mmask8) -1);
12306 }
12307
12308 extern __inline __mmask8
12309 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_pd_mask(__m128d __X,__m128d __Y,const int __P)12310 _mm_cmp_pd_mask (__m128d __X, __m128d __Y, const int __P)
12311 {
12312 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
12313 (__v2df) __Y, __P,
12314 (__mmask8) -1);
12315 }
12316
12317 extern __inline __mmask8
12318 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_ps_mask(__m128 __X,__m128 __Y,const int __P)12319 _mm_cmp_ps_mask (__m128 __X, __m128 __Y, const int __P)
12320 {
12321 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
12322 (__v4sf) __Y, __P,
12323 (__mmask8) -1);
12324 }
12325
12326 extern __inline __mmask8
12327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epi64_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12328 _mm_mask_cmp_epi64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12329 const int __P)
12330 {
12331 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
12332 (__v2di) __Y, __P,
12333 (__mmask8) __U);
12334 }
12335
12336 extern __inline __mmask8
12337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epi32_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12338 _mm_mask_cmp_epi32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12339 const int __P)
12340 {
12341 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
12342 (__v4si) __Y, __P,
12343 (__mmask8) __U);
12344 }
12345
12346 extern __inline __mmask8
12347 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epu64_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12348 _mm_mask_cmp_epu64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12349 const int __P)
12350 {
12351 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
12352 (__v2di) __Y, __P,
12353 (__mmask8) __U);
12354 }
12355
12356 extern __inline __mmask8
12357 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epu32_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12358 _mm_mask_cmp_epu32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12359 const int __P)
12360 {
12361 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
12362 (__v4si) __Y, __P,
12363 (__mmask8) __U);
12364 }
12365
12366 extern __inline __mmask8
12367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_pd_mask(__mmask8 __U,__m128d __X,__m128d __Y,const int __P)12368 _mm_mask_cmp_pd_mask (__mmask8 __U, __m128d __X, __m128d __Y,
12369 const int __P)
12370 {
12371 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
12372 (__v2df) __Y, __P,
12373 (__mmask8) __U);
12374 }
12375
12376 extern __inline __mmask8
12377 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_ps_mask(__mmask8 __U,__m128 __X,__m128 __Y,const int __P)12378 _mm_mask_cmp_ps_mask (__mmask8 __U, __m128 __X, __m128 __Y,
12379 const int __P)
12380 {
12381 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
12382 (__v4sf) __Y, __P,
12383 (__mmask8) __U);
12384 }
12385
12386 extern __inline __m256d
12387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex_pd(__m256d __X,const int __M)12388 _mm256_permutex_pd (__m256d __X, const int __M)
12389 {
12390 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __M,
12391 (__v4df)
12392 _mm256_undefined_pd (),
12393 (__mmask8) -1);
12394 }
12395
12396 #else
12397 #define _mm256_permutex_pd(X, M) \
12398 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(X), (int)(M), \
12399 (__v4df)(__m256d) \
12400 _mm256_undefined_pd (), \
12401 (__mmask8)-1))
12402
12403 #define _mm256_permutex_epi64(X, I) \
12404 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12405 (int)(I), \
12406 (__v4di)(__m256i) \
12407 (_mm256_setzero_si256 ()),\
12408 (__mmask8) -1))
12409
12410 #define _mm256_maskz_permutex_epi64(M, X, I) \
12411 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12412 (int)(I), \
12413 (__v4di)(__m256i) \
12414 (_mm256_setzero_si256 ()),\
12415 (__mmask8)(M)))
12416
12417 #define _mm256_mask_permutex_epi64(W, M, X, I) \
12418 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12419 (int)(I), \
12420 (__v4di)(__m256i)(W), \
12421 (__mmask8)(M)))
12422
12423 #define _mm256_insertf32x4(X, Y, C) \
12424 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12425 (__v4sf)(__m128) (Y), (int) (C), \
12426 (__v8sf)(__m256)_mm256_setzero_ps (), \
12427 (__mmask8)-1))
12428
12429 #define _mm256_mask_insertf32x4(W, U, X, Y, C) \
12430 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12431 (__v4sf)(__m128) (Y), (int) (C), \
12432 (__v8sf)(__m256)(W), \
12433 (__mmask8)(U)))
12434
12435 #define _mm256_maskz_insertf32x4(U, X, Y, C) \
12436 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12437 (__v4sf)(__m128) (Y), (int) (C), \
12438 (__v8sf)(__m256)_mm256_setzero_ps (), \
12439 (__mmask8)(U)))
12440
12441 #define _mm256_inserti32x4(X, Y, C) \
12442 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12443 (__v4si)(__m128i) (Y), (int) (C), \
12444 (__v8si)(__m256i)_mm256_setzero_si256 (), \
12445 (__mmask8)-1))
12446
12447 #define _mm256_mask_inserti32x4(W, U, X, Y, C) \
12448 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12449 (__v4si)(__m128i) (Y), (int) (C), \
12450 (__v8si)(__m256i)(W), \
12451 (__mmask8)(U)))
12452
12453 #define _mm256_maskz_inserti32x4(U, X, Y, C) \
12454 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12455 (__v4si)(__m128i) (Y), (int) (C), \
12456 (__v8si)(__m256i)_mm256_setzero_si256 (), \
12457 (__mmask8)(U)))
12458
12459 #define _mm256_extractf32x4_ps(X, C) \
12460 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12461 (int) (C), \
12462 (__v4sf)(__m128)_mm_setzero_ps (), \
12463 (__mmask8)-1))
12464
12465 #define _mm256_mask_extractf32x4_ps(W, U, X, C) \
12466 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12467 (int) (C), \
12468 (__v4sf)(__m128)(W), \
12469 (__mmask8)(U)))
12470
12471 #define _mm256_maskz_extractf32x4_ps(U, X, C) \
12472 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12473 (int) (C), \
12474 (__v4sf)(__m128)_mm_setzero_ps (), \
12475 (__mmask8)(U)))
12476
12477 #define _mm256_extracti32x4_epi32(X, C) \
12478 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12479 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)-1))
12480
12481 #define _mm256_mask_extracti32x4_epi32(W, U, X, C) \
12482 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12483 (int) (C), (__v4si)(__m128i)(W), (__mmask8)(U)))
12484
12485 #define _mm256_maskz_extracti32x4_epi32(U, X, C) \
12486 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12487 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(U)))
12488
12489 #define _mm256_shuffle_i64x2(X, Y, C) \
12490 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12491 (__v4di)(__m256i)(Y), (int)(C), \
12492 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12493 (__mmask8)-1))
12494
12495 #define _mm256_mask_shuffle_i64x2(W, U, X, Y, C) \
12496 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12497 (__v4di)(__m256i)(Y), (int)(C), \
12498 (__v4di)(__m256i)(W),\
12499 (__mmask8)(U)))
12500
12501 #define _mm256_maskz_shuffle_i64x2(U, X, Y, C) \
12502 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12503 (__v4di)(__m256i)(Y), (int)(C), \
12504 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12505 (__mmask8)(U)))
12506
12507 #define _mm256_shuffle_i32x4(X, Y, C) \
12508 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12509 (__v8si)(__m256i)(Y), (int)(C), \
12510 (__v8si)(__m256i) \
12511 _mm256_setzero_si256 (), \
12512 (__mmask8)-1))
12513
12514 #define _mm256_mask_shuffle_i32x4(W, U, X, Y, C) \
12515 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12516 (__v8si)(__m256i)(Y), (int)(C), \
12517 (__v8si)(__m256i)(W), \
12518 (__mmask8)(U)))
12519
12520 #define _mm256_maskz_shuffle_i32x4(U, X, Y, C) \
12521 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12522 (__v8si)(__m256i)(Y), (int)(C), \
12523 (__v8si)(__m256i) \
12524 _mm256_setzero_si256 (), \
12525 (__mmask8)(U)))
12526
12527 #define _mm256_shuffle_f64x2(X, Y, C) \
12528 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12529 (__v4df)(__m256d)(Y), (int)(C), \
12530 (__v4df)(__m256d)_mm256_setzero_pd (),\
12531 (__mmask8)-1))
12532
12533 #define _mm256_mask_shuffle_f64x2(W, U, X, Y, C) \
12534 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12535 (__v4df)(__m256d)(Y), (int)(C), \
12536 (__v4df)(__m256d)(W), \
12537 (__mmask8)(U)))
12538
12539 #define _mm256_maskz_shuffle_f64x2(U, X, Y, C) \
12540 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12541 (__v4df)(__m256d)(Y), (int)(C), \
12542 (__v4df)(__m256d)_mm256_setzero_pd( ),\
12543 (__mmask8)(U)))
12544
12545 #define _mm256_shuffle_f32x4(X, Y, C) \
12546 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12547 (__v8sf)(__m256)(Y), (int)(C), \
12548 (__v8sf)(__m256)_mm256_setzero_ps (), \
12549 (__mmask8)-1))
12550
12551 #define _mm256_mask_shuffle_f32x4(W, U, X, Y, C) \
12552 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12553 (__v8sf)(__m256)(Y), (int)(C), \
12554 (__v8sf)(__m256)(W), \
12555 (__mmask8)(U)))
12556
12557 #define _mm256_maskz_shuffle_f32x4(U, X, Y, C) \
12558 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12559 (__v8sf)(__m256)(Y), (int)(C), \
12560 (__v8sf)(__m256)_mm256_setzero_ps (), \
12561 (__mmask8)(U)))
12562
12563 #define _mm256_mask_shuffle_pd(W, U, A, B, C) \
12564 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \
12565 (__v4df)(__m256d)(B), (int)(C), \
12566 (__v4df)(__m256d)(W), \
12567 (__mmask8)(U)))
12568
12569 #define _mm256_maskz_shuffle_pd(U, A, B, C) \
12570 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \
12571 (__v4df)(__m256d)(B), (int)(C), \
12572 (__v4df)(__m256d) \
12573 _mm256_setzero_pd (), \
12574 (__mmask8)(U)))
12575
12576 #define _mm_mask_shuffle_pd(W, U, A, B, C) \
12577 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \
12578 (__v2df)(__m128d)(B), (int)(C), \
12579 (__v2df)(__m128d)(W), \
12580 (__mmask8)(U)))
12581
12582 #define _mm_maskz_shuffle_pd(U, A, B, C) \
12583 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \
12584 (__v2df)(__m128d)(B), (int)(C), \
12585 (__v2df)(__m128d)_mm_setzero_pd (), \
12586 (__mmask8)(U)))
12587
12588 #define _mm256_mask_shuffle_ps(W, U, A, B, C) \
12589 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \
12590 (__v8sf)(__m256)(B), (int)(C), \
12591 (__v8sf)(__m256)(W), \
12592 (__mmask8)(U)))
12593
12594 #define _mm256_maskz_shuffle_ps(U, A, B, C) \
12595 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \
12596 (__v8sf)(__m256)(B), (int)(C), \
12597 (__v8sf)(__m256)_mm256_setzero_ps (),\
12598 (__mmask8)(U)))
12599
12600 #define _mm_mask_shuffle_ps(W, U, A, B, C) \
12601 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \
12602 (__v4sf)(__m128)(B), (int)(C), \
12603 (__v4sf)(__m128)(W), \
12604 (__mmask8)(U)))
12605
12606 #define _mm_maskz_shuffle_ps(U, A, B, C) \
12607 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \
12608 (__v4sf)(__m128)(B), (int)(C), \
12609 (__v4sf)(__m128)_mm_setzero_ps (), \
12610 (__mmask8)(U)))
12611
12612 #define _mm256_fixupimm_pd(X, Y, Z, C) \
12613 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \
12614 (__v4df)(__m256d)(Y), \
12615 (__v4di)(__m256i)(Z), (int)(C), \
12616 (__mmask8)(-1)))
12617
12618 #define _mm256_mask_fixupimm_pd(X, U, Y, Z, C) \
12619 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \
12620 (__v4df)(__m256d)(Y), \
12621 (__v4di)(__m256i)(Z), (int)(C), \
12622 (__mmask8)(U)))
12623
12624 #define _mm256_maskz_fixupimm_pd(U, X, Y, Z, C) \
12625 ((__m256d)__builtin_ia32_fixupimmpd256_maskz ((__v4df)(__m256d)(X), \
12626 (__v4df)(__m256d)(Y), \
12627 (__v4di)(__m256i)(Z), (int)(C),\
12628 (__mmask8)(U)))
12629
12630 #define _mm256_fixupimm_ps(X, Y, Z, C) \
12631 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \
12632 (__v8sf)(__m256)(Y), \
12633 (__v8si)(__m256i)(Z), (int)(C), \
12634 (__mmask8)(-1)))
12635
12636
12637 #define _mm256_mask_fixupimm_ps(X, U, Y, Z, C) \
12638 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \
12639 (__v8sf)(__m256)(Y), \
12640 (__v8si)(__m256i)(Z), (int)(C), \
12641 (__mmask8)(U)))
12642
12643 #define _mm256_maskz_fixupimm_ps(U, X, Y, Z, C) \
12644 ((__m256)__builtin_ia32_fixupimmps256_maskz ((__v8sf)(__m256)(X), \
12645 (__v8sf)(__m256)(Y), \
12646 (__v8si)(__m256i)(Z), (int)(C),\
12647 (__mmask8)(U)))
12648
12649 #define _mm_fixupimm_pd(X, Y, Z, C) \
12650 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \
12651 (__v2df)(__m128d)(Y), \
12652 (__v2di)(__m128i)(Z), (int)(C), \
12653 (__mmask8)(-1)))
12654
12655
12656 #define _mm_mask_fixupimm_pd(X, U, Y, Z, C) \
12657 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \
12658 (__v2df)(__m128d)(Y), \
12659 (__v2di)(__m128i)(Z), (int)(C), \
12660 (__mmask8)(U)))
12661
12662 #define _mm_maskz_fixupimm_pd(U, X, Y, Z, C) \
12663 ((__m128d)__builtin_ia32_fixupimmpd128_maskz ((__v2df)(__m128d)(X), \
12664 (__v2df)(__m128d)(Y), \
12665 (__v2di)(__m128i)(Z), (int)(C),\
12666 (__mmask8)(U)))
12667
12668 #define _mm_fixupimm_ps(X, Y, Z, C) \
12669 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \
12670 (__v4sf)(__m128)(Y), \
12671 (__v4si)(__m128i)(Z), (int)(C), \
12672 (__mmask8)(-1)))
12673
12674 #define _mm_mask_fixupimm_ps(X, U, Y, Z, C) \
12675 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \
12676 (__v4sf)(__m128)(Y), \
12677 (__v4si)(__m128i)(Z), (int)(C),\
12678 (__mmask8)(U)))
12679
12680 #define _mm_maskz_fixupimm_ps(U, X, Y, Z, C) \
12681 ((__m128)__builtin_ia32_fixupimmps128_maskz ((__v4sf)(__m128)(X), \
12682 (__v4sf)(__m128)(Y), \
12683 (__v4si)(__m128i)(Z), (int)(C),\
12684 (__mmask8)(U)))
12685
12686 #define _mm256_mask_srli_epi32(W, U, A, B) \
12687 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \
12688 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
12689
12690 #define _mm256_maskz_srli_epi32(U, A, B) \
12691 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \
12692 (int)(B), (__v8si)_mm256_setzero_si256 (), (__mmask8)(U)))
12693
12694 #define _mm_mask_srli_epi32(W, U, A, B) \
12695 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \
12696 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
12697
12698 #define _mm_maskz_srli_epi32(U, A, B) \
12699 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \
12700 (int)(B), (__v4si)_mm_setzero_si128 (), (__mmask8)(U)))
12701
12702 #define _mm256_mask_srli_epi64(W, U, A, B) \
12703 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \
12704 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
12705
12706 #define _mm256_maskz_srli_epi64(U, A, B) \
12707 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \
12708 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
12709
12710 #define _mm_mask_srli_epi64(W, U, A, B) \
12711 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \
12712 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
12713
12714 #define _mm_maskz_srli_epi64(U, A, B) \
12715 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \
12716 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)(U)))
12717
12718 #define _mm256_mask_slli_epi32(W, U, X, C) \
12719 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
12720 (__v8si)(__m256i)(W), \
12721 (__mmask8)(U)))
12722
12723 #define _mm256_maskz_slli_epi32(U, X, C) \
12724 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
12725 (__v8si)(__m256i)_mm256_setzero_si256 (), \
12726 (__mmask8)(U)))
12727
12728 #define _mm256_mask_slli_epi64(W, U, X, C) \
12729 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
12730 (__v4di)(__m256i)(W), \
12731 (__mmask8)(U)))
12732
12733 #define _mm256_maskz_slli_epi64(U, X, C) \
12734 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
12735 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12736 (__mmask8)(U)))
12737
12738 #define _mm_mask_slli_epi32(W, U, X, C) \
12739 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
12740 (__v4si)(__m128i)(W),\
12741 (__mmask8)(U)))
12742
12743 #define _mm_maskz_slli_epi32(U, X, C) \
12744 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
12745 (__v4si)(__m128i)_mm_setzero_si128 (),\
12746 (__mmask8)(U)))
12747
12748 #define _mm_mask_slli_epi64(W, U, X, C) \
12749 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
12750 (__v2di)(__m128i)(W),\
12751 (__mmask8)(U)))
12752
12753 #define _mm_maskz_slli_epi64(U, X, C) \
12754 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
12755 (__v2di)(__m128i)_mm_setzero_si128 (),\
12756 (__mmask8)(U)))
12757
12758 #define _mm256_ternarylogic_epi64(A, B, C, I) \
12759 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \
12760 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)-1))
12761
12762 #define _mm256_mask_ternarylogic_epi64(A, U, B, C, I) \
12763 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \
12764 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
12765
12766 #define _mm256_maskz_ternarylogic_epi64(U, A, B, C, I) \
12767 ((__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di)(__m256i)(A), \
12768 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
12769
12770 #define _mm256_ternarylogic_epi32(A, B, C, I) \
12771 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \
12772 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)-1))
12773
12774 #define _mm256_mask_ternarylogic_epi32(A, U, B, C, I) \
12775 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \
12776 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
12777
12778 #define _mm256_maskz_ternarylogic_epi32(U, A, B, C, I) \
12779 ((__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si)(__m256i)(A), \
12780 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
12781
12782 #define _mm_ternarylogic_epi64(A, B, C, I) \
12783 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \
12784 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)-1))
12785
12786 #define _mm_mask_ternarylogic_epi64(A, U, B, C, I) \
12787 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \
12788 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
12789
12790 #define _mm_maskz_ternarylogic_epi64(U, A, B, C, I) \
12791 ((__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di)(__m128i)(A), \
12792 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
12793
12794 #define _mm_ternarylogic_epi32(A, B, C, I) \
12795 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \
12796 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)-1))
12797
12798 #define _mm_mask_ternarylogic_epi32(A, U, B, C, I) \
12799 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \
12800 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
12801
12802 #define _mm_maskz_ternarylogic_epi32(U, A, B, C, I) \
12803 ((__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si)(__m128i)(A), \
12804 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
12805
12806 #define _mm256_roundscale_ps(A, B) \
12807 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12808 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps (), (__mmask8)-1))
12809
12810 #define _mm256_mask_roundscale_ps(W, U, A, B) \
12811 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12812 (int)(B), (__v8sf)(__m256)(W), (__mmask8)(U)))
12813
12814 #define _mm256_maskz_roundscale_ps(U, A, B) \
12815 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12816 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps (), (__mmask8)(U)))
12817
12818 #define _mm256_roundscale_pd(A, B) \
12819 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12820 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)-1))
12821
12822 #define _mm256_mask_roundscale_pd(W, U, A, B) \
12823 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12824 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
12825
12826 #define _mm256_maskz_roundscale_pd(U, A, B) \
12827 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12828 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)(U)))
12829
12830 #define _mm_roundscale_ps(A, B) \
12831 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12832 (int)(B), (__v4sf)(__m128)_mm_setzero_ps (), (__mmask8)-1))
12833
12834 #define _mm_mask_roundscale_ps(W, U, A, B) \
12835 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12836 (int)(B), (__v4sf)(__m128)(W), (__mmask8)(U)))
12837
12838 #define _mm_maskz_roundscale_ps(U, A, B) \
12839 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12840 (int)(B), (__v4sf)(__m128)_mm_setzero_ps (), (__mmask8)(U)))
12841
12842 #define _mm_roundscale_pd(A, B) \
12843 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12844 (int)(B), (__v2df)(__m128d)_mm_setzero_pd (), (__mmask8)-1))
12845
12846 #define _mm_mask_roundscale_pd(W, U, A, B) \
12847 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12848 (int)(B), (__v2df)(__m128d)(W), (__mmask8)(U)))
12849
12850 #define _mm_maskz_roundscale_pd(U, A, B) \
12851 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12852 (int)(B), (__v2df)(__m128d)_mm_setzero_pd (), (__mmask8)(U)))
12853
12854 #define _mm256_getmant_ps(X, B, C) \
12855 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12856 (int)(((C)<<2) | (B)), \
12857 (__v8sf)(__m256)_mm256_setzero_ps (), \
12858 (__mmask8)-1))
12859
12860 #define _mm256_mask_getmant_ps(W, U, X, B, C) \
12861 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12862 (int)(((C)<<2) | (B)), \
12863 (__v8sf)(__m256)(W), \
12864 (__mmask8)(U)))
12865
12866 #define _mm256_maskz_getmant_ps(U, X, B, C) \
12867 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12868 (int)(((C)<<2) | (B)), \
12869 (__v8sf)(__m256)_mm256_setzero_ps (), \
12870 (__mmask8)(U)))
12871
12872 #define _mm_getmant_ps(X, B, C) \
12873 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12874 (int)(((C)<<2) | (B)), \
12875 (__v4sf)(__m128)_mm_setzero_ps (), \
12876 (__mmask8)-1))
12877
12878 #define _mm_mask_getmant_ps(W, U, X, B, C) \
12879 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12880 (int)(((C)<<2) | (B)), \
12881 (__v4sf)(__m128)(W), \
12882 (__mmask8)(U)))
12883
12884 #define _mm_maskz_getmant_ps(U, X, B, C) \
12885 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12886 (int)(((C)<<2) | (B)), \
12887 (__v4sf)(__m128)_mm_setzero_ps (), \
12888 (__mmask8)(U)))
12889
12890 #define _mm256_getmant_pd(X, B, C) \
12891 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12892 (int)(((C)<<2) | (B)), \
12893 (__v4df)(__m256d)_mm256_setzero_pd (),\
12894 (__mmask8)-1))
12895
12896 #define _mm256_mask_getmant_pd(W, U, X, B, C) \
12897 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12898 (int)(((C)<<2) | (B)), \
12899 (__v4df)(__m256d)(W), \
12900 (__mmask8)(U)))
12901
12902 #define _mm256_maskz_getmant_pd(U, X, B, C) \
12903 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12904 (int)(((C)<<2) | (B)), \
12905 (__v4df)(__m256d)_mm256_setzero_pd (),\
12906 (__mmask8)(U)))
12907
12908 #define _mm_getmant_pd(X, B, C) \
12909 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12910 (int)(((C)<<2) | (B)), \
12911 (__v2df)(__m128d)_mm_setzero_pd (), \
12912 (__mmask8)-1))
12913
12914 #define _mm_mask_getmant_pd(W, U, X, B, C) \
12915 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12916 (int)(((C)<<2) | (B)), \
12917 (__v2df)(__m128d)(W), \
12918 (__mmask8)(U)))
12919
12920 #define _mm_maskz_getmant_pd(U, X, B, C) \
12921 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12922 (int)(((C)<<2) | (B)), \
12923 (__v2df)(__m128d)_mm_setzero_pd (), \
12924 (__mmask8)(U)))
12925
12926 #define _mm256_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12927 (__m256) __builtin_ia32_gather3siv8sf ((__v8sf)(__m256)V1OLD, \
12928 (void const *)ADDR, \
12929 (__v8si)(__m256i)INDEX, \
12930 (__mmask8)MASK, (int)SCALE)
12931
12932 #define _mm_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12933 (__m128) __builtin_ia32_gather3siv4sf ((__v4sf)(__m128)V1OLD, \
12934 (void const *)ADDR, \
12935 (__v4si)(__m128i)INDEX, \
12936 (__mmask8)MASK, (int)SCALE)
12937
12938 #define _mm256_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12939 (__m256d) __builtin_ia32_gather3siv4df ((__v4df)(__m256d)V1OLD, \
12940 (void const *)ADDR, \
12941 (__v4si)(__m128i)INDEX, \
12942 (__mmask8)MASK, (int)SCALE)
12943
12944 #define _mm_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12945 (__m128d) __builtin_ia32_gather3siv2df ((__v2df)(__m128d)V1OLD, \
12946 (void const *)ADDR, \
12947 (__v4si)(__m128i)INDEX, \
12948 (__mmask8)MASK, (int)SCALE)
12949
12950 #define _mm256_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12951 (__m128) __builtin_ia32_gather3div8sf ((__v4sf)(__m128)V1OLD, \
12952 (void const *)ADDR, \
12953 (__v4di)(__m256i)INDEX, \
12954 (__mmask8)MASK, (int)SCALE)
12955
12956 #define _mm_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12957 (__m128) __builtin_ia32_gather3div4sf ((__v4sf)(__m128)V1OLD, \
12958 (void const *)ADDR, \
12959 (__v2di)(__m128i)INDEX, \
12960 (__mmask8)MASK, (int)SCALE)
12961
12962 #define _mm256_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12963 (__m256d) __builtin_ia32_gather3div4df ((__v4df)(__m256d)V1OLD, \
12964 (void const *)ADDR, \
12965 (__v4di)(__m256i)INDEX, \
12966 (__mmask8)MASK, (int)SCALE)
12967
12968 #define _mm_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12969 (__m128d) __builtin_ia32_gather3div2df ((__v2df)(__m128d)V1OLD, \
12970 (void const *)ADDR, \
12971 (__v2di)(__m128i)INDEX, \
12972 (__mmask8)MASK, (int)SCALE)
12973
12974 #define _mm256_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
12975 (__m256i) __builtin_ia32_gather3siv8si ((__v8si)(__m256i)V1OLD, \
12976 (void const *)ADDR, \
12977 (__v8si)(__m256i)INDEX, \
12978 (__mmask8)MASK, (int)SCALE)
12979
12980 #define _mm_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
12981 (__m128i) __builtin_ia32_gather3siv4si ((__v4si)(__m128i)V1OLD, \
12982 (void const *)ADDR, \
12983 (__v4si)(__m128i)INDEX, \
12984 (__mmask8)MASK, (int)SCALE)
12985
12986 #define _mm256_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
12987 (__m256i) __builtin_ia32_gather3siv4di ((__v4di)(__m256i)V1OLD, \
12988 (void const *)ADDR, \
12989 (__v4si)(__m128i)INDEX, \
12990 (__mmask8)MASK, (int)SCALE)
12991
12992 #define _mm_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
12993 (__m128i) __builtin_ia32_gather3siv2di ((__v2di)(__m128i)V1OLD, \
12994 (void const *)ADDR, \
12995 (__v4si)(__m128i)INDEX, \
12996 (__mmask8)MASK, (int)SCALE)
12997
12998 #define _mm256_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
12999 (__m128i) __builtin_ia32_gather3div8si ((__v4si)(__m128i)V1OLD, \
13000 (void const *)ADDR, \
13001 (__v4di)(__m256i)INDEX, \
13002 (__mmask8)MASK, (int)SCALE)
13003
13004 #define _mm_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
13005 (__m128i) __builtin_ia32_gather3div4si ((__v4si)(__m128i)V1OLD, \
13006 (void const *)ADDR, \
13007 (__v2di)(__m128i)INDEX, \
13008 (__mmask8)MASK, (int)SCALE)
13009
13010 #define _mm256_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
13011 (__m256i) __builtin_ia32_gather3div4di ((__v4di)(__m256i)V1OLD, \
13012 (void const *)ADDR, \
13013 (__v4di)(__m256i)INDEX, \
13014 (__mmask8)MASK, (int)SCALE)
13015
13016 #define _mm_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
13017 (__m128i) __builtin_ia32_gather3div2di ((__v2di)(__m128i)V1OLD, \
13018 (void const *)ADDR, \
13019 (__v2di)(__m128i)INDEX, \
13020 (__mmask8)MASK, (int)SCALE)
13021
13022 #define _mm256_i32scatter_ps(ADDR, INDEX, V1, SCALE) \
13023 __builtin_ia32_scattersiv8sf ((void *)ADDR, (__mmask8)0xFF, \
13024 (__v8si)(__m256i)INDEX, \
13025 (__v8sf)(__m256)V1, (int)SCALE)
13026
13027 #define _mm256_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13028 __builtin_ia32_scattersiv8sf ((void *)ADDR, (__mmask8)MASK, \
13029 (__v8si)(__m256i)INDEX, \
13030 (__v8sf)(__m256)V1, (int)SCALE)
13031
13032 #define _mm_i32scatter_ps(ADDR, INDEX, V1, SCALE) \
13033 __builtin_ia32_scattersiv4sf ((void *)ADDR, (__mmask8)0xFF, \
13034 (__v4si)(__m128i)INDEX, \
13035 (__v4sf)(__m128)V1, (int)SCALE)
13036
13037 #define _mm_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13038 __builtin_ia32_scattersiv4sf ((void *)ADDR, (__mmask8)MASK, \
13039 (__v4si)(__m128i)INDEX, \
13040 (__v4sf)(__m128)V1, (int)SCALE)
13041
13042 #define _mm256_i32scatter_pd(ADDR, INDEX, V1, SCALE) \
13043 __builtin_ia32_scattersiv4df ((void *)ADDR, (__mmask8)0xFF, \
13044 (__v4si)(__m128i)INDEX, \
13045 (__v4df)(__m256d)V1, (int)SCALE)
13046
13047 #define _mm256_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13048 __builtin_ia32_scattersiv4df ((void *)ADDR, (__mmask8)MASK, \
13049 (__v4si)(__m128i)INDEX, \
13050 (__v4df)(__m256d)V1, (int)SCALE)
13051
13052 #define _mm_i32scatter_pd(ADDR, INDEX, V1, SCALE) \
13053 __builtin_ia32_scattersiv2df ((void *)ADDR, (__mmask8)0xFF, \
13054 (__v4si)(__m128i)INDEX, \
13055 (__v2df)(__m128d)V1, (int)SCALE)
13056
13057 #define _mm_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13058 __builtin_ia32_scattersiv2df ((void *)ADDR, (__mmask8)MASK, \
13059 (__v4si)(__m128i)INDEX, \
13060 (__v2df)(__m128d)V1, (int)SCALE)
13061
13062 #define _mm256_i64scatter_ps(ADDR, INDEX, V1, SCALE) \
13063 __builtin_ia32_scatterdiv8sf ((void *)ADDR, (__mmask8)0xFF, \
13064 (__v4di)(__m256i)INDEX, \
13065 (__v4sf)(__m128)V1, (int)SCALE)
13066
13067 #define _mm256_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13068 __builtin_ia32_scatterdiv8sf ((void *)ADDR, (__mmask8)MASK, \
13069 (__v4di)(__m256i)INDEX, \
13070 (__v4sf)(__m128)V1, (int)SCALE)
13071
13072 #define _mm_i64scatter_ps(ADDR, INDEX, V1, SCALE) \
13073 __builtin_ia32_scatterdiv4sf ((void *)ADDR, (__mmask8)0xFF, \
13074 (__v2di)(__m128i)INDEX, \
13075 (__v4sf)(__m128)V1, (int)SCALE)
13076
13077 #define _mm_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13078 __builtin_ia32_scatterdiv4sf ((void *)ADDR, (__mmask8)MASK, \
13079 (__v2di)(__m128i)INDEX, \
13080 (__v4sf)(__m128)V1, (int)SCALE)
13081
13082 #define _mm256_i64scatter_pd(ADDR, INDEX, V1, SCALE) \
13083 __builtin_ia32_scatterdiv4df ((void *)ADDR, (__mmask8)0xFF, \
13084 (__v4di)(__m256i)INDEX, \
13085 (__v4df)(__m256d)V1, (int)SCALE)
13086
13087 #define _mm256_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13088 __builtin_ia32_scatterdiv4df ((void *)ADDR, (__mmask8)MASK, \
13089 (__v4di)(__m256i)INDEX, \
13090 (__v4df)(__m256d)V1, (int)SCALE)
13091
13092 #define _mm_i64scatter_pd(ADDR, INDEX, V1, SCALE) \
13093 __builtin_ia32_scatterdiv2df ((void *)ADDR, (__mmask8)0xFF, \
13094 (__v2di)(__m128i)INDEX, \
13095 (__v2df)(__m128d)V1, (int)SCALE)
13096
13097 #define _mm_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13098 __builtin_ia32_scatterdiv2df ((void *)ADDR, (__mmask8)MASK, \
13099 (__v2di)(__m128i)INDEX, \
13100 (__v2df)(__m128d)V1, (int)SCALE)
13101
13102 #define _mm256_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \
13103 __builtin_ia32_scattersiv8si ((void *)ADDR, (__mmask8)0xFF, \
13104 (__v8si)(__m256i)INDEX, \
13105 (__v8si)(__m256i)V1, (int)SCALE)
13106
13107 #define _mm256_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13108 __builtin_ia32_scattersiv8si ((void *)ADDR, (__mmask8)MASK, \
13109 (__v8si)(__m256i)INDEX, \
13110 (__v8si)(__m256i)V1, (int)SCALE)
13111
13112 #define _mm_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \
13113 __builtin_ia32_scattersiv4si ((void *)ADDR, (__mmask8)0xFF, \
13114 (__v4si)(__m128i)INDEX, \
13115 (__v4si)(__m128i)V1, (int)SCALE)
13116
13117 #define _mm_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13118 __builtin_ia32_scattersiv4si ((void *)ADDR, (__mmask8)MASK, \
13119 (__v4si)(__m128i)INDEX, \
13120 (__v4si)(__m128i)V1, (int)SCALE)
13121
13122 #define _mm256_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \
13123 __builtin_ia32_scattersiv4di ((void *)ADDR, (__mmask8)0xFF, \
13124 (__v4si)(__m128i)INDEX, \
13125 (__v4di)(__m256i)V1, (int)SCALE)
13126
13127 #define _mm256_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13128 __builtin_ia32_scattersiv4di ((void *)ADDR, (__mmask8)MASK, \
13129 (__v4si)(__m128i)INDEX, \
13130 (__v4di)(__m256i)V1, (int)SCALE)
13131
13132 #define _mm_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \
13133 __builtin_ia32_scattersiv2di ((void *)ADDR, (__mmask8)0xFF, \
13134 (__v4si)(__m128i)INDEX, \
13135 (__v2di)(__m128i)V1, (int)SCALE)
13136
13137 #define _mm_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13138 __builtin_ia32_scattersiv2di ((void *)ADDR, (__mmask8)MASK, \
13139 (__v4si)(__m128i)INDEX, \
13140 (__v2di)(__m128i)V1, (int)SCALE)
13141
13142 #define _mm256_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \
13143 __builtin_ia32_scatterdiv8si ((void *)ADDR, (__mmask8)0xFF, \
13144 (__v4di)(__m256i)INDEX, \
13145 (__v4si)(__m128i)V1, (int)SCALE)
13146
13147 #define _mm256_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13148 __builtin_ia32_scatterdiv8si ((void *)ADDR, (__mmask8)MASK, \
13149 (__v4di)(__m256i)INDEX, \
13150 (__v4si)(__m128i)V1, (int)SCALE)
13151
13152 #define _mm_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \
13153 __builtin_ia32_scatterdiv4si ((void *)ADDR, (__mmask8)0xFF, \
13154 (__v2di)(__m128i)INDEX, \
13155 (__v4si)(__m128i)V1, (int)SCALE)
13156
13157 #define _mm_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13158 __builtin_ia32_scatterdiv4si ((void *)ADDR, (__mmask8)MASK, \
13159 (__v2di)(__m128i)INDEX, \
13160 (__v4si)(__m128i)V1, (int)SCALE)
13161
13162 #define _mm256_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \
13163 __builtin_ia32_scatterdiv4di ((void *)ADDR, (__mmask8)0xFF, \
13164 (__v4di)(__m256i)INDEX, \
13165 (__v4di)(__m256i)V1, (int)SCALE)
13166
13167 #define _mm256_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13168 __builtin_ia32_scatterdiv4di ((void *)ADDR, (__mmask8)MASK, \
13169 (__v4di)(__m256i)INDEX, \
13170 (__v4di)(__m256i)V1, (int)SCALE)
13171
13172 #define _mm_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \
13173 __builtin_ia32_scatterdiv2di ((void *)ADDR, (__mmask8)0xFF, \
13174 (__v2di)(__m128i)INDEX, \
13175 (__v2di)(__m128i)V1, (int)SCALE)
13176
13177 #define _mm_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13178 __builtin_ia32_scatterdiv2di ((void *)ADDR, (__mmask8)MASK, \
13179 (__v2di)(__m128i)INDEX, \
13180 (__v2di)(__m128i)V1, (int)SCALE)
13181
13182 #define _mm256_mask_shuffle_epi32(W, U, X, C) \
13183 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \
13184 (__v8si)(__m256i)(W), \
13185 (__mmask8)(U)))
13186
13187 #define _mm256_maskz_shuffle_epi32(U, X, C) \
13188 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \
13189 (__v8si)(__m256i) \
13190 _mm256_setzero_si256 (), \
13191 (__mmask8)(U)))
13192
13193 #define _mm_mask_shuffle_epi32(W, U, X, C) \
13194 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \
13195 (__v4si)(__m128i)(W), \
13196 (__mmask8)(U)))
13197
13198 #define _mm_maskz_shuffle_epi32(U, X, C) \
13199 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \
13200 (__v4si)(__m128i)_mm_setzero_si128 (), \
13201 (__mmask8)(U)))
13202
13203 #define _mm256_rol_epi64(A, B) \
13204 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13205 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13206 (__mmask8)-1))
13207
13208 #define _mm256_mask_rol_epi64(W, U, A, B) \
13209 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13210 (__v4di)(__m256i)(W), \
13211 (__mmask8)(U)))
13212
13213 #define _mm256_maskz_rol_epi64(U, A, B) \
13214 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13215 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13216 (__mmask8)(U)))
13217
13218 #define _mm_rol_epi64(A, B) \
13219 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13220 (__v2di)(__m128i)_mm_setzero_si128 (),\
13221 (__mmask8)-1))
13222
13223 #define _mm_mask_rol_epi64(W, U, A, B) \
13224 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13225 (__v2di)(__m128i)(W), \
13226 (__mmask8)(U)))
13227
13228 #define _mm_maskz_rol_epi64(U, A, B) \
13229 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13230 (__v2di)(__m128i)_mm_setzero_si128 (),\
13231 (__mmask8)(U)))
13232
13233 #define _mm256_ror_epi64(A, B) \
13234 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13235 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13236 (__mmask8)-1))
13237
13238 #define _mm256_mask_ror_epi64(W, U, A, B) \
13239 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13240 (__v4di)(__m256i)(W), \
13241 (__mmask8)(U)))
13242
13243 #define _mm256_maskz_ror_epi64(U, A, B) \
13244 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13245 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13246 (__mmask8)(U)))
13247
13248 #define _mm_ror_epi64(A, B) \
13249 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13250 (__v2di)(__m128i)_mm_setzero_si128 (),\
13251 (__mmask8)-1))
13252
13253 #define _mm_mask_ror_epi64(W, U, A, B) \
13254 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13255 (__v2di)(__m128i)(W), \
13256 (__mmask8)(U)))
13257
13258 #define _mm_maskz_ror_epi64(U, A, B) \
13259 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13260 (__v2di)(__m128i)_mm_setzero_si128 (),\
13261 (__mmask8)(U)))
13262
13263 #define _mm256_rol_epi32(A, B) \
13264 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13265 (__v8si)(__m256i)_mm256_setzero_si256 (),\
13266 (__mmask8)-1))
13267
13268 #define _mm256_mask_rol_epi32(W, U, A, B) \
13269 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13270 (__v8si)(__m256i)(W), \
13271 (__mmask8)(U)))
13272
13273 #define _mm256_maskz_rol_epi32(U, A, B) \
13274 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13275 (__v8si)(__m256i)_mm256_setzero_si256 (),\
13276 (__mmask8)(U)))
13277
13278 #define _mm_rol_epi32(A, B) \
13279 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13280 (__v4si)(__m128i)_mm_setzero_si128 (),\
13281 (__mmask8)-1))
13282
13283 #define _mm_mask_rol_epi32(W, U, A, B) \
13284 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13285 (__v4si)(__m128i)(W), \
13286 (__mmask8)(U)))
13287
13288 #define _mm_maskz_rol_epi32(U, A, B) \
13289 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13290 (__v4si)(__m128i)_mm_setzero_si128 (),\
13291 (__mmask8)(U)))
13292
13293 #define _mm256_ror_epi32(A, B) \
13294 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13295 (__v8si)(__m256i)_mm256_setzero_si256 (),\
13296 (__mmask8)-1))
13297
13298 #define _mm256_mask_ror_epi32(W, U, A, B) \
13299 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13300 (__v8si)(__m256i)(W), \
13301 (__mmask8)(U)))
13302
13303 #define _mm256_maskz_ror_epi32(U, A, B) \
13304 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13305 (__v8si)(__m256i) \
13306 _mm256_setzero_si256 (), \
13307 (__mmask8)(U)))
13308
13309 #define _mm_ror_epi32(A, B) \
13310 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13311 (__v4si)(__m128i)_mm_setzero_si128 (),\
13312 (__mmask8)-1))
13313
13314 #define _mm_mask_ror_epi32(W, U, A, B) \
13315 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13316 (__v4si)(__m128i)(W), \
13317 (__mmask8)(U)))
13318
13319 #define _mm_maskz_ror_epi32(U, A, B) \
13320 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13321 (__v4si)(__m128i)_mm_setzero_si128 (),\
13322 (__mmask8)(U)))
13323
13324 #define _mm256_alignr_epi32(X, Y, C) \
13325 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13326 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(X), (__mmask8)-1))
13327
13328 #define _mm256_mask_alignr_epi32(W, U, X, Y, C) \
13329 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13330 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(W), (__mmask8)(U)))
13331
13332 #define _mm256_maskz_alignr_epi32(U, X, Y, C) \
13333 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13334 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)_mm256_setzero_si256 (),\
13335 (__mmask8)(U)))
13336
13337 #define _mm256_alignr_epi64(X, Y, C) \
13338 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13339 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(X), (__mmask8)-1))
13340
13341 #define _mm256_mask_alignr_epi64(W, U, X, Y, C) \
13342 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13343 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(W), (__mmask8)(U)))
13344
13345 #define _mm256_maskz_alignr_epi64(U, X, Y, C) \
13346 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13347 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)_mm256_setzero_si256 (),\
13348 (__mmask8)(U)))
13349
13350 #define _mm_alignr_epi32(X, Y, C) \
13351 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13352 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(X), (__mmask8)-1))
13353
13354 #define _mm_mask_alignr_epi32(W, U, X, Y, C) \
13355 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13356 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(W), (__mmask8)(U)))
13357
13358 #define _mm_maskz_alignr_epi32(U, X, Y, C) \
13359 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13360 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)_mm_setzero_si128 (),\
13361 (__mmask8)(U)))
13362
13363 #define _mm_alignr_epi64(X, Y, C) \
13364 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13365 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
13366
13367 #define _mm_mask_alignr_epi64(W, U, X, Y, C) \
13368 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13369 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
13370
13371 #define _mm_maskz_alignr_epi64(U, X, Y, C) \
13372 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13373 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)_mm_setzero_si128 (),\
13374 (__mmask8)(U)))
13375
13376 #define _mm_mask_cvtps_ph(W, U, A, I) \
13377 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I), \
13378 (__v8hi)(__m128i) (W), (__mmask8) (U)))
13379
13380 #define _mm_maskz_cvtps_ph(U, A, I) \
13381 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I), \
13382 (__v8hi)(__m128i) _mm_setzero_si128 (), (__mmask8) (U)))
13383
13384 #define _mm256_mask_cvtps_ph(W, U, A, I) \
13385 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I), \
13386 (__v8hi)(__m128i) (W), (__mmask8) (U)))
13387
13388 #define _mm256_maskz_cvtps_ph(U, A, I) \
13389 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I), \
13390 (__v8hi)(__m128i) _mm_setzero_si128 (), (__mmask8) (U)))
13391
13392 #define _mm256_mask_srai_epi32(W, U, A, B) \
13393 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \
13394 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
13395
13396 #define _mm256_maskz_srai_epi32(U, A, B) \
13397 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \
13398 (int)(B), (__v8si)_mm256_setzero_si256 (), (__mmask8)(U)))
13399
13400 #define _mm_mask_srai_epi32(W, U, A, B) \
13401 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \
13402 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
13403
13404 #define _mm_maskz_srai_epi32(U, A, B) \
13405 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \
13406 (int)(B), (__v4si)_mm_setzero_si128 (), (__mmask8)(U)))
13407
13408 #define _mm256_srai_epi64(A, B) \
13409 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13410 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)-1))
13411
13412 #define _mm256_mask_srai_epi64(W, U, A, B) \
13413 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13414 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
13415
13416 #define _mm256_maskz_srai_epi64(U, A, B) \
13417 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13418 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
13419
13420 #define _mm_srai_epi64(A, B) \
13421 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13422 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)-1))
13423
13424 #define _mm_mask_srai_epi64(W, U, A, B) \
13425 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13426 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
13427
13428 #define _mm_maskz_srai_epi64(U, A, B) \
13429 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13430 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)(U)))
13431
13432 #define _mm256_mask_permutex_pd(W, U, A, B) \
13433 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \
13434 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
13435
13436 #define _mm256_maskz_permutex_pd(U, A, B) \
13437 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \
13438 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)(U)))
13439
13440 #define _mm256_mask_permute_pd(W, U, X, C) \
13441 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \
13442 (__v4df)(__m256d)(W), \
13443 (__mmask8)(U)))
13444
13445 #define _mm256_maskz_permute_pd(U, X, C) \
13446 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \
13447 (__v4df)(__m256d)_mm256_setzero_pd (),\
13448 (__mmask8)(U)))
13449
13450 #define _mm256_mask_permute_ps(W, U, X, C) \
13451 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \
13452 (__v8sf)(__m256)(W), (__mmask8)(U)))
13453
13454 #define _mm256_maskz_permute_ps(U, X, C) \
13455 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \
13456 (__v8sf)(__m256)_mm256_setzero_ps (), \
13457 (__mmask8)(U)))
13458
13459 #define _mm_mask_permute_pd(W, U, X, C) \
13460 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \
13461 (__v2df)(__m128d)(W), (__mmask8)(U)))
13462
13463 #define _mm_maskz_permute_pd(U, X, C) \
13464 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \
13465 (__v2df)(__m128d)_mm_setzero_pd (), \
13466 (__mmask8)(U)))
13467
13468 #define _mm_mask_permute_ps(W, U, X, C) \
13469 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \
13470 (__v4sf)(__m128)(W), (__mmask8)(U)))
13471
13472 #define _mm_maskz_permute_ps(U, X, C) \
13473 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \
13474 (__v4sf)(__m128)_mm_setzero_ps (), \
13475 (__mmask8)(U)))
13476
13477 #define _mm256_mask_blend_pd(__U, __A, __W) \
13478 ((__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) (__A), \
13479 (__v4df) (__W), \
13480 (__mmask8) (__U)))
13481
13482 #define _mm256_mask_blend_ps(__U, __A, __W) \
13483 ((__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) (__A), \
13484 (__v8sf) (__W), \
13485 (__mmask8) (__U)))
13486
13487 #define _mm256_mask_blend_epi64(__U, __A, __W) \
13488 ((__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) (__A), \
13489 (__v4di) (__W), \
13490 (__mmask8) (__U)))
13491
13492 #define _mm256_mask_blend_epi32(__U, __A, __W) \
13493 ((__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) (__A), \
13494 (__v8si) (__W), \
13495 (__mmask8) (__U)))
13496
13497 #define _mm_mask_blend_pd(__U, __A, __W) \
13498 ((__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) (__A), \
13499 (__v2df) (__W), \
13500 (__mmask8) (__U)))
13501
13502 #define _mm_mask_blend_ps(__U, __A, __W) \
13503 ((__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) (__A), \
13504 (__v4sf) (__W), \
13505 (__mmask8) (__U)))
13506
13507 #define _mm_mask_blend_epi64(__U, __A, __W) \
13508 ((__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) (__A), \
13509 (__v2di) (__W), \
13510 (__mmask8) (__U)))
13511
13512 #define _mm_mask_blend_epi32(__U, __A, __W) \
13513 ((__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) (__A), \
13514 (__v4si) (__W), \
13515 (__mmask8) (__U)))
13516
13517 #define _mm256_cmp_epu32_mask(X, Y, P) \
13518 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \
13519 (__v8si)(__m256i)(Y), (int)(P),\
13520 (__mmask8)-1))
13521
13522 #define _mm256_cmp_epi64_mask(X, Y, P) \
13523 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \
13524 (__v4di)(__m256i)(Y), (int)(P),\
13525 (__mmask8)-1))
13526
13527 #define _mm256_cmp_epi32_mask(X, Y, P) \
13528 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \
13529 (__v8si)(__m256i)(Y), (int)(P),\
13530 (__mmask8)-1))
13531
13532 #define _mm256_cmp_epu64_mask(X, Y, P) \
13533 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \
13534 (__v4di)(__m256i)(Y), (int)(P),\
13535 (__mmask8)-1))
13536
13537 #define _mm256_cmp_pd_mask(X, Y, P) \
13538 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \
13539 (__v4df)(__m256d)(Y), (int)(P),\
13540 (__mmask8)-1))
13541
13542 #define _mm256_cmp_ps_mask(X, Y, P) \
13543 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \
13544 (__v8sf)(__m256)(Y), (int)(P),\
13545 (__mmask8)-1))
13546
13547 #define _mm256_mask_cmp_epi64_mask(M, X, Y, P) \
13548 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \
13549 (__v4di)(__m256i)(Y), (int)(P),\
13550 (__mmask8)(M)))
13551
13552 #define _mm256_mask_cmp_epi32_mask(M, X, Y, P) \
13553 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \
13554 (__v8si)(__m256i)(Y), (int)(P),\
13555 (__mmask8)(M)))
13556
13557 #define _mm256_mask_cmp_epu64_mask(M, X, Y, P) \
13558 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \
13559 (__v4di)(__m256i)(Y), (int)(P),\
13560 (__mmask8)(M)))
13561
13562 #define _mm256_mask_cmp_epu32_mask(M, X, Y, P) \
13563 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \
13564 (__v8si)(__m256i)(Y), (int)(P),\
13565 (__mmask8)(M)))
13566
13567 #define _mm256_mask_cmp_pd_mask(M, X, Y, P) \
13568 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \
13569 (__v4df)(__m256d)(Y), (int)(P),\
13570 (__mmask8)(M)))
13571
13572 #define _mm256_mask_cmp_ps_mask(M, X, Y, P) \
13573 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \
13574 (__v8sf)(__m256)(Y), (int)(P),\
13575 (__mmask8)(M)))
13576
13577 #define _mm_cmp_epi64_mask(X, Y, P) \
13578 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \
13579 (__v2di)(__m128i)(Y), (int)(P),\
13580 (__mmask8)-1))
13581
13582 #define _mm_cmp_epi32_mask(X, Y, P) \
13583 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \
13584 (__v4si)(__m128i)(Y), (int)(P),\
13585 (__mmask8)-1))
13586
13587 #define _mm_cmp_epu64_mask(X, Y, P) \
13588 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \
13589 (__v2di)(__m128i)(Y), (int)(P),\
13590 (__mmask8)-1))
13591
13592 #define _mm_cmp_epu32_mask(X, Y, P) \
13593 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \
13594 (__v4si)(__m128i)(Y), (int)(P),\
13595 (__mmask8)-1))
13596
13597 #define _mm_cmp_pd_mask(X, Y, P) \
13598 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \
13599 (__v2df)(__m128d)(Y), (int)(P),\
13600 (__mmask8)-1))
13601
13602 #define _mm_cmp_ps_mask(X, Y, P) \
13603 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \
13604 (__v4sf)(__m128)(Y), (int)(P),\
13605 (__mmask8)-1))
13606
13607 #define _mm_mask_cmp_epi64_mask(M, X, Y, P) \
13608 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \
13609 (__v2di)(__m128i)(Y), (int)(P),\
13610 (__mmask8)(M)))
13611
13612 #define _mm_mask_cmp_epi32_mask(M, X, Y, P) \
13613 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \
13614 (__v4si)(__m128i)(Y), (int)(P),\
13615 (__mmask8)(M)))
13616
13617 #define _mm_mask_cmp_epu64_mask(M, X, Y, P) \
13618 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \
13619 (__v2di)(__m128i)(Y), (int)(P),\
13620 (__mmask8)(M)))
13621
13622 #define _mm_mask_cmp_epu32_mask(M, X, Y, P) \
13623 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \
13624 (__v4si)(__m128i)(Y), (int)(P),\
13625 (__mmask8)(M)))
13626
13627 #define _mm_mask_cmp_pd_mask(M, X, Y, P) \
13628 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \
13629 (__v2df)(__m128d)(Y), (int)(P),\
13630 (__mmask8)(M)))
13631
13632 #define _mm_mask_cmp_ps_mask(M, X, Y, P) \
13633 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \
13634 (__v4sf)(__m128)(Y), (int)(P),\
13635 (__mmask8)(M)))
13636
13637 #endif
13638
13639 #define _mm256_permutexvar_ps(A, B) _mm256_permutevar8x32_ps ((B), (A))
13640
13641 #ifdef __DISABLE_AVX512VL__
13642 #undef __DISABLE_AVX512VL__
13643 #pragma GCC pop_options
13644 #endif /* __DISABLE_AVX512VL__ */
13645
13646 #endif /* _AVX512VLINTRIN_H_INCLUDED */
13647