1 /* Copyright (C) 2014-2016 Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3, or (at your option)
8 any later version.
9
10 GCC is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 Under Section 7 of GPL version 3, you are granted additional
16 permissions described in the GCC Runtime Library Exception, version
17 3.1, as published by the Free Software Foundation.
18
19 You should have received a copy of the GNU General Public License and
20 a copy of the GCC Runtime Library Exception along with this program;
21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22 <http://www.gnu.org/licenses/>. */
23
24 #ifndef _IMMINTRIN_H_INCLUDED
25 #error "Never use <avx512vlintrin.h> directly; include <immintrin.h> instead."
26 #endif
27
28 #ifndef _AVX512VLINTRIN_H_INCLUDED
29 #define _AVX512VLINTRIN_H_INCLUDED
30
31 /* Doesn't require avx512vl target and is used in avx512dqintrin.h. */
32 extern __inline __m128i
33 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_di(void)34 _mm_setzero_di (void)
35 {
36 return __extension__ (__m128i)(__v2di){ 0LL, 0LL};
37 }
38
39 #ifndef __AVX512VL__
40 #pragma GCC push_options
41 #pragma GCC target("avx512vl")
42 #define __DISABLE_AVX512VL__
43 #endif /* __AVX512VL__ */
44
45 /* Internal data types for implementing the intrinsics. */
46 typedef unsigned int __mmask32;
47
48 extern __inline __m256d
49 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_pd(__m256d __W,__mmask8 __U,__m256d __A)50 _mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A)
51 {
52 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
53 (__v4df) __W,
54 (__mmask8) __U);
55 }
56
57 extern __inline __m256d
58 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_pd(__mmask8 __U,__m256d __A)59 _mm256_maskz_mov_pd (__mmask8 __U, __m256d __A)
60 {
61 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
62 (__v4df)
63 _mm256_setzero_pd (),
64 (__mmask8) __U);
65 }
66
67 extern __inline __m128d
68 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_pd(__m128d __W,__mmask8 __U,__m128d __A)69 _mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A)
70 {
71 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
72 (__v2df) __W,
73 (__mmask8) __U);
74 }
75
76 extern __inline __m128d
77 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_pd(__mmask8 __U,__m128d __A)78 _mm_maskz_mov_pd (__mmask8 __U, __m128d __A)
79 {
80 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
81 (__v2df)
82 _mm_setzero_pd (),
83 (__mmask8) __U);
84 }
85
86 extern __inline __m256d
87 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_pd(__m256d __W,__mmask8 __U,void const * __P)88 _mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P)
89 {
90 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
91 (__v4df) __W,
92 (__mmask8) __U);
93 }
94
95 extern __inline __m256d
96 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_pd(__mmask8 __U,void const * __P)97 _mm256_maskz_load_pd (__mmask8 __U, void const *__P)
98 {
99 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
100 (__v4df)
101 _mm256_setzero_pd (),
102 (__mmask8) __U);
103 }
104
105 extern __inline __m128d
106 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_pd(__m128d __W,__mmask8 __U,void const * __P)107 _mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P)
108 {
109 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
110 (__v2df) __W,
111 (__mmask8) __U);
112 }
113
114 extern __inline __m128d
115 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_pd(__mmask8 __U,void const * __P)116 _mm_maskz_load_pd (__mmask8 __U, void const *__P)
117 {
118 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
119 (__v2df)
120 _mm_setzero_pd (),
121 (__mmask8) __U);
122 }
123
124 extern __inline void
125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_pd(void * __P,__mmask8 __U,__m256d __A)126 _mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A)
127 {
128 __builtin_ia32_storeapd256_mask ((__v4df *) __P,
129 (__v4df) __A,
130 (__mmask8) __U);
131 }
132
133 extern __inline void
134 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_pd(void * __P,__mmask8 __U,__m128d __A)135 _mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A)
136 {
137 __builtin_ia32_storeapd128_mask ((__v2df *) __P,
138 (__v2df) __A,
139 (__mmask8) __U);
140 }
141
142 extern __inline __m256
143 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_ps(__m256 __W,__mmask8 __U,__m256 __A)144 _mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A)
145 {
146 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
147 (__v8sf) __W,
148 (__mmask8) __U);
149 }
150
151 extern __inline __m256
152 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_ps(__mmask8 __U,__m256 __A)153 _mm256_maskz_mov_ps (__mmask8 __U, __m256 __A)
154 {
155 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
156 (__v8sf)
157 _mm256_setzero_ps (),
158 (__mmask8) __U);
159 }
160
161 extern __inline __m128
162 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_ps(__m128 __W,__mmask8 __U,__m128 __A)163 _mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A)
164 {
165 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
166 (__v4sf) __W,
167 (__mmask8) __U);
168 }
169
170 extern __inline __m128
171 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_ps(__mmask8 __U,__m128 __A)172 _mm_maskz_mov_ps (__mmask8 __U, __m128 __A)
173 {
174 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
175 (__v4sf)
176 _mm_setzero_ps (),
177 (__mmask8) __U);
178 }
179
180 extern __inline __m256
181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_ps(__m256 __W,__mmask8 __U,void const * __P)182 _mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P)
183 {
184 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
185 (__v8sf) __W,
186 (__mmask8) __U);
187 }
188
189 extern __inline __m256
190 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_ps(__mmask8 __U,void const * __P)191 _mm256_maskz_load_ps (__mmask8 __U, void const *__P)
192 {
193 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
194 (__v8sf)
195 _mm256_setzero_ps (),
196 (__mmask8) __U);
197 }
198
199 extern __inline __m128
200 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_ps(__m128 __W,__mmask8 __U,void const * __P)201 _mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P)
202 {
203 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
204 (__v4sf) __W,
205 (__mmask8) __U);
206 }
207
208 extern __inline __m128
209 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_ps(__mmask8 __U,void const * __P)210 _mm_maskz_load_ps (__mmask8 __U, void const *__P)
211 {
212 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
213 (__v4sf)
214 _mm_setzero_ps (),
215 (__mmask8) __U);
216 }
217
218 extern __inline void
219 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_ps(void * __P,__mmask8 __U,__m256 __A)220 _mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A)
221 {
222 __builtin_ia32_storeaps256_mask ((__v8sf *) __P,
223 (__v8sf) __A,
224 (__mmask8) __U);
225 }
226
227 extern __inline void
228 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_ps(void * __P,__mmask8 __U,__m128 __A)229 _mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A)
230 {
231 __builtin_ia32_storeaps128_mask ((__v4sf *) __P,
232 (__v4sf) __A,
233 (__mmask8) __U);
234 }
235
236 extern __inline __m256i
237 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi64(__m256i __W,__mmask8 __U,__m256i __A)238 _mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
239 {
240 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
241 (__v4di) __W,
242 (__mmask8) __U);
243 }
244
245 extern __inline __m256i
246 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi64(__mmask8 __U,__m256i __A)247 _mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A)
248 {
249 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
250 (__v4di)
251 _mm256_setzero_si256 (),
252 (__mmask8) __U);
253 }
254
255 extern __inline __m128i
256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi64(__m128i __W,__mmask8 __U,__m128i __A)257 _mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
258 {
259 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
260 (__v2di) __W,
261 (__mmask8) __U);
262 }
263
264 extern __inline __m128i
265 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi64(__mmask8 __U,__m128i __A)266 _mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A)
267 {
268 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
269 (__v2di)
270 _mm_setzero_di (),
271 (__mmask8) __U);
272 }
273
274 extern __inline __m256i
275 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_epi64(__m256i __W,__mmask8 __U,void const * __P)276 _mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P)
277 {
278 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
279 (__v4di) __W,
280 (__mmask8)
281 __U);
282 }
283
284 extern __inline __m256i
285 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_epi64(__mmask8 __U,void const * __P)286 _mm256_maskz_load_epi64 (__mmask8 __U, void const *__P)
287 {
288 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
289 (__v4di)
290 _mm256_setzero_si256 (),
291 (__mmask8)
292 __U);
293 }
294
295 extern __inline __m128i
296 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_epi64(__m128i __W,__mmask8 __U,void const * __P)297 _mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P)
298 {
299 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
300 (__v2di) __W,
301 (__mmask8)
302 __U);
303 }
304
305 extern __inline __m128i
306 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_epi64(__mmask8 __U,void const * __P)307 _mm_maskz_load_epi64 (__mmask8 __U, void const *__P)
308 {
309 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
310 (__v2di)
311 _mm_setzero_di (),
312 (__mmask8)
313 __U);
314 }
315
316 extern __inline void
317 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_epi64(void * __P,__mmask8 __U,__m256i __A)318 _mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A)
319 {
320 __builtin_ia32_movdqa64store256_mask ((__v4di *) __P,
321 (__v4di) __A,
322 (__mmask8) __U);
323 }
324
325 extern __inline void
326 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_epi64(void * __P,__mmask8 __U,__m128i __A)327 _mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A)
328 {
329 __builtin_ia32_movdqa64store128_mask ((__v2di *) __P,
330 (__v2di) __A,
331 (__mmask8) __U);
332 }
333
334 extern __inline __m256i
335 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi32(__m256i __W,__mmask8 __U,__m256i __A)336 _mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
337 {
338 return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
339 (__v8si) __W,
340 (__mmask8) __U);
341 }
342
343 extern __inline __m256i
344 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi32(__mmask8 __U,__m256i __A)345 _mm256_maskz_mov_epi32 (__mmask8 __U, __m256i __A)
346 {
347 return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
348 (__v8si)
349 _mm256_setzero_si256 (),
350 (__mmask8) __U);
351 }
352
353 extern __inline __m128i
354 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi32(__m128i __W,__mmask8 __U,__m128i __A)355 _mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
356 {
357 return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
358 (__v4si) __W,
359 (__mmask8) __U);
360 }
361
362 extern __inline __m128i
363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi32(__mmask8 __U,__m128i __A)364 _mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A)
365 {
366 return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
367 (__v4si)
368 _mm_setzero_si128 (),
369 (__mmask8) __U);
370 }
371
372 extern __inline __m256i
373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_epi32(__m256i __W,__mmask8 __U,void const * __P)374 _mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P)
375 {
376 return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
377 (__v8si) __W,
378 (__mmask8)
379 __U);
380 }
381
382 extern __inline __m256i
383 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_epi32(__mmask8 __U,void const * __P)384 _mm256_maskz_load_epi32 (__mmask8 __U, void const *__P)
385 {
386 return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
387 (__v8si)
388 _mm256_setzero_si256 (),
389 (__mmask8)
390 __U);
391 }
392
393 extern __inline __m128i
394 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_epi32(__m128i __W,__mmask8 __U,void const * __P)395 _mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P)
396 {
397 return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
398 (__v4si) __W,
399 (__mmask8)
400 __U);
401 }
402
403 extern __inline __m128i
404 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_epi32(__mmask8 __U,void const * __P)405 _mm_maskz_load_epi32 (__mmask8 __U, void const *__P)
406 {
407 return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
408 (__v4si)
409 _mm_setzero_si128 (),
410 (__mmask8)
411 __U);
412 }
413
414 extern __inline void
415 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_epi32(void * __P,__mmask8 __U,__m256i __A)416 _mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A)
417 {
418 __builtin_ia32_movdqa32store256_mask ((__v8si *) __P,
419 (__v8si) __A,
420 (__mmask8) __U);
421 }
422
423 extern __inline void
424 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_epi32(void * __P,__mmask8 __U,__m128i __A)425 _mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A)
426 {
427 __builtin_ia32_movdqa32store128_mask ((__v4si *) __P,
428 (__v4si) __A,
429 (__mmask8) __U);
430 }
431
432 extern __inline __m128i
433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_hi(void)434 _mm_setzero_hi (void)
435 {
436 return __extension__ (__m128i) (__v8hi)
437 {
438 0, 0, 0, 0, 0, 0, 0, 0};
439 }
440
441 extern __inline __m128d
442 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)443 _mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
444 {
445 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
446 (__v2df) __B,
447 (__v2df) __W,
448 (__mmask8) __U);
449 }
450
451 extern __inline __m128d
452 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_pd(__mmask8 __U,__m128d __A,__m128d __B)453 _mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B)
454 {
455 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
456 (__v2df) __B,
457 (__v2df)
458 _mm_setzero_pd (),
459 (__mmask8) __U);
460 }
461
462 extern __inline __m256d
463 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)464 _mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A,
465 __m256d __B)
466 {
467 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
468 (__v4df) __B,
469 (__v4df) __W,
470 (__mmask8) __U);
471 }
472
473 extern __inline __m256d
474 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_pd(__mmask8 __U,__m256d __A,__m256d __B)475 _mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B)
476 {
477 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
478 (__v4df) __B,
479 (__v4df)
480 _mm256_setzero_pd (),
481 (__mmask8) __U);
482 }
483
484 extern __inline __m128
485 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_ps(__m128 __W,__mmask16 __U,__m128 __A,__m128 __B)486 _mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B)
487 {
488 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
489 (__v4sf) __B,
490 (__v4sf) __W,
491 (__mmask8) __U);
492 }
493
494 extern __inline __m128
495 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_ps(__mmask16 __U,__m128 __A,__m128 __B)496 _mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B)
497 {
498 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
499 (__v4sf) __B,
500 (__v4sf)
501 _mm_setzero_ps (),
502 (__mmask8) __U);
503 }
504
505 extern __inline __m256
506 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_ps(__m256 __W,__mmask16 __U,__m256 __A,__m256 __B)507 _mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B)
508 {
509 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
510 (__v8sf) __B,
511 (__v8sf) __W,
512 (__mmask8) __U);
513 }
514
515 extern __inline __m256
516 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_ps(__mmask16 __U,__m256 __A,__m256 __B)517 _mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B)
518 {
519 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
520 (__v8sf) __B,
521 (__v8sf)
522 _mm256_setzero_ps (),
523 (__mmask8) __U);
524 }
525
526 extern __inline __m128d
527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)528 _mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
529 {
530 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
531 (__v2df) __B,
532 (__v2df) __W,
533 (__mmask8) __U);
534 }
535
536 extern __inline __m128d
537 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_pd(__mmask8 __U,__m128d __A,__m128d __B)538 _mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B)
539 {
540 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
541 (__v2df) __B,
542 (__v2df)
543 _mm_setzero_pd (),
544 (__mmask8) __U);
545 }
546
547 extern __inline __m256d
548 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)549 _mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A,
550 __m256d __B)
551 {
552 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
553 (__v4df) __B,
554 (__v4df) __W,
555 (__mmask8) __U);
556 }
557
558 extern __inline __m256d
559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_pd(__mmask8 __U,__m256d __A,__m256d __B)560 _mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B)
561 {
562 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
563 (__v4df) __B,
564 (__v4df)
565 _mm256_setzero_pd (),
566 (__mmask8) __U);
567 }
568
569 extern __inline __m128
570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_ps(__m128 __W,__mmask16 __U,__m128 __A,__m128 __B)571 _mm_mask_sub_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B)
572 {
573 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
574 (__v4sf) __B,
575 (__v4sf) __W,
576 (__mmask8) __U);
577 }
578
579 extern __inline __m128
580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_ps(__mmask16 __U,__m128 __A,__m128 __B)581 _mm_maskz_sub_ps (__mmask16 __U, __m128 __A, __m128 __B)
582 {
583 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
584 (__v4sf) __B,
585 (__v4sf)
586 _mm_setzero_ps (),
587 (__mmask8) __U);
588 }
589
590 extern __inline __m256
591 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_ps(__m256 __W,__mmask16 __U,__m256 __A,__m256 __B)592 _mm256_mask_sub_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B)
593 {
594 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
595 (__v8sf) __B,
596 (__v8sf) __W,
597 (__mmask8) __U);
598 }
599
600 extern __inline __m256
601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_ps(__mmask16 __U,__m256 __A,__m256 __B)602 _mm256_maskz_sub_ps (__mmask16 __U, __m256 __A, __m256 __B)
603 {
604 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
605 (__v8sf) __B,
606 (__v8sf)
607 _mm256_setzero_ps (),
608 (__mmask8) __U);
609 }
610
611 extern __inline void
612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_store_epi64(void * __P,__m256i __A)613 _mm256_store_epi64 (void *__P, __m256i __A)
614 {
615 *(__m256i *) __P = __A;
616 }
617
618 extern __inline void
619 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_epi64(void * __P,__m128i __A)620 _mm_store_epi64 (void *__P, __m128i __A)
621 {
622 *(__m128i *) __P = __A;
623 }
624
625 extern __inline __m256d
626 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_pd(__m256d __W,__mmask8 __U,void const * __P)627 _mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P)
628 {
629 return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
630 (__v4df) __W,
631 (__mmask8) __U);
632 }
633
634 extern __inline __m256d
635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_pd(__mmask8 __U,void const * __P)636 _mm256_maskz_loadu_pd (__mmask8 __U, void const *__P)
637 {
638 return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
639 (__v4df)
640 _mm256_setzero_pd (),
641 (__mmask8) __U);
642 }
643
644 extern __inline __m128d
645 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_pd(__m128d __W,__mmask8 __U,void const * __P)646 _mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P)
647 {
648 return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
649 (__v2df) __W,
650 (__mmask8) __U);
651 }
652
653 extern __inline __m128d
654 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_pd(__mmask8 __U,void const * __P)655 _mm_maskz_loadu_pd (__mmask8 __U, void const *__P)
656 {
657 return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
658 (__v2df)
659 _mm_setzero_pd (),
660 (__mmask8) __U);
661 }
662
663 extern __inline void
664 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_pd(void * __P,__mmask8 __U,__m256d __A)665 _mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A)
666 {
667 __builtin_ia32_storeupd256_mask ((__v4df *) __P,
668 (__v4df) __A,
669 (__mmask8) __U);
670 }
671
672 extern __inline void
673 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_pd(void * __P,__mmask8 __U,__m128d __A)674 _mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A)
675 {
676 __builtin_ia32_storeupd128_mask ((__v2df *) __P,
677 (__v2df) __A,
678 (__mmask8) __U);
679 }
680
681 extern __inline __m256
682 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_ps(__m256 __W,__mmask8 __U,void const * __P)683 _mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P)
684 {
685 return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
686 (__v8sf) __W,
687 (__mmask8) __U);
688 }
689
690 extern __inline __m256
691 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_ps(__mmask8 __U,void const * __P)692 _mm256_maskz_loadu_ps (__mmask8 __U, void const *__P)
693 {
694 return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
695 (__v8sf)
696 _mm256_setzero_ps (),
697 (__mmask8) __U);
698 }
699
700 extern __inline __m128
701 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_ps(__m128 __W,__mmask8 __U,void const * __P)702 _mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P)
703 {
704 return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
705 (__v4sf) __W,
706 (__mmask8) __U);
707 }
708
709 extern __inline __m128
710 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_ps(__mmask8 __U,void const * __P)711 _mm_maskz_loadu_ps (__mmask8 __U, void const *__P)
712 {
713 return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
714 (__v4sf)
715 _mm_setzero_ps (),
716 (__mmask8) __U);
717 }
718
719 extern __inline void
720 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_ps(void * __P,__mmask8 __U,__m256 __A)721 _mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A)
722 {
723 __builtin_ia32_storeups256_mask ((__v8sf *) __P,
724 (__v8sf) __A,
725 (__mmask8) __U);
726 }
727
728 extern __inline void
729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_ps(void * __P,__mmask8 __U,__m128 __A)730 _mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A)
731 {
732 __builtin_ia32_storeups128_mask ((__v4sf *) __P,
733 (__v4sf) __A,
734 (__mmask8) __U);
735 }
736
737 extern __inline __m256i
738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi64(__m256i __W,__mmask8 __U,void const * __P)739 _mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P)
740 {
741 return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
742 (__v4di) __W,
743 (__mmask8) __U);
744 }
745
746 extern __inline __m256i
747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi64(__mmask8 __U,void const * __P)748 _mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
749 {
750 return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
751 (__v4di)
752 _mm256_setzero_si256 (),
753 (__mmask8) __U);
754 }
755
756 extern __inline __m128i
757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi64(__m128i __W,__mmask8 __U,void const * __P)758 _mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
759 {
760 return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
761 (__v2di) __W,
762 (__mmask8) __U);
763 }
764
765 extern __inline __m128i
766 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi64(__mmask8 __U,void const * __P)767 _mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
768 {
769 return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
770 (__v2di)
771 _mm_setzero_di (),
772 (__mmask8) __U);
773 }
774
775 extern __inline void
776 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi64(void * __P,__mmask8 __U,__m256i __A)777 _mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A)
778 {
779 __builtin_ia32_storedqudi256_mask ((__v4di *) __P,
780 (__v4di) __A,
781 (__mmask8) __U);
782 }
783
784 extern __inline void
785 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi64(void * __P,__mmask8 __U,__m128i __A)786 _mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A)
787 {
788 __builtin_ia32_storedqudi128_mask ((__v2di *) __P,
789 (__v2di) __A,
790 (__mmask8) __U);
791 }
792
793 extern __inline __m256i
794 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi32(__m256i __W,__mmask8 __U,void const * __P)795 _mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
796 {
797 return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
798 (__v8si) __W,
799 (__mmask8) __U);
800 }
801
802 extern __inline __m256i
803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi32(__mmask8 __U,void const * __P)804 _mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
805 {
806 return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
807 (__v8si)
808 _mm256_setzero_si256 (),
809 (__mmask8) __U);
810 }
811
812 extern __inline __m128i
813 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi32(__m128i __W,__mmask8 __U,void const * __P)814 _mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
815 {
816 return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
817 (__v4si) __W,
818 (__mmask8) __U);
819 }
820
821 extern __inline __m128i
822 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi32(__mmask8 __U,void const * __P)823 _mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
824 {
825 return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
826 (__v4si)
827 _mm_setzero_si128 (),
828 (__mmask8) __U);
829 }
830
831 extern __inline void
832 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi32(void * __P,__mmask8 __U,__m256i __A)833 _mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A)
834 {
835 __builtin_ia32_storedqusi256_mask ((__v8si *) __P,
836 (__v8si) __A,
837 (__mmask8) __U);
838 }
839
840 extern __inline void
841 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi32(void * __P,__mmask8 __U,__m128i __A)842 _mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A)
843 {
844 __builtin_ia32_storedqusi128_mask ((__v4si *) __P,
845 (__v4si) __A,
846 (__mmask8) __U);
847 }
848
849 extern __inline __m256i
850 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi32(__m256i __W,__mmask8 __U,__m256i __A)851 _mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
852 {
853 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
854 (__v8si) __W,
855 (__mmask8) __U);
856 }
857
858 extern __inline __m256i
859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi32(__mmask8 __U,__m256i __A)860 _mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A)
861 {
862 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
863 (__v8si)
864 _mm256_setzero_si256 (),
865 (__mmask8) __U);
866 }
867
868 extern __inline __m128i
869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi32(__m128i __W,__mmask8 __U,__m128i __A)870 _mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
871 {
872 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
873 (__v4si) __W,
874 (__mmask8) __U);
875 }
876
877 extern __inline __m128i
878 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi32(__mmask8 __U,__m128i __A)879 _mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A)
880 {
881 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
882 (__v4si)
883 _mm_setzero_si128 (),
884 (__mmask8) __U);
885 }
886
887 extern __inline __m256i
888 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_abs_epi64(__m256i __A)889 _mm256_abs_epi64 (__m256i __A)
890 {
891 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
892 (__v4di)
893 _mm256_setzero_si256 (),
894 (__mmask8) -1);
895 }
896
897 extern __inline __m256i
898 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi64(__m256i __W,__mmask8 __U,__m256i __A)899 _mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
900 {
901 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
902 (__v4di) __W,
903 (__mmask8) __U);
904 }
905
906 extern __inline __m256i
907 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi64(__mmask8 __U,__m256i __A)908 _mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A)
909 {
910 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
911 (__v4di)
912 _mm256_setzero_si256 (),
913 (__mmask8) __U);
914 }
915
916 extern __inline __m128i
917 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_epi64(__m128i __A)918 _mm_abs_epi64 (__m128i __A)
919 {
920 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
921 (__v2di)
922 _mm_setzero_di (),
923 (__mmask8) -1);
924 }
925
926 extern __inline __m128i
927 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi64(__m128i __W,__mmask8 __U,__m128i __A)928 _mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
929 {
930 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
931 (__v2di) __W,
932 (__mmask8) __U);
933 }
934
935 extern __inline __m128i
936 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi64(__mmask8 __U,__m128i __A)937 _mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A)
938 {
939 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
940 (__v2di)
941 _mm_setzero_di (),
942 (__mmask8) __U);
943 }
944
945 extern __inline __m128i
946 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_epu32(__m256d __A)947 _mm256_cvtpd_epu32 (__m256d __A)
948 {
949 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
950 (__v4si)
951 _mm_setzero_si128 (),
952 (__mmask8) -1);
953 }
954
955 extern __inline __m128i
956 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)957 _mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
958 {
959 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
960 (__v4si) __W,
961 (__mmask8) __U);
962 }
963
964 extern __inline __m128i
965 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epu32(__mmask8 __U,__m256d __A)966 _mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A)
967 {
968 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
969 (__v4si)
970 _mm_setzero_si128 (),
971 (__mmask8) __U);
972 }
973
974 extern __inline __m128i
975 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epu32(__m128d __A)976 _mm_cvtpd_epu32 (__m128d __A)
977 {
978 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
979 (__v4si)
980 _mm_setzero_si128 (),
981 (__mmask8) -1);
982 }
983
984 extern __inline __m128i
985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)986 _mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
987 {
988 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
989 (__v4si) __W,
990 (__mmask8) __U);
991 }
992
993 extern __inline __m128i
994 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epu32(__mmask8 __U,__m128d __A)995 _mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A)
996 {
997 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
998 (__v4si)
999 _mm_setzero_si128 (),
1000 (__mmask8) __U);
1001 }
1002
1003 extern __inline __m256i
1004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epi32(__m256i __W,__mmask8 __U,__m256 __A)1005 _mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
1006 {
1007 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
1008 (__v8si) __W,
1009 (__mmask8) __U);
1010 }
1011
1012 extern __inline __m256i
1013 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epi32(__mmask8 __U,__m256 __A)1014 _mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A)
1015 {
1016 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
1017 (__v8si)
1018 _mm256_setzero_si256 (),
1019 (__mmask8) __U);
1020 }
1021
1022 extern __inline __m128i
1023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epi32(__m128i __W,__mmask8 __U,__m128 __A)1024 _mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
1025 {
1026 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
1027 (__v4si) __W,
1028 (__mmask8) __U);
1029 }
1030
1031 extern __inline __m128i
1032 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epi32(__mmask8 __U,__m128 __A)1033 _mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A)
1034 {
1035 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
1036 (__v4si)
1037 _mm_setzero_si128 (),
1038 (__mmask8) __U);
1039 }
1040
1041 extern __inline __m256i
1042 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttps_epu32(__m256 __A)1043 _mm256_cvttps_epu32 (__m256 __A)
1044 {
1045 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1046 (__v8si)
1047 _mm256_setzero_si256 (),
1048 (__mmask8) -1);
1049 }
1050
1051 extern __inline __m256i
1052 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epu32(__m256i __W,__mmask8 __U,__m256 __A)1053 _mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
1054 {
1055 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1056 (__v8si) __W,
1057 (__mmask8) __U);
1058 }
1059
1060 extern __inline __m256i
1061 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epu32(__mmask8 __U,__m256 __A)1062 _mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A)
1063 {
1064 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
1065 (__v8si)
1066 _mm256_setzero_si256 (),
1067 (__mmask8) __U);
1068 }
1069
1070 extern __inline __m128i
1071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epu32(__m128 __A)1072 _mm_cvttps_epu32 (__m128 __A)
1073 {
1074 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1075 (__v4si)
1076 _mm_setzero_si128 (),
1077 (__mmask8) -1);
1078 }
1079
1080 extern __inline __m128i
1081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epu32(__m128i __W,__mmask8 __U,__m128 __A)1082 _mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
1083 {
1084 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1085 (__v4si) __W,
1086 (__mmask8) __U);
1087 }
1088
1089 extern __inline __m128i
1090 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epu32(__mmask8 __U,__m128 __A)1091 _mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A)
1092 {
1093 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
1094 (__v4si)
1095 _mm_setzero_si128 (),
1096 (__mmask8) __U);
1097 }
1098
1099 extern __inline __m128i
1100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1101 _mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
1102 {
1103 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
1104 (__v4si) __W,
1105 (__mmask8) __U);
1106 }
1107
1108 extern __inline __m128i
1109 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epi32(__mmask8 __U,__m256d __A)1110 _mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A)
1111 {
1112 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
1113 (__v4si)
1114 _mm_setzero_si128 (),
1115 (__mmask8) __U);
1116 }
1117
1118 extern __inline __m128i
1119 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1120 _mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
1121 {
1122 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
1123 (__v4si) __W,
1124 (__mmask8) __U);
1125 }
1126
1127 extern __inline __m128i
1128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epi32(__mmask8 __U,__m128d __A)1129 _mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A)
1130 {
1131 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
1132 (__v4si)
1133 _mm_setzero_si128 (),
1134 (__mmask8) __U);
1135 }
1136
1137 extern __inline __m128i
1138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttpd_epu32(__m256d __A)1139 _mm256_cvttpd_epu32 (__m256d __A)
1140 {
1141 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1142 (__v4si)
1143 _mm_setzero_si128 (),
1144 (__mmask8) -1);
1145 }
1146
1147 extern __inline __m128i
1148 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m256d __A)1149 _mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
1150 {
1151 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1152 (__v4si) __W,
1153 (__mmask8) __U);
1154 }
1155
1156 extern __inline __m128i
1157 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epu32(__mmask8 __U,__m256d __A)1158 _mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A)
1159 {
1160 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
1161 (__v4si)
1162 _mm_setzero_si128 (),
1163 (__mmask8) __U);
1164 }
1165
1166 extern __inline __m128i
1167 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epu32(__m128d __A)1168 _mm_cvttpd_epu32 (__m128d __A)
1169 {
1170 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1171 (__v4si)
1172 _mm_setzero_si128 (),
1173 (__mmask8) -1);
1174 }
1175
1176 extern __inline __m128i
1177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epu32(__m128i __W,__mmask8 __U,__m128d __A)1178 _mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
1179 {
1180 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1181 (__v4si) __W,
1182 (__mmask8) __U);
1183 }
1184
1185 extern __inline __m128i
1186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epu32(__mmask8 __U,__m128d __A)1187 _mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A)
1188 {
1189 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
1190 (__v4si)
1191 _mm_setzero_si128 (),
1192 (__mmask8) __U);
1193 }
1194
1195 extern __inline __m128i
1196 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m256d __A)1197 _mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
1198 {
1199 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1200 (__v4si) __W,
1201 (__mmask8) __U);
1202 }
1203
1204 extern __inline __m128i
1205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epi32(__mmask8 __U,__m256d __A)1206 _mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A)
1207 {
1208 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1209 (__v4si)
1210 _mm_setzero_si128 (),
1211 (__mmask8) __U);
1212 }
1213
1214 extern __inline __m128i
1215 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epi32(__m128i __W,__mmask8 __U,__m128d __A)1216 _mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
1217 {
1218 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1219 (__v4si) __W,
1220 (__mmask8) __U);
1221 }
1222
1223 extern __inline __m128i
1224 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epi32(__mmask8 __U,__m128d __A)1225 _mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A)
1226 {
1227 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1228 (__v4si)
1229 _mm_setzero_si128 (),
1230 (__mmask8) __U);
1231 }
1232
1233 extern __inline __m256d
1234 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_pd(__m256d __W,__mmask8 __U,__m128i __A)1235 _mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A)
1236 {
1237 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
1238 (__v4df) __W,
1239 (__mmask8) __U);
1240 }
1241
1242 extern __inline __m256d
1243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1244 _mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
1245 {
1246 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
1247 (__v4df)
1248 _mm256_setzero_pd (),
1249 (__mmask8) __U);
1250 }
1251
1252 extern __inline __m128d
1253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_pd(__m128d __W,__mmask8 __U,__m128i __A)1254 _mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A)
1255 {
1256 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
1257 (__v2df) __W,
1258 (__mmask8) __U);
1259 }
1260
1261 extern __inline __m128d
1262 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_pd(__mmask8 __U,__m128i __A)1263 _mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
1264 {
1265 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
1266 (__v2df)
1267 _mm_setzero_pd (),
1268 (__mmask8) __U);
1269 }
1270
1271 extern __inline __m256d
1272 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_pd(__m128i __A)1273 _mm256_cvtepu32_pd (__m128i __A)
1274 {
1275 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1276 (__v4df)
1277 _mm256_setzero_pd (),
1278 (__mmask8) -1);
1279 }
1280
1281 extern __inline __m256d
1282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_pd(__m256d __W,__mmask8 __U,__m128i __A)1283 _mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A)
1284 {
1285 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1286 (__v4df) __W,
1287 (__mmask8) __U);
1288 }
1289
1290 extern __inline __m256d
1291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)1292 _mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
1293 {
1294 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
1295 (__v4df)
1296 _mm256_setzero_pd (),
1297 (__mmask8) __U);
1298 }
1299
1300 extern __inline __m128d
1301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_pd(__m128i __A)1302 _mm_cvtepu32_pd (__m128i __A)
1303 {
1304 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1305 (__v2df)
1306 _mm_setzero_pd (),
1307 (__mmask8) -1);
1308 }
1309
1310 extern __inline __m128d
1311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_pd(__m128d __W,__mmask8 __U,__m128i __A)1312 _mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A)
1313 {
1314 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1315 (__v2df) __W,
1316 (__mmask8) __U);
1317 }
1318
1319 extern __inline __m128d
1320 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_pd(__mmask8 __U,__m128i __A)1321 _mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
1322 {
1323 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
1324 (__v2df)
1325 _mm_setzero_pd (),
1326 (__mmask8) __U);
1327 }
1328
1329 extern __inline __m256
1330 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_ps(__m256 __W,__mmask8 __U,__m256i __A)1331 _mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A)
1332 {
1333 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1334 (__v8sf) __W,
1335 (__mmask8) __U);
1336 }
1337
1338 extern __inline __m256
1339 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_ps(__mmask16 __U,__m256i __A)1340 _mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A)
1341 {
1342 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1343 (__v8sf)
1344 _mm256_setzero_ps (),
1345 (__mmask8) __U);
1346 }
1347
1348 extern __inline __m128
1349 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_ps(__m128 __W,__mmask8 __U,__m128i __A)1350 _mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A)
1351 {
1352 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1353 (__v4sf) __W,
1354 (__mmask8) __U);
1355 }
1356
1357 extern __inline __m128
1358 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_ps(__mmask16 __U,__m128i __A)1359 _mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A)
1360 {
1361 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1362 (__v4sf)
1363 _mm_setzero_ps (),
1364 (__mmask8) __U);
1365 }
1366
1367 extern __inline __m256
1368 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_ps(__m256i __A)1369 _mm256_cvtepu32_ps (__m256i __A)
1370 {
1371 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1372 (__v8sf)
1373 _mm256_setzero_ps (),
1374 (__mmask8) -1);
1375 }
1376
1377 extern __inline __m256
1378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_ps(__m256 __W,__mmask8 __U,__m256i __A)1379 _mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A)
1380 {
1381 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1382 (__v8sf) __W,
1383 (__mmask8) __U);
1384 }
1385
1386 extern __inline __m256
1387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_ps(__mmask8 __U,__m256i __A)1388 _mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A)
1389 {
1390 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
1391 (__v8sf)
1392 _mm256_setzero_ps (),
1393 (__mmask8) __U);
1394 }
1395
1396 extern __inline __m128
1397 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_ps(__m128i __A)1398 _mm_cvtepu32_ps (__m128i __A)
1399 {
1400 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1401 (__v4sf)
1402 _mm_setzero_ps (),
1403 (__mmask8) -1);
1404 }
1405
1406 extern __inline __m128
1407 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_ps(__m128 __W,__mmask8 __U,__m128i __A)1408 _mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A)
1409 {
1410 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1411 (__v4sf) __W,
1412 (__mmask8) __U);
1413 }
1414
1415 extern __inline __m128
1416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_ps(__mmask8 __U,__m128i __A)1417 _mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A)
1418 {
1419 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
1420 (__v4sf)
1421 _mm_setzero_ps (),
1422 (__mmask8) __U);
1423 }
1424
1425 extern __inline __m256d
1426 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_pd(__m256d __W,__mmask8 __U,__m128 __A)1427 _mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A)
1428 {
1429 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1430 (__v4df) __W,
1431 (__mmask8) __U);
1432 }
1433
1434 extern __inline __m256d
1435 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1436 _mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
1437 {
1438 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1439 (__v4df)
1440 _mm256_setzero_pd (),
1441 (__mmask8) __U);
1442 }
1443
1444 extern __inline __m128d
1445 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_pd(__m128d __W,__mmask8 __U,__m128 __A)1446 _mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A)
1447 {
1448 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1449 (__v2df) __W,
1450 (__mmask8) __U);
1451 }
1452
1453 extern __inline __m128d
1454 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_pd(__mmask8 __U,__m128 __A)1455 _mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
1456 {
1457 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1458 (__v2df)
1459 _mm_setzero_pd (),
1460 (__mmask8) __U);
1461 }
1462
1463 extern __inline __m128i
1464 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi8(__m128i __A)1465 _mm_cvtepi32_epi8 (__m128i __A)
1466 {
1467 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1468 (__v16qi)_mm_undefined_si128(),
1469 (__mmask8) -1);
1470 }
1471
1472 extern __inline void
1473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1474 _mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1475 {
1476 __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1477 }
1478
1479 extern __inline __m128i
1480 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1481 _mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1482 {
1483 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1484 (__v16qi) __O, __M);
1485 }
1486
1487 extern __inline __m128i
1488 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi8(__mmask8 __M,__m128i __A)1489 _mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A)
1490 {
1491 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
1492 (__v16qi)
1493 _mm_setzero_si128 (),
1494 __M);
1495 }
1496
1497 extern __inline __m128i
1498 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi8(__m256i __A)1499 _mm256_cvtepi32_epi8 (__m256i __A)
1500 {
1501 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1502 (__v16qi)_mm_undefined_si128(),
1503 (__mmask8) -1);
1504 }
1505
1506 extern __inline __m128i
1507 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1508 _mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1509 {
1510 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1511 (__v16qi) __O, __M);
1512 }
1513
1514 extern __inline void
1515 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1516 _mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1517 {
1518 __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
1519 }
1520
1521 extern __inline __m128i
1522 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi8(__mmask8 __M,__m256i __A)1523 _mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A)
1524 {
1525 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
1526 (__v16qi)
1527 _mm_setzero_si128 (),
1528 __M);
1529 }
1530
1531 extern __inline __m128i
1532 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi8(__m128i __A)1533 _mm_cvtsepi32_epi8 (__m128i __A)
1534 {
1535 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1536 (__v16qi)_mm_undefined_si128(),
1537 (__mmask8) -1);
1538 }
1539
1540 extern __inline void
1541 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1542 _mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1543 {
1544 __builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1545 }
1546
1547 extern __inline __m128i
1548 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1549 _mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1550 {
1551 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1552 (__v16qi) __O, __M);
1553 }
1554
1555 extern __inline __m128i
1556 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi8(__mmask8 __M,__m128i __A)1557 _mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A)
1558 {
1559 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
1560 (__v16qi)
1561 _mm_setzero_si128 (),
1562 __M);
1563 }
1564
1565 extern __inline __m128i
1566 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi8(__m256i __A)1567 _mm256_cvtsepi32_epi8 (__m256i __A)
1568 {
1569 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1570 (__v16qi)_mm_undefined_si128(),
1571 (__mmask8) -1);
1572 }
1573
1574 extern __inline void
1575 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1576 _mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1577 {
1578 __builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
1579 }
1580
1581 extern __inline __m128i
1582 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1583 _mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1584 {
1585 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1586 (__v16qi) __O, __M);
1587 }
1588
1589 extern __inline __m128i
1590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi8(__mmask8 __M,__m256i __A)1591 _mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A)
1592 {
1593 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
1594 (__v16qi)
1595 _mm_setzero_si128 (),
1596 __M);
1597 }
1598
1599 extern __inline __m128i
1600 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi8(__m128i __A)1601 _mm_cvtusepi32_epi8 (__m128i __A)
1602 {
1603 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1604 (__v16qi)_mm_undefined_si128(),
1605 (__mmask8) -1);
1606 }
1607
1608 extern __inline void
1609 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1610 _mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1611 {
1612 __builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
1613 }
1614
1615 extern __inline __m128i
1616 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m128i __A)1617 _mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1618 {
1619 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1620 (__v16qi) __O,
1621 __M);
1622 }
1623
1624 extern __inline __m128i
1625 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi8(__mmask8 __M,__m128i __A)1626 _mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A)
1627 {
1628 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
1629 (__v16qi)
1630 _mm_setzero_si128 (),
1631 __M);
1632 }
1633
1634 extern __inline __m128i
1635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi8(__m256i __A)1636 _mm256_cvtusepi32_epi8 (__m256i __A)
1637 {
1638 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1639 (__v16qi)_mm_undefined_si128(),
1640 (__mmask8) -1);
1641 }
1642
1643 extern __inline void
1644 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1645 _mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1646 {
1647 __builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M);
1648 }
1649
1650 extern __inline __m128i
1651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi8(__m128i __O,__mmask8 __M,__m256i __A)1652 _mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1653 {
1654 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1655 (__v16qi) __O,
1656 __M);
1657 }
1658
1659 extern __inline __m128i
1660 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi8(__mmask8 __M,__m256i __A)1661 _mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A)
1662 {
1663 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
1664 (__v16qi)
1665 _mm_setzero_si128 (),
1666 __M);
1667 }
1668
1669 extern __inline __m128i
1670 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi16(__m128i __A)1671 _mm_cvtepi32_epi16 (__m128i __A)
1672 {
1673 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1674 (__v8hi) _mm_setzero_si128 (),
1675 (__mmask8) -1);
1676 }
1677
1678 extern __inline void
1679 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1680 _mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1681 {
1682 __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1683 }
1684
1685 extern __inline __m128i
1686 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1687 _mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1688 {
1689 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1690 (__v8hi) __O, __M);
1691 }
1692
1693 extern __inline __m128i
1694 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi16(__mmask8 __M,__m128i __A)1695 _mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A)
1696 {
1697 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
1698 (__v8hi)
1699 _mm_setzero_si128 (),
1700 __M);
1701 }
1702
1703 extern __inline __m128i
1704 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi16(__m256i __A)1705 _mm256_cvtepi32_epi16 (__m256i __A)
1706 {
1707 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1708 (__v8hi)_mm_setzero_si128 (),
1709 (__mmask8) -1);
1710 }
1711
1712 extern __inline void
1713 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1714 _mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1715 {
1716 __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1717 }
1718
1719 extern __inline __m128i
1720 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1721 _mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1722 {
1723 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1724 (__v8hi) __O, __M);
1725 }
1726
1727 extern __inline __m128i
1728 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi16(__mmask8 __M,__m256i __A)1729 _mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A)
1730 {
1731 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
1732 (__v8hi)
1733 _mm_setzero_si128 (),
1734 __M);
1735 }
1736
1737 extern __inline __m128i
1738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi16(__m128i __A)1739 _mm_cvtsepi32_epi16 (__m128i __A)
1740 {
1741 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1742 (__v8hi)_mm_setzero_si128 (),
1743 (__mmask8) -1);
1744 }
1745
1746 extern __inline void
1747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1748 _mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1749 {
1750 __builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1751 }
1752
1753 extern __inline __m128i
1754 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1755 _mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1756 {
1757 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1758 (__v8hi)__O,
1759 __M);
1760 }
1761
1762 extern __inline __m128i
1763 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi16(__mmask8 __M,__m128i __A)1764 _mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A)
1765 {
1766 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
1767 (__v8hi)
1768 _mm_setzero_si128 (),
1769 __M);
1770 }
1771
1772 extern __inline __m128i
1773 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi16(__m256i __A)1774 _mm256_cvtsepi32_epi16 (__m256i __A)
1775 {
1776 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1777 (__v8hi)_mm_undefined_si128(),
1778 (__mmask8) -1);
1779 }
1780
1781 extern __inline void
1782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1783 _mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1784 {
1785 __builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1786 }
1787
1788 extern __inline __m128i
1789 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1790 _mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1791 {
1792 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1793 (__v8hi) __O, __M);
1794 }
1795
1796 extern __inline __m128i
1797 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi16(__mmask8 __M,__m256i __A)1798 _mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A)
1799 {
1800 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
1801 (__v8hi)
1802 _mm_setzero_si128 (),
1803 __M);
1804 }
1805
1806 extern __inline __m128i
1807 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi16(__m128i __A)1808 _mm_cvtusepi32_epi16 (__m128i __A)
1809 {
1810 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1811 (__v8hi)_mm_undefined_si128(),
1812 (__mmask8) -1);
1813 }
1814
1815 extern __inline void
1816 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)1817 _mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
1818 {
1819 __builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
1820 }
1821
1822 extern __inline __m128i
1823 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m128i __A)1824 _mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
1825 {
1826 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1827 (__v8hi) __O, __M);
1828 }
1829
1830 extern __inline __m128i
1831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi16(__mmask8 __M,__m128i __A)1832 _mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A)
1833 {
1834 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
1835 (__v8hi)
1836 _mm_setzero_si128 (),
1837 __M);
1838 }
1839
1840 extern __inline __m128i
1841 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi16(__m256i __A)1842 _mm256_cvtusepi32_epi16 (__m256i __A)
1843 {
1844 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1845 (__v8hi)_mm_undefined_si128(),
1846 (__mmask8) -1);
1847 }
1848
1849 extern __inline void
1850 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)1851 _mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
1852 {
1853 __builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
1854 }
1855
1856 extern __inline __m128i
1857 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi16(__m128i __O,__mmask8 __M,__m256i __A)1858 _mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
1859 {
1860 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1861 (__v8hi) __O, __M);
1862 }
1863
1864 extern __inline __m128i
1865 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi16(__mmask8 __M,__m256i __A)1866 _mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A)
1867 {
1868 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
1869 (__v8hi)
1870 _mm_setzero_si128 (),
1871 __M);
1872 }
1873
1874 extern __inline __m128i
1875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi8(__m128i __A)1876 _mm_cvtepi64_epi8 (__m128i __A)
1877 {
1878 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1879 (__v16qi)_mm_undefined_si128(),
1880 (__mmask8) -1);
1881 }
1882
1883 extern __inline void
1884 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1885 _mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1886 {
1887 __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
1888 }
1889
1890 extern __inline __m128i
1891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)1892 _mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1893 {
1894 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1895 (__v16qi) __O, __M);
1896 }
1897
1898 extern __inline __m128i
1899 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi8(__mmask8 __M,__m128i __A)1900 _mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A)
1901 {
1902 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
1903 (__v16qi)
1904 _mm_setzero_si128 (),
1905 __M);
1906 }
1907
1908 extern __inline __m128i
1909 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi8(__m256i __A)1910 _mm256_cvtepi64_epi8 (__m256i __A)
1911 {
1912 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1913 (__v16qi)_mm_undefined_si128(),
1914 (__mmask8) -1);
1915 }
1916
1917 extern __inline void
1918 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1919 _mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1920 {
1921 __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
1922 }
1923
1924 extern __inline __m128i
1925 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)1926 _mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1927 {
1928 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1929 (__v16qi) __O, __M);
1930 }
1931
1932 extern __inline __m128i
1933 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi8(__mmask8 __M,__m256i __A)1934 _mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A)
1935 {
1936 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
1937 (__v16qi)
1938 _mm_setzero_si128 (),
1939 __M);
1940 }
1941
1942 extern __inline __m128i
1943 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi8(__m128i __A)1944 _mm_cvtsepi64_epi8 (__m128i __A)
1945 {
1946 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1947 (__v16qi)_mm_undefined_si128(),
1948 (__mmask8) -1);
1949 }
1950
1951 extern __inline void
1952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)1953 _mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1954 {
1955 __builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
1956 }
1957
1958 extern __inline __m128i
1959 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m128i __A)1960 _mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
1961 {
1962 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1963 (__v16qi) __O, __M);
1964 }
1965
1966 extern __inline __m128i
1967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi8(__mmask8 __M,__m128i __A)1968 _mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A)
1969 {
1970 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
1971 (__v16qi)
1972 _mm_setzero_si128 (),
1973 __M);
1974 }
1975
1976 extern __inline __m128i
1977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi8(__m256i __A)1978 _mm256_cvtsepi64_epi8 (__m256i __A)
1979 {
1980 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
1981 (__v16qi)_mm_undefined_si128(),
1982 (__mmask8) -1);
1983 }
1984
1985 extern __inline void
1986 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)1987 _mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1988 {
1989 __builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
1990 }
1991
1992 extern __inline __m128i
1993 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)1994 _mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
1995 {
1996 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
1997 (__v16qi) __O, __M);
1998 }
1999
2000 extern __inline __m128i
2001 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi8(__mmask8 __M,__m256i __A)2002 _mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A)
2003 {
2004 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
2005 (__v16qi)
2006 _mm_setzero_si128 (),
2007 __M);
2008 }
2009
2010 extern __inline __m128i
2011 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi8(__m128i __A)2012 _mm_cvtusepi64_epi8 (__m128i __A)
2013 {
2014 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
2015 (__v16qi)_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)_mm_undefined_si128(),
2051 (__mmask8) -1);
2052 }
2053
2054 extern __inline void
2055 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)2056 _mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
2057 {
2058 __builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
2059 }
2060
2061 extern __inline __m128i
2062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi8(__m128i __O,__mmask8 __M,__m256i __A)2063 _mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
2064 {
2065 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2066 (__v16qi) __O,
2067 __M);
2068 }
2069
2070 extern __inline __m128i
2071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi8(__mmask8 __M,__m256i __A)2072 _mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A)
2073 {
2074 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
2075 (__v16qi)
2076 _mm_setzero_si128 (),
2077 __M);
2078 }
2079
2080 extern __inline __m128i
2081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi16(__m128i __A)2082 _mm_cvtepi64_epi16 (__m128i __A)
2083 {
2084 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2085 (__v8hi)_mm_undefined_si128(),
2086 (__mmask8) -1);
2087 }
2088
2089 extern __inline void
2090 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2091 _mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2092 {
2093 __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2094 }
2095
2096 extern __inline __m128i
2097 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2098 _mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2099 {
2100 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2101 (__v8hi)__O,
2102 __M);
2103 }
2104
2105 extern __inline __m128i
2106 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi16(__mmask8 __M,__m128i __A)2107 _mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A)
2108 {
2109 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
2110 (__v8hi)
2111 _mm_setzero_si128 (),
2112 __M);
2113 }
2114
2115 extern __inline __m128i
2116 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi16(__m256i __A)2117 _mm256_cvtepi64_epi16 (__m256i __A)
2118 {
2119 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2120 (__v8hi)_mm_undefined_si128(),
2121 (__mmask8) -1);
2122 }
2123
2124 extern __inline void
2125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2126 _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2127 {
2128 __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2129 }
2130
2131 extern __inline __m128i
2132 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2133 _mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2134 {
2135 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2136 (__v8hi) __O, __M);
2137 }
2138
2139 extern __inline __m128i
2140 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi16(__mmask8 __M,__m256i __A)2141 _mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A)
2142 {
2143 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
2144 (__v8hi)
2145 _mm_setzero_si128 (),
2146 __M);
2147 }
2148
2149 extern __inline __m128i
2150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi16(__m128i __A)2151 _mm_cvtsepi64_epi16 (__m128i __A)
2152 {
2153 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2154 (__v8hi)_mm_undefined_si128(),
2155 (__mmask8) -1);
2156 }
2157
2158 extern __inline void
2159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2160 _mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2161 {
2162 __builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2163 }
2164
2165 extern __inline __m128i
2166 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2167 _mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2168 {
2169 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2170 (__v8hi) __O, __M);
2171 }
2172
2173 extern __inline __m128i
2174 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi16(__mmask8 __M,__m128i __A)2175 _mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A)
2176 {
2177 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
2178 (__v8hi)
2179 _mm_setzero_si128 (),
2180 __M);
2181 }
2182
2183 extern __inline __m128i
2184 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi16(__m256i __A)2185 _mm256_cvtsepi64_epi16 (__m256i __A)
2186 {
2187 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2188 (__v8hi)_mm_undefined_si128(),
2189 (__mmask8) -1);
2190 }
2191
2192 extern __inline void
2193 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2194 _mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2195 {
2196 __builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2197 }
2198
2199 extern __inline __m128i
2200 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2201 _mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2202 {
2203 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2204 (__v8hi) __O, __M);
2205 }
2206
2207 extern __inline __m128i
2208 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi16(__mmask8 __M,__m256i __A)2209 _mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A)
2210 {
2211 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
2212 (__v8hi)
2213 _mm_setzero_si128 (),
2214 __M);
2215 }
2216
2217 extern __inline __m128i
2218 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi16(__m128i __A)2219 _mm_cvtusepi64_epi16 (__m128i __A)
2220 {
2221 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2222 (__v8hi)_mm_undefined_si128(),
2223 (__mmask8) -1);
2224 }
2225
2226 extern __inline void
2227 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m128i __A)2228 _mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
2229 {
2230 __builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
2231 }
2232
2233 extern __inline __m128i
2234 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m128i __A)2235 _mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2236 {
2237 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2238 (__v8hi) __O, __M);
2239 }
2240
2241 extern __inline __m128i
2242 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi16(__mmask8 __M,__m128i __A)2243 _mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A)
2244 {
2245 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
2246 (__v8hi)
2247 _mm_setzero_si128 (),
2248 __M);
2249 }
2250
2251 extern __inline __m128i
2252 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi16(__m256i __A)2253 _mm256_cvtusepi64_epi16 (__m256i __A)
2254 {
2255 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2256 (__v8hi)_mm_undefined_si128(),
2257 (__mmask8) -1);
2258 }
2259
2260 extern __inline void
2261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi16(void * __P,__mmask8 __M,__m256i __A)2262 _mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
2263 {
2264 __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
2265 }
2266
2267 extern __inline __m128i
2268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi16(__m128i __O,__mmask8 __M,__m256i __A)2269 _mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
2270 {
2271 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2272 (__v8hi) __O, __M);
2273 }
2274
2275 extern __inline __m128i
2276 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi16(__mmask8 __M,__m256i __A)2277 _mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A)
2278 {
2279 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
2280 (__v8hi)
2281 _mm_setzero_si128 (),
2282 __M);
2283 }
2284
2285 extern __inline __m128i
2286 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi32(__m128i __A)2287 _mm_cvtepi64_epi32 (__m128i __A)
2288 {
2289 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2290 (__v4si)_mm_undefined_si128(),
2291 (__mmask8) -1);
2292 }
2293
2294 extern __inline void
2295 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2296 _mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2297 {
2298 __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2299 }
2300
2301 extern __inline __m128i
2302 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2303 _mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2304 {
2305 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2306 (__v4si) __O, __M);
2307 }
2308
2309 extern __inline __m128i
2310 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi32(__mmask8 __M,__m128i __A)2311 _mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A)
2312 {
2313 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
2314 (__v4si)
2315 _mm_setzero_si128 (),
2316 __M);
2317 }
2318
2319 extern __inline __m128i
2320 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi32(__m256i __A)2321 _mm256_cvtepi64_epi32 (__m256i __A)
2322 {
2323 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2324 (__v4si)_mm_undefined_si128(),
2325 (__mmask8) -1);
2326 }
2327
2328 extern __inline void
2329 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2330 _mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2331 {
2332 __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2333 }
2334
2335 extern __inline __m128i
2336 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2337 _mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2338 {
2339 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2340 (__v4si) __O, __M);
2341 }
2342
2343 extern __inline __m128i
2344 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi32(__mmask8 __M,__m256i __A)2345 _mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
2346 {
2347 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
2348 (__v4si)
2349 _mm_setzero_si128 (),
2350 __M);
2351 }
2352
2353 extern __inline __m128i
2354 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi32(__m128i __A)2355 _mm_cvtsepi64_epi32 (__m128i __A)
2356 {
2357 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2358 (__v4si)_mm_undefined_si128(),
2359 (__mmask8) -1);
2360 }
2361
2362 extern __inline void
2363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2364 _mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2365 {
2366 __builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2367 }
2368
2369 extern __inline __m128i
2370 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2371 _mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2372 {
2373 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2374 (__v4si) __O, __M);
2375 }
2376
2377 extern __inline __m128i
2378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi32(__mmask8 __M,__m128i __A)2379 _mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A)
2380 {
2381 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
2382 (__v4si)
2383 _mm_setzero_si128 (),
2384 __M);
2385 }
2386
2387 extern __inline __m128i
2388 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi32(__m256i __A)2389 _mm256_cvtsepi64_epi32 (__m256i __A)
2390 {
2391 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2392 (__v4si)_mm_undefined_si128(),
2393 (__mmask8) -1);
2394 }
2395
2396 extern __inline void
2397 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2398 _mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2399 {
2400 __builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2401 }
2402
2403 extern __inline __m128i
2404 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2405 _mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2406 {
2407 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2408 (__v4si)__O,
2409 __M);
2410 }
2411
2412 extern __inline __m128i
2413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi32(__mmask8 __M,__m256i __A)2414 _mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A)
2415 {
2416 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
2417 (__v4si)
2418 _mm_setzero_si128 (),
2419 __M);
2420 }
2421
2422 extern __inline __m128i
2423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi32(__m128i __A)2424 _mm_cvtusepi64_epi32 (__m128i __A)
2425 {
2426 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2427 (__v4si)_mm_undefined_si128(),
2428 (__mmask8) -1);
2429 }
2430
2431 extern __inline void
2432 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m128i __A)2433 _mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
2434 {
2435 __builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
2436 }
2437
2438 extern __inline __m128i
2439 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m128i __A)2440 _mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2441 {
2442 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2443 (__v4si) __O, __M);
2444 }
2445
2446 extern __inline __m128i
2447 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi32(__mmask8 __M,__m128i __A)2448 _mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A)
2449 {
2450 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
2451 (__v4si)
2452 _mm_setzero_si128 (),
2453 __M);
2454 }
2455
2456 extern __inline __m128i
2457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi32(__m256i __A)2458 _mm256_cvtusepi64_epi32 (__m256i __A)
2459 {
2460 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2461 (__v4si)_mm_undefined_si128(),
2462 (__mmask8) -1);
2463 }
2464
2465 extern __inline void
2466 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi32(void * __P,__mmask8 __M,__m256i __A)2467 _mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
2468 {
2469 __builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
2470 }
2471
2472 extern __inline __m128i
2473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi32(__m128i __O,__mmask8 __M,__m256i __A)2474 _mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
2475 {
2476 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2477 (__v4si) __O, __M);
2478 }
2479
2480 extern __inline __m128i
2481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi32(__mmask8 __M,__m256i __A)2482 _mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A)
2483 {
2484 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
2485 (__v4si)
2486 _mm_setzero_si128 (),
2487 __M);
2488 }
2489
2490 extern __inline __m256
2491 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastss_ps(__m256 __O,__mmask8 __M,__m128 __A)2492 _mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
2493 {
2494 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
2495 (__v8sf) __O,
2496 __M);
2497 }
2498
2499 extern __inline __m256
2500 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)2501 _mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
2502 {
2503 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
2504 (__v8sf)
2505 _mm256_setzero_ps (),
2506 __M);
2507 }
2508
2509 extern __inline __m128
2510 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastss_ps(__m128 __O,__mmask8 __M,__m128 __A)2511 _mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
2512 {
2513 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
2514 (__v4sf) __O,
2515 __M);
2516 }
2517
2518 extern __inline __m128
2519 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastss_ps(__mmask8 __M,__m128 __A)2520 _mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
2521 {
2522 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
2523 (__v4sf)
2524 _mm_setzero_ps (),
2525 __M);
2526 }
2527
2528 extern __inline __m256d
2529 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastsd_pd(__m256d __O,__mmask8 __M,__m128d __A)2530 _mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
2531 {
2532 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
2533 (__v4df) __O,
2534 __M);
2535 }
2536
2537 extern __inline __m256d
2538 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastsd_pd(__mmask8 __M,__m128d __A)2539 _mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
2540 {
2541 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
2542 (__v4df)
2543 _mm256_setzero_pd (),
2544 __M);
2545 }
2546
2547 extern __inline __m256i
2548 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastd_epi32(__m256i __O,__mmask8 __M,__m128i __A)2549 _mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
2550 {
2551 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
2552 (__v8si) __O,
2553 __M);
2554 }
2555
2556 extern __inline __m256i
2557 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)2558 _mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
2559 {
2560 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
2561 (__v8si)
2562 _mm256_setzero_si256 (),
2563 __M);
2564 }
2565
2566 extern __inline __m256i
2567 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi32(__m256i __O,__mmask8 __M,int __A)2568 _mm256_mask_set1_epi32 (__m256i __O, __mmask8 __M, int __A)
2569 {
2570 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) __O,
2571 __M);
2572 }
2573
2574 extern __inline __m256i
2575 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi32(__mmask8 __M,int __A)2576 _mm256_maskz_set1_epi32 (__mmask8 __M, int __A)
2577 {
2578 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A,
2579 (__v8si)
2580 _mm256_setzero_si256 (),
2581 __M);
2582 }
2583
2584 extern __inline __m128i
2585 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastd_epi32(__m128i __O,__mmask8 __M,__m128i __A)2586 _mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
2587 {
2588 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
2589 (__v4si) __O,
2590 __M);
2591 }
2592
2593 extern __inline __m128i
2594 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastd_epi32(__mmask8 __M,__m128i __A)2595 _mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
2596 {
2597 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
2598 (__v4si)
2599 _mm_setzero_si128 (),
2600 __M);
2601 }
2602
2603 extern __inline __m128i
2604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi32(__m128i __O,__mmask8 __M,int __A)2605 _mm_mask_set1_epi32 (__m128i __O, __mmask8 __M, int __A)
2606 {
2607 return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) __O,
2608 __M);
2609 }
2610
2611 extern __inline __m128i
2612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi32(__mmask8 __M,int __A)2613 _mm_maskz_set1_epi32 (__mmask8 __M, int __A)
2614 {
2615 return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A,
2616 (__v4si)
2617 _mm_setzero_si128 (),
2618 __M);
2619 }
2620
2621 extern __inline __m256i
2622 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastq_epi64(__m256i __O,__mmask8 __M,__m128i __A)2623 _mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
2624 {
2625 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
2626 (__v4di) __O,
2627 __M);
2628 }
2629
2630 extern __inline __m256i
2631 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)2632 _mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
2633 {
2634 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
2635 (__v4di)
2636 _mm256_setzero_si256 (),
2637 __M);
2638 }
2639
2640 extern __inline __m256i
2641 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi64(__m256i __O,__mmask8 __M,long long __A)2642 _mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
2643 {
2644 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O,
2645 __M);
2646 }
2647
2648 extern __inline __m256i
2649 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi64(__mmask8 __M,long long __A)2650 _mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
2651 {
2652 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A,
2653 (__v4di)
2654 _mm256_setzero_si256 (),
2655 __M);
2656 }
2657
2658 extern __inline __m128i
2659 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastq_epi64(__m128i __O,__mmask8 __M,__m128i __A)2660 _mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
2661 {
2662 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
2663 (__v2di) __O,
2664 __M);
2665 }
2666
2667 extern __inline __m128i
2668 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastq_epi64(__mmask8 __M,__m128i __A)2669 _mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
2670 {
2671 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
2672 (__v2di)
2673 _mm_setzero_si128 (),
2674 __M);
2675 }
2676
2677 extern __inline __m128i
2678 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi64(__m128i __O,__mmask8 __M,long long __A)2679 _mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
2680 {
2681 return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O,
2682 __M);
2683 }
2684
2685 extern __inline __m128i
2686 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi64(__mmask8 __M,long long __A)2687 _mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
2688 {
2689 return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A,
2690 (__v2di)
2691 _mm_setzero_si128 (),
2692 __M);
2693 }
2694
2695 extern __inline __m256
2696 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_f32x4(__m128 __A)2697 _mm256_broadcast_f32x4 (__m128 __A)
2698 {
2699 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2700 (__v8sf)_mm256_undefined_pd (),
2701 (__mmask8) -1);
2702 }
2703
2704 extern __inline __m256
2705 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_f32x4(__m256 __O,__mmask8 __M,__m128 __A)2706 _mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
2707 {
2708 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2709 (__v8sf) __O,
2710 __M);
2711 }
2712
2713 extern __inline __m256
2714 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_f32x4(__mmask8 __M,__m128 __A)2715 _mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
2716 {
2717 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2718 (__v8sf)
2719 _mm256_setzero_ps (),
2720 __M);
2721 }
2722
2723 extern __inline __m256i
2724 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_i32x4(__m128i __A)2725 _mm256_broadcast_i32x4 (__m128i __A)
2726 {
2727 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2728 __A,
2729 (__v8si)_mm256_undefined_si256 (),
2730 (__mmask8) -1);
2731 }
2732
2733 extern __inline __m256i
2734 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_i32x4(__m256i __O,__mmask8 __M,__m128i __A)2735 _mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
2736 {
2737 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2738 __A,
2739 (__v8si)
2740 __O, __M);
2741 }
2742
2743 extern __inline __m256i
2744 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_i32x4(__mmask8 __M,__m128i __A)2745 _mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
2746 {
2747 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2748 __A,
2749 (__v8si)
2750 _mm256_setzero_si256 (),
2751 __M);
2752 }
2753
2754 extern __inline __m256i
2755 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi32(__m256i __W,__mmask8 __U,__m128i __A)2756 _mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2757 {
2758 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2759 (__v8si) __W,
2760 (__mmask8) __U);
2761 }
2762
2763 extern __inline __m256i
2764 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)2765 _mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2766 {
2767 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2768 (__v8si)
2769 _mm256_setzero_si256 (),
2770 (__mmask8) __U);
2771 }
2772
2773 extern __inline __m128i
2774 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi32(__m128i __W,__mmask8 __U,__m128i __A)2775 _mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2776 {
2777 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2778 (__v4si) __W,
2779 (__mmask8) __U);
2780 }
2781
2782 extern __inline __m128i
2783 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi32(__mmask8 __U,__m128i __A)2784 _mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2785 {
2786 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2787 (__v4si)
2788 _mm_setzero_si128 (),
2789 (__mmask8) __U);
2790 }
2791
2792 extern __inline __m256i
2793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi64(__m256i __W,__mmask8 __U,__m128i __A)2794 _mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2795 {
2796 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2797 (__v4di) __W,
2798 (__mmask8) __U);
2799 }
2800
2801 extern __inline __m256i
2802 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)2803 _mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2804 {
2805 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2806 (__v4di)
2807 _mm256_setzero_si256 (),
2808 (__mmask8) __U);
2809 }
2810
2811 extern __inline __m128i
2812 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi64(__m128i __W,__mmask8 __U,__m128i __A)2813 _mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2814 {
2815 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2816 (__v2di) __W,
2817 (__mmask8) __U);
2818 }
2819
2820 extern __inline __m128i
2821 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi64(__mmask8 __U,__m128i __A)2822 _mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2823 {
2824 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2825 (__v2di)
2826 _mm_setzero_si128 (),
2827 (__mmask8) __U);
2828 }
2829
2830 extern __inline __m256i
2831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi32(__m256i __W,__mmask8 __U,__m128i __A)2832 _mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2833 {
2834 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2835 (__v8si) __W,
2836 (__mmask8) __U);
2837 }
2838
2839 extern __inline __m256i
2840 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)2841 _mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2842 {
2843 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2844 (__v8si)
2845 _mm256_setzero_si256 (),
2846 (__mmask8) __U);
2847 }
2848
2849 extern __inline __m128i
2850 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi32(__m128i __W,__mmask8 __U,__m128i __A)2851 _mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2852 {
2853 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2854 (__v4si) __W,
2855 (__mmask8) __U);
2856 }
2857
2858 extern __inline __m128i
2859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi32(__mmask8 __U,__m128i __A)2860 _mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2861 {
2862 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2863 (__v4si)
2864 _mm_setzero_si128 (),
2865 (__mmask8) __U);
2866 }
2867
2868 extern __inline __m256i
2869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi64(__m256i __W,__mmask8 __U,__m128i __A)2870 _mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2871 {
2872 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2873 (__v4di) __W,
2874 (__mmask8) __U);
2875 }
2876
2877 extern __inline __m256i
2878 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)2879 _mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2880 {
2881 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2882 (__v4di)
2883 _mm256_setzero_si256 (),
2884 (__mmask8) __U);
2885 }
2886
2887 extern __inline __m128i
2888 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi64(__m128i __W,__mmask8 __U,__m128i __A)2889 _mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2890 {
2891 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2892 (__v2di) __W,
2893 (__mmask8) __U);
2894 }
2895
2896 extern __inline __m128i
2897 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi64(__mmask8 __U,__m128i __A)2898 _mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2899 {
2900 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2901 (__v2di)
2902 _mm_setzero_si128 (),
2903 (__mmask8) __U);
2904 }
2905
2906 extern __inline __m256i
2907 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi64(__m256i __W,__mmask8 __U,__m128i __X)2908 _mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
2909 {
2910 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2911 (__v4di) __W,
2912 (__mmask8) __U);
2913 }
2914
2915 extern __inline __m256i
2916 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)2917 _mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2918 {
2919 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2920 (__v4di)
2921 _mm256_setzero_si256 (),
2922 (__mmask8) __U);
2923 }
2924
2925 extern __inline __m128i
2926 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi64(__m128i __W,__mmask8 __U,__m128i __X)2927 _mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
2928 {
2929 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2930 (__v2di) __W,
2931 (__mmask8) __U);
2932 }
2933
2934 extern __inline __m128i
2935 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi64(__mmask8 __U,__m128i __X)2936 _mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2937 {
2938 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2939 (__v2di)
2940 _mm_setzero_si128 (),
2941 (__mmask8) __U);
2942 }
2943
2944 extern __inline __m256i
2945 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi32(__m256i __W,__mmask8 __U,__m128i __A)2946 _mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2947 {
2948 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2949 (__v8si) __W,
2950 (__mmask8) __U);
2951 }
2952
2953 extern __inline __m256i
2954 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)2955 _mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
2956 {
2957 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2958 (__v8si)
2959 _mm256_setzero_si256 (),
2960 (__mmask8) __U);
2961 }
2962
2963 extern __inline __m128i
2964 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi32(__m128i __W,__mmask8 __U,__m128i __A)2965 _mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2966 {
2967 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
2968 (__v4si) __W,
2969 (__mmask8) __U);
2970 }
2971
2972 extern __inline __m128i
2973 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi32(__mmask8 __U,__m128i __A)2974 _mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
2975 {
2976 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
2977 (__v4si)
2978 _mm_setzero_si128 (),
2979 (__mmask8) __U);
2980 }
2981
2982 extern __inline __m256i
2983 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi64(__m256i __W,__mmask8 __U,__m128i __A)2984 _mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2985 {
2986 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
2987 (__v4di) __W,
2988 (__mmask8) __U);
2989 }
2990
2991 extern __inline __m256i
2992 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)2993 _mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
2994 {
2995 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
2996 (__v4di)
2997 _mm256_setzero_si256 (),
2998 (__mmask8) __U);
2999 }
3000
3001 extern __inline __m128i
3002 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi64(__m128i __W,__mmask8 __U,__m128i __A)3003 _mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3004 {
3005 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3006 (__v2di) __W,
3007 (__mmask8) __U);
3008 }
3009
3010 extern __inline __m128i
3011 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi64(__mmask8 __U,__m128i __A)3012 _mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
3013 {
3014 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3015 (__v2di)
3016 _mm_setzero_si128 (),
3017 (__mmask8) __U);
3018 }
3019
3020 extern __inline __m256i
3021 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi32(__m256i __W,__mmask8 __U,__m128i __A)3022 _mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
3023 {
3024 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3025 (__v8si) __W,
3026 (__mmask8) __U);
3027 }
3028
3029 extern __inline __m256i
3030 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3031 _mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3032 {
3033 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3034 (__v8si)
3035 _mm256_setzero_si256 (),
3036 (__mmask8) __U);
3037 }
3038
3039 extern __inline __m128i
3040 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi32(__m128i __W,__mmask8 __U,__m128i __A)3041 _mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
3042 {
3043 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3044 (__v4si) __W,
3045 (__mmask8) __U);
3046 }
3047
3048 extern __inline __m128i
3049 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi32(__mmask8 __U,__m128i __A)3050 _mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3051 {
3052 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3053 (__v4si)
3054 _mm_setzero_si128 (),
3055 (__mmask8) __U);
3056 }
3057
3058 extern __inline __m256i
3059 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi64(__m256i __W,__mmask8 __U,__m128i __A)3060 _mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
3061 {
3062 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3063 (__v4di) __W,
3064 (__mmask8) __U);
3065 }
3066
3067 extern __inline __m256i
3068 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3069 _mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3070 {
3071 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3072 (__v4di)
3073 _mm256_setzero_si256 (),
3074 (__mmask8) __U);
3075 }
3076
3077 extern __inline __m128i
3078 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi64(__m128i __W,__mmask8 __U,__m128i __A)3079 _mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3080 {
3081 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3082 (__v2di) __W,
3083 (__mmask8) __U);
3084 }
3085
3086 extern __inline __m128i
3087 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi64(__mmask8 __U,__m128i __A)3088 _mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3089 {
3090 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3091 (__v2di)
3092 _mm_setzero_si128 (),
3093 (__mmask8) __U);
3094 }
3095
3096 extern __inline __m256i
3097 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_epi64(__m256i __W,__mmask8 __U,__m128i __X)3098 _mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
3099 {
3100 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3101 (__v4di) __W,
3102 (__mmask8) __U);
3103 }
3104
3105 extern __inline __m256i
3106 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3107 _mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3108 {
3109 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3110 (__v4di)
3111 _mm256_setzero_si256 (),
3112 (__mmask8) __U);
3113 }
3114
3115 extern __inline __m128i
3116 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_epi64(__m128i __W,__mmask8 __U,__m128i __X)3117 _mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
3118 {
3119 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3120 (__v2di) __W,
3121 (__mmask8) __U);
3122 }
3123
3124 extern __inline __m128i
3125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_epi64(__mmask8 __U,__m128i __X)3126 _mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3127 {
3128 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3129 (__v2di)
3130 _mm_setzero_si128 (),
3131 (__mmask8) __U);
3132 }
3133
3134 extern __inline __m256d
3135 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_pd(__m256d __A)3136 _mm256_rcp14_pd (__m256d __A)
3137 {
3138 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3139 (__v4df)
3140 _mm256_setzero_pd (),
3141 (__mmask8) -1);
3142 }
3143
3144 extern __inline __m256d
3145 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_pd(__m256d __W,__mmask8 __U,__m256d __A)3146 _mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3147 {
3148 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3149 (__v4df) __W,
3150 (__mmask8) __U);
3151 }
3152
3153 extern __inline __m256d
3154 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_pd(__mmask8 __U,__m256d __A)3155 _mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
3156 {
3157 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3158 (__v4df)
3159 _mm256_setzero_pd (),
3160 (__mmask8) __U);
3161 }
3162
3163 extern __inline __m128d
3164 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_pd(__m128d __A)3165 _mm_rcp14_pd (__m128d __A)
3166 {
3167 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3168 (__v2df)
3169 _mm_setzero_pd (),
3170 (__mmask8) -1);
3171 }
3172
3173 extern __inline __m128d
3174 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_pd(__m128d __W,__mmask8 __U,__m128d __A)3175 _mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3176 {
3177 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3178 (__v2df) __W,
3179 (__mmask8) __U);
3180 }
3181
3182 extern __inline __m128d
3183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_pd(__mmask8 __U,__m128d __A)3184 _mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
3185 {
3186 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3187 (__v2df)
3188 _mm_setzero_pd (),
3189 (__mmask8) __U);
3190 }
3191
3192 extern __inline __m256
3193 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_ps(__m256 __A)3194 _mm256_rcp14_ps (__m256 __A)
3195 {
3196 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3197 (__v8sf)
3198 _mm256_setzero_ps (),
3199 (__mmask8) -1);
3200 }
3201
3202 extern __inline __m256
3203 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_ps(__m256 __W,__mmask8 __U,__m256 __A)3204 _mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3205 {
3206 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3207 (__v8sf) __W,
3208 (__mmask8) __U);
3209 }
3210
3211 extern __inline __m256
3212 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_ps(__mmask8 __U,__m256 __A)3213 _mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
3214 {
3215 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3216 (__v8sf)
3217 _mm256_setzero_ps (),
3218 (__mmask8) __U);
3219 }
3220
3221 extern __inline __m128
3222 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_ps(__m128 __A)3223 _mm_rcp14_ps (__m128 __A)
3224 {
3225 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3226 (__v4sf)
3227 _mm_setzero_ps (),
3228 (__mmask8) -1);
3229 }
3230
3231 extern __inline __m128
3232 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_ps(__m128 __W,__mmask8 __U,__m128 __A)3233 _mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3234 {
3235 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3236 (__v4sf) __W,
3237 (__mmask8) __U);
3238 }
3239
3240 extern __inline __m128
3241 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_ps(__mmask8 __U,__m128 __A)3242 _mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
3243 {
3244 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3245 (__v4sf)
3246 _mm_setzero_ps (),
3247 (__mmask8) __U);
3248 }
3249
3250 extern __inline __m256d
3251 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_pd(__m256d __A)3252 _mm256_rsqrt14_pd (__m256d __A)
3253 {
3254 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3255 (__v4df)
3256 _mm256_setzero_pd (),
3257 (__mmask8) -1);
3258 }
3259
3260 extern __inline __m256d
3261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_pd(__m256d __W,__mmask8 __U,__m256d __A)3262 _mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3263 {
3264 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3265 (__v4df) __W,
3266 (__mmask8) __U);
3267 }
3268
3269 extern __inline __m256d
3270 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_pd(__mmask8 __U,__m256d __A)3271 _mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
3272 {
3273 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3274 (__v4df)
3275 _mm256_setzero_pd (),
3276 (__mmask8) __U);
3277 }
3278
3279 extern __inline __m128d
3280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_pd(__m128d __A)3281 _mm_rsqrt14_pd (__m128d __A)
3282 {
3283 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3284 (__v2df)
3285 _mm_setzero_pd (),
3286 (__mmask8) -1);
3287 }
3288
3289 extern __inline __m128d
3290 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_pd(__m128d __W,__mmask8 __U,__m128d __A)3291 _mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3292 {
3293 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3294 (__v2df) __W,
3295 (__mmask8) __U);
3296 }
3297
3298 extern __inline __m128d
3299 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_pd(__mmask8 __U,__m128d __A)3300 _mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
3301 {
3302 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3303 (__v2df)
3304 _mm_setzero_pd (),
3305 (__mmask8) __U);
3306 }
3307
3308 extern __inline __m256
3309 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_ps(__m256 __A)3310 _mm256_rsqrt14_ps (__m256 __A)
3311 {
3312 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3313 (__v8sf)
3314 _mm256_setzero_ps (),
3315 (__mmask8) -1);
3316 }
3317
3318 extern __inline __m256
3319 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_ps(__m256 __W,__mmask8 __U,__m256 __A)3320 _mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3321 {
3322 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3323 (__v8sf) __W,
3324 (__mmask8) __U);
3325 }
3326
3327 extern __inline __m256
3328 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_ps(__mmask8 __U,__m256 __A)3329 _mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
3330 {
3331 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3332 (__v8sf)
3333 _mm256_setzero_ps (),
3334 (__mmask8) __U);
3335 }
3336
3337 extern __inline __m128
3338 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_ps(__m128 __A)3339 _mm_rsqrt14_ps (__m128 __A)
3340 {
3341 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3342 (__v4sf)
3343 _mm_setzero_ps (),
3344 (__mmask8) -1);
3345 }
3346
3347 extern __inline __m128
3348 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_ps(__m128 __W,__mmask8 __U,__m128 __A)3349 _mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3350 {
3351 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3352 (__v4sf) __W,
3353 (__mmask8) __U);
3354 }
3355
3356 extern __inline __m128
3357 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_ps(__mmask8 __U,__m128 __A)3358 _mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
3359 {
3360 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3361 (__v4sf)
3362 _mm_setzero_ps (),
3363 (__mmask8) __U);
3364 }
3365
3366 extern __inline __m256d
3367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_pd(__m256d __W,__mmask8 __U,__m256d __A)3368 _mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A)
3369 {
3370 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3371 (__v4df) __W,
3372 (__mmask8) __U);
3373 }
3374
3375 extern __inline __m256d
3376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_pd(__mmask8 __U,__m256d __A)3377 _mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A)
3378 {
3379 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3380 (__v4df)
3381 _mm256_setzero_pd (),
3382 (__mmask8) __U);
3383 }
3384
3385 extern __inline __m128d
3386 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_pd(__m128d __W,__mmask8 __U,__m128d __A)3387 _mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A)
3388 {
3389 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3390 (__v2df) __W,
3391 (__mmask8) __U);
3392 }
3393
3394 extern __inline __m128d
3395 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_pd(__mmask8 __U,__m128d __A)3396 _mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A)
3397 {
3398 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3399 (__v2df)
3400 _mm_setzero_pd (),
3401 (__mmask8) __U);
3402 }
3403
3404 extern __inline __m256
3405 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_ps(__m256 __W,__mmask8 __U,__m256 __A)3406 _mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A)
3407 {
3408 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3409 (__v8sf) __W,
3410 (__mmask8) __U);
3411 }
3412
3413 extern __inline __m256
3414 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_ps(__mmask8 __U,__m256 __A)3415 _mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A)
3416 {
3417 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3418 (__v8sf)
3419 _mm256_setzero_ps (),
3420 (__mmask8) __U);
3421 }
3422
3423 extern __inline __m128
3424 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_ps(__m128 __W,__mmask8 __U,__m128 __A)3425 _mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A)
3426 {
3427 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
3428 (__v4sf) __W,
3429 (__mmask8) __U);
3430 }
3431
3432 extern __inline __m128
3433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_ps(__mmask8 __U,__m128 __A)3434 _mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A)
3435 {
3436 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
3437 (__v4sf)
3438 _mm_setzero_ps (),
3439 (__mmask8) __U);
3440 }
3441
3442 extern __inline __m256i
3443 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3444 _mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3445 __m256i __B)
3446 {
3447 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
3448 (__v8si) __B,
3449 (__v8si) __W,
3450 (__mmask8) __U);
3451 }
3452
3453 extern __inline __m256i
3454 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi32(__mmask8 __U,__m256i __A,__m256i __B)3455 _mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3456 {
3457 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
3458 (__v8si) __B,
3459 (__v8si)
3460 _mm256_setzero_si256 (),
3461 (__mmask8) __U);
3462 }
3463
3464 extern __inline __m256i
3465 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3466 _mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3467 __m256i __B)
3468 {
3469 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
3470 (__v4di) __B,
3471 (__v4di) __W,
3472 (__mmask8) __U);
3473 }
3474
3475 extern __inline __m256i
3476 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi64(__mmask8 __U,__m256i __A,__m256i __B)3477 _mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
3478 {
3479 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
3480 (__v4di) __B,
3481 (__v4di)
3482 _mm256_setzero_si256 (),
3483 (__mmask8) __U);
3484 }
3485
3486 extern __inline __m256i
3487 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3488 _mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3489 __m256i __B)
3490 {
3491 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
3492 (__v8si) __B,
3493 (__v8si) __W,
3494 (__mmask8) __U);
3495 }
3496
3497 extern __inline __m256i
3498 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi32(__mmask8 __U,__m256i __A,__m256i __B)3499 _mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3500 {
3501 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
3502 (__v8si) __B,
3503 (__v8si)
3504 _mm256_setzero_si256 (),
3505 (__mmask8) __U);
3506 }
3507
3508 extern __inline __m256i
3509 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3510 _mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3511 __m256i __B)
3512 {
3513 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
3514 (__v4di) __B,
3515 (__v4di) __W,
3516 (__mmask8) __U);
3517 }
3518
3519 extern __inline __m256i
3520 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi64(__mmask8 __U,__m256i __A,__m256i __B)3521 _mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
3522 {
3523 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
3524 (__v4di) __B,
3525 (__v4di)
3526 _mm256_setzero_si256 (),
3527 (__mmask8) __U);
3528 }
3529
3530 extern __inline __m128i
3531 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3532 _mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3533 __m128i __B)
3534 {
3535 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
3536 (__v4si) __B,
3537 (__v4si) __W,
3538 (__mmask8) __U);
3539 }
3540
3541 extern __inline __m128i
3542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi32(__mmask8 __U,__m128i __A,__m128i __B)3543 _mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3544 {
3545 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
3546 (__v4si) __B,
3547 (__v4si)
3548 _mm_setzero_si128 (),
3549 (__mmask8) __U);
3550 }
3551
3552 extern __inline __m128i
3553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3554 _mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3555 __m128i __B)
3556 {
3557 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
3558 (__v2di) __B,
3559 (__v2di) __W,
3560 (__mmask8) __U);
3561 }
3562
3563 extern __inline __m128i
3564 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi64(__mmask8 __U,__m128i __A,__m128i __B)3565 _mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3566 {
3567 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
3568 (__v2di) __B,
3569 (__v2di)
3570 _mm_setzero_si128 (),
3571 (__mmask8) __U);
3572 }
3573
3574 extern __inline __m128i
3575 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3576 _mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3577 __m128i __B)
3578 {
3579 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
3580 (__v4si) __B,
3581 (__v4si) __W,
3582 (__mmask8) __U);
3583 }
3584
3585 extern __inline __m128i
3586 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi32(__mmask8 __U,__m128i __A,__m128i __B)3587 _mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3588 {
3589 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
3590 (__v4si) __B,
3591 (__v4si)
3592 _mm_setzero_si128 (),
3593 (__mmask8) __U);
3594 }
3595
3596 extern __inline __m128i
3597 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3598 _mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3599 __m128i __B)
3600 {
3601 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
3602 (__v2di) __B,
3603 (__v2di) __W,
3604 (__mmask8) __U);
3605 }
3606
3607 extern __inline __m128i
3608 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi64(__mmask8 __U,__m128i __A,__m128i __B)3609 _mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3610 {
3611 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
3612 (__v2di) __B,
3613 (__v2di)
3614 _mm_setzero_si128 (),
3615 (__mmask8) __U);
3616 }
3617
3618 extern __inline __m256
3619 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_ps(__m256 __A)3620 _mm256_getexp_ps (__m256 __A)
3621 {
3622 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3623 (__v8sf)
3624 _mm256_setzero_ps (),
3625 (__mmask8) -1);
3626 }
3627
3628 extern __inline __m256
3629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_ps(__m256 __W,__mmask8 __U,__m256 __A)3630 _mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A)
3631 {
3632 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3633 (__v8sf) __W,
3634 (__mmask8) __U);
3635 }
3636
3637 extern __inline __m256
3638 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_ps(__mmask8 __U,__m256 __A)3639 _mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A)
3640 {
3641 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3642 (__v8sf)
3643 _mm256_setzero_ps (),
3644 (__mmask8) __U);
3645 }
3646
3647 extern __inline __m256d
3648 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_pd(__m256d __A)3649 _mm256_getexp_pd (__m256d __A)
3650 {
3651 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3652 (__v4df)
3653 _mm256_setzero_pd (),
3654 (__mmask8) -1);
3655 }
3656
3657 extern __inline __m256d
3658 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_pd(__m256d __W,__mmask8 __U,__m256d __A)3659 _mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A)
3660 {
3661 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3662 (__v4df) __W,
3663 (__mmask8) __U);
3664 }
3665
3666 extern __inline __m256d
3667 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_pd(__mmask8 __U,__m256d __A)3668 _mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A)
3669 {
3670 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3671 (__v4df)
3672 _mm256_setzero_pd (),
3673 (__mmask8) __U);
3674 }
3675
3676 extern __inline __m128
3677 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_ps(__m128 __A)3678 _mm_getexp_ps (__m128 __A)
3679 {
3680 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3681 (__v4sf)
3682 _mm_setzero_ps (),
3683 (__mmask8) -1);
3684 }
3685
3686 extern __inline __m128
3687 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_ps(__m128 __W,__mmask8 __U,__m128 __A)3688 _mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A)
3689 {
3690 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3691 (__v4sf) __W,
3692 (__mmask8) __U);
3693 }
3694
3695 extern __inline __m128
3696 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_ps(__mmask8 __U,__m128 __A)3697 _mm_maskz_getexp_ps (__mmask8 __U, __m128 __A)
3698 {
3699 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3700 (__v4sf)
3701 _mm_setzero_ps (),
3702 (__mmask8) __U);
3703 }
3704
3705 extern __inline __m128d
3706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_pd(__m128d __A)3707 _mm_getexp_pd (__m128d __A)
3708 {
3709 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3710 (__v2df)
3711 _mm_setzero_pd (),
3712 (__mmask8) -1);
3713 }
3714
3715 extern __inline __m128d
3716 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_pd(__m128d __W,__mmask8 __U,__m128d __A)3717 _mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A)
3718 {
3719 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3720 (__v2df) __W,
3721 (__mmask8) __U);
3722 }
3723
3724 extern __inline __m128d
3725 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_pd(__mmask8 __U,__m128d __A)3726 _mm_maskz_getexp_pd (__mmask8 __U, __m128d __A)
3727 {
3728 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3729 (__v2df)
3730 _mm_setzero_pd (),
3731 (__mmask8) __U);
3732 }
3733
3734 extern __inline __m256i
3735 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3736 _mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3737 __m128i __B)
3738 {
3739 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
3740 (__v4si) __B,
3741 (__v8si) __W,
3742 (__mmask8) __U);
3743 }
3744
3745 extern __inline __m256i
3746 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi32(__mmask8 __U,__m256i __A,__m128i __B)3747 _mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
3748 {
3749 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
3750 (__v4si) __B,
3751 (__v8si)
3752 _mm256_setzero_si256 (),
3753 (__mmask8) __U);
3754 }
3755
3756 extern __inline __m128i
3757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3758 _mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
3759 __m128i __B)
3760 {
3761 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
3762 (__v4si) __B,
3763 (__v4si) __W,
3764 (__mmask8) __U);
3765 }
3766
3767 extern __inline __m128i
3768 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi32(__mmask8 __U,__m128i __A,__m128i __B)3769 _mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
3770 {
3771 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
3772 (__v4si) __B,
3773 (__v4si)
3774 _mm_setzero_si128 (),
3775 (__mmask8) __U);
3776 }
3777
3778 extern __inline __m256i
3779 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)3780 _mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
3781 __m128i __B)
3782 {
3783 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
3784 (__v2di) __B,
3785 (__v4di) __W,
3786 (__mmask8) __U);
3787 }
3788
3789 extern __inline __m256i
3790 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi64(__mmask8 __U,__m256i __A,__m128i __B)3791 _mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
3792 {
3793 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
3794 (__v2di) __B,
3795 (__v4di)
3796 _mm256_setzero_si256 (),
3797 (__mmask8) __U);
3798 }
3799
3800 extern __inline __m128i
3801 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)3802 _mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
3803 __m128i __B)
3804 {
3805 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
3806 (__v2di) __B,
3807 (__v2di) __W,
3808 (__mmask8) __U);
3809 }
3810
3811 extern __inline __m128i
3812 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi64(__mmask8 __U,__m128i __A,__m128i __B)3813 _mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
3814 {
3815 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
3816 (__v2di) __B,
3817 (__v2di)
3818 _mm_setzero_di (),
3819 (__mmask8) __U);
3820 }
3821
3822 extern __inline __m256i
3823 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)3824 _mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
3825 __m256i __B)
3826 {
3827 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
3828 (__v8si) __B,
3829 (__v8si) __W,
3830 (__mmask8) __U);
3831 }
3832
3833 extern __inline __m256i
3834 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi32(__mmask8 __U,__m256i __A,__m256i __B)3835 _mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
3836 {
3837 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
3838 (__v8si) __B,
3839 (__v8si)
3840 _mm256_setzero_si256 (),
3841 (__mmask8) __U);
3842 }
3843
3844 extern __inline __m256d
3845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_pd(__m256d __A,__m256d __B)3846 _mm256_scalef_pd (__m256d __A, __m256d __B)
3847 {
3848 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3849 (__v4df) __B,
3850 (__v4df)
3851 _mm256_setzero_pd (),
3852 (__mmask8) -1);
3853 }
3854
3855 extern __inline __m256d
3856 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)3857 _mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
3858 __m256d __B)
3859 {
3860 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3861 (__v4df) __B,
3862 (__v4df) __W,
3863 (__mmask8) __U);
3864 }
3865
3866 extern __inline __m256d
3867 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_pd(__mmask8 __U,__m256d __A,__m256d __B)3868 _mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B)
3869 {
3870 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3871 (__v4df) __B,
3872 (__v4df)
3873 _mm256_setzero_pd (),
3874 (__mmask8) __U);
3875 }
3876
3877 extern __inline __m256
3878 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_ps(__m256 __A,__m256 __B)3879 _mm256_scalef_ps (__m256 __A, __m256 __B)
3880 {
3881 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3882 (__v8sf) __B,
3883 (__v8sf)
3884 _mm256_setzero_ps (),
3885 (__mmask8) -1);
3886 }
3887
3888 extern __inline __m256
3889 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)3890 _mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
3891 __m256 __B)
3892 {
3893 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3894 (__v8sf) __B,
3895 (__v8sf) __W,
3896 (__mmask8) __U);
3897 }
3898
3899 extern __inline __m256
3900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_ps(__mmask8 __U,__m256 __A,__m256 __B)3901 _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B)
3902 {
3903 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3904 (__v8sf) __B,
3905 (__v8sf)
3906 _mm256_setzero_ps (),
3907 (__mmask8) __U);
3908 }
3909
3910 extern __inline __m128d
3911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_pd(__m128d __A,__m128d __B)3912 _mm_scalef_pd (__m128d __A, __m128d __B)
3913 {
3914 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3915 (__v2df) __B,
3916 (__v2df)
3917 _mm_setzero_pd (),
3918 (__mmask8) -1);
3919 }
3920
3921 extern __inline __m128d
3922 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)3923 _mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
3924 __m128d __B)
3925 {
3926 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3927 (__v2df) __B,
3928 (__v2df) __W,
3929 (__mmask8) __U);
3930 }
3931
3932 extern __inline __m128d
3933 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_pd(__mmask8 __U,__m128d __A,__m128d __B)3934 _mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B)
3935 {
3936 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3937 (__v2df) __B,
3938 (__v2df)
3939 _mm_setzero_pd (),
3940 (__mmask8) __U);
3941 }
3942
3943 extern __inline __m128
3944 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_ps(__m128 __A,__m128 __B)3945 _mm_scalef_ps (__m128 __A, __m128 __B)
3946 {
3947 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3948 (__v4sf) __B,
3949 (__v4sf)
3950 _mm_setzero_ps (),
3951 (__mmask8) -1);
3952 }
3953
3954 extern __inline __m128
3955 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)3956 _mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
3957 {
3958 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3959 (__v4sf) __B,
3960 (__v4sf) __W,
3961 (__mmask8) __U);
3962 }
3963
3964 extern __inline __m128
3965 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_ps(__mmask8 __U,__m128 __A,__m128 __B)3966 _mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B)
3967 {
3968 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3969 (__v4sf) __B,
3970 (__v4sf)
3971 _mm_setzero_ps (),
3972 (__mmask8) __U);
3973 }
3974
3975 extern __inline __m256d
3976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)3977 _mm256_mask_fmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
3978 __m256d __C)
3979 {
3980 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
3981 (__v4df) __B,
3982 (__v4df) __C,
3983 (__mmask8) __U);
3984 }
3985
3986 extern __inline __m256d
3987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)3988 _mm256_mask3_fmadd_pd (__m256d __A, __m256d __B, __m256d __C,
3989 __mmask8 __U)
3990 {
3991 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
3992 (__v4df) __B,
3993 (__v4df) __C,
3994 (__mmask8) __U);
3995 }
3996
3997 extern __inline __m256d
3998 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)3999 _mm256_maskz_fmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4000 __m256d __C)
4001 {
4002 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
4003 (__v4df) __B,
4004 (__v4df) __C,
4005 (__mmask8) __U);
4006 }
4007
4008 extern __inline __m128d
4009 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4010 _mm_mask_fmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
4011 {
4012 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
4013 (__v2df) __B,
4014 (__v2df) __C,
4015 (__mmask8) __U);
4016 }
4017
4018 extern __inline __m128d
4019 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4020 _mm_mask3_fmadd_pd (__m128d __A, __m128d __B, __m128d __C,
4021 __mmask8 __U)
4022 {
4023 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
4024 (__v2df) __B,
4025 (__v2df) __C,
4026 (__mmask8) __U);
4027 }
4028
4029 extern __inline __m128d
4030 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4031 _mm_maskz_fmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4032 __m128d __C)
4033 {
4034 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
4035 (__v2df) __B,
4036 (__v2df) __C,
4037 (__mmask8) __U);
4038 }
4039
4040 extern __inline __m256
4041 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4042 _mm256_mask_fmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
4043 {
4044 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
4045 (__v8sf) __B,
4046 (__v8sf) __C,
4047 (__mmask8) __U);
4048 }
4049
4050 extern __inline __m256
4051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4052 _mm256_mask3_fmadd_ps (__m256 __A, __m256 __B, __m256 __C,
4053 __mmask8 __U)
4054 {
4055 return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
4056 (__v8sf) __B,
4057 (__v8sf) __C,
4058 (__mmask8) __U);
4059 }
4060
4061 extern __inline __m256
4062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4063 _mm256_maskz_fmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4064 __m256 __C)
4065 {
4066 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
4067 (__v8sf) __B,
4068 (__v8sf) __C,
4069 (__mmask8) __U);
4070 }
4071
4072 extern __inline __m128
4073 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4074 _mm_mask_fmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4075 {
4076 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
4077 (__v4sf) __B,
4078 (__v4sf) __C,
4079 (__mmask8) __U);
4080 }
4081
4082 extern __inline __m128
4083 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4084 _mm_mask3_fmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4085 {
4086 return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
4087 (__v4sf) __B,
4088 (__v4sf) __C,
4089 (__mmask8) __U);
4090 }
4091
4092 extern __inline __m128
4093 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4094 _mm_maskz_fmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4095 {
4096 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
4097 (__v4sf) __B,
4098 (__v4sf) __C,
4099 (__mmask8) __U);
4100 }
4101
4102 extern __inline __m256d
4103 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4104 _mm256_mask_fmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4105 __m256d __C)
4106 {
4107 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
4108 (__v4df) __B,
4109 -(__v4df) __C,
4110 (__mmask8) __U);
4111 }
4112
4113 extern __inline __m256d
4114 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4115 _mm256_mask3_fmsub_pd (__m256d __A, __m256d __B, __m256d __C,
4116 __mmask8 __U)
4117 {
4118 return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
4119 (__v4df) __B,
4120 (__v4df) __C,
4121 (__mmask8) __U);
4122 }
4123
4124 extern __inline __m256d
4125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4126 _mm256_maskz_fmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4127 __m256d __C)
4128 {
4129 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
4130 (__v4df) __B,
4131 -(__v4df) __C,
4132 (__mmask8) __U);
4133 }
4134
4135 extern __inline __m128d
4136 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4137 _mm_mask_fmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
4138 {
4139 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
4140 (__v2df) __B,
4141 -(__v2df) __C,
4142 (__mmask8) __U);
4143 }
4144
4145 extern __inline __m128d
4146 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4147 _mm_mask3_fmsub_pd (__m128d __A, __m128d __B, __m128d __C,
4148 __mmask8 __U)
4149 {
4150 return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
4151 (__v2df) __B,
4152 (__v2df) __C,
4153 (__mmask8) __U);
4154 }
4155
4156 extern __inline __m128d
4157 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4158 _mm_maskz_fmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4159 __m128d __C)
4160 {
4161 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
4162 (__v2df) __B,
4163 -(__v2df) __C,
4164 (__mmask8) __U);
4165 }
4166
4167 extern __inline __m256
4168 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4169 _mm256_mask_fmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
4170 {
4171 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
4172 (__v8sf) __B,
4173 -(__v8sf) __C,
4174 (__mmask8) __U);
4175 }
4176
4177 extern __inline __m256
4178 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4179 _mm256_mask3_fmsub_ps (__m256 __A, __m256 __B, __m256 __C,
4180 __mmask8 __U)
4181 {
4182 return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
4183 (__v8sf) __B,
4184 (__v8sf) __C,
4185 (__mmask8) __U);
4186 }
4187
4188 extern __inline __m256
4189 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4190 _mm256_maskz_fmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4191 __m256 __C)
4192 {
4193 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
4194 (__v8sf) __B,
4195 -(__v8sf) __C,
4196 (__mmask8) __U);
4197 }
4198
4199 extern __inline __m128
4200 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4201 _mm_mask_fmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4202 {
4203 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
4204 (__v4sf) __B,
4205 -(__v4sf) __C,
4206 (__mmask8) __U);
4207 }
4208
4209 extern __inline __m128
4210 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4211 _mm_mask3_fmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4212 {
4213 return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
4214 (__v4sf) __B,
4215 (__v4sf) __C,
4216 (__mmask8) __U);
4217 }
4218
4219 extern __inline __m128
4220 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4221 _mm_maskz_fmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4222 {
4223 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
4224 (__v4sf) __B,
4225 -(__v4sf) __C,
4226 (__mmask8) __U);
4227 }
4228
4229 extern __inline __m256d
4230 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4231 _mm256_mask_fmaddsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4232 __m256d __C)
4233 {
4234 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
4235 (__v4df) __B,
4236 (__v4df) __C,
4237 (__mmask8) __U);
4238 }
4239
4240 extern __inline __m256d
4241 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4242 _mm256_mask3_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C,
4243 __mmask8 __U)
4244 {
4245 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
4246 (__v4df) __B,
4247 (__v4df) __C,
4248 (__mmask8)
4249 __U);
4250 }
4251
4252 extern __inline __m256d
4253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4254 _mm256_maskz_fmaddsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4255 __m256d __C)
4256 {
4257 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
4258 (__v4df) __B,
4259 (__v4df) __C,
4260 (__mmask8)
4261 __U);
4262 }
4263
4264 extern __inline __m128d
4265 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4266 _mm_mask_fmaddsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
4267 __m128d __C)
4268 {
4269 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
4270 (__v2df) __B,
4271 (__v2df) __C,
4272 (__mmask8) __U);
4273 }
4274
4275 extern __inline __m128d
4276 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4277 _mm_mask3_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C,
4278 __mmask8 __U)
4279 {
4280 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
4281 (__v2df) __B,
4282 (__v2df) __C,
4283 (__mmask8)
4284 __U);
4285 }
4286
4287 extern __inline __m128d
4288 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4289 _mm_maskz_fmaddsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4290 __m128d __C)
4291 {
4292 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
4293 (__v2df) __B,
4294 (__v2df) __C,
4295 (__mmask8)
4296 __U);
4297 }
4298
4299 extern __inline __m256
4300 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4301 _mm256_mask_fmaddsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
4302 __m256 __C)
4303 {
4304 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
4305 (__v8sf) __B,
4306 (__v8sf) __C,
4307 (__mmask8) __U);
4308 }
4309
4310 extern __inline __m256
4311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4312 _mm256_mask3_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C,
4313 __mmask8 __U)
4314 {
4315 return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
4316 (__v8sf) __B,
4317 (__v8sf) __C,
4318 (__mmask8) __U);
4319 }
4320
4321 extern __inline __m256
4322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4323 _mm256_maskz_fmaddsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4324 __m256 __C)
4325 {
4326 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
4327 (__v8sf) __B,
4328 (__v8sf) __C,
4329 (__mmask8) __U);
4330 }
4331
4332 extern __inline __m128
4333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4334 _mm_mask_fmaddsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4335 {
4336 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
4337 (__v4sf) __B,
4338 (__v4sf) __C,
4339 (__mmask8) __U);
4340 }
4341
4342 extern __inline __m128
4343 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4344 _mm_mask3_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C,
4345 __mmask8 __U)
4346 {
4347 return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
4348 (__v4sf) __B,
4349 (__v4sf) __C,
4350 (__mmask8) __U);
4351 }
4352
4353 extern __inline __m128
4354 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4355 _mm_maskz_fmaddsub_ps (__mmask8 __U, __m128 __A, __m128 __B,
4356 __m128 __C)
4357 {
4358 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
4359 (__v4sf) __B,
4360 (__v4sf) __C,
4361 (__mmask8) __U);
4362 }
4363
4364 extern __inline __m256d
4365 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4366 _mm256_mask_fmsubadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
4367 __m256d __C)
4368 {
4369 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
4370 (__v4df) __B,
4371 -(__v4df) __C,
4372 (__mmask8) __U);
4373 }
4374
4375 extern __inline __m256d
4376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4377 _mm256_mask3_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C,
4378 __mmask8 __U)
4379 {
4380 return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
4381 (__v4df) __B,
4382 (__v4df) __C,
4383 (__mmask8)
4384 __U);
4385 }
4386
4387 extern __inline __m256d
4388 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4389 _mm256_maskz_fmsubadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4390 __m256d __C)
4391 {
4392 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
4393 (__v4df) __B,
4394 -(__v4df) __C,
4395 (__mmask8)
4396 __U);
4397 }
4398
4399 extern __inline __m128d
4400 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4401 _mm_mask_fmsubadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
4402 __m128d __C)
4403 {
4404 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
4405 (__v2df) __B,
4406 -(__v2df) __C,
4407 (__mmask8) __U);
4408 }
4409
4410 extern __inline __m128d
4411 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4412 _mm_mask3_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C,
4413 __mmask8 __U)
4414 {
4415 return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
4416 (__v2df) __B,
4417 (__v2df) __C,
4418 (__mmask8)
4419 __U);
4420 }
4421
4422 extern __inline __m128d
4423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4424 _mm_maskz_fmsubadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4425 __m128d __C)
4426 {
4427 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
4428 (__v2df) __B,
4429 -(__v2df) __C,
4430 (__mmask8)
4431 __U);
4432 }
4433
4434 extern __inline __m256
4435 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4436 _mm256_mask_fmsubadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
4437 __m256 __C)
4438 {
4439 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
4440 (__v8sf) __B,
4441 -(__v8sf) __C,
4442 (__mmask8) __U);
4443 }
4444
4445 extern __inline __m256
4446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4447 _mm256_mask3_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C,
4448 __mmask8 __U)
4449 {
4450 return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
4451 (__v8sf) __B,
4452 (__v8sf) __C,
4453 (__mmask8) __U);
4454 }
4455
4456 extern __inline __m256
4457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4458 _mm256_maskz_fmsubadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4459 __m256 __C)
4460 {
4461 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
4462 (__v8sf) __B,
4463 -(__v8sf) __C,
4464 (__mmask8) __U);
4465 }
4466
4467 extern __inline __m128
4468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4469 _mm_mask_fmsubadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4470 {
4471 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
4472 (__v4sf) __B,
4473 -(__v4sf) __C,
4474 (__mmask8) __U);
4475 }
4476
4477 extern __inline __m128
4478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4479 _mm_mask3_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C,
4480 __mmask8 __U)
4481 {
4482 return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
4483 (__v4sf) __B,
4484 (__v4sf) __C,
4485 (__mmask8) __U);
4486 }
4487
4488 extern __inline __m128
4489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4490 _mm_maskz_fmsubadd_ps (__mmask8 __U, __m128 __A, __m128 __B,
4491 __m128 __C)
4492 {
4493 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
4494 (__v4sf) __B,
4495 -(__v4sf) __C,
4496 (__mmask8) __U);
4497 }
4498
4499 extern __inline __m256d
4500 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4501 _mm256_mask_fnmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
4502 __m256d __C)
4503 {
4504 return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
4505 (__v4df) __B,
4506 (__v4df) __C,
4507 (__mmask8) __U);
4508 }
4509
4510 extern __inline __m256d
4511 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4512 _mm256_mask3_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C,
4513 __mmask8 __U)
4514 {
4515 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A,
4516 (__v4df) __B,
4517 (__v4df) __C,
4518 (__mmask8) __U);
4519 }
4520
4521 extern __inline __m256d
4522 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4523 _mm256_maskz_fnmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
4524 __m256d __C)
4525 {
4526 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
4527 (__v4df) __B,
4528 (__v4df) __C,
4529 (__mmask8) __U);
4530 }
4531
4532 extern __inline __m128d
4533 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4534 _mm_mask_fnmadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
4535 __m128d __C)
4536 {
4537 return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
4538 (__v2df) __B,
4539 (__v2df) __C,
4540 (__mmask8) __U);
4541 }
4542
4543 extern __inline __m128d
4544 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4545 _mm_mask3_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C,
4546 __mmask8 __U)
4547 {
4548 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A,
4549 (__v2df) __B,
4550 (__v2df) __C,
4551 (__mmask8) __U);
4552 }
4553
4554 extern __inline __m128d
4555 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4556 _mm_maskz_fnmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
4557 __m128d __C)
4558 {
4559 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
4560 (__v2df) __B,
4561 (__v2df) __C,
4562 (__mmask8) __U);
4563 }
4564
4565 extern __inline __m256
4566 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4567 _mm256_mask_fnmadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
4568 __m256 __C)
4569 {
4570 return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
4571 (__v8sf) __B,
4572 (__v8sf) __C,
4573 (__mmask8) __U);
4574 }
4575
4576 extern __inline __m256
4577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4578 _mm256_mask3_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C,
4579 __mmask8 __U)
4580 {
4581 return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A,
4582 (__v8sf) __B,
4583 (__v8sf) __C,
4584 (__mmask8) __U);
4585 }
4586
4587 extern __inline __m256
4588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4589 _mm256_maskz_fnmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
4590 __m256 __C)
4591 {
4592 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
4593 (__v8sf) __B,
4594 (__v8sf) __C,
4595 (__mmask8) __U);
4596 }
4597
4598 extern __inline __m128
4599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4600 _mm_mask_fnmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4601 {
4602 return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
4603 (__v4sf) __B,
4604 (__v4sf) __C,
4605 (__mmask8) __U);
4606 }
4607
4608 extern __inline __m128
4609 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4610 _mm_mask3_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4611 {
4612 return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A,
4613 (__v4sf) __B,
4614 (__v4sf) __C,
4615 (__mmask8) __U);
4616 }
4617
4618 extern __inline __m128
4619 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4620 _mm_maskz_fnmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4621 {
4622 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
4623 (__v4sf) __B,
4624 (__v4sf) __C,
4625 (__mmask8) __U);
4626 }
4627
4628 extern __inline __m256d
4629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256d __C)4630 _mm256_mask_fnmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
4631 __m256d __C)
4632 {
4633 return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
4634 (__v4df) __B,
4635 (__v4df) __C,
4636 (__mmask8) __U);
4637 }
4638
4639 extern __inline __m256d
4640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_pd(__m256d __A,__m256d __B,__m256d __C,__mmask8 __U)4641 _mm256_mask3_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C,
4642 __mmask8 __U)
4643 {
4644 return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
4645 (__v4df) __B,
4646 (__v4df) __C,
4647 (__mmask8) __U);
4648 }
4649
4650 extern __inline __m256d
4651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256d __C)4652 _mm256_maskz_fnmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
4653 __m256d __C)
4654 {
4655 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
4656 (__v4df) __B,
4657 -(__v4df) __C,
4658 (__mmask8) __U);
4659 }
4660
4661 extern __inline __m128d
4662 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128d __C)4663 _mm_mask_fnmsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
4664 __m128d __C)
4665 {
4666 return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
4667 (__v2df) __B,
4668 (__v2df) __C,
4669 (__mmask8) __U);
4670 }
4671
4672 extern __inline __m128d
4673 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_pd(__m128d __A,__m128d __B,__m128d __C,__mmask8 __U)4674 _mm_mask3_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C,
4675 __mmask8 __U)
4676 {
4677 return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
4678 (__v2df) __B,
4679 (__v2df) __C,
4680 (__mmask8) __U);
4681 }
4682
4683 extern __inline __m128d
4684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128d __C)4685 _mm_maskz_fnmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
4686 __m128d __C)
4687 {
4688 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
4689 (__v2df) __B,
4690 -(__v2df) __C,
4691 (__mmask8) __U);
4692 }
4693
4694 extern __inline __m256
4695 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256 __C)4696 _mm256_mask_fnmsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
4697 __m256 __C)
4698 {
4699 return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
4700 (__v8sf) __B,
4701 (__v8sf) __C,
4702 (__mmask8) __U);
4703 }
4704
4705 extern __inline __m256
4706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_ps(__m256 __A,__m256 __B,__m256 __C,__mmask8 __U)4707 _mm256_mask3_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C,
4708 __mmask8 __U)
4709 {
4710 return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
4711 (__v8sf) __B,
4712 (__v8sf) __C,
4713 (__mmask8) __U);
4714 }
4715
4716 extern __inline __m256
4717 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256 __C)4718 _mm256_maskz_fnmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
4719 __m256 __C)
4720 {
4721 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
4722 (__v8sf) __B,
4723 -(__v8sf) __C,
4724 (__mmask8) __U);
4725 }
4726
4727 extern __inline __m128
4728 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128 __C)4729 _mm_mask_fnmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
4730 {
4731 return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
4732 (__v4sf) __B,
4733 (__v4sf) __C,
4734 (__mmask8) __U);
4735 }
4736
4737 extern __inline __m128
4738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_ps(__m128 __A,__m128 __B,__m128 __C,__mmask8 __U)4739 _mm_mask3_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
4740 {
4741 return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
4742 (__v4sf) __B,
4743 (__v4sf) __C,
4744 (__mmask8) __U);
4745 }
4746
4747 extern __inline __m128
4748 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128 __C)4749 _mm_maskz_fnmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
4750 {
4751 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
4752 (__v4sf) __B,
4753 -(__v4sf) __C,
4754 (__mmask8) __U);
4755 }
4756
4757 extern __inline __m128i
4758 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4759 _mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4760 __m128i __B)
4761 {
4762 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
4763 (__v4si) __B,
4764 (__v4si) __W,
4765 (__mmask8) __U);
4766 }
4767
4768 extern __inline __m128i
4769 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi32(__mmask8 __U,__m128i __A,__m128i __B)4770 _mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4771 {
4772 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
4773 (__v4si) __B,
4774 (__v4si)
4775 _mm_setzero_si128 (),
4776 (__mmask8) __U);
4777 }
4778
4779 extern __inline __m256i
4780 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4781 _mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4782 __m256i __B)
4783 {
4784 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
4785 (__v8si) __B,
4786 (__v8si) __W,
4787 (__mmask8) __U);
4788 }
4789
4790 extern __inline __m256i
4791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi32(__mmask8 __U,__m256i __A,__m256i __B)4792 _mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4793 {
4794 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
4795 (__v8si) __B,
4796 (__v8si)
4797 _mm256_setzero_si256 (),
4798 (__mmask8) __U);
4799 }
4800
4801 extern __inline __m128i
4802 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4803 _mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4804 __m128i __B)
4805 {
4806 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
4807 (__v4si) __B,
4808 (__v4si) __W,
4809 (__mmask8) __U);
4810 }
4811
4812 extern __inline __m128i
4813 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi32(__mmask8 __U,__m128i __A,__m128i __B)4814 _mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4815 {
4816 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
4817 (__v4si) __B,
4818 (__v4si)
4819 _mm_setzero_si128 (),
4820 (__mmask8) __U);
4821 }
4822
4823 extern __inline __m256i
4824 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4825 _mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4826 __m256i __B)
4827 {
4828 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
4829 (__v8si) __B,
4830 (__v8si) __W,
4831 (__mmask8) __U);
4832 }
4833
4834 extern __inline __m256i
4835 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi32(__mmask8 __U,__m256i __A,__m256i __B)4836 _mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4837 {
4838 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
4839 (__v8si) __B,
4840 (__v8si)
4841 _mm256_setzero_si256 (),
4842 (__mmask8) __U);
4843 }
4844
4845 extern __inline __m128i
4846 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4847 _mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4848 {
4849 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
4850 (__v4si) __B,
4851 (__v4si) __W,
4852 (__mmask8) __U);
4853 }
4854
4855 extern __inline __m128i
4856 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi32(__mmask8 __U,__m128i __A,__m128i __B)4857 _mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4858 {
4859 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
4860 (__v4si) __B,
4861 (__v4si)
4862 _mm_setzero_si128 (),
4863 (__mmask8) __U);
4864 }
4865
4866 extern __inline __m256i
4867 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)4868 _mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4869 __m256i __B)
4870 {
4871 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
4872 (__v8si) __B,
4873 (__v8si) __W,
4874 (__mmask8) __U);
4875 }
4876
4877 extern __inline __m256i
4878 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi32(__mmask8 __U,__m256i __A,__m256i __B)4879 _mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4880 {
4881 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
4882 (__v8si) __B,
4883 (__v8si)
4884 _mm256_setzero_si256 (),
4885 (__mmask8) __U);
4886 }
4887
4888 extern __inline __m128i
4889 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)4890 _mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4891 __m128i __B)
4892 {
4893 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
4894 (__v4si) __B,
4895 (__v4si) __W,
4896 (__mmask8) __U);
4897 }
4898
4899 extern __inline __m128i
4900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi32(__mmask8 __U,__m128i __A,__m128i __B)4901 _mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4902 {
4903 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
4904 (__v4si) __B,
4905 (__v4si)
4906 _mm_setzero_si128 (),
4907 (__mmask8) __U);
4908 }
4909
4910 extern __inline __m128
4911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m128d __A)4912 _mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A)
4913 {
4914 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
4915 (__v4sf) __W,
4916 (__mmask8) __U);
4917 }
4918
4919 extern __inline __m128
4920 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_ps(__mmask8 __U,__m128d __A)4921 _mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A)
4922 {
4923 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
4924 (__v4sf)
4925 _mm_setzero_ps (),
4926 (__mmask8) __U);
4927 }
4928
4929 extern __inline __m128
4930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_ps(__m128 __W,__mmask8 __U,__m256d __A)4931 _mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A)
4932 {
4933 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
4934 (__v4sf) __W,
4935 (__mmask8) __U);
4936 }
4937
4938 extern __inline __m128
4939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_ps(__mmask8 __U,__m256d __A)4940 _mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A)
4941 {
4942 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
4943 (__v4sf)
4944 _mm_setzero_ps (),
4945 (__mmask8) __U);
4946 }
4947
4948 extern __inline __m256i
4949 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epi32(__m256i __W,__mmask8 __U,__m256 __A)4950 _mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
4951 {
4952 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
4953 (__v8si) __W,
4954 (__mmask8) __U);
4955 }
4956
4957 extern __inline __m256i
4958 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epi32(__mmask8 __U,__m256 __A)4959 _mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A)
4960 {
4961 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
4962 (__v8si)
4963 _mm256_setzero_si256 (),
4964 (__mmask8) __U);
4965 }
4966
4967 extern __inline __m128i
4968 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epi32(__m128i __W,__mmask8 __U,__m128 __A)4969 _mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
4970 {
4971 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
4972 (__v4si) __W,
4973 (__mmask8) __U);
4974 }
4975
4976 extern __inline __m128i
4977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epi32(__mmask8 __U,__m128 __A)4978 _mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A)
4979 {
4980 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
4981 (__v4si)
4982 _mm_setzero_si128 (),
4983 (__mmask8) __U);
4984 }
4985
4986 extern __inline __m256i
4987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_epu32(__m256 __A)4988 _mm256_cvtps_epu32 (__m256 __A)
4989 {
4990 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
4991 (__v8si)
4992 _mm256_setzero_si256 (),
4993 (__mmask8) -1);
4994 }
4995
4996 extern __inline __m256i
4997 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epu32(__m256i __W,__mmask8 __U,__m256 __A)4998 _mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
4999 {
5000 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5001 (__v8si) __W,
5002 (__mmask8) __U);
5003 }
5004
5005 extern __inline __m256i
5006 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epu32(__mmask8 __U,__m256 __A)5007 _mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A)
5008 {
5009 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
5010 (__v8si)
5011 _mm256_setzero_si256 (),
5012 (__mmask8) __U);
5013 }
5014
5015 extern __inline __m128i
5016 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epu32(__m128 __A)5017 _mm_cvtps_epu32 (__m128 __A)
5018 {
5019 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5020 (__v4si)
5021 _mm_setzero_si128 (),
5022 (__mmask8) -1);
5023 }
5024
5025 extern __inline __m128i
5026 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epu32(__m128i __W,__mmask8 __U,__m128 __A)5027 _mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
5028 {
5029 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5030 (__v4si) __W,
5031 (__mmask8) __U);
5032 }
5033
5034 extern __inline __m128i
5035 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epu32(__mmask8 __U,__m128 __A)5036 _mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A)
5037 {
5038 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
5039 (__v4si)
5040 _mm_setzero_si128 (),
5041 (__mmask8) __U);
5042 }
5043
5044 extern __inline __m256d
5045 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movedup_pd(__m256d __W,__mmask8 __U,__m256d __A)5046 _mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
5047 {
5048 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
5049 (__v4df) __W,
5050 (__mmask8) __U);
5051 }
5052
5053 extern __inline __m256d
5054 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movedup_pd(__mmask8 __U,__m256d __A)5055 _mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
5056 {
5057 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
5058 (__v4df)
5059 _mm256_setzero_pd (),
5060 (__mmask8) __U);
5061 }
5062
5063 extern __inline __m128d
5064 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movedup_pd(__m128d __W,__mmask8 __U,__m128d __A)5065 _mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
5066 {
5067 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5068 (__v2df) __W,
5069 (__mmask8) __U);
5070 }
5071
5072 extern __inline __m128d
5073 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movedup_pd(__mmask8 __U,__m128d __A)5074 _mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
5075 {
5076 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5077 (__v2df)
5078 _mm_setzero_pd (),
5079 (__mmask8) __U);
5080 }
5081
5082 extern __inline __m256
5083 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movehdup_ps(__m256 __W,__mmask8 __U,__m256 __A)5084 _mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
5085 {
5086 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
5087 (__v8sf) __W,
5088 (__mmask8) __U);
5089 }
5090
5091 extern __inline __m256
5092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movehdup_ps(__mmask8 __U,__m256 __A)5093 _mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
5094 {
5095 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
5096 (__v8sf)
5097 _mm256_setzero_ps (),
5098 (__mmask8) __U);
5099 }
5100
5101 extern __inline __m128
5102 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movehdup_ps(__m128 __W,__mmask8 __U,__m128 __A)5103 _mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
5104 {
5105 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
5106 (__v4sf) __W,
5107 (__mmask8) __U);
5108 }
5109
5110 extern __inline __m128
5111 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movehdup_ps(__mmask8 __U,__m128 __A)5112 _mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
5113 {
5114 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
5115 (__v4sf)
5116 _mm_setzero_ps (),
5117 (__mmask8) __U);
5118 }
5119
5120 extern __inline __m256
5121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_moveldup_ps(__m256 __W,__mmask8 __U,__m256 __A)5122 _mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
5123 {
5124 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
5125 (__v8sf) __W,
5126 (__mmask8) __U);
5127 }
5128
5129 extern __inline __m256
5130 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_moveldup_ps(__mmask8 __U,__m256 __A)5131 _mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
5132 {
5133 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
5134 (__v8sf)
5135 _mm256_setzero_ps (),
5136 (__mmask8) __U);
5137 }
5138
5139 extern __inline __m128
5140 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_moveldup_ps(__m128 __W,__mmask8 __U,__m128 __A)5141 _mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
5142 {
5143 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
5144 (__v4sf) __W,
5145 (__mmask8) __U);
5146 }
5147
5148 extern __inline __m128
5149 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_moveldup_ps(__mmask8 __U,__m128 __A)5150 _mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
5151 {
5152 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
5153 (__v4sf)
5154 _mm_setzero_ps (),
5155 (__mmask8) __U);
5156 }
5157
5158 extern __inline __m128i
5159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5160 _mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5161 __m128i __B)
5162 {
5163 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
5164 (__v4si) __B,
5165 (__v4si) __W,
5166 (__mmask8) __U);
5167 }
5168
5169 extern __inline __m128i
5170 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi32(__mmask8 __U,__m128i __A,__m128i __B)5171 _mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5172 {
5173 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
5174 (__v4si) __B,
5175 (__v4si)
5176 _mm_setzero_si128 (),
5177 (__mmask8) __U);
5178 }
5179
5180 extern __inline __m256i
5181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5182 _mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5183 __m256i __B)
5184 {
5185 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
5186 (__v8si) __B,
5187 (__v8si) __W,
5188 (__mmask8) __U);
5189 }
5190
5191 extern __inline __m256i
5192 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi32(__mmask8 __U,__m256i __A,__m256i __B)5193 _mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5194 {
5195 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
5196 (__v8si) __B,
5197 (__v8si)
5198 _mm256_setzero_si256 (),
5199 (__mmask8) __U);
5200 }
5201
5202 extern __inline __m128i
5203 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5204 _mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5205 __m128i __B)
5206 {
5207 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
5208 (__v2di) __B,
5209 (__v2di) __W,
5210 (__mmask8) __U);
5211 }
5212
5213 extern __inline __m128i
5214 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi64(__mmask8 __U,__m128i __A,__m128i __B)5215 _mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5216 {
5217 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
5218 (__v2di) __B,
5219 (__v2di)
5220 _mm_setzero_di (),
5221 (__mmask8) __U);
5222 }
5223
5224 extern __inline __m256i
5225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5226 _mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5227 __m256i __B)
5228 {
5229 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
5230 (__v4di) __B,
5231 (__v4di) __W,
5232 (__mmask8) __U);
5233 }
5234
5235 extern __inline __m256i
5236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi64(__mmask8 __U,__m256i __A,__m256i __B)5237 _mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5238 {
5239 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
5240 (__v4di) __B,
5241 (__v4di)
5242 _mm256_setzero_si256 (),
5243 (__mmask8) __U);
5244 }
5245
5246 extern __inline __m128i
5247 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5248 _mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5249 __m128i __B)
5250 {
5251 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
5252 (__v4si) __B,
5253 (__v4si) __W,
5254 (__mmask8) __U);
5255 }
5256
5257 extern __inline __m128i
5258 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi32(__mmask8 __U,__m128i __A,__m128i __B)5259 _mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5260 {
5261 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
5262 (__v4si) __B,
5263 (__v4si)
5264 _mm_setzero_si128 (),
5265 (__mmask8) __U);
5266 }
5267
5268 extern __inline __m256i
5269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5270 _mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5271 __m256i __B)
5272 {
5273 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
5274 (__v8si) __B,
5275 (__v8si) __W,
5276 (__mmask8) __U);
5277 }
5278
5279 extern __inline __m256i
5280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi32(__mmask8 __U,__m256i __A,__m256i __B)5281 _mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5282 {
5283 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
5284 (__v8si) __B,
5285 (__v8si)
5286 _mm256_setzero_si256 (),
5287 (__mmask8) __U);
5288 }
5289
5290 extern __inline __m128i
5291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)5292 _mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5293 __m128i __B)
5294 {
5295 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
5296 (__v2di) __B,
5297 (__v2di) __W,
5298 (__mmask8) __U);
5299 }
5300
5301 extern __inline __m128i
5302 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi64(__mmask8 __U,__m128i __A,__m128i __B)5303 _mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5304 {
5305 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
5306 (__v2di) __B,
5307 (__v2di)
5308 _mm_setzero_di (),
5309 (__mmask8) __U);
5310 }
5311
5312 extern __inline __m256i
5313 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)5314 _mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5315 __m256i __B)
5316 {
5317 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
5318 (__v4di) __B,
5319 (__v4di) __W,
5320 (__mmask8) __U);
5321 }
5322
5323 extern __inline __m256i
5324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi64(__mmask8 __U,__m256i __A,__m256i __B)5325 _mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5326 {
5327 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
5328 (__v4di) __B,
5329 (__v4di)
5330 _mm256_setzero_si256 (),
5331 (__mmask8) __U);
5332 }
5333
5334 extern __inline __mmask8
5335 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu32_mask(__m128i __A,__m128i __B)5336 _mm_cmpeq_epu32_mask (__m128i __A, __m128i __B)
5337 {
5338 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5339 (__v4si) __B, 0,
5340 (__mmask8) -1);
5341 }
5342
5343 extern __inline __mmask8
5344 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi32_mask(__m128i __A,__m128i __B)5345 _mm_cmpeq_epi32_mask (__m128i __A, __m128i __B)
5346 {
5347 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
5348 (__v4si) __B,
5349 (__mmask8) -1);
5350 }
5351
5352 extern __inline __mmask8
5353 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu32_mask(__mmask8 __U,__m128i __A,__m128i __B)5354 _mm_mask_cmpeq_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5355 {
5356 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5357 (__v4si) __B, 0, __U);
5358 }
5359
5360 extern __inline __mmask8
5361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5362 _mm_mask_cmpeq_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5363 {
5364 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
5365 (__v4si) __B, __U);
5366 }
5367
5368 extern __inline __mmask8
5369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu32_mask(__m256i __A,__m256i __B)5370 _mm256_cmpeq_epu32_mask (__m256i __A, __m256i __B)
5371 {
5372 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5373 (__v8si) __B, 0,
5374 (__mmask8) -1);
5375 }
5376
5377 extern __inline __mmask8
5378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi32_mask(__m256i __A,__m256i __B)5379 _mm256_cmpeq_epi32_mask (__m256i __A, __m256i __B)
5380 {
5381 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
5382 (__v8si) __B,
5383 (__mmask8) -1);
5384 }
5385
5386 extern __inline __mmask8
5387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu32_mask(__mmask8 __U,__m256i __A,__m256i __B)5388 _mm256_mask_cmpeq_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5389 {
5390 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5391 (__v8si) __B, 0, __U);
5392 }
5393
5394 extern __inline __mmask8
5395 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5396 _mm256_mask_cmpeq_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5397 {
5398 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
5399 (__v8si) __B, __U);
5400 }
5401
5402 extern __inline __mmask8
5403 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu64_mask(__m128i __A,__m128i __B)5404 _mm_cmpeq_epu64_mask (__m128i __A, __m128i __B)
5405 {
5406 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5407 (__v2di) __B, 0,
5408 (__mmask8) -1);
5409 }
5410
5411 extern __inline __mmask8
5412 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi64_mask(__m128i __A,__m128i __B)5413 _mm_cmpeq_epi64_mask (__m128i __A, __m128i __B)
5414 {
5415 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
5416 (__v2di) __B,
5417 (__mmask8) -1);
5418 }
5419
5420 extern __inline __mmask8
5421 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu64_mask(__mmask8 __U,__m128i __A,__m128i __B)5422 _mm_mask_cmpeq_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5423 {
5424 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5425 (__v2di) __B, 0, __U);
5426 }
5427
5428 extern __inline __mmask8
5429 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5430 _mm_mask_cmpeq_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5431 {
5432 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
5433 (__v2di) __B, __U);
5434 }
5435
5436 extern __inline __mmask8
5437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu64_mask(__m256i __A,__m256i __B)5438 _mm256_cmpeq_epu64_mask (__m256i __A, __m256i __B)
5439 {
5440 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5441 (__v4di) __B, 0,
5442 (__mmask8) -1);
5443 }
5444
5445 extern __inline __mmask8
5446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi64_mask(__m256i __A,__m256i __B)5447 _mm256_cmpeq_epi64_mask (__m256i __A, __m256i __B)
5448 {
5449 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
5450 (__v4di) __B,
5451 (__mmask8) -1);
5452 }
5453
5454 extern __inline __mmask8
5455 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu64_mask(__mmask8 __U,__m256i __A,__m256i __B)5456 _mm256_mask_cmpeq_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5457 {
5458 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5459 (__v4di) __B, 0, __U);
5460 }
5461
5462 extern __inline __mmask8
5463 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5464 _mm256_mask_cmpeq_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5465 {
5466 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
5467 (__v4di) __B, __U);
5468 }
5469
5470 extern __inline __mmask8
5471 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu32_mask(__m128i __A,__m128i __B)5472 _mm_cmpgt_epu32_mask (__m128i __A, __m128i __B)
5473 {
5474 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5475 (__v4si) __B, 6,
5476 (__mmask8) -1);
5477 }
5478
5479 extern __inline __mmask8
5480 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi32_mask(__m128i __A,__m128i __B)5481 _mm_cmpgt_epi32_mask (__m128i __A, __m128i __B)
5482 {
5483 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
5484 (__v4si) __B,
5485 (__mmask8) -1);
5486 }
5487
5488 extern __inline __mmask8
5489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu32_mask(__mmask8 __U,__m128i __A,__m128i __B)5490 _mm_mask_cmpgt_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5491 {
5492 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
5493 (__v4si) __B, 6, __U);
5494 }
5495
5496 extern __inline __mmask8
5497 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5498 _mm_mask_cmpgt_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5499 {
5500 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
5501 (__v4si) __B, __U);
5502 }
5503
5504 extern __inline __mmask8
5505 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu32_mask(__m256i __A,__m256i __B)5506 _mm256_cmpgt_epu32_mask (__m256i __A, __m256i __B)
5507 {
5508 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5509 (__v8si) __B, 6,
5510 (__mmask8) -1);
5511 }
5512
5513 extern __inline __mmask8
5514 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi32_mask(__m256i __A,__m256i __B)5515 _mm256_cmpgt_epi32_mask (__m256i __A, __m256i __B)
5516 {
5517 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
5518 (__v8si) __B,
5519 (__mmask8) -1);
5520 }
5521
5522 extern __inline __mmask8
5523 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu32_mask(__mmask8 __U,__m256i __A,__m256i __B)5524 _mm256_mask_cmpgt_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5525 {
5526 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
5527 (__v8si) __B, 6, __U);
5528 }
5529
5530 extern __inline __mmask8
5531 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5532 _mm256_mask_cmpgt_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5533 {
5534 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
5535 (__v8si) __B, __U);
5536 }
5537
5538 extern __inline __mmask8
5539 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu64_mask(__m128i __A,__m128i __B)5540 _mm_cmpgt_epu64_mask (__m128i __A, __m128i __B)
5541 {
5542 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5543 (__v2di) __B, 6,
5544 (__mmask8) -1);
5545 }
5546
5547 extern __inline __mmask8
5548 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi64_mask(__m128i __A,__m128i __B)5549 _mm_cmpgt_epi64_mask (__m128i __A, __m128i __B)
5550 {
5551 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
5552 (__v2di) __B,
5553 (__mmask8) -1);
5554 }
5555
5556 extern __inline __mmask8
5557 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu64_mask(__mmask8 __U,__m128i __A,__m128i __B)5558 _mm_mask_cmpgt_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5559 {
5560 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
5561 (__v2di) __B, 6, __U);
5562 }
5563
5564 extern __inline __mmask8
5565 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5566 _mm_mask_cmpgt_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5567 {
5568 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
5569 (__v2di) __B, __U);
5570 }
5571
5572 extern __inline __mmask8
5573 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu64_mask(__m256i __A,__m256i __B)5574 _mm256_cmpgt_epu64_mask (__m256i __A, __m256i __B)
5575 {
5576 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5577 (__v4di) __B, 6,
5578 (__mmask8) -1);
5579 }
5580
5581 extern __inline __mmask8
5582 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi64_mask(__m256i __A,__m256i __B)5583 _mm256_cmpgt_epi64_mask (__m256i __A, __m256i __B)
5584 {
5585 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
5586 (__v4di) __B,
5587 (__mmask8) -1);
5588 }
5589
5590 extern __inline __mmask8
5591 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu64_mask(__mmask8 __U,__m256i __A,__m256i __B)5592 _mm256_mask_cmpgt_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5593 {
5594 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
5595 (__v4di) __B, 6, __U);
5596 }
5597
5598 extern __inline __mmask8
5599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5600 _mm256_mask_cmpgt_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5601 {
5602 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
5603 (__v4di) __B, __U);
5604 }
5605
5606 extern __inline __mmask8
5607 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi32_mask(__m128i __A,__m128i __B)5608 _mm_test_epi32_mask (__m128i __A, __m128i __B)
5609 {
5610 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
5611 (__v4si) __B,
5612 (__mmask8) -1);
5613 }
5614
5615 extern __inline __mmask8
5616 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5617 _mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5618 {
5619 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
5620 (__v4si) __B, __U);
5621 }
5622
5623 extern __inline __mmask8
5624 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi32_mask(__m256i __A,__m256i __B)5625 _mm256_test_epi32_mask (__m256i __A, __m256i __B)
5626 {
5627 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
5628 (__v8si) __B,
5629 (__mmask8) -1);
5630 }
5631
5632 extern __inline __mmask8
5633 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5634 _mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5635 {
5636 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
5637 (__v8si) __B, __U);
5638 }
5639
5640 extern __inline __mmask8
5641 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi64_mask(__m128i __A,__m128i __B)5642 _mm_test_epi64_mask (__m128i __A, __m128i __B)
5643 {
5644 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
5645 (__v2di) __B,
5646 (__mmask8) -1);
5647 }
5648
5649 extern __inline __mmask8
5650 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5651 _mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5652 {
5653 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
5654 (__v2di) __B, __U);
5655 }
5656
5657 extern __inline __mmask8
5658 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi64_mask(__m256i __A,__m256i __B)5659 _mm256_test_epi64_mask (__m256i __A, __m256i __B)
5660 {
5661 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
5662 (__v4di) __B,
5663 (__mmask8) -1);
5664 }
5665
5666 extern __inline __mmask8
5667 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5668 _mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5669 {
5670 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
5671 (__v4di) __B, __U);
5672 }
5673
5674 extern __inline __mmask8
5675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi32_mask(__m128i __A,__m128i __B)5676 _mm_testn_epi32_mask (__m128i __A, __m128i __B)
5677 {
5678 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
5679 (__v4si) __B,
5680 (__mmask8) -1);
5681 }
5682
5683 extern __inline __mmask8
5684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi32_mask(__mmask8 __U,__m128i __A,__m128i __B)5685 _mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
5686 {
5687 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
5688 (__v4si) __B, __U);
5689 }
5690
5691 extern __inline __mmask8
5692 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi32_mask(__m256i __A,__m256i __B)5693 _mm256_testn_epi32_mask (__m256i __A, __m256i __B)
5694 {
5695 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
5696 (__v8si) __B,
5697 (__mmask8) -1);
5698 }
5699
5700 extern __inline __mmask8
5701 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi32_mask(__mmask8 __U,__m256i __A,__m256i __B)5702 _mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
5703 {
5704 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
5705 (__v8si) __B, __U);
5706 }
5707
5708 extern __inline __mmask8
5709 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi64_mask(__m128i __A,__m128i __B)5710 _mm_testn_epi64_mask (__m128i __A, __m128i __B)
5711 {
5712 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
5713 (__v2di) __B,
5714 (__mmask8) -1);
5715 }
5716
5717 extern __inline __mmask8
5718 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi64_mask(__mmask8 __U,__m128i __A,__m128i __B)5719 _mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
5720 {
5721 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
5722 (__v2di) __B, __U);
5723 }
5724
5725 extern __inline __mmask8
5726 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi64_mask(__m256i __A,__m256i __B)5727 _mm256_testn_epi64_mask (__m256i __A, __m256i __B)
5728 {
5729 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
5730 (__v4di) __B,
5731 (__mmask8) -1);
5732 }
5733
5734 extern __inline __mmask8
5735 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi64_mask(__mmask8 __U,__m256i __A,__m256i __B)5736 _mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
5737 {
5738 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
5739 (__v4di) __B, __U);
5740 }
5741
5742 extern __inline __m256d
5743 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_pd(__m256d __W,__mmask8 __U,__m256d __A)5744 _mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A)
5745 {
5746 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
5747 (__v4df) __W,
5748 (__mmask8) __U);
5749 }
5750
5751 extern __inline __m256d
5752 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_pd(__mmask8 __U,__m256d __A)5753 _mm256_maskz_compress_pd (__mmask8 __U, __m256d __A)
5754 {
5755 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
5756 (__v4df)
5757 _mm256_setzero_pd (),
5758 (__mmask8) __U);
5759 }
5760
5761 extern __inline void
5762 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m256d __A)5763 _mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A)
5764 {
5765 __builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
5766 (__v4df) __A,
5767 (__mmask8) __U);
5768 }
5769
5770 extern __inline __m128d
5771 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_pd(__m128d __W,__mmask8 __U,__m128d __A)5772 _mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A)
5773 {
5774 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
5775 (__v2df) __W,
5776 (__mmask8) __U);
5777 }
5778
5779 extern __inline __m128d
5780 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_pd(__mmask8 __U,__m128d __A)5781 _mm_maskz_compress_pd (__mmask8 __U, __m128d __A)
5782 {
5783 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
5784 (__v2df)
5785 _mm_setzero_pd (),
5786 (__mmask8) __U);
5787 }
5788
5789 extern __inline void
5790 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_pd(void * __P,__mmask8 __U,__m128d __A)5791 _mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A)
5792 {
5793 __builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
5794 (__v2df) __A,
5795 (__mmask8) __U);
5796 }
5797
5798 extern __inline __m256
5799 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_ps(__m256 __W,__mmask8 __U,__m256 __A)5800 _mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A)
5801 {
5802 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
5803 (__v8sf) __W,
5804 (__mmask8) __U);
5805 }
5806
5807 extern __inline __m256
5808 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_ps(__mmask8 __U,__m256 __A)5809 _mm256_maskz_compress_ps (__mmask8 __U, __m256 __A)
5810 {
5811 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
5812 (__v8sf)
5813 _mm256_setzero_ps (),
5814 (__mmask8) __U);
5815 }
5816
5817 extern __inline void
5818 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m256 __A)5819 _mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A)
5820 {
5821 __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
5822 (__v8sf) __A,
5823 (__mmask8) __U);
5824 }
5825
5826 extern __inline __m128
5827 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_ps(__m128 __W,__mmask8 __U,__m128 __A)5828 _mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A)
5829 {
5830 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
5831 (__v4sf) __W,
5832 (__mmask8) __U);
5833 }
5834
5835 extern __inline __m128
5836 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_ps(__mmask8 __U,__m128 __A)5837 _mm_maskz_compress_ps (__mmask8 __U, __m128 __A)
5838 {
5839 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
5840 (__v4sf)
5841 _mm_setzero_ps (),
5842 (__mmask8) __U);
5843 }
5844
5845 extern __inline void
5846 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_ps(void * __P,__mmask8 __U,__m128 __A)5847 _mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A)
5848 {
5849 __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
5850 (__v4sf) __A,
5851 (__mmask8) __U);
5852 }
5853
5854 extern __inline __m256i
5855 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi64(__m256i __W,__mmask8 __U,__m256i __A)5856 _mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
5857 {
5858 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
5859 (__v4di) __W,
5860 (__mmask8) __U);
5861 }
5862
5863 extern __inline __m256i
5864 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi64(__mmask8 __U,__m256i __A)5865 _mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A)
5866 {
5867 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
5868 (__v4di)
5869 _mm256_setzero_si256 (),
5870 (__mmask8) __U);
5871 }
5872
5873 extern __inline void
5874 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m256i __A)5875 _mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A)
5876 {
5877 __builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
5878 (__v4di) __A,
5879 (__mmask8) __U);
5880 }
5881
5882 extern __inline __m128i
5883 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi64(__m128i __W,__mmask8 __U,__m128i __A)5884 _mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
5885 {
5886 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
5887 (__v2di) __W,
5888 (__mmask8) __U);
5889 }
5890
5891 extern __inline __m128i
5892 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi64(__mmask8 __U,__m128i __A)5893 _mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A)
5894 {
5895 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
5896 (__v2di)
5897 _mm_setzero_di (),
5898 (__mmask8) __U);
5899 }
5900
5901 extern __inline void
5902 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi64(void * __P,__mmask8 __U,__m128i __A)5903 _mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A)
5904 {
5905 __builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
5906 (__v2di) __A,
5907 (__mmask8) __U);
5908 }
5909
5910 extern __inline __m256i
5911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi32(__m256i __W,__mmask8 __U,__m256i __A)5912 _mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
5913 {
5914 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
5915 (__v8si) __W,
5916 (__mmask8) __U);
5917 }
5918
5919 extern __inline __m256i
5920 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi32(__mmask8 __U,__m256i __A)5921 _mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A)
5922 {
5923 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
5924 (__v8si)
5925 _mm256_setzero_si256 (),
5926 (__mmask8) __U);
5927 }
5928
5929 extern __inline void
5930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m256i __A)5931 _mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A)
5932 {
5933 __builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
5934 (__v8si) __A,
5935 (__mmask8) __U);
5936 }
5937
5938 extern __inline __m128i
5939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi32(__m128i __W,__mmask8 __U,__m128i __A)5940 _mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
5941 {
5942 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
5943 (__v4si) __W,
5944 (__mmask8) __U);
5945 }
5946
5947 extern __inline __m128i
5948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi32(__mmask8 __U,__m128i __A)5949 _mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A)
5950 {
5951 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
5952 (__v4si)
5953 _mm_setzero_si128 (),
5954 (__mmask8) __U);
5955 }
5956
5957 extern __inline void
5958 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi32(void * __P,__mmask8 __U,__m128i __A)5959 _mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A)
5960 {
5961 __builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
5962 (__v4si) __A,
5963 (__mmask8) __U);
5964 }
5965
5966 extern __inline __m256d
5967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_pd(__m256d __W,__mmask8 __U,__m256d __A)5968 _mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A)
5969 {
5970 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
5971 (__v4df) __W,
5972 (__mmask8) __U);
5973 }
5974
5975 extern __inline __m256d
5976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_pd(__mmask8 __U,__m256d __A)5977 _mm256_maskz_expand_pd (__mmask8 __U, __m256d __A)
5978 {
5979 return (__m256d) __builtin_ia32_expanddf256_maskz ((__v4df) __A,
5980 (__v4df)
5981 _mm256_setzero_pd (),
5982 (__mmask8) __U);
5983 }
5984
5985 extern __inline __m256d
5986 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_pd(__m256d __W,__mmask8 __U,void const * __P)5987 _mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P)
5988 {
5989 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
5990 (__v4df) __W,
5991 (__mmask8)
5992 __U);
5993 }
5994
5995 extern __inline __m256d
5996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_pd(__mmask8 __U,void const * __P)5997 _mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
5998 {
5999 return (__m256d) __builtin_ia32_expandloaddf256_maskz ((__v4df *) __P,
6000 (__v4df)
6001 _mm256_setzero_pd (),
6002 (__mmask8)
6003 __U);
6004 }
6005
6006 extern __inline __m128d
6007 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_pd(__m128d __W,__mmask8 __U,__m128d __A)6008 _mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A)
6009 {
6010 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
6011 (__v2df) __W,
6012 (__mmask8) __U);
6013 }
6014
6015 extern __inline __m128d
6016 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_pd(__mmask8 __U,__m128d __A)6017 _mm_maskz_expand_pd (__mmask8 __U, __m128d __A)
6018 {
6019 return (__m128d) __builtin_ia32_expanddf128_maskz ((__v2df) __A,
6020 (__v2df)
6021 _mm_setzero_pd (),
6022 (__mmask8) __U);
6023 }
6024
6025 extern __inline __m128d
6026 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_pd(__m128d __W,__mmask8 __U,void const * __P)6027 _mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P)
6028 {
6029 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
6030 (__v2df) __W,
6031 (__mmask8)
6032 __U);
6033 }
6034
6035 extern __inline __m128d
6036 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_pd(__mmask8 __U,void const * __P)6037 _mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
6038 {
6039 return (__m128d) __builtin_ia32_expandloaddf128_maskz ((__v2df *) __P,
6040 (__v2df)
6041 _mm_setzero_pd (),
6042 (__mmask8)
6043 __U);
6044 }
6045
6046 extern __inline __m256
6047 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_ps(__m256 __W,__mmask8 __U,__m256 __A)6048 _mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A)
6049 {
6050 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
6051 (__v8sf) __W,
6052 (__mmask8) __U);
6053 }
6054
6055 extern __inline __m256
6056 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_ps(__mmask8 __U,__m256 __A)6057 _mm256_maskz_expand_ps (__mmask8 __U, __m256 __A)
6058 {
6059 return (__m256) __builtin_ia32_expandsf256_maskz ((__v8sf) __A,
6060 (__v8sf)
6061 _mm256_setzero_ps (),
6062 (__mmask8) __U);
6063 }
6064
6065 extern __inline __m256
6066 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_ps(__m256 __W,__mmask8 __U,void const * __P)6067 _mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P)
6068 {
6069 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
6070 (__v8sf) __W,
6071 (__mmask8) __U);
6072 }
6073
6074 extern __inline __m256
6075 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_ps(__mmask8 __U,void const * __P)6076 _mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
6077 {
6078 return (__m256) __builtin_ia32_expandloadsf256_maskz ((__v8sf *) __P,
6079 (__v8sf)
6080 _mm256_setzero_ps (),
6081 (__mmask8)
6082 __U);
6083 }
6084
6085 extern __inline __m128
6086 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_ps(__m128 __W,__mmask8 __U,__m128 __A)6087 _mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A)
6088 {
6089 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
6090 (__v4sf) __W,
6091 (__mmask8) __U);
6092 }
6093
6094 extern __inline __m128
6095 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_ps(__mmask8 __U,__m128 __A)6096 _mm_maskz_expand_ps (__mmask8 __U, __m128 __A)
6097 {
6098 return (__m128) __builtin_ia32_expandsf128_maskz ((__v4sf) __A,
6099 (__v4sf)
6100 _mm_setzero_ps (),
6101 (__mmask8) __U);
6102 }
6103
6104 extern __inline __m128
6105 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_ps(__m128 __W,__mmask8 __U,void const * __P)6106 _mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P)
6107 {
6108 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
6109 (__v4sf) __W,
6110 (__mmask8) __U);
6111 }
6112
6113 extern __inline __m128
6114 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_ps(__mmask8 __U,void const * __P)6115 _mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
6116 {
6117 return (__m128) __builtin_ia32_expandloadsf128_maskz ((__v4sf *) __P,
6118 (__v4sf)
6119 _mm_setzero_ps (),
6120 (__mmask8)
6121 __U);
6122 }
6123
6124 extern __inline __m256i
6125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi64(__m256i __W,__mmask8 __U,__m256i __A)6126 _mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
6127 {
6128 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
6129 (__v4di) __W,
6130 (__mmask8) __U);
6131 }
6132
6133 extern __inline __m256i
6134 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi64(__mmask8 __U,__m256i __A)6135 _mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A)
6136 {
6137 return (__m256i) __builtin_ia32_expanddi256_maskz ((__v4di) __A,
6138 (__v4di)
6139 _mm256_setzero_si256 (),
6140 (__mmask8) __U);
6141 }
6142
6143 extern __inline __m256i
6144 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi64(__m256i __W,__mmask8 __U,void const * __P)6145 _mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
6146 void const *__P)
6147 {
6148 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
6149 (__v4di) __W,
6150 (__mmask8)
6151 __U);
6152 }
6153
6154 extern __inline __m256i
6155 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)6156 _mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
6157 {
6158 return (__m256i) __builtin_ia32_expandloaddi256_maskz ((__v4di *) __P,
6159 (__v4di)
6160 _mm256_setzero_si256 (),
6161 (__mmask8)
6162 __U);
6163 }
6164
6165 extern __inline __m128i
6166 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi64(__m128i __W,__mmask8 __U,__m128i __A)6167 _mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
6168 {
6169 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
6170 (__v2di) __W,
6171 (__mmask8) __U);
6172 }
6173
6174 extern __inline __m128i
6175 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi64(__mmask8 __U,__m128i __A)6176 _mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A)
6177 {
6178 return (__m128i) __builtin_ia32_expanddi128_maskz ((__v2di) __A,
6179 (__v2di)
6180 _mm_setzero_si128 (),
6181 (__mmask8) __U);
6182 }
6183
6184 extern __inline __m128i
6185 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi64(__m128i __W,__mmask8 __U,void const * __P)6186 _mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
6187 {
6188 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
6189 (__v2di) __W,
6190 (__mmask8)
6191 __U);
6192 }
6193
6194 extern __inline __m128i
6195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi64(__mmask8 __U,void const * __P)6196 _mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
6197 {
6198 return (__m128i) __builtin_ia32_expandloaddi128_maskz ((__v2di *) __P,
6199 (__v2di)
6200 _mm_setzero_si128 (),
6201 (__mmask8)
6202 __U);
6203 }
6204
6205 extern __inline __m256i
6206 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi32(__m256i __W,__mmask8 __U,__m256i __A)6207 _mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
6208 {
6209 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
6210 (__v8si) __W,
6211 (__mmask8) __U);
6212 }
6213
6214 extern __inline __m256i
6215 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi32(__mmask8 __U,__m256i __A)6216 _mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A)
6217 {
6218 return (__m256i) __builtin_ia32_expandsi256_maskz ((__v8si) __A,
6219 (__v8si)
6220 _mm256_setzero_si256 (),
6221 (__mmask8) __U);
6222 }
6223
6224 extern __inline __m256i
6225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi32(__m256i __W,__mmask8 __U,void const * __P)6226 _mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
6227 void const *__P)
6228 {
6229 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
6230 (__v8si) __W,
6231 (__mmask8)
6232 __U);
6233 }
6234
6235 extern __inline __m256i
6236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)6237 _mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
6238 {
6239 return (__m256i) __builtin_ia32_expandloadsi256_maskz ((__v8si *) __P,
6240 (__v8si)
6241 _mm256_setzero_si256 (),
6242 (__mmask8)
6243 __U);
6244 }
6245
6246 extern __inline __m128i
6247 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi32(__m128i __W,__mmask8 __U,__m128i __A)6248 _mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
6249 {
6250 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
6251 (__v4si) __W,
6252 (__mmask8) __U);
6253 }
6254
6255 extern __inline __m128i
6256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi32(__mmask8 __U,__m128i __A)6257 _mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A)
6258 {
6259 return (__m128i) __builtin_ia32_expandsi128_maskz ((__v4si) __A,
6260 (__v4si)
6261 _mm_setzero_si128 (),
6262 (__mmask8) __U);
6263 }
6264
6265 extern __inline __m128i
6266 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi32(__m128i __W,__mmask8 __U,void const * __P)6267 _mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
6268 {
6269 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
6270 (__v4si) __W,
6271 (__mmask8)
6272 __U);
6273 }
6274
6275 extern __inline __m128i
6276 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi32(__mmask8 __U,void const * __P)6277 _mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
6278 {
6279 return (__m128i) __builtin_ia32_expandloadsi128_maskz ((__v4si *) __P,
6280 (__v4si)
6281 _mm_setzero_si128 (),
6282 (__mmask8)
6283 __U);
6284 }
6285
6286 extern __inline __m256d
6287 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_pd(__m256d __A,__m256i __I,__m256d __B)6288 _mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B)
6289 {
6290 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
6291 /* idx */ ,
6292 (__v4df) __A,
6293 (__v4df) __B,
6294 (__mmask8) -1);
6295 }
6296
6297 extern __inline __m256d
6298 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_pd(__m256d __A,__mmask8 __U,__m256i __I,__m256d __B)6299 _mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
6300 __m256d __B)
6301 {
6302 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
6303 /* idx */ ,
6304 (__v4df) __A,
6305 (__v4df) __B,
6306 (__mmask8)
6307 __U);
6308 }
6309
6310 extern __inline __m256d
6311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_pd(__m256d __A,__m256i __I,__mmask8 __U,__m256d __B)6312 _mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
6313 __m256d __B)
6314 {
6315 return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
6316 (__v4di) __I
6317 /* idx */ ,
6318 (__v4df) __B,
6319 (__mmask8)
6320 __U);
6321 }
6322
6323 extern __inline __m256d
6324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_pd(__mmask8 __U,__m256d __A,__m256i __I,__m256d __B)6325 _mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
6326 __m256d __B)
6327 {
6328 return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
6329 /* idx */ ,
6330 (__v4df) __A,
6331 (__v4df) __B,
6332 (__mmask8)
6333 __U);
6334 }
6335
6336 extern __inline __m256
6337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_ps(__m256 __A,__m256i __I,__m256 __B)6338 _mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B)
6339 {
6340 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
6341 /* idx */ ,
6342 (__v8sf) __A,
6343 (__v8sf) __B,
6344 (__mmask8) -1);
6345 }
6346
6347 extern __inline __m256
6348 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_ps(__m256 __A,__mmask8 __U,__m256i __I,__m256 __B)6349 _mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
6350 __m256 __B)
6351 {
6352 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
6353 /* idx */ ,
6354 (__v8sf) __A,
6355 (__v8sf) __B,
6356 (__mmask8) __U);
6357 }
6358
6359 extern __inline __m256
6360 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_ps(__m256 __A,__m256i __I,__mmask8 __U,__m256 __B)6361 _mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
6362 __m256 __B)
6363 {
6364 return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
6365 (__v8si) __I
6366 /* idx */ ,
6367 (__v8sf) __B,
6368 (__mmask8) __U);
6369 }
6370
6371 extern __inline __m256
6372 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_ps(__mmask8 __U,__m256 __A,__m256i __I,__m256 __B)6373 _mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
6374 __m256 __B)
6375 {
6376 return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
6377 /* idx */ ,
6378 (__v8sf) __A,
6379 (__v8sf) __B,
6380 (__mmask8)
6381 __U);
6382 }
6383
6384 extern __inline __m128i
6385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi64(__m128i __A,__m128i __I,__m128i __B)6386 _mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B)
6387 {
6388 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
6389 /* idx */ ,
6390 (__v2di) __A,
6391 (__v2di) __B,
6392 (__mmask8) -1);
6393 }
6394
6395 extern __inline __m128i
6396 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi64(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)6397 _mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
6398 __m128i __B)
6399 {
6400 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
6401 /* idx */ ,
6402 (__v2di) __A,
6403 (__v2di) __B,
6404 (__mmask8) __U);
6405 }
6406
6407 extern __inline __m128i
6408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi64(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)6409 _mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
6410 __m128i __B)
6411 {
6412 return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
6413 (__v2di) __I
6414 /* idx */ ,
6415 (__v2di) __B,
6416 (__mmask8) __U);
6417 }
6418
6419 extern __inline __m128i
6420 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi64(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)6421 _mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
6422 __m128i __B)
6423 {
6424 return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
6425 /* idx */ ,
6426 (__v2di) __A,
6427 (__v2di) __B,
6428 (__mmask8)
6429 __U);
6430 }
6431
6432 extern __inline __m128i
6433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi32(__m128i __A,__m128i __I,__m128i __B)6434 _mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B)
6435 {
6436 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
6437 /* idx */ ,
6438 (__v4si) __A,
6439 (__v4si) __B,
6440 (__mmask8) -1);
6441 }
6442
6443 extern __inline __m128i
6444 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi32(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)6445 _mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
6446 __m128i __B)
6447 {
6448 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
6449 /* idx */ ,
6450 (__v4si) __A,
6451 (__v4si) __B,
6452 (__mmask8) __U);
6453 }
6454
6455 extern __inline __m128i
6456 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi32(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)6457 _mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
6458 __m128i __B)
6459 {
6460 return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
6461 (__v4si) __I
6462 /* idx */ ,
6463 (__v4si) __B,
6464 (__mmask8) __U);
6465 }
6466
6467 extern __inline __m128i
6468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi32(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)6469 _mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
6470 __m128i __B)
6471 {
6472 return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
6473 /* idx */ ,
6474 (__v4si) __A,
6475 (__v4si) __B,
6476 (__mmask8)
6477 __U);
6478 }
6479
6480 extern __inline __m256i
6481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi64(__m256i __A,__m256i __I,__m256i __B)6482 _mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B)
6483 {
6484 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
6485 /* idx */ ,
6486 (__v4di) __A,
6487 (__v4di) __B,
6488 (__mmask8) -1);
6489 }
6490
6491 extern __inline __m256i
6492 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi64(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)6493 _mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
6494 __m256i __B)
6495 {
6496 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
6497 /* idx */ ,
6498 (__v4di) __A,
6499 (__v4di) __B,
6500 (__mmask8) __U);
6501 }
6502
6503 extern __inline __m256i
6504 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi64(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)6505 _mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
6506 __mmask8 __U, __m256i __B)
6507 {
6508 return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
6509 (__v4di) __I
6510 /* idx */ ,
6511 (__v4di) __B,
6512 (__mmask8) __U);
6513 }
6514
6515 extern __inline __m256i
6516 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi64(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)6517 _mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
6518 __m256i __I, __m256i __B)
6519 {
6520 return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
6521 /* idx */ ,
6522 (__v4di) __A,
6523 (__v4di) __B,
6524 (__mmask8)
6525 __U);
6526 }
6527
6528 extern __inline __m256i
6529 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi32(__m256i __A,__m256i __I,__m256i __B)6530 _mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B)
6531 {
6532 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
6533 /* idx */ ,
6534 (__v8si) __A,
6535 (__v8si) __B,
6536 (__mmask8) -1);
6537 }
6538
6539 extern __inline __m256i
6540 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi32(__m256i __A,__mmask8 __U,__m256i __I,__m256i __B)6541 _mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
6542 __m256i __B)
6543 {
6544 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
6545 /* idx */ ,
6546 (__v8si) __A,
6547 (__v8si) __B,
6548 (__mmask8) __U);
6549 }
6550
6551 extern __inline __m256i
6552 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi32(__m256i __A,__m256i __I,__mmask8 __U,__m256i __B)6553 _mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
6554 __mmask8 __U, __m256i __B)
6555 {
6556 return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
6557 (__v8si) __I
6558 /* idx */ ,
6559 (__v8si) __B,
6560 (__mmask8) __U);
6561 }
6562
6563 extern __inline __m256i
6564 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi32(__mmask8 __U,__m256i __A,__m256i __I,__m256i __B)6565 _mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
6566 __m256i __I, __m256i __B)
6567 {
6568 return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
6569 /* idx */ ,
6570 (__v8si) __A,
6571 (__v8si) __B,
6572 (__mmask8)
6573 __U);
6574 }
6575
6576 extern __inline __m128d
6577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_pd(__m128d __A,__m128i __I,__m128d __B)6578 _mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B)
6579 {
6580 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
6581 /* idx */ ,
6582 (__v2df) __A,
6583 (__v2df) __B,
6584 (__mmask8) -1);
6585 }
6586
6587 extern __inline __m128d
6588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_pd(__m128d __A,__mmask8 __U,__m128i __I,__m128d __B)6589 _mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
6590 __m128d __B)
6591 {
6592 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
6593 /* idx */ ,
6594 (__v2df) __A,
6595 (__v2df) __B,
6596 (__mmask8)
6597 __U);
6598 }
6599
6600 extern __inline __m128d
6601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_pd(__m128d __A,__m128i __I,__mmask8 __U,__m128d __B)6602 _mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
6603 __m128d __B)
6604 {
6605 return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
6606 (__v2di) __I
6607 /* idx */ ,
6608 (__v2df) __B,
6609 (__mmask8)
6610 __U);
6611 }
6612
6613 extern __inline __m128d
6614 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_pd(__mmask8 __U,__m128d __A,__m128i __I,__m128d __B)6615 _mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
6616 __m128d __B)
6617 {
6618 return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
6619 /* idx */ ,
6620 (__v2df) __A,
6621 (__v2df) __B,
6622 (__mmask8)
6623 __U);
6624 }
6625
6626 extern __inline __m128
6627 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_ps(__m128 __A,__m128i __I,__m128 __B)6628 _mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B)
6629 {
6630 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
6631 /* idx */ ,
6632 (__v4sf) __A,
6633 (__v4sf) __B,
6634 (__mmask8) -1);
6635 }
6636
6637 extern __inline __m128
6638 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_ps(__m128 __A,__mmask8 __U,__m128i __I,__m128 __B)6639 _mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
6640 __m128 __B)
6641 {
6642 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
6643 /* idx */ ,
6644 (__v4sf) __A,
6645 (__v4sf) __B,
6646 (__mmask8) __U);
6647 }
6648
6649 extern __inline __m128
6650 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_ps(__m128 __A,__m128i __I,__mmask8 __U,__m128 __B)6651 _mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
6652 __m128 __B)
6653 {
6654 return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
6655 (__v4si) __I
6656 /* idx */ ,
6657 (__v4sf) __B,
6658 (__mmask8) __U);
6659 }
6660
6661 extern __inline __m128
6662 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_ps(__mmask8 __U,__m128 __A,__m128i __I,__m128 __B)6663 _mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
6664 __m128 __B)
6665 {
6666 return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
6667 /* idx */ ,
6668 (__v4sf) __A,
6669 (__v4sf) __B,
6670 (__mmask8)
6671 __U);
6672 }
6673
6674 extern __inline __m128i
6675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srav_epi64(__m128i __X,__m128i __Y)6676 _mm_srav_epi64 (__m128i __X, __m128i __Y)
6677 {
6678 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6679 (__v2di) __Y,
6680 (__v2di)
6681 _mm_setzero_di (),
6682 (__mmask8) -1);
6683 }
6684
6685 extern __inline __m128i
6686 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6687 _mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6688 __m128i __Y)
6689 {
6690 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6691 (__v2di) __Y,
6692 (__v2di) __W,
6693 (__mmask8) __U);
6694 }
6695
6696 extern __inline __m128i
6697 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6698 _mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6699 {
6700 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
6701 (__v2di) __Y,
6702 (__v2di)
6703 _mm_setzero_di (),
6704 (__mmask8) __U);
6705 }
6706
6707 extern __inline __m256i
6708 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6709 _mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6710 __m256i __Y)
6711 {
6712 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
6713 (__v8si) __Y,
6714 (__v8si) __W,
6715 (__mmask8) __U);
6716 }
6717
6718 extern __inline __m256i
6719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6720 _mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6721 {
6722 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
6723 (__v8si) __Y,
6724 (__v8si)
6725 _mm256_setzero_si256 (),
6726 (__mmask8) __U);
6727 }
6728
6729 extern __inline __m128i
6730 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6731 _mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6732 __m128i __Y)
6733 {
6734 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
6735 (__v4si) __Y,
6736 (__v4si) __W,
6737 (__mmask8) __U);
6738 }
6739
6740 extern __inline __m128i
6741 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6742 _mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6743 {
6744 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
6745 (__v4si) __Y,
6746 (__v4si)
6747 _mm_setzero_si128 (),
6748 (__mmask8) __U);
6749 }
6750
6751 extern __inline __m256i
6752 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6753 _mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
6754 __m256i __Y)
6755 {
6756 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
6757 (__v4di) __Y,
6758 (__v4di) __W,
6759 (__mmask8) __U);
6760 }
6761
6762 extern __inline __m256i
6763 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)6764 _mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
6765 {
6766 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
6767 (__v4di) __Y,
6768 (__v4di)
6769 _mm256_setzero_si256 (),
6770 (__mmask8) __U);
6771 }
6772
6773 extern __inline __m128i
6774 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6775 _mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6776 __m128i __Y)
6777 {
6778 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
6779 (__v2di) __Y,
6780 (__v2di) __W,
6781 (__mmask8) __U);
6782 }
6783
6784 extern __inline __m128i
6785 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6786 _mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6787 {
6788 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
6789 (__v2di) __Y,
6790 (__v2di)
6791 _mm_setzero_di (),
6792 (__mmask8) __U);
6793 }
6794
6795 extern __inline __m256i
6796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6797 _mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6798 __m256i __Y)
6799 {
6800 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
6801 (__v8si) __Y,
6802 (__v8si) __W,
6803 (__mmask8) __U);
6804 }
6805
6806 extern __inline __m256i
6807 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6808 _mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6809 {
6810 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
6811 (__v8si) __Y,
6812 (__v8si)
6813 _mm256_setzero_si256 (),
6814 (__mmask8) __U);
6815 }
6816
6817 extern __inline __m128i
6818 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6819 _mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6820 __m128i __Y)
6821 {
6822 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
6823 (__v4si) __Y,
6824 (__v4si) __W,
6825 (__mmask8) __U);
6826 }
6827
6828 extern __inline __m128i
6829 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6830 _mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6831 {
6832 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
6833 (__v4si) __Y,
6834 (__v4si)
6835 _mm_setzero_si128 (),
6836 (__mmask8) __U);
6837 }
6838
6839 extern __inline __m256i
6840 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi32(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6841 _mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
6842 __m256i __Y)
6843 {
6844 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
6845 (__v8si) __Y,
6846 (__v8si) __W,
6847 (__mmask8) __U);
6848 }
6849
6850 extern __inline __m256i
6851 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi32(__mmask8 __U,__m256i __X,__m256i __Y)6852 _mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
6853 {
6854 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
6855 (__v8si) __Y,
6856 (__v8si)
6857 _mm256_setzero_si256 (),
6858 (__mmask8) __U);
6859 }
6860
6861 extern __inline __m128i
6862 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi32(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6863 _mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
6864 __m128i __Y)
6865 {
6866 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
6867 (__v4si) __Y,
6868 (__v4si) __W,
6869 (__mmask8) __U);
6870 }
6871
6872 extern __inline __m128i
6873 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi32(__mmask8 __U,__m128i __X,__m128i __Y)6874 _mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
6875 {
6876 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
6877 (__v4si) __Y,
6878 (__v4si)
6879 _mm_setzero_si128 (),
6880 (__mmask8) __U);
6881 }
6882
6883 extern __inline __m256i
6884 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)6885 _mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
6886 __m256i __Y)
6887 {
6888 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
6889 (__v4di) __Y,
6890 (__v4di) __W,
6891 (__mmask8) __U);
6892 }
6893
6894 extern __inline __m256i
6895 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi64(__mmask8 __U,__m256i __X,__m256i __Y)6896 _mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
6897 {
6898 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
6899 (__v4di) __Y,
6900 (__v4di)
6901 _mm256_setzero_si256 (),
6902 (__mmask8) __U);
6903 }
6904
6905 extern __inline __m128i
6906 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi64(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)6907 _mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
6908 __m128i __Y)
6909 {
6910 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
6911 (__v2di) __Y,
6912 (__v2di) __W,
6913 (__mmask8) __U);
6914 }
6915
6916 extern __inline __m128i
6917 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi64(__mmask8 __U,__m128i __X,__m128i __Y)6918 _mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
6919 {
6920 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
6921 (__v2di) __Y,
6922 (__v2di)
6923 _mm_setzero_di (),
6924 (__mmask8) __U);
6925 }
6926
6927 extern __inline __m256i
6928 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi32(__m256i __A,__m256i __B)6929 _mm256_rolv_epi32 (__m256i __A, __m256i __B)
6930 {
6931 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
6932 (__v8si) __B,
6933 (__v8si)
6934 _mm256_setzero_si256 (),
6935 (__mmask8) -1);
6936 }
6937
6938 extern __inline __m256i
6939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)6940 _mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
6941 __m256i __B)
6942 {
6943 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
6944 (__v8si) __B,
6945 (__v8si) __W,
6946 (__mmask8) __U);
6947 }
6948
6949 extern __inline __m256i
6950 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi32(__mmask8 __U,__m256i __A,__m256i __B)6951 _mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
6952 {
6953 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
6954 (__v8si) __B,
6955 (__v8si)
6956 _mm256_setzero_si256 (),
6957 (__mmask8) __U);
6958 }
6959
6960 extern __inline __m128i
6961 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi32(__m128i __A,__m128i __B)6962 _mm_rolv_epi32 (__m128i __A, __m128i __B)
6963 {
6964 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
6965 (__v4si) __B,
6966 (__v4si)
6967 _mm_setzero_si128 (),
6968 (__mmask8) -1);
6969 }
6970
6971 extern __inline __m128i
6972 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)6973 _mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
6974 __m128i __B)
6975 {
6976 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
6977 (__v4si) __B,
6978 (__v4si) __W,
6979 (__mmask8) __U);
6980 }
6981
6982 extern __inline __m128i
6983 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi32(__mmask8 __U,__m128i __A,__m128i __B)6984 _mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
6985 {
6986 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
6987 (__v4si) __B,
6988 (__v4si)
6989 _mm_setzero_si128 (),
6990 (__mmask8) __U);
6991 }
6992
6993 extern __inline __m256i
6994 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi32(__m256i __A,__m256i __B)6995 _mm256_rorv_epi32 (__m256i __A, __m256i __B)
6996 {
6997 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
6998 (__v8si) __B,
6999 (__v8si)
7000 _mm256_setzero_si256 (),
7001 (__mmask8) -1);
7002 }
7003
7004 extern __inline __m256i
7005 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7006 _mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7007 __m256i __B)
7008 {
7009 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7010 (__v8si) __B,
7011 (__v8si) __W,
7012 (__mmask8) __U);
7013 }
7014
7015 extern __inline __m256i
7016 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi32(__mmask8 __U,__m256i __A,__m256i __B)7017 _mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
7018 {
7019 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
7020 (__v8si) __B,
7021 (__v8si)
7022 _mm256_setzero_si256 (),
7023 (__mmask8) __U);
7024 }
7025
7026 extern __inline __m128i
7027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi32(__m128i __A,__m128i __B)7028 _mm_rorv_epi32 (__m128i __A, __m128i __B)
7029 {
7030 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7031 (__v4si) __B,
7032 (__v4si)
7033 _mm_setzero_si128 (),
7034 (__mmask8) -1);
7035 }
7036
7037 extern __inline __m128i
7038 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7039 _mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
7040 __m128i __B)
7041 {
7042 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7043 (__v4si) __B,
7044 (__v4si) __W,
7045 (__mmask8) __U);
7046 }
7047
7048 extern __inline __m128i
7049 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi32(__mmask8 __U,__m128i __A,__m128i __B)7050 _mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
7051 {
7052 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
7053 (__v4si) __B,
7054 (__v4si)
7055 _mm_setzero_si128 (),
7056 (__mmask8) __U);
7057 }
7058
7059 extern __inline __m256i
7060 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi64(__m256i __A,__m256i __B)7061 _mm256_rolv_epi64 (__m256i __A, __m256i __B)
7062 {
7063 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7064 (__v4di) __B,
7065 (__v4di)
7066 _mm256_setzero_si256 (),
7067 (__mmask8) -1);
7068 }
7069
7070 extern __inline __m256i
7071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7072 _mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7073 __m256i __B)
7074 {
7075 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7076 (__v4di) __B,
7077 (__v4di) __W,
7078 (__mmask8) __U);
7079 }
7080
7081 extern __inline __m256i
7082 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi64(__mmask8 __U,__m256i __A,__m256i __B)7083 _mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7084 {
7085 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
7086 (__v4di) __B,
7087 (__v4di)
7088 _mm256_setzero_si256 (),
7089 (__mmask8) __U);
7090 }
7091
7092 extern __inline __m128i
7093 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi64(__m128i __A,__m128i __B)7094 _mm_rolv_epi64 (__m128i __A, __m128i __B)
7095 {
7096 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7097 (__v2di) __B,
7098 (__v2di)
7099 _mm_setzero_di (),
7100 (__mmask8) -1);
7101 }
7102
7103 extern __inline __m128i
7104 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7105 _mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7106 __m128i __B)
7107 {
7108 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7109 (__v2di) __B,
7110 (__v2di) __W,
7111 (__mmask8) __U);
7112 }
7113
7114 extern __inline __m128i
7115 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi64(__mmask8 __U,__m128i __A,__m128i __B)7116 _mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7117 {
7118 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
7119 (__v2di) __B,
7120 (__v2di)
7121 _mm_setzero_di (),
7122 (__mmask8) __U);
7123 }
7124
7125 extern __inline __m256i
7126 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi64(__m256i __A,__m256i __B)7127 _mm256_rorv_epi64 (__m256i __A, __m256i __B)
7128 {
7129 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7130 (__v4di) __B,
7131 (__v4di)
7132 _mm256_setzero_si256 (),
7133 (__mmask8) -1);
7134 }
7135
7136 extern __inline __m256i
7137 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7138 _mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7139 __m256i __B)
7140 {
7141 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7142 (__v4di) __B,
7143 (__v4di) __W,
7144 (__mmask8) __U);
7145 }
7146
7147 extern __inline __m256i
7148 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi64(__mmask8 __U,__m256i __A,__m256i __B)7149 _mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7150 {
7151 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
7152 (__v4di) __B,
7153 (__v4di)
7154 _mm256_setzero_si256 (),
7155 (__mmask8) __U);
7156 }
7157
7158 extern __inline __m128i
7159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi64(__m128i __A,__m128i __B)7160 _mm_rorv_epi64 (__m128i __A, __m128i __B)
7161 {
7162 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7163 (__v2di) __B,
7164 (__v2di)
7165 _mm_setzero_di (),
7166 (__mmask8) -1);
7167 }
7168
7169 extern __inline __m128i
7170 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7171 _mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7172 __m128i __B)
7173 {
7174 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7175 (__v2di) __B,
7176 (__v2di) __W,
7177 (__mmask8) __U);
7178 }
7179
7180 extern __inline __m128i
7181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi64(__mmask8 __U,__m128i __A,__m128i __B)7182 _mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7183 {
7184 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
7185 (__v2di) __B,
7186 (__v2di)
7187 _mm_setzero_di (),
7188 (__mmask8) __U);
7189 }
7190
7191 extern __inline __m256i
7192 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srav_epi64(__m256i __X,__m256i __Y)7193 _mm256_srav_epi64 (__m256i __X, __m256i __Y)
7194 {
7195 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7196 (__v4di) __Y,
7197 (__v4di)
7198 _mm256_setzero_si256 (),
7199 (__mmask8) -1);
7200 }
7201
7202 extern __inline __m256i
7203 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi64(__m256i __W,__mmask8 __U,__m256i __X,__m256i __Y)7204 _mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
7205 __m256i __Y)
7206 {
7207 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7208 (__v4di) __Y,
7209 (__v4di) __W,
7210 (__mmask8) __U);
7211 }
7212
7213 extern __inline __m256i
7214 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi64(__mmask8 __U,__m256i __X,__m256i __Y)7215 _mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
7216 {
7217 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
7218 (__v4di) __Y,
7219 (__v4di)
7220 _mm256_setzero_si256 (),
7221 (__mmask8) __U);
7222 }
7223
7224 extern __inline __m256i
7225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7226 _mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7227 __m256i __B)
7228 {
7229 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
7230 (__v4di) __B,
7231 (__v4di) __W, __U);
7232 }
7233
7234 extern __inline __m256i
7235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi64(__mmask8 __U,__m256i __A,__m256i __B)7236 _mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7237 {
7238 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
7239 (__v4di) __B,
7240 (__v4di)
7241 _mm256_setzero_pd (),
7242 __U);
7243 }
7244
7245 extern __inline __m128i
7246 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7247 _mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7248 __m128i __B)
7249 {
7250 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
7251 (__v2di) __B,
7252 (__v2di) __W, __U);
7253 }
7254
7255 extern __inline __m128i
7256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi64(__mmask8 __U,__m128i __A,__m128i __B)7257 _mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7258 {
7259 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
7260 (__v2di) __B,
7261 (__v2di)
7262 _mm_setzero_pd (),
7263 __U);
7264 }
7265
7266 extern __inline __m256i
7267 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7268 _mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7269 __m256i __B)
7270 {
7271 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
7272 (__v4di) __B,
7273 (__v4di) __W, __U);
7274 }
7275
7276 extern __inline __m256i
7277 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi64(__mmask8 __U,__m256i __A,__m256i __B)7278 _mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7279 {
7280 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
7281 (__v4di) __B,
7282 (__v4di)
7283 _mm256_setzero_pd (),
7284 __U);
7285 }
7286
7287 extern __inline __m128i
7288 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7289 _mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7290 __m128i __B)
7291 {
7292 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
7293 (__v2di) __B,
7294 (__v2di) __W, __U);
7295 }
7296
7297 extern __inline __m128i
7298 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi64(__mmask8 __U,__m128i __A,__m128i __B)7299 _mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7300 {
7301 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
7302 (__v2di) __B,
7303 (__v2di)
7304 _mm_setzero_pd (),
7305 __U);
7306 }
7307
7308 extern __inline __m256i
7309 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7310 _mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7311 __m256i __B)
7312 {
7313 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
7314 (__v4di) __B,
7315 (__v4di) __W,
7316 (__mmask8) __U);
7317 }
7318
7319 extern __inline __m256i
7320 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi64(__mmask8 __U,__m256i __A,__m256i __B)7321 _mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7322 {
7323 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
7324 (__v4di) __B,
7325 (__v4di)
7326 _mm256_setzero_si256 (),
7327 (__mmask8) __U);
7328 }
7329
7330 extern __inline __m128i
7331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7332 _mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
7333 {
7334 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
7335 (__v2di) __B,
7336 (__v2di) __W,
7337 (__mmask8) __U);
7338 }
7339
7340 extern __inline __m128i
7341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi64(__mmask8 __U,__m128i __A,__m128i __B)7342 _mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7343 {
7344 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
7345 (__v2di) __B,
7346 (__v2di)
7347 _mm_setzero_si128 (),
7348 (__mmask8) __U);
7349 }
7350
7351 extern __inline __m256i
7352 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)7353 _mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7354 __m256i __B)
7355 {
7356 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
7357 (__v4di) __B,
7358 (__v4di) __W,
7359 (__mmask8) __U);
7360 }
7361
7362 extern __inline __m256i
7363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi64(__mmask8 __U,__m256i __A,__m256i __B)7364 _mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7365 {
7366 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
7367 (__v4di) __B,
7368 (__v4di)
7369 _mm256_setzero_si256 (),
7370 (__mmask8) __U);
7371 }
7372
7373 extern __inline __m128i
7374 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)7375 _mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7376 __m128i __B)
7377 {
7378 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
7379 (__v2di) __B,
7380 (__v2di) __W,
7381 (__mmask8) __U);
7382 }
7383
7384 extern __inline __m128i
7385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi64(__mmask8 __U,__m128i __A,__m128i __B)7386 _mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7387 {
7388 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
7389 (__v2di) __B,
7390 (__v2di)
7391 _mm_setzero_si128 (),
7392 (__mmask8) __U);
7393 }
7394
7395 extern __inline __m256d
7396 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7397 _mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
7398 __m256d __B)
7399 {
7400 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
7401 (__v4df) __B,
7402 (__v4df) __W,
7403 (__mmask8) __U);
7404 }
7405
7406 extern __inline __m256d
7407 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_pd(__mmask8 __U,__m256d __A,__m256d __B)7408 _mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B)
7409 {
7410 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
7411 (__v4df) __B,
7412 (__v4df)
7413 _mm256_setzero_pd (),
7414 (__mmask8) __U);
7415 }
7416
7417 extern __inline __m256
7418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7419 _mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7420 {
7421 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
7422 (__v8sf) __B,
7423 (__v8sf) __W,
7424 (__mmask8) __U);
7425 }
7426
7427 extern __inline __m256
7428 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_ps(__mmask8 __U,__m256 __A,__m256 __B)7429 _mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B)
7430 {
7431 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
7432 (__v8sf) __B,
7433 (__v8sf)
7434 _mm256_setzero_ps (),
7435 (__mmask8) __U);
7436 }
7437
7438 extern __inline __m128
7439 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7440 _mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7441 {
7442 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
7443 (__v4sf) __B,
7444 (__v4sf) __W,
7445 (__mmask8) __U);
7446 }
7447
7448 extern __inline __m128
7449 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_ps(__mmask8 __U,__m128 __A,__m128 __B)7450 _mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B)
7451 {
7452 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
7453 (__v4sf) __B,
7454 (__v4sf)
7455 _mm_setzero_ps (),
7456 (__mmask8) __U);
7457 }
7458
7459 extern __inline __m128d
7460 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7461 _mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7462 {
7463 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
7464 (__v2df) __B,
7465 (__v2df) __W,
7466 (__mmask8) __U);
7467 }
7468
7469 extern __inline __m128d
7470 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_pd(__mmask8 __U,__m128d __A,__m128d __B)7471 _mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B)
7472 {
7473 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
7474 (__v2df) __B,
7475 (__v2df)
7476 _mm_setzero_pd (),
7477 (__mmask8) __U);
7478 }
7479
7480 extern __inline __m256d
7481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7482 _mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
7483 __m256d __B)
7484 {
7485 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
7486 (__v4df) __B,
7487 (__v4df) __W,
7488 (__mmask8) __U);
7489 }
7490
7491 extern __inline __m256d
7492 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7493 _mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
7494 __m256d __B)
7495 {
7496 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
7497 (__v4df) __B,
7498 (__v4df) __W,
7499 (__mmask8) __U);
7500 }
7501
7502 extern __inline __m256d
7503 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_pd(__mmask8 __U,__m256d __A,__m256d __B)7504 _mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B)
7505 {
7506 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
7507 (__v4df) __B,
7508 (__v4df)
7509 _mm256_setzero_pd (),
7510 (__mmask8) __U);
7511 }
7512
7513 extern __inline __m256
7514 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7515 _mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7516 {
7517 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
7518 (__v8sf) __B,
7519 (__v8sf) __W,
7520 (__mmask8) __U);
7521 }
7522
7523 extern __inline __m256d
7524 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_pd(__mmask8 __U,__m256d __A,__m256d __B)7525 _mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B)
7526 {
7527 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
7528 (__v4df) __B,
7529 (__v4df)
7530 _mm256_setzero_pd (),
7531 (__mmask8) __U);
7532 }
7533
7534 extern __inline __m256
7535 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7536 _mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7537 {
7538 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
7539 (__v8sf) __B,
7540 (__v8sf) __W,
7541 (__mmask8) __U);
7542 }
7543
7544 extern __inline __m256
7545 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_ps(__mmask8 __U,__m256 __A,__m256 __B)7546 _mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B)
7547 {
7548 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
7549 (__v8sf) __B,
7550 (__v8sf)
7551 _mm256_setzero_ps (),
7552 (__mmask8) __U);
7553 }
7554
7555 extern __inline __m256
7556 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_ps(__mmask8 __U,__m256 __A,__m256 __B)7557 _mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B)
7558 {
7559 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
7560 (__v8sf) __B,
7561 (__v8sf)
7562 _mm256_setzero_ps (),
7563 (__mmask8) __U);
7564 }
7565
7566 extern __inline __m128
7567 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7568 _mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7569 {
7570 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
7571 (__v4sf) __B,
7572 (__v4sf) __W,
7573 (__mmask8) __U);
7574 }
7575
7576 extern __inline __m128
7577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7578 _mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7579 {
7580 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
7581 (__v4sf) __B,
7582 (__v4sf) __W,
7583 (__mmask8) __U);
7584 }
7585
7586 extern __inline __m128
7587 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_ps(__mmask8 __U,__m128 __A,__m128 __B)7588 _mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B)
7589 {
7590 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
7591 (__v4sf) __B,
7592 (__v4sf)
7593 _mm_setzero_ps (),
7594 (__mmask8) __U);
7595 }
7596
7597 extern __inline __m128
7598 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_ps(__mmask8 __U,__m128 __A,__m128 __B)7599 _mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B)
7600 {
7601 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
7602 (__v4sf) __B,
7603 (__v4sf)
7604 _mm_setzero_ps (),
7605 (__mmask8) __U);
7606 }
7607
7608 extern __inline __m128
7609 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)7610 _mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
7611 {
7612 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
7613 (__v4sf) __B,
7614 (__v4sf) __W,
7615 (__mmask8) __U);
7616 }
7617
7618 extern __inline __m128
7619 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_ps(__mmask8 __U,__m128 __A,__m128 __B)7620 _mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B)
7621 {
7622 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
7623 (__v4sf) __B,
7624 (__v4sf)
7625 _mm_setzero_ps (),
7626 (__mmask8) __U);
7627 }
7628
7629 extern __inline __m128d
7630 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7631 _mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7632 {
7633 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
7634 (__v2df) __B,
7635 (__v2df) __W,
7636 (__mmask8) __U);
7637 }
7638
7639 extern __inline __m128d
7640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_pd(__mmask8 __U,__m128d __A,__m128d __B)7641 _mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B)
7642 {
7643 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
7644 (__v2df) __B,
7645 (__v2df)
7646 _mm_setzero_pd (),
7647 (__mmask8) __U);
7648 }
7649
7650 extern __inline __m128d
7651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7652 _mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7653 {
7654 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
7655 (__v2df) __B,
7656 (__v2df) __W,
7657 (__mmask8) __U);
7658 }
7659
7660 extern __inline __m128d
7661 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_pd(__mmask8 __U,__m128d __A,__m128d __B)7662 _mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B)
7663 {
7664 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
7665 (__v2df) __B,
7666 (__v2df)
7667 _mm_setzero_pd (),
7668 (__mmask8) __U);
7669 }
7670
7671 extern __inline __m128d
7672 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)7673 _mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
7674 {
7675 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
7676 (__v2df) __B,
7677 (__v2df) __W,
7678 (__mmask8) __U);
7679 }
7680
7681 extern __inline __m128d
7682 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_pd(__mmask8 __U,__m128d __A,__m128d __B)7683 _mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B)
7684 {
7685 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
7686 (__v2df) __B,
7687 (__v2df)
7688 _mm_setzero_pd (),
7689 (__mmask8) __U);
7690 }
7691
7692 extern __inline __m256
7693 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)7694 _mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
7695 {
7696 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
7697 (__v8sf) __B,
7698 (__v8sf) __W,
7699 (__mmask8) __U);
7700 }
7701
7702 extern __inline __m256
7703 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_ps(__mmask8 __U,__m256 __A,__m256 __B)7704 _mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B)
7705 {
7706 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
7707 (__v8sf) __B,
7708 (__v8sf)
7709 _mm256_setzero_ps (),
7710 (__mmask8) __U);
7711 }
7712
7713 extern __inline __m256d
7714 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)7715 _mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
7716 __m256d __B)
7717 {
7718 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
7719 (__v4df) __B,
7720 (__v4df) __W,
7721 (__mmask8) __U);
7722 }
7723
7724 extern __inline __m256d
7725 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_pd(__mmask8 __U,__m256d __A,__m256d __B)7726 _mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B)
7727 {
7728 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
7729 (__v4df) __B,
7730 (__v4df)
7731 _mm256_setzero_pd (),
7732 (__mmask8) __U);
7733 }
7734
7735 extern __inline __m256i
7736 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi64(__mmask8 __M,__m256i __A,__m256i __B)7737 _mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
7738 {
7739 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7740 (__v4di) __B,
7741 (__v4di)
7742 _mm256_setzero_si256 (),
7743 __M);
7744 }
7745
7746 extern __inline __m256i
7747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7748 _mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
7749 __m256i __B)
7750 {
7751 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7752 (__v4di) __B,
7753 (__v4di) __W, __M);
7754 }
7755
7756 extern __inline __m256i
7757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epi64(__m256i __A,__m256i __B)7758 _mm256_min_epi64 (__m256i __A, __m256i __B)
7759 {
7760 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7761 (__v4di) __B,
7762 (__v4di)
7763 _mm256_setzero_si256 (),
7764 (__mmask8) -1);
7765 }
7766
7767 extern __inline __m256i
7768 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7769 _mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
7770 __m256i __B)
7771 {
7772 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7773 (__v4di) __B,
7774 (__v4di) __W, __M);
7775 }
7776
7777 extern __inline __m256i
7778 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi64(__mmask8 __M,__m256i __A,__m256i __B)7779 _mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
7780 {
7781 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
7782 (__v4di) __B,
7783 (__v4di)
7784 _mm256_setzero_si256 (),
7785 __M);
7786 }
7787
7788 extern __inline __m256i
7789 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu64(__mmask8 __M,__m256i __A,__m256i __B)7790 _mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
7791 {
7792 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7793 (__v4di) __B,
7794 (__v4di)
7795 _mm256_setzero_si256 (),
7796 __M);
7797 }
7798
7799 extern __inline __m256i
7800 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epi64(__m256i __A,__m256i __B)7801 _mm256_max_epi64 (__m256i __A, __m256i __B)
7802 {
7803 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
7804 (__v4di) __B,
7805 (__v4di)
7806 _mm256_setzero_si256 (),
7807 (__mmask8) -1);
7808 }
7809
7810 extern __inline __m256i
7811 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epu64(__m256i __A,__m256i __B)7812 _mm256_max_epu64 (__m256i __A, __m256i __B)
7813 {
7814 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7815 (__v4di) __B,
7816 (__v4di)
7817 _mm256_setzero_si256 (),
7818 (__mmask8) -1);
7819 }
7820
7821 extern __inline __m256i
7822 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7823 _mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
7824 __m256i __B)
7825 {
7826 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
7827 (__v4di) __B,
7828 (__v4di) __W, __M);
7829 }
7830
7831 extern __inline __m256i
7832 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epu64(__m256i __A,__m256i __B)7833 _mm256_min_epu64 (__m256i __A, __m256i __B)
7834 {
7835 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7836 (__v4di) __B,
7837 (__v4di)
7838 _mm256_setzero_si256 (),
7839 (__mmask8) -1);
7840 }
7841
7842 extern __inline __m256i
7843 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu64(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7844 _mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
7845 __m256i __B)
7846 {
7847 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7848 (__v4di) __B,
7849 (__v4di) __W, __M);
7850 }
7851
7852 extern __inline __m256i
7853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu64(__mmask8 __M,__m256i __A,__m256i __B)7854 _mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
7855 {
7856 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
7857 (__v4di) __B,
7858 (__v4di)
7859 _mm256_setzero_si256 (),
7860 __M);
7861 }
7862
7863 extern __inline __m256i
7864 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi32(__mmask8 __M,__m256i __A,__m256i __B)7865 _mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
7866 {
7867 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
7868 (__v8si) __B,
7869 (__v8si)
7870 _mm256_setzero_si256 (),
7871 __M);
7872 }
7873
7874 extern __inline __m256i
7875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7876 _mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
7877 __m256i __B)
7878 {
7879 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
7880 (__v8si) __B,
7881 (__v8si) __W, __M);
7882 }
7883
7884 extern __inline __m256i
7885 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi32(__mmask8 __M,__m256i __A,__m256i __B)7886 _mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
7887 {
7888 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
7889 (__v8si) __B,
7890 (__v8si)
7891 _mm256_setzero_si256 (),
7892 __M);
7893 }
7894
7895 extern __inline __m256i
7896 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7897 _mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
7898 __m256i __B)
7899 {
7900 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
7901 (__v8si) __B,
7902 (__v8si) __W, __M);
7903 }
7904
7905 extern __inline __m256i
7906 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu32(__mmask8 __M,__m256i __A,__m256i __B)7907 _mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
7908 {
7909 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
7910 (__v8si) __B,
7911 (__v8si)
7912 _mm256_setzero_si256 (),
7913 __M);
7914 }
7915
7916 extern __inline __m256i
7917 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7918 _mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
7919 __m256i __B)
7920 {
7921 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
7922 (__v8si) __B,
7923 (__v8si) __W, __M);
7924 }
7925
7926 extern __inline __m256i
7927 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu32(__mmask8 __M,__m256i __A,__m256i __B)7928 _mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
7929 {
7930 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
7931 (__v8si) __B,
7932 (__v8si)
7933 _mm256_setzero_si256 (),
7934 __M);
7935 }
7936
7937 extern __inline __m256i
7938 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)7939 _mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
7940 __m256i __B)
7941 {
7942 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
7943 (__v8si) __B,
7944 (__v8si) __W, __M);
7945 }
7946
7947 extern __inline __m128i
7948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi64(__mmask8 __M,__m128i __A,__m128i __B)7949 _mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
7950 {
7951 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
7952 (__v2di) __B,
7953 (__v2di)
7954 _mm_setzero_si128 (),
7955 __M);
7956 }
7957
7958 extern __inline __m128i
7959 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)7960 _mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
7961 __m128i __B)
7962 {
7963 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
7964 (__v2di) __B,
7965 (__v2di) __W, __M);
7966 }
7967
7968 extern __inline __m128i
7969 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi64(__m128i __A,__m128i __B)7970 _mm_min_epi64 (__m128i __A, __m128i __B)
7971 {
7972 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
7973 (__v2di) __B,
7974 (__v2di)
7975 _mm_setzero_di (),
7976 (__mmask8) -1);
7977 }
7978
7979 extern __inline __m128i
7980 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)7981 _mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
7982 __m128i __B)
7983 {
7984 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
7985 (__v2di) __B,
7986 (__v2di) __W, __M);
7987 }
7988
7989 extern __inline __m128i
7990 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi64(__mmask8 __M,__m128i __A,__m128i __B)7991 _mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
7992 {
7993 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
7994 (__v2di) __B,
7995 (__v2di)
7996 _mm_setzero_si128 (),
7997 __M);
7998 }
7999
8000 extern __inline __m128i
8001 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu64(__mmask8 __M,__m128i __A,__m128i __B)8002 _mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
8003 {
8004 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8005 (__v2di) __B,
8006 (__v2di)
8007 _mm_setzero_si128 (),
8008 __M);
8009 }
8010
8011 extern __inline __m128i
8012 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi64(__m128i __A,__m128i __B)8013 _mm_max_epi64 (__m128i __A, __m128i __B)
8014 {
8015 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
8016 (__v2di) __B,
8017 (__v2di)
8018 _mm_setzero_di (),
8019 (__mmask8) -1);
8020 }
8021
8022 extern __inline __m128i
8023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu64(__m128i __A,__m128i __B)8024 _mm_max_epu64 (__m128i __A, __m128i __B)
8025 {
8026 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8027 (__v2di) __B,
8028 (__v2di)
8029 _mm_setzero_di (),
8030 (__mmask8) -1);
8031 }
8032
8033 extern __inline __m128i
8034 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8035 _mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
8036 __m128i __B)
8037 {
8038 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
8039 (__v2di) __B,
8040 (__v2di) __W, __M);
8041 }
8042
8043 extern __inline __m128i
8044 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu64(__m128i __A,__m128i __B)8045 _mm_min_epu64 (__m128i __A, __m128i __B)
8046 {
8047 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8048 (__v2di) __B,
8049 (__v2di)
8050 _mm_setzero_di (),
8051 (__mmask8) -1);
8052 }
8053
8054 extern __inline __m128i
8055 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu64(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8056 _mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
8057 __m128i __B)
8058 {
8059 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8060 (__v2di) __B,
8061 (__v2di) __W, __M);
8062 }
8063
8064 extern __inline __m128i
8065 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu64(__mmask8 __M,__m128i __A,__m128i __B)8066 _mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
8067 {
8068 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
8069 (__v2di) __B,
8070 (__v2di)
8071 _mm_setzero_si128 (),
8072 __M);
8073 }
8074
8075 extern __inline __m128i
8076 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi32(__mmask8 __M,__m128i __A,__m128i __B)8077 _mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
8078 {
8079 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
8080 (__v4si) __B,
8081 (__v4si)
8082 _mm_setzero_si128 (),
8083 __M);
8084 }
8085
8086 extern __inline __m128i
8087 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8088 _mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
8089 __m128i __B)
8090 {
8091 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
8092 (__v4si) __B,
8093 (__v4si) __W, __M);
8094 }
8095
8096 extern __inline __m128i
8097 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi32(__mmask8 __M,__m128i __A,__m128i __B)8098 _mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
8099 {
8100 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
8101 (__v4si) __B,
8102 (__v4si)
8103 _mm_setzero_si128 (),
8104 __M);
8105 }
8106
8107 extern __inline __m128i
8108 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8109 _mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
8110 __m128i __B)
8111 {
8112 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
8113 (__v4si) __B,
8114 (__v4si) __W, __M);
8115 }
8116
8117 extern __inline __m128i
8118 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu32(__mmask8 __M,__m128i __A,__m128i __B)8119 _mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
8120 {
8121 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
8122 (__v4si) __B,
8123 (__v4si)
8124 _mm_setzero_si128 (),
8125 __M);
8126 }
8127
8128 extern __inline __m128i
8129 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8130 _mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
8131 __m128i __B)
8132 {
8133 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
8134 (__v4si) __B,
8135 (__v4si) __W, __M);
8136 }
8137
8138 extern __inline __m128i
8139 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu32(__mmask8 __M,__m128i __A,__m128i __B)8140 _mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
8141 {
8142 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
8143 (__v4si) __B,
8144 (__v4si)
8145 _mm_setzero_si128 (),
8146 __M);
8147 }
8148
8149 extern __inline __m128i
8150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu32(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)8151 _mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
8152 __m128i __B)
8153 {
8154 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
8155 (__v4si) __B,
8156 (__v4si) __W, __M);
8157 }
8158
8159 #ifndef __AVX512CD__
8160 #pragma GCC push_options
8161 #pragma GCC target("avx512vl,avx512cd")
8162 #define __DISABLE_AVX512VLCD__
8163 #endif
8164
8165 extern __inline __m128i
8166 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmb_epi64(__mmask8 __A)8167 _mm_broadcastmb_epi64 (__mmask8 __A)
8168 {
8169 return (__m128i) __builtin_ia32_broadcastmb128 (__A);
8170 }
8171
8172 extern __inline __m256i
8173 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmb_epi64(__mmask8 __A)8174 _mm256_broadcastmb_epi64 (__mmask8 __A)
8175 {
8176 return (__m256i) __builtin_ia32_broadcastmb256 (__A);
8177 }
8178
8179 extern __inline __m128i
8180 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmw_epi32(__mmask16 __A)8181 _mm_broadcastmw_epi32 (__mmask16 __A)
8182 {
8183 return (__m128i) __builtin_ia32_broadcastmw128 (__A);
8184 }
8185
8186 extern __inline __m256i
8187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmw_epi32(__mmask16 __A)8188 _mm256_broadcastmw_epi32 (__mmask16 __A)
8189 {
8190 return (__m256i) __builtin_ia32_broadcastmw256 (__A);
8191 }
8192
8193 extern __inline __m256i
8194 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi32(__m256i __A)8195 _mm256_lzcnt_epi32 (__m256i __A)
8196 {
8197 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8198 (__v8si)
8199 _mm256_setzero_si256 (),
8200 (__mmask8) -1);
8201 }
8202
8203 extern __inline __m256i
8204 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi32(__m256i __W,__mmask8 __U,__m256i __A)8205 _mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
8206 {
8207 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8208 (__v8si) __W,
8209 (__mmask8) __U);
8210 }
8211
8212 extern __inline __m256i
8213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi32(__mmask8 __U,__m256i __A)8214 _mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A)
8215 {
8216 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
8217 (__v8si)
8218 _mm256_setzero_si256 (),
8219 (__mmask8) __U);
8220 }
8221
8222 extern __inline __m256i
8223 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi64(__m256i __A)8224 _mm256_lzcnt_epi64 (__m256i __A)
8225 {
8226 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8227 (__v4di)
8228 _mm256_setzero_si256 (),
8229 (__mmask8) -1);
8230 }
8231
8232 extern __inline __m256i
8233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi64(__m256i __W,__mmask8 __U,__m256i __A)8234 _mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
8235 {
8236 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8237 (__v4di) __W,
8238 (__mmask8) __U);
8239 }
8240
8241 extern __inline __m256i
8242 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi64(__mmask8 __U,__m256i __A)8243 _mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A)
8244 {
8245 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
8246 (__v4di)
8247 _mm256_setzero_si256 (),
8248 (__mmask8) __U);
8249 }
8250
8251 extern __inline __m256i
8252 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi64(__m256i __A)8253 _mm256_conflict_epi64 (__m256i __A)
8254 {
8255 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8256 (__v4di)
8257 _mm256_setzero_si256 (),
8258 (__mmask8) -1);
8259 }
8260
8261 extern __inline __m256i
8262 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi64(__m256i __W,__mmask8 __U,__m256i __A)8263 _mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
8264 {
8265 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8266 (__v4di) __W,
8267 (__mmask8)
8268 __U);
8269 }
8270
8271 extern __inline __m256i
8272 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi64(__mmask8 __U,__m256i __A)8273 _mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A)
8274 {
8275 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
8276 (__v4di)
8277 _mm256_setzero_si256 (),
8278 (__mmask8)
8279 __U);
8280 }
8281
8282 extern __inline __m256i
8283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi32(__m256i __A)8284 _mm256_conflict_epi32 (__m256i __A)
8285 {
8286 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8287 (__v8si)
8288 _mm256_setzero_si256 (),
8289 (__mmask8) -1);
8290 }
8291
8292 extern __inline __m256i
8293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi32(__m256i __W,__mmask8 __U,__m256i __A)8294 _mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
8295 {
8296 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8297 (__v8si) __W,
8298 (__mmask8)
8299 __U);
8300 }
8301
8302 extern __inline __m256i
8303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi32(__mmask8 __U,__m256i __A)8304 _mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A)
8305 {
8306 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
8307 (__v8si)
8308 _mm256_setzero_si256 (),
8309 (__mmask8)
8310 __U);
8311 }
8312
8313 extern __inline __m128i
8314 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi32(__m128i __A)8315 _mm_lzcnt_epi32 (__m128i __A)
8316 {
8317 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8318 (__v4si)
8319 _mm_setzero_si128 (),
8320 (__mmask8) -1);
8321 }
8322
8323 extern __inline __m128i
8324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi32(__m128i __W,__mmask8 __U,__m128i __A)8325 _mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
8326 {
8327 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8328 (__v4si) __W,
8329 (__mmask8) __U);
8330 }
8331
8332 extern __inline __m128i
8333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi32(__mmask8 __U,__m128i __A)8334 _mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A)
8335 {
8336 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
8337 (__v4si)
8338 _mm_setzero_si128 (),
8339 (__mmask8) __U);
8340 }
8341
8342 extern __inline __m128i
8343 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi64(__m128i __A)8344 _mm_lzcnt_epi64 (__m128i __A)
8345 {
8346 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8347 (__v2di)
8348 _mm_setzero_di (),
8349 (__mmask8) -1);
8350 }
8351
8352 extern __inline __m128i
8353 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi64(__m128i __W,__mmask8 __U,__m128i __A)8354 _mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
8355 {
8356 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8357 (__v2di) __W,
8358 (__mmask8) __U);
8359 }
8360
8361 extern __inline __m128i
8362 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi64(__mmask8 __U,__m128i __A)8363 _mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A)
8364 {
8365 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
8366 (__v2di)
8367 _mm_setzero_di (),
8368 (__mmask8) __U);
8369 }
8370
8371 extern __inline __m128i
8372 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi64(__m128i __A)8373 _mm_conflict_epi64 (__m128i __A)
8374 {
8375 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8376 (__v2di)
8377 _mm_setzero_di (),
8378 (__mmask8) -1);
8379 }
8380
8381 extern __inline __m128i
8382 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi64(__m128i __W,__mmask8 __U,__m128i __A)8383 _mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
8384 {
8385 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8386 (__v2di) __W,
8387 (__mmask8)
8388 __U);
8389 }
8390
8391 extern __inline __m128i
8392 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi64(__mmask8 __U,__m128i __A)8393 _mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A)
8394 {
8395 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
8396 (__v2di)
8397 _mm_setzero_di (),
8398 (__mmask8)
8399 __U);
8400 }
8401
8402 extern __inline __m128i
8403 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi32(__m128i __A)8404 _mm_conflict_epi32 (__m128i __A)
8405 {
8406 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8407 (__v4si)
8408 _mm_setzero_si128 (),
8409 (__mmask8) -1);
8410 }
8411
8412 extern __inline __m128i
8413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi32(__m128i __W,__mmask8 __U,__m128i __A)8414 _mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
8415 {
8416 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8417 (__v4si) __W,
8418 (__mmask8)
8419 __U);
8420 }
8421
8422 extern __inline __m128i
8423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi32(__mmask8 __U,__m128i __A)8424 _mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A)
8425 {
8426 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
8427 (__v4si)
8428 _mm_setzero_si128 (),
8429 (__mmask8)
8430 __U);
8431 }
8432
8433 #ifdef __DISABLE_AVX512VLCD__
8434 #pragma GCC pop_options
8435 #endif
8436
8437 extern __inline __m256d
8438 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)8439 _mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A,
8440 __m256d __B)
8441 {
8442 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
8443 (__v4df) __B,
8444 (__v4df) __W,
8445 (__mmask8) __U);
8446 }
8447
8448 extern __inline __m256d
8449 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_pd(__mmask8 __U,__m256d __A,__m256d __B)8450 _mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B)
8451 {
8452 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
8453 (__v4df) __B,
8454 (__v4df)
8455 _mm256_setzero_pd (),
8456 (__mmask8) __U);
8457 }
8458
8459 extern __inline __m128d
8460 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)8461 _mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A,
8462 __m128d __B)
8463 {
8464 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
8465 (__v2df) __B,
8466 (__v2df) __W,
8467 (__mmask8) __U);
8468 }
8469
8470 extern __inline __m128d
8471 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_pd(__mmask8 __U,__m128d __A,__m128d __B)8472 _mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B)
8473 {
8474 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
8475 (__v2df) __B,
8476 (__v2df)
8477 _mm_setzero_pd (),
8478 (__mmask8) __U);
8479 }
8480
8481 extern __inline __m256
8482 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)8483 _mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A,
8484 __m256 __B)
8485 {
8486 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
8487 (__v8sf) __B,
8488 (__v8sf) __W,
8489 (__mmask8) __U);
8490 }
8491
8492 extern __inline __m256d
8493 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)8494 _mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A,
8495 __m256d __B)
8496 {
8497 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
8498 (__v4df) __B,
8499 (__v4df) __W,
8500 (__mmask8) __U);
8501 }
8502
8503 extern __inline __m256d
8504 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_pd(__mmask8 __U,__m256d __A,__m256d __B)8505 _mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B)
8506 {
8507 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
8508 (__v4df) __B,
8509 (__v4df)
8510 _mm256_setzero_pd (),
8511 (__mmask8) __U);
8512 }
8513
8514 extern __inline __m128d
8515 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)8516 _mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A,
8517 __m128d __B)
8518 {
8519 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
8520 (__v2df) __B,
8521 (__v2df) __W,
8522 (__mmask8) __U);
8523 }
8524
8525 extern __inline __m128d
8526 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_pd(__mmask8 __U,__m128d __A,__m128d __B)8527 _mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B)
8528 {
8529 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
8530 (__v2df) __B,
8531 (__v2df)
8532 _mm_setzero_pd (),
8533 (__mmask8) __U);
8534 }
8535
8536 extern __inline __m256
8537 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)8538 _mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A,
8539 __m256 __B)
8540 {
8541 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
8542 (__v8sf) __B,
8543 (__v8sf) __W,
8544 (__mmask8) __U);
8545 }
8546
8547 extern __inline __m256
8548 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_ps(__mmask8 __U,__m256 __A,__m256 __B)8549 _mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B)
8550 {
8551 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
8552 (__v8sf) __B,
8553 (__v8sf)
8554 _mm256_setzero_ps (),
8555 (__mmask8) __U);
8556 }
8557
8558 extern __inline __m128
8559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)8560 _mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8561 {
8562 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
8563 (__v4sf) __B,
8564 (__v4sf) __W,
8565 (__mmask8) __U);
8566 }
8567
8568 extern __inline __m128
8569 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_ps(__mmask8 __U,__m128 __A,__m128 __B)8570 _mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B)
8571 {
8572 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
8573 (__v4sf) __B,
8574 (__v4sf)
8575 _mm_setzero_ps (),
8576 (__mmask8) __U);
8577 }
8578
8579 extern __inline __m128
8580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtph_ps(__m128 __W,__mmask8 __U,__m128i __A)8581 _mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A)
8582 {
8583 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
8584 (__v4sf) __W,
8585 (__mmask8) __U);
8586 }
8587
8588 extern __inline __m128
8589 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtph_ps(__mmask8 __U,__m128i __A)8590 _mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
8591 {
8592 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
8593 (__v4sf)
8594 _mm_setzero_ps (),
8595 (__mmask8) __U);
8596 }
8597
8598 extern __inline __m256
8599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_ps(__mmask8 __U,__m256 __A,__m256 __B)8600 _mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B)
8601 {
8602 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
8603 (__v8sf) __B,
8604 (__v8sf)
8605 _mm256_setzero_ps (),
8606 (__mmask8) __U);
8607 }
8608
8609 extern __inline __m256
8610 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtph_ps(__m256 __W,__mmask8 __U,__m128i __A)8611 _mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A)
8612 {
8613 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
8614 (__v8sf) __W,
8615 (__mmask8) __U);
8616 }
8617
8618 extern __inline __m256
8619 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtph_ps(__mmask8 __U,__m128i __A)8620 _mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
8621 {
8622 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
8623 (__v8sf)
8624 _mm256_setzero_ps (),
8625 (__mmask8) __U);
8626 }
8627
8628 extern __inline __m128
8629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)8630 _mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8631 {
8632 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
8633 (__v4sf) __B,
8634 (__v4sf) __W,
8635 (__mmask8) __U);
8636 }
8637
8638 extern __inline __m128
8639 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_ps(__mmask8 __U,__m128 __A,__m128 __B)8640 _mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B)
8641 {
8642 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
8643 (__v4sf) __B,
8644 (__v4sf)
8645 _mm_setzero_ps (),
8646 (__mmask8) __U);
8647 }
8648
8649 extern __inline __m256i
8650 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8651 _mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
8652 __m128i __B)
8653 {
8654 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
8655 (__v4si) __B,
8656 (__v8si) __W,
8657 (__mmask8) __U);
8658 }
8659
8660 extern __inline __m256i
8661 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi32(__mmask8 __U,__m256i __A,__m128i __B)8662 _mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
8663 {
8664 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
8665 (__v4si) __B,
8666 (__v8si)
8667 _mm256_setzero_si256 (),
8668 (__mmask8) __U);
8669 }
8670
8671 extern __inline __m128i
8672 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8673 _mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
8674 __m128i __B)
8675 {
8676 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
8677 (__v4si) __B,
8678 (__v4si) __W,
8679 (__mmask8) __U);
8680 }
8681
8682 extern __inline __m128i
8683 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi32(__mmask8 __U,__m128i __A,__m128i __B)8684 _mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
8685 {
8686 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
8687 (__v4si) __B,
8688 (__v4si)
8689 _mm_setzero_si128 (),
8690 (__mmask8) __U);
8691 }
8692
8693 extern __inline __m256i
8694 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sra_epi64(__m256i __A,__m128i __B)8695 _mm256_sra_epi64 (__m256i __A, __m128i __B)
8696 {
8697 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8698 (__v2di) __B,
8699 (__v4di)
8700 _mm256_setzero_si256 (),
8701 (__mmask8) -1);
8702 }
8703
8704 extern __inline __m256i
8705 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8706 _mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
8707 __m128i __B)
8708 {
8709 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8710 (__v2di) __B,
8711 (__v4di) __W,
8712 (__mmask8) __U);
8713 }
8714
8715 extern __inline __m256i
8716 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi64(__mmask8 __U,__m256i __A,__m128i __B)8717 _mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
8718 {
8719 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
8720 (__v2di) __B,
8721 (__v4di)
8722 _mm256_setzero_si256 (),
8723 (__mmask8) __U);
8724 }
8725
8726 extern __inline __m128i
8727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi64(__m128i __A,__m128i __B)8728 _mm_sra_epi64 (__m128i __A, __m128i __B)
8729 {
8730 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8731 (__v2di) __B,
8732 (__v2di)
8733 _mm_setzero_di (),
8734 (__mmask8) -1);
8735 }
8736
8737 extern __inline __m128i
8738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8739 _mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
8740 __m128i __B)
8741 {
8742 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8743 (__v2di) __B,
8744 (__v2di) __W,
8745 (__mmask8) __U);
8746 }
8747
8748 extern __inline __m128i
8749 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi64(__mmask8 __U,__m128i __A,__m128i __B)8750 _mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
8751 {
8752 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
8753 (__v2di) __B,
8754 (__v2di)
8755 _mm_setzero_di (),
8756 (__mmask8) __U);
8757 }
8758
8759 extern __inline __m128i
8760 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8761 _mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
8762 __m128i __B)
8763 {
8764 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
8765 (__v4si) __B,
8766 (__v4si) __W,
8767 (__mmask8) __U);
8768 }
8769
8770 extern __inline __m128i
8771 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi32(__mmask8 __U,__m128i __A,__m128i __B)8772 _mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
8773 {
8774 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
8775 (__v4si) __B,
8776 (__v4si)
8777 _mm_setzero_si128 (),
8778 (__mmask8) __U);
8779 }
8780
8781 extern __inline __m128i
8782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)8783 _mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
8784 __m128i __B)
8785 {
8786 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
8787 (__v2di) __B,
8788 (__v2di) __W,
8789 (__mmask8) __U);
8790 }
8791
8792 extern __inline __m128i
8793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi64(__mmask8 __U,__m128i __A,__m128i __B)8794 _mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
8795 {
8796 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
8797 (__v2di) __B,
8798 (__v2di)
8799 _mm_setzero_di (),
8800 (__mmask8) __U);
8801 }
8802
8803 extern __inline __m256i
8804 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8805 _mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
8806 __m128i __B)
8807 {
8808 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
8809 (__v4si) __B,
8810 (__v8si) __W,
8811 (__mmask8) __U);
8812 }
8813
8814 extern __inline __m256i
8815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi32(__mmask8 __U,__m256i __A,__m128i __B)8816 _mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
8817 {
8818 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
8819 (__v4si) __B,
8820 (__v8si)
8821 _mm256_setzero_si256 (),
8822 (__mmask8) __U);
8823 }
8824
8825 extern __inline __m256i
8826 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B)8827 _mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
8828 __m128i __B)
8829 {
8830 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
8831 (__v2di) __B,
8832 (__v4di) __W,
8833 (__mmask8) __U);
8834 }
8835
8836 extern __inline __m256i
8837 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi64(__mmask8 __U,__m256i __A,__m128i __B)8838 _mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
8839 {
8840 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
8841 (__v2di) __B,
8842 (__v4di)
8843 _mm256_setzero_si256 (),
8844 (__mmask8) __U);
8845 }
8846
8847 extern __inline __m256
8848 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_ps(__m256 __W,__mmask8 __U,__m256i __X,__m256 __Y)8849 _mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X,
8850 __m256 __Y)
8851 {
8852 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8853 (__v8si) __X,
8854 (__v8sf) __W,
8855 (__mmask8) __U);
8856 }
8857
8858 extern __inline __m256
8859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_ps(__mmask8 __U,__m256i __X,__m256 __Y)8860 _mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y)
8861 {
8862 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8863 (__v8si) __X,
8864 (__v8sf)
8865 _mm256_setzero_ps (),
8866 (__mmask8) __U);
8867 }
8868
8869 extern __inline __m256d
8870 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_pd(__m256i __X,__m256d __Y)8871 _mm256_permutexvar_pd (__m256i __X, __m256d __Y)
8872 {
8873 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8874 (__v4di) __X,
8875 (__v4df)
8876 _mm256_setzero_pd (),
8877 (__mmask8) -1);
8878 }
8879
8880 extern __inline __m256d
8881 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_pd(__m256d __W,__mmask8 __U,__m256i __X,__m256d __Y)8882 _mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
8883 __m256d __Y)
8884 {
8885 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8886 (__v4di) __X,
8887 (__v4df) __W,
8888 (__mmask8) __U);
8889 }
8890
8891 extern __inline __m256d
8892 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_pd(__mmask8 __U,__m256i __X,__m256d __Y)8893 _mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
8894 {
8895 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8896 (__v4di) __X,
8897 (__v4df)
8898 _mm256_setzero_pd (),
8899 (__mmask8) __U);
8900 }
8901
8902 extern __inline __m256d
8903 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256i __C)8904 _mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A,
8905 __m256i __C)
8906 {
8907 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
8908 (__v4di) __C,
8909 (__v4df) __W,
8910 (__mmask8)
8911 __U);
8912 }
8913
8914 extern __inline __m256d
8915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_pd(__mmask8 __U,__m256d __A,__m256i __C)8916 _mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C)
8917 {
8918 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
8919 (__v4di) __C,
8920 (__v4df)
8921 _mm256_setzero_pd (),
8922 (__mmask8)
8923 __U);
8924 }
8925
8926 extern __inline __m256
8927 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256i __C)8928 _mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A,
8929 __m256i __C)
8930 {
8931 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
8932 (__v8si) __C,
8933 (__v8sf) __W,
8934 (__mmask8) __U);
8935 }
8936
8937 extern __inline __m256
8938 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_ps(__mmask8 __U,__m256 __A,__m256i __C)8939 _mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C)
8940 {
8941 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
8942 (__v8si) __C,
8943 (__v8sf)
8944 _mm256_setzero_ps (),
8945 (__mmask8) __U);
8946 }
8947
8948 extern __inline __m128d
8949 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128i __C)8950 _mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A,
8951 __m128i __C)
8952 {
8953 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
8954 (__v2di) __C,
8955 (__v2df) __W,
8956 (__mmask8) __U);
8957 }
8958
8959 extern __inline __m128d
8960 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_pd(__mmask8 __U,__m128d __A,__m128i __C)8961 _mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C)
8962 {
8963 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
8964 (__v2di) __C,
8965 (__v2df)
8966 _mm_setzero_pd (),
8967 (__mmask8) __U);
8968 }
8969
8970 extern __inline __m128
8971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128i __C)8972 _mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A,
8973 __m128i __C)
8974 {
8975 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
8976 (__v4si) __C,
8977 (__v4sf) __W,
8978 (__mmask8) __U);
8979 }
8980
8981 extern __inline __m128
8982 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_ps(__mmask8 __U,__m128 __A,__m128i __C)8983 _mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C)
8984 {
8985 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
8986 (__v4si) __C,
8987 (__v4sf)
8988 _mm_setzero_ps (),
8989 (__mmask8) __U);
8990 }
8991
8992 extern __inline __m256i
8993 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mullo_epi32(__mmask8 __M,__m256i __A,__m256i __B)8994 _mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
8995 {
8996 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
8997 (__v8si) __B,
8998 (__v8si)
8999 _mm256_setzero_si256 (),
9000 __M);
9001 }
9002
9003 extern __inline __m256i
9004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi64(__mmask8 __M,__m256i __X,__m256i __Y)9005 _mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
9006 {
9007 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9008 (__v4di) __X,
9009 (__v4di)
9010 _mm256_setzero_si256 (),
9011 __M);
9012 }
9013
9014 extern __inline __m256i
9015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mullo_epi32(__m256i __W,__mmask8 __M,__m256i __A,__m256i __B)9016 _mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
9017 __m256i __B)
9018 {
9019 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
9020 (__v8si) __B,
9021 (__v8si) __W, __M);
9022 }
9023
9024 extern __inline __m128i
9025 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mullo_epi32(__mmask8 __M,__m128i __A,__m128i __B)9026 _mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
9027 {
9028 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
9029 (__v4si) __B,
9030 (__v4si)
9031 _mm_setzero_si128 (),
9032 __M);
9033 }
9034
9035 extern __inline __m128i
9036 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mullo_epi32(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)9037 _mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
9038 __m128i __B)
9039 {
9040 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
9041 (__v4si) __B,
9042 (__v4si) __W, __M);
9043 }
9044
9045 extern __inline __m256i
9046 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9047 _mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
9048 __m256i __Y)
9049 {
9050 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
9051 (__v8si) __Y,
9052 (__v4di) __W, __M);
9053 }
9054
9055 extern __inline __m256i
9056 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epi32(__mmask8 __M,__m256i __X,__m256i __Y)9057 _mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
9058 {
9059 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
9060 (__v8si) __Y,
9061 (__v4di)
9062 _mm256_setzero_si256 (),
9063 __M);
9064 }
9065
9066 extern __inline __m128i
9067 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epi32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)9068 _mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
9069 __m128i __Y)
9070 {
9071 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
9072 (__v4si) __Y,
9073 (__v2di) __W, __M);
9074 }
9075
9076 extern __inline __m128i
9077 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epi32(__mmask8 __M,__m128i __X,__m128i __Y)9078 _mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
9079 {
9080 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
9081 (__v4si) __Y,
9082 (__v2di)
9083 _mm_setzero_si128 (),
9084 __M);
9085 }
9086
9087 extern __inline __m256i
9088 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi64(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9089 _mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
9090 __m256i __Y)
9091 {
9092 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9093 (__v4di) __X,
9094 (__v4di) __W,
9095 __M);
9096 }
9097
9098 extern __inline __m256i
9099 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epu32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9100 _mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
9101 __m256i __Y)
9102 {
9103 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
9104 (__v8si) __Y,
9105 (__v4di) __W, __M);
9106 }
9107
9108 extern __inline __m256i
9109 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi32(__mmask8 __M,__m256i __X,__m256i __Y)9110 _mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
9111 {
9112 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9113 (__v8si) __X,
9114 (__v8si)
9115 _mm256_setzero_si256 (),
9116 __M);
9117 }
9118
9119 extern __inline __m256i
9120 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epu32(__mmask8 __M,__m256i __X,__m256i __Y)9121 _mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
9122 {
9123 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
9124 (__v8si) __Y,
9125 (__v4di)
9126 _mm256_setzero_si256 (),
9127 __M);
9128 }
9129
9130 extern __inline __m128i
9131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epu32(__m128i __W,__mmask8 __M,__m128i __X,__m128i __Y)9132 _mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
9133 __m128i __Y)
9134 {
9135 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
9136 (__v4si) __Y,
9137 (__v2di) __W, __M);
9138 }
9139
9140 extern __inline __m128i
9141 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epu32(__mmask8 __M,__m128i __X,__m128i __Y)9142 _mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
9143 {
9144 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
9145 (__v4si) __Y,
9146 (__v2di)
9147 _mm_setzero_si128 (),
9148 __M);
9149 }
9150
9151 extern __inline __m256i
9152 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi32(__m256i __W,__mmask8 __M,__m256i __X,__m256i __Y)9153 _mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
9154 __m256i __Y)
9155 {
9156 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9157 (__v8si) __X,
9158 (__v8si) __W,
9159 __M);
9160 }
9161
9162 extern __inline __mmask8
9163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9164 _mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9165 {
9166 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9167 (__v8si) __Y, 4,
9168 (__mmask8) __M);
9169 }
9170
9171 extern __inline __mmask8
9172 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu32_mask(__m256i __X,__m256i __Y)9173 _mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y)
9174 {
9175 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9176 (__v8si) __Y, 4,
9177 (__mmask8) -1);
9178 }
9179
9180 extern __inline __mmask8
9181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9182 _mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9183 {
9184 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9185 (__v8si) __Y, 1,
9186 (__mmask8) __M);
9187 }
9188
9189 extern __inline __mmask8
9190 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu32_mask(__m256i __X,__m256i __Y)9191 _mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y)
9192 {
9193 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9194 (__v8si) __Y, 1,
9195 (__mmask8) -1);
9196 }
9197
9198 extern __inline __mmask8
9199 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9200 _mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9201 {
9202 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9203 (__v8si) __Y, 5,
9204 (__mmask8) __M);
9205 }
9206
9207 extern __inline __mmask8
9208 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu32_mask(__m256i __X,__m256i __Y)9209 _mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y)
9210 {
9211 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9212 (__v8si) __Y, 5,
9213 (__mmask8) -1);
9214 }
9215
9216 extern __inline __mmask8
9217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9218 _mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9219 {
9220 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9221 (__v8si) __Y, 2,
9222 (__mmask8) __M);
9223 }
9224
9225 extern __inline __mmask8
9226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu32_mask(__m256i __X,__m256i __Y)9227 _mm256_cmple_epu32_mask (__m256i __X, __m256i __Y)
9228 {
9229 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
9230 (__v8si) __Y, 2,
9231 (__mmask8) -1);
9232 }
9233
9234 extern __inline __mmask8
9235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9236 _mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9237 {
9238 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9239 (__v4di) __Y, 4,
9240 (__mmask8) __M);
9241 }
9242
9243 extern __inline __mmask8
9244 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu64_mask(__m256i __X,__m256i __Y)9245 _mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y)
9246 {
9247 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9248 (__v4di) __Y, 4,
9249 (__mmask8) -1);
9250 }
9251
9252 extern __inline __mmask8
9253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9254 _mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9255 {
9256 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9257 (__v4di) __Y, 1,
9258 (__mmask8) __M);
9259 }
9260
9261 extern __inline __mmask8
9262 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu64_mask(__m256i __X,__m256i __Y)9263 _mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y)
9264 {
9265 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9266 (__v4di) __Y, 1,
9267 (__mmask8) -1);
9268 }
9269
9270 extern __inline __mmask8
9271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9272 _mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9273 {
9274 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9275 (__v4di) __Y, 5,
9276 (__mmask8) __M);
9277 }
9278
9279 extern __inline __mmask8
9280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu64_mask(__m256i __X,__m256i __Y)9281 _mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y)
9282 {
9283 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9284 (__v4di) __Y, 5,
9285 (__mmask8) -1);
9286 }
9287
9288 extern __inline __mmask8
9289 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9290 _mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9291 {
9292 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9293 (__v4di) __Y, 2,
9294 (__mmask8) __M);
9295 }
9296
9297 extern __inline __mmask8
9298 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu64_mask(__m256i __X,__m256i __Y)9299 _mm256_cmple_epu64_mask (__m256i __X, __m256i __Y)
9300 {
9301 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
9302 (__v4di) __Y, 2,
9303 (__mmask8) -1);
9304 }
9305
9306 extern __inline __mmask8
9307 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9308 _mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9309 {
9310 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9311 (__v8si) __Y, 4,
9312 (__mmask8) __M);
9313 }
9314
9315 extern __inline __mmask8
9316 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi32_mask(__m256i __X,__m256i __Y)9317 _mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y)
9318 {
9319 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9320 (__v8si) __Y, 4,
9321 (__mmask8) -1);
9322 }
9323
9324 extern __inline __mmask8
9325 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9326 _mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9327 {
9328 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9329 (__v8si) __Y, 1,
9330 (__mmask8) __M);
9331 }
9332
9333 extern __inline __mmask8
9334 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi32_mask(__m256i __X,__m256i __Y)9335 _mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y)
9336 {
9337 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9338 (__v8si) __Y, 1,
9339 (__mmask8) -1);
9340 }
9341
9342 extern __inline __mmask8
9343 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9344 _mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9345 {
9346 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9347 (__v8si) __Y, 5,
9348 (__mmask8) __M);
9349 }
9350
9351 extern __inline __mmask8
9352 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi32_mask(__m256i __X,__m256i __Y)9353 _mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y)
9354 {
9355 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9356 (__v8si) __Y, 5,
9357 (__mmask8) -1);
9358 }
9359
9360 extern __inline __mmask8
9361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi32_mask(__mmask8 __M,__m256i __X,__m256i __Y)9362 _mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9363 {
9364 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9365 (__v8si) __Y, 2,
9366 (__mmask8) __M);
9367 }
9368
9369 extern __inline __mmask8
9370 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi32_mask(__m256i __X,__m256i __Y)9371 _mm256_cmple_epi32_mask (__m256i __X, __m256i __Y)
9372 {
9373 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
9374 (__v8si) __Y, 2,
9375 (__mmask8) -1);
9376 }
9377
9378 extern __inline __mmask8
9379 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9380 _mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9381 {
9382 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9383 (__v4di) __Y, 4,
9384 (__mmask8) __M);
9385 }
9386
9387 extern __inline __mmask8
9388 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi64_mask(__m256i __X,__m256i __Y)9389 _mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y)
9390 {
9391 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9392 (__v4di) __Y, 4,
9393 (__mmask8) -1);
9394 }
9395
9396 extern __inline __mmask8
9397 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9398 _mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9399 {
9400 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9401 (__v4di) __Y, 1,
9402 (__mmask8) __M);
9403 }
9404
9405 extern __inline __mmask8
9406 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi64_mask(__m256i __X,__m256i __Y)9407 _mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y)
9408 {
9409 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9410 (__v4di) __Y, 1,
9411 (__mmask8) -1);
9412 }
9413
9414 extern __inline __mmask8
9415 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9416 _mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9417 {
9418 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9419 (__v4di) __Y, 5,
9420 (__mmask8) __M);
9421 }
9422
9423 extern __inline __mmask8
9424 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi64_mask(__m256i __X,__m256i __Y)9425 _mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y)
9426 {
9427 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9428 (__v4di) __Y, 5,
9429 (__mmask8) -1);
9430 }
9431
9432 extern __inline __mmask8
9433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi64_mask(__mmask8 __M,__m256i __X,__m256i __Y)9434 _mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
9435 {
9436 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9437 (__v4di) __Y, 2,
9438 (__mmask8) __M);
9439 }
9440
9441 extern __inline __mmask8
9442 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi64_mask(__m256i __X,__m256i __Y)9443 _mm256_cmple_epi64_mask (__m256i __X, __m256i __Y)
9444 {
9445 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
9446 (__v4di) __Y, 2,
9447 (__mmask8) -1);
9448 }
9449
9450 extern __inline __mmask8
9451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9452 _mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9453 {
9454 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9455 (__v4si) __Y, 4,
9456 (__mmask8) __M);
9457 }
9458
9459 extern __inline __mmask8
9460 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu32_mask(__m128i __X,__m128i __Y)9461 _mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y)
9462 {
9463 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9464 (__v4si) __Y, 4,
9465 (__mmask8) -1);
9466 }
9467
9468 extern __inline __mmask8
9469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9470 _mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9471 {
9472 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9473 (__v4si) __Y, 1,
9474 (__mmask8) __M);
9475 }
9476
9477 extern __inline __mmask8
9478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu32_mask(__m128i __X,__m128i __Y)9479 _mm_cmplt_epu32_mask (__m128i __X, __m128i __Y)
9480 {
9481 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9482 (__v4si) __Y, 1,
9483 (__mmask8) -1);
9484 }
9485
9486 extern __inline __mmask8
9487 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9488 _mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9489 {
9490 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9491 (__v4si) __Y, 5,
9492 (__mmask8) __M);
9493 }
9494
9495 extern __inline __mmask8
9496 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu32_mask(__m128i __X,__m128i __Y)9497 _mm_cmpge_epu32_mask (__m128i __X, __m128i __Y)
9498 {
9499 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9500 (__v4si) __Y, 5,
9501 (__mmask8) -1);
9502 }
9503
9504 extern __inline __mmask8
9505 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9506 _mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9507 {
9508 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9509 (__v4si) __Y, 2,
9510 (__mmask8) __M);
9511 }
9512
9513 extern __inline __mmask8
9514 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu32_mask(__m128i __X,__m128i __Y)9515 _mm_cmple_epu32_mask (__m128i __X, __m128i __Y)
9516 {
9517 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
9518 (__v4si) __Y, 2,
9519 (__mmask8) -1);
9520 }
9521
9522 extern __inline __mmask8
9523 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9524 _mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9525 {
9526 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9527 (__v2di) __Y, 4,
9528 (__mmask8) __M);
9529 }
9530
9531 extern __inline __mmask8
9532 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu64_mask(__m128i __X,__m128i __Y)9533 _mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y)
9534 {
9535 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9536 (__v2di) __Y, 4,
9537 (__mmask8) -1);
9538 }
9539
9540 extern __inline __mmask8
9541 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9542 _mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9543 {
9544 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9545 (__v2di) __Y, 1,
9546 (__mmask8) __M);
9547 }
9548
9549 extern __inline __mmask8
9550 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu64_mask(__m128i __X,__m128i __Y)9551 _mm_cmplt_epu64_mask (__m128i __X, __m128i __Y)
9552 {
9553 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9554 (__v2di) __Y, 1,
9555 (__mmask8) -1);
9556 }
9557
9558 extern __inline __mmask8
9559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9560 _mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9561 {
9562 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9563 (__v2di) __Y, 5,
9564 (__mmask8) __M);
9565 }
9566
9567 extern __inline __mmask8
9568 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu64_mask(__m128i __X,__m128i __Y)9569 _mm_cmpge_epu64_mask (__m128i __X, __m128i __Y)
9570 {
9571 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9572 (__v2di) __Y, 5,
9573 (__mmask8) -1);
9574 }
9575
9576 extern __inline __mmask8
9577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9578 _mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9579 {
9580 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9581 (__v2di) __Y, 2,
9582 (__mmask8) __M);
9583 }
9584
9585 extern __inline __mmask8
9586 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu64_mask(__m128i __X,__m128i __Y)9587 _mm_cmple_epu64_mask (__m128i __X, __m128i __Y)
9588 {
9589 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
9590 (__v2di) __Y, 2,
9591 (__mmask8) -1);
9592 }
9593
9594 extern __inline __mmask8
9595 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9596 _mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9597 {
9598 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9599 (__v4si) __Y, 4,
9600 (__mmask8) __M);
9601 }
9602
9603 extern __inline __mmask8
9604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi32_mask(__m128i __X,__m128i __Y)9605 _mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y)
9606 {
9607 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9608 (__v4si) __Y, 4,
9609 (__mmask8) -1);
9610 }
9611
9612 extern __inline __mmask8
9613 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9614 _mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9615 {
9616 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9617 (__v4si) __Y, 1,
9618 (__mmask8) __M);
9619 }
9620
9621 extern __inline __mmask8
9622 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi32_mask(__m128i __X,__m128i __Y)9623 _mm_cmplt_epi32_mask (__m128i __X, __m128i __Y)
9624 {
9625 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9626 (__v4si) __Y, 1,
9627 (__mmask8) -1);
9628 }
9629
9630 extern __inline __mmask8
9631 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9632 _mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9633 {
9634 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9635 (__v4si) __Y, 5,
9636 (__mmask8) __M);
9637 }
9638
9639 extern __inline __mmask8
9640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi32_mask(__m128i __X,__m128i __Y)9641 _mm_cmpge_epi32_mask (__m128i __X, __m128i __Y)
9642 {
9643 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9644 (__v4si) __Y, 5,
9645 (__mmask8) -1);
9646 }
9647
9648 extern __inline __mmask8
9649 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi32_mask(__mmask8 __M,__m128i __X,__m128i __Y)9650 _mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9651 {
9652 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9653 (__v4si) __Y, 2,
9654 (__mmask8) __M);
9655 }
9656
9657 extern __inline __mmask8
9658 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi32_mask(__m128i __X,__m128i __Y)9659 _mm_cmple_epi32_mask (__m128i __X, __m128i __Y)
9660 {
9661 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
9662 (__v4si) __Y, 2,
9663 (__mmask8) -1);
9664 }
9665
9666 extern __inline __mmask8
9667 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9668 _mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9669 {
9670 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9671 (__v2di) __Y, 4,
9672 (__mmask8) __M);
9673 }
9674
9675 extern __inline __mmask8
9676 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi64_mask(__m128i __X,__m128i __Y)9677 _mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y)
9678 {
9679 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9680 (__v2di) __Y, 4,
9681 (__mmask8) -1);
9682 }
9683
9684 extern __inline __mmask8
9685 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9686 _mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9687 {
9688 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9689 (__v2di) __Y, 1,
9690 (__mmask8) __M);
9691 }
9692
9693 extern __inline __mmask8
9694 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi64_mask(__m128i __X,__m128i __Y)9695 _mm_cmplt_epi64_mask (__m128i __X, __m128i __Y)
9696 {
9697 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9698 (__v2di) __Y, 1,
9699 (__mmask8) -1);
9700 }
9701
9702 extern __inline __mmask8
9703 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9704 _mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9705 {
9706 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9707 (__v2di) __Y, 5,
9708 (__mmask8) __M);
9709 }
9710
9711 extern __inline __mmask8
9712 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi64_mask(__m128i __X,__m128i __Y)9713 _mm_cmpge_epi64_mask (__m128i __X, __m128i __Y)
9714 {
9715 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9716 (__v2di) __Y, 5,
9717 (__mmask8) -1);
9718 }
9719
9720 extern __inline __mmask8
9721 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi64_mask(__mmask8 __M,__m128i __X,__m128i __Y)9722 _mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
9723 {
9724 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9725 (__v2di) __Y, 2,
9726 (__mmask8) __M);
9727 }
9728
9729 extern __inline __mmask8
9730 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi64_mask(__m128i __X,__m128i __Y)9731 _mm_cmple_epi64_mask (__m128i __X, __m128i __Y)
9732 {
9733 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
9734 (__v2di) __Y, 2,
9735 (__mmask8) -1);
9736 }
9737
9738 #ifdef __OPTIMIZE__
9739 extern __inline __m256i
9740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex_epi64(__m256i __W,__mmask8 __M,__m256i __X,const int __I)9741 _mm256_mask_permutex_epi64 (__m256i __W, __mmask8 __M,
9742 __m256i __X, const int __I)
9743 {
9744 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9745 __I,
9746 (__v4di) __W,
9747 (__mmask8) __M);
9748 }
9749
9750 extern __inline __m256i
9751 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex_epi64(__mmask8 __M,__m256i __X,const int __I)9752 _mm256_maskz_permutex_epi64 (__mmask8 __M, __m256i __X, const int __I)
9753 {
9754 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
9755 __I,
9756 (__v4di)
9757 _mm256_setzero_si256 (),
9758 (__mmask8) __M);
9759 }
9760
9761 extern __inline __m256d
9762 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B,const int __imm)9763 _mm256_mask_shuffle_pd (__m256d __W, __mmask8 __U, __m256d __A,
9764 __m256d __B, const int __imm)
9765 {
9766 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
9767 (__v4df) __B, __imm,
9768 (__v4df) __W,
9769 (__mmask8) __U);
9770 }
9771
9772 extern __inline __m256d
9773 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_pd(__mmask8 __U,__m256d __A,__m256d __B,const int __imm)9774 _mm256_maskz_shuffle_pd (__mmask8 __U, __m256d __A, __m256d __B,
9775 const int __imm)
9776 {
9777 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
9778 (__v4df) __B, __imm,
9779 (__v4df)
9780 _mm256_setzero_pd (),
9781 (__mmask8) __U);
9782 }
9783
9784 extern __inline __m128d
9785 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B,const int __imm)9786 _mm_mask_shuffle_pd (__m128d __W, __mmask8 __U, __m128d __A,
9787 __m128d __B, const int __imm)
9788 {
9789 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
9790 (__v2df) __B, __imm,
9791 (__v2df) __W,
9792 (__mmask8) __U);
9793 }
9794
9795 extern __inline __m128d
9796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_pd(__mmask8 __U,__m128d __A,__m128d __B,const int __imm)9797 _mm_maskz_shuffle_pd (__mmask8 __U, __m128d __A, __m128d __B,
9798 const int __imm)
9799 {
9800 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
9801 (__v2df) __B, __imm,
9802 (__v2df)
9803 _mm_setzero_pd (),
9804 (__mmask8) __U);
9805 }
9806
9807 extern __inline __m256
9808 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B,const int __imm)9809 _mm256_mask_shuffle_ps (__m256 __W, __mmask8 __U, __m256 __A,
9810 __m256 __B, const int __imm)
9811 {
9812 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
9813 (__v8sf) __B, __imm,
9814 (__v8sf) __W,
9815 (__mmask8) __U);
9816 }
9817
9818 extern __inline __m256
9819 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_ps(__mmask8 __U,__m256 __A,__m256 __B,const int __imm)9820 _mm256_maskz_shuffle_ps (__mmask8 __U, __m256 __A, __m256 __B,
9821 const int __imm)
9822 {
9823 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
9824 (__v8sf) __B, __imm,
9825 (__v8sf)
9826 _mm256_setzero_ps (),
9827 (__mmask8) __U);
9828 }
9829
9830 extern __inline __m128
9831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B,const int __imm)9832 _mm_mask_shuffle_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B,
9833 const int __imm)
9834 {
9835 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
9836 (__v4sf) __B, __imm,
9837 (__v4sf) __W,
9838 (__mmask8) __U);
9839 }
9840
9841 extern __inline __m128
9842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_ps(__mmask8 __U,__m128 __A,__m128 __B,const int __imm)9843 _mm_maskz_shuffle_ps (__mmask8 __U, __m128 __A, __m128 __B,
9844 const int __imm)
9845 {
9846 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
9847 (__v4sf) __B, __imm,
9848 (__v4sf)
9849 _mm_setzero_ps (),
9850 (__mmask8) __U);
9851 }
9852
9853 extern __inline __m256i
9854 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_inserti32x4(__m256i __A,__m128i __B,const int __imm)9855 _mm256_inserti32x4 (__m256i __A, __m128i __B, const int __imm)
9856 {
9857 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9858 (__v4si) __B,
9859 __imm,
9860 (__v8si)
9861 _mm256_setzero_si256 (),
9862 (__mmask8) -1);
9863 }
9864
9865 extern __inline __m256i
9866 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_inserti32x4(__m256i __W,__mmask8 __U,__m256i __A,__m128i __B,const int __imm)9867 _mm256_mask_inserti32x4 (__m256i __W, __mmask8 __U, __m256i __A,
9868 __m128i __B, const int __imm)
9869 {
9870 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9871 (__v4si) __B,
9872 __imm,
9873 (__v8si) __W,
9874 (__mmask8)
9875 __U);
9876 }
9877
9878 extern __inline __m256i
9879 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_inserti32x4(__mmask8 __U,__m256i __A,__m128i __B,const int __imm)9880 _mm256_maskz_inserti32x4 (__mmask8 __U, __m256i __A, __m128i __B,
9881 const int __imm)
9882 {
9883 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
9884 (__v4si) __B,
9885 __imm,
9886 (__v8si)
9887 _mm256_setzero_si256 (),
9888 (__mmask8)
9889 __U);
9890 }
9891
9892 extern __inline __m256
9893 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_insertf32x4(__m256 __A,__m128 __B,const int __imm)9894 _mm256_insertf32x4 (__m256 __A, __m128 __B, const int __imm)
9895 {
9896 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
9897 (__v4sf) __B,
9898 __imm,
9899 (__v8sf)
9900 _mm256_setzero_ps (),
9901 (__mmask8) -1);
9902 }
9903
9904 extern __inline __m256
9905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_insertf32x4(__m256 __W,__mmask8 __U,__m256 __A,__m128 __B,const int __imm)9906 _mm256_mask_insertf32x4 (__m256 __W, __mmask8 __U, __m256 __A,
9907 __m128 __B, const int __imm)
9908 {
9909 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
9910 (__v4sf) __B,
9911 __imm,
9912 (__v8sf) __W,
9913 (__mmask8) __U);
9914 }
9915
9916 extern __inline __m256
9917 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_insertf32x4(__mmask8 __U,__m256 __A,__m128 __B,const int __imm)9918 _mm256_maskz_insertf32x4 (__mmask8 __U, __m256 __A, __m128 __B,
9919 const int __imm)
9920 {
9921 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
9922 (__v4sf) __B,
9923 __imm,
9924 (__v8sf)
9925 _mm256_setzero_ps (),
9926 (__mmask8) __U);
9927 }
9928
9929 extern __inline __m128i
9930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_extracti32x4_epi32(__m256i __A,const int __imm)9931 _mm256_extracti32x4_epi32 (__m256i __A, const int __imm)
9932 {
9933 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
9934 __imm,
9935 (__v4si)
9936 _mm_setzero_si128 (),
9937 (__mmask8) -1);
9938 }
9939
9940 extern __inline __m128i
9941 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_extracti32x4_epi32(__m128i __W,__mmask8 __U,__m256i __A,const int __imm)9942 _mm256_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m256i __A,
9943 const int __imm)
9944 {
9945 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
9946 __imm,
9947 (__v4si) __W,
9948 (__mmask8)
9949 __U);
9950 }
9951
9952 extern __inline __m128i
9953 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_extracti32x4_epi32(__mmask8 __U,__m256i __A,const int __imm)9954 _mm256_maskz_extracti32x4_epi32 (__mmask8 __U, __m256i __A,
9955 const int __imm)
9956 {
9957 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
9958 __imm,
9959 (__v4si)
9960 _mm_setzero_si128 (),
9961 (__mmask8)
9962 __U);
9963 }
9964
9965 extern __inline __m128
9966 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_extractf32x4_ps(__m256 __A,const int __imm)9967 _mm256_extractf32x4_ps (__m256 __A, const int __imm)
9968 {
9969 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
9970 __imm,
9971 (__v4sf)
9972 _mm_setzero_ps (),
9973 (__mmask8) -1);
9974 }
9975
9976 extern __inline __m128
9977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_extractf32x4_ps(__m128 __W,__mmask8 __U,__m256 __A,const int __imm)9978 _mm256_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m256 __A,
9979 const int __imm)
9980 {
9981 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
9982 __imm,
9983 (__v4sf) __W,
9984 (__mmask8)
9985 __U);
9986 }
9987
9988 extern __inline __m128
9989 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_extractf32x4_ps(__mmask8 __U,__m256 __A,const int __imm)9990 _mm256_maskz_extractf32x4_ps (__mmask8 __U, __m256 __A,
9991 const int __imm)
9992 {
9993 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
9994 __imm,
9995 (__v4sf)
9996 _mm_setzero_ps (),
9997 (__mmask8)
9998 __U);
9999 }
10000
10001 extern __inline __m256i
10002 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_i64x2(__m256i __A,__m256i __B,const int __imm)10003 _mm256_shuffle_i64x2 (__m256i __A, __m256i __B, const int __imm)
10004 {
10005 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10006 (__v4di) __B,
10007 __imm,
10008 (__v4di)
10009 _mm256_setzero_si256 (),
10010 (__mmask8) -1);
10011 }
10012
10013 extern __inline __m256i
10014 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_i64x2(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10015 _mm256_mask_shuffle_i64x2 (__m256i __W, __mmask8 __U, __m256i __A,
10016 __m256i __B, const int __imm)
10017 {
10018 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10019 (__v4di) __B,
10020 __imm,
10021 (__v4di) __W,
10022 (__mmask8) __U);
10023 }
10024
10025 extern __inline __m256i
10026 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_i64x2(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10027 _mm256_maskz_shuffle_i64x2 (__mmask8 __U, __m256i __A, __m256i __B,
10028 const int __imm)
10029 {
10030 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
10031 (__v4di) __B,
10032 __imm,
10033 (__v4di)
10034 _mm256_setzero_si256 (),
10035 (__mmask8) __U);
10036 }
10037
10038 extern __inline __m256i
10039 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_i32x4(__m256i __A,__m256i __B,const int __imm)10040 _mm256_shuffle_i32x4 (__m256i __A, __m256i __B, const int __imm)
10041 {
10042 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10043 (__v8si) __B,
10044 __imm,
10045 (__v8si)
10046 _mm256_setzero_si256 (),
10047 (__mmask8) -1);
10048 }
10049
10050 extern __inline __m256i
10051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_i32x4(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10052 _mm256_mask_shuffle_i32x4 (__m256i __W, __mmask8 __U, __m256i __A,
10053 __m256i __B, const int __imm)
10054 {
10055 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10056 (__v8si) __B,
10057 __imm,
10058 (__v8si) __W,
10059 (__mmask8) __U);
10060 }
10061
10062 extern __inline __m256i
10063 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_i32x4(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)10064 _mm256_maskz_shuffle_i32x4 (__mmask8 __U, __m256i __A, __m256i __B,
10065 const int __imm)
10066 {
10067 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
10068 (__v8si) __B,
10069 __imm,
10070 (__v8si)
10071 _mm256_setzero_si256 (),
10072 (__mmask8) __U);
10073 }
10074
10075 extern __inline __m256d
10076 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_f64x2(__m256d __A,__m256d __B,const int __imm)10077 _mm256_shuffle_f64x2 (__m256d __A, __m256d __B, const int __imm)
10078 {
10079 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10080 (__v4df) __B,
10081 __imm,
10082 (__v4df)
10083 _mm256_setzero_pd (),
10084 (__mmask8) -1);
10085 }
10086
10087 extern __inline __m256d
10088 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_f64x2(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B,const int __imm)10089 _mm256_mask_shuffle_f64x2 (__m256d __W, __mmask8 __U, __m256d __A,
10090 __m256d __B, const int __imm)
10091 {
10092 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10093 (__v4df) __B,
10094 __imm,
10095 (__v4df) __W,
10096 (__mmask8) __U);
10097 }
10098
10099 extern __inline __m256d
10100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_f64x2(__mmask8 __U,__m256d __A,__m256d __B,const int __imm)10101 _mm256_maskz_shuffle_f64x2 (__mmask8 __U, __m256d __A, __m256d __B,
10102 const int __imm)
10103 {
10104 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
10105 (__v4df) __B,
10106 __imm,
10107 (__v4df)
10108 _mm256_setzero_pd (),
10109 (__mmask8) __U);
10110 }
10111
10112 extern __inline __m256
10113 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_f32x4(__m256 __A,__m256 __B,const int __imm)10114 _mm256_shuffle_f32x4 (__m256 __A, __m256 __B, const int __imm)
10115 {
10116 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10117 (__v8sf) __B,
10118 __imm,
10119 (__v8sf)
10120 _mm256_setzero_ps (),
10121 (__mmask8) -1);
10122 }
10123
10124 extern __inline __m256
10125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_f32x4(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B,const int __imm)10126 _mm256_mask_shuffle_f32x4 (__m256 __W, __mmask8 __U, __m256 __A,
10127 __m256 __B, const int __imm)
10128 {
10129 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10130 (__v8sf) __B,
10131 __imm,
10132 (__v8sf) __W,
10133 (__mmask8) __U);
10134 }
10135
10136 extern __inline __m256
10137 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_f32x4(__mmask8 __U,__m256 __A,__m256 __B,const int __imm)10138 _mm256_maskz_shuffle_f32x4 (__mmask8 __U, __m256 __A, __m256 __B,
10139 const int __imm)
10140 {
10141 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
10142 (__v8sf) __B,
10143 __imm,
10144 (__v8sf)
10145 _mm256_setzero_ps (),
10146 (__mmask8) __U);
10147 }
10148
10149 extern __inline __m256d
10150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fixupimm_pd(__m256d __A,__m256d __B,__m256i __C,const int __imm)10151 _mm256_fixupimm_pd (__m256d __A, __m256d __B, __m256i __C,
10152 const int __imm)
10153 {
10154 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
10155 (__v4df) __B,
10156 (__v4di) __C,
10157 __imm,
10158 (__mmask8) -1);
10159 }
10160
10161 extern __inline __m256d
10162 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fixupimm_pd(__m256d __A,__mmask8 __U,__m256d __B,__m256i __C,const int __imm)10163 _mm256_mask_fixupimm_pd (__m256d __A, __mmask8 __U, __m256d __B,
10164 __m256i __C, const int __imm)
10165 {
10166 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
10167 (__v4df) __B,
10168 (__v4di) __C,
10169 __imm,
10170 (__mmask8) __U);
10171 }
10172
10173 extern __inline __m256d
10174 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fixupimm_pd(__mmask8 __U,__m256d __A,__m256d __B,__m256i __C,const int __imm)10175 _mm256_maskz_fixupimm_pd (__mmask8 __U, __m256d __A, __m256d __B,
10176 __m256i __C, const int __imm)
10177 {
10178 return (__m256d) __builtin_ia32_fixupimmpd256_maskz ((__v4df) __A,
10179 (__v4df) __B,
10180 (__v4di) __C,
10181 __imm,
10182 (__mmask8) __U);
10183 }
10184
10185 extern __inline __m256
10186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fixupimm_ps(__m256 __A,__m256 __B,__m256i __C,const int __imm)10187 _mm256_fixupimm_ps (__m256 __A, __m256 __B, __m256i __C,
10188 const int __imm)
10189 {
10190 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
10191 (__v8sf) __B,
10192 (__v8si) __C,
10193 __imm,
10194 (__mmask8) -1);
10195 }
10196
10197 extern __inline __m256
10198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fixupimm_ps(__m256 __A,__mmask8 __U,__m256 __B,__m256i __C,const int __imm)10199 _mm256_mask_fixupimm_ps (__m256 __A, __mmask8 __U, __m256 __B,
10200 __m256i __C, const int __imm)
10201 {
10202 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
10203 (__v8sf) __B,
10204 (__v8si) __C,
10205 __imm,
10206 (__mmask8) __U);
10207 }
10208
10209 extern __inline __m256
10210 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fixupimm_ps(__mmask8 __U,__m256 __A,__m256 __B,__m256i __C,const int __imm)10211 _mm256_maskz_fixupimm_ps (__mmask8 __U, __m256 __A, __m256 __B,
10212 __m256i __C, const int __imm)
10213 {
10214 return (__m256) __builtin_ia32_fixupimmps256_maskz ((__v8sf) __A,
10215 (__v8sf) __B,
10216 (__v8si) __C,
10217 __imm,
10218 (__mmask8) __U);
10219 }
10220
10221 extern __inline __m128d
10222 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fixupimm_pd(__m128d __A,__m128d __B,__m128i __C,const int __imm)10223 _mm_fixupimm_pd (__m128d __A, __m128d __B, __m128i __C,
10224 const int __imm)
10225 {
10226 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
10227 (__v2df) __B,
10228 (__v2di) __C,
10229 __imm,
10230 (__mmask8) -1);
10231 }
10232
10233 extern __inline __m128d
10234 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fixupimm_pd(__m128d __A,__mmask8 __U,__m128d __B,__m128i __C,const int __imm)10235 _mm_mask_fixupimm_pd (__m128d __A, __mmask8 __U, __m128d __B,
10236 __m128i __C, const int __imm)
10237 {
10238 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
10239 (__v2df) __B,
10240 (__v2di) __C,
10241 __imm,
10242 (__mmask8) __U);
10243 }
10244
10245 extern __inline __m128d
10246 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fixupimm_pd(__mmask8 __U,__m128d __A,__m128d __B,__m128i __C,const int __imm)10247 _mm_maskz_fixupimm_pd (__mmask8 __U, __m128d __A, __m128d __B,
10248 __m128i __C, const int __imm)
10249 {
10250 return (__m128d) __builtin_ia32_fixupimmpd128_maskz ((__v2df) __A,
10251 (__v2df) __B,
10252 (__v2di) __C,
10253 __imm,
10254 (__mmask8) __U);
10255 }
10256
10257 extern __inline __m128
10258 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_fixupimm_ps(__m128 __A,__m128 __B,__m128i __C,const int __imm)10259 _mm_fixupimm_ps (__m128 __A, __m128 __B, __m128i __C, const int __imm)
10260 {
10261 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
10262 (__v4sf) __B,
10263 (__v4si) __C,
10264 __imm,
10265 (__mmask8) -1);
10266 }
10267
10268 extern __inline __m128
10269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fixupimm_ps(__m128 __A,__mmask8 __U,__m128 __B,__m128i __C,const int __imm)10270 _mm_mask_fixupimm_ps (__m128 __A, __mmask8 __U, __m128 __B,
10271 __m128i __C, const int __imm)
10272 {
10273 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
10274 (__v4sf) __B,
10275 (__v4si) __C,
10276 __imm,
10277 (__mmask8) __U);
10278 }
10279
10280 extern __inline __m128
10281 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fixupimm_ps(__mmask8 __U,__m128 __A,__m128 __B,__m128i __C,const int __imm)10282 _mm_maskz_fixupimm_ps (__mmask8 __U, __m128 __A, __m128 __B,
10283 __m128i __C, const int __imm)
10284 {
10285 return (__m128) __builtin_ia32_fixupimmps128_maskz ((__v4sf) __A,
10286 (__v4sf) __B,
10287 (__v4si) __C,
10288 __imm,
10289 (__mmask8) __U);
10290 }
10291
10292 extern __inline __m256i
10293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srli_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)10294 _mm256_mask_srli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
10295 const int __imm)
10296 {
10297 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
10298 (__v8si) __W,
10299 (__mmask8) __U);
10300 }
10301
10302 extern __inline __m256i
10303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srli_epi32(__mmask8 __U,__m256i __A,const int __imm)10304 _mm256_maskz_srli_epi32 (__mmask8 __U, __m256i __A, const int __imm)
10305 {
10306 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
10307 (__v8si)
10308 _mm256_setzero_si256 (),
10309 (__mmask8) __U);
10310 }
10311
10312 extern __inline __m128i
10313 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srli_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)10314 _mm_mask_srli_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
10315 const int __imm)
10316 {
10317 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
10318 (__v4si) __W,
10319 (__mmask8) __U);
10320 }
10321
10322 extern __inline __m128i
10323 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srli_epi32(__mmask8 __U,__m128i __A,const int __imm)10324 _mm_maskz_srli_epi32 (__mmask8 __U, __m128i __A, const int __imm)
10325 {
10326 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
10327 (__v4si)
10328 _mm_setzero_si128 (),
10329 (__mmask8) __U);
10330 }
10331
10332 extern __inline __m256i
10333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srli_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)10334 _mm256_mask_srli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
10335 const int __imm)
10336 {
10337 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
10338 (__v4di) __W,
10339 (__mmask8) __U);
10340 }
10341
10342 extern __inline __m256i
10343 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srli_epi64(__mmask8 __U,__m256i __A,const int __imm)10344 _mm256_maskz_srli_epi64 (__mmask8 __U, __m256i __A, const int __imm)
10345 {
10346 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
10347 (__v4di)
10348 _mm256_setzero_si256 (),
10349 (__mmask8) __U);
10350 }
10351
10352 extern __inline __m128i
10353 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srli_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)10354 _mm_mask_srli_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
10355 const int __imm)
10356 {
10357 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
10358 (__v2di) __W,
10359 (__mmask8) __U);
10360 }
10361
10362 extern __inline __m128i
10363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srli_epi64(__mmask8 __U,__m128i __A,const int __imm)10364 _mm_maskz_srli_epi64 (__mmask8 __U, __m128i __A, const int __imm)
10365 {
10366 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
10367 (__v2di)
10368 _mm_setzero_si128 (),
10369 (__mmask8) __U);
10370 }
10371
10372 extern __inline __m256i
10373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ternarylogic_epi64(__m256i __A,__m256i __B,__m256i __C,const int __imm)10374 _mm256_ternarylogic_epi64 (__m256i __A, __m256i __B, __m256i __C,
10375 const int __imm)
10376 {
10377 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
10378 (__v4di) __B,
10379 (__v4di) __C, __imm,
10380 (__mmask8) -1);
10381 }
10382
10383 extern __inline __m256i
10384 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ternarylogic_epi64(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C,const int __imm)10385 _mm256_mask_ternarylogic_epi64 (__m256i __A, __mmask8 __U,
10386 __m256i __B, __m256i __C,
10387 const int __imm)
10388 {
10389 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
10390 (__v4di) __B,
10391 (__v4di) __C, __imm,
10392 (__mmask8) __U);
10393 }
10394
10395 extern __inline __m256i
10396 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ternarylogic_epi64(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C,const int __imm)10397 _mm256_maskz_ternarylogic_epi64 (__mmask8 __U, __m256i __A,
10398 __m256i __B, __m256i __C,
10399 const int __imm)
10400 {
10401 return (__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di) __A,
10402 (__v4di) __B,
10403 (__v4di) __C,
10404 __imm,
10405 (__mmask8) __U);
10406 }
10407
10408 extern __inline __m256i
10409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ternarylogic_epi32(__m256i __A,__m256i __B,__m256i __C,const int __imm)10410 _mm256_ternarylogic_epi32 (__m256i __A, __m256i __B, __m256i __C,
10411 const int __imm)
10412 {
10413 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
10414 (__v8si) __B,
10415 (__v8si) __C, __imm,
10416 (__mmask8) -1);
10417 }
10418
10419 extern __inline __m256i
10420 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ternarylogic_epi32(__m256i __A,__mmask8 __U,__m256i __B,__m256i __C,const int __imm)10421 _mm256_mask_ternarylogic_epi32 (__m256i __A, __mmask8 __U,
10422 __m256i __B, __m256i __C,
10423 const int __imm)
10424 {
10425 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
10426 (__v8si) __B,
10427 (__v8si) __C, __imm,
10428 (__mmask8) __U);
10429 }
10430
10431 extern __inline __m256i
10432 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ternarylogic_epi32(__mmask8 __U,__m256i __A,__m256i __B,__m256i __C,const int __imm)10433 _mm256_maskz_ternarylogic_epi32 (__mmask8 __U, __m256i __A,
10434 __m256i __B, __m256i __C,
10435 const int __imm)
10436 {
10437 return (__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si) __A,
10438 (__v8si) __B,
10439 (__v8si) __C,
10440 __imm,
10441 (__mmask8) __U);
10442 }
10443
10444 extern __inline __m128i
10445 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ternarylogic_epi64(__m128i __A,__m128i __B,__m128i __C,const int __imm)10446 _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
10447 const int __imm)
10448 {
10449 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
10450 (__v2di) __B,
10451 (__v2di) __C, __imm,
10452 (__mmask8) -1);
10453 }
10454
10455 extern __inline __m128i
10456 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ternarylogic_epi64(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C,const int __imm)10457 _mm_mask_ternarylogic_epi64 (__m128i __A, __mmask8 __U,
10458 __m128i __B, __m128i __C, const int __imm)
10459 {
10460 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
10461 (__v2di) __B,
10462 (__v2di) __C, __imm,
10463 (__mmask8) __U);
10464 }
10465
10466 extern __inline __m128i
10467 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ternarylogic_epi64(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C,const int __imm)10468 _mm_maskz_ternarylogic_epi64 (__mmask8 __U, __m128i __A,
10469 __m128i __B, __m128i __C, const int __imm)
10470 {
10471 return (__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di) __A,
10472 (__v2di) __B,
10473 (__v2di) __C,
10474 __imm,
10475 (__mmask8) __U);
10476 }
10477
10478 extern __inline __m128i
10479 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ternarylogic_epi32(__m128i __A,__m128i __B,__m128i __C,const int __imm)10480 _mm_ternarylogic_epi32 (__m128i __A, __m128i __B, __m128i __C,
10481 const int __imm)
10482 {
10483 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
10484 (__v4si) __B,
10485 (__v4si) __C, __imm,
10486 (__mmask8) -1);
10487 }
10488
10489 extern __inline __m128i
10490 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ternarylogic_epi32(__m128i __A,__mmask8 __U,__m128i __B,__m128i __C,const int __imm)10491 _mm_mask_ternarylogic_epi32 (__m128i __A, __mmask8 __U,
10492 __m128i __B, __m128i __C, const int __imm)
10493 {
10494 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
10495 (__v4si) __B,
10496 (__v4si) __C, __imm,
10497 (__mmask8) __U);
10498 }
10499
10500 extern __inline __m128i
10501 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ternarylogic_epi32(__mmask8 __U,__m128i __A,__m128i __B,__m128i __C,const int __imm)10502 _mm_maskz_ternarylogic_epi32 (__mmask8 __U, __m128i __A,
10503 __m128i __B, __m128i __C, const int __imm)
10504 {
10505 return (__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si) __A,
10506 (__v4si) __B,
10507 (__v4si) __C,
10508 __imm,
10509 (__mmask8) __U);
10510 }
10511
10512 extern __inline __m256
10513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_roundscale_ps(__m256 __A,const int __imm)10514 _mm256_roundscale_ps (__m256 __A, const int __imm)
10515 {
10516 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10517 __imm,
10518 (__v8sf)
10519 _mm256_setzero_ps (),
10520 (__mmask8) -1);
10521 }
10522
10523 extern __inline __m256
10524 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_roundscale_ps(__m256 __W,__mmask8 __U,__m256 __A,const int __imm)10525 _mm256_mask_roundscale_ps (__m256 __W, __mmask8 __U, __m256 __A,
10526 const int __imm)
10527 {
10528 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10529 __imm,
10530 (__v8sf) __W,
10531 (__mmask8) __U);
10532 }
10533
10534 extern __inline __m256
10535 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_roundscale_ps(__mmask8 __U,__m256 __A,const int __imm)10536 _mm256_maskz_roundscale_ps (__mmask8 __U, __m256 __A, const int __imm)
10537 {
10538 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
10539 __imm,
10540 (__v8sf)
10541 _mm256_setzero_ps (),
10542 (__mmask8) __U);
10543 }
10544
10545 extern __inline __m256d
10546 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_roundscale_pd(__m256d __A,const int __imm)10547 _mm256_roundscale_pd (__m256d __A, const int __imm)
10548 {
10549 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10550 __imm,
10551 (__v4df)
10552 _mm256_setzero_pd (),
10553 (__mmask8) -1);
10554 }
10555
10556 extern __inline __m256d
10557 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_roundscale_pd(__m256d __W,__mmask8 __U,__m256d __A,const int __imm)10558 _mm256_mask_roundscale_pd (__m256d __W, __mmask8 __U, __m256d __A,
10559 const int __imm)
10560 {
10561 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10562 __imm,
10563 (__v4df) __W,
10564 (__mmask8) __U);
10565 }
10566
10567 extern __inline __m256d
10568 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_roundscale_pd(__mmask8 __U,__m256d __A,const int __imm)10569 _mm256_maskz_roundscale_pd (__mmask8 __U, __m256d __A, const int __imm)
10570 {
10571 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
10572 __imm,
10573 (__v4df)
10574 _mm256_setzero_pd (),
10575 (__mmask8) __U);
10576 }
10577
10578 extern __inline __m128
10579 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_roundscale_ps(__m128 __A,const int __imm)10580 _mm_roundscale_ps (__m128 __A, const int __imm)
10581 {
10582 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10583 __imm,
10584 (__v4sf)
10585 _mm_setzero_ps (),
10586 (__mmask8) -1);
10587 }
10588
10589 extern __inline __m128
10590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_roundscale_ps(__m128 __W,__mmask8 __U,__m128 __A,const int __imm)10591 _mm_mask_roundscale_ps (__m128 __W, __mmask8 __U, __m128 __A,
10592 const int __imm)
10593 {
10594 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10595 __imm,
10596 (__v4sf) __W,
10597 (__mmask8) __U);
10598 }
10599
10600 extern __inline __m128
10601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_roundscale_ps(__mmask8 __U,__m128 __A,const int __imm)10602 _mm_maskz_roundscale_ps (__mmask8 __U, __m128 __A, const int __imm)
10603 {
10604 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
10605 __imm,
10606 (__v4sf)
10607 _mm_setzero_ps (),
10608 (__mmask8) __U);
10609 }
10610
10611 extern __inline __m128d
10612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_roundscale_pd(__m128d __A,const int __imm)10613 _mm_roundscale_pd (__m128d __A, const int __imm)
10614 {
10615 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10616 __imm,
10617 (__v2df)
10618 _mm_setzero_pd (),
10619 (__mmask8) -1);
10620 }
10621
10622 extern __inline __m128d
10623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_roundscale_pd(__m128d __W,__mmask8 __U,__m128d __A,const int __imm)10624 _mm_mask_roundscale_pd (__m128d __W, __mmask8 __U, __m128d __A,
10625 const int __imm)
10626 {
10627 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10628 __imm,
10629 (__v2df) __W,
10630 (__mmask8) __U);
10631 }
10632
10633 extern __inline __m128d
10634 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_roundscale_pd(__mmask8 __U,__m128d __A,const int __imm)10635 _mm_maskz_roundscale_pd (__mmask8 __U, __m128d __A, const int __imm)
10636 {
10637 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
10638 __imm,
10639 (__v2df)
10640 _mm_setzero_pd (),
10641 (__mmask8) __U);
10642 }
10643
10644 extern __inline __m256
10645 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getmant_ps(__m256 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10646 _mm256_getmant_ps (__m256 __A, _MM_MANTISSA_NORM_ENUM __B,
10647 _MM_MANTISSA_SIGN_ENUM __C)
10648 {
10649 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10650 (__C << 2) | __B,
10651 (__v8sf)
10652 _mm256_setzero_ps (),
10653 (__mmask8) -1);
10654 }
10655
10656 extern __inline __m256
10657 __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)10658 _mm256_mask_getmant_ps (__m256 __W, __mmask8 __U, __m256 __A,
10659 _MM_MANTISSA_NORM_ENUM __B,
10660 _MM_MANTISSA_SIGN_ENUM __C)
10661 {
10662 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10663 (__C << 2) | __B,
10664 (__v8sf) __W,
10665 (__mmask8) __U);
10666 }
10667
10668 extern __inline __m256
10669 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getmant_ps(__mmask8 __U,__m256 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10670 _mm256_maskz_getmant_ps (__mmask8 __U, __m256 __A,
10671 _MM_MANTISSA_NORM_ENUM __B,
10672 _MM_MANTISSA_SIGN_ENUM __C)
10673 {
10674 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
10675 (__C << 2) | __B,
10676 (__v8sf)
10677 _mm256_setzero_ps (),
10678 (__mmask8) __U);
10679 }
10680
10681 extern __inline __m128
10682 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getmant_ps(__m128 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10683 _mm_getmant_ps (__m128 __A, _MM_MANTISSA_NORM_ENUM __B,
10684 _MM_MANTISSA_SIGN_ENUM __C)
10685 {
10686 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10687 (__C << 2) | __B,
10688 (__v4sf)
10689 _mm_setzero_ps (),
10690 (__mmask8) -1);
10691 }
10692
10693 extern __inline __m128
10694 __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)10695 _mm_mask_getmant_ps (__m128 __W, __mmask8 __U, __m128 __A,
10696 _MM_MANTISSA_NORM_ENUM __B,
10697 _MM_MANTISSA_SIGN_ENUM __C)
10698 {
10699 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10700 (__C << 2) | __B,
10701 (__v4sf) __W,
10702 (__mmask8) __U);
10703 }
10704
10705 extern __inline __m128
10706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getmant_ps(__mmask8 __U,__m128 __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10707 _mm_maskz_getmant_ps (__mmask8 __U, __m128 __A,
10708 _MM_MANTISSA_NORM_ENUM __B,
10709 _MM_MANTISSA_SIGN_ENUM __C)
10710 {
10711 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
10712 (__C << 2) | __B,
10713 (__v4sf)
10714 _mm_setzero_ps (),
10715 (__mmask8) __U);
10716 }
10717
10718 extern __inline __m256d
10719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getmant_pd(__m256d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10720 _mm256_getmant_pd (__m256d __A, _MM_MANTISSA_NORM_ENUM __B,
10721 _MM_MANTISSA_SIGN_ENUM __C)
10722 {
10723 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10724 (__C << 2) | __B,
10725 (__v4df)
10726 _mm256_setzero_pd (),
10727 (__mmask8) -1);
10728 }
10729
10730 extern __inline __m256d
10731 __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)10732 _mm256_mask_getmant_pd (__m256d __W, __mmask8 __U, __m256d __A,
10733 _MM_MANTISSA_NORM_ENUM __B,
10734 _MM_MANTISSA_SIGN_ENUM __C)
10735 {
10736 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10737 (__C << 2) | __B,
10738 (__v4df) __W,
10739 (__mmask8) __U);
10740 }
10741
10742 extern __inline __m256d
10743 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getmant_pd(__mmask8 __U,__m256d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10744 _mm256_maskz_getmant_pd (__mmask8 __U, __m256d __A,
10745 _MM_MANTISSA_NORM_ENUM __B,
10746 _MM_MANTISSA_SIGN_ENUM __C)
10747 {
10748 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
10749 (__C << 2) | __B,
10750 (__v4df)
10751 _mm256_setzero_pd (),
10752 (__mmask8) __U);
10753 }
10754
10755 extern __inline __m128d
10756 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getmant_pd(__m128d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10757 _mm_getmant_pd (__m128d __A, _MM_MANTISSA_NORM_ENUM __B,
10758 _MM_MANTISSA_SIGN_ENUM __C)
10759 {
10760 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10761 (__C << 2) | __B,
10762 (__v2df)
10763 _mm_setzero_pd (),
10764 (__mmask8) -1);
10765 }
10766
10767 extern __inline __m128d
10768 __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)10769 _mm_mask_getmant_pd (__m128d __W, __mmask8 __U, __m128d __A,
10770 _MM_MANTISSA_NORM_ENUM __B,
10771 _MM_MANTISSA_SIGN_ENUM __C)
10772 {
10773 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10774 (__C << 2) | __B,
10775 (__v2df) __W,
10776 (__mmask8) __U);
10777 }
10778
10779 extern __inline __m128d
10780 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getmant_pd(__mmask8 __U,__m128d __A,_MM_MANTISSA_NORM_ENUM __B,_MM_MANTISSA_SIGN_ENUM __C)10781 _mm_maskz_getmant_pd (__mmask8 __U, __m128d __A,
10782 _MM_MANTISSA_NORM_ENUM __B,
10783 _MM_MANTISSA_SIGN_ENUM __C)
10784 {
10785 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
10786 (__C << 2) | __B,
10787 (__v2df)
10788 _mm_setzero_pd (),
10789 (__mmask8) __U);
10790 }
10791
10792 extern __inline __m256
10793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_ps(__m256 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10794 _mm256_mmask_i32gather_ps (__m256 __v1_old, __mmask8 __mask,
10795 __m256i __index, void const *__addr,
10796 int __scale)
10797 {
10798 return (__m256) __builtin_ia32_gather3siv8sf ((__v8sf) __v1_old,
10799 __addr,
10800 (__v8si) __index,
10801 __mask, __scale);
10802 }
10803
10804 extern __inline __m128
10805 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10806 _mm_mmask_i32gather_ps (__m128 __v1_old, __mmask8 __mask,
10807 __m128i __index, void const *__addr,
10808 int __scale)
10809 {
10810 return (__m128) __builtin_ia32_gather3siv4sf ((__v4sf) __v1_old,
10811 __addr,
10812 (__v4si) __index,
10813 __mask, __scale);
10814 }
10815
10816 extern __inline __m256d
10817 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_pd(__m256d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10818 _mm256_mmask_i32gather_pd (__m256d __v1_old, __mmask8 __mask,
10819 __m128i __index, void const *__addr,
10820 int __scale)
10821 {
10822 return (__m256d) __builtin_ia32_gather3siv4df ((__v4df) __v1_old,
10823 __addr,
10824 (__v4si) __index,
10825 __mask, __scale);
10826 }
10827
10828 extern __inline __m128d
10829 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10830 _mm_mmask_i32gather_pd (__m128d __v1_old, __mmask8 __mask,
10831 __m128i __index, void const *__addr,
10832 int __scale)
10833 {
10834 return (__m128d) __builtin_ia32_gather3siv2df ((__v2df) __v1_old,
10835 __addr,
10836 (__v4si) __index,
10837 __mask, __scale);
10838 }
10839
10840 extern __inline __m128
10841 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10842 _mm256_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
10843 __m256i __index, void const *__addr,
10844 int __scale)
10845 {
10846 return (__m128) __builtin_ia32_gather3div8sf ((__v4sf) __v1_old,
10847 __addr,
10848 (__v4di) __index,
10849 __mask, __scale);
10850 }
10851
10852 extern __inline __m128
10853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_ps(__m128 __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10854 _mm_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
10855 __m128i __index, void const *__addr,
10856 int __scale)
10857 {
10858 return (__m128) __builtin_ia32_gather3div4sf ((__v4sf) __v1_old,
10859 __addr,
10860 (__v2di) __index,
10861 __mask, __scale);
10862 }
10863
10864 extern __inline __m256d
10865 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_pd(__m256d __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10866 _mm256_mmask_i64gather_pd (__m256d __v1_old, __mmask8 __mask,
10867 __m256i __index, void const *__addr,
10868 int __scale)
10869 {
10870 return (__m256d) __builtin_ia32_gather3div4df ((__v4df) __v1_old,
10871 __addr,
10872 (__v4di) __index,
10873 __mask, __scale);
10874 }
10875
10876 extern __inline __m128d
10877 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_pd(__m128d __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10878 _mm_mmask_i64gather_pd (__m128d __v1_old, __mmask8 __mask,
10879 __m128i __index, void const *__addr,
10880 int __scale)
10881 {
10882 return (__m128d) __builtin_ia32_gather3div2df ((__v2df) __v1_old,
10883 __addr,
10884 (__v2di) __index,
10885 __mask, __scale);
10886 }
10887
10888 extern __inline __m256i
10889 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_epi32(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10890 _mm256_mmask_i32gather_epi32 (__m256i __v1_old, __mmask8 __mask,
10891 __m256i __index, void const *__addr,
10892 int __scale)
10893 {
10894 return (__m256i) __builtin_ia32_gather3siv8si ((__v8si) __v1_old,
10895 __addr,
10896 (__v8si) __index,
10897 __mask, __scale);
10898 }
10899
10900 extern __inline __m128i
10901 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10902 _mm_mmask_i32gather_epi32 (__m128i __v1_old, __mmask8 __mask,
10903 __m128i __index, void const *__addr,
10904 int __scale)
10905 {
10906 return (__m128i) __builtin_ia32_gather3siv4si ((__v4si) __v1_old,
10907 __addr,
10908 (__v4si) __index,
10909 __mask, __scale);
10910 }
10911
10912 extern __inline __m256i
10913 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i32gather_epi64(__m256i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10914 _mm256_mmask_i32gather_epi64 (__m256i __v1_old, __mmask8 __mask,
10915 __m128i __index, void const *__addr,
10916 int __scale)
10917 {
10918 return (__m256i) __builtin_ia32_gather3siv4di ((__v4di) __v1_old,
10919 __addr,
10920 (__v4si) __index,
10921 __mask, __scale);
10922 }
10923
10924 extern __inline __m128i
10925 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i32gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10926 _mm_mmask_i32gather_epi64 (__m128i __v1_old, __mmask8 __mask,
10927 __m128i __index, void const *__addr,
10928 int __scale)
10929 {
10930 return (__m128i) __builtin_ia32_gather3siv2di ((__v2di) __v1_old,
10931 __addr,
10932 (__v4si) __index,
10933 __mask, __scale);
10934 }
10935
10936 extern __inline __m128i
10937 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10938 _mm256_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
10939 __m256i __index, void const *__addr,
10940 int __scale)
10941 {
10942 return (__m128i) __builtin_ia32_gather3div8si ((__v4si) __v1_old,
10943 __addr,
10944 (__v4di) __index,
10945 __mask, __scale);
10946 }
10947
10948 extern __inline __m128i
10949 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_epi32(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10950 _mm_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
10951 __m128i __index, void const *__addr,
10952 int __scale)
10953 {
10954 return (__m128i) __builtin_ia32_gather3div4si ((__v4si) __v1_old,
10955 __addr,
10956 (__v2di) __index,
10957 __mask, __scale);
10958 }
10959
10960 extern __inline __m256i
10961 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mmask_i64gather_epi64(__m256i __v1_old,__mmask8 __mask,__m256i __index,void const * __addr,int __scale)10962 _mm256_mmask_i64gather_epi64 (__m256i __v1_old, __mmask8 __mask,
10963 __m256i __index, void const *__addr,
10964 int __scale)
10965 {
10966 return (__m256i) __builtin_ia32_gather3div4di ((__v4di) __v1_old,
10967 __addr,
10968 (__v4di) __index,
10969 __mask, __scale);
10970 }
10971
10972 extern __inline __m128i
10973 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mmask_i64gather_epi64(__m128i __v1_old,__mmask8 __mask,__m128i __index,void const * __addr,int __scale)10974 _mm_mmask_i64gather_epi64 (__m128i __v1_old, __mmask8 __mask,
10975 __m128i __index, void const *__addr,
10976 int __scale)
10977 {
10978 return (__m128i) __builtin_ia32_gather3div2di ((__v2di) __v1_old,
10979 __addr,
10980 (__v2di) __index,
10981 __mask, __scale);
10982 }
10983
10984 extern __inline void
10985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_ps(void * __addr,__m256i __index,__m256 __v1,const int __scale)10986 _mm256_i32scatter_ps (void *__addr, __m256i __index,
10987 __m256 __v1, const int __scale)
10988 {
10989 __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF,
10990 (__v8si) __index, (__v8sf) __v1,
10991 __scale);
10992 }
10993
10994 extern __inline void
10995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_ps(void * __addr,__mmask8 __mask,__m256i __index,__m256 __v1,const int __scale)10996 _mm256_mask_i32scatter_ps (void *__addr, __mmask8 __mask,
10997 __m256i __index, __m256 __v1,
10998 const int __scale)
10999 {
11000 __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index,
11001 (__v8sf) __v1, __scale);
11002 }
11003
11004 extern __inline void
11005 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_ps(void * __addr,__m128i __index,__m128 __v1,const int __scale)11006 _mm_i32scatter_ps (void *__addr, __m128i __index, __m128 __v1,
11007 const int __scale)
11008 {
11009 __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF,
11010 (__v4si) __index, (__v4sf) __v1,
11011 __scale);
11012 }
11013
11014 extern __inline void
11015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_ps(void * __addr,__mmask8 __mask,__m128i __index,__m128 __v1,const int __scale)11016 _mm_mask_i32scatter_ps (void *__addr, __mmask8 __mask,
11017 __m128i __index, __m128 __v1,
11018 const int __scale)
11019 {
11020 __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index,
11021 (__v4sf) __v1, __scale);
11022 }
11023
11024 extern __inline void
11025 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_pd(void * __addr,__m128i __index,__m256d __v1,const int __scale)11026 _mm256_i32scatter_pd (void *__addr, __m128i __index,
11027 __m256d __v1, const int __scale)
11028 {
11029 __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF,
11030 (__v4si) __index, (__v4df) __v1,
11031 __scale);
11032 }
11033
11034 extern __inline void
11035 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m256d __v1,const int __scale)11036 _mm256_mask_i32scatter_pd (void *__addr, __mmask8 __mask,
11037 __m128i __index, __m256d __v1,
11038 const int __scale)
11039 {
11040 __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index,
11041 (__v4df) __v1, __scale);
11042 }
11043
11044 extern __inline void
11045 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_pd(void * __addr,__m128i __index,__m128d __v1,const int __scale)11046 _mm_i32scatter_pd (void *__addr, __m128i __index,
11047 __m128d __v1, const int __scale)
11048 {
11049 __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF,
11050 (__v4si) __index, (__v2df) __v1,
11051 __scale);
11052 }
11053
11054 extern __inline void
11055 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m128d __v1,const int __scale)11056 _mm_mask_i32scatter_pd (void *__addr, __mmask8 __mask,
11057 __m128i __index, __m128d __v1,
11058 const int __scale)
11059 {
11060 __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index,
11061 (__v2df) __v1, __scale);
11062 }
11063
11064 extern __inline void
11065 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_ps(void * __addr,__m256i __index,__m128 __v1,const int __scale)11066 _mm256_i64scatter_ps (void *__addr, __m256i __index,
11067 __m128 __v1, const int __scale)
11068 {
11069 __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF,
11070 (__v4di) __index, (__v4sf) __v1,
11071 __scale);
11072 }
11073
11074 extern __inline void
11075 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_ps(void * __addr,__mmask8 __mask,__m256i __index,__m128 __v1,const int __scale)11076 _mm256_mask_i64scatter_ps (void *__addr, __mmask8 __mask,
11077 __m256i __index, __m128 __v1,
11078 const int __scale)
11079 {
11080 __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index,
11081 (__v4sf) __v1, __scale);
11082 }
11083
11084 extern __inline void
11085 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_ps(void * __addr,__m128i __index,__m128 __v1,const int __scale)11086 _mm_i64scatter_ps (void *__addr, __m128i __index, __m128 __v1,
11087 const int __scale)
11088 {
11089 __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF,
11090 (__v2di) __index, (__v4sf) __v1,
11091 __scale);
11092 }
11093
11094 extern __inline void
11095 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_ps(void * __addr,__mmask8 __mask,__m128i __index,__m128 __v1,const int __scale)11096 _mm_mask_i64scatter_ps (void *__addr, __mmask8 __mask,
11097 __m128i __index, __m128 __v1,
11098 const int __scale)
11099 {
11100 __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index,
11101 (__v4sf) __v1, __scale);
11102 }
11103
11104 extern __inline void
11105 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_pd(void * __addr,__m256i __index,__m256d __v1,const int __scale)11106 _mm256_i64scatter_pd (void *__addr, __m256i __index,
11107 __m256d __v1, const int __scale)
11108 {
11109 __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF,
11110 (__v4di) __index, (__v4df) __v1,
11111 __scale);
11112 }
11113
11114 extern __inline void
11115 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_pd(void * __addr,__mmask8 __mask,__m256i __index,__m256d __v1,const int __scale)11116 _mm256_mask_i64scatter_pd (void *__addr, __mmask8 __mask,
11117 __m256i __index, __m256d __v1,
11118 const int __scale)
11119 {
11120 __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index,
11121 (__v4df) __v1, __scale);
11122 }
11123
11124 extern __inline void
11125 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_pd(void * __addr,__m128i __index,__m128d __v1,const int __scale)11126 _mm_i64scatter_pd (void *__addr, __m128i __index,
11127 __m128d __v1, const int __scale)
11128 {
11129 __builtin_ia32_scatterdiv2df (__addr, (__mmask8) 0xFF,
11130 (__v2di) __index, (__v2df) __v1,
11131 __scale);
11132 }
11133
11134 extern __inline void
11135 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_pd(void * __addr,__mmask8 __mask,__m128i __index,__m128d __v1,const int __scale)11136 _mm_mask_i64scatter_pd (void *__addr, __mmask8 __mask,
11137 __m128i __index, __m128d __v1,
11138 const int __scale)
11139 {
11140 __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index,
11141 (__v2df) __v1, __scale);
11142 }
11143
11144 extern __inline void
11145 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_epi32(void * __addr,__m256i __index,__m256i __v1,const int __scale)11146 _mm256_i32scatter_epi32 (void *__addr, __m256i __index,
11147 __m256i __v1, const int __scale)
11148 {
11149 __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF,
11150 (__v8si) __index, (__v8si) __v1,
11151 __scale);
11152 }
11153
11154 extern __inline void
11155 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_epi32(void * __addr,__mmask8 __mask,__m256i __index,__m256i __v1,const int __scale)11156 _mm256_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask,
11157 __m256i __index, __m256i __v1,
11158 const int __scale)
11159 {
11160 __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index,
11161 (__v8si) __v1, __scale);
11162 }
11163
11164 extern __inline void
11165 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_epi32(void * __addr,__m128i __index,__m128i __v1,const int __scale)11166 _mm_i32scatter_epi32 (void *__addr, __m128i __index,
11167 __m128i __v1, const int __scale)
11168 {
11169 __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF,
11170 (__v4si) __index, (__v4si) __v1,
11171 __scale);
11172 }
11173
11174 extern __inline void
11175 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_epi32(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11176 _mm_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask,
11177 __m128i __index, __m128i __v1,
11178 const int __scale)
11179 {
11180 __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index,
11181 (__v4si) __v1, __scale);
11182 }
11183
11184 extern __inline void
11185 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i32scatter_epi64(void * __addr,__m128i __index,__m256i __v1,const int __scale)11186 _mm256_i32scatter_epi64 (void *__addr, __m128i __index,
11187 __m256i __v1, const int __scale)
11188 {
11189 __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF,
11190 (__v4si) __index, (__v4di) __v1,
11191 __scale);
11192 }
11193
11194 extern __inline void
11195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i32scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m256i __v1,const int __scale)11196 _mm256_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask,
11197 __m128i __index, __m256i __v1,
11198 const int __scale)
11199 {
11200 __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index,
11201 (__v4di) __v1, __scale);
11202 }
11203
11204 extern __inline void
11205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i32scatter_epi64(void * __addr,__m128i __index,__m128i __v1,const int __scale)11206 _mm_i32scatter_epi64 (void *__addr, __m128i __index,
11207 __m128i __v1, const int __scale)
11208 {
11209 __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF,
11210 (__v4si) __index, (__v2di) __v1,
11211 __scale);
11212 }
11213
11214 extern __inline void
11215 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i32scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11216 _mm_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask,
11217 __m128i __index, __m128i __v1,
11218 const int __scale)
11219 {
11220 __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index,
11221 (__v2di) __v1, __scale);
11222 }
11223
11224 extern __inline void
11225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_epi32(void * __addr,__m256i __index,__m128i __v1,const int __scale)11226 _mm256_i64scatter_epi32 (void *__addr, __m256i __index,
11227 __m128i __v1, const int __scale)
11228 {
11229 __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF,
11230 (__v4di) __index, (__v4si) __v1,
11231 __scale);
11232 }
11233
11234 extern __inline void
11235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_epi32(void * __addr,__mmask8 __mask,__m256i __index,__m128i __v1,const int __scale)11236 _mm256_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask,
11237 __m256i __index, __m128i __v1,
11238 const int __scale)
11239 {
11240 __builtin_ia32_scatterdiv8si (__addr, __mask, (__v4di) __index,
11241 (__v4si) __v1, __scale);
11242 }
11243
11244 extern __inline void
11245 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_epi32(void * __addr,__m128i __index,__m128i __v1,const int __scale)11246 _mm_i64scatter_epi32 (void *__addr, __m128i __index,
11247 __m128i __v1, const int __scale)
11248 {
11249 __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF,
11250 (__v2di) __index, (__v4si) __v1,
11251 __scale);
11252 }
11253
11254 extern __inline void
11255 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_epi32(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11256 _mm_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask,
11257 __m128i __index, __m128i __v1,
11258 const int __scale)
11259 {
11260 __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index,
11261 (__v4si) __v1, __scale);
11262 }
11263
11264 extern __inline void
11265 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_i64scatter_epi64(void * __addr,__m256i __index,__m256i __v1,const int __scale)11266 _mm256_i64scatter_epi64 (void *__addr, __m256i __index,
11267 __m256i __v1, const int __scale)
11268 {
11269 __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF,
11270 (__v4di) __index, (__v4di) __v1,
11271 __scale);
11272 }
11273
11274 extern __inline void
11275 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_i64scatter_epi64(void * __addr,__mmask8 __mask,__m256i __index,__m256i __v1,const int __scale)11276 _mm256_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask,
11277 __m256i __index, __m256i __v1,
11278 const int __scale)
11279 {
11280 __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index,
11281 (__v4di) __v1, __scale);
11282 }
11283
11284 extern __inline void
11285 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_i64scatter_epi64(void * __addr,__m128i __index,__m128i __v1,const int __scale)11286 _mm_i64scatter_epi64 (void *__addr, __m128i __index,
11287 __m128i __v1, const int __scale)
11288 {
11289 __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF,
11290 (__v2di) __index, (__v2di) __v1,
11291 __scale);
11292 }
11293
11294 extern __inline void
11295 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_i64scatter_epi64(void * __addr,__mmask8 __mask,__m128i __index,__m128i __v1,const int __scale)11296 _mm_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask,
11297 __m128i __index, __m128i __v1,
11298 const int __scale)
11299 {
11300 __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index,
11301 (__v2di) __v1, __scale);
11302 }
11303
11304 extern __inline __m256i
11305 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_epi32(__m256i __W,__mmask8 __U,__m256i __A,_MM_PERM_ENUM __mask)11306 _mm256_mask_shuffle_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11307 _MM_PERM_ENUM __mask)
11308 {
11309 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
11310 (__v8si) __W,
11311 (__mmask8) __U);
11312 }
11313
11314 extern __inline __m256i
11315 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_epi32(__mmask8 __U,__m256i __A,_MM_PERM_ENUM __mask)11316 _mm256_maskz_shuffle_epi32 (__mmask8 __U, __m256i __A,
11317 _MM_PERM_ENUM __mask)
11318 {
11319 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
11320 (__v8si)
11321 _mm256_setzero_si256 (),
11322 (__mmask8) __U);
11323 }
11324
11325 extern __inline __m128i
11326 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_epi32(__m128i __W,__mmask8 __U,__m128i __A,_MM_PERM_ENUM __mask)11327 _mm_mask_shuffle_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11328 _MM_PERM_ENUM __mask)
11329 {
11330 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
11331 (__v4si) __W,
11332 (__mmask8) __U);
11333 }
11334
11335 extern __inline __m128i
11336 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_epi32(__mmask8 __U,__m128i __A,_MM_PERM_ENUM __mask)11337 _mm_maskz_shuffle_epi32 (__mmask8 __U, __m128i __A,
11338 _MM_PERM_ENUM __mask)
11339 {
11340 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
11341 (__v4si)
11342 _mm_setzero_si128 (),
11343 (__mmask8) __U);
11344 }
11345
11346 extern __inline __m256i
11347 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rol_epi32(__m256i __A,const int __B)11348 _mm256_rol_epi32 (__m256i __A, const int __B)
11349 {
11350 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11351 (__v8si)
11352 _mm256_setzero_si256 (),
11353 (__mmask8) -1);
11354 }
11355
11356 extern __inline __m256i
11357 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rol_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11358 _mm256_mask_rol_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11359 const int __B)
11360 {
11361 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11362 (__v8si) __W,
11363 (__mmask8) __U);
11364 }
11365
11366 extern __inline __m256i
11367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rol_epi32(__mmask8 __U,__m256i __A,const int __B)11368 _mm256_maskz_rol_epi32 (__mmask8 __U, __m256i __A, const int __B)
11369 {
11370 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
11371 (__v8si)
11372 _mm256_setzero_si256 (),
11373 (__mmask8) __U);
11374 }
11375
11376 extern __inline __m128i
11377 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rol_epi32(__m128i __A,const int __B)11378 _mm_rol_epi32 (__m128i __A, const int __B)
11379 {
11380 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11381 (__v4si)
11382 _mm_setzero_si128 (),
11383 (__mmask8) -1);
11384 }
11385
11386 extern __inline __m128i
11387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rol_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11388 _mm_mask_rol_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11389 const int __B)
11390 {
11391 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11392 (__v4si) __W,
11393 (__mmask8) __U);
11394 }
11395
11396 extern __inline __m128i
11397 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rol_epi32(__mmask8 __U,__m128i __A,const int __B)11398 _mm_maskz_rol_epi32 (__mmask8 __U, __m128i __A, const int __B)
11399 {
11400 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
11401 (__v4si)
11402 _mm_setzero_si128 (),
11403 (__mmask8) __U);
11404 }
11405
11406 extern __inline __m256i
11407 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ror_epi32(__m256i __A,const int __B)11408 _mm256_ror_epi32 (__m256i __A, const int __B)
11409 {
11410 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11411 (__v8si)
11412 _mm256_setzero_si256 (),
11413 (__mmask8) -1);
11414 }
11415
11416 extern __inline __m256i
11417 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ror_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11418 _mm256_mask_ror_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11419 const int __B)
11420 {
11421 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11422 (__v8si) __W,
11423 (__mmask8) __U);
11424 }
11425
11426 extern __inline __m256i
11427 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ror_epi32(__mmask8 __U,__m256i __A,const int __B)11428 _mm256_maskz_ror_epi32 (__mmask8 __U, __m256i __A, const int __B)
11429 {
11430 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
11431 (__v8si)
11432 _mm256_setzero_si256 (),
11433 (__mmask8) __U);
11434 }
11435
11436 extern __inline __m128i
11437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ror_epi32(__m128i __A,const int __B)11438 _mm_ror_epi32 (__m128i __A, const int __B)
11439 {
11440 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11441 (__v4si)
11442 _mm_setzero_si128 (),
11443 (__mmask8) -1);
11444 }
11445
11446 extern __inline __m128i
11447 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ror_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11448 _mm_mask_ror_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11449 const int __B)
11450 {
11451 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11452 (__v4si) __W,
11453 (__mmask8) __U);
11454 }
11455
11456 extern __inline __m128i
11457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ror_epi32(__mmask8 __U,__m128i __A,const int __B)11458 _mm_maskz_ror_epi32 (__mmask8 __U, __m128i __A, const int __B)
11459 {
11460 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
11461 (__v4si)
11462 _mm_setzero_si128 (),
11463 (__mmask8) __U);
11464 }
11465
11466 extern __inline __m256i
11467 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rol_epi64(__m256i __A,const int __B)11468 _mm256_rol_epi64 (__m256i __A, const int __B)
11469 {
11470 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11471 (__v4di)
11472 _mm256_setzero_si256 (),
11473 (__mmask8) -1);
11474 }
11475
11476 extern __inline __m256i
11477 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rol_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11478 _mm256_mask_rol_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11479 const int __B)
11480 {
11481 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11482 (__v4di) __W,
11483 (__mmask8) __U);
11484 }
11485
11486 extern __inline __m256i
11487 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rol_epi64(__mmask8 __U,__m256i __A,const int __B)11488 _mm256_maskz_rol_epi64 (__mmask8 __U, __m256i __A, const int __B)
11489 {
11490 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
11491 (__v4di)
11492 _mm256_setzero_si256 (),
11493 (__mmask8) __U);
11494 }
11495
11496 extern __inline __m128i
11497 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rol_epi64(__m128i __A,const int __B)11498 _mm_rol_epi64 (__m128i __A, const int __B)
11499 {
11500 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11501 (__v2di)
11502 _mm_setzero_di (),
11503 (__mmask8) -1);
11504 }
11505
11506 extern __inline __m128i
11507 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rol_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11508 _mm_mask_rol_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11509 const int __B)
11510 {
11511 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11512 (__v2di) __W,
11513 (__mmask8) __U);
11514 }
11515
11516 extern __inline __m128i
11517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rol_epi64(__mmask8 __U,__m128i __A,const int __B)11518 _mm_maskz_rol_epi64 (__mmask8 __U, __m128i __A, const int __B)
11519 {
11520 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
11521 (__v2di)
11522 _mm_setzero_di (),
11523 (__mmask8) __U);
11524 }
11525
11526 extern __inline __m256i
11527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_ror_epi64(__m256i __A,const int __B)11528 _mm256_ror_epi64 (__m256i __A, const int __B)
11529 {
11530 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11531 (__v4di)
11532 _mm256_setzero_si256 (),
11533 (__mmask8) -1);
11534 }
11535
11536 extern __inline __m256i
11537 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_ror_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __B)11538 _mm256_mask_ror_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11539 const int __B)
11540 {
11541 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11542 (__v4di) __W,
11543 (__mmask8) __U);
11544 }
11545
11546 extern __inline __m256i
11547 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_ror_epi64(__mmask8 __U,__m256i __A,const int __B)11548 _mm256_maskz_ror_epi64 (__mmask8 __U, __m256i __A, const int __B)
11549 {
11550 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
11551 (__v4di)
11552 _mm256_setzero_si256 (),
11553 (__mmask8) __U);
11554 }
11555
11556 extern __inline __m128i
11557 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_ror_epi64(__m128i __A,const int __B)11558 _mm_ror_epi64 (__m128i __A, const int __B)
11559 {
11560 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11561 (__v2di)
11562 _mm_setzero_di (),
11563 (__mmask8) -1);
11564 }
11565
11566 extern __inline __m128i
11567 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_ror_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __B)11568 _mm_mask_ror_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11569 const int __B)
11570 {
11571 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11572 (__v2di) __W,
11573 (__mmask8) __U);
11574 }
11575
11576 extern __inline __m128i
11577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_ror_epi64(__mmask8 __U,__m128i __A,const int __B)11578 _mm_maskz_ror_epi64 (__mmask8 __U, __m128i __A, const int __B)
11579 {
11580 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
11581 (__v2di)
11582 _mm_setzero_di (),
11583 (__mmask8) __U);
11584 }
11585
11586 extern __inline __m128i
11587 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_alignr_epi32(__m128i __A,__m128i __B,const int __imm)11588 _mm_alignr_epi32 (__m128i __A, __m128i __B, const int __imm)
11589 {
11590 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11591 (__v4si) __B, __imm,
11592 (__v4si)
11593 _mm_setzero_si128 (),
11594 (__mmask8) -1);
11595 }
11596
11597 extern __inline __m128i
11598 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_alignr_epi32(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11599 _mm_mask_alignr_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11600 __m128i __B, const int __imm)
11601 {
11602 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11603 (__v4si) __B, __imm,
11604 (__v4si) __W,
11605 (__mmask8) __U);
11606 }
11607
11608 extern __inline __m128i
11609 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_alignr_epi32(__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11610 _mm_maskz_alignr_epi32 (__mmask8 __U, __m128i __A, __m128i __B,
11611 const int __imm)
11612 {
11613 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
11614 (__v4si) __B, __imm,
11615 (__v4si)
11616 _mm_setzero_si128 (),
11617 (__mmask8) __U);
11618 }
11619
11620 extern __inline __m128i
11621 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_alignr_epi64(__m128i __A,__m128i __B,const int __imm)11622 _mm_alignr_epi64 (__m128i __A, __m128i __B, const int __imm)
11623 {
11624 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11625 (__v2di) __B, __imm,
11626 (__v2di)
11627 _mm_setzero_di (),
11628 (__mmask8) -1);
11629 }
11630
11631 extern __inline __m128i
11632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_alignr_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11633 _mm_mask_alignr_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11634 __m128i __B, const int __imm)
11635 {
11636 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11637 (__v2di) __B, __imm,
11638 (__v2di) __W,
11639 (__mmask8) __U);
11640 }
11641
11642 extern __inline __m128i
11643 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_alignr_epi64(__mmask8 __U,__m128i __A,__m128i __B,const int __imm)11644 _mm_maskz_alignr_epi64 (__mmask8 __U, __m128i __A, __m128i __B,
11645 const int __imm)
11646 {
11647 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
11648 (__v2di) __B, __imm,
11649 (__v2di)
11650 _mm_setzero_di (),
11651 (__mmask8) __U);
11652 }
11653
11654 extern __inline __m256i
11655 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_alignr_epi32(__m256i __A,__m256i __B,const int __imm)11656 _mm256_alignr_epi32 (__m256i __A, __m256i __B, const int __imm)
11657 {
11658 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11659 (__v8si) __B, __imm,
11660 (__v8si)
11661 _mm256_setzero_si256 (),
11662 (__mmask8) -1);
11663 }
11664
11665 extern __inline __m256i
11666 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_alignr_epi32(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11667 _mm256_mask_alignr_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11668 __m256i __B, const int __imm)
11669 {
11670 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11671 (__v8si) __B, __imm,
11672 (__v8si) __W,
11673 (__mmask8) __U);
11674 }
11675
11676 extern __inline __m256i
11677 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_alignr_epi32(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11678 _mm256_maskz_alignr_epi32 (__mmask8 __U, __m256i __A, __m256i __B,
11679 const int __imm)
11680 {
11681 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
11682 (__v8si) __B, __imm,
11683 (__v8si)
11684 _mm256_setzero_si256 (),
11685 (__mmask8) __U);
11686 }
11687
11688 extern __inline __m256i
11689 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_alignr_epi64(__m256i __A,__m256i __B,const int __imm)11690 _mm256_alignr_epi64 (__m256i __A, __m256i __B, const int __imm)
11691 {
11692 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11693 (__v4di) __B, __imm,
11694 (__v4di)
11695 _mm256_setzero_si256 (),
11696 (__mmask8) -1);
11697 }
11698
11699 extern __inline __m256i
11700 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_alignr_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11701 _mm256_mask_alignr_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11702 __m256i __B, const int __imm)
11703 {
11704 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11705 (__v4di) __B, __imm,
11706 (__v4di) __W,
11707 (__mmask8) __U);
11708 }
11709
11710 extern __inline __m256i
11711 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_alignr_epi64(__mmask8 __U,__m256i __A,__m256i __B,const int __imm)11712 _mm256_maskz_alignr_epi64 (__mmask8 __U, __m256i __A, __m256i __B,
11713 const int __imm)
11714 {
11715 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
11716 (__v4di) __B, __imm,
11717 (__v4di)
11718 _mm256_setzero_si256 (),
11719 (__mmask8) __U);
11720 }
11721
11722 extern __inline __m128i
11723 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m128 __A,const int __I)11724 _mm_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m128 __A,
11725 const int __I)
11726 {
11727 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
11728 (__v8hi) __W,
11729 (__mmask8) __U);
11730 }
11731
11732 extern __inline __m128i
11733 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_ph(__mmask8 __U,__m128 __A,const int __I)11734 _mm_maskz_cvtps_ph (__mmask8 __U, __m128 __A, const int __I)
11735 {
11736 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
11737 (__v8hi)
11738 _mm_setzero_hi (),
11739 (__mmask8) __U);
11740 }
11741
11742 extern __inline __m128i
11743 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_ph(__m128i __W,__mmask8 __U,__m256 __A,const int __I)11744 _mm256_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m256 __A,
11745 const int __I)
11746 {
11747 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
11748 (__v8hi) __W,
11749 (__mmask8) __U);
11750 }
11751
11752 extern __inline __m128i
11753 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_ph(__mmask8 __U,__m256 __A,const int __I)11754 _mm256_maskz_cvtps_ph (__mmask8 __U, __m256 __A, const int __I)
11755 {
11756 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
11757 (__v8hi)
11758 _mm_setzero_hi (),
11759 (__mmask8) __U);
11760 }
11761
11762 extern __inline __m256i
11763 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srai_epi32(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)11764 _mm256_mask_srai_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11765 const int __imm)
11766 {
11767 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
11768 (__v8si) __W,
11769 (__mmask8) __U);
11770 }
11771
11772 extern __inline __m256i
11773 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srai_epi32(__mmask8 __U,__m256i __A,const int __imm)11774 _mm256_maskz_srai_epi32 (__mmask8 __U, __m256i __A, const int __imm)
11775 {
11776 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
11777 (__v8si)
11778 _mm256_setzero_si256 (),
11779 (__mmask8) __U);
11780 }
11781
11782 extern __inline __m128i
11783 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srai_epi32(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)11784 _mm_mask_srai_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
11785 const int __imm)
11786 {
11787 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
11788 (__v4si) __W,
11789 (__mmask8) __U);
11790 }
11791
11792 extern __inline __m128i
11793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srai_epi32(__mmask8 __U,__m128i __A,const int __imm)11794 _mm_maskz_srai_epi32 (__mmask8 __U, __m128i __A, const int __imm)
11795 {
11796 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
11797 (__v4si)
11798 _mm_setzero_si128 (),
11799 (__mmask8) __U);
11800 }
11801
11802 extern __inline __m256i
11803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srai_epi64(__m256i __A,const int __imm)11804 _mm256_srai_epi64 (__m256i __A, const int __imm)
11805 {
11806 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11807 (__v4di)
11808 _mm256_setzero_si256 (),
11809 (__mmask8) -1);
11810 }
11811
11812 extern __inline __m256i
11813 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srai_epi64(__m256i __W,__mmask8 __U,__m256i __A,const int __imm)11814 _mm256_mask_srai_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11815 const int __imm)
11816 {
11817 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11818 (__v4di) __W,
11819 (__mmask8) __U);
11820 }
11821
11822 extern __inline __m256i
11823 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srai_epi64(__mmask8 __U,__m256i __A,const int __imm)11824 _mm256_maskz_srai_epi64 (__mmask8 __U, __m256i __A, const int __imm)
11825 {
11826 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
11827 (__v4di)
11828 _mm256_setzero_si256 (),
11829 (__mmask8) __U);
11830 }
11831
11832 extern __inline __m128i
11833 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_epi64(__m128i __A,const int __imm)11834 _mm_srai_epi64 (__m128i __A, const int __imm)
11835 {
11836 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11837 (__v2di)
11838 _mm_setzero_di (),
11839 (__mmask8) -1);
11840 }
11841
11842 extern __inline __m128i
11843 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srai_epi64(__m128i __W,__mmask8 __U,__m128i __A,const int __imm)11844 _mm_mask_srai_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
11845 const int __imm)
11846 {
11847 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11848 (__v2di) __W,
11849 (__mmask8) __U);
11850 }
11851
11852 extern __inline __m128i
11853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srai_epi64(__mmask8 __U,__m128i __A,const int __imm)11854 _mm_maskz_srai_epi64 (__mmask8 __U, __m128i __A, const int __imm)
11855 {
11856 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
11857 (__v2di)
11858 _mm_setzero_si128 (),
11859 (__mmask8) __U);
11860 }
11861
11862 extern __inline __m128i
11863 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_slli_epi32(__m128i __W,__mmask8 __U,__m128i __A,int __B)11864 _mm_mask_slli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
11865 {
11866 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
11867 (__v4si) __W,
11868 (__mmask8) __U);
11869 }
11870
11871 extern __inline __m128i
11872 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_slli_epi32(__mmask8 __U,__m128i __A,int __B)11873 _mm_maskz_slli_epi32 (__mmask8 __U, __m128i __A, int __B)
11874 {
11875 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
11876 (__v4si)
11877 _mm_setzero_si128 (),
11878 (__mmask8) __U);
11879 }
11880
11881 extern __inline __m128i
11882 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_slli_epi64(__m128i __W,__mmask8 __U,__m128i __A,int __B)11883 _mm_mask_slli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
11884 {
11885 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
11886 (__v2di) __W,
11887 (__mmask8) __U);
11888 }
11889
11890 extern __inline __m128i
11891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_slli_epi64(__mmask8 __U,__m128i __A,int __B)11892 _mm_maskz_slli_epi64 (__mmask8 __U, __m128i __A, int __B)
11893 {
11894 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
11895 (__v2di)
11896 _mm_setzero_di (),
11897 (__mmask8) __U);
11898 }
11899
11900 extern __inline __m256i
11901 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_slli_epi32(__m256i __W,__mmask8 __U,__m256i __A,int __B)11902 _mm256_mask_slli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
11903 int __B)
11904 {
11905 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
11906 (__v8si) __W,
11907 (__mmask8) __U);
11908 }
11909
11910 extern __inline __m256i
11911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_slli_epi32(__mmask8 __U,__m256i __A,int __B)11912 _mm256_maskz_slli_epi32 (__mmask8 __U, __m256i __A, int __B)
11913 {
11914 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
11915 (__v8si)
11916 _mm256_setzero_si256 (),
11917 (__mmask8) __U);
11918 }
11919
11920 extern __inline __m256i
11921 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_slli_epi64(__m256i __W,__mmask8 __U,__m256i __A,int __B)11922 _mm256_mask_slli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
11923 int __B)
11924 {
11925 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
11926 (__v4di) __W,
11927 (__mmask8) __U);
11928 }
11929
11930 extern __inline __m256i
11931 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_slli_epi64(__mmask8 __U,__m256i __A,int __B)11932 _mm256_maskz_slli_epi64 (__mmask8 __U, __m256i __A, int __B)
11933 {
11934 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
11935 (__v4di)
11936 _mm256_setzero_si256 (),
11937 (__mmask8) __U);
11938 }
11939
11940 extern __inline __m256d
11941 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex_pd(__m256d __W,__mmask8 __U,__m256d __X,const int __imm)11942 _mm256_mask_permutex_pd (__m256d __W, __mmask8 __U, __m256d __X,
11943 const int __imm)
11944 {
11945 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
11946 (__v4df) __W,
11947 (__mmask8) __U);
11948 }
11949
11950 extern __inline __m256d
11951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex_pd(__mmask8 __U,__m256d __X,const int __imm)11952 _mm256_maskz_permutex_pd (__mmask8 __U, __m256d __X, const int __imm)
11953 {
11954 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
11955 (__v4df)
11956 _mm256_setzero_pd (),
11957 (__mmask8) __U);
11958 }
11959
11960 extern __inline __m256d
11961 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permute_pd(__m256d __W,__mmask8 __U,__m256d __X,const int __C)11962 _mm256_mask_permute_pd (__m256d __W, __mmask8 __U, __m256d __X,
11963 const int __C)
11964 {
11965 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
11966 (__v4df) __W,
11967 (__mmask8) __U);
11968 }
11969
11970 extern __inline __m256d
11971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permute_pd(__mmask8 __U,__m256d __X,const int __C)11972 _mm256_maskz_permute_pd (__mmask8 __U, __m256d __X, const int __C)
11973 {
11974 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
11975 (__v4df)
11976 _mm256_setzero_pd (),
11977 (__mmask8) __U);
11978 }
11979
11980 extern __inline __m128d
11981 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permute_pd(__m128d __W,__mmask8 __U,__m128d __X,const int __C)11982 _mm_mask_permute_pd (__m128d __W, __mmask8 __U, __m128d __X,
11983 const int __C)
11984 {
11985 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
11986 (__v2df) __W,
11987 (__mmask8) __U);
11988 }
11989
11990 extern __inline __m128d
11991 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permute_pd(__mmask8 __U,__m128d __X,const int __C)11992 _mm_maskz_permute_pd (__mmask8 __U, __m128d __X, const int __C)
11993 {
11994 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
11995 (__v2df)
11996 _mm_setzero_pd (),
11997 (__mmask8) __U);
11998 }
11999
12000 extern __inline __m256
12001 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permute_ps(__m256 __W,__mmask8 __U,__m256 __X,const int __C)12002 _mm256_mask_permute_ps (__m256 __W, __mmask8 __U, __m256 __X,
12003 const int __C)
12004 {
12005 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
12006 (__v8sf) __W,
12007 (__mmask8) __U);
12008 }
12009
12010 extern __inline __m256
12011 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permute_ps(__mmask8 __U,__m256 __X,const int __C)12012 _mm256_maskz_permute_ps (__mmask8 __U, __m256 __X, const int __C)
12013 {
12014 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
12015 (__v8sf)
12016 _mm256_setzero_ps (),
12017 (__mmask8) __U);
12018 }
12019
12020 extern __inline __m128
12021 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permute_ps(__m128 __W,__mmask8 __U,__m128 __X,const int __C)12022 _mm_mask_permute_ps (__m128 __W, __mmask8 __U, __m128 __X,
12023 const int __C)
12024 {
12025 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
12026 (__v4sf) __W,
12027 (__mmask8) __U);
12028 }
12029
12030 extern __inline __m128
12031 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permute_ps(__mmask8 __U,__m128 __X,const int __C)12032 _mm_maskz_permute_ps (__mmask8 __U, __m128 __X, const int __C)
12033 {
12034 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
12035 (__v4sf)
12036 _mm_setzero_ps (),
12037 (__mmask8) __U);
12038 }
12039
12040 extern __inline __m256d
12041 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_pd(__mmask8 __U,__m256d __A,__m256d __W)12042 _mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W)
12043 {
12044 return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A,
12045 (__v4df) __W,
12046 (__mmask8) __U);
12047 }
12048
12049 extern __inline __m256
12050 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_ps(__mmask8 __U,__m256 __A,__m256 __W)12051 _mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W)
12052 {
12053 return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A,
12054 (__v8sf) __W,
12055 (__mmask8) __U);
12056 }
12057
12058 extern __inline __m256i
12059 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_epi64(__mmask8 __U,__m256i __A,__m256i __W)12060 _mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W)
12061 {
12062 return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A,
12063 (__v4di) __W,
12064 (__mmask8) __U);
12065 }
12066
12067 extern __inline __m256i
12068 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_blend_epi32(__mmask8 __U,__m256i __A,__m256i __W)12069 _mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W)
12070 {
12071 return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A,
12072 (__v8si) __W,
12073 (__mmask8) __U);
12074 }
12075
12076 extern __inline __m128d
12077 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_pd(__mmask8 __U,__m128d __A,__m128d __W)12078 _mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W)
12079 {
12080 return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A,
12081 (__v2df) __W,
12082 (__mmask8) __U);
12083 }
12084
12085 extern __inline __m128
12086 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_ps(__mmask8 __U,__m128 __A,__m128 __W)12087 _mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W)
12088 {
12089 return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A,
12090 (__v4sf) __W,
12091 (__mmask8) __U);
12092 }
12093
12094 extern __inline __m128i
12095 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_epi64(__mmask8 __U,__m128i __A,__m128i __W)12096 _mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W)
12097 {
12098 return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A,
12099 (__v2di) __W,
12100 (__mmask8) __U);
12101 }
12102
12103 extern __inline __m128i
12104 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_blend_epi32(__mmask8 __U,__m128i __A,__m128i __W)12105 _mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W)
12106 {
12107 return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A,
12108 (__v4si) __W,
12109 (__mmask8) __U);
12110 }
12111
12112 extern __inline __mmask8
12113 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epi64_mask(__m256i __X,__m256i __Y,const int __P)12114 _mm256_cmp_epi64_mask (__m256i __X, __m256i __Y, const int __P)
12115 {
12116 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
12117 (__v4di) __Y, __P,
12118 (__mmask8) -1);
12119 }
12120
12121 extern __inline __mmask8
12122 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epi32_mask(__m256i __X,__m256i __Y,const int __P)12123 _mm256_cmp_epi32_mask (__m256i __X, __m256i __Y, const int __P)
12124 {
12125 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
12126 (__v8si) __Y, __P,
12127 (__mmask8) -1);
12128 }
12129
12130 extern __inline __mmask8
12131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epu64_mask(__m256i __X,__m256i __Y,const int __P)12132 _mm256_cmp_epu64_mask (__m256i __X, __m256i __Y, const int __P)
12133 {
12134 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
12135 (__v4di) __Y, __P,
12136 (__mmask8) -1);
12137 }
12138
12139 extern __inline __mmask8
12140 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_epu32_mask(__m256i __X,__m256i __Y,const int __P)12141 _mm256_cmp_epu32_mask (__m256i __X, __m256i __Y, const int __P)
12142 {
12143 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
12144 (__v8si) __Y, __P,
12145 (__mmask8) -1);
12146 }
12147
12148 extern __inline __mmask8
12149 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_pd_mask(__m256d __X,__m256d __Y,const int __P)12150 _mm256_cmp_pd_mask (__m256d __X, __m256d __Y, const int __P)
12151 {
12152 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
12153 (__v4df) __Y, __P,
12154 (__mmask8) -1);
12155 }
12156
12157 extern __inline __mmask8
12158 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmp_ps_mask(__m256 __X,__m256 __Y,const int __P)12159 _mm256_cmp_ps_mask (__m256 __X, __m256 __Y, const int __P)
12160 {
12161 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
12162 (__v8sf) __Y, __P,
12163 (__mmask8) -1);
12164 }
12165
12166 extern __inline __mmask8
12167 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epi64_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12168 _mm256_mask_cmp_epi64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12169 const int __P)
12170 {
12171 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
12172 (__v4di) __Y, __P,
12173 (__mmask8) __U);
12174 }
12175
12176 extern __inline __mmask8
12177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epi32_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12178 _mm256_mask_cmp_epi32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12179 const int __P)
12180 {
12181 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
12182 (__v8si) __Y, __P,
12183 (__mmask8) __U);
12184 }
12185
12186 extern __inline __mmask8
12187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epu64_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12188 _mm256_mask_cmp_epu64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12189 const int __P)
12190 {
12191 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
12192 (__v4di) __Y, __P,
12193 (__mmask8) __U);
12194 }
12195
12196 extern __inline __mmask8
12197 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_epu32_mask(__mmask8 __U,__m256i __X,__m256i __Y,const int __P)12198 _mm256_mask_cmp_epu32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
12199 const int __P)
12200 {
12201 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
12202 (__v8si) __Y, __P,
12203 (__mmask8) __U);
12204 }
12205
12206 extern __inline __mmask8
12207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_pd_mask(__mmask8 __U,__m256d __X,__m256d __Y,const int __P)12208 _mm256_mask_cmp_pd_mask (__mmask8 __U, __m256d __X, __m256d __Y,
12209 const int __P)
12210 {
12211 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
12212 (__v4df) __Y, __P,
12213 (__mmask8) __U);
12214 }
12215
12216 extern __inline __mmask8
12217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmp_ps_mask(__mmask8 __U,__m256 __X,__m256 __Y,const int __P)12218 _mm256_mask_cmp_ps_mask (__mmask8 __U, __m256 __X, __m256 __Y,
12219 const int __P)
12220 {
12221 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
12222 (__v8sf) __Y, __P,
12223 (__mmask8) __U);
12224 }
12225
12226 extern __inline __mmask8
12227 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epi64_mask(__m128i __X,__m128i __Y,const int __P)12228 _mm_cmp_epi64_mask (__m128i __X, __m128i __Y, const int __P)
12229 {
12230 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
12231 (__v2di) __Y, __P,
12232 (__mmask8) -1);
12233 }
12234
12235 extern __inline __mmask8
12236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epi32_mask(__m128i __X,__m128i __Y,const int __P)12237 _mm_cmp_epi32_mask (__m128i __X, __m128i __Y, const int __P)
12238 {
12239 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
12240 (__v4si) __Y, __P,
12241 (__mmask8) -1);
12242 }
12243
12244 extern __inline __mmask8
12245 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epu64_mask(__m128i __X,__m128i __Y,const int __P)12246 _mm_cmp_epu64_mask (__m128i __X, __m128i __Y, const int __P)
12247 {
12248 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
12249 (__v2di) __Y, __P,
12250 (__mmask8) -1);
12251 }
12252
12253 extern __inline __mmask8
12254 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_epu32_mask(__m128i __X,__m128i __Y,const int __P)12255 _mm_cmp_epu32_mask (__m128i __X, __m128i __Y, const int __P)
12256 {
12257 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
12258 (__v4si) __Y, __P,
12259 (__mmask8) -1);
12260 }
12261
12262 extern __inline __mmask8
12263 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_pd_mask(__m128d __X,__m128d __Y,const int __P)12264 _mm_cmp_pd_mask (__m128d __X, __m128d __Y, const int __P)
12265 {
12266 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
12267 (__v2df) __Y, __P,
12268 (__mmask8) -1);
12269 }
12270
12271 extern __inline __mmask8
12272 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmp_ps_mask(__m128 __X,__m128 __Y,const int __P)12273 _mm_cmp_ps_mask (__m128 __X, __m128 __Y, const int __P)
12274 {
12275 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
12276 (__v4sf) __Y, __P,
12277 (__mmask8) -1);
12278 }
12279
12280 extern __inline __mmask8
12281 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epi64_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12282 _mm_mask_cmp_epi64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12283 const int __P)
12284 {
12285 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
12286 (__v2di) __Y, __P,
12287 (__mmask8) __U);
12288 }
12289
12290 extern __inline __mmask8
12291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epi32_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12292 _mm_mask_cmp_epi32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12293 const int __P)
12294 {
12295 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
12296 (__v4si) __Y, __P,
12297 (__mmask8) __U);
12298 }
12299
12300 extern __inline __mmask8
12301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epu64_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12302 _mm_mask_cmp_epu64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12303 const int __P)
12304 {
12305 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
12306 (__v2di) __Y, __P,
12307 (__mmask8) __U);
12308 }
12309
12310 extern __inline __mmask8
12311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_epu32_mask(__mmask8 __U,__m128i __X,__m128i __Y,const int __P)12312 _mm_mask_cmp_epu32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
12313 const int __P)
12314 {
12315 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
12316 (__v4si) __Y, __P,
12317 (__mmask8) __U);
12318 }
12319
12320 extern __inline __mmask8
12321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_pd_mask(__mmask8 __U,__m128d __X,__m128d __Y,const int __P)12322 _mm_mask_cmp_pd_mask (__mmask8 __U, __m128d __X, __m128d __Y,
12323 const int __P)
12324 {
12325 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
12326 (__v2df) __Y, __P,
12327 (__mmask8) __U);
12328 }
12329
12330 extern __inline __mmask8
12331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmp_ps_mask(__mmask8 __U,__m128 __X,__m128 __Y,const int __P)12332 _mm_mask_cmp_ps_mask (__mmask8 __U, __m128 __X, __m128 __Y,
12333 const int __P)
12334 {
12335 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
12336 (__v4sf) __Y, __P,
12337 (__mmask8) __U);
12338 }
12339
12340 extern __inline __m256d
12341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex_pd(__m256d __X,const int __M)12342 _mm256_permutex_pd (__m256d __X, const int __M)
12343 {
12344 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __M,
12345 (__v4df)
12346 _mm256_undefined_pd (),
12347 (__mmask8) -1);
12348 }
12349
12350 #else
12351 #define _mm256_permutex_pd(X, M) \
12352 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(X), (int)(M), \
12353 (__v4df)(__m256d)_mm256_undefined_pd(),\
12354 (__mmask8)-1))
12355
12356 #define _mm256_maskz_permutex_epi64(M, X, I) \
12357 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12358 (int)(I), \
12359 (__v4di)(__m256i) \
12360 (_mm256_setzero_si256()),\
12361 (__mmask8)(M)))
12362
12363 #define _mm256_mask_permutex_epi64(W, M, X, I) \
12364 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
12365 (int)(I), \
12366 (__v4di)(__m256i)(W), \
12367 (__mmask8)(M)))
12368
12369 #define _mm256_insertf32x4(X, Y, C) \
12370 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12371 (__v4sf)(__m128) (Y), (int) (C), \
12372 (__v8sf)(__m256)_mm256_setzero_ps(), \
12373 (__mmask8)-1))
12374
12375 #define _mm256_mask_insertf32x4(W, U, X, Y, C) \
12376 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12377 (__v4sf)(__m128) (Y), (int) (C), \
12378 (__v8sf)(__m256)(W), \
12379 (__mmask8)(U)))
12380
12381 #define _mm256_maskz_insertf32x4(U, X, Y, C) \
12382 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \
12383 (__v4sf)(__m128) (Y), (int) (C), \
12384 (__v8sf)(__m256)_mm256_setzero_ps(), \
12385 (__mmask8)(U)))
12386
12387 #define _mm256_inserti32x4(X, Y, C) \
12388 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12389 (__v4si)(__m128i) (Y), (int) (C), \
12390 (__v8si)(__m256i)_mm256_setzero_si256(), \
12391 (__mmask8)-1))
12392
12393 #define _mm256_mask_inserti32x4(W, U, X, Y, C) \
12394 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12395 (__v4si)(__m128i) (Y), (int) (C), \
12396 (__v8si)(__m256i)(W), \
12397 (__mmask8)(U)))
12398
12399 #define _mm256_maskz_inserti32x4(U, X, Y, C) \
12400 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
12401 (__v4si)(__m128i) (Y), (int) (C), \
12402 (__v8si)(__m256i)_mm256_setzero_si256(), \
12403 (__mmask8)(U)))
12404
12405 #define _mm256_extractf32x4_ps(X, C) \
12406 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12407 (int) (C), \
12408 (__v4sf)(__m128)_mm_setzero_ps(), \
12409 (__mmask8)-1))
12410
12411 #define _mm256_mask_extractf32x4_ps(W, U, X, C) \
12412 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12413 (int) (C), \
12414 (__v4sf)(__m128)(W), \
12415 (__mmask8)(U)))
12416
12417 #define _mm256_maskz_extractf32x4_ps(U, X, C) \
12418 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
12419 (int) (C), \
12420 (__v4sf)(__m128)_mm_setzero_ps(), \
12421 (__mmask8)(U)))
12422
12423 #define _mm256_extracti32x4_epi32(X, C) \
12424 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12425 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)-1))
12426
12427 #define _mm256_mask_extracti32x4_epi32(W, U, X, C) \
12428 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12429 (int) (C), (__v4si)(__m128i)(W), (__mmask8)(U)))
12430
12431 #define _mm256_maskz_extracti32x4_epi32(U, X, C) \
12432 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
12433 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(U)))
12434
12435 #define _mm256_shuffle_i64x2(X, Y, C) \
12436 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12437 (__v4di)(__m256i)(Y), (int)(C), \
12438 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12439 (__mmask8)-1))
12440
12441 #define _mm256_mask_shuffle_i64x2(W, U, X, Y, C) \
12442 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12443 (__v4di)(__m256i)(Y), (int)(C), \
12444 (__v4di)(__m256i)(W),\
12445 (__mmask8)(U)))
12446
12447 #define _mm256_maskz_shuffle_i64x2(U, X, Y, C) \
12448 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \
12449 (__v4di)(__m256i)(Y), (int)(C), \
12450 (__v4di)(__m256i)_mm256_setzero_si256 (), \
12451 (__mmask8)(U)))
12452
12453 #define _mm256_shuffle_i32x4(X, Y, C) \
12454 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12455 (__v8si)(__m256i)(Y), (int)(C), \
12456 (__v8si)(__m256i)_mm256_setzero_si256(), \
12457 (__mmask8)-1))
12458
12459 #define _mm256_mask_shuffle_i32x4(W, U, X, Y, C) \
12460 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12461 (__v8si)(__m256i)(Y), (int)(C), \
12462 (__v8si)(__m256i)(W), \
12463 (__mmask8)(U)))
12464
12465 #define _mm256_maskz_shuffle_i32x4(U, X, Y, C) \
12466 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \
12467 (__v8si)(__m256i)(Y), (int)(C), \
12468 (__v8si)(__m256i)_mm256_setzero_si256(), \
12469 (__mmask8)(U)))
12470
12471 #define _mm256_shuffle_f64x2(X, Y, C) \
12472 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12473 (__v4df)(__m256d)(Y), (int)(C), \
12474 (__v4df)(__m256d)_mm256_setzero_pd(), \
12475 (__mmask8)-1))
12476
12477 #define _mm256_mask_shuffle_f64x2(W, U, X, Y, C) \
12478 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12479 (__v4df)(__m256d)(Y), (int)(C), \
12480 (__v4df)(__m256d)(W), \
12481 (__mmask8)(U)))
12482
12483 #define _mm256_maskz_shuffle_f64x2(U, X, Y, C) \
12484 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \
12485 (__v4df)(__m256d)(Y), (int)(C), \
12486 (__v4df)(__m256d)_mm256_setzero_pd(), \
12487 (__mmask8)(U)))
12488
12489 #define _mm256_shuffle_f32x4(X, Y, C) \
12490 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12491 (__v8sf)(__m256)(Y), (int)(C), \
12492 (__v8sf)(__m256)_mm256_setzero_ps(), \
12493 (__mmask8)-1))
12494
12495 #define _mm256_mask_shuffle_f32x4(W, U, X, Y, C) \
12496 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12497 (__v8sf)(__m256)(Y), (int)(C), \
12498 (__v8sf)(__m256)(W), \
12499 (__mmask8)(U)))
12500
12501 #define _mm256_maskz_shuffle_f32x4(U, X, Y, C) \
12502 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \
12503 (__v8sf)(__m256)(Y), (int)(C), \
12504 (__v8sf)(__m256)_mm256_setzero_ps(), \
12505 (__mmask8)(U)))
12506
12507 #define _mm256_mask_shuffle_pd(W, U, A, B, C) \
12508 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \
12509 (__v4df)(__m256d)(B), (int)(C), \
12510 (__v4df)(__m256d)(W), \
12511 (__mmask8)(U)))
12512
12513 #define _mm256_maskz_shuffle_pd(U, A, B, C) \
12514 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \
12515 (__v4df)(__m256d)(B), (int)(C), \
12516 (__v4df)(__m256d)_mm256_setzero_pd(),\
12517 (__mmask8)(U)))
12518
12519 #define _mm_mask_shuffle_pd(W, U, A, B, C) \
12520 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \
12521 (__v2df)(__m128d)(B), (int)(C), \
12522 (__v2df)(__m128d)(W), \
12523 (__mmask8)(U)))
12524
12525 #define _mm_maskz_shuffle_pd(U, A, B, C) \
12526 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \
12527 (__v2df)(__m128d)(B), (int)(C), \
12528 (__v2df)(__m128d)_mm_setzero_pd(), \
12529 (__mmask8)(U)))
12530
12531 #define _mm256_mask_shuffle_ps(W, U, A, B, C) \
12532 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \
12533 (__v8sf)(__m256)(B), (int)(C), \
12534 (__v8sf)(__m256)(W), \
12535 (__mmask8)(U)))
12536
12537 #define _mm256_maskz_shuffle_ps(U, A, B, C) \
12538 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \
12539 (__v8sf)(__m256)(B), (int)(C), \
12540 (__v8sf)(__m256)_mm256_setzero_ps(), \
12541 (__mmask8)(U)))
12542
12543 #define _mm_mask_shuffle_ps(W, U, A, B, C) \
12544 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \
12545 (__v4sf)(__m128)(B), (int)(C), \
12546 (__v4sf)(__m128)(W), \
12547 (__mmask8)(U)))
12548
12549 #define _mm_maskz_shuffle_ps(U, A, B, C) \
12550 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \
12551 (__v4sf)(__m128)(B), (int)(C), \
12552 (__v4sf)(__m128)_mm_setzero_ps(), \
12553 (__mmask8)(U)))
12554
12555 #define _mm256_fixupimm_pd(X, Y, Z, C) \
12556 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \
12557 (__v4df)(__m256d)(Y), \
12558 (__v4di)(__m256i)(Z), (int)(C), \
12559 (__mmask8)(-1)))
12560
12561 #define _mm256_mask_fixupimm_pd(X, U, Y, Z, C) \
12562 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \
12563 (__v4df)(__m256d)(Y), \
12564 (__v4di)(__m256i)(Z), (int)(C), \
12565 (__mmask8)(U)))
12566
12567 #define _mm256_maskz_fixupimm_pd(U, X, Y, Z, C) \
12568 ((__m256d)__builtin_ia32_fixupimmpd256_maskz ((__v4df)(__m256d)(X), \
12569 (__v4df)(__m256d)(Y), \
12570 (__v4di)(__m256i)(Z), (int)(C),\
12571 (__mmask8)(U)))
12572
12573 #define _mm256_fixupimm_ps(X, Y, Z, C) \
12574 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \
12575 (__v8sf)(__m256)(Y), \
12576 (__v8si)(__m256i)(Z), (int)(C), \
12577 (__mmask8)(-1)))
12578
12579
12580 #define _mm256_mask_fixupimm_ps(X, U, Y, Z, C) \
12581 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \
12582 (__v8sf)(__m256)(Y), \
12583 (__v8si)(__m256i)(Z), (int)(C), \
12584 (__mmask8)(U)))
12585
12586 #define _mm256_maskz_fixupimm_ps(U, X, Y, Z, C) \
12587 ((__m256)__builtin_ia32_fixupimmps256_maskz ((__v8sf)(__m256)(X), \
12588 (__v8sf)(__m256)(Y), \
12589 (__v8si)(__m256i)(Z), (int)(C),\
12590 (__mmask8)(U)))
12591
12592 #define _mm_fixupimm_pd(X, Y, Z, C) \
12593 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \
12594 (__v2df)(__m128d)(Y), \
12595 (__v2di)(__m128i)(Z), (int)(C), \
12596 (__mmask8)(-1)))
12597
12598
12599 #define _mm_mask_fixupimm_pd(X, U, Y, Z, C) \
12600 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \
12601 (__v2df)(__m128d)(Y), \
12602 (__v2di)(__m128i)(Z), (int)(C), \
12603 (__mmask8)(U)))
12604
12605 #define _mm_maskz_fixupimm_pd(U, X, Y, Z, C) \
12606 ((__m128d)__builtin_ia32_fixupimmpd128_maskz ((__v2df)(__m128d)(X), \
12607 (__v2df)(__m128d)(Y), \
12608 (__v2di)(__m128i)(Z), (int)(C),\
12609 (__mmask8)(U)))
12610
12611 #define _mm_fixupimm_ps(X, Y, Z, C) \
12612 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \
12613 (__v4sf)(__m128)(Y), \
12614 (__v4si)(__m128i)(Z), (int)(C), \
12615 (__mmask8)(-1)))
12616
12617 #define _mm_mask_fixupimm_ps(X, U, Y, Z, C) \
12618 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \
12619 (__v4sf)(__m128)(Y), \
12620 (__v4si)(__m128i)(Z), (int)(C),\
12621 (__mmask8)(U)))
12622
12623 #define _mm_maskz_fixupimm_ps(U, X, Y, Z, C) \
12624 ((__m128)__builtin_ia32_fixupimmps128_maskz ((__v4sf)(__m128)(X), \
12625 (__v4sf)(__m128)(Y), \
12626 (__v4si)(__m128i)(Z), (int)(C),\
12627 (__mmask8)(U)))
12628
12629 #define _mm256_mask_srli_epi32(W, U, A, B) \
12630 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \
12631 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
12632
12633 #define _mm256_maskz_srli_epi32(U, A, B) \
12634 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \
12635 (int)(B), (__v8si)_mm256_setzero_si256(), (__mmask8)(U)))
12636
12637 #define _mm_mask_srli_epi32(W, U, A, B) \
12638 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \
12639 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
12640
12641 #define _mm_maskz_srli_epi32(U, A, B) \
12642 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \
12643 (int)(B), (__v4si)_mm_setzero_si128(), (__mmask8)(U)))
12644
12645 #define _mm256_mask_srli_epi64(W, U, A, B) \
12646 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \
12647 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
12648
12649 #define _mm256_maskz_srli_epi64(U, A, B) \
12650 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \
12651 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
12652
12653 #define _mm_mask_srli_epi64(W, U, A, B) \
12654 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \
12655 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
12656
12657 #define _mm_maskz_srli_epi64(U, A, B) \
12658 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \
12659 (int)(B), (__v2di)_mm_setzero_si128(), (__mmask8)(U)))
12660
12661 #define _mm256_mask_slli_epi32(W, U, X, C) \
12662 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
12663 (__v8si)(__m256i)(W),\
12664 (__mmask8)(U)))
12665
12666 #define _mm256_maskz_slli_epi32(U, X, C) \
12667 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
12668 (__v8si)(__m256i)_mm256_setzero_si256(),\
12669 (__mmask8)(U)))
12670
12671 #define _mm256_mask_slli_epi64(W, U, X, C) \
12672 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
12673 (__v4di)(__m256i)(W),\
12674 (__mmask8)(U)))
12675
12676 #define _mm256_maskz_slli_epi64(U, X, C) \
12677 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
12678 (__v4di)(__m256i)_mm256_setzero_si256 (),\
12679 (__mmask8)(U)))
12680
12681 #define _mm_mask_slli_epi32(W, U, X, C) \
12682 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
12683 (__v4si)(__m128i)(W),\
12684 (__mmask8)(U)))
12685
12686 #define _mm_maskz_slli_epi32(U, X, C) \
12687 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
12688 (__v4si)(__m128i)_mm_setzero_si128 (),\
12689 (__mmask8)(U)))
12690
12691 #define _mm_mask_slli_epi64(W, U, X, C) \
12692 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
12693 (__v2di)(__m128i)(W),\
12694 (__mmask8)(U)))
12695
12696 #define _mm_maskz_slli_epi64(U, X, C) \
12697 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
12698 (__v2di)(__m128i)_mm_setzero_di(),\
12699 (__mmask8)(U)))
12700
12701 #define _mm256_ternarylogic_epi64(A, B, C, I) \
12702 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \
12703 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)-1))
12704
12705 #define _mm256_mask_ternarylogic_epi64(A, U, B, C, I) \
12706 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \
12707 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
12708
12709 #define _mm256_maskz_ternarylogic_epi64(U, A, B, C, I) \
12710 ((__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di)(__m256i)(A), \
12711 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
12712
12713 #define _mm256_ternarylogic_epi32(A, B, C, I) \
12714 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \
12715 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)-1))
12716
12717 #define _mm256_mask_ternarylogic_epi32(A, U, B, C, I) \
12718 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \
12719 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
12720
12721 #define _mm256_maskz_ternarylogic_epi32(U, A, B, C, I) \
12722 ((__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si)(__m256i)(A), \
12723 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
12724
12725 #define _mm_ternarylogic_epi64(A, B, C, I) \
12726 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \
12727 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)-1))
12728
12729 #define _mm_mask_ternarylogic_epi64(A, U, B, C, I) \
12730 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \
12731 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
12732
12733 #define _mm_maskz_ternarylogic_epi64(U, A, B, C, I) \
12734 ((__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di)(__m128i)(A), \
12735 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
12736
12737 #define _mm_ternarylogic_epi32(A, B, C, I) \
12738 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \
12739 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)-1))
12740
12741 #define _mm_mask_ternarylogic_epi32(A, U, B, C, I) \
12742 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \
12743 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
12744
12745 #define _mm_maskz_ternarylogic_epi32(U, A, B, C, I) \
12746 ((__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si)(__m128i)(A), \
12747 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
12748
12749 #define _mm256_roundscale_ps(A, B) \
12750 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12751 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps(), (__mmask8)-1))
12752
12753 #define _mm256_mask_roundscale_ps(W, U, A, B) \
12754 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12755 (int)(B), (__v8sf)(__m256)(W), (__mmask8)(U)))
12756
12757 #define _mm256_maskz_roundscale_ps(U, A, B) \
12758 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \
12759 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps(), (__mmask8)(U)))
12760
12761 #define _mm256_roundscale_pd(A, B) \
12762 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12763 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd(), (__mmask8)-1))
12764
12765 #define _mm256_mask_roundscale_pd(W, U, A, B) \
12766 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12767 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
12768
12769 #define _mm256_maskz_roundscale_pd(U, A, B) \
12770 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \
12771 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd(), (__mmask8)(U)))
12772
12773 #define _mm_roundscale_ps(A, B) \
12774 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12775 (int)(B), (__v4sf)(__m128)_mm_setzero_ps(), (__mmask8)-1))
12776
12777 #define _mm_mask_roundscale_ps(W, U, A, B) \
12778 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12779 (int)(B), (__v4sf)(__m128)(W), (__mmask8)(U)))
12780
12781 #define _mm_maskz_roundscale_ps(U, A, B) \
12782 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \
12783 (int)(B), (__v4sf)(__m128)_mm_setzero_ps(), (__mmask8)(U)))
12784
12785 #define _mm_roundscale_pd(A, B) \
12786 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12787 (int)(B), (__v2df)(__m128d)_mm_setzero_pd(), (__mmask8)-1))
12788
12789 #define _mm_mask_roundscale_pd(W, U, A, B) \
12790 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12791 (int)(B), (__v2df)(__m128d)(W), (__mmask8)(U)))
12792
12793 #define _mm_maskz_roundscale_pd(U, A, B) \
12794 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \
12795 (int)(B), (__v2df)(__m128d)_mm_setzero_pd(), (__mmask8)(U)))
12796
12797 #define _mm256_getmant_ps(X, B, C) \
12798 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12799 (int)(((C)<<2) | (B)), \
12800 (__v8sf)(__m256)_mm256_setzero_ps(), \
12801 (__mmask8)-1))
12802
12803 #define _mm256_mask_getmant_ps(W, U, X, B, C) \
12804 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12805 (int)(((C)<<2) | (B)), \
12806 (__v8sf)(__m256)(W), \
12807 (__mmask8)(U)))
12808
12809 #define _mm256_maskz_getmant_ps(U, X, B, C) \
12810 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \
12811 (int)(((C)<<2) | (B)), \
12812 (__v8sf)(__m256)_mm256_setzero_ps(), \
12813 (__mmask8)(U)))
12814
12815 #define _mm_getmant_ps(X, B, C) \
12816 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12817 (int)(((C)<<2) | (B)), \
12818 (__v4sf)(__m128)_mm_setzero_ps(), \
12819 (__mmask8)-1))
12820
12821 #define _mm_mask_getmant_ps(W, U, X, B, C) \
12822 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12823 (int)(((C)<<2) | (B)), \
12824 (__v4sf)(__m128)(W), \
12825 (__mmask8)(U)))
12826
12827 #define _mm_maskz_getmant_ps(U, X, B, C) \
12828 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \
12829 (int)(((C)<<2) | (B)), \
12830 (__v4sf)(__m128)_mm_setzero_ps(), \
12831 (__mmask8)(U)))
12832
12833 #define _mm256_getmant_pd(X, B, C) \
12834 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12835 (int)(((C)<<2) | (B)), \
12836 (__v4df)(__m256d)_mm256_setzero_pd(), \
12837 (__mmask8)-1))
12838
12839 #define _mm256_mask_getmant_pd(W, U, X, B, C) \
12840 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12841 (int)(((C)<<2) | (B)), \
12842 (__v4df)(__m256d)(W), \
12843 (__mmask8)(U)))
12844
12845 #define _mm256_maskz_getmant_pd(U, X, B, C) \
12846 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \
12847 (int)(((C)<<2) | (B)), \
12848 (__v4df)(__m256d)_mm256_setzero_pd(), \
12849 (__mmask8)(U)))
12850
12851 #define _mm_getmant_pd(X, B, C) \
12852 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12853 (int)(((C)<<2) | (B)), \
12854 (__v2df)(__m128d)_mm_setzero_pd(), \
12855 (__mmask8)-1))
12856
12857 #define _mm_mask_getmant_pd(W, U, X, B, C) \
12858 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12859 (int)(((C)<<2) | (B)), \
12860 (__v2df)(__m128d)(W), \
12861 (__mmask8)(U)))
12862
12863 #define _mm_maskz_getmant_pd(U, X, B, C) \
12864 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \
12865 (int)(((C)<<2) | (B)), \
12866 (__v2df)(__m128d)_mm_setzero_pd(), \
12867 (__mmask8)(U)))
12868
12869 #define _mm256_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12870 (__m256) __builtin_ia32_gather3siv8sf ((__v8sf)(__m256)V1OLD, \
12871 (void const *)ADDR, \
12872 (__v8si)(__m256i)INDEX, \
12873 (__mmask8)MASK, (int)SCALE)
12874
12875 #define _mm_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12876 (__m128) __builtin_ia32_gather3siv4sf ((__v4sf)(__m128)V1OLD, \
12877 (void const *)ADDR, \
12878 (__v4si)(__m128i)INDEX, \
12879 (__mmask8)MASK, (int)SCALE)
12880
12881 #define _mm256_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12882 (__m256d) __builtin_ia32_gather3siv4df ((__v4df)(__m256d)V1OLD, \
12883 (void const *)ADDR, \
12884 (__v4si)(__m128i)INDEX, \
12885 (__mmask8)MASK, (int)SCALE)
12886
12887 #define _mm_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12888 (__m128d) __builtin_ia32_gather3siv2df ((__v2df)(__m128d)V1OLD, \
12889 (void const *)ADDR, \
12890 (__v4si)(__m128i)INDEX, \
12891 (__mmask8)MASK, (int)SCALE)
12892
12893 #define _mm256_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12894 (__m128) __builtin_ia32_gather3div8sf ((__v4sf)(__m128)V1OLD, \
12895 (void const *)ADDR, \
12896 (__v4di)(__m256i)INDEX, \
12897 (__mmask8)MASK, (int)SCALE)
12898
12899 #define _mm_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \
12900 (__m128) __builtin_ia32_gather3div4sf ((__v4sf)(__m128)V1OLD, \
12901 (void const *)ADDR, \
12902 (__v2di)(__m128i)INDEX, \
12903 (__mmask8)MASK, (int)SCALE)
12904
12905 #define _mm256_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12906 (__m256d) __builtin_ia32_gather3div4df ((__v4df)(__m256d)V1OLD, \
12907 (void const *)ADDR, \
12908 (__v4di)(__m256i)INDEX, \
12909 (__mmask8)MASK, (int)SCALE)
12910
12911 #define _mm_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \
12912 (__m128d) __builtin_ia32_gather3div2df ((__v2df)(__m128d)V1OLD, \
12913 (void const *)ADDR, \
12914 (__v2di)(__m128i)INDEX, \
12915 (__mmask8)MASK, (int)SCALE)
12916
12917 #define _mm256_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
12918 (__m256i) __builtin_ia32_gather3siv8si ((__v8si)(__m256i)V1OLD, \
12919 (void const *)ADDR, \
12920 (__v8si)(__m256i)INDEX, \
12921 (__mmask8)MASK, (int)SCALE)
12922
12923 #define _mm_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
12924 (__m128i) __builtin_ia32_gather3siv4si ((__v4si)(__m128i)V1OLD, \
12925 (void const *)ADDR, \
12926 (__v4si)(__m128i)INDEX, \
12927 (__mmask8)MASK, (int)SCALE)
12928
12929 #define _mm256_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
12930 (__m256i) __builtin_ia32_gather3siv4di ((__v4di)(__m256i)V1OLD, \
12931 (void const *)ADDR, \
12932 (__v4si)(__m128i)INDEX, \
12933 (__mmask8)MASK, (int)SCALE)
12934
12935 #define _mm_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
12936 (__m128i) __builtin_ia32_gather3siv2di ((__v2di)(__m128i)V1OLD, \
12937 (void const *)ADDR, \
12938 (__v4si)(__m128i)INDEX, \
12939 (__mmask8)MASK, (int)SCALE)
12940
12941 #define _mm256_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
12942 (__m128i) __builtin_ia32_gather3div8si ((__v4si)(__m128i)V1OLD, \
12943 (void const *)ADDR, \
12944 (__v4di)(__m256i)INDEX, \
12945 (__mmask8)MASK, (int)SCALE)
12946
12947 #define _mm_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \
12948 (__m128i) __builtin_ia32_gather3div4si ((__v4si)(__m128i)V1OLD, \
12949 (void const *)ADDR, \
12950 (__v2di)(__m128i)INDEX, \
12951 (__mmask8)MASK, (int)SCALE)
12952
12953 #define _mm256_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
12954 (__m256i) __builtin_ia32_gather3div4di ((__v4di)(__m256i)V1OLD, \
12955 (void const *)ADDR, \
12956 (__v4di)(__m256i)INDEX, \
12957 (__mmask8)MASK, (int)SCALE)
12958
12959 #define _mm_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \
12960 (__m128i) __builtin_ia32_gather3div2di ((__v2di)(__m128i)V1OLD, \
12961 (void const *)ADDR, \
12962 (__v2di)(__m128i)INDEX, \
12963 (__mmask8)MASK, (int)SCALE)
12964
12965 #define _mm256_i32scatter_ps(ADDR, INDEX, V1, SCALE) \
12966 __builtin_ia32_scattersiv8sf ((void *)ADDR, (__mmask8)0xFF, \
12967 (__v8si)(__m256i)INDEX, \
12968 (__v8sf)(__m256)V1, (int)SCALE)
12969
12970 #define _mm256_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
12971 __builtin_ia32_scattersiv8sf ((void *)ADDR, (__mmask8)MASK, \
12972 (__v8si)(__m256i)INDEX, \
12973 (__v8sf)(__m256)V1, (int)SCALE)
12974
12975 #define _mm_i32scatter_ps(ADDR, INDEX, V1, SCALE) \
12976 __builtin_ia32_scattersiv4sf ((void *)ADDR, (__mmask8)0xFF, \
12977 (__v4si)(__m128i)INDEX, \
12978 (__v4sf)(__m128)V1, (int)SCALE)
12979
12980 #define _mm_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
12981 __builtin_ia32_scattersiv4sf ((void *)ADDR, (__mmask8)MASK, \
12982 (__v4si)(__m128i)INDEX, \
12983 (__v4sf)(__m128)V1, (int)SCALE)
12984
12985 #define _mm256_i32scatter_pd(ADDR, INDEX, V1, SCALE) \
12986 __builtin_ia32_scattersiv4df ((void *)ADDR, (__mmask8)0xFF, \
12987 (__v4si)(__m128i)INDEX, \
12988 (__v4df)(__m256d)V1, (int)SCALE)
12989
12990 #define _mm256_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
12991 __builtin_ia32_scattersiv4df ((void *)ADDR, (__mmask8)MASK, \
12992 (__v4si)(__m128i)INDEX, \
12993 (__v4df)(__m256d)V1, (int)SCALE)
12994
12995 #define _mm_i32scatter_pd(ADDR, INDEX, V1, SCALE) \
12996 __builtin_ia32_scattersiv2df ((void *)ADDR, (__mmask8)0xFF, \
12997 (__v4si)(__m128i)INDEX, \
12998 (__v2df)(__m128d)V1, (int)SCALE)
12999
13000 #define _mm_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13001 __builtin_ia32_scattersiv2df ((void *)ADDR, (__mmask8)MASK, \
13002 (__v4si)(__m128i)INDEX, \
13003 (__v2df)(__m128d)V1, (int)SCALE)
13004
13005 #define _mm256_i64scatter_ps(ADDR, INDEX, V1, SCALE) \
13006 __builtin_ia32_scatterdiv8sf ((void *)ADDR, (__mmask8)0xFF, \
13007 (__v4di)(__m256i)INDEX, \
13008 (__v4sf)(__m128)V1, (int)SCALE)
13009
13010 #define _mm256_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13011 __builtin_ia32_scatterdiv8sf ((void *)ADDR, (__mmask8)MASK, \
13012 (__v4di)(__m256i)INDEX, \
13013 (__v4sf)(__m128)V1, (int)SCALE)
13014
13015 #define _mm_i64scatter_ps(ADDR, INDEX, V1, SCALE) \
13016 __builtin_ia32_scatterdiv4sf ((void *)ADDR, (__mmask8)0xFF, \
13017 (__v2di)(__m128i)INDEX, \
13018 (__v4sf)(__m128)V1, (int)SCALE)
13019
13020 #define _mm_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \
13021 __builtin_ia32_scatterdiv4sf ((void *)ADDR, (__mmask8)MASK, \
13022 (__v2di)(__m128i)INDEX, \
13023 (__v4sf)(__m128)V1, (int)SCALE)
13024
13025 #define _mm256_i64scatter_pd(ADDR, INDEX, V1, SCALE) \
13026 __builtin_ia32_scatterdiv4df ((void *)ADDR, (__mmask8)0xFF, \
13027 (__v4di)(__m256i)INDEX, \
13028 (__v4df)(__m256d)V1, (int)SCALE)
13029
13030 #define _mm256_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13031 __builtin_ia32_scatterdiv4df ((void *)ADDR, (__mmask8)MASK, \
13032 (__v4di)(__m256i)INDEX, \
13033 (__v4df)(__m256d)V1, (int)SCALE)
13034
13035 #define _mm_i64scatter_pd(ADDR, INDEX, V1, SCALE) \
13036 __builtin_ia32_scatterdiv2df ((void *)ADDR, (__mmask8)0xFF, \
13037 (__v2di)(__m128i)INDEX, \
13038 (__v2df)(__m128d)V1, (int)SCALE)
13039
13040 #define _mm_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \
13041 __builtin_ia32_scatterdiv2df ((void *)ADDR, (__mmask8)MASK, \
13042 (__v2di)(__m128i)INDEX, \
13043 (__v2df)(__m128d)V1, (int)SCALE)
13044
13045 #define _mm256_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \
13046 __builtin_ia32_scattersiv8si ((void *)ADDR, (__mmask8)0xFF, \
13047 (__v8si)(__m256i)INDEX, \
13048 (__v8si)(__m256i)V1, (int)SCALE)
13049
13050 #define _mm256_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13051 __builtin_ia32_scattersiv8si ((void *)ADDR, (__mmask8)MASK, \
13052 (__v8si)(__m256i)INDEX, \
13053 (__v8si)(__m256i)V1, (int)SCALE)
13054
13055 #define _mm_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \
13056 __builtin_ia32_scattersiv4si ((void *)ADDR, (__mmask8)0xFF, \
13057 (__v4si)(__m128i)INDEX, \
13058 (__v4si)(__m128i)V1, (int)SCALE)
13059
13060 #define _mm_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13061 __builtin_ia32_scattersiv4si ((void *)ADDR, (__mmask8)MASK, \
13062 (__v4si)(__m128i)INDEX, \
13063 (__v4si)(__m128i)V1, (int)SCALE)
13064
13065 #define _mm256_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \
13066 __builtin_ia32_scattersiv4di ((void *)ADDR, (__mmask8)0xFF, \
13067 (__v4si)(__m128i)INDEX, \
13068 (__v4di)(__m256i)V1, (int)SCALE)
13069
13070 #define _mm256_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13071 __builtin_ia32_scattersiv4di ((void *)ADDR, (__mmask8)MASK, \
13072 (__v4si)(__m128i)INDEX, \
13073 (__v4di)(__m256i)V1, (int)SCALE)
13074
13075 #define _mm_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \
13076 __builtin_ia32_scattersiv2di ((void *)ADDR, (__mmask8)0xFF, \
13077 (__v4si)(__m128i)INDEX, \
13078 (__v2di)(__m128i)V1, (int)SCALE)
13079
13080 #define _mm_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13081 __builtin_ia32_scattersiv2di ((void *)ADDR, (__mmask8)MASK, \
13082 (__v4si)(__m128i)INDEX, \
13083 (__v2di)(__m128i)V1, (int)SCALE)
13084
13085 #define _mm256_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \
13086 __builtin_ia32_scatterdiv8si ((void *)ADDR, (__mmask8)0xFF, \
13087 (__v4di)(__m256i)INDEX, \
13088 (__v4si)(__m128i)V1, (int)SCALE)
13089
13090 #define _mm256_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13091 __builtin_ia32_scatterdiv8si ((void *)ADDR, (__mmask8)MASK, \
13092 (__v4di)(__m256i)INDEX, \
13093 (__v4si)(__m128i)V1, (int)SCALE)
13094
13095 #define _mm_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \
13096 __builtin_ia32_scatterdiv4si ((void *)ADDR, (__mmask8)0xFF, \
13097 (__v2di)(__m128i)INDEX, \
13098 (__v4si)(__m128i)V1, (int)SCALE)
13099
13100 #define _mm_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \
13101 __builtin_ia32_scatterdiv4si ((void *)ADDR, (__mmask8)MASK, \
13102 (__v2di)(__m128i)INDEX, \
13103 (__v4si)(__m128i)V1, (int)SCALE)
13104
13105 #define _mm256_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \
13106 __builtin_ia32_scatterdiv4di ((void *)ADDR, (__mmask8)0xFF, \
13107 (__v4di)(__m256i)INDEX, \
13108 (__v4di)(__m256i)V1, (int)SCALE)
13109
13110 #define _mm256_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13111 __builtin_ia32_scatterdiv4di ((void *)ADDR, (__mmask8)MASK, \
13112 (__v4di)(__m256i)INDEX, \
13113 (__v4di)(__m256i)V1, (int)SCALE)
13114
13115 #define _mm_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \
13116 __builtin_ia32_scatterdiv2di ((void *)ADDR, (__mmask8)0xFF, \
13117 (__v2di)(__m128i)INDEX, \
13118 (__v2di)(__m128i)V1, (int)SCALE)
13119
13120 #define _mm_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \
13121 __builtin_ia32_scatterdiv2di ((void *)ADDR, (__mmask8)MASK, \
13122 (__v2di)(__m128i)INDEX, \
13123 (__v2di)(__m128i)V1, (int)SCALE)
13124
13125 #define _mm256_mask_shuffle_epi32(W, U, X, C) \
13126 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \
13127 (__v8si)(__m256i)(W), \
13128 (__mmask8)(U)))
13129
13130 #define _mm256_maskz_shuffle_epi32(U, X, C) \
13131 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \
13132 (__v8si)(__m256i)_mm256_setzero_si256(), \
13133 (__mmask8)(U)))
13134
13135 #define _mm_mask_shuffle_epi32(W, U, X, C) \
13136 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \
13137 (__v4si)(__m128i)(W), \
13138 (__mmask8)(U)))
13139
13140 #define _mm_maskz_shuffle_epi32(U, X, C) \
13141 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \
13142 (__v4si)(__m128i)_mm_setzero_si128 (), \
13143 (__mmask8)(U)))
13144
13145 #define _mm256_rol_epi64(A, B) \
13146 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13147 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13148 (__mmask8)-1))
13149
13150 #define _mm256_mask_rol_epi64(W, U, A, B) \
13151 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13152 (__v4di)(__m256i)(W), \
13153 (__mmask8)(U)))
13154
13155 #define _mm256_maskz_rol_epi64(U, A, B) \
13156 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13157 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13158 (__mmask8)(U)))
13159
13160 #define _mm_rol_epi64(A, B) \
13161 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13162 (__v2di)(__m128i)_mm_setzero_di(), \
13163 (__mmask8)-1))
13164
13165 #define _mm_mask_rol_epi64(W, U, A, B) \
13166 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13167 (__v2di)(__m128i)(W), \
13168 (__mmask8)(U)))
13169
13170 #define _mm_maskz_rol_epi64(U, A, B) \
13171 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13172 (__v2di)(__m128i)_mm_setzero_di(), \
13173 (__mmask8)(U)))
13174
13175 #define _mm256_ror_epi64(A, B) \
13176 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13177 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13178 (__mmask8)-1))
13179
13180 #define _mm256_mask_ror_epi64(W, U, A, B) \
13181 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13182 (__v4di)(__m256i)(W), \
13183 (__mmask8)(U)))
13184
13185 #define _mm256_maskz_ror_epi64(U, A, B) \
13186 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \
13187 (__v4di)(__m256i)_mm256_setzero_si256 (),\
13188 (__mmask8)(U)))
13189
13190 #define _mm_ror_epi64(A, B) \
13191 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13192 (__v2di)(__m128i)_mm_setzero_di(), \
13193 (__mmask8)-1))
13194
13195 #define _mm_mask_ror_epi64(W, U, A, B) \
13196 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13197 (__v2di)(__m128i)(W), \
13198 (__mmask8)(U)))
13199
13200 #define _mm_maskz_ror_epi64(U, A, B) \
13201 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \
13202 (__v2di)(__m128i)_mm_setzero_di(), \
13203 (__mmask8)(U)))
13204
13205 #define _mm256_rol_epi32(A, B) \
13206 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13207 (__v8si)(__m256i)_mm256_setzero_si256(),\
13208 (__mmask8)-1))
13209
13210 #define _mm256_mask_rol_epi32(W, U, A, B) \
13211 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13212 (__v8si)(__m256i)(W), \
13213 (__mmask8)(U)))
13214
13215 #define _mm256_maskz_rol_epi32(U, A, B) \
13216 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \
13217 (__v8si)(__m256i)_mm256_setzero_si256(),\
13218 (__mmask8)(U)))
13219
13220 #define _mm_rol_epi32(A, B) \
13221 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13222 (__v4si)(__m128i)_mm_setzero_si128 (), \
13223 (__mmask8)-1))
13224
13225 #define _mm_mask_rol_epi32(W, U, A, B) \
13226 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13227 (__v4si)(__m128i)(W), \
13228 (__mmask8)(U)))
13229
13230 #define _mm_maskz_rol_epi32(U, A, B) \
13231 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \
13232 (__v4si)(__m128i)_mm_setzero_si128 (), \
13233 (__mmask8)(U)))
13234
13235 #define _mm256_ror_epi32(A, B) \
13236 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13237 (__v8si)(__m256i)_mm256_setzero_si256(),\
13238 (__mmask8)-1))
13239
13240 #define _mm256_mask_ror_epi32(W, U, A, B) \
13241 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13242 (__v8si)(__m256i)(W), \
13243 (__mmask8)(U)))
13244
13245 #define _mm256_maskz_ror_epi32(U, A, B) \
13246 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \
13247 (__v8si)(__m256i)_mm256_setzero_si256(),\
13248 (__mmask8)(U)))
13249
13250 #define _mm_ror_epi32(A, B) \
13251 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13252 (__v4si)(__m128i)_mm_setzero_si128 (), \
13253 (__mmask8)-1))
13254
13255 #define _mm_mask_ror_epi32(W, U, A, B) \
13256 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13257 (__v4si)(__m128i)(W), \
13258 (__mmask8)(U)))
13259
13260 #define _mm_maskz_ror_epi32(U, A, B) \
13261 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \
13262 (__v4si)(__m128i)_mm_setzero_si128 (), \
13263 (__mmask8)(U)))
13264
13265 #define _mm256_alignr_epi32(X, Y, C) \
13266 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13267 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(X), (__mmask8)-1))
13268
13269 #define _mm256_mask_alignr_epi32(W, U, X, Y, C) \
13270 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13271 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(W), (__mmask8)(U)))
13272
13273 #define _mm256_maskz_alignr_epi32(U, X, Y, C) \
13274 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \
13275 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)_mm256_setzero_si256 (),\
13276 (__mmask8)(U)))
13277
13278 #define _mm256_alignr_epi64(X, Y, C) \
13279 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13280 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(X), (__mmask8)-1))
13281
13282 #define _mm256_mask_alignr_epi64(W, U, X, Y, C) \
13283 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13284 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(W), (__mmask8)(U)))
13285
13286 #define _mm256_maskz_alignr_epi64(U, X, Y, C) \
13287 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \
13288 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)_mm256_setzero_si256 (),\
13289 (__mmask8)(U)))
13290
13291 #define _mm_alignr_epi32(X, Y, C) \
13292 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13293 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(X), (__mmask8)-1))
13294
13295 #define _mm_mask_alignr_epi32(W, U, X, Y, C) \
13296 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13297 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(W), (__mmask8)(U)))
13298
13299 #define _mm_maskz_alignr_epi32(U, X, Y, C) \
13300 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \
13301 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)_mm_setzero_si128(),\
13302 (__mmask8)(U)))
13303
13304 #define _mm_alignr_epi64(X, Y, C) \
13305 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13306 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
13307
13308 #define _mm_mask_alignr_epi64(W, U, X, Y, C) \
13309 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13310 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
13311
13312 #define _mm_maskz_alignr_epi64(U, X, Y, C) \
13313 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \
13314 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)_mm_setzero_si128(),\
13315 (__mmask8)(U)))
13316
13317 #define _mm_mask_cvtps_ph(W, U, A, I) \
13318 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I), \
13319 (__v8hi)(__m128i) (W), (__mmask8) (U)))
13320
13321 #define _mm_maskz_cvtps_ph(U, A, I) \
13322 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I), \
13323 (__v8hi)(__m128i) _mm_setzero_hi(), (__mmask8) (U)))
13324
13325 #define _mm256_mask_cvtps_ph(W, U, A, I) \
13326 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I), \
13327 (__v8hi)(__m128i) (W), (__mmask8) (U)))
13328
13329 #define _mm256_maskz_cvtps_ph(U, A, I) \
13330 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I), \
13331 (__v8hi)(__m128i) _mm_setzero_hi(), (__mmask8) (U)))
13332
13333 #define _mm256_mask_srai_epi32(W, U, A, B) \
13334 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \
13335 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
13336
13337 #define _mm256_maskz_srai_epi32(U, A, B) \
13338 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \
13339 (int)(B), (__v8si)_mm256_setzero_si256(), (__mmask8)(U)))
13340
13341 #define _mm_mask_srai_epi32(W, U, A, B) \
13342 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \
13343 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
13344
13345 #define _mm_maskz_srai_epi32(U, A, B) \
13346 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \
13347 (int)(B), (__v4si)_mm_setzero_si128(), (__mmask8)(U)))
13348
13349 #define _mm256_srai_epi64(A, B) \
13350 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13351 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)-1))
13352
13353 #define _mm256_mask_srai_epi64(W, U, A, B) \
13354 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13355 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
13356
13357 #define _mm256_maskz_srai_epi64(U, A, B) \
13358 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \
13359 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
13360
13361 #define _mm_srai_epi64(A, B) \
13362 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13363 (int)(B), (__v2di)_mm_setzero_si128(), (__mmask8)-1))
13364
13365 #define _mm_mask_srai_epi64(W, U, A, B) \
13366 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13367 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
13368
13369 #define _mm_maskz_srai_epi64(U, A, B) \
13370 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \
13371 (int)(B), (__v2di)_mm_setzero_si128(), (__mmask8)(U)))
13372
13373 #define _mm256_mask_permutex_pd(W, U, A, B) \
13374 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \
13375 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
13376
13377 #define _mm256_maskz_permutex_pd(U, A, B) \
13378 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \
13379 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd(), (__mmask8)(U)))
13380
13381 #define _mm256_mask_permute_pd(W, U, X, C) \
13382 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \
13383 (__v4df)(__m256d)(W), \
13384 (__mmask8)(U)))
13385
13386 #define _mm256_maskz_permute_pd(U, X, C) \
13387 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \
13388 (__v4df)(__m256d)_mm256_setzero_pd(), \
13389 (__mmask8)(U)))
13390
13391 #define _mm256_mask_permute_ps(W, U, X, C) \
13392 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \
13393 (__v8sf)(__m256)(W), (__mmask8)(U)))
13394
13395 #define _mm256_maskz_permute_ps(U, X, C) \
13396 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \
13397 (__v8sf)(__m256)_mm256_setzero_ps(), \
13398 (__mmask8)(U)))
13399
13400 #define _mm_mask_permute_pd(W, U, X, C) \
13401 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \
13402 (__v2df)(__m128d)(W), (__mmask8)(U)))
13403
13404 #define _mm_maskz_permute_pd(U, X, C) \
13405 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \
13406 (__v2df)(__m128d)_mm_setzero_pd(), \
13407 (__mmask8)(U)))
13408
13409 #define _mm_mask_permute_ps(W, U, X, C) \
13410 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \
13411 (__v4sf)(__m128)(W), (__mmask8)(U)))
13412
13413 #define _mm_maskz_permute_ps(U, X, C) \
13414 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \
13415 (__v4sf)(__m128)_mm_setzero_ps(), \
13416 (__mmask8)(U)))
13417
13418 #define _mm256_mask_blend_pd(__U, __A, __W) \
13419 ((__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) (__A), \
13420 (__v4df) (__W), \
13421 (__mmask8) (__U)))
13422
13423 #define _mm256_mask_blend_ps(__U, __A, __W) \
13424 ((__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) (__A), \
13425 (__v8sf) (__W), \
13426 (__mmask8) (__U)))
13427
13428 #define _mm256_mask_blend_epi64(__U, __A, __W) \
13429 ((__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) (__A), \
13430 (__v4di) (__W), \
13431 (__mmask8) (__U)))
13432
13433 #define _mm256_mask_blend_epi32(__U, __A, __W) \
13434 ((__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) (__A), \
13435 (__v8si) (__W), \
13436 (__mmask8) (__U)))
13437
13438 #define _mm_mask_blend_pd(__U, __A, __W) \
13439 ((__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) (__A), \
13440 (__v2df) (__W), \
13441 (__mmask8) (__U)))
13442
13443 #define _mm_mask_blend_ps(__U, __A, __W) \
13444 ((__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) (__A), \
13445 (__v4sf) (__W), \
13446 (__mmask8) (__U)))
13447
13448 #define _mm_mask_blend_epi64(__U, __A, __W) \
13449 ((__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) (__A), \
13450 (__v2di) (__W), \
13451 (__mmask8) (__U)))
13452
13453 #define _mm_mask_blend_epi32(__U, __A, __W) \
13454 ((__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) (__A), \
13455 (__v4si) (__W), \
13456 (__mmask8) (__U)))
13457
13458 #define _mm256_cmp_epu32_mask(X, Y, P) \
13459 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \
13460 (__v8si)(__m256i)(Y), (int)(P),\
13461 (__mmask8)-1))
13462
13463 #define _mm256_cmp_epi64_mask(X, Y, P) \
13464 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \
13465 (__v4di)(__m256i)(Y), (int)(P),\
13466 (__mmask8)-1))
13467
13468 #define _mm256_cmp_epi32_mask(X, Y, P) \
13469 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \
13470 (__v8si)(__m256i)(Y), (int)(P),\
13471 (__mmask8)-1))
13472
13473 #define _mm256_cmp_epu64_mask(X, Y, P) \
13474 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \
13475 (__v4di)(__m256i)(Y), (int)(P),\
13476 (__mmask8)-1))
13477
13478 #define _mm256_cmp_pd_mask(X, Y, P) \
13479 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \
13480 (__v4df)(__m256d)(Y), (int)(P),\
13481 (__mmask8)-1))
13482
13483 #define _mm256_cmp_ps_mask(X, Y, P) \
13484 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \
13485 (__v8sf)(__m256)(Y), (int)(P),\
13486 (__mmask8)-1))
13487
13488 #define _mm256_mask_cmp_epi64_mask(M, X, Y, P) \
13489 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \
13490 (__v4di)(__m256i)(Y), (int)(P),\
13491 (__mmask8)(M)))
13492
13493 #define _mm256_mask_cmp_epi32_mask(M, X, Y, P) \
13494 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \
13495 (__v8si)(__m256i)(Y), (int)(P),\
13496 (__mmask8)(M)))
13497
13498 #define _mm256_mask_cmp_epu64_mask(M, X, Y, P) \
13499 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \
13500 (__v4di)(__m256i)(Y), (int)(P),\
13501 (__mmask8)(M)))
13502
13503 #define _mm256_mask_cmp_epu32_mask(M, X, Y, P) \
13504 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \
13505 (__v8si)(__m256i)(Y), (int)(P),\
13506 (__mmask8)(M)))
13507
13508 #define _mm256_mask_cmp_pd_mask(M, X, Y, P) \
13509 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \
13510 (__v4df)(__m256d)(Y), (int)(P),\
13511 (__mmask8)(M)))
13512
13513 #define _mm256_mask_cmp_ps_mask(M, X, Y, P) \
13514 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \
13515 (__v8sf)(__m256)(Y), (int)(P),\
13516 (__mmask8)(M)))
13517
13518 #define _mm_cmp_epi64_mask(X, Y, P) \
13519 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \
13520 (__v2di)(__m128i)(Y), (int)(P),\
13521 (__mmask8)-1))
13522
13523 #define _mm_cmp_epi32_mask(X, Y, P) \
13524 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \
13525 (__v4si)(__m128i)(Y), (int)(P),\
13526 (__mmask8)-1))
13527
13528 #define _mm_cmp_epu64_mask(X, Y, P) \
13529 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \
13530 (__v2di)(__m128i)(Y), (int)(P),\
13531 (__mmask8)-1))
13532
13533 #define _mm_cmp_epu32_mask(X, Y, P) \
13534 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \
13535 (__v4si)(__m128i)(Y), (int)(P),\
13536 (__mmask8)-1))
13537
13538 #define _mm_cmp_pd_mask(X, Y, P) \
13539 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \
13540 (__v2df)(__m128d)(Y), (int)(P),\
13541 (__mmask8)-1))
13542
13543 #define _mm_cmp_ps_mask(X, Y, P) \
13544 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \
13545 (__v4sf)(__m128)(Y), (int)(P),\
13546 (__mmask8)-1))
13547
13548 #define _mm_mask_cmp_epi64_mask(M, X, Y, P) \
13549 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \
13550 (__v2di)(__m128i)(Y), (int)(P),\
13551 (__mmask8)(M)))
13552
13553 #define _mm_mask_cmp_epi32_mask(M, X, Y, P) \
13554 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \
13555 (__v4si)(__m128i)(Y), (int)(P),\
13556 (__mmask8)(M)))
13557
13558 #define _mm_mask_cmp_epu64_mask(M, X, Y, P) \
13559 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \
13560 (__v2di)(__m128i)(Y), (int)(P),\
13561 (__mmask8)(M)))
13562
13563 #define _mm_mask_cmp_epu32_mask(M, X, Y, P) \
13564 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \
13565 (__v4si)(__m128i)(Y), (int)(P),\
13566 (__mmask8)(M)))
13567
13568 #define _mm_mask_cmp_pd_mask(M, X, Y, P) \
13569 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \
13570 (__v2df)(__m128d)(Y), (int)(P),\
13571 (__mmask8)(M)))
13572
13573 #define _mm_mask_cmp_ps_mask(M, X, Y, P) \
13574 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \
13575 (__v4sf)(__m128)(Y), (int)(P),\
13576 (__mmask8)(M)))
13577
13578 #endif
13579
13580 #define _mm256_permutexvar_ps(A, B) _mm256_permutevar8x32_ps((B), (A))
13581
13582 #ifdef __DISABLE_AVX512VL__
13583 #undef __DISABLE_AVX512VL__
13584 #pragma GCC pop_options
13585 #endif /* __DISABLE_AVX512VL__ */
13586
13587 #endif /* _AVX512VLINTRIN_H_INCLUDED */
13588