1/*===---- avx512vlintrin.h - AVX512VL intrinsics ---------------------------===
2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to deal
5 * in the Software without restriction, including without limitation the rights
6 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 * copies of the Software, and to permit persons to whom the Software is
8 * furnished to do so, subject to the following conditions:
9 *
10 * The above copyright notice and this permission notice shall be included in
11 * all copies or substantial portions of the Software.
12 *
13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 * THE SOFTWARE.
20 *
21 *===-----------------------------------------------------------------------===
22 */
23
24#ifndef __IMMINTRIN_H
25#error "Never use <avx512vlintrin.h> directly; include <immintrin.h> instead."
26#endif
27
28#ifndef __AVX512VLINTRIN_H
29#define __AVX512VLINTRIN_H
30
31#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl")))
32#define __DEFAULT_FN_ATTRS_BOTH __attribute__((__always_inline__, __nodebug__, __target__("avx512vl, avx512bw")))
33
34/* Integer compare */
35
36static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
37_mm_cmpeq_epi32_mask(__m128i __a, __m128i __b) {
38  return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b,
39                                                  (__mmask8)-1);
40}
41
42static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
43_mm_mask_cmpeq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
44  return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b,
45                                                  __u);
46}
47
48static __inline__ __mmask8 __DEFAULT_FN_ATTRS
49_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {
50  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0,
51                                                (__mmask8)-1);
52}
53
54static __inline__ __mmask8 __DEFAULT_FN_ATTRS
55_mm_mask_cmpeq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
56  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0,
57                                                __u);
58}
59
60static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
61_mm256_cmpeq_epi32_mask(__m256i __a, __m256i __b) {
62  return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b,
63                                                  (__mmask8)-1);
64}
65
66static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
67_mm256_mask_cmpeq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
68  return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b,
69                                                  __u);
70}
71
72static __inline__ __mmask8 __DEFAULT_FN_ATTRS
73_mm256_cmpeq_epu32_mask(__m256i __a, __m256i __b) {
74  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0,
75                                                (__mmask8)-1);
76}
77
78static __inline__ __mmask8 __DEFAULT_FN_ATTRS
79_mm256_mask_cmpeq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
80  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0,
81                                                __u);
82}
83
84static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
85_mm_cmpeq_epi64_mask(__m128i __a, __m128i __b) {
86  return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b,
87                                                  (__mmask8)-1);
88}
89
90static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
91_mm_mask_cmpeq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
92  return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b,
93                                                  __u);
94}
95
96static __inline__ __mmask8 __DEFAULT_FN_ATTRS
97_mm_cmpeq_epu64_mask(__m128i __a, __m128i __b) {
98  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0,
99                                                (__mmask8)-1);
100}
101
102static __inline__ __mmask8 __DEFAULT_FN_ATTRS
103_mm_mask_cmpeq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
104  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0,
105                                                __u);
106}
107
108static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
109_mm256_cmpeq_epi64_mask(__m256i __a, __m256i __b) {
110  return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b,
111                                                  (__mmask8)-1);
112}
113
114static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
115_mm256_mask_cmpeq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
116  return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b,
117                                                  __u);
118}
119
120static __inline__ __mmask8 __DEFAULT_FN_ATTRS
121_mm256_cmpeq_epu64_mask(__m256i __a, __m256i __b) {
122  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0,
123                                                (__mmask8)-1);
124}
125
126static __inline__ __mmask8 __DEFAULT_FN_ATTRS
127_mm256_mask_cmpeq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
128  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0,
129                                                __u);
130}
131
132
133static __inline__ __mmask8 __DEFAULT_FN_ATTRS
134_mm_cmpge_epi32_mask(__m128i __a, __m128i __b) {
135  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5,
136                                               (__mmask8)-1);
137}
138
139static __inline__ __mmask8 __DEFAULT_FN_ATTRS
140_mm_mask_cmpge_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
141  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5,
142                                               __u);
143}
144
145static __inline__ __mmask8 __DEFAULT_FN_ATTRS
146_mm_cmpge_epu32_mask(__m128i __a, __m128i __b) {
147  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5,
148                                                (__mmask8)-1);
149}
150
151static __inline__ __mmask8 __DEFAULT_FN_ATTRS
152_mm_mask_cmpge_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
153  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5,
154                                                __u);
155}
156
157static __inline__ __mmask8 __DEFAULT_FN_ATTRS
158_mm256_cmpge_epi32_mask(__m256i __a, __m256i __b) {
159  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5,
160                                               (__mmask8)-1);
161}
162
163static __inline__ __mmask8 __DEFAULT_FN_ATTRS
164_mm256_mask_cmpge_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
165  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5,
166                                               __u);
167}
168
169static __inline__ __mmask8 __DEFAULT_FN_ATTRS
170_mm256_cmpge_epu32_mask(__m256i __a, __m256i __b) {
171  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5,
172                                                (__mmask8)-1);
173}
174
175static __inline__ __mmask8 __DEFAULT_FN_ATTRS
176_mm256_mask_cmpge_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
177  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5,
178                                                __u);
179}
180
181static __inline__ __mmask8 __DEFAULT_FN_ATTRS
182_mm_cmpge_epi64_mask(__m128i __a, __m128i __b) {
183  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5,
184                                               (__mmask8)-1);
185}
186
187static __inline__ __mmask8 __DEFAULT_FN_ATTRS
188_mm_mask_cmpge_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
189  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5,
190                                               __u);
191}
192
193static __inline__ __mmask8 __DEFAULT_FN_ATTRS
194_mm_cmpge_epu64_mask(__m128i __a, __m128i __b) {
195  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5,
196                                                (__mmask8)-1);
197}
198
199static __inline__ __mmask8 __DEFAULT_FN_ATTRS
200_mm_mask_cmpge_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
201  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5,
202                                                __u);
203}
204
205static __inline__ __mmask8 __DEFAULT_FN_ATTRS
206_mm256_cmpge_epi64_mask(__m256i __a, __m256i __b) {
207  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5,
208                                               (__mmask8)-1);
209}
210
211static __inline__ __mmask8 __DEFAULT_FN_ATTRS
212_mm256_mask_cmpge_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
213  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5,
214                                               __u);
215}
216
217static __inline__ __mmask8 __DEFAULT_FN_ATTRS
218_mm256_cmpge_epu64_mask(__m256i __a, __m256i __b) {
219  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5,
220                                                (__mmask8)-1);
221}
222
223static __inline__ __mmask8 __DEFAULT_FN_ATTRS
224_mm256_mask_cmpge_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
225  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5,
226                                                __u);
227}
228
229static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
230_mm_cmpgt_epi32_mask(__m128i __a, __m128i __b) {
231  return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b,
232                                                  (__mmask8)-1);
233}
234
235static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
236_mm_mask_cmpgt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
237  return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b,
238                                                  __u);
239}
240
241static __inline__ __mmask8 __DEFAULT_FN_ATTRS
242_mm_cmpgt_epu32_mask(__m128i __a, __m128i __b) {
243  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6,
244                                                (__mmask8)-1);
245}
246
247static __inline__ __mmask8 __DEFAULT_FN_ATTRS
248_mm_mask_cmpgt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
249  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6,
250                                                __u);
251}
252
253static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
254_mm256_cmpgt_epi32_mask(__m256i __a, __m256i __b) {
255  return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b,
256                                                  (__mmask8)-1);
257}
258
259static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
260_mm256_mask_cmpgt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
261  return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b,
262                                                  __u);
263}
264
265static __inline__ __mmask8 __DEFAULT_FN_ATTRS
266_mm256_cmpgt_epu32_mask(__m256i __a, __m256i __b) {
267  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6,
268                                                (__mmask8)-1);
269}
270
271static __inline__ __mmask8 __DEFAULT_FN_ATTRS
272_mm256_mask_cmpgt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
273  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6,
274                                                __u);
275}
276
277static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
278_mm_cmpgt_epi64_mask(__m128i __a, __m128i __b) {
279  return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b,
280                                                  (__mmask8)-1);
281}
282
283static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
284_mm_mask_cmpgt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
285  return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b,
286                                                  __u);
287}
288
289static __inline__ __mmask8 __DEFAULT_FN_ATTRS
290_mm_cmpgt_epu64_mask(__m128i __a, __m128i __b) {
291  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6,
292                                                (__mmask8)-1);
293}
294
295static __inline__ __mmask8 __DEFAULT_FN_ATTRS
296_mm_mask_cmpgt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
297  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6,
298                                                __u);
299}
300
301static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
302_mm256_cmpgt_epi64_mask(__m256i __a, __m256i __b) {
303  return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b,
304                                                  (__mmask8)-1);
305}
306
307static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
308_mm256_mask_cmpgt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
309  return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b,
310                                                  __u);
311}
312
313static __inline__ __mmask8 __DEFAULT_FN_ATTRS
314_mm256_cmpgt_epu64_mask(__m256i __a, __m256i __b) {
315  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6,
316                                                (__mmask8)-1);
317}
318
319static __inline__ __mmask8 __DEFAULT_FN_ATTRS
320_mm256_mask_cmpgt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
321  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6,
322                                                __u);
323}
324
325static __inline__ __mmask8 __DEFAULT_FN_ATTRS
326_mm_cmple_epi32_mask(__m128i __a, __m128i __b) {
327  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2,
328                                               (__mmask8)-1);
329}
330
331static __inline__ __mmask8 __DEFAULT_FN_ATTRS
332_mm_mask_cmple_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
333  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2,
334                                               __u);
335}
336
337static __inline__ __mmask8 __DEFAULT_FN_ATTRS
338_mm_cmple_epu32_mask(__m128i __a, __m128i __b) {
339  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2,
340                                                (__mmask8)-1);
341}
342
343static __inline__ __mmask8 __DEFAULT_FN_ATTRS
344_mm_mask_cmple_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
345  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2,
346                                                __u);
347}
348
349static __inline__ __mmask8 __DEFAULT_FN_ATTRS
350_mm256_cmple_epi32_mask(__m256i __a, __m256i __b) {
351  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2,
352                                               (__mmask8)-1);
353}
354
355static __inline__ __mmask8 __DEFAULT_FN_ATTRS
356_mm256_mask_cmple_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
357  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2,
358                                               __u);
359}
360
361static __inline__ __mmask8 __DEFAULT_FN_ATTRS
362_mm256_cmple_epu32_mask(__m256i __a, __m256i __b) {
363  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2,
364                                                (__mmask8)-1);
365}
366
367static __inline__ __mmask8 __DEFAULT_FN_ATTRS
368_mm256_mask_cmple_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
369  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2,
370                                                __u);
371}
372
373static __inline__ __mmask8 __DEFAULT_FN_ATTRS
374_mm_cmple_epi64_mask(__m128i __a, __m128i __b) {
375  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2,
376                                               (__mmask8)-1);
377}
378
379static __inline__ __mmask8 __DEFAULT_FN_ATTRS
380_mm_mask_cmple_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
381  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2,
382                                               __u);
383}
384
385static __inline__ __mmask8 __DEFAULT_FN_ATTRS
386_mm_cmple_epu64_mask(__m128i __a, __m128i __b) {
387  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2,
388                                                (__mmask8)-1);
389}
390
391static __inline__ __mmask8 __DEFAULT_FN_ATTRS
392_mm_mask_cmple_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
393  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2,
394                                                __u);
395}
396
397static __inline__ __mmask8 __DEFAULT_FN_ATTRS
398_mm256_cmple_epi64_mask(__m256i __a, __m256i __b) {
399  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2,
400                                               (__mmask8)-1);
401}
402
403static __inline__ __mmask8 __DEFAULT_FN_ATTRS
404_mm256_mask_cmple_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
405  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2,
406                                               __u);
407}
408
409static __inline__ __mmask8 __DEFAULT_FN_ATTRS
410_mm256_cmple_epu64_mask(__m256i __a, __m256i __b) {
411  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2,
412                                                (__mmask8)-1);
413}
414
415static __inline__ __mmask8 __DEFAULT_FN_ATTRS
416_mm256_mask_cmple_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
417  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2,
418                                                __u);
419}
420
421static __inline__ __mmask8 __DEFAULT_FN_ATTRS
422_mm_cmplt_epi32_mask(__m128i __a, __m128i __b) {
423  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1,
424                                               (__mmask8)-1);
425}
426
427static __inline__ __mmask8 __DEFAULT_FN_ATTRS
428_mm_mask_cmplt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
429  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1,
430                                               __u);
431}
432
433static __inline__ __mmask8 __DEFAULT_FN_ATTRS
434_mm_cmplt_epu32_mask(__m128i __a, __m128i __b) {
435  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1,
436                                                (__mmask8)-1);
437}
438
439static __inline__ __mmask8 __DEFAULT_FN_ATTRS
440_mm_mask_cmplt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
441  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1,
442                                                __u);
443}
444
445static __inline__ __mmask8 __DEFAULT_FN_ATTRS
446_mm256_cmplt_epi32_mask(__m256i __a, __m256i __b) {
447  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1,
448                                               (__mmask8)-1);
449}
450
451static __inline__ __mmask8 __DEFAULT_FN_ATTRS
452_mm256_mask_cmplt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
453  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1,
454                                               __u);
455}
456
457static __inline__ __mmask8 __DEFAULT_FN_ATTRS
458_mm256_cmplt_epu32_mask(__m256i __a, __m256i __b) {
459  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1,
460                                                (__mmask8)-1);
461}
462
463static __inline__ __mmask8 __DEFAULT_FN_ATTRS
464_mm256_mask_cmplt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
465  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1,
466                                                __u);
467}
468
469static __inline__ __mmask8 __DEFAULT_FN_ATTRS
470_mm_cmplt_epi64_mask(__m128i __a, __m128i __b) {
471  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1,
472                                               (__mmask8)-1);
473}
474
475static __inline__ __mmask8 __DEFAULT_FN_ATTRS
476_mm_mask_cmplt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
477  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1,
478                                               __u);
479}
480
481static __inline__ __mmask8 __DEFAULT_FN_ATTRS
482_mm_cmplt_epu64_mask(__m128i __a, __m128i __b) {
483  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1,
484                                                (__mmask8)-1);
485}
486
487static __inline__ __mmask8 __DEFAULT_FN_ATTRS
488_mm_mask_cmplt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
489  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1,
490                                                __u);
491}
492
493static __inline__ __mmask8 __DEFAULT_FN_ATTRS
494_mm256_cmplt_epi64_mask(__m256i __a, __m256i __b) {
495  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1,
496                                               (__mmask8)-1);
497}
498
499static __inline__ __mmask8 __DEFAULT_FN_ATTRS
500_mm256_mask_cmplt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
501  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1,
502                                               __u);
503}
504
505static __inline__ __mmask8 __DEFAULT_FN_ATTRS
506_mm256_cmplt_epu64_mask(__m256i __a, __m256i __b) {
507  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1,
508                                                (__mmask8)-1);
509}
510
511static __inline__ __mmask8 __DEFAULT_FN_ATTRS
512_mm256_mask_cmplt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
513  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1,
514                                                __u);
515}
516
517static __inline__ __mmask8 __DEFAULT_FN_ATTRS
518_mm_cmpneq_epi32_mask(__m128i __a, __m128i __b) {
519  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4,
520                                               (__mmask8)-1);
521}
522
523static __inline__ __mmask8 __DEFAULT_FN_ATTRS
524_mm_mask_cmpneq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
525  return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4,
526                                               __u);
527}
528
529static __inline__ __mmask8 __DEFAULT_FN_ATTRS
530_mm_cmpneq_epu32_mask(__m128i __a, __m128i __b) {
531  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4,
532                                                (__mmask8)-1);
533}
534
535static __inline__ __mmask8 __DEFAULT_FN_ATTRS
536_mm_mask_cmpneq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
537  return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4,
538                                                __u);
539}
540
541static __inline__ __mmask8 __DEFAULT_FN_ATTRS
542_mm256_cmpneq_epi32_mask(__m256i __a, __m256i __b) {
543  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4,
544                                               (__mmask8)-1);
545}
546
547static __inline__ __mmask8 __DEFAULT_FN_ATTRS
548_mm256_mask_cmpneq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
549  return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4,
550                                               __u);
551}
552
553static __inline__ __mmask8 __DEFAULT_FN_ATTRS
554_mm256_cmpneq_epu32_mask(__m256i __a, __m256i __b) {
555  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4,
556                                                (__mmask8)-1);
557}
558
559static __inline__ __mmask8 __DEFAULT_FN_ATTRS
560_mm256_mask_cmpneq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
561  return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4,
562                                                __u);
563}
564
565static __inline__ __mmask8 __DEFAULT_FN_ATTRS
566_mm_cmpneq_epi64_mask(__m128i __a, __m128i __b) {
567  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4,
568                                               (__mmask8)-1);
569}
570
571static __inline__ __mmask8 __DEFAULT_FN_ATTRS
572_mm_mask_cmpneq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
573  return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4,
574                                               __u);
575}
576
577static __inline__ __mmask8 __DEFAULT_FN_ATTRS
578_mm_cmpneq_epu64_mask(__m128i __a, __m128i __b) {
579  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4,
580                                                (__mmask8)-1);
581}
582
583static __inline__ __mmask8 __DEFAULT_FN_ATTRS
584_mm_mask_cmpneq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
585  return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4,
586                                                __u);
587}
588
589static __inline__ __mmask8 __DEFAULT_FN_ATTRS
590_mm256_cmpneq_epi64_mask(__m256i __a, __m256i __b) {
591  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4,
592                                               (__mmask8)-1);
593}
594
595static __inline__ __mmask8 __DEFAULT_FN_ATTRS
596_mm256_mask_cmpneq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
597  return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4,
598                                               __u);
599}
600
601static __inline__ __mmask8 __DEFAULT_FN_ATTRS
602_mm256_cmpneq_epu64_mask(__m256i __a, __m256i __b) {
603  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4,
604                                                (__mmask8)-1);
605}
606
607static __inline__ __mmask8 __DEFAULT_FN_ATTRS
608_mm256_mask_cmpneq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
609  return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4,
610                                                __u);
611}
612
613static __inline__ __m256i __DEFAULT_FN_ATTRS
614_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
615           __m256i __B)
616{
617  return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
618             (__v8si) __B,
619             (__v8si) __W,
620             (__mmask8) __U);
621}
622
623static __inline__ __m256i __DEFAULT_FN_ATTRS
624_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
625{
626  return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
627             (__v8si) __B,
628             (__v8si)
629             _mm256_setzero_si256 (),
630             (__mmask8) __U);
631}
632
633static __inline__ __m256i __DEFAULT_FN_ATTRS
634_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
635           __m256i __B)
636{
637  return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
638             (__v4di) __B,
639             (__v4di) __W,
640             (__mmask8) __U);
641}
642
643static __inline__ __m256i __DEFAULT_FN_ATTRS
644_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
645{
646  return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
647             (__v4di) __B,
648             (__v4di)
649             _mm256_setzero_si256 (),
650             (__mmask8) __U);
651}
652
653static __inline__ __m256i __DEFAULT_FN_ATTRS
654_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
655           __m256i __B)
656{
657  return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
658             (__v8si) __B,
659             (__v8si) __W,
660             (__mmask8) __U);
661}
662
663static __inline__ __m256i __DEFAULT_FN_ATTRS
664_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
665{
666  return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
667             (__v8si) __B,
668             (__v8si)
669             _mm256_setzero_si256 (),
670             (__mmask8) __U);
671}
672
673static __inline__ __m256i __DEFAULT_FN_ATTRS
674_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
675           __m256i __B)
676{
677  return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
678             (__v4di) __B,
679             (__v4di) __W,
680             (__mmask8) __U);
681}
682
683static __inline__ __m256i __DEFAULT_FN_ATTRS
684_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
685{
686  return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
687             (__v4di) __B,
688             (__v4di)
689             _mm256_setzero_si256 (),
690             (__mmask8) __U);
691}
692
693static __inline__ __m128i __DEFAULT_FN_ATTRS
694_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
695        __m128i __B)
696{
697  return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
698             (__v4si) __B,
699             (__v4si) __W,
700             (__mmask8) __U);
701}
702
703static __inline__ __m128i __DEFAULT_FN_ATTRS
704_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
705{
706  return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
707             (__v4si) __B,
708             (__v4si)
709             _mm_setzero_si128 (),
710             (__mmask8) __U);
711}
712
713static __inline__ __m128i __DEFAULT_FN_ATTRS
714_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
715        __m128i __B)
716{
717  return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
718             (__v2di) __B,
719             (__v2di) __W,
720             (__mmask8) __U);
721}
722
723static __inline__ __m128i __DEFAULT_FN_ATTRS
724_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
725{
726  return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
727             (__v2di) __B,
728             (__v2di)
729             _mm_setzero_si128 (),
730             (__mmask8) __U);
731}
732
733static __inline__ __m128i __DEFAULT_FN_ATTRS
734_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
735        __m128i __B)
736{
737  return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
738             (__v4si) __B,
739             (__v4si) __W,
740             (__mmask8) __U);
741}
742
743static __inline__ __m128i __DEFAULT_FN_ATTRS
744_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
745{
746  return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
747             (__v4si) __B,
748             (__v4si)
749             _mm_setzero_si128 (),
750             (__mmask8) __U);
751}
752
753static __inline__ __m128i __DEFAULT_FN_ATTRS
754_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
755        __m128i __B)
756{
757  return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
758             (__v2di) __B,
759             (__v2di) __W,
760             (__mmask8) __U);
761}
762
763static __inline__ __m128i __DEFAULT_FN_ATTRS
764_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
765{
766  return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
767             (__v2di) __B,
768             (__v2di)
769             _mm_setzero_si128 (),
770             (__mmask8) __U);
771}
772
773static __inline__ __m256i __DEFAULT_FN_ATTRS
774_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
775           __m256i __Y)
776{
777  return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
778              (__v8si) __Y,
779              (__v4di) __W, __M);
780}
781
782static __inline__ __m256i __DEFAULT_FN_ATTRS
783_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
784{
785  return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
786              (__v8si) __Y,
787              (__v4di)
788              _mm256_setzero_si256 (),
789              __M);
790}
791
792static __inline__ __m128i __DEFAULT_FN_ATTRS
793_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
794        __m128i __Y)
795{
796  return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
797              (__v4si) __Y,
798              (__v2di) __W, __M);
799}
800
801static __inline__ __m128i __DEFAULT_FN_ATTRS
802_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
803{
804  return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
805              (__v4si) __Y,
806              (__v2di)
807              _mm_setzero_si128 (),
808              __M);
809}
810
811static __inline__ __m256i __DEFAULT_FN_ATTRS
812_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
813           __m256i __Y)
814{
815  return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
816               (__v8si) __Y,
817               (__v4di) __W, __M);
818}
819
820static __inline__ __m256i __DEFAULT_FN_ATTRS
821_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
822{
823  return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
824               (__v8si) __Y,
825               (__v4di)
826               _mm256_setzero_si256 (),
827               __M);
828}
829
830static __inline__ __m128i __DEFAULT_FN_ATTRS
831_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
832        __m128i __Y)
833{
834  return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
835               (__v4si) __Y,
836               (__v2di) __W, __M);
837}
838
839static __inline__ __m128i __DEFAULT_FN_ATTRS
840_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
841{
842  return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
843               (__v4si) __Y,
844               (__v2di)
845               _mm_setzero_si128 (),
846               __M);
847}
848
849static __inline__ __m256i __DEFAULT_FN_ATTRS
850_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
851{
852  return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
853              (__v8si) __B,
854              (__v8si)
855              _mm256_setzero_si256 (),
856              __M);
857}
858
859static __inline__ __m256i __DEFAULT_FN_ATTRS
860_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
861       __m256i __B)
862{
863  return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
864              (__v8si) __B,
865              (__v8si) __W, __M);
866}
867
868static __inline__ __m128i __DEFAULT_FN_ATTRS
869_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
870{
871  return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
872              (__v4si) __B,
873              (__v4si)
874              _mm_setzero_si128 (),
875              __M);
876}
877
878static __inline__ __m128i __DEFAULT_FN_ATTRS
879_mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
880          __m128i __B)
881{
882  return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
883              (__v4si) __B,
884              (__v4si) __W, __M);
885}
886
887static __inline__ __m256i __DEFAULT_FN_ATTRS
888_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
889           __m256i __B)
890{
891  return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
892             (__v8si) __B,
893             (__v8si) __W,
894             (__mmask8) __U);
895}
896
897static __inline__ __m256i __DEFAULT_FN_ATTRS
898_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
899{
900  return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
901             (__v8si) __B,
902             (__v8si)
903             _mm256_setzero_si256 (),
904             (__mmask8) __U);
905}
906
907static __inline__ __m128i __DEFAULT_FN_ATTRS
908_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
909{
910  return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
911             (__v4si) __B,
912             (__v4si) __W,
913             (__mmask8) __U);
914}
915
916static __inline__ __m128i __DEFAULT_FN_ATTRS
917_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
918{
919  return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
920             (__v4si) __B,
921             (__v4si)
922             _mm_setzero_si128 (),
923             (__mmask8) __U);
924}
925
926static __inline__ __m256i __DEFAULT_FN_ATTRS
927_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
928        __m256i __B)
929{
930  return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
931              (__v8si) __B,
932              (__v8si) __W,
933              (__mmask8) __U);
934}
935
936static __inline__ __m256i __DEFAULT_FN_ATTRS
937_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
938{
939  return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
940              (__v8si) __B,
941              (__v8si)
942              _mm256_setzero_si256 (),
943              (__mmask8) __U);
944}
945
946static __inline__ __m128i __DEFAULT_FN_ATTRS
947_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
948           __m128i __B)
949{
950  return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
951              (__v4si) __B,
952              (__v4si) __W,
953              (__mmask8) __U);
954}
955
956static __inline__ __m128i __DEFAULT_FN_ATTRS
957_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
958{
959  return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
960              (__v4si) __B,
961              (__v4si)
962              _mm_setzero_si128 (),
963              (__mmask8) __U);
964}
965
966static __inline__ __m256i __DEFAULT_FN_ATTRS
967_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
968          __m256i __B)
969{
970  return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
971            (__v8si) __B,
972            (__v8si) __W,
973            (__mmask8) __U);
974}
975
976static __inline__ __m256i __DEFAULT_FN_ATTRS
977_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
978{
979  return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
980            (__v8si) __B,
981            (__v8si)
982            _mm256_setzero_si256 (),
983            (__mmask8) __U);
984}
985
986static __inline__ __m128i __DEFAULT_FN_ATTRS
987_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
988{
989  return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
990            (__v4si) __B,
991            (__v4si) __W,
992            (__mmask8) __U);
993}
994
995static __inline__ __m128i __DEFAULT_FN_ATTRS
996_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
997{
998  return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
999            (__v4si) __B,
1000            (__v4si)
1001            _mm_setzero_si128 (),
1002            (__mmask8) __U);
1003}
1004
1005static __inline__ __m256i __DEFAULT_FN_ATTRS
1006_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
1007           __m256i __B)
1008{
1009  return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
1010             (__v8si) __B,
1011             (__v8si) __W,
1012             (__mmask8) __U);
1013}
1014
1015static __inline__ __m256i __DEFAULT_FN_ATTRS
1016_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
1017{
1018  return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
1019             (__v8si) __B,
1020             (__v8si)
1021             _mm256_setzero_si256 (),
1022             (__mmask8) __U);
1023}
1024
1025static __inline__ __m128i __DEFAULT_FN_ATTRS
1026_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
1027        __m128i __B)
1028{
1029  return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
1030             (__v4si) __B,
1031             (__v4si) __W,
1032             (__mmask8) __U);
1033}
1034
1035static __inline__ __m128i __DEFAULT_FN_ATTRS
1036_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
1037{
1038  return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
1039             (__v4si) __B,
1040             (__v4si)
1041             _mm_setzero_si128 (),
1042             (__mmask8) __U);
1043}
1044
1045static __inline__ __m256i __DEFAULT_FN_ATTRS
1046_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1047           __m256i __B)
1048{
1049  return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
1050             (__v4di) __B,
1051             (__v4di) __W, __U);
1052}
1053
1054static __inline__ __m256i __DEFAULT_FN_ATTRS
1055_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1056{
1057  return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
1058             (__v4di) __B,
1059             (__v4di)
1060             _mm256_setzero_pd (),
1061             __U);
1062}
1063
1064static __inline__ __m128i __DEFAULT_FN_ATTRS
1065_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
1066        __m128i __B)
1067{
1068  return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
1069             (__v2di) __B,
1070             (__v2di) __W, __U);
1071}
1072
1073static __inline__ __m128i __DEFAULT_FN_ATTRS
1074_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1075{
1076  return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
1077             (__v2di) __B,
1078             (__v2di)
1079             _mm_setzero_pd (),
1080             __U);
1081}
1082
1083static __inline__ __m256i __DEFAULT_FN_ATTRS
1084_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1085        __m256i __B)
1086{
1087  return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
1088              (__v4di) __B,
1089              (__v4di) __W, __U);
1090}
1091
1092static __inline__ __m256i __DEFAULT_FN_ATTRS
1093_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1094{
1095  return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
1096              (__v4di) __B,
1097              (__v4di)
1098              _mm256_setzero_pd (),
1099              __U);
1100}
1101
1102static __inline__ __m128i __DEFAULT_FN_ATTRS
1103_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
1104           __m128i __B)
1105{
1106  return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
1107              (__v2di) __B,
1108              (__v2di) __W, __U);
1109}
1110
1111static __inline__ __m128i __DEFAULT_FN_ATTRS
1112_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1113{
1114  return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
1115              (__v2di) __B,
1116              (__v2di)
1117              _mm_setzero_pd (),
1118              __U);
1119}
1120
1121static __inline__ __m256i __DEFAULT_FN_ATTRS
1122_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1123          __m256i __B)
1124{
1125  return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
1126            (__v4di) __B,
1127            (__v4di) __W,
1128            (__mmask8) __U);
1129}
1130
1131static __inline__ __m256i __DEFAULT_FN_ATTRS
1132_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1133{
1134  return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
1135            (__v4di) __B,
1136            (__v4di)
1137            _mm256_setzero_si256 (),
1138            (__mmask8) __U);
1139}
1140
1141static __inline__ __m128i __DEFAULT_FN_ATTRS
1142_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1143{
1144  return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
1145            (__v2di) __B,
1146            (__v2di) __W,
1147            (__mmask8) __U);
1148}
1149
1150static __inline__ __m128i __DEFAULT_FN_ATTRS
1151_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1152{
1153  return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
1154            (__v2di) __B,
1155            (__v2di)
1156            _mm_setzero_si128 (),
1157            (__mmask8) __U);
1158}
1159
1160static __inline__ __m256i __DEFAULT_FN_ATTRS
1161_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1162           __m256i __B)
1163{
1164  return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
1165             (__v4di) __B,
1166             (__v4di) __W,
1167             (__mmask8) __U);
1168}
1169
1170static __inline__ __m256i __DEFAULT_FN_ATTRS
1171_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1172{
1173  return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
1174             (__v4di) __B,
1175             (__v4di)
1176             _mm256_setzero_si256 (),
1177             (__mmask8) __U);
1178}
1179
1180static __inline__ __m128i __DEFAULT_FN_ATTRS
1181_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
1182        __m128i __B)
1183{
1184  return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
1185             (__v2di) __B,
1186             (__v2di) __W,
1187             (__mmask8) __U);
1188}
1189
1190static __inline__ __m128i __DEFAULT_FN_ATTRS
1191_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1192{
1193  return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
1194             (__v2di) __B,
1195             (__v2di)
1196             _mm_setzero_si128 (),
1197             (__mmask8) __U);
1198}
1199
1200#define _mm_cmp_epi32_mask(a, b, p) __extension__ ({ \
1201  (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
1202                                        (__v4si)(__m128i)(b), \
1203                                        (p), (__mmask8)-1); })
1204
1205#define _mm_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
1206  (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
1207                                        (__v4si)(__m128i)(b), \
1208                                        (p), (__mmask8)(m)); })
1209
1210#define _mm_cmp_epu32_mask(a, b, p) __extension__ ({ \
1211  (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
1212                                         (__v4si)(__m128i)(b), \
1213                                         (p), (__mmask8)-1); })
1214
1215#define _mm_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
1216  (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
1217                                         (__v4si)(__m128i)(b), \
1218                                         (p), (__mmask8)(m)); })
1219
1220#define _mm256_cmp_epi32_mask(a, b, p) __extension__ ({ \
1221  (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
1222                                        (__v8si)(__m256i)(b), \
1223                                        (p), (__mmask8)-1); })
1224
1225#define _mm256_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
1226  (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
1227                                        (__v8si)(__m256i)(b), \
1228                                        (p), (__mmask8)(m)); })
1229
1230#define _mm256_cmp_epu32_mask(a, b, p) __extension__ ({ \
1231  (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
1232                                         (__v8si)(__m256i)(b), \
1233                                         (p), (__mmask8)-1); })
1234
1235#define _mm256_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
1236  (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
1237                                         (__v8si)(__m256i)(b), \
1238                                         (p), (__mmask8)(m)); })
1239
1240#define _mm_cmp_epi64_mask(a, b, p) __extension__ ({ \
1241  (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
1242                                        (__v2di)(__m128i)(b), \
1243                                        (p), (__mmask8)-1); })
1244
1245#define _mm_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
1246  (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
1247                                        (__v2di)(__m128i)(b), \
1248                                        (p), (__mmask8)(m)); })
1249
1250#define _mm_cmp_epu64_mask(a, b, p) __extension__ ({ \
1251  (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
1252                                         (__v2di)(__m128i)(b), \
1253                                         (p), (__mmask8)-1); })
1254
1255#define _mm_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
1256  (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
1257                                         (__v2di)(__m128i)(b), \
1258                                         (p), (__mmask8)(m)); })
1259
1260#define _mm256_cmp_epi64_mask(a, b, p) __extension__ ({ \
1261  (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
1262                                        (__v4di)(__m256i)(b), \
1263                                        (p), (__mmask8)-1); })
1264
1265#define _mm256_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
1266  (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
1267                                        (__v4di)(__m256i)(b), \
1268                                        (p), (__mmask8)(m)); })
1269
1270#define _mm256_cmp_epu64_mask(a, b, p) __extension__ ({ \
1271  (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
1272                                         (__v4di)(__m256i)(b), \
1273                                         (p), (__mmask8)-1); })
1274
1275#define _mm256_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
1276  (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
1277                                         (__v4di)(__m256i)(b), \
1278                                         (p), (__mmask8)(m)); })
1279
1280#define _mm256_cmp_ps_mask(a, b, p)  __extension__ ({ \
1281  (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
1282                                         (__v8sf)(__m256)(b), \
1283                                         (p), (__mmask8)-1); })
1284
1285#define _mm256_mask_cmp_ps_mask(m, a, b, p)  __extension__ ({ \
1286  (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
1287                                         (__v8sf)(__m256)(b), \
1288                                         (p), (__mmask8)(m)); })
1289
1290#define _mm256_cmp_pd_mask(a, b, p)  __extension__ ({ \
1291  (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256)(a), \
1292                                         (__v4df)(__m256)(b), \
1293                                         (p), (__mmask8)-1); })
1294
1295#define _mm256_mask_cmp_pd_mask(m, a, b, p)  __extension__ ({ \
1296  (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256)(a), \
1297                                         (__v4df)(__m256)(b), \
1298                                         (p), (__mmask8)(m)); })
1299
1300#define _mm128_cmp_ps_mask(a, b, p)  __extension__ ({ \
1301  (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
1302                                         (__v4sf)(__m128)(b), \
1303                                         (p), (__mmask8)-1); })
1304
1305#define _mm128_mask_cmp_ps_mask(m, a, b, p)  __extension__ ({ \
1306  (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
1307                                         (__v4sf)(__m128)(b), \
1308                                         (p), (__mmask8)(m)); })
1309
1310#define _mm128_cmp_pd_mask(a, b, p)  __extension__ ({ \
1311  (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128)(a), \
1312                                         (__v2df)(__m128)(b), \
1313                                         (p), (__mmask8)-1); })
1314
1315#define _mm128_mask_cmp_pd_mask(m, a, b, p)  __extension__ ({ \
1316  (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128)(a), \
1317                                         (__v2df)(__m128)(b), \
1318                                         (p), (__mmask8)(m)); })
1319
1320static __inline__ __m128d __DEFAULT_FN_ATTRS
1321_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1322{
1323  return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
1324                                                    (__v2df) __B,
1325                                                    (__v2df) __C,
1326                                                    (__mmask8) __U);
1327}
1328
1329static __inline__ __m128d __DEFAULT_FN_ATTRS
1330_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1331{
1332  return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
1333                                                     (__v2df) __B,
1334                                                     (__v2df) __C,
1335                                                     (__mmask8) __U);
1336}
1337
1338static __inline__ __m128d __DEFAULT_FN_ATTRS
1339_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1340{
1341  return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
1342                                                     (__v2df) __B,
1343                                                     (__v2df) __C,
1344                                                     (__mmask8) __U);
1345}
1346
1347static __inline__ __m128d __DEFAULT_FN_ATTRS
1348_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1349{
1350  return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
1351                                                    (__v2df) __B,
1352                                                    -(__v2df) __C,
1353                                                    (__mmask8) __U);
1354}
1355
1356static __inline__ __m128d __DEFAULT_FN_ATTRS
1357_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1358{
1359  return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
1360                                                     (__v2df) __B,
1361                                                     -(__v2df) __C,
1362                                                     (__mmask8) __U);
1363}
1364
1365static __inline__ __m128d __DEFAULT_FN_ATTRS
1366_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1367{
1368  return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A,
1369                                                     (__v2df) __B,
1370                                                     (__v2df) __C,
1371                                                     (__mmask8) __U);
1372}
1373
1374static __inline__ __m128d __DEFAULT_FN_ATTRS
1375_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1376{
1377  return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
1378                                                     (__v2df) __B,
1379                                                     (__v2df) __C,
1380                                                     (__mmask8) __U);
1381}
1382
1383static __inline__ __m128d __DEFAULT_FN_ATTRS
1384_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1385{
1386  return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
1387                                                     (__v2df) __B,
1388                                                     -(__v2df) __C,
1389                                                     (__mmask8) __U);
1390}
1391
1392static __inline__ __m256d __DEFAULT_FN_ATTRS
1393_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1394{
1395  return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
1396                                                    (__v4df) __B,
1397                                                    (__v4df) __C,
1398                                                    (__mmask8) __U);
1399}
1400
1401static __inline__ __m256d __DEFAULT_FN_ATTRS
1402_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1403{
1404  return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
1405                                                     (__v4df) __B,
1406                                                     (__v4df) __C,
1407                                                     (__mmask8) __U);
1408}
1409
1410static __inline__ __m256d __DEFAULT_FN_ATTRS
1411_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1412{
1413  return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
1414                                                     (__v4df) __B,
1415                                                     (__v4df) __C,
1416                                                     (__mmask8) __U);
1417}
1418
1419static __inline__ __m256d __DEFAULT_FN_ATTRS
1420_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1421{
1422  return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
1423                                                    (__v4df) __B,
1424                                                    -(__v4df) __C,
1425                                                    (__mmask8) __U);
1426}
1427
1428static __inline__ __m256d __DEFAULT_FN_ATTRS
1429_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1430{
1431  return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
1432                                                     (__v4df) __B,
1433                                                     -(__v4df) __C,
1434                                                     (__mmask8) __U);
1435}
1436
1437static __inline__ __m256d __DEFAULT_FN_ATTRS
1438_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1439{
1440  return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A,
1441                                                     (__v4df) __B,
1442                                                     (__v4df) __C,
1443                                                     (__mmask8) __U);
1444}
1445
1446static __inline__ __m256d __DEFAULT_FN_ATTRS
1447_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1448{
1449  return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
1450                                                     (__v4df) __B,
1451                                                     (__v4df) __C,
1452                                                     (__mmask8) __U);
1453}
1454
1455static __inline__ __m256d __DEFAULT_FN_ATTRS
1456_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1457{
1458  return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
1459                                                     (__v4df) __B,
1460                                                     -(__v4df) __C,
1461                                                     (__mmask8) __U);
1462}
1463
1464static __inline__ __m128 __DEFAULT_FN_ATTRS
1465_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1466{
1467  return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
1468                                                   (__v4sf) __B,
1469                                                   (__v4sf) __C,
1470                                                   (__mmask8) __U);
1471}
1472
1473static __inline__ __m128 __DEFAULT_FN_ATTRS
1474_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1475{
1476  return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
1477                                                    (__v4sf) __B,
1478                                                    (__v4sf) __C,
1479                                                    (__mmask8) __U);
1480}
1481
1482static __inline__ __m128 __DEFAULT_FN_ATTRS
1483_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1484{
1485  return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
1486                                                    (__v4sf) __B,
1487                                                    (__v4sf) __C,
1488                                                    (__mmask8) __U);
1489}
1490
1491static __inline__ __m128 __DEFAULT_FN_ATTRS
1492_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1493{
1494  return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
1495                                                   (__v4sf) __B,
1496                                                   -(__v4sf) __C,
1497                                                   (__mmask8) __U);
1498}
1499
1500static __inline__ __m128 __DEFAULT_FN_ATTRS
1501_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1502{
1503  return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
1504                                                    (__v4sf) __B,
1505                                                    -(__v4sf) __C,
1506                                                    (__mmask8) __U);
1507}
1508
1509static __inline__ __m128 __DEFAULT_FN_ATTRS
1510_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1511{
1512  return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A,
1513                                                    (__v4sf) __B,
1514                                                    (__v4sf) __C,
1515                                                    (__mmask8) __U);
1516}
1517
1518static __inline__ __m128 __DEFAULT_FN_ATTRS
1519_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1520{
1521  return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1522                                                    (__v4sf) __B,
1523                                                    (__v4sf) __C,
1524                                                    (__mmask8) __U);
1525}
1526
1527static __inline__ __m128 __DEFAULT_FN_ATTRS
1528_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1529{
1530  return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1531                                                    (__v4sf) __B,
1532                                                    -(__v4sf) __C,
1533                                                    (__mmask8) __U);
1534}
1535
1536static __inline__ __m256 __DEFAULT_FN_ATTRS
1537_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1538{
1539  return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1540                                                   (__v8sf) __B,
1541                                                   (__v8sf) __C,
1542                                                   (__mmask8) __U);
1543}
1544
1545static __inline__ __m256 __DEFAULT_FN_ATTRS
1546_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1547{
1548  return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
1549                                                    (__v8sf) __B,
1550                                                    (__v8sf) __C,
1551                                                    (__mmask8) __U);
1552}
1553
1554static __inline__ __m256 __DEFAULT_FN_ATTRS
1555_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1556{
1557  return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1558                                                    (__v8sf) __B,
1559                                                    (__v8sf) __C,
1560                                                    (__mmask8) __U);
1561}
1562
1563static __inline__ __m256 __DEFAULT_FN_ATTRS
1564_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1565{
1566  return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1567                                                   (__v8sf) __B,
1568                                                   -(__v8sf) __C,
1569                                                   (__mmask8) __U);
1570}
1571
1572static __inline__ __m256 __DEFAULT_FN_ATTRS
1573_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1574{
1575  return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1576                                                    (__v8sf) __B,
1577                                                    -(__v8sf) __C,
1578                                                    (__mmask8) __U);
1579}
1580
1581static __inline__ __m256 __DEFAULT_FN_ATTRS
1582_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1583{
1584  return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A,
1585                                                    (__v8sf) __B,
1586                                                    (__v8sf) __C,
1587                                                    (__mmask8) __U);
1588}
1589
1590static __inline__ __m256 __DEFAULT_FN_ATTRS
1591_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1592{
1593  return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1594                                                    (__v8sf) __B,
1595                                                    (__v8sf) __C,
1596                                                    (__mmask8) __U);
1597}
1598
1599static __inline__ __m256 __DEFAULT_FN_ATTRS
1600_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1601{
1602  return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1603                                                    (__v8sf) __B,
1604                                                    -(__v8sf) __C,
1605                                                    (__mmask8) __U);
1606}
1607
1608static __inline__ __m128d __DEFAULT_FN_ATTRS
1609_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1610{
1611  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1612                                                       (__v2df) __B,
1613                                                       (__v2df) __C,
1614                                                       (__mmask8) __U);
1615}
1616
1617static __inline__ __m128d __DEFAULT_FN_ATTRS
1618_mm_mask3_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1619{
1620  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
1621                                                        (__v2df) __B,
1622                                                        (__v2df) __C,
1623                                                        (__mmask8)
1624                                                        __U);
1625}
1626
1627static __inline__ __m128d __DEFAULT_FN_ATTRS
1628_mm_maskz_fmaddsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1629{
1630  return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1631                                                        (__v2df) __B,
1632                                                        (__v2df) __C,
1633                                                        (__mmask8)
1634                                                        __U);
1635}
1636
1637static __inline__ __m128d __DEFAULT_FN_ATTRS
1638_mm_mask_fmsubadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1639{
1640  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1641                                                       (__v2df) __B,
1642                                                       -(__v2df) __C,
1643                                                       (__mmask8) __U);
1644}
1645
1646static __inline__ __m128d __DEFAULT_FN_ATTRS
1647_mm_maskz_fmsubadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1648{
1649  return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1650                                                        (__v2df) __B,
1651                                                        -(__v2df) __C,
1652                                                        (__mmask8)
1653                                                        __U);
1654}
1655
1656static __inline__ __m256d __DEFAULT_FN_ATTRS
1657_mm256_mask_fmaddsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1658{
1659  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1660                                                       (__v4df) __B,
1661                                                       (__v4df) __C,
1662                                                       (__mmask8) __U);
1663}
1664
1665static __inline__ __m256d __DEFAULT_FN_ATTRS
1666_mm256_mask3_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1667{
1668  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
1669                                                        (__v4df) __B,
1670                                                        (__v4df) __C,
1671                                                        (__mmask8)
1672                                                        __U);
1673}
1674
1675static __inline__ __m256d __DEFAULT_FN_ATTRS
1676_mm256_maskz_fmaddsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1677{
1678  return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1679                                                        (__v4df) __B,
1680                                                        (__v4df) __C,
1681                                                        (__mmask8)
1682                                                        __U);
1683}
1684
1685static __inline__ __m256d __DEFAULT_FN_ATTRS
1686_mm256_mask_fmsubadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1687{
1688  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1689                                                       (__v4df) __B,
1690                                                       -(__v4df) __C,
1691                                                       (__mmask8) __U);
1692}
1693
1694static __inline__ __m256d __DEFAULT_FN_ATTRS
1695_mm256_maskz_fmsubadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1696{
1697  return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1698                                                        (__v4df) __B,
1699                                                        -(__v4df) __C,
1700                                                        (__mmask8)
1701                                                        __U);
1702}
1703
1704static __inline__ __m128 __DEFAULT_FN_ATTRS
1705_mm_mask_fmaddsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1706{
1707  return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1708                                                      (__v4sf) __B,
1709                                                      (__v4sf) __C,
1710                                                      (__mmask8) __U);
1711}
1712
1713static __inline__ __m128 __DEFAULT_FN_ATTRS
1714_mm_mask3_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1715{
1716  return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
1717                                                       (__v4sf) __B,
1718                                                       (__v4sf) __C,
1719                                                       (__mmask8) __U);
1720}
1721
1722static __inline__ __m128 __DEFAULT_FN_ATTRS
1723_mm_maskz_fmaddsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1724{
1725  return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1726                                                       (__v4sf) __B,
1727                                                       (__v4sf) __C,
1728                                                       (__mmask8) __U);
1729}
1730
1731static __inline__ __m128 __DEFAULT_FN_ATTRS
1732_mm_mask_fmsubadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1733{
1734  return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1735                                                      (__v4sf) __B,
1736                                                      -(__v4sf) __C,
1737                                                      (__mmask8) __U);
1738}
1739
1740static __inline__ __m128 __DEFAULT_FN_ATTRS
1741_mm_maskz_fmsubadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1742{
1743  return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1744                                                       (__v4sf) __B,
1745                                                       -(__v4sf) __C,
1746                                                       (__mmask8) __U);
1747}
1748
1749static __inline__ __m256 __DEFAULT_FN_ATTRS
1750_mm256_mask_fmaddsub_ps(__m256 __A, __mmask8 __U, __m256 __B,
1751                         __m256 __C)
1752{
1753  return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1754                                                      (__v8sf) __B,
1755                                                      (__v8sf) __C,
1756                                                      (__mmask8) __U);
1757}
1758
1759static __inline__ __m256 __DEFAULT_FN_ATTRS
1760_mm256_mask3_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1761{
1762  return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
1763                                                       (__v8sf) __B,
1764                                                       (__v8sf) __C,
1765                                                       (__mmask8) __U);
1766}
1767
1768static __inline__ __m256 __DEFAULT_FN_ATTRS
1769_mm256_maskz_fmaddsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1770{
1771  return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1772                                                       (__v8sf) __B,
1773                                                       (__v8sf) __C,
1774                                                       (__mmask8) __U);
1775}
1776
1777static __inline__ __m256 __DEFAULT_FN_ATTRS
1778_mm256_mask_fmsubadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1779{
1780  return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1781                                                      (__v8sf) __B,
1782                                                      -(__v8sf) __C,
1783                                                      (__mmask8) __U);
1784}
1785
1786static __inline__ __m256 __DEFAULT_FN_ATTRS
1787_mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1788{
1789  return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1790                                                       (__v8sf) __B,
1791                                                       -(__v8sf) __C,
1792                                                       (__mmask8) __U);
1793}
1794
1795static __inline__ __m128d __DEFAULT_FN_ATTRS
1796_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1797{
1798  return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
1799                                                     (__v2df) __B,
1800                                                     (__v2df) __C,
1801                                                     (__mmask8) __U);
1802}
1803
1804static __inline__ __m256d __DEFAULT_FN_ATTRS
1805_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1806{
1807  return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
1808                                                     (__v4df) __B,
1809                                                     (__v4df) __C,
1810                                                     (__mmask8) __U);
1811}
1812
1813static __inline__ __m128 __DEFAULT_FN_ATTRS
1814_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1815{
1816  return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
1817                                                    (__v4sf) __B,
1818                                                    (__v4sf) __C,
1819                                                    (__mmask8) __U);
1820}
1821
1822static __inline__ __m256 __DEFAULT_FN_ATTRS
1823_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1824{
1825  return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
1826                                                    (__v8sf) __B,
1827                                                    (__v8sf) __C,
1828                                                    (__mmask8) __U);
1829}
1830
1831static __inline__ __m128d __DEFAULT_FN_ATTRS
1832_mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1833{
1834  return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
1835                                                        (__v2df) __B,
1836                                                        (__v2df) __C,
1837                                                        (__mmask8)
1838                                                        __U);
1839}
1840
1841static __inline__ __m256d __DEFAULT_FN_ATTRS
1842_mm256_mask3_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1843{
1844  return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
1845                                                        (__v4df) __B,
1846                                                        (__v4df) __C,
1847                                                        (__mmask8)
1848                                                        __U);
1849}
1850
1851static __inline__ __m128 __DEFAULT_FN_ATTRS
1852_mm_mask3_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1853{
1854  return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
1855                                                       (__v4sf) __B,
1856                                                       (__v4sf) __C,
1857                                                       (__mmask8) __U);
1858}
1859
1860static __inline__ __m256 __DEFAULT_FN_ATTRS
1861_mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1862{
1863  return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
1864                                                       (__v8sf) __B,
1865                                                       (__v8sf) __C,
1866                                                       (__mmask8) __U);
1867}
1868
1869static __inline__ __m128d __DEFAULT_FN_ATTRS
1870_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1871{
1872  return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
1873                                                     (__v2df) __B,
1874                                                     (__v2df) __C,
1875                                                     (__mmask8) __U);
1876}
1877
1878static __inline__ __m256d __DEFAULT_FN_ATTRS
1879_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1880{
1881  return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
1882                                                     (__v4df) __B,
1883                                                     (__v4df) __C,
1884                                                     (__mmask8) __U);
1885}
1886
1887static __inline__ __m128 __DEFAULT_FN_ATTRS
1888_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1889{
1890  return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
1891                                                    (__v4sf) __B,
1892                                                    (__v4sf) __C,
1893                                                    (__mmask8) __U);
1894}
1895
1896static __inline__ __m256 __DEFAULT_FN_ATTRS
1897_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1898{
1899  return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
1900                                                    (__v8sf) __B,
1901                                                    (__v8sf) __C,
1902                                                    (__mmask8) __U);
1903}
1904
1905static __inline__ __m128d __DEFAULT_FN_ATTRS
1906_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1907{
1908  return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
1909                                                     (__v2df) __B,
1910                                                     (__v2df) __C,
1911                                                     (__mmask8) __U);
1912}
1913
1914static __inline__ __m128d __DEFAULT_FN_ATTRS
1915_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1916{
1917  return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
1918                                                      (__v2df) __B,
1919                                                      (__v2df) __C,
1920                                                      (__mmask8) __U);
1921}
1922
1923static __inline__ __m256d __DEFAULT_FN_ATTRS
1924_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1925{
1926  return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
1927                                                     (__v4df) __B,
1928                                                     (__v4df) __C,
1929                                                     (__mmask8) __U);
1930}
1931
1932static __inline__ __m256d __DEFAULT_FN_ATTRS
1933_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1934{
1935  return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
1936                                                      (__v4df) __B,
1937                                                      (__v4df) __C,
1938                                                      (__mmask8) __U);
1939}
1940
1941static __inline__ __m128 __DEFAULT_FN_ATTRS
1942_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1943{
1944  return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
1945                                                    (__v4sf) __B,
1946                                                    (__v4sf) __C,
1947                                                    (__mmask8) __U);
1948}
1949
1950static __inline__ __m128 __DEFAULT_FN_ATTRS
1951_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1952{
1953  return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
1954                                                     (__v4sf) __B,
1955                                                     (__v4sf) __C,
1956                                                     (__mmask8) __U);
1957}
1958
1959static __inline__ __m256 __DEFAULT_FN_ATTRS
1960_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1961{
1962  return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
1963                                                    (__v8sf) __B,
1964                                                    (__v8sf) __C,
1965                                                    (__mmask8) __U);
1966}
1967
1968static __inline__ __m256 __DEFAULT_FN_ATTRS
1969_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1970{
1971  return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
1972                                                     (__v8sf) __B,
1973                                                     (__v8sf) __C,
1974                                                     (__mmask8) __U);
1975}
1976
1977static __inline__ __m128d __DEFAULT_FN_ATTRS
1978_mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
1979  return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
1980             (__v2df) __B,
1981             (__v2df) __W,
1982             (__mmask8) __U);
1983}
1984
1985static __inline__ __m128d __DEFAULT_FN_ATTRS
1986_mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B) {
1987  return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
1988             (__v2df) __B,
1989             (__v2df)
1990             _mm_setzero_pd (),
1991             (__mmask8) __U);
1992}
1993
1994static __inline__ __m256d __DEFAULT_FN_ATTRS
1995_mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
1996  return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
1997             (__v4df) __B,
1998             (__v4df) __W,
1999             (__mmask8) __U);
2000}
2001
2002static __inline__ __m256d __DEFAULT_FN_ATTRS
2003_mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B) {
2004  return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
2005             (__v4df) __B,
2006             (__v4df)
2007             _mm256_setzero_pd (),
2008             (__mmask8) __U);
2009}
2010
2011static __inline__ __m128 __DEFAULT_FN_ATTRS
2012_mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
2013  return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
2014            (__v4sf) __B,
2015            (__v4sf) __W,
2016            (__mmask8) __U);
2017}
2018
2019static __inline__ __m128 __DEFAULT_FN_ATTRS
2020_mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B) {
2021  return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
2022            (__v4sf) __B,
2023            (__v4sf)
2024            _mm_setzero_ps (),
2025            (__mmask8) __U);
2026}
2027
2028static __inline__ __m256 __DEFAULT_FN_ATTRS
2029_mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
2030  return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
2031            (__v8sf) __B,
2032            (__v8sf) __W,
2033            (__mmask8) __U);
2034}
2035
2036static __inline__ __m256 __DEFAULT_FN_ATTRS
2037_mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B) {
2038  return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
2039            (__v8sf) __B,
2040            (__v8sf)
2041            _mm256_setzero_ps (),
2042            (__mmask8) __U);
2043}
2044
2045static __inline__ __m128i __DEFAULT_FN_ATTRS
2046_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) {
2047  return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A,
2048                (__v4si) __W,
2049                (__mmask8) __U);
2050}
2051
2052static __inline__ __m256i __DEFAULT_FN_ATTRS
2053_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) {
2054  return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A,
2055                (__v8si) __W,
2056                (__mmask8) __U);
2057}
2058
2059static __inline__ __m128d __DEFAULT_FN_ATTRS
2060_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) {
2061  return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A,
2062                 (__v2df) __W,
2063                 (__mmask8) __U);
2064}
2065
2066static __inline__ __m256d __DEFAULT_FN_ATTRS
2067_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) {
2068  return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A,
2069                 (__v4df) __W,
2070                 (__mmask8) __U);
2071}
2072
2073static __inline__ __m128 __DEFAULT_FN_ATTRS
2074_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) {
2075  return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A,
2076                (__v4sf) __W,
2077                (__mmask8) __U);
2078}
2079
2080static __inline__ __m256 __DEFAULT_FN_ATTRS
2081_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) {
2082  return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A,
2083                (__v8sf) __W,
2084                (__mmask8) __U);
2085}
2086
2087static __inline__ __m128i __DEFAULT_FN_ATTRS
2088_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) {
2089  return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A,
2090                (__v2di) __W,
2091                (__mmask8) __U);
2092}
2093
2094static __inline__ __m256i __DEFAULT_FN_ATTRS
2095_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) {
2096  return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A,
2097                (__v4di) __W,
2098                (__mmask8) __U);
2099}
2100
2101static __inline__ __m128d __DEFAULT_FN_ATTRS
2102_mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2103  return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
2104                  (__v2df) __W,
2105                  (__mmask8) __U);
2106}
2107
2108static __inline__ __m128d __DEFAULT_FN_ATTRS
2109_mm_maskz_compress_pd (__mmask8 __U, __m128d __A) {
2110  return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
2111                  (__v2df)
2112                  _mm_setzero_pd (),
2113                  (__mmask8) __U);
2114}
2115
2116static __inline__ __m256d __DEFAULT_FN_ATTRS
2117_mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2118  return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
2119                  (__v4df) __W,
2120                  (__mmask8) __U);
2121}
2122
2123static __inline__ __m256d __DEFAULT_FN_ATTRS
2124_mm256_maskz_compress_pd (__mmask8 __U, __m256d __A) {
2125  return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
2126                  (__v4df)
2127                  _mm256_setzero_pd (),
2128                  (__mmask8) __U);
2129}
2130
2131static __inline__ __m128i __DEFAULT_FN_ATTRS
2132_mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2133  return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
2134                  (__v2di) __W,
2135                  (__mmask8) __U);
2136}
2137
2138static __inline__ __m128i __DEFAULT_FN_ATTRS
2139_mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A) {
2140  return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
2141                  (__v2di)
2142                  _mm_setzero_si128 (),
2143                  (__mmask8) __U);
2144}
2145
2146static __inline__ __m256i __DEFAULT_FN_ATTRS
2147_mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2148  return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
2149                  (__v4di) __W,
2150                  (__mmask8) __U);
2151}
2152
2153static __inline__ __m256i __DEFAULT_FN_ATTRS
2154_mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A) {
2155  return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
2156                  (__v4di)
2157                  _mm256_setzero_si256 (),
2158                  (__mmask8) __U);
2159}
2160
2161static __inline__ __m128 __DEFAULT_FN_ATTRS
2162_mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) {
2163  return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
2164                 (__v4sf) __W,
2165                 (__mmask8) __U);
2166}
2167
2168static __inline__ __m128 __DEFAULT_FN_ATTRS
2169_mm_maskz_compress_ps (__mmask8 __U, __m128 __A) {
2170  return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
2171                 (__v4sf)
2172                 _mm_setzero_ps (),
2173                 (__mmask8) __U);
2174}
2175
2176static __inline__ __m256 __DEFAULT_FN_ATTRS
2177_mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) {
2178  return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
2179                 (__v8sf) __W,
2180                 (__mmask8) __U);
2181}
2182
2183static __inline__ __m256 __DEFAULT_FN_ATTRS
2184_mm256_maskz_compress_ps (__mmask8 __U, __m256 __A) {
2185  return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
2186                 (__v8sf)
2187                 _mm256_setzero_ps (),
2188                 (__mmask8) __U);
2189}
2190
2191static __inline__ __m128i __DEFAULT_FN_ATTRS
2192_mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
2193  return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
2194                  (__v4si) __W,
2195                  (__mmask8) __U);
2196}
2197
2198static __inline__ __m128i __DEFAULT_FN_ATTRS
2199_mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A) {
2200  return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
2201                  (__v4si)
2202                  _mm_setzero_si128 (),
2203                  (__mmask8) __U);
2204}
2205
2206static __inline__ __m256i __DEFAULT_FN_ATTRS
2207_mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
2208  return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
2209                  (__v8si) __W,
2210                  (__mmask8) __U);
2211}
2212
2213static __inline__ __m256i __DEFAULT_FN_ATTRS
2214_mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A) {
2215  return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
2216                  (__v8si)
2217                  _mm256_setzero_si256 (),
2218                  (__mmask8) __U);
2219}
2220
2221static __inline__ void __DEFAULT_FN_ATTRS
2222_mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) {
2223  __builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
2224            (__v2df) __A,
2225            (__mmask8) __U);
2226}
2227
2228static __inline__ void __DEFAULT_FN_ATTRS
2229_mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) {
2230  __builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
2231            (__v4df) __A,
2232            (__mmask8) __U);
2233}
2234
2235static __inline__ void __DEFAULT_FN_ATTRS
2236_mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) {
2237  __builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
2238            (__v2di) __A,
2239            (__mmask8) __U);
2240}
2241
2242static __inline__ void __DEFAULT_FN_ATTRS
2243_mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) {
2244  __builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
2245            (__v4di) __A,
2246            (__mmask8) __U);
2247}
2248
2249static __inline__ void __DEFAULT_FN_ATTRS
2250_mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) {
2251  __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
2252            (__v4sf) __A,
2253            (__mmask8) __U);
2254}
2255
2256static __inline__ void __DEFAULT_FN_ATTRS
2257_mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) {
2258  __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
2259            (__v8sf) __A,
2260            (__mmask8) __U);
2261}
2262
2263static __inline__ void __DEFAULT_FN_ATTRS
2264_mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) {
2265  __builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
2266            (__v4si) __A,
2267            (__mmask8) __U);
2268}
2269
2270static __inline__ void __DEFAULT_FN_ATTRS
2271_mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) {
2272  __builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
2273            (__v8si) __A,
2274            (__mmask8) __U);
2275}
2276
2277static __inline__ __m128d __DEFAULT_FN_ATTRS
2278_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2279  return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
2280                (__v2df) __W,
2281                (__mmask8) __U);
2282}
2283
2284static __inline__ __m128d __DEFAULT_FN_ATTRS
2285_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
2286  return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
2287                (__v2df)
2288                _mm_setzero_pd (),
2289                (__mmask8) __U);
2290}
2291
2292static __inline__ __m256d __DEFAULT_FN_ATTRS
2293_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2294  return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
2295                (__v4df) __W,
2296                (__mmask8) __U);
2297}
2298
2299static __inline__ __m256d __DEFAULT_FN_ATTRS
2300_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
2301  return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
2302                (__v4df)
2303                _mm256_setzero_pd (),
2304                (__mmask8) __U);
2305}
2306
2307static __inline__ __m128 __DEFAULT_FN_ATTRS
2308_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2309  return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
2310               (__v4sf) __W,
2311               (__mmask8) __U);
2312}
2313
2314static __inline__ __m128 __DEFAULT_FN_ATTRS
2315_mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) {
2316  return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
2317               (__v4sf)
2318               _mm_setzero_ps (),
2319               (__mmask8) __U);
2320}
2321
2322static __inline__ __m256 __DEFAULT_FN_ATTRS
2323_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2324  return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
2325               (__v8sf) __W,
2326               (__mmask8) __U);
2327}
2328
2329static __inline__ __m256 __DEFAULT_FN_ATTRS
2330_mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A) {
2331  return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
2332               (__v8sf)
2333               _mm256_setzero_ps (),
2334               (__mmask8) __U);
2335}
2336
2337static __inline__ __m128i __DEFAULT_FN_ATTRS
2338_mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
2339  return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
2340                (__v4si) __W,
2341                (__mmask8) __U);
2342}
2343
2344static __inline__ __m128i __DEFAULT_FN_ATTRS
2345_mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) {
2346  return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
2347                (__v4si)
2348                _mm_setzero_si128 (),
2349                (__mmask8) __U);
2350}
2351
2352static __inline__ __m128i __DEFAULT_FN_ATTRS
2353_mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
2354  return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
2355                (__v4si) __W,
2356                (__mmask8) __U);
2357}
2358
2359static __inline__ __m128i __DEFAULT_FN_ATTRS
2360_mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) {
2361  return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
2362                (__v4si)
2363                _mm_setzero_si128 (),
2364                (__mmask8) __U);
2365}
2366
2367static __inline__ __m128 __DEFAULT_FN_ATTRS
2368_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) {
2369  return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
2370            (__v4sf) __W,
2371            (__mmask8) __U);
2372}
2373
2374static __inline__ __m128 __DEFAULT_FN_ATTRS
2375_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) {
2376  return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
2377            (__v4sf)
2378            _mm_setzero_ps (),
2379            (__mmask8) __U);
2380}
2381
2382static __inline__ __m128 __DEFAULT_FN_ATTRS
2383_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) {
2384  return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
2385               (__v4sf) __W,
2386               (__mmask8) __U);
2387}
2388
2389static __inline__ __m128 __DEFAULT_FN_ATTRS
2390_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) {
2391  return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
2392               (__v4sf)
2393               _mm_setzero_ps (),
2394               (__mmask8) __U);
2395}
2396
2397static __inline__ __m128i __DEFAULT_FN_ATTRS
2398_mm_cvtpd_epu32 (__m128d __A) {
2399  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2400                 (__v4si)
2401                 _mm_setzero_si128 (),
2402                 (__mmask8) -1);
2403}
2404
2405static __inline__ __m128i __DEFAULT_FN_ATTRS
2406_mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
2407  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2408                 (__v4si) __W,
2409                 (__mmask8) __U);
2410}
2411
2412static __inline__ __m128i __DEFAULT_FN_ATTRS
2413_mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) {
2414  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2415                 (__v4si)
2416                 _mm_setzero_si128 (),
2417                 (__mmask8) __U);
2418}
2419
2420static __inline__ __m128i __DEFAULT_FN_ATTRS
2421_mm256_cvtpd_epu32 (__m256d __A) {
2422  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2423                 (__v4si)
2424                 _mm_setzero_si128 (),
2425                 (__mmask8) -1);
2426}
2427
2428static __inline__ __m128i __DEFAULT_FN_ATTRS
2429_mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
2430  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2431                 (__v4si) __W,
2432                 (__mmask8) __U);
2433}
2434
2435static __inline__ __m128i __DEFAULT_FN_ATTRS
2436_mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A) {
2437  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2438                 (__v4si)
2439                 _mm_setzero_si128 (),
2440                 (__mmask8) __U);
2441}
2442
2443static __inline__ __m128i __DEFAULT_FN_ATTRS
2444_mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
2445  return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
2446                (__v4si) __W,
2447                (__mmask8) __U);
2448}
2449
2450static __inline__ __m128i __DEFAULT_FN_ATTRS
2451_mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) {
2452  return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
2453                (__v4si)
2454                _mm_setzero_si128 (),
2455                (__mmask8) __U);
2456}
2457
2458static __inline__ __m256i __DEFAULT_FN_ATTRS
2459_mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
2460  return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
2461                (__v8si) __W,
2462                (__mmask8) __U);
2463}
2464
2465static __inline__ __m256i __DEFAULT_FN_ATTRS
2466_mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A) {
2467  return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
2468                (__v8si)
2469                _mm256_setzero_si256 (),
2470                (__mmask8) __U);
2471}
2472
2473static __inline__ __m128d __DEFAULT_FN_ATTRS
2474_mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) {
2475  return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
2476                (__v2df) __W,
2477                (__mmask8) __U);
2478}
2479
2480static __inline__ __m128d __DEFAULT_FN_ATTRS
2481_mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
2482  return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
2483                (__v2df)
2484                _mm_setzero_pd (),
2485                (__mmask8) __U);
2486}
2487
2488static __inline__ __m256d __DEFAULT_FN_ATTRS
2489_mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) {
2490  return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
2491                (__v4df) __W,
2492                (__mmask8) __U);
2493}
2494
2495static __inline__ __m256d __DEFAULT_FN_ATTRS
2496_mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
2497  return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
2498                (__v4df)
2499                _mm256_setzero_pd (),
2500                (__mmask8) __U);
2501}
2502
2503static __inline__ __m128i __DEFAULT_FN_ATTRS
2504_mm_cvtps_epu32 (__m128 __A) {
2505  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2506                 (__v4si)
2507                 _mm_setzero_si128 (),
2508                 (__mmask8) -1);
2509}
2510
2511static __inline__ __m128i __DEFAULT_FN_ATTRS
2512_mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
2513  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2514                 (__v4si) __W,
2515                 (__mmask8) __U);
2516}
2517
2518static __inline__ __m128i __DEFAULT_FN_ATTRS
2519_mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) {
2520  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2521                 (__v4si)
2522                 _mm_setzero_si128 (),
2523                 (__mmask8) __U);
2524}
2525
2526static __inline__ __m256i __DEFAULT_FN_ATTRS
2527_mm256_cvtps_epu32 (__m256 __A) {
2528  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2529                 (__v8si)
2530                 _mm256_setzero_si256 (),
2531                 (__mmask8) -1);
2532}
2533
2534static __inline__ __m256i __DEFAULT_FN_ATTRS
2535_mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2536  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2537                 (__v8si) __W,
2538                 (__mmask8) __U);
2539}
2540
2541static __inline__ __m256i __DEFAULT_FN_ATTRS
2542_mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A) {
2543  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2544                 (__v8si)
2545                 _mm256_setzero_si256 (),
2546                 (__mmask8) __U);
2547}
2548
2549static __inline__ __m128i __DEFAULT_FN_ATTRS
2550_mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
2551  return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2552                 (__v4si) __W,
2553                 (__mmask8) __U);
2554}
2555
2556static __inline__ __m128i __DEFAULT_FN_ATTRS
2557_mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) {
2558  return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2559                 (__v4si)
2560                 _mm_setzero_si128 (),
2561                 (__mmask8) __U);
2562}
2563
2564static __inline__ __m128i __DEFAULT_FN_ATTRS
2565_mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
2566  return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2567                 (__v4si) __W,
2568                 (__mmask8) __U);
2569}
2570
2571static __inline__ __m128i __DEFAULT_FN_ATTRS
2572_mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A) {
2573  return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2574                 (__v4si)
2575                 _mm_setzero_si128 (),
2576                 (__mmask8) __U);
2577}
2578
2579static __inline__ __m128i __DEFAULT_FN_ATTRS
2580_mm_cvttpd_epu32 (__m128d __A) {
2581  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2582                  (__v4si)
2583                  _mm_setzero_si128 (),
2584                  (__mmask8) -1);
2585}
2586
2587static __inline__ __m128i __DEFAULT_FN_ATTRS
2588_mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
2589  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2590                  (__v4si) __W,
2591                  (__mmask8) __U);
2592}
2593
2594static __inline__ __m128i __DEFAULT_FN_ATTRS
2595_mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) {
2596  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2597                  (__v4si)
2598                  _mm_setzero_si128 (),
2599                  (__mmask8) __U);
2600}
2601
2602static __inline__ __m128i __DEFAULT_FN_ATTRS
2603_mm256_cvttpd_epu32 (__m256d __A) {
2604  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2605                  (__v4si)
2606                  _mm_setzero_si128 (),
2607                  (__mmask8) -1);
2608}
2609
2610static __inline__ __m128i __DEFAULT_FN_ATTRS
2611_mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
2612  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2613                  (__v4si) __W,
2614                  (__mmask8) __U);
2615}
2616
2617static __inline__ __m128i __DEFAULT_FN_ATTRS
2618_mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A) {
2619  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2620                  (__v4si)
2621                  _mm_setzero_si128 (),
2622                  (__mmask8) __U);
2623}
2624
2625static __inline__ __m128i __DEFAULT_FN_ATTRS
2626_mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
2627  return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2628                 (__v4si) __W,
2629                 (__mmask8) __U);
2630}
2631
2632static __inline__ __m128i __DEFAULT_FN_ATTRS
2633_mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A) {
2634  return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2635                 (__v4si)
2636                 _mm_setzero_si128 (),
2637                 (__mmask8) __U);
2638}
2639
2640static __inline__ __m256i __DEFAULT_FN_ATTRS
2641_mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
2642  return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2643                 (__v8si) __W,
2644                 (__mmask8) __U);
2645}
2646
2647static __inline__ __m256i __DEFAULT_FN_ATTRS
2648_mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A) {
2649  return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2650                 (__v8si)
2651                 _mm256_setzero_si256 (),
2652                 (__mmask8) __U);
2653}
2654
2655static __inline__ __m128i __DEFAULT_FN_ATTRS
2656_mm_cvttps_epu32 (__m128 __A) {
2657  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2658                  (__v4si)
2659                  _mm_setzero_si128 (),
2660                  (__mmask8) -1);
2661}
2662
2663static __inline__ __m128i __DEFAULT_FN_ATTRS
2664_mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
2665  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2666                  (__v4si) __W,
2667                  (__mmask8) __U);
2668}
2669
2670static __inline__ __m128i __DEFAULT_FN_ATTRS
2671_mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A) {
2672  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2673                  (__v4si)
2674                  _mm_setzero_si128 (),
2675                  (__mmask8) __U);
2676}
2677
2678static __inline__ __m256i __DEFAULT_FN_ATTRS
2679_mm256_cvttps_epu32 (__m256 __A) {
2680  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2681                  (__v8si)
2682                  _mm256_setzero_si256 (),
2683                  (__mmask8) -1);
2684}
2685
2686static __inline__ __m256i __DEFAULT_FN_ATTRS
2687_mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2688  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2689                  (__v8si) __W,
2690                  (__mmask8) __U);
2691}
2692
2693static __inline__ __m256i __DEFAULT_FN_ATTRS
2694_mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) {
2695  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2696                  (__v8si)
2697                  _mm256_setzero_si256 (),
2698                  (__mmask8) __U);
2699}
2700
2701static __inline__ __m128d __DEFAULT_FN_ATTRS
2702_mm_cvtepu32_pd (__m128i __A) {
2703  return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2704                 (__v2df)
2705                 _mm_setzero_pd (),
2706                 (__mmask8) -1);
2707}
2708
2709static __inline__ __m128d __DEFAULT_FN_ATTRS
2710_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2711  return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2712                 (__v2df) __W,
2713                 (__mmask8) __U);
2714}
2715
2716static __inline__ __m128d __DEFAULT_FN_ATTRS
2717_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2718  return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2719                 (__v2df)
2720                 _mm_setzero_pd (),
2721                 (__mmask8) __U);
2722}
2723
2724static __inline__ __m256d __DEFAULT_FN_ATTRS
2725_mm256_cvtepu32_pd (__m128i __A) {
2726  return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2727                 (__v4df)
2728                 _mm256_setzero_pd (),
2729                 (__mmask8) -1);
2730}
2731
2732static __inline__ __m256d __DEFAULT_FN_ATTRS
2733_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2734  return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2735                 (__v4df) __W,
2736                 (__mmask8) __U);
2737}
2738
2739static __inline__ __m256d __DEFAULT_FN_ATTRS
2740_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2741  return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2742                 (__v4df)
2743                 _mm256_setzero_pd (),
2744                 (__mmask8) __U);
2745}
2746
2747static __inline__ __m128 __DEFAULT_FN_ATTRS
2748_mm_cvtepu32_ps (__m128i __A) {
2749  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2750                (__v4sf)
2751                _mm_setzero_ps (),
2752                (__mmask8) -1);
2753}
2754
2755static __inline__ __m128 __DEFAULT_FN_ATTRS
2756_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2757  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2758                (__v4sf) __W,
2759                (__mmask8) __U);
2760}
2761
2762static __inline__ __m128 __DEFAULT_FN_ATTRS
2763_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) {
2764  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2765                (__v4sf)
2766                _mm_setzero_ps (),
2767                (__mmask8) __U);
2768}
2769
2770static __inline__ __m256 __DEFAULT_FN_ATTRS
2771_mm256_cvtepu32_ps (__m256i __A) {
2772  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2773                (__v8sf)
2774                _mm256_setzero_ps (),
2775                (__mmask8) -1);
2776}
2777
2778static __inline__ __m256 __DEFAULT_FN_ATTRS
2779_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2780  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2781                (__v8sf) __W,
2782                (__mmask8) __U);
2783}
2784
2785static __inline__ __m256 __DEFAULT_FN_ATTRS
2786_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) {
2787  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2788                (__v8sf)
2789                _mm256_setzero_ps (),
2790                (__mmask8) __U);
2791}
2792
2793static __inline__ __m128d __DEFAULT_FN_ATTRS
2794_mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2795  return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
2796                (__v2df) __B,
2797                (__v2df) __W,
2798                (__mmask8) __U);
2799}
2800
2801static __inline__ __m128d __DEFAULT_FN_ATTRS
2802_mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B) {
2803  return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
2804                (__v2df) __B,
2805                (__v2df)
2806                _mm_setzero_pd (),
2807                (__mmask8) __U);
2808}
2809
2810static __inline__ __m256d __DEFAULT_FN_ATTRS
2811_mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
2812        __m256d __B) {
2813  return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
2814             (__v4df) __B,
2815             (__v4df) __W,
2816             (__mmask8) __U);
2817}
2818
2819static __inline__ __m256d __DEFAULT_FN_ATTRS
2820_mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B) {
2821  return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
2822             (__v4df) __B,
2823             (__v4df)
2824             _mm256_setzero_pd (),
2825             (__mmask8) __U);
2826}
2827
2828static __inline__ __m128 __DEFAULT_FN_ATTRS
2829_mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2830  return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
2831               (__v4sf) __B,
2832               (__v4sf) __W,
2833               (__mmask8) __U);
2834}
2835
2836static __inline__ __m128 __DEFAULT_FN_ATTRS
2837_mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B) {
2838  return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
2839               (__v4sf) __B,
2840               (__v4sf)
2841               _mm_setzero_ps (),
2842               (__mmask8) __U);
2843}
2844
2845static __inline__ __m256 __DEFAULT_FN_ATTRS
2846_mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2847  return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
2848            (__v8sf) __B,
2849            (__v8sf) __W,
2850            (__mmask8) __U);
2851}
2852
2853static __inline__ __m256 __DEFAULT_FN_ATTRS
2854_mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B) {
2855  return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
2856            (__v8sf) __B,
2857            (__v8sf)
2858            _mm256_setzero_ps (),
2859            (__mmask8) __U);
2860}
2861
2862static __inline__ __m128d __DEFAULT_FN_ATTRS
2863_mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2864  return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2865                (__v2df) __W,
2866                (__mmask8) __U);
2867}
2868
2869static __inline__ __m128d __DEFAULT_FN_ATTRS
2870_mm_maskz_expand_pd (__mmask8 __U, __m128d __A) {
2871  return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2872                 (__v2df)
2873                 _mm_setzero_pd (),
2874                 (__mmask8) __U);
2875}
2876
2877static __inline__ __m256d __DEFAULT_FN_ATTRS
2878_mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2879  return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2880                (__v4df) __W,
2881                (__mmask8) __U);
2882}
2883
2884static __inline__ __m256d __DEFAULT_FN_ATTRS
2885_mm256_maskz_expand_pd (__mmask8 __U, __m256d __A) {
2886  return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2887                 (__v4df)
2888                 _mm256_setzero_pd (),
2889                 (__mmask8) __U);
2890}
2891
2892static __inline__ __m128i __DEFAULT_FN_ATTRS
2893_mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2894  return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2895                (__v2di) __W,
2896                (__mmask8) __U);
2897}
2898
2899static __inline__ __m128i __DEFAULT_FN_ATTRS
2900_mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A) {
2901  return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2902                 (__v2di)
2903                 _mm_setzero_si128 (),
2904                 (__mmask8) __U);
2905}
2906
2907static __inline__ __m256i __DEFAULT_FN_ATTRS
2908_mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2909  return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2910                (__v4di) __W,
2911                (__mmask8) __U);
2912}
2913
2914static __inline__ __m256i __DEFAULT_FN_ATTRS
2915_mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A) {
2916  return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2917                 (__v4di)
2918                 _mm256_setzero_si256 (),
2919                 (__mmask8) __U);
2920}
2921
2922static __inline__ __m128d __DEFAULT_FN_ATTRS
2923_mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P) {
2924  return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2925              (__v2df) __W,
2926              (__mmask8)
2927              __U);
2928}
2929
2930static __inline__ __m128d __DEFAULT_FN_ATTRS
2931_mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2932  return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2933               (__v2df)
2934               _mm_setzero_pd (),
2935               (__mmask8)
2936               __U);
2937}
2938
2939static __inline__ __m256d __DEFAULT_FN_ATTRS
2940_mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P) {
2941  return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2942              (__v4df) __W,
2943              (__mmask8)
2944              __U);
2945}
2946
2947static __inline__ __m256d __DEFAULT_FN_ATTRS
2948_mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2949  return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2950               (__v4df)
2951               _mm256_setzero_pd (),
2952               (__mmask8)
2953               __U);
2954}
2955
2956static __inline__ __m128i __DEFAULT_FN_ATTRS
2957_mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) {
2958  return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2959              (__v2di) __W,
2960              (__mmask8)
2961              __U);
2962}
2963
2964static __inline__ __m128i __DEFAULT_FN_ATTRS
2965_mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) {
2966  return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2967               (__v2di)
2968               _mm_setzero_si128 (),
2969               (__mmask8)
2970               __U);
2971}
2972
2973static __inline__ __m256i __DEFAULT_FN_ATTRS
2974_mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
2975             void const *__P) {
2976  return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2977              (__v4di) __W,
2978              (__mmask8)
2979              __U);
2980}
2981
2982static __inline__ __m256i __DEFAULT_FN_ATTRS
2983_mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) {
2984  return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2985               (__v4di)
2986               _mm256_setzero_si256 (),
2987               (__mmask8)
2988               __U);
2989}
2990
2991static __inline__ __m128 __DEFAULT_FN_ATTRS
2992_mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P) {
2993  return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
2994                   (__v4sf) __W,
2995                   (__mmask8) __U);
2996}
2997
2998static __inline__ __m128 __DEFAULT_FN_ATTRS
2999_mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
3000  return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
3001              (__v4sf)
3002              _mm_setzero_ps (),
3003              (__mmask8)
3004              __U);
3005}
3006
3007static __inline__ __m256 __DEFAULT_FN_ATTRS
3008_mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P) {
3009  return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
3010                   (__v8sf) __W,
3011                   (__mmask8) __U);
3012}
3013
3014static __inline__ __m256 __DEFAULT_FN_ATTRS
3015_mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
3016  return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
3017              (__v8sf)
3018              _mm256_setzero_ps (),
3019              (__mmask8)
3020              __U);
3021}
3022
3023static __inline__ __m128i __DEFAULT_FN_ATTRS
3024_mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) {
3025  return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
3026              (__v4si) __W,
3027              (__mmask8)
3028              __U);
3029}
3030
3031static __inline__ __m128i __DEFAULT_FN_ATTRS
3032_mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) {
3033  return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
3034               (__v4si)
3035               _mm_setzero_si128 (),
3036               (__mmask8)     __U);
3037}
3038
3039static __inline__ __m256i __DEFAULT_FN_ATTRS
3040_mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
3041             void const *__P) {
3042  return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
3043              (__v8si) __W,
3044              (__mmask8)
3045              __U);
3046}
3047
3048static __inline__ __m256i __DEFAULT_FN_ATTRS
3049_mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) {
3050  return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
3051               (__v8si)
3052               _mm256_setzero_si256 (),
3053               (__mmask8)
3054               __U);
3055}
3056
3057static __inline__ __m128 __DEFAULT_FN_ATTRS
3058_mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A) {
3059  return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
3060               (__v4sf) __W,
3061               (__mmask8) __U);
3062}
3063
3064static __inline__ __m128 __DEFAULT_FN_ATTRS
3065_mm_maskz_expand_ps (__mmask8 __U, __m128 __A) {
3066  return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
3067                (__v4sf)
3068                _mm_setzero_ps (),
3069                (__mmask8) __U);
3070}
3071
3072static __inline__ __m256 __DEFAULT_FN_ATTRS
3073_mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A) {
3074  return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
3075               (__v8sf) __W,
3076               (__mmask8) __U);
3077}
3078
3079static __inline__ __m256 __DEFAULT_FN_ATTRS
3080_mm256_maskz_expand_ps (__mmask8 __U, __m256 __A) {
3081  return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
3082                (__v8sf)
3083                _mm256_setzero_ps (),
3084                (__mmask8) __U);
3085}
3086
3087static __inline__ __m128i __DEFAULT_FN_ATTRS
3088_mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
3089  return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
3090                (__v4si) __W,
3091                (__mmask8) __U);
3092}
3093
3094static __inline__ __m128i __DEFAULT_FN_ATTRS
3095_mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A) {
3096  return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
3097                 (__v4si)
3098                 _mm_setzero_si128 (),
3099                 (__mmask8) __U);
3100}
3101
3102static __inline__ __m256i __DEFAULT_FN_ATTRS
3103_mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
3104  return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
3105                (__v8si) __W,
3106                (__mmask8) __U);
3107}
3108
3109static __inline__ __m256i __DEFAULT_FN_ATTRS
3110_mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A) {
3111  return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
3112                 (__v8si)
3113                 _mm256_setzero_si256 (),
3114                 (__mmask8) __U);
3115}
3116
3117static __inline__ __m128d __DEFAULT_FN_ATTRS
3118_mm_getexp_pd (__m128d __A) {
3119  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3120                (__v2df)
3121                _mm_setzero_pd (),
3122                (__mmask8) -1);
3123}
3124
3125static __inline__ __m128d __DEFAULT_FN_ATTRS
3126_mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A) {
3127  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3128                (__v2df) __W,
3129                (__mmask8) __U);
3130}
3131
3132static __inline__ __m128d __DEFAULT_FN_ATTRS
3133_mm_maskz_getexp_pd (__mmask8 __U, __m128d __A) {
3134  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3135                (__v2df)
3136                _mm_setzero_pd (),
3137                (__mmask8) __U);
3138}
3139
3140static __inline__ __m256d __DEFAULT_FN_ATTRS
3141_mm256_getexp_pd (__m256d __A) {
3142  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3143                (__v4df)
3144                _mm256_setzero_pd (),
3145                (__mmask8) -1);
3146}
3147
3148static __inline__ __m256d __DEFAULT_FN_ATTRS
3149_mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A) {
3150  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3151                (__v4df) __W,
3152                (__mmask8) __U);
3153}
3154
3155static __inline__ __m256d __DEFAULT_FN_ATTRS
3156_mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A) {
3157  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3158                (__v4df)
3159                _mm256_setzero_pd (),
3160                (__mmask8) __U);
3161}
3162
3163static __inline__ __m128 __DEFAULT_FN_ATTRS
3164_mm_getexp_ps (__m128 __A) {
3165  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3166               (__v4sf)
3167               _mm_setzero_ps (),
3168               (__mmask8) -1);
3169}
3170
3171static __inline__ __m128 __DEFAULT_FN_ATTRS
3172_mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A) {
3173  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3174               (__v4sf) __W,
3175               (__mmask8) __U);
3176}
3177
3178static __inline__ __m128 __DEFAULT_FN_ATTRS
3179_mm_maskz_getexp_ps (__mmask8 __U, __m128 __A) {
3180  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3181               (__v4sf)
3182               _mm_setzero_ps (),
3183               (__mmask8) __U);
3184}
3185
3186static __inline__ __m256 __DEFAULT_FN_ATTRS
3187_mm256_getexp_ps (__m256 __A) {
3188  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3189               (__v8sf)
3190               _mm256_setzero_ps (),
3191               (__mmask8) -1);
3192}
3193
3194static __inline__ __m256 __DEFAULT_FN_ATTRS
3195_mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A) {
3196  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3197               (__v8sf) __W,
3198               (__mmask8) __U);
3199}
3200
3201static __inline__ __m256 __DEFAULT_FN_ATTRS
3202_mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A) {
3203  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3204               (__v8sf)
3205               _mm256_setzero_ps (),
3206               (__mmask8) __U);
3207}
3208
3209static __inline__ __m128d __DEFAULT_FN_ATTRS
3210_mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3211  return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
3212                (__v2df) __B,
3213                (__v2df) __W,
3214                (__mmask8) __U);
3215}
3216
3217static __inline__ __m128d __DEFAULT_FN_ATTRS
3218_mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3219  return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
3220                (__v2df) __B,
3221                (__v2df)
3222                _mm_setzero_pd (),
3223                (__mmask8) __U);
3224}
3225
3226static __inline__ __m256d __DEFAULT_FN_ATTRS
3227_mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
3228        __m256d __B) {
3229  return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
3230             (__v4df) __B,
3231             (__v4df) __W,
3232             (__mmask8) __U);
3233}
3234
3235static __inline__ __m256d __DEFAULT_FN_ATTRS
3236_mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3237  return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
3238             (__v4df) __B,
3239             (__v4df)
3240             _mm256_setzero_pd (),
3241             (__mmask8) __U);
3242}
3243
3244static __inline__ __m128 __DEFAULT_FN_ATTRS
3245_mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3246  return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
3247               (__v4sf) __B,
3248               (__v4sf) __W,
3249               (__mmask8) __U);
3250}
3251
3252static __inline__ __m128 __DEFAULT_FN_ATTRS
3253_mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3254  return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
3255               (__v4sf) __B,
3256               (__v4sf)
3257               _mm_setzero_ps (),
3258               (__mmask8) __U);
3259}
3260
3261static __inline__ __m256 __DEFAULT_FN_ATTRS
3262_mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3263  return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
3264            (__v8sf) __B,
3265            (__v8sf) __W,
3266            (__mmask8) __U);
3267}
3268
3269static __inline__ __m256 __DEFAULT_FN_ATTRS
3270_mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3271  return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
3272            (__v8sf) __B,
3273            (__v8sf)
3274            _mm256_setzero_ps (),
3275            (__mmask8) __U);
3276}
3277
3278static __inline__ __m128d __DEFAULT_FN_ATTRS
3279_mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3280  return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
3281                (__v2df) __B,
3282                (__v2df) __W,
3283                (__mmask8) __U);
3284}
3285
3286static __inline__ __m128d __DEFAULT_FN_ATTRS
3287_mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3288  return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
3289                (__v2df) __B,
3290                (__v2df)
3291                _mm_setzero_pd (),
3292                (__mmask8) __U);
3293}
3294
3295static __inline__ __m256d __DEFAULT_FN_ATTRS
3296_mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
3297        __m256d __B) {
3298  return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
3299             (__v4df) __B,
3300             (__v4df) __W,
3301             (__mmask8) __U);
3302}
3303
3304static __inline__ __m256d __DEFAULT_FN_ATTRS
3305_mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3306  return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
3307             (__v4df) __B,
3308             (__v4df)
3309             _mm256_setzero_pd (),
3310             (__mmask8) __U);
3311}
3312
3313static __inline__ __m128 __DEFAULT_FN_ATTRS
3314_mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3315  return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
3316               (__v4sf) __B,
3317               (__v4sf) __W,
3318               (__mmask8) __U);
3319}
3320
3321static __inline__ __m128 __DEFAULT_FN_ATTRS
3322_mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3323  return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
3324               (__v4sf) __B,
3325               (__v4sf)
3326               _mm_setzero_ps (),
3327               (__mmask8) __U);
3328}
3329
3330static __inline__ __m256 __DEFAULT_FN_ATTRS
3331_mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3332  return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
3333            (__v8sf) __B,
3334            (__v8sf) __W,
3335            (__mmask8) __U);
3336}
3337
3338static __inline__ __m256 __DEFAULT_FN_ATTRS
3339_mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3340  return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
3341            (__v8sf) __B,
3342            (__v8sf)
3343            _mm256_setzero_ps (),
3344            (__mmask8) __U);
3345}
3346
3347static __inline__ __m128d __DEFAULT_FN_ATTRS
3348_mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3349  return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
3350                (__v2df) __B,
3351                (__v2df) __W,
3352                (__mmask8) __U);
3353}
3354
3355static __inline__ __m128d __DEFAULT_FN_ATTRS
3356_mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3357  return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
3358                (__v2df) __B,
3359                (__v2df)
3360                _mm_setzero_pd (),
3361                (__mmask8) __U);
3362}
3363
3364static __inline__ __m256d __DEFAULT_FN_ATTRS
3365_mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
3366        __m256d __B) {
3367  return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
3368             (__v4df) __B,
3369             (__v4df) __W,
3370             (__mmask8) __U);
3371}
3372
3373static __inline__ __m256d __DEFAULT_FN_ATTRS
3374_mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3375  return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
3376             (__v4df) __B,
3377             (__v4df)
3378             _mm256_setzero_pd (),
3379             (__mmask8) __U);
3380}
3381
3382static __inline__ __m128 __DEFAULT_FN_ATTRS
3383_mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3384  return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
3385               (__v4sf) __B,
3386               (__v4sf) __W,
3387               (__mmask8) __U);
3388}
3389
3390static __inline__ __m128 __DEFAULT_FN_ATTRS
3391_mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3392  return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
3393               (__v4sf) __B,
3394               (__v4sf)
3395               _mm_setzero_ps (),
3396               (__mmask8) __U);
3397}
3398
3399static __inline__ __m256 __DEFAULT_FN_ATTRS
3400_mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3401  return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
3402            (__v8sf) __B,
3403            (__v8sf) __W,
3404            (__mmask8) __U);
3405}
3406
3407static __inline__ __m256 __DEFAULT_FN_ATTRS
3408_mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3409  return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
3410            (__v8sf) __B,
3411            (__v8sf)
3412            _mm256_setzero_ps (),
3413            (__mmask8) __U);
3414}
3415
3416static __inline__ __m128i __DEFAULT_FN_ATTRS
3417_mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
3418  return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
3419             (__v4si) __W,
3420             (__mmask8) __U);
3421}
3422
3423static __inline__ __m128i __DEFAULT_FN_ATTRS
3424_mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A) {
3425  return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
3426             (__v4si)
3427             _mm_setzero_si128 (),
3428             (__mmask8) __U);
3429}
3430
3431static __inline__ __m256i __DEFAULT_FN_ATTRS
3432_mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
3433  return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
3434             (__v8si) __W,
3435             (__mmask8) __U);
3436}
3437
3438static __inline__ __m256i __DEFAULT_FN_ATTRS
3439_mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A) {
3440  return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
3441             (__v8si)
3442             _mm256_setzero_si256 (),
3443             (__mmask8) __U);
3444}
3445
3446static __inline__ __m128i __DEFAULT_FN_ATTRS
3447_mm_abs_epi64 (__m128i __A) {
3448  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3449             (__v2di)
3450             _mm_setzero_si128 (),
3451             (__mmask8) -1);
3452}
3453
3454static __inline__ __m128i __DEFAULT_FN_ATTRS
3455_mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
3456  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3457             (__v2di) __W,
3458             (__mmask8) __U);
3459}
3460
3461static __inline__ __m128i __DEFAULT_FN_ATTRS
3462_mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) {
3463  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3464             (__v2di)
3465             _mm_setzero_si128 (),
3466             (__mmask8) __U);
3467}
3468
3469static __inline__ __m256i __DEFAULT_FN_ATTRS
3470_mm256_abs_epi64 (__m256i __A) {
3471  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3472             (__v4di)
3473             _mm256_setzero_si256 (),
3474             (__mmask8) -1);
3475}
3476
3477static __inline__ __m256i __DEFAULT_FN_ATTRS
3478_mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
3479  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3480             (__v4di) __W,
3481             (__mmask8) __U);
3482}
3483
3484static __inline__ __m256i __DEFAULT_FN_ATTRS
3485_mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) {
3486  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3487             (__v4di)
3488             _mm256_setzero_si256 (),
3489             (__mmask8) __U);
3490}
3491
3492static __inline__ __m128i __DEFAULT_FN_ATTRS
3493_mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
3494  return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
3495              (__v4si) __B,
3496              (__v4si)
3497              _mm_setzero_si128 (),
3498              __M);
3499}
3500
3501static __inline__ __m128i __DEFAULT_FN_ATTRS
3502_mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
3503        __m128i __B) {
3504  return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
3505              (__v4si) __B,
3506              (__v4si) __W, __M);
3507}
3508
3509static __inline__ __m256i __DEFAULT_FN_ATTRS
3510_mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
3511  return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
3512              (__v8si) __B,
3513              (__v8si)
3514              _mm256_setzero_si256 (),
3515              __M);
3516}
3517
3518static __inline__ __m256i __DEFAULT_FN_ATTRS
3519_mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
3520           __m256i __B) {
3521  return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
3522              (__v8si) __B,
3523              (__v8si) __W, __M);
3524}
3525
3526static __inline__ __m128i __DEFAULT_FN_ATTRS
3527_mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3528  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3529              (__v2di) __B,
3530              (__v2di)
3531              _mm_setzero_si128 (),
3532              __M);
3533}
3534
3535static __inline__ __m128i __DEFAULT_FN_ATTRS
3536_mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
3537        __m128i __B) {
3538  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3539              (__v2di) __B,
3540              (__v2di) __W, __M);
3541}
3542
3543static __inline__ __m128i __DEFAULT_FN_ATTRS
3544_mm_max_epi64 (__m128i __A, __m128i __B) {
3545  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3546              (__v2di) __B,
3547              (__v2di)
3548              _mm_setzero_si128 (),
3549              (__mmask8) -1);
3550}
3551
3552static __inline__ __m256i __DEFAULT_FN_ATTRS
3553_mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3554  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3555              (__v4di) __B,
3556              (__v4di)
3557              _mm256_setzero_si256 (),
3558              __M);
3559}
3560
3561static __inline__ __m256i __DEFAULT_FN_ATTRS
3562_mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
3563           __m256i __B) {
3564  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3565              (__v4di) __B,
3566              (__v4di) __W, __M);
3567}
3568
3569static __inline__ __m256i __DEFAULT_FN_ATTRS
3570_mm256_max_epi64 (__m256i __A, __m256i __B) {
3571  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3572              (__v4di) __B,
3573              (__v4di)
3574              _mm256_setzero_si256 (),
3575              (__mmask8) -1);
3576}
3577
3578static __inline__ __m128i __DEFAULT_FN_ATTRS
3579_mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B) {
3580  return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
3581              (__v4si) __B,
3582              (__v4si)
3583              _mm_setzero_si128 (),
3584              __M);
3585}
3586
3587static __inline__ __m128i __DEFAULT_FN_ATTRS
3588_mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
3589        __m128i __B) {
3590  return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
3591              (__v4si) __B,
3592              (__v4si) __W, __M);
3593}
3594
3595static __inline__ __m256i __DEFAULT_FN_ATTRS
3596_mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B) {
3597  return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
3598              (__v8si) __B,
3599              (__v8si)
3600              _mm256_setzero_si256 (),
3601              __M);
3602}
3603
3604static __inline__ __m256i __DEFAULT_FN_ATTRS
3605_mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
3606           __m256i __B) {
3607  return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
3608              (__v8si) __B,
3609              (__v8si) __W, __M);
3610}
3611
3612static __inline__ __m128i __DEFAULT_FN_ATTRS
3613_mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3614  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3615              (__v2di) __B,
3616              (__v2di)
3617              _mm_setzero_si128 (),
3618              __M);
3619}
3620
3621static __inline__ __m128i __DEFAULT_FN_ATTRS
3622_mm_max_epu64 (__m128i __A, __m128i __B) {
3623  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3624              (__v2di) __B,
3625              (__v2di)
3626              _mm_setzero_si128 (),
3627              (__mmask8) -1);
3628}
3629
3630static __inline__ __m128i __DEFAULT_FN_ATTRS
3631_mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3632        __m128i __B) {
3633  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3634              (__v2di) __B,
3635              (__v2di) __W, __M);
3636}
3637
3638static __inline__ __m256i __DEFAULT_FN_ATTRS
3639_mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3640  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3641              (__v4di) __B,
3642              (__v4di)
3643              _mm256_setzero_si256 (),
3644              __M);
3645}
3646
3647static __inline__ __m256i __DEFAULT_FN_ATTRS
3648_mm256_max_epu64 (__m256i __A, __m256i __B) {
3649  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3650              (__v4di) __B,
3651              (__v4di)
3652              _mm256_setzero_si256 (),
3653              (__mmask8) -1);
3654}
3655
3656static __inline__ __m256i __DEFAULT_FN_ATTRS
3657_mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3658           __m256i __B) {
3659  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3660              (__v4di) __B,
3661              (__v4di) __W, __M);
3662}
3663
3664static __inline__ __m128i __DEFAULT_FN_ATTRS
3665_mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
3666  return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
3667              (__v4si) __B,
3668              (__v4si)
3669              _mm_setzero_si128 (),
3670              __M);
3671}
3672
3673static __inline__ __m128i __DEFAULT_FN_ATTRS
3674_mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
3675        __m128i __B) {
3676  return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
3677              (__v4si) __B,
3678              (__v4si) __W, __M);
3679}
3680
3681static __inline__ __m256i __DEFAULT_FN_ATTRS
3682_mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
3683  return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
3684              (__v8si) __B,
3685              (__v8si)
3686              _mm256_setzero_si256 (),
3687              __M);
3688}
3689
3690static __inline__ __m256i __DEFAULT_FN_ATTRS
3691_mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
3692           __m256i __B) {
3693  return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
3694              (__v8si) __B,
3695              (__v8si) __W, __M);
3696}
3697
3698static __inline__ __m128i __DEFAULT_FN_ATTRS
3699_mm_min_epi64 (__m128i __A, __m128i __B) {
3700  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3701              (__v2di) __B,
3702              (__v2di)
3703              _mm_setzero_si128 (),
3704              (__mmask8) -1);
3705}
3706
3707static __inline__ __m128i __DEFAULT_FN_ATTRS
3708_mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
3709        __m128i __B) {
3710  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3711              (__v2di) __B,
3712              (__v2di) __W, __M);
3713}
3714
3715static __inline__ __m128i __DEFAULT_FN_ATTRS
3716_mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3717  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3718              (__v2di) __B,
3719              (__v2di)
3720              _mm_setzero_si128 (),
3721              __M);
3722}
3723
3724static __inline__ __m256i __DEFAULT_FN_ATTRS
3725_mm256_min_epi64 (__m256i __A, __m256i __B) {
3726  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3727              (__v4di) __B,
3728              (__v4di)
3729              _mm256_setzero_si256 (),
3730              (__mmask8) -1);
3731}
3732
3733static __inline__ __m256i __DEFAULT_FN_ATTRS
3734_mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
3735           __m256i __B) {
3736  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3737              (__v4di) __B,
3738              (__v4di) __W, __M);
3739}
3740
3741static __inline__ __m256i __DEFAULT_FN_ATTRS
3742_mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3743  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3744              (__v4di) __B,
3745              (__v4di)
3746              _mm256_setzero_si256 (),
3747              __M);
3748}
3749
3750static __inline__ __m128i __DEFAULT_FN_ATTRS
3751_mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B) {
3752  return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
3753              (__v4si) __B,
3754              (__v4si)
3755              _mm_setzero_si128 (),
3756              __M);
3757}
3758
3759static __inline__ __m128i __DEFAULT_FN_ATTRS
3760_mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
3761        __m128i __B) {
3762  return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
3763              (__v4si) __B,
3764              (__v4si) __W, __M);
3765}
3766
3767static __inline__ __m256i __DEFAULT_FN_ATTRS
3768_mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B) {
3769  return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
3770              (__v8si) __B,
3771              (__v8si)
3772              _mm256_setzero_si256 (),
3773              __M);
3774}
3775
3776static __inline__ __m256i __DEFAULT_FN_ATTRS
3777_mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
3778           __m256i __B) {
3779  return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
3780              (__v8si) __B,
3781              (__v8si) __W, __M);
3782}
3783
3784static __inline__ __m128i __DEFAULT_FN_ATTRS
3785_mm_min_epu64 (__m128i __A, __m128i __B) {
3786  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3787              (__v2di) __B,
3788              (__v2di)
3789              _mm_setzero_si128 (),
3790              (__mmask8) -1);
3791}
3792
3793static __inline__ __m128i __DEFAULT_FN_ATTRS
3794_mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3795        __m128i __B) {
3796  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3797              (__v2di) __B,
3798              (__v2di) __W, __M);
3799}
3800
3801static __inline__ __m128i __DEFAULT_FN_ATTRS
3802_mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3803  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3804              (__v2di) __B,
3805              (__v2di)
3806              _mm_setzero_si128 (),
3807              __M);
3808}
3809
3810static __inline__ __m256i __DEFAULT_FN_ATTRS
3811_mm256_min_epu64 (__m256i __A, __m256i __B) {
3812  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3813              (__v4di) __B,
3814              (__v4di)
3815              _mm256_setzero_si256 (),
3816              (__mmask8) -1);
3817}
3818
3819static __inline__ __m256i __DEFAULT_FN_ATTRS
3820_mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3821           __m256i __B) {
3822  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3823              (__v4di) __B,
3824              (__v4di) __W, __M);
3825}
3826
3827static __inline__ __m256i __DEFAULT_FN_ATTRS
3828_mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3829  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3830              (__v4di) __B,
3831              (__v4di)
3832              _mm256_setzero_si256 (),
3833              __M);
3834}
3835
3836#define _mm_roundscale_pd(__A, __imm) __extension__ ({ \
3837  (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, \
3838                   __imm, (__v2df) _mm_setzero_pd (), (__mmask8) -1); })
3839
3840
3841#define _mm_mask_roundscale_pd(__W, __U, __A, __imm) __extension__ ({ \
3842  (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, \
3843                   (__v2df) __W, (__mmask8) __U); })
3844
3845
3846#define _mm_maskz_roundscale_pd(__U, __A, __imm) __extension__ ({ \
3847  (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, \
3848                   (__v2df) _mm_setzero_pd (), (__mmask8) __U); })
3849
3850
3851#define _mm256_roundscale_pd(__A, __imm) __extension__ ({ \
3852  (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \
3853                   (__v4df) _mm256_setzero_pd (), (__mmask8) -1); })
3854
3855
3856#define _mm256_mask_roundscale_pd(__W, __U, __A, __imm) __extension__ ({ \
3857  (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \
3858                   (__v4df) __W, (__mmask8) __U); })
3859
3860
3861#define _mm256_maskz_roundscale_pd(__U, __A, __imm)  __extension__ ({ \
3862  (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \
3863                   (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
3864
3865#define _mm_roundscale_ps(__A, __imm)  __extension__ ({ \
3866  (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \
3867                  (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
3868
3869
3870#define _mm_mask_roundscale_ps(__W, __U, __A, __imm)  __extension__ ({ \
3871  (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \
3872                  (__v4sf) __W, (__mmask8) __U); })
3873
3874
3875#define _mm_maskz_roundscale_ps(__U, __A, __imm)  __extension__ ({ \
3876  (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \
3877                  (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
3878
3879#define _mm256_roundscale_ps(__A, __imm)  __extension__ ({ \
3880  (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,__imm, \
3881                  (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
3882
3883#define _mm256_mask_roundscale_ps(__W, __U, __A,__imm)  __extension__ ({ \
3884  (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, \
3885                  (__v8sf) __W, (__mmask8) __U); })
3886
3887
3888#define _mm256_maskz_roundscale_ps(__U, __A, __imm)  __extension__ ({ \
3889  (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, \
3890                  (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
3891
3892static __inline__ __m128d __DEFAULT_FN_ATTRS
3893_mm_scalef_pd (__m128d __A, __m128d __B) {
3894  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3895                (__v2df) __B,
3896                (__v2df)
3897                _mm_setzero_pd (),
3898                (__mmask8) -1);
3899}
3900
3901static __inline__ __m128d __DEFAULT_FN_ATTRS
3902_mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
3903        __m128d __B) {
3904  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3905                (__v2df) __B,
3906                (__v2df) __W,
3907                (__mmask8) __U);
3908}
3909
3910static __inline__ __m128d __DEFAULT_FN_ATTRS
3911_mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3912  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3913                (__v2df) __B,
3914                (__v2df)
3915                _mm_setzero_pd (),
3916                (__mmask8) __U);
3917}
3918
3919static __inline__ __m256d __DEFAULT_FN_ATTRS
3920_mm256_scalef_pd (__m256d __A, __m256d __B) {
3921  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3922                (__v4df) __B,
3923                (__v4df)
3924                _mm256_setzero_pd (),
3925                (__mmask8) -1);
3926}
3927
3928static __inline__ __m256d __DEFAULT_FN_ATTRS
3929_mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
3930           __m256d __B) {
3931  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3932                (__v4df) __B,
3933                (__v4df) __W,
3934                (__mmask8) __U);
3935}
3936
3937static __inline__ __m256d __DEFAULT_FN_ATTRS
3938_mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3939  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3940                (__v4df) __B,
3941                (__v4df)
3942                _mm256_setzero_pd (),
3943                (__mmask8) __U);
3944}
3945
3946static __inline__ __m128 __DEFAULT_FN_ATTRS
3947_mm_scalef_ps (__m128 __A, __m128 __B) {
3948  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3949               (__v4sf) __B,
3950               (__v4sf)
3951               _mm_setzero_ps (),
3952               (__mmask8) -1);
3953}
3954
3955static __inline__ __m128 __DEFAULT_FN_ATTRS
3956_mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3957  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3958               (__v4sf) __B,
3959               (__v4sf) __W,
3960               (__mmask8) __U);
3961}
3962
3963static __inline__ __m128 __DEFAULT_FN_ATTRS
3964_mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3965  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3966               (__v4sf) __B,
3967               (__v4sf)
3968               _mm_setzero_ps (),
3969               (__mmask8) __U);
3970}
3971
3972static __inline__ __m256 __DEFAULT_FN_ATTRS
3973_mm256_scalef_ps (__m256 __A, __m256 __B) {
3974  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3975               (__v8sf) __B,
3976               (__v8sf)
3977               _mm256_setzero_ps (),
3978               (__mmask8) -1);
3979}
3980
3981static __inline__ __m256 __DEFAULT_FN_ATTRS
3982_mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
3983           __m256 __B) {
3984  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3985               (__v8sf) __B,
3986               (__v8sf) __W,
3987               (__mmask8) __U);
3988}
3989
3990static __inline__ __m256 __DEFAULT_FN_ATTRS
3991_mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3992  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3993               (__v8sf) __B,
3994               (__v8sf)
3995               _mm256_setzero_ps (),
3996               (__mmask8) __U);
3997}
3998
3999#define _mm_i64scatter_pd(__addr,__index, __v1, __scale) __extension__ ({ \
4000  __builtin_ia32_scatterdiv2df(__addr, (__mmask8) 0xFF, (__v2di) __index, \
4001                              (__v2df) __v1, __scale); })
4002
4003#define _mm_mask_i64scatter_pd(__addr, __mask, __index, __v1, \
4004                               __scale) __extension__ ({ \
4005  __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index, \
4006                               (__v2df) __v1, __scale); })
4007
4008
4009#define _mm_i64scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \
4010  __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF, \
4011        (__v2di) __index, (__v2di) __v1, __scale); })
4012
4013#define _mm_mask_i64scatter_epi64(__addr, __mask, __index, __v1,\
4014                                  __scale) __extension__ ({ \
4015  __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index,\
4016        (__v2di) __v1, __scale); })
4017
4018#define _mm256_i64scatter_pd(__addr, __index, __v1, __scale) __extension__ ({ \
4019  __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF,\
4020        (__v4di) __index, (__v4df) __v1, __scale); })
4021
4022#define _mm256_mask_i64scatter_pd(__addr, __mask, __index, __v1,\
4023                                   __scale) __extension__ ({ \
4024  __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index,\
4025        (__v4df) __v1, __scale); })
4026
4027#define _mm256_i64scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \
4028  __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF, (__v4di) __index,\
4029                               (__v4di) __v1, __scale); })
4030
4031#define _mm256_mask_i64scatter_epi64(__addr, __mask, __index, __v1,\
4032                                      __scale) __extension__ ({ \
4033  __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index,\
4034        (__v4di) __v1, __scale); })
4035
4036#define _mm_i64scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4037  __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF,\
4038        (__v2di) __index, (__v4sf) __v1, __scale); })
4039
4040#define _mm_mask_i64scatter_ps(__addr, __mask, __index, __v1, \
4041                                __scale) __extension__ ({ \
4042  __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index,\
4043        (__v4sf) __v1, __scale); })
4044
4045#define _mm_i64scatter_epi32(__addr, __index, __v1, \
4046                              __scale) __extension__ ({ \
4047  __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF,\
4048        (__v2di) __index, (__v4si) __v1, __scale); })
4049
4050#define _mm_mask_i64scatter_epi32(__addr, __mask, __index, __v1,\
4051         __scale) __extension__ ({ \
4052  __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index,\
4053        (__v4si) __v1, __scale); })
4054
4055#define _mm256_i64scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4056  __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF, (__v4di) __index, \
4057                              (__v4sf) __v1, __scale); })
4058
4059#define _mm256_mask_i64scatter_ps(__addr, __mask, __index, __v1, \
4060                                   __scale) __extension__ ({ \
4061  __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index, \
4062        (__v4sf) __v1, __scale); })
4063
4064#define _mm256_i64scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \
4065  __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF, \
4066        (__v4di) __index, (__v4si) __v1, __scale); })
4067
4068#define _mm256_mask_i64scatter_epi32(__addr, __mask, __index, __v1, \
4069                                      __scale) __extension__ ({  \
4070  __builtin_ia32_scatterdiv8si(__addr, __mask, (__v4di) __index, \
4071        (__v4si) __v1, __scale); })
4072
4073#define _mm_i32scatter_pd(__addr, __index, __v1,         \
4074                          __scale) __extension__ ({      \
4075  __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF, \
4076        (__v4si) __index, (__v2df) __v1, __scale); })
4077
4078#define _mm_mask_i32scatter_pd(__addr, __mask, __index, __v1,    \
4079                                __scale) __extension__ ({        \
4080  __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index,\
4081         (__v2df) __v1, __scale); })
4082
4083#define _mm_i32scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \
4084  __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF,                       \
4085        (__v4si) __index, (__v2di) __v1, __scale); })
4086
4087#define _mm_mask_i32scatter_epi64(__addr, __mask, __index, __v1, \
4088         __scale) __extension__ ({                                \
4089  __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index, \
4090        (__v2di) __v1, __scale); })
4091
4092#define _mm256_i32scatter_pd(__addr, __index, __v1, __scale) __extension__ ({ \
4093  __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF,                      \
4094        (__v4si) __index, (__v4df) __v1, __scale); })
4095
4096#define _mm256_mask_i32scatter_pd(__addr, __mask, __index, __v1, \
4097         __scale) __extension__ ({                                \
4098  __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index, \
4099        (__v4df) __v1, __scale); })
4100
4101#define _mm256_i32scatter_epi64(__addr, __index, __v1,    \
4102                                __scale) __extension__ ({ \
4103  __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF,  \
4104        (__v4si) __index, (__v4di) __v1, __scale); })
4105
4106#define _mm256_mask_i32scatter_epi64(__addr, __mask, __index, __v1, \
4107            __scale) __extension__ ({                               \
4108  __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index,   \
4109        (__v4di) __v1, __scale); })
4110
4111#define _mm_i32scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4112  __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF,                   \
4113        (__v4si) __index, (__v4sf) __v1, __scale); })
4114
4115#define _mm_mask_i32scatter_ps(__addr, __mask, __index, __v1,     \
4116                               __scale) __extension__ ({          \
4117  __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index, \
4118        (__v4sf) __v1, __scale); })
4119
4120#define _mm_i32scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \
4121  __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF,                       \
4122        (__v4si) __index, (__v4si) __v1, __scale); })
4123
4124#define _mm_mask_i32scatter_epi32(__addr, __mask, __index, __v1, \
4125                                  __scale) __extension__ ({      \
4126  __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index,\
4127        (__v4si) __v1, __scale); })
4128
4129#define _mm256_i32scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4130  __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF,                      \
4131        (__v8si) __index, (__v8sf) __v1, __scale); })
4132
4133#define _mm256_mask_i32scatter_ps(__addr, __mask, __index, __v1, \
4134                                   __scale) __extension__ ({     \
4135  __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index,\
4136        (__v8sf) __v1, __scale); })
4137
4138#define _mm256_i32scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \
4139  __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF,                         \
4140        (__v8si) __index, (__v8si) __v1, __scale); })
4141
4142#define _mm256_mask_i32scatter_epi32(__addr, __mask, __index, __v1, \
4143            __scale) __extension__ ({                                \
4144  __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index,    \
4145        (__v8si) __v1, __scale); })
4146
4147static __inline__ __m128d __DEFAULT_FN_ATTRS
4148_mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A) {
4149  return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
4150              (__v2df) __W,
4151              (__mmask8) __U);
4152}
4153
4154static __inline__ __m128d __DEFAULT_FN_ATTRS
4155_mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A) {
4156  return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
4157              (__v2df)
4158              _mm_setzero_pd (),
4159              (__mmask8) __U);
4160}
4161
4162static __inline__ __m256d __DEFAULT_FN_ATTRS
4163_mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A) {
4164  return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
4165              (__v4df) __W,
4166              (__mmask8) __U);
4167}
4168
4169static __inline__ __m256d __DEFAULT_FN_ATTRS
4170_mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A) {
4171  return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
4172              (__v4df)
4173              _mm256_setzero_pd (),
4174              (__mmask8) __U);
4175}
4176
4177static __inline__ __m128 __DEFAULT_FN_ATTRS
4178_mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A) {
4179  return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
4180             (__v4sf) __W,
4181             (__mmask8) __U);
4182}
4183
4184static __inline__ __m128 __DEFAULT_FN_ATTRS
4185_mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A) {
4186  return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
4187             (__v4sf)
4188             _mm_setzero_ps (),
4189             (__mmask8) __U);
4190}
4191
4192static __inline__ __m256 __DEFAULT_FN_ATTRS
4193_mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A) {
4194  return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
4195             (__v8sf) __W,
4196             (__mmask8) __U);
4197}
4198
4199static __inline__ __m256 __DEFAULT_FN_ATTRS
4200_mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A) {
4201  return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
4202             (__v8sf)
4203             _mm256_setzero_ps (),
4204             (__mmask8) __U);
4205}
4206
4207static __inline__ __m128d __DEFAULT_FN_ATTRS
4208_mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
4209  return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
4210             (__v2df) __B,
4211             (__v2df) __W,
4212             (__mmask8) __U);
4213}
4214
4215static __inline__ __m128d __DEFAULT_FN_ATTRS
4216_mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B) {
4217  return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
4218             (__v2df) __B,
4219             (__v2df)
4220             _mm_setzero_pd (),
4221             (__mmask8) __U);
4222}
4223
4224static __inline__ __m256d __DEFAULT_FN_ATTRS
4225_mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A,
4226        __m256d __B) {
4227  return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
4228             (__v4df) __B,
4229             (__v4df) __W,
4230             (__mmask8) __U);
4231}
4232
4233static __inline__ __m256d __DEFAULT_FN_ATTRS
4234_mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B) {
4235  return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
4236             (__v4df) __B,
4237             (__v4df)
4238             _mm256_setzero_pd (),
4239             (__mmask8) __U);
4240}
4241
4242static __inline__ __m128 __DEFAULT_FN_ATTRS
4243_mm_mask_sub_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
4244  return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
4245            (__v4sf) __B,
4246            (__v4sf) __W,
4247            (__mmask8) __U);
4248}
4249
4250static __inline__ __m128 __DEFAULT_FN_ATTRS
4251_mm_maskz_sub_ps (__mmask16 __U, __m128 __A, __m128 __B) {
4252  return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
4253            (__v4sf) __B,
4254            (__v4sf)
4255            _mm_setzero_ps (),
4256            (__mmask8) __U);
4257}
4258
4259static __inline__ __m256 __DEFAULT_FN_ATTRS
4260_mm256_mask_sub_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
4261  return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
4262            (__v8sf) __B,
4263            (__v8sf) __W,
4264            (__mmask8) __U);
4265}
4266
4267static __inline__ __m256 __DEFAULT_FN_ATTRS
4268_mm256_maskz_sub_ps (__mmask16 __U, __m256 __A, __m256 __B) {
4269  return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
4270            (__v8sf) __B,
4271            (__v8sf)
4272            _mm256_setzero_ps (),
4273            (__mmask8) __U);
4274}
4275
4276static __inline__ __m128i __DEFAULT_FN_ATTRS
4277_mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
4278            __m128i __B) {
4279  return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
4280                   (__v4si) __I
4281                   /* idx */ ,
4282                   (__v4si) __B,
4283                   (__mmask8) __U);
4284}
4285
4286static __inline__ __m256i __DEFAULT_FN_ATTRS
4287_mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
4288         __mmask8 __U, __m256i __B) {
4289  return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
4290                   (__v8si) __I
4291                   /* idx */ ,
4292                   (__v8si) __B,
4293                   (__mmask8) __U);
4294}
4295
4296static __inline__ __m128d __DEFAULT_FN_ATTRS
4297_mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
4298         __m128d __B) {
4299  return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
4300              (__v2di) __I
4301              /* idx */ ,
4302              (__v2df) __B,
4303              (__mmask8)
4304              __U);
4305}
4306
4307static __inline__ __m256d __DEFAULT_FN_ATTRS
4308_mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
4309            __m256d __B) {
4310  return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
4311              (__v4di) __I
4312              /* idx */ ,
4313              (__v4df) __B,
4314              (__mmask8)
4315              __U);
4316}
4317
4318static __inline__ __m128 __DEFAULT_FN_ATTRS
4319_mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
4320         __m128 __B) {
4321  return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
4322                   (__v4si) __I
4323                   /* idx */ ,
4324                   (__v4sf) __B,
4325                   (__mmask8) __U);
4326}
4327
4328static __inline__ __m256 __DEFAULT_FN_ATTRS
4329_mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
4330            __m256 __B) {
4331  return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
4332                   (__v8si) __I
4333                   /* idx */ ,
4334                   (__v8sf) __B,
4335                   (__mmask8) __U);
4336}
4337
4338static __inline__ __m128i __DEFAULT_FN_ATTRS
4339_mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
4340            __m128i __B) {
4341  return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
4342                   (__v2di) __I
4343                   /* idx */ ,
4344                   (__v2di) __B,
4345                   (__mmask8) __U);
4346}
4347
4348static __inline__ __m256i __DEFAULT_FN_ATTRS
4349_mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
4350         __mmask8 __U, __m256i __B) {
4351  return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
4352                   (__v4di) __I
4353                   /* idx */ ,
4354                   (__v4di) __B,
4355                   (__mmask8) __U);
4356}
4357
4358static __inline__ __m128i __DEFAULT_FN_ATTRS
4359_mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B) {
4360  return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
4361                   /* idx */ ,
4362                   (__v4si) __A,
4363                   (__v4si) __B,
4364                   (__mmask8) -1);
4365}
4366
4367static __inline__ __m128i __DEFAULT_FN_ATTRS
4368_mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
4369           __m128i __B) {
4370  return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
4371                   /* idx */ ,
4372                   (__v4si) __A,
4373                   (__v4si) __B,
4374                   (__mmask8) __U);
4375}
4376
4377static __inline__ __m128i __DEFAULT_FN_ATTRS
4378_mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
4379            __m128i __B) {
4380  return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
4381              /* idx */ ,
4382              (__v4si) __A,
4383              (__v4si) __B,
4384              (__mmask8)
4385              __U);
4386}
4387
4388static __inline__ __m256i __DEFAULT_FN_ATTRS
4389_mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B) {
4390  return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
4391                   /* idx */ ,
4392                   (__v8si) __A,
4393                   (__v8si) __B,
4394                   (__mmask8) -1);
4395}
4396
4397static __inline__ __m256i __DEFAULT_FN_ATTRS
4398_mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
4399        __m256i __B) {
4400  return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
4401                   /* idx */ ,
4402                   (__v8si) __A,
4403                   (__v8si) __B,
4404                   (__mmask8) __U);
4405}
4406
4407static __inline__ __m256i __DEFAULT_FN_ATTRS
4408_mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
4409         __m256i __I, __m256i __B) {
4410  return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
4411              /* idx */ ,
4412              (__v8si) __A,
4413              (__v8si) __B,
4414              (__mmask8)
4415              __U);
4416}
4417
4418static __inline__ __m128d __DEFAULT_FN_ATTRS
4419_mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B) {
4420  return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
4421              /* idx */ ,
4422              (__v2df) __A,
4423              (__v2df) __B,
4424              (__mmask8) -
4425              1);
4426}
4427
4428static __inline__ __m128d __DEFAULT_FN_ATTRS
4429_mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
4430        __m128d __B) {
4431  return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
4432              /* idx */ ,
4433              (__v2df) __A,
4434              (__v2df) __B,
4435              (__mmask8)
4436              __U);
4437}
4438
4439static __inline__ __m128d __DEFAULT_FN_ATTRS
4440_mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
4441         __m128d __B) {
4442  return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
4443               /* idx */ ,
4444               (__v2df) __A,
4445               (__v2df) __B,
4446               (__mmask8)
4447               __U);
4448}
4449
4450static __inline__ __m256d __DEFAULT_FN_ATTRS
4451_mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B) {
4452  return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
4453              /* idx */ ,
4454              (__v4df) __A,
4455              (__v4df) __B,
4456              (__mmask8) -
4457              1);
4458}
4459
4460static __inline__ __m256d __DEFAULT_FN_ATTRS
4461_mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
4462           __m256d __B) {
4463  return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
4464              /* idx */ ,
4465              (__v4df) __A,
4466              (__v4df) __B,
4467              (__mmask8)
4468              __U);
4469}
4470
4471static __inline__ __m256d __DEFAULT_FN_ATTRS
4472_mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
4473            __m256d __B) {
4474  return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
4475               /* idx */ ,
4476               (__v4df) __A,
4477               (__v4df) __B,
4478               (__mmask8)
4479               __U);
4480}
4481
4482static __inline__ __m128 __DEFAULT_FN_ATTRS
4483_mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B) {
4484  return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
4485                   /* idx */ ,
4486                   (__v4sf) __A,
4487                   (__v4sf) __B,
4488                   (__mmask8) -1);
4489}
4490
4491static __inline__ __m128 __DEFAULT_FN_ATTRS
4492_mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
4493        __m128 __B) {
4494  return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
4495                   /* idx */ ,
4496                   (__v4sf) __A,
4497                   (__v4sf) __B,
4498                   (__mmask8) __U);
4499}
4500
4501static __inline__ __m128 __DEFAULT_FN_ATTRS
4502_mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
4503         __m128 __B) {
4504  return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
4505              /* idx */ ,
4506              (__v4sf) __A,
4507              (__v4sf) __B,
4508              (__mmask8)
4509              __U);
4510}
4511
4512static __inline__ __m256 __DEFAULT_FN_ATTRS
4513_mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B) {
4514  return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
4515                   /* idx */ ,
4516                   (__v8sf) __A,
4517                   (__v8sf) __B,
4518                   (__mmask8) -1);
4519}
4520
4521static __inline__ __m256 __DEFAULT_FN_ATTRS
4522_mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
4523           __m256 __B) {
4524  return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
4525                   /* idx */ ,
4526                   (__v8sf) __A,
4527                   (__v8sf) __B,
4528                   (__mmask8) __U);
4529}
4530
4531static __inline__ __m256 __DEFAULT_FN_ATTRS
4532_mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
4533            __m256 __B) {
4534  return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
4535              /* idx */ ,
4536              (__v8sf) __A,
4537              (__v8sf) __B,
4538              (__mmask8)
4539              __U);
4540}
4541
4542static __inline__ __m128i __DEFAULT_FN_ATTRS
4543_mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B) {
4544  return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
4545                   /* idx */ ,
4546                   (__v2di) __A,
4547                   (__v2di) __B,
4548                   (__mmask8) -1);
4549}
4550
4551static __inline__ __m128i __DEFAULT_FN_ATTRS
4552_mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
4553           __m128i __B) {
4554  return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
4555                   /* idx */ ,
4556                   (__v2di) __A,
4557                   (__v2di) __B,
4558                   (__mmask8) __U);
4559}
4560
4561static __inline__ __m128i __DEFAULT_FN_ATTRS
4562_mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
4563            __m128i __B) {
4564  return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
4565              /* idx */ ,
4566              (__v2di) __A,
4567              (__v2di) __B,
4568              (__mmask8)
4569              __U);
4570}
4571
4572
4573static __inline__ __m256i __DEFAULT_FN_ATTRS
4574_mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B) {
4575  return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
4576                   /* idx */ ,
4577                   (__v4di) __A,
4578                   (__v4di) __B,
4579                   (__mmask8) -1);
4580}
4581
4582static __inline__ __m256i __DEFAULT_FN_ATTRS
4583_mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
4584        __m256i __B) {
4585  return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
4586                   /* idx */ ,
4587                   (__v4di) __A,
4588                   (__v4di) __B,
4589                   (__mmask8) __U);
4590}
4591
4592static __inline__ __m256i __DEFAULT_FN_ATTRS
4593_mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
4594         __m256i __I, __m256i __B) {
4595  return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
4596              /* idx */ ,
4597              (__v4di) __A,
4598              (__v4di) __B,
4599              (__mmask8)
4600              __U);
4601}
4602
4603#undef __DEFAULT_FN_ATTRS
4604#undef __DEFAULT_FN_ATTRS_BOTH
4605
4606#endif /* __AVX512VLINTRIN_H */
4607