Merge branch 'vendor/GCC50' - gcc 5.0 snapshot 1 FEB 2015
[dragonfly.git] / contrib / gcc-5.0 / gcc / config / i386 / avx512vlintrin.h
1 /* Copyright (C) 2014-2015 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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
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__))
2697 _mm256_broadcast_f32x4 (__m128 __A)
2698 {
2699   return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2700                                                           (__v8sf)_mm256_undefined_pd (),
2701                                                           (__mmask8) -
2702                                                           1);
2703 }
2704
2705 extern __inline __m256
2706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2707 _mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
2708 {
2709   return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2710                                                           (__v8sf) __O,
2711                                                           __M);
2712 }
2713
2714 extern __inline __m256
2715 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2716 _mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
2717 {
2718   return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
2719                                                           (__v8sf)
2720                                                           _mm256_setzero_ps (),
2721                                                           __M);
2722 }
2723
2724 extern __inline __m256i
2725 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2726 _mm256_broadcast_i32x4 (__m128i __A)
2727 {
2728   return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2729                                                            __A,
2730                                                            (__v8si)_mm256_undefined_si256 (),
2731                                                            (__mmask8) -
2732                                                            1);
2733 }
2734
2735 extern __inline __m256i
2736 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2737 _mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
2738 {
2739   return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2740                                                            __A,
2741                                                            (__v8si)
2742                                                            __O, __M);
2743 }
2744
2745 extern __inline __m256i
2746 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2747 _mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
2748 {
2749   return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
2750                                                            __A,
2751                                                            (__v8si)
2752                                                            _mm256_setzero_si256 (),
2753                                                            __M);
2754 }
2755
2756 extern __inline __m256i
2757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2758 _mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2759 {
2760   return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2761                                                     (__v8si) __W,
2762                                                     (__mmask8) __U);
2763 }
2764
2765 extern __inline __m256i
2766 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2767 _mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2768 {
2769   return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
2770                                                     (__v8si)
2771                                                     _mm256_setzero_si256 (),
2772                                                     (__mmask8) __U);
2773 }
2774
2775 extern __inline __m128i
2776 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2777 _mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2778 {
2779   return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2780                                                     (__v4si) __W,
2781                                                     (__mmask8) __U);
2782 }
2783
2784 extern __inline __m128i
2785 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2786 _mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
2787 {
2788   return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
2789                                                     (__v4si)
2790                                                     _mm_setzero_si128 (),
2791                                                     (__mmask8) __U);
2792 }
2793
2794 extern __inline __m256i
2795 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2796 _mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2797 {
2798   return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2799                                                     (__v4di) __W,
2800                                                     (__mmask8) __U);
2801 }
2802
2803 extern __inline __m256i
2804 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2805 _mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2806 {
2807   return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
2808                                                     (__v4di)
2809                                                     _mm256_setzero_si256 (),
2810                                                     (__mmask8) __U);
2811 }
2812
2813 extern __inline __m128i
2814 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2815 _mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2816 {
2817   return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2818                                                     (__v2di) __W,
2819                                                     (__mmask8) __U);
2820 }
2821
2822 extern __inline __m128i
2823 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2824 _mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
2825 {
2826   return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
2827                                                     (__v2di)
2828                                                     _mm_setzero_si128 (),
2829                                                     (__mmask8) __U);
2830 }
2831
2832 extern __inline __m256i
2833 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2834 _mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2835 {
2836   return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2837                                                     (__v8si) __W,
2838                                                     (__mmask8) __U);
2839 }
2840
2841 extern __inline __m256i
2842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2843 _mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2844 {
2845   return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
2846                                                     (__v8si)
2847                                                     _mm256_setzero_si256 (),
2848                                                     (__mmask8) __U);
2849 }
2850
2851 extern __inline __m128i
2852 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2853 _mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2854 {
2855   return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2856                                                     (__v4si) __W,
2857                                                     (__mmask8) __U);
2858 }
2859
2860 extern __inline __m128i
2861 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2862 _mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
2863 {
2864   return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
2865                                                     (__v4si)
2866                                                     _mm_setzero_si128 (),
2867                                                     (__mmask8) __U);
2868 }
2869
2870 extern __inline __m256i
2871 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2872 _mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2873 {
2874   return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2875                                                     (__v4di) __W,
2876                                                     (__mmask8) __U);
2877 }
2878
2879 extern __inline __m256i
2880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2881 _mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2882 {
2883   return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
2884                                                     (__v4di)
2885                                                     _mm256_setzero_si256 (),
2886                                                     (__mmask8) __U);
2887 }
2888
2889 extern __inline __m128i
2890 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2891 _mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
2892 {
2893   return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2894                                                     (__v2di) __W,
2895                                                     (__mmask8) __U);
2896 }
2897
2898 extern __inline __m128i
2899 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2900 _mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
2901 {
2902   return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
2903                                                     (__v2di)
2904                                                     _mm_setzero_si128 (),
2905                                                     (__mmask8) __U);
2906 }
2907
2908 extern __inline __m256i
2909 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2910 _mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
2911 {
2912   return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2913                                                     (__v4di) __W,
2914                                                     (__mmask8) __U);
2915 }
2916
2917 extern __inline __m256i
2918 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2919 _mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2920 {
2921   return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
2922                                                     (__v4di)
2923                                                     _mm256_setzero_si256 (),
2924                                                     (__mmask8) __U);
2925 }
2926
2927 extern __inline __m128i
2928 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2929 _mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
2930 {
2931   return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2932                                                     (__v2di) __W,
2933                                                     (__mmask8) __U);
2934 }
2935
2936 extern __inline __m128i
2937 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2938 _mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
2939 {
2940   return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
2941                                                     (__v2di)
2942                                                     _mm_setzero_si128 (),
2943                                                     (__mmask8) __U);
2944 }
2945
2946 extern __inline __m256i
2947 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2948 _mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
2949 {
2950   return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2951                                                     (__v8si) __W,
2952                                                     (__mmask8) __U);
2953 }
2954
2955 extern __inline __m256i
2956 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2957 _mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
2958 {
2959   return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
2960                                                     (__v8si)
2961                                                     _mm256_setzero_si256 (),
2962                                                     (__mmask8) __U);
2963 }
2964
2965 extern __inline __m128i
2966 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2967 _mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
2968 {
2969   return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
2970                                                     (__v4si) __W,
2971                                                     (__mmask8) __U);
2972 }
2973
2974 extern __inline __m128i
2975 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2976 _mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
2977 {
2978   return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
2979                                                     (__v4si)
2980                                                     _mm_setzero_si128 (),
2981                                                     (__mmask8) __U);
2982 }
2983
2984 extern __inline __m256i
2985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2986 _mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
2987 {
2988   return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
2989                                                     (__v4di) __W,
2990                                                     (__mmask8) __U);
2991 }
2992
2993 extern __inline __m256i
2994 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
2995 _mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
2996 {
2997   return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
2998                                                     (__v4di)
2999                                                     _mm256_setzero_si256 (),
3000                                                     (__mmask8) __U);
3001 }
3002
3003 extern __inline __m128i
3004 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3005 _mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3006 {
3007   return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3008                                                     (__v2di) __W,
3009                                                     (__mmask8) __U);
3010 }
3011
3012 extern __inline __m128i
3013 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3014 _mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
3015 {
3016   return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
3017                                                     (__v2di)
3018                                                     _mm_setzero_si128 (),
3019                                                     (__mmask8) __U);
3020 }
3021
3022 extern __inline __m256i
3023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3024 _mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
3025 {
3026   return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3027                                                     (__v8si) __W,
3028                                                     (__mmask8) __U);
3029 }
3030
3031 extern __inline __m256i
3032 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3033 _mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3034 {
3035   return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
3036                                                     (__v8si)
3037                                                     _mm256_setzero_si256 (),
3038                                                     (__mmask8) __U);
3039 }
3040
3041 extern __inline __m128i
3042 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3043 _mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
3044 {
3045   return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3046                                                     (__v4si) __W,
3047                                                     (__mmask8) __U);
3048 }
3049
3050 extern __inline __m128i
3051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3052 _mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
3053 {
3054   return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
3055                                                     (__v4si)
3056                                                     _mm_setzero_si128 (),
3057                                                     (__mmask8) __U);
3058 }
3059
3060 extern __inline __m256i
3061 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3062 _mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
3063 {
3064   return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3065                                                     (__v4di) __W,
3066                                                     (__mmask8) __U);
3067 }
3068
3069 extern __inline __m256i
3070 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3071 _mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3072 {
3073   return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
3074                                                     (__v4di)
3075                                                     _mm256_setzero_si256 (),
3076                                                     (__mmask8) __U);
3077 }
3078
3079 extern __inline __m128i
3080 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3081 _mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
3082 {
3083   return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3084                                                     (__v2di) __W,
3085                                                     (__mmask8) __U);
3086 }
3087
3088 extern __inline __m128i
3089 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3090 _mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
3091 {
3092   return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
3093                                                     (__v2di)
3094                                                     _mm_setzero_si128 (),
3095                                                     (__mmask8) __U);
3096 }
3097
3098 extern __inline __m256i
3099 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3100 _mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
3101 {
3102   return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3103                                                     (__v4di) __W,
3104                                                     (__mmask8) __U);
3105 }
3106
3107 extern __inline __m256i
3108 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3109 _mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3110 {
3111   return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
3112                                                     (__v4di)
3113                                                     _mm256_setzero_si256 (),
3114                                                     (__mmask8) __U);
3115 }
3116
3117 extern __inline __m128i
3118 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3119 _mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
3120 {
3121   return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3122                                                     (__v2di) __W,
3123                                                     (__mmask8) __U);
3124 }
3125
3126 extern __inline __m128i
3127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3128 _mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
3129 {
3130   return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
3131                                                     (__v2di)
3132                                                     _mm_setzero_si128 (),
3133                                                     (__mmask8) __U);
3134 }
3135
3136 extern __inline __m256d
3137 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3138 _mm256_rcp14_pd (__m256d __A)
3139 {
3140   return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3141                                               (__v4df)
3142                                               _mm256_setzero_pd (),
3143                                               (__mmask8) -1);
3144 }
3145
3146 extern __inline __m256d
3147 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3148 _mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3149 {
3150   return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3151                                               (__v4df) __W,
3152                                               (__mmask8) __U);
3153 }
3154
3155 extern __inline __m256d
3156 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3157 _mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
3158 {
3159   return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
3160                                               (__v4df)
3161                                               _mm256_setzero_pd (),
3162                                               (__mmask8) __U);
3163 }
3164
3165 extern __inline __m128d
3166 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3167 _mm_rcp14_pd (__m128d __A)
3168 {
3169   return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3170                                               (__v2df)
3171                                               _mm_setzero_pd (),
3172                                               (__mmask8) -1);
3173 }
3174
3175 extern __inline __m128d
3176 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3177 _mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3178 {
3179   return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3180                                               (__v2df) __W,
3181                                               (__mmask8) __U);
3182 }
3183
3184 extern __inline __m128d
3185 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3186 _mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
3187 {
3188   return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
3189                                               (__v2df)
3190                                               _mm_setzero_pd (),
3191                                               (__mmask8) __U);
3192 }
3193
3194 extern __inline __m256
3195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3196 _mm256_rcp14_ps (__m256 __A)
3197 {
3198   return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3199                                              (__v8sf)
3200                                              _mm256_setzero_ps (),
3201                                              (__mmask8) -1);
3202 }
3203
3204 extern __inline __m256
3205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3206 _mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3207 {
3208   return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3209                                              (__v8sf) __W,
3210                                              (__mmask8) __U);
3211 }
3212
3213 extern __inline __m256
3214 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3215 _mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
3216 {
3217   return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
3218                                              (__v8sf)
3219                                              _mm256_setzero_ps (),
3220                                              (__mmask8) __U);
3221 }
3222
3223 extern __inline __m128
3224 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3225 _mm_rcp14_ps (__m128 __A)
3226 {
3227   return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3228                                              (__v4sf)
3229                                              _mm_setzero_ps (),
3230                                              (__mmask8) -1);
3231 }
3232
3233 extern __inline __m128
3234 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3235 _mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3236 {
3237   return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3238                                              (__v4sf) __W,
3239                                              (__mmask8) __U);
3240 }
3241
3242 extern __inline __m128
3243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3244 _mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
3245 {
3246   return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
3247                                              (__v4sf)
3248                                              _mm_setzero_ps (),
3249                                              (__mmask8) __U);
3250 }
3251
3252 extern __inline __m256d
3253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3254 _mm256_rsqrt14_pd (__m256d __A)
3255 {
3256   return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3257                                                      (__v4df)
3258                                                      _mm256_setzero_pd (),
3259                                                      (__mmask8) -1);
3260 }
3261
3262 extern __inline __m256d
3263 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3264 _mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
3265 {
3266   return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3267                                                      (__v4df) __W,
3268                                                      (__mmask8) __U);
3269 }
3270
3271 extern __inline __m256d
3272 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3273 _mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
3274 {
3275   return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
3276                                                      (__v4df)
3277                                                      _mm256_setzero_pd (),
3278                                                      (__mmask8) __U);
3279 }
3280
3281 extern __inline __m128d
3282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3283 _mm_rsqrt14_pd (__m128d __A)
3284 {
3285   return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3286                                                      (__v2df)
3287                                                      _mm_setzero_pd (),
3288                                                      (__mmask8) -1);
3289 }
3290
3291 extern __inline __m128d
3292 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3293 _mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
3294 {
3295   return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3296                                                      (__v2df) __W,
3297                                                      (__mmask8) __U);
3298 }
3299
3300 extern __inline __m128d
3301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3302 _mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
3303 {
3304   return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
3305                                                      (__v2df)
3306                                                      _mm_setzero_pd (),
3307                                                      (__mmask8) __U);
3308 }
3309
3310 extern __inline __m256
3311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3312 _mm256_rsqrt14_ps (__m256 __A)
3313 {
3314   return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3315                                                     (__v8sf)
3316                                                     _mm256_setzero_ps (),
3317                                                     (__mmask8) -1);
3318 }
3319
3320 extern __inline __m256
3321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3322 _mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
3323 {
3324   return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3325                                                     (__v8sf) __W,
3326                                                     (__mmask8) __U);
3327 }
3328
3329 extern __inline __m256
3330 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3331 _mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
3332 {
3333   return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
3334                                                     (__v8sf)
3335                                                     _mm256_setzero_ps (),
3336                                                     (__mmask8) __U);
3337 }
3338
3339 extern __inline __m128
3340 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3341 _mm_rsqrt14_ps (__m128 __A)
3342 {
3343   return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3344                                                     (__v4sf)
3345                                                     _mm_setzero_ps (),
3346                                                     (__mmask8) -1);
3347 }
3348
3349 extern __inline __m128
3350 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3351 _mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
3352 {
3353   return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3354                                                     (__v4sf) __W,
3355                                                     (__mmask8) __U);
3356 }
3357
3358 extern __inline __m128
3359 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3360 _mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
3361 {
3362   return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
3363                                                     (__v4sf)
3364                                                     _mm_setzero_ps (),
3365                                                     (__mmask8) __U);
3366 }
3367
3368 extern __inline __m256d
3369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3370 _mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A)
3371 {
3372   return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3373                                                   (__v4df) __W,
3374                                                   (__mmask8) __U);
3375 }
3376
3377 extern __inline __m256d
3378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3379 _mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A)
3380 {
3381   return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
3382                                                   (__v4df)
3383                                                   _mm256_setzero_pd (),
3384                                                   (__mmask8) __U);
3385 }
3386
3387 extern __inline __m128d
3388 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3389 _mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A)
3390 {
3391   return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3392                                                   (__v2df) __W,
3393                                                   (__mmask8) __U);
3394 }
3395
3396 extern __inline __m128d
3397 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3398 _mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A)
3399 {
3400   return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
3401                                                   (__v2df)
3402                                                   _mm_setzero_pd (),
3403                                                   (__mmask8) __U);
3404 }
3405
3406 extern __inline __m256
3407 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3408 _mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A)
3409 {
3410   return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3411                                                  (__v8sf) __W,
3412                                                  (__mmask8) __U);
3413 }
3414
3415 extern __inline __m256
3416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3417 _mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A)
3418 {
3419   return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
3420                                                  (__v8sf)
3421                                                  _mm256_setzero_ps (),
3422                                                  (__mmask8) __U);
3423 }
3424
3425 extern __inline __m128
3426 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
3427 _mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A)
3428 {
3429   return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
3430                                                  (__v4sf) __W,
3431                                                  (__mmask8)