blob: dc6e0ba8285c5de96179d5ceb9259d75cfb3f705 [file] [log] [blame]
Ben Murdoch097c5b22016-05-18 11:27:45 +01001/*===---- 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
34static __inline __v2di __DEFAULT_FN_ATTRS
35_mm_setzero_di(void) {
36 return (__v2di){ 0, 0};
37}
38
39/* Integer compare */
40
41static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
42_mm_cmpeq_epi32_mask(__m128i __a, __m128i __b) {
43 return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b,
44 (__mmask8)-1);
45}
46
47static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
48_mm_mask_cmpeq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
49 return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b,
50 __u);
51}
52
53static __inline__ __mmask8 __DEFAULT_FN_ATTRS
54_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {
55 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0,
56 (__mmask8)-1);
57}
58
59static __inline__ __mmask8 __DEFAULT_FN_ATTRS
60_mm_mask_cmpeq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
61 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0,
62 __u);
63}
64
65static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
66_mm256_cmpeq_epi32_mask(__m256i __a, __m256i __b) {
67 return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b,
68 (__mmask8)-1);
69}
70
71static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
72_mm256_mask_cmpeq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
73 return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b,
74 __u);
75}
76
77static __inline__ __mmask8 __DEFAULT_FN_ATTRS
78_mm256_cmpeq_epu32_mask(__m256i __a, __m256i __b) {
79 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0,
80 (__mmask8)-1);
81}
82
83static __inline__ __mmask8 __DEFAULT_FN_ATTRS
84_mm256_mask_cmpeq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
85 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0,
86 __u);
87}
88
89static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
90_mm_cmpeq_epi64_mask(__m128i __a, __m128i __b) {
91 return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b,
92 (__mmask8)-1);
93}
94
95static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
96_mm_mask_cmpeq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
97 return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b,
98 __u);
99}
100
101static __inline__ __mmask8 __DEFAULT_FN_ATTRS
102_mm_cmpeq_epu64_mask(__m128i __a, __m128i __b) {
103 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0,
104 (__mmask8)-1);
105}
106
107static __inline__ __mmask8 __DEFAULT_FN_ATTRS
108_mm_mask_cmpeq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
109 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0,
110 __u);
111}
112
113static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
114_mm256_cmpeq_epi64_mask(__m256i __a, __m256i __b) {
115 return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b,
116 (__mmask8)-1);
117}
118
119static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
120_mm256_mask_cmpeq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
121 return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b,
122 __u);
123}
124
125static __inline__ __mmask8 __DEFAULT_FN_ATTRS
126_mm256_cmpeq_epu64_mask(__m256i __a, __m256i __b) {
127 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0,
128 (__mmask8)-1);
129}
130
131static __inline__ __mmask8 __DEFAULT_FN_ATTRS
132_mm256_mask_cmpeq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
133 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0,
134 __u);
135}
136
137
138static __inline__ __mmask8 __DEFAULT_FN_ATTRS
139_mm_cmpge_epi32_mask(__m128i __a, __m128i __b) {
140 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5,
141 (__mmask8)-1);
142}
143
144static __inline__ __mmask8 __DEFAULT_FN_ATTRS
145_mm_mask_cmpge_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
146 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5,
147 __u);
148}
149
150static __inline__ __mmask8 __DEFAULT_FN_ATTRS
151_mm_cmpge_epu32_mask(__m128i __a, __m128i __b) {
152 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5,
153 (__mmask8)-1);
154}
155
156static __inline__ __mmask8 __DEFAULT_FN_ATTRS
157_mm_mask_cmpge_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
158 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5,
159 __u);
160}
161
162static __inline__ __mmask8 __DEFAULT_FN_ATTRS
163_mm256_cmpge_epi32_mask(__m256i __a, __m256i __b) {
164 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5,
165 (__mmask8)-1);
166}
167
168static __inline__ __mmask8 __DEFAULT_FN_ATTRS
169_mm256_mask_cmpge_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
170 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5,
171 __u);
172}
173
174static __inline__ __mmask8 __DEFAULT_FN_ATTRS
175_mm256_cmpge_epu32_mask(__m256i __a, __m256i __b) {
176 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5,
177 (__mmask8)-1);
178}
179
180static __inline__ __mmask8 __DEFAULT_FN_ATTRS
181_mm256_mask_cmpge_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
182 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5,
183 __u);
184}
185
186static __inline__ __mmask8 __DEFAULT_FN_ATTRS
187_mm_cmpge_epi64_mask(__m128i __a, __m128i __b) {
188 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5,
189 (__mmask8)-1);
190}
191
192static __inline__ __mmask8 __DEFAULT_FN_ATTRS
193_mm_mask_cmpge_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
194 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5,
195 __u);
196}
197
198static __inline__ __mmask8 __DEFAULT_FN_ATTRS
199_mm_cmpge_epu64_mask(__m128i __a, __m128i __b) {
200 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5,
201 (__mmask8)-1);
202}
203
204static __inline__ __mmask8 __DEFAULT_FN_ATTRS
205_mm_mask_cmpge_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
206 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5,
207 __u);
208}
209
210static __inline__ __mmask8 __DEFAULT_FN_ATTRS
211_mm256_cmpge_epi64_mask(__m256i __a, __m256i __b) {
212 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5,
213 (__mmask8)-1);
214}
215
216static __inline__ __mmask8 __DEFAULT_FN_ATTRS
217_mm256_mask_cmpge_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
218 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5,
219 __u);
220}
221
222static __inline__ __mmask8 __DEFAULT_FN_ATTRS
223_mm256_cmpge_epu64_mask(__m256i __a, __m256i __b) {
224 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5,
225 (__mmask8)-1);
226}
227
228static __inline__ __mmask8 __DEFAULT_FN_ATTRS
229_mm256_mask_cmpge_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
230 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5,
231 __u);
232}
233
234static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
235_mm_cmpgt_epi32_mask(__m128i __a, __m128i __b) {
236 return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b,
237 (__mmask8)-1);
238}
239
240static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
241_mm_mask_cmpgt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
242 return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b,
243 __u);
244}
245
246static __inline__ __mmask8 __DEFAULT_FN_ATTRS
247_mm_cmpgt_epu32_mask(__m128i __a, __m128i __b) {
248 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6,
249 (__mmask8)-1);
250}
251
252static __inline__ __mmask8 __DEFAULT_FN_ATTRS
253_mm_mask_cmpgt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
254 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6,
255 __u);
256}
257
258static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
259_mm256_cmpgt_epi32_mask(__m256i __a, __m256i __b) {
260 return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b,
261 (__mmask8)-1);
262}
263
264static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
265_mm256_mask_cmpgt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
266 return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b,
267 __u);
268}
269
270static __inline__ __mmask8 __DEFAULT_FN_ATTRS
271_mm256_cmpgt_epu32_mask(__m256i __a, __m256i __b) {
272 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6,
273 (__mmask8)-1);
274}
275
276static __inline__ __mmask8 __DEFAULT_FN_ATTRS
277_mm256_mask_cmpgt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
278 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6,
279 __u);
280}
281
282static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
283_mm_cmpgt_epi64_mask(__m128i __a, __m128i __b) {
284 return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b,
285 (__mmask8)-1);
286}
287
288static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
289_mm_mask_cmpgt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
290 return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b,
291 __u);
292}
293
294static __inline__ __mmask8 __DEFAULT_FN_ATTRS
295_mm_cmpgt_epu64_mask(__m128i __a, __m128i __b) {
296 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6,
297 (__mmask8)-1);
298}
299
300static __inline__ __mmask8 __DEFAULT_FN_ATTRS
301_mm_mask_cmpgt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
302 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6,
303 __u);
304}
305
306static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
307_mm256_cmpgt_epi64_mask(__m256i __a, __m256i __b) {
308 return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b,
309 (__mmask8)-1);
310}
311
312static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH
313_mm256_mask_cmpgt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
314 return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b,
315 __u);
316}
317
318static __inline__ __mmask8 __DEFAULT_FN_ATTRS
319_mm256_cmpgt_epu64_mask(__m256i __a, __m256i __b) {
320 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6,
321 (__mmask8)-1);
322}
323
324static __inline__ __mmask8 __DEFAULT_FN_ATTRS
325_mm256_mask_cmpgt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
326 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6,
327 __u);
328}
329
330static __inline__ __mmask8 __DEFAULT_FN_ATTRS
331_mm_cmple_epi32_mask(__m128i __a, __m128i __b) {
332 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2,
333 (__mmask8)-1);
334}
335
336static __inline__ __mmask8 __DEFAULT_FN_ATTRS
337_mm_mask_cmple_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
338 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2,
339 __u);
340}
341
342static __inline__ __mmask8 __DEFAULT_FN_ATTRS
343_mm_cmple_epu32_mask(__m128i __a, __m128i __b) {
344 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2,
345 (__mmask8)-1);
346}
347
348static __inline__ __mmask8 __DEFAULT_FN_ATTRS
349_mm_mask_cmple_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
350 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2,
351 __u);
352}
353
354static __inline__ __mmask8 __DEFAULT_FN_ATTRS
355_mm256_cmple_epi32_mask(__m256i __a, __m256i __b) {
356 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2,
357 (__mmask8)-1);
358}
359
360static __inline__ __mmask8 __DEFAULT_FN_ATTRS
361_mm256_mask_cmple_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
362 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2,
363 __u);
364}
365
366static __inline__ __mmask8 __DEFAULT_FN_ATTRS
367_mm256_cmple_epu32_mask(__m256i __a, __m256i __b) {
368 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2,
369 (__mmask8)-1);
370}
371
372static __inline__ __mmask8 __DEFAULT_FN_ATTRS
373_mm256_mask_cmple_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
374 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2,
375 __u);
376}
377
378static __inline__ __mmask8 __DEFAULT_FN_ATTRS
379_mm_cmple_epi64_mask(__m128i __a, __m128i __b) {
380 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2,
381 (__mmask8)-1);
382}
383
384static __inline__ __mmask8 __DEFAULT_FN_ATTRS
385_mm_mask_cmple_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
386 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2,
387 __u);
388}
389
390static __inline__ __mmask8 __DEFAULT_FN_ATTRS
391_mm_cmple_epu64_mask(__m128i __a, __m128i __b) {
392 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2,
393 (__mmask8)-1);
394}
395
396static __inline__ __mmask8 __DEFAULT_FN_ATTRS
397_mm_mask_cmple_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
398 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2,
399 __u);
400}
401
402static __inline__ __mmask8 __DEFAULT_FN_ATTRS
403_mm256_cmple_epi64_mask(__m256i __a, __m256i __b) {
404 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2,
405 (__mmask8)-1);
406}
407
408static __inline__ __mmask8 __DEFAULT_FN_ATTRS
409_mm256_mask_cmple_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
410 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2,
411 __u);
412}
413
414static __inline__ __mmask8 __DEFAULT_FN_ATTRS
415_mm256_cmple_epu64_mask(__m256i __a, __m256i __b) {
416 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2,
417 (__mmask8)-1);
418}
419
420static __inline__ __mmask8 __DEFAULT_FN_ATTRS
421_mm256_mask_cmple_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
422 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2,
423 __u);
424}
425
426static __inline__ __mmask8 __DEFAULT_FN_ATTRS
427_mm_cmplt_epi32_mask(__m128i __a, __m128i __b) {
428 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1,
429 (__mmask8)-1);
430}
431
432static __inline__ __mmask8 __DEFAULT_FN_ATTRS
433_mm_mask_cmplt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
434 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1,
435 __u);
436}
437
438static __inline__ __mmask8 __DEFAULT_FN_ATTRS
439_mm_cmplt_epu32_mask(__m128i __a, __m128i __b) {
440 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1,
441 (__mmask8)-1);
442}
443
444static __inline__ __mmask8 __DEFAULT_FN_ATTRS
445_mm_mask_cmplt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
446 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1,
447 __u);
448}
449
450static __inline__ __mmask8 __DEFAULT_FN_ATTRS
451_mm256_cmplt_epi32_mask(__m256i __a, __m256i __b) {
452 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1,
453 (__mmask8)-1);
454}
455
456static __inline__ __mmask8 __DEFAULT_FN_ATTRS
457_mm256_mask_cmplt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
458 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1,
459 __u);
460}
461
462static __inline__ __mmask8 __DEFAULT_FN_ATTRS
463_mm256_cmplt_epu32_mask(__m256i __a, __m256i __b) {
464 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1,
465 (__mmask8)-1);
466}
467
468static __inline__ __mmask8 __DEFAULT_FN_ATTRS
469_mm256_mask_cmplt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
470 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1,
471 __u);
472}
473
474static __inline__ __mmask8 __DEFAULT_FN_ATTRS
475_mm_cmplt_epi64_mask(__m128i __a, __m128i __b) {
476 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1,
477 (__mmask8)-1);
478}
479
480static __inline__ __mmask8 __DEFAULT_FN_ATTRS
481_mm_mask_cmplt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
482 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1,
483 __u);
484}
485
486static __inline__ __mmask8 __DEFAULT_FN_ATTRS
487_mm_cmplt_epu64_mask(__m128i __a, __m128i __b) {
488 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1,
489 (__mmask8)-1);
490}
491
492static __inline__ __mmask8 __DEFAULT_FN_ATTRS
493_mm_mask_cmplt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
494 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1,
495 __u);
496}
497
498static __inline__ __mmask8 __DEFAULT_FN_ATTRS
499_mm256_cmplt_epi64_mask(__m256i __a, __m256i __b) {
500 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1,
501 (__mmask8)-1);
502}
503
504static __inline__ __mmask8 __DEFAULT_FN_ATTRS
505_mm256_mask_cmplt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
506 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1,
507 __u);
508}
509
510static __inline__ __mmask8 __DEFAULT_FN_ATTRS
511_mm256_cmplt_epu64_mask(__m256i __a, __m256i __b) {
512 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1,
513 (__mmask8)-1);
514}
515
516static __inline__ __mmask8 __DEFAULT_FN_ATTRS
517_mm256_mask_cmplt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
518 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1,
519 __u);
520}
521
522static __inline__ __mmask8 __DEFAULT_FN_ATTRS
523_mm_cmpneq_epi32_mask(__m128i __a, __m128i __b) {
524 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4,
525 (__mmask8)-1);
526}
527
528static __inline__ __mmask8 __DEFAULT_FN_ATTRS
529_mm_mask_cmpneq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
530 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4,
531 __u);
532}
533
534static __inline__ __mmask8 __DEFAULT_FN_ATTRS
535_mm_cmpneq_epu32_mask(__m128i __a, __m128i __b) {
536 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4,
537 (__mmask8)-1);
538}
539
540static __inline__ __mmask8 __DEFAULT_FN_ATTRS
541_mm_mask_cmpneq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
542 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4,
543 __u);
544}
545
546static __inline__ __mmask8 __DEFAULT_FN_ATTRS
547_mm256_cmpneq_epi32_mask(__m256i __a, __m256i __b) {
548 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4,
549 (__mmask8)-1);
550}
551
552static __inline__ __mmask8 __DEFAULT_FN_ATTRS
553_mm256_mask_cmpneq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
554 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4,
555 __u);
556}
557
558static __inline__ __mmask8 __DEFAULT_FN_ATTRS
559_mm256_cmpneq_epu32_mask(__m256i __a, __m256i __b) {
560 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4,
561 (__mmask8)-1);
562}
563
564static __inline__ __mmask8 __DEFAULT_FN_ATTRS
565_mm256_mask_cmpneq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
566 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4,
567 __u);
568}
569
570static __inline__ __mmask8 __DEFAULT_FN_ATTRS
571_mm_cmpneq_epi64_mask(__m128i __a, __m128i __b) {
572 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4,
573 (__mmask8)-1);
574}
575
576static __inline__ __mmask8 __DEFAULT_FN_ATTRS
577_mm_mask_cmpneq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
578 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4,
579 __u);
580}
581
582static __inline__ __mmask8 __DEFAULT_FN_ATTRS
583_mm_cmpneq_epu64_mask(__m128i __a, __m128i __b) {
584 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4,
585 (__mmask8)-1);
586}
587
588static __inline__ __mmask8 __DEFAULT_FN_ATTRS
589_mm_mask_cmpneq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
590 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4,
591 __u);
592}
593
594static __inline__ __mmask8 __DEFAULT_FN_ATTRS
595_mm256_cmpneq_epi64_mask(__m256i __a, __m256i __b) {
596 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4,
597 (__mmask8)-1);
598}
599
600static __inline__ __mmask8 __DEFAULT_FN_ATTRS
601_mm256_mask_cmpneq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
602 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4,
603 __u);
604}
605
606static __inline__ __mmask8 __DEFAULT_FN_ATTRS
607_mm256_cmpneq_epu64_mask(__m256i __a, __m256i __b) {
608 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4,
609 (__mmask8)-1);
610}
611
612static __inline__ __mmask8 __DEFAULT_FN_ATTRS
613_mm256_mask_cmpneq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
614 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4,
615 __u);
616}
617
618static __inline__ __m256i __DEFAULT_FN_ATTRS
619_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
620 __m256i __B)
621{
622 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
623 (__v8si) __B,
624 (__v8si) __W,
625 (__mmask8) __U);
626}
627
628static __inline__ __m256i __DEFAULT_FN_ATTRS
629_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
630{
631 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
632 (__v8si) __B,
633 (__v8si)
634 _mm256_setzero_si256 (),
635 (__mmask8) __U);
636}
637
638static __inline__ __m256i __DEFAULT_FN_ATTRS
639_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
640 __m256i __B)
641{
642 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
643 (__v4di) __B,
644 (__v4di) __W,
645 (__mmask8) __U);
646}
647
648static __inline__ __m256i __DEFAULT_FN_ATTRS
649_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
650{
651 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
652 (__v4di) __B,
653 (__v4di)
654 _mm256_setzero_si256 (),
655 (__mmask8) __U);
656}
657
658static __inline__ __m256i __DEFAULT_FN_ATTRS
659_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
660 __m256i __B)
661{
662 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
663 (__v8si) __B,
664 (__v8si) __W,
665 (__mmask8) __U);
666}
667
668static __inline__ __m256i __DEFAULT_FN_ATTRS
669_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
670{
671 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
672 (__v8si) __B,
673 (__v8si)
674 _mm256_setzero_si256 (),
675 (__mmask8) __U);
676}
677
678static __inline__ __m256i __DEFAULT_FN_ATTRS
679_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
680 __m256i __B)
681{
682 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
683 (__v4di) __B,
684 (__v4di) __W,
685 (__mmask8) __U);
686}
687
688static __inline__ __m256i __DEFAULT_FN_ATTRS
689_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
690{
691 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
692 (__v4di) __B,
693 (__v4di)
694 _mm256_setzero_si256 (),
695 (__mmask8) __U);
696}
697
698static __inline__ __m128i __DEFAULT_FN_ATTRS
699_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
700 __m128i __B)
701{
702 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
703 (__v4si) __B,
704 (__v4si) __W,
705 (__mmask8) __U);
706}
707
708static __inline__ __m128i __DEFAULT_FN_ATTRS
709_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
710{
711 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
712 (__v4si) __B,
713 (__v4si)
714 _mm_setzero_si128 (),
715 (__mmask8) __U);
716}
717
718static __inline__ __m128i __DEFAULT_FN_ATTRS
719_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
720 __m128i __B)
721{
722 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
723 (__v2di) __B,
724 (__v2di) __W,
725 (__mmask8) __U);
726}
727
728static __inline__ __m128i __DEFAULT_FN_ATTRS
729_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
730{
731 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
732 (__v2di) __B,
733 (__v2di)
734 _mm_setzero_si128 (),
735 (__mmask8) __U);
736}
737
738static __inline__ __m128i __DEFAULT_FN_ATTRS
739_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
740 __m128i __B)
741{
742 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
743 (__v4si) __B,
744 (__v4si) __W,
745 (__mmask8) __U);
746}
747
748static __inline__ __m128i __DEFAULT_FN_ATTRS
749_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
750{
751 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
752 (__v4si) __B,
753 (__v4si)
754 _mm_setzero_si128 (),
755 (__mmask8) __U);
756}
757
758static __inline__ __m128i __DEFAULT_FN_ATTRS
759_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
760 __m128i __B)
761{
762 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
763 (__v2di) __B,
764 (__v2di) __W,
765 (__mmask8) __U);
766}
767
768static __inline__ __m128i __DEFAULT_FN_ATTRS
769_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
770{
771 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
772 (__v2di) __B,
773 (__v2di)
774 _mm_setzero_si128 (),
775 (__mmask8) __U);
776}
777
778static __inline__ __m256i __DEFAULT_FN_ATTRS
779_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
780 __m256i __Y)
781{
782 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
783 (__v8si) __Y,
784 (__v4di) __W, __M);
785}
786
787static __inline__ __m256i __DEFAULT_FN_ATTRS
788_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
789{
790 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
791 (__v8si) __Y,
792 (__v4di)
793 _mm256_setzero_si256 (),
794 __M);
795}
796
797static __inline__ __m128i __DEFAULT_FN_ATTRS
798_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
799 __m128i __Y)
800{
801 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
802 (__v4si) __Y,
803 (__v2di) __W, __M);
804}
805
806static __inline__ __m128i __DEFAULT_FN_ATTRS
807_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
808{
809 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
810 (__v4si) __Y,
811 (__v2di)
812 _mm_setzero_si128 (),
813 __M);
814}
815
816static __inline__ __m256i __DEFAULT_FN_ATTRS
817_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
818 __m256i __Y)
819{
820 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
821 (__v8si) __Y,
822 (__v4di) __W, __M);
823}
824
825static __inline__ __m256i __DEFAULT_FN_ATTRS
826_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
827{
828 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
829 (__v8si) __Y,
830 (__v4di)
831 _mm256_setzero_si256 (),
832 __M);
833}
834
835static __inline__ __m128i __DEFAULT_FN_ATTRS
836_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
837 __m128i __Y)
838{
839 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
840 (__v4si) __Y,
841 (__v2di) __W, __M);
842}
843
844static __inline__ __m128i __DEFAULT_FN_ATTRS
845_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
846{
847 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
848 (__v4si) __Y,
849 (__v2di)
850 _mm_setzero_si128 (),
851 __M);
852}
853
854static __inline__ __m256i __DEFAULT_FN_ATTRS
855_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
856{
857 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
858 (__v8si) __B,
859 (__v8si)
860 _mm256_setzero_si256 (),
861 __M);
862}
863
864static __inline__ __m256i __DEFAULT_FN_ATTRS
865_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
866 __m256i __B)
867{
868 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
869 (__v8si) __B,
870 (__v8si) __W, __M);
871}
872
873static __inline__ __m128i __DEFAULT_FN_ATTRS
874_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
875{
876 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
877 (__v4si) __B,
878 (__v4si)
879 _mm_setzero_si128 (),
880 __M);
881}
882
883static __inline__ __m128i __DEFAULT_FN_ATTRS
884_mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
885 __m128i __B)
886{
887 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
888 (__v4si) __B,
889 (__v4si) __W, __M);
890}
891
892static __inline__ __m256i __DEFAULT_FN_ATTRS
893_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
894 __m256i __B)
895{
896 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
897 (__v8si) __B,
898 (__v8si) __W,
899 (__mmask8) __U);
900}
901
902static __inline__ __m256i __DEFAULT_FN_ATTRS
903_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
904{
905 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
906 (__v8si) __B,
907 (__v8si)
908 _mm256_setzero_si256 (),
909 (__mmask8) __U);
910}
911
912static __inline__ __m128i __DEFAULT_FN_ATTRS
913_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
914{
915 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
916 (__v4si) __B,
917 (__v4si) __W,
918 (__mmask8) __U);
919}
920
921static __inline__ __m128i __DEFAULT_FN_ATTRS
922_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
923{
924 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
925 (__v4si) __B,
926 (__v4si)
927 _mm_setzero_si128 (),
928 (__mmask8) __U);
929}
930
931static __inline__ __m256i __DEFAULT_FN_ATTRS
932_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
933 __m256i __B)
934{
935 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
936 (__v8si) __B,
937 (__v8si) __W,
938 (__mmask8) __U);
939}
940
941static __inline__ __m256i __DEFAULT_FN_ATTRS
942_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
943{
944 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
945 (__v8si) __B,
946 (__v8si)
947 _mm256_setzero_si256 (),
948 (__mmask8) __U);
949}
950
951static __inline__ __m128i __DEFAULT_FN_ATTRS
952_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
953 __m128i __B)
954{
955 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
956 (__v4si) __B,
957 (__v4si) __W,
958 (__mmask8) __U);
959}
960
961static __inline__ __m128i __DEFAULT_FN_ATTRS
962_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
963{
964 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
965 (__v4si) __B,
966 (__v4si)
967 _mm_setzero_si128 (),
968 (__mmask8) __U);
969}
970
971static __inline__ __m256i __DEFAULT_FN_ATTRS
972_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
973 __m256i __B)
974{
975 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
976 (__v8si) __B,
977 (__v8si) __W,
978 (__mmask8) __U);
979}
980
981static __inline__ __m256i __DEFAULT_FN_ATTRS
982_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
983{
984 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
985 (__v8si) __B,
986 (__v8si)
987 _mm256_setzero_si256 (),
988 (__mmask8) __U);
989}
990
991static __inline__ __m128i __DEFAULT_FN_ATTRS
992_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
993{
994 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
995 (__v4si) __B,
996 (__v4si) __W,
997 (__mmask8) __U);
998}
999
1000static __inline__ __m128i __DEFAULT_FN_ATTRS
1001_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
1002{
1003 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
1004 (__v4si) __B,
1005 (__v4si)
1006 _mm_setzero_si128 (),
1007 (__mmask8) __U);
1008}
1009
1010static __inline__ __m256i __DEFAULT_FN_ATTRS
1011_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
1012 __m256i __B)
1013{
1014 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
1015 (__v8si) __B,
1016 (__v8si) __W,
1017 (__mmask8) __U);
1018}
1019
1020static __inline__ __m256i __DEFAULT_FN_ATTRS
1021_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
1022{
1023 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
1024 (__v8si) __B,
1025 (__v8si)
1026 _mm256_setzero_si256 (),
1027 (__mmask8) __U);
1028}
1029
1030static __inline__ __m128i __DEFAULT_FN_ATTRS
1031_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
1032 __m128i __B)
1033{
1034 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
1035 (__v4si) __B,
1036 (__v4si) __W,
1037 (__mmask8) __U);
1038}
1039
1040static __inline__ __m128i __DEFAULT_FN_ATTRS
1041_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
1042{
1043 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
1044 (__v4si) __B,
1045 (__v4si)
1046 _mm_setzero_si128 (),
1047 (__mmask8) __U);
1048}
1049
1050static __inline__ __m256i __DEFAULT_FN_ATTRS
1051_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1052 __m256i __B)
1053{
1054 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
1055 (__v4di) __B,
1056 (__v4di) __W, __U);
1057}
1058
1059static __inline__ __m256i __DEFAULT_FN_ATTRS
1060_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1061{
1062 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
1063 (__v4di) __B,
1064 (__v4di)
1065 _mm256_setzero_pd (),
1066 __U);
1067}
1068
1069static __inline__ __m128i __DEFAULT_FN_ATTRS
1070_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
1071 __m128i __B)
1072{
1073 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
1074 (__v2di) __B,
1075 (__v2di) __W, __U);
1076}
1077
1078static __inline__ __m128i __DEFAULT_FN_ATTRS
1079_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1080{
1081 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
1082 (__v2di) __B,
1083 (__v2di)
1084 _mm_setzero_pd (),
1085 __U);
1086}
1087
1088static __inline__ __m256i __DEFAULT_FN_ATTRS
1089_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1090 __m256i __B)
1091{
1092 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
1093 (__v4di) __B,
1094 (__v4di) __W, __U);
1095}
1096
1097static __inline__ __m256i __DEFAULT_FN_ATTRS
1098_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1099{
1100 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
1101 (__v4di) __B,
1102 (__v4di)
1103 _mm256_setzero_pd (),
1104 __U);
1105}
1106
1107static __inline__ __m128i __DEFAULT_FN_ATTRS
1108_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
1109 __m128i __B)
1110{
1111 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
1112 (__v2di) __B,
1113 (__v2di) __W, __U);
1114}
1115
1116static __inline__ __m128i __DEFAULT_FN_ATTRS
1117_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1118{
1119 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
1120 (__v2di) __B,
1121 (__v2di)
1122 _mm_setzero_pd (),
1123 __U);
1124}
1125
1126static __inline__ __m256i __DEFAULT_FN_ATTRS
1127_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1128 __m256i __B)
1129{
1130 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
1131 (__v4di) __B,
1132 (__v4di) __W,
1133 (__mmask8) __U);
1134}
1135
1136static __inline__ __m256i __DEFAULT_FN_ATTRS
1137_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1138{
1139 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
1140 (__v4di) __B,
1141 (__v4di)
1142 _mm256_setzero_si256 (),
1143 (__mmask8) __U);
1144}
1145
1146static __inline__ __m128i __DEFAULT_FN_ATTRS
1147_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1148{
1149 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
1150 (__v2di) __B,
1151 (__v2di) __W,
1152 (__mmask8) __U);
1153}
1154
1155static __inline__ __m128i __DEFAULT_FN_ATTRS
1156_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1157{
1158 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
1159 (__v2di) __B,
1160 (__v2di)
1161 _mm_setzero_si128 (),
1162 (__mmask8) __U);
1163}
1164
1165static __inline__ __m256i __DEFAULT_FN_ATTRS
1166_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
1167 __m256i __B)
1168{
1169 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
1170 (__v4di) __B,
1171 (__v4di) __W,
1172 (__mmask8) __U);
1173}
1174
1175static __inline__ __m256i __DEFAULT_FN_ATTRS
1176_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
1177{
1178 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
1179 (__v4di) __B,
1180 (__v4di)
1181 _mm256_setzero_si256 (),
1182 (__mmask8) __U);
1183}
1184
1185static __inline__ __m128i __DEFAULT_FN_ATTRS
1186_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
1187 __m128i __B)
1188{
1189 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
1190 (__v2di) __B,
1191 (__v2di) __W,
1192 (__mmask8) __U);
1193}
1194
1195static __inline__ __m128i __DEFAULT_FN_ATTRS
1196_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
1197{
1198 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
1199 (__v2di) __B,
1200 (__v2di)
1201 _mm_setzero_si128 (),
1202 (__mmask8) __U);
1203}
1204
1205#define _mm_cmp_epi32_mask(a, b, p) __extension__ ({ \
1206 (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
1207 (__v4si)(__m128i)(b), \
1208 (p), (__mmask8)-1); })
1209
1210#define _mm_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
1211 (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
1212 (__v4si)(__m128i)(b), \
1213 (p), (__mmask8)(m)); })
1214
1215#define _mm_cmp_epu32_mask(a, b, p) __extension__ ({ \
1216 (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
1217 (__v4si)(__m128i)(b), \
1218 (p), (__mmask8)-1); })
1219
1220#define _mm_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
1221 (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
1222 (__v4si)(__m128i)(b), \
1223 (p), (__mmask8)(m)); })
1224
1225#define _mm256_cmp_epi32_mask(a, b, p) __extension__ ({ \
1226 (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
1227 (__v8si)(__m256i)(b), \
1228 (p), (__mmask8)-1); })
1229
1230#define _mm256_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
1231 (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
1232 (__v8si)(__m256i)(b), \
1233 (p), (__mmask8)(m)); })
1234
1235#define _mm256_cmp_epu32_mask(a, b, p) __extension__ ({ \
1236 (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
1237 (__v8si)(__m256i)(b), \
1238 (p), (__mmask8)-1); })
1239
1240#define _mm256_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
1241 (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
1242 (__v8si)(__m256i)(b), \
1243 (p), (__mmask8)(m)); })
1244
1245#define _mm_cmp_epi64_mask(a, b, p) __extension__ ({ \
1246 (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
1247 (__v2di)(__m128i)(b), \
1248 (p), (__mmask8)-1); })
1249
1250#define _mm_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
1251 (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
1252 (__v2di)(__m128i)(b), \
1253 (p), (__mmask8)(m)); })
1254
1255#define _mm_cmp_epu64_mask(a, b, p) __extension__ ({ \
1256 (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
1257 (__v2di)(__m128i)(b), \
1258 (p), (__mmask8)-1); })
1259
1260#define _mm_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
1261 (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
1262 (__v2di)(__m128i)(b), \
1263 (p), (__mmask8)(m)); })
1264
1265#define _mm256_cmp_epi64_mask(a, b, p) __extension__ ({ \
1266 (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
1267 (__v4di)(__m256i)(b), \
1268 (p), (__mmask8)-1); })
1269
1270#define _mm256_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
1271 (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
1272 (__v4di)(__m256i)(b), \
1273 (p), (__mmask8)(m)); })
1274
1275#define _mm256_cmp_epu64_mask(a, b, p) __extension__ ({ \
1276 (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
1277 (__v4di)(__m256i)(b), \
1278 (p), (__mmask8)-1); })
1279
1280#define _mm256_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
1281 (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
1282 (__v4di)(__m256i)(b), \
1283 (p), (__mmask8)(m)); })
1284
1285#define _mm256_cmp_ps_mask(a, b, p) __extension__ ({ \
1286 (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
1287 (__v8sf)(__m256)(b), \
1288 (p), (__mmask8)-1); })
1289
1290#define _mm256_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \
1291 (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
1292 (__v8sf)(__m256)(b), \
1293 (p), (__mmask8)(m)); })
1294
1295#define _mm256_cmp_pd_mask(a, b, p) __extension__ ({ \
1296 (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256)(a), \
1297 (__v4df)(__m256)(b), \
1298 (p), (__mmask8)-1); })
1299
1300#define _mm256_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \
1301 (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256)(a), \
1302 (__v4df)(__m256)(b), \
1303 (p), (__mmask8)(m)); })
1304
1305#define _mm128_cmp_ps_mask(a, b, p) __extension__ ({ \
1306 (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
1307 (__v4sf)(__m128)(b), \
1308 (p), (__mmask8)-1); })
1309
1310#define _mm128_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \
1311 (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
1312 (__v4sf)(__m128)(b), \
1313 (p), (__mmask8)(m)); })
1314
1315#define _mm128_cmp_pd_mask(a, b, p) __extension__ ({ \
1316 (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128)(a), \
1317 (__v2df)(__m128)(b), \
1318 (p), (__mmask8)-1); })
1319
1320#define _mm128_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \
1321 (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128)(a), \
1322 (__v2df)(__m128)(b), \
1323 (p), (__mmask8)(m)); })
1324
1325static __inline__ __m128d __DEFAULT_FN_ATTRS
1326_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1327{
1328 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
1329 (__v2df) __B,
1330 (__v2df) __C,
1331 (__mmask8) __U);
1332}
1333
1334static __inline__ __m128d __DEFAULT_FN_ATTRS
1335_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1336{
1337 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
1338 (__v2df) __B,
1339 (__v2df) __C,
1340 (__mmask8) __U);
1341}
1342
1343static __inline__ __m128d __DEFAULT_FN_ATTRS
1344_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1345{
1346 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
1347 (__v2df) __B,
1348 (__v2df) __C,
1349 (__mmask8) __U);
1350}
1351
1352static __inline__ __m128d __DEFAULT_FN_ATTRS
1353_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1354{
1355 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
1356 (__v2df) __B,
1357 -(__v2df) __C,
1358 (__mmask8) __U);
1359}
1360
1361static __inline__ __m128d __DEFAULT_FN_ATTRS
1362_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1363{
1364 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
1365 (__v2df) __B,
1366 -(__v2df) __C,
1367 (__mmask8) __U);
1368}
1369
1370static __inline__ __m128d __DEFAULT_FN_ATTRS
1371_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1372{
1373 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A,
1374 (__v2df) __B,
1375 (__v2df) __C,
1376 (__mmask8) __U);
1377}
1378
1379static __inline__ __m128d __DEFAULT_FN_ATTRS
1380_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1381{
1382 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
1383 (__v2df) __B,
1384 (__v2df) __C,
1385 (__mmask8) __U);
1386}
1387
1388static __inline__ __m128d __DEFAULT_FN_ATTRS
1389_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1390{
1391 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
1392 (__v2df) __B,
1393 -(__v2df) __C,
1394 (__mmask8) __U);
1395}
1396
1397static __inline__ __m256d __DEFAULT_FN_ATTRS
1398_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1399{
1400 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
1401 (__v4df) __B,
1402 (__v4df) __C,
1403 (__mmask8) __U);
1404}
1405
1406static __inline__ __m256d __DEFAULT_FN_ATTRS
1407_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1408{
1409 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
1410 (__v4df) __B,
1411 (__v4df) __C,
1412 (__mmask8) __U);
1413}
1414
1415static __inline__ __m256d __DEFAULT_FN_ATTRS
1416_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1417{
1418 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
1419 (__v4df) __B,
1420 (__v4df) __C,
1421 (__mmask8) __U);
1422}
1423
1424static __inline__ __m256d __DEFAULT_FN_ATTRS
1425_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1426{
1427 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
1428 (__v4df) __B,
1429 -(__v4df) __C,
1430 (__mmask8) __U);
1431}
1432
1433static __inline__ __m256d __DEFAULT_FN_ATTRS
1434_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1435{
1436 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
1437 (__v4df) __B,
1438 -(__v4df) __C,
1439 (__mmask8) __U);
1440}
1441
1442static __inline__ __m256d __DEFAULT_FN_ATTRS
1443_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1444{
1445 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A,
1446 (__v4df) __B,
1447 (__v4df) __C,
1448 (__mmask8) __U);
1449}
1450
1451static __inline__ __m256d __DEFAULT_FN_ATTRS
1452_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1453{
1454 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
1455 (__v4df) __B,
1456 (__v4df) __C,
1457 (__mmask8) __U);
1458}
1459
1460static __inline__ __m256d __DEFAULT_FN_ATTRS
1461_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1462{
1463 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
1464 (__v4df) __B,
1465 -(__v4df) __C,
1466 (__mmask8) __U);
1467}
1468
1469static __inline__ __m128 __DEFAULT_FN_ATTRS
1470_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1471{
1472 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
1473 (__v4sf) __B,
1474 (__v4sf) __C,
1475 (__mmask8) __U);
1476}
1477
1478static __inline__ __m128 __DEFAULT_FN_ATTRS
1479_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1480{
1481 return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
1482 (__v4sf) __B,
1483 (__v4sf) __C,
1484 (__mmask8) __U);
1485}
1486
1487static __inline__ __m128 __DEFAULT_FN_ATTRS
1488_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1489{
1490 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
1491 (__v4sf) __B,
1492 (__v4sf) __C,
1493 (__mmask8) __U);
1494}
1495
1496static __inline__ __m128 __DEFAULT_FN_ATTRS
1497_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1498{
1499 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
1500 (__v4sf) __B,
1501 -(__v4sf) __C,
1502 (__mmask8) __U);
1503}
1504
1505static __inline__ __m128 __DEFAULT_FN_ATTRS
1506_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1507{
1508 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
1509 (__v4sf) __B,
1510 -(__v4sf) __C,
1511 (__mmask8) __U);
1512}
1513
1514static __inline__ __m128 __DEFAULT_FN_ATTRS
1515_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1516{
1517 return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A,
1518 (__v4sf) __B,
1519 (__v4sf) __C,
1520 (__mmask8) __U);
1521}
1522
1523static __inline__ __m128 __DEFAULT_FN_ATTRS
1524_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1525{
1526 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1527 (__v4sf) __B,
1528 (__v4sf) __C,
1529 (__mmask8) __U);
1530}
1531
1532static __inline__ __m128 __DEFAULT_FN_ATTRS
1533_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1534{
1535 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1536 (__v4sf) __B,
1537 -(__v4sf) __C,
1538 (__mmask8) __U);
1539}
1540
1541static __inline__ __m256 __DEFAULT_FN_ATTRS
1542_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1543{
1544 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1545 (__v8sf) __B,
1546 (__v8sf) __C,
1547 (__mmask8) __U);
1548}
1549
1550static __inline__ __m256 __DEFAULT_FN_ATTRS
1551_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1552{
1553 return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
1554 (__v8sf) __B,
1555 (__v8sf) __C,
1556 (__mmask8) __U);
1557}
1558
1559static __inline__ __m256 __DEFAULT_FN_ATTRS
1560_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1561{
1562 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1563 (__v8sf) __B,
1564 (__v8sf) __C,
1565 (__mmask8) __U);
1566}
1567
1568static __inline__ __m256 __DEFAULT_FN_ATTRS
1569_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1570{
1571 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1572 (__v8sf) __B,
1573 -(__v8sf) __C,
1574 (__mmask8) __U);
1575}
1576
1577static __inline__ __m256 __DEFAULT_FN_ATTRS
1578_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1579{
1580 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1581 (__v8sf) __B,
1582 -(__v8sf) __C,
1583 (__mmask8) __U);
1584}
1585
1586static __inline__ __m256 __DEFAULT_FN_ATTRS
1587_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1588{
1589 return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A,
1590 (__v8sf) __B,
1591 (__v8sf) __C,
1592 (__mmask8) __U);
1593}
1594
1595static __inline__ __m256 __DEFAULT_FN_ATTRS
1596_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1597{
1598 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1599 (__v8sf) __B,
1600 (__v8sf) __C,
1601 (__mmask8) __U);
1602}
1603
1604static __inline__ __m256 __DEFAULT_FN_ATTRS
1605_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1606{
1607 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1608 (__v8sf) __B,
1609 -(__v8sf) __C,
1610 (__mmask8) __U);
1611}
1612
1613static __inline__ __m128d __DEFAULT_FN_ATTRS
1614_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1615{
1616 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1617 (__v2df) __B,
1618 (__v2df) __C,
1619 (__mmask8) __U);
1620}
1621
1622static __inline__ __m128d __DEFAULT_FN_ATTRS
1623_mm_mask3_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1624{
1625 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
1626 (__v2df) __B,
1627 (__v2df) __C,
1628 (__mmask8)
1629 __U);
1630}
1631
1632static __inline__ __m128d __DEFAULT_FN_ATTRS
1633_mm_maskz_fmaddsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1634{
1635 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1636 (__v2df) __B,
1637 (__v2df) __C,
1638 (__mmask8)
1639 __U);
1640}
1641
1642static __inline__ __m128d __DEFAULT_FN_ATTRS
1643_mm_mask_fmsubadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1644{
1645 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1646 (__v2df) __B,
1647 -(__v2df) __C,
1648 (__mmask8) __U);
1649}
1650
1651static __inline__ __m128d __DEFAULT_FN_ATTRS
1652_mm_maskz_fmsubadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1653{
1654 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1655 (__v2df) __B,
1656 -(__v2df) __C,
1657 (__mmask8)
1658 __U);
1659}
1660
1661static __inline__ __m256d __DEFAULT_FN_ATTRS
1662_mm256_mask_fmaddsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1663{
1664 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1665 (__v4df) __B,
1666 (__v4df) __C,
1667 (__mmask8) __U);
1668}
1669
1670static __inline__ __m256d __DEFAULT_FN_ATTRS
1671_mm256_mask3_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1672{
1673 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
1674 (__v4df) __B,
1675 (__v4df) __C,
1676 (__mmask8)
1677 __U);
1678}
1679
1680static __inline__ __m256d __DEFAULT_FN_ATTRS
1681_mm256_maskz_fmaddsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1682{
1683 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1684 (__v4df) __B,
1685 (__v4df) __C,
1686 (__mmask8)
1687 __U);
1688}
1689
1690static __inline__ __m256d __DEFAULT_FN_ATTRS
1691_mm256_mask_fmsubadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1692{
1693 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1694 (__v4df) __B,
1695 -(__v4df) __C,
1696 (__mmask8) __U);
1697}
1698
1699static __inline__ __m256d __DEFAULT_FN_ATTRS
1700_mm256_maskz_fmsubadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1701{
1702 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1703 (__v4df) __B,
1704 -(__v4df) __C,
1705 (__mmask8)
1706 __U);
1707}
1708
1709static __inline__ __m128 __DEFAULT_FN_ATTRS
1710_mm_mask_fmaddsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1711{
1712 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1713 (__v4sf) __B,
1714 (__v4sf) __C,
1715 (__mmask8) __U);
1716}
1717
1718static __inline__ __m128 __DEFAULT_FN_ATTRS
1719_mm_mask3_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1720{
1721 return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
1722 (__v4sf) __B,
1723 (__v4sf) __C,
1724 (__mmask8) __U);
1725}
1726
1727static __inline__ __m128 __DEFAULT_FN_ATTRS
1728_mm_maskz_fmaddsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1729{
1730 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1731 (__v4sf) __B,
1732 (__v4sf) __C,
1733 (__mmask8) __U);
1734}
1735
1736static __inline__ __m128 __DEFAULT_FN_ATTRS
1737_mm_mask_fmsubadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1738{
1739 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1740 (__v4sf) __B,
1741 -(__v4sf) __C,
1742 (__mmask8) __U);
1743}
1744
1745static __inline__ __m128 __DEFAULT_FN_ATTRS
1746_mm_maskz_fmsubadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1747{
1748 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1749 (__v4sf) __B,
1750 -(__v4sf) __C,
1751 (__mmask8) __U);
1752}
1753
1754static __inline__ __m256 __DEFAULT_FN_ATTRS
1755_mm256_mask_fmaddsub_ps(__m256 __A, __mmask8 __U, __m256 __B,
1756 __m256 __C)
1757{
1758 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1759 (__v8sf) __B,
1760 (__v8sf) __C,
1761 (__mmask8) __U);
1762}
1763
1764static __inline__ __m256 __DEFAULT_FN_ATTRS
1765_mm256_mask3_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1766{
1767 return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
1768 (__v8sf) __B,
1769 (__v8sf) __C,
1770 (__mmask8) __U);
1771}
1772
1773static __inline__ __m256 __DEFAULT_FN_ATTRS
1774_mm256_maskz_fmaddsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1775{
1776 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1777 (__v8sf) __B,
1778 (__v8sf) __C,
1779 (__mmask8) __U);
1780}
1781
1782static __inline__ __m256 __DEFAULT_FN_ATTRS
1783_mm256_mask_fmsubadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1784{
1785 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1786 (__v8sf) __B,
1787 -(__v8sf) __C,
1788 (__mmask8) __U);
1789}
1790
1791static __inline__ __m256 __DEFAULT_FN_ATTRS
1792_mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1793{
1794 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1795 (__v8sf) __B,
1796 -(__v8sf) __C,
1797 (__mmask8) __U);
1798}
1799
1800static __inline__ __m128d __DEFAULT_FN_ATTRS
1801_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1802{
1803 return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
1804 (__v2df) __B,
1805 (__v2df) __C,
1806 (__mmask8) __U);
1807}
1808
1809static __inline__ __m256d __DEFAULT_FN_ATTRS
1810_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1811{
1812 return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
1813 (__v4df) __B,
1814 (__v4df) __C,
1815 (__mmask8) __U);
1816}
1817
1818static __inline__ __m128 __DEFAULT_FN_ATTRS
1819_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1820{
1821 return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
1822 (__v4sf) __B,
1823 (__v4sf) __C,
1824 (__mmask8) __U);
1825}
1826
1827static __inline__ __m256 __DEFAULT_FN_ATTRS
1828_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1829{
1830 return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
1831 (__v8sf) __B,
1832 (__v8sf) __C,
1833 (__mmask8) __U);
1834}
1835
1836static __inline__ __m128d __DEFAULT_FN_ATTRS
1837_mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1838{
1839 return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
1840 (__v2df) __B,
1841 (__v2df) __C,
1842 (__mmask8)
1843 __U);
1844}
1845
1846static __inline__ __m256d __DEFAULT_FN_ATTRS
1847_mm256_mask3_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1848{
1849 return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
1850 (__v4df) __B,
1851 (__v4df) __C,
1852 (__mmask8)
1853 __U);
1854}
1855
1856static __inline__ __m128 __DEFAULT_FN_ATTRS
1857_mm_mask3_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1858{
1859 return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
1860 (__v4sf) __B,
1861 (__v4sf) __C,
1862 (__mmask8) __U);
1863}
1864
1865static __inline__ __m256 __DEFAULT_FN_ATTRS
1866_mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1867{
1868 return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
1869 (__v8sf) __B,
1870 (__v8sf) __C,
1871 (__mmask8) __U);
1872}
1873
1874static __inline__ __m128d __DEFAULT_FN_ATTRS
1875_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1876{
1877 return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
1878 (__v2df) __B,
1879 (__v2df) __C,
1880 (__mmask8) __U);
1881}
1882
1883static __inline__ __m256d __DEFAULT_FN_ATTRS
1884_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1885{
1886 return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
1887 (__v4df) __B,
1888 (__v4df) __C,
1889 (__mmask8) __U);
1890}
1891
1892static __inline__ __m128 __DEFAULT_FN_ATTRS
1893_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1894{
1895 return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
1896 (__v4sf) __B,
1897 (__v4sf) __C,
1898 (__mmask8) __U);
1899}
1900
1901static __inline__ __m256 __DEFAULT_FN_ATTRS
1902_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1903{
1904 return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
1905 (__v8sf) __B,
1906 (__v8sf) __C,
1907 (__mmask8) __U);
1908}
1909
1910static __inline__ __m128d __DEFAULT_FN_ATTRS
1911_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1912{
1913 return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
1914 (__v2df) __B,
1915 (__v2df) __C,
1916 (__mmask8) __U);
1917}
1918
1919static __inline__ __m128d __DEFAULT_FN_ATTRS
1920_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1921{
1922 return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
1923 (__v2df) __B,
1924 (__v2df) __C,
1925 (__mmask8) __U);
1926}
1927
1928static __inline__ __m256d __DEFAULT_FN_ATTRS
1929_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1930{
1931 return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
1932 (__v4df) __B,
1933 (__v4df) __C,
1934 (__mmask8) __U);
1935}
1936
1937static __inline__ __m256d __DEFAULT_FN_ATTRS
1938_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1939{
1940 return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
1941 (__v4df) __B,
1942 (__v4df) __C,
1943 (__mmask8) __U);
1944}
1945
1946static __inline__ __m128 __DEFAULT_FN_ATTRS
1947_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1948{
1949 return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
1950 (__v4sf) __B,
1951 (__v4sf) __C,
1952 (__mmask8) __U);
1953}
1954
1955static __inline__ __m128 __DEFAULT_FN_ATTRS
1956_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1957{
1958 return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
1959 (__v4sf) __B,
1960 (__v4sf) __C,
1961 (__mmask8) __U);
1962}
1963
1964static __inline__ __m256 __DEFAULT_FN_ATTRS
1965_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1966{
1967 return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
1968 (__v8sf) __B,
1969 (__v8sf) __C,
1970 (__mmask8) __U);
1971}
1972
1973static __inline__ __m256 __DEFAULT_FN_ATTRS
1974_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1975{
1976 return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
1977 (__v8sf) __B,
1978 (__v8sf) __C,
1979 (__mmask8) __U);
1980}
1981
1982static __inline__ __m128d __DEFAULT_FN_ATTRS
1983_mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
1984 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
1985 (__v2df) __B,
1986 (__v2df) __W,
1987 (__mmask8) __U);
1988}
1989
1990static __inline__ __m128d __DEFAULT_FN_ATTRS
1991_mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B) {
1992 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
1993 (__v2df) __B,
1994 (__v2df)
1995 _mm_setzero_pd (),
1996 (__mmask8) __U);
1997}
1998
1999static __inline__ __m256d __DEFAULT_FN_ATTRS
2000_mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2001 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
2002 (__v4df) __B,
2003 (__v4df) __W,
2004 (__mmask8) __U);
2005}
2006
2007static __inline__ __m256d __DEFAULT_FN_ATTRS
2008_mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B) {
2009 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
2010 (__v4df) __B,
2011 (__v4df)
2012 _mm256_setzero_pd (),
2013 (__mmask8) __U);
2014}
2015
2016static __inline__ __m128 __DEFAULT_FN_ATTRS
2017_mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
2018 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
2019 (__v4sf) __B,
2020 (__v4sf) __W,
2021 (__mmask8) __U);
2022}
2023
2024static __inline__ __m128 __DEFAULT_FN_ATTRS
2025_mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B) {
2026 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
2027 (__v4sf) __B,
2028 (__v4sf)
2029 _mm_setzero_ps (),
2030 (__mmask8) __U);
2031}
2032
2033static __inline__ __m256 __DEFAULT_FN_ATTRS
2034_mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
2035 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
2036 (__v8sf) __B,
2037 (__v8sf) __W,
2038 (__mmask8) __U);
2039}
2040
2041static __inline__ __m256 __DEFAULT_FN_ATTRS
2042_mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B) {
2043 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
2044 (__v8sf) __B,
2045 (__v8sf)
2046 _mm256_setzero_ps (),
2047 (__mmask8) __U);
2048}
2049
2050static __inline__ __m128i __DEFAULT_FN_ATTRS
2051_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) {
2052 return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A,
2053 (__v4si) __W,
2054 (__mmask8) __U);
2055}
2056
2057static __inline__ __m256i __DEFAULT_FN_ATTRS
2058_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) {
2059 return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A,
2060 (__v8si) __W,
2061 (__mmask8) __U);
2062}
2063
2064static __inline__ __m128d __DEFAULT_FN_ATTRS
2065_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) {
2066 return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A,
2067 (__v2df) __W,
2068 (__mmask8) __U);
2069}
2070
2071static __inline__ __m256d __DEFAULT_FN_ATTRS
2072_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) {
2073 return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A,
2074 (__v4df) __W,
2075 (__mmask8) __U);
2076}
2077
2078static __inline__ __m128 __DEFAULT_FN_ATTRS
2079_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) {
2080 return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A,
2081 (__v4sf) __W,
2082 (__mmask8) __U);
2083}
2084
2085static __inline__ __m256 __DEFAULT_FN_ATTRS
2086_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) {
2087 return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A,
2088 (__v8sf) __W,
2089 (__mmask8) __U);
2090}
2091
2092static __inline__ __m128i __DEFAULT_FN_ATTRS
2093_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) {
2094 return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A,
2095 (__v2di) __W,
2096 (__mmask8) __U);
2097}
2098
2099static __inline__ __m256i __DEFAULT_FN_ATTRS
2100_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) {
2101 return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A,
2102 (__v4di) __W,
2103 (__mmask8) __U);
2104}
2105
2106static __inline__ __m128d __DEFAULT_FN_ATTRS
2107_mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2108 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
2109 (__v2df) __W,
2110 (__mmask8) __U);
2111}
2112
2113static __inline__ __m128d __DEFAULT_FN_ATTRS
2114_mm_maskz_compress_pd (__mmask8 __U, __m128d __A) {
2115 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
2116 (__v2df)
2117 _mm_setzero_pd (),
2118 (__mmask8) __U);
2119}
2120
2121static __inline__ __m256d __DEFAULT_FN_ATTRS
2122_mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2123 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
2124 (__v4df) __W,
2125 (__mmask8) __U);
2126}
2127
2128static __inline__ __m256d __DEFAULT_FN_ATTRS
2129_mm256_maskz_compress_pd (__mmask8 __U, __m256d __A) {
2130 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
2131 (__v4df)
2132 _mm256_setzero_pd (),
2133 (__mmask8) __U);
2134}
2135
2136static __inline__ __m128i __DEFAULT_FN_ATTRS
2137_mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2138 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
2139 (__v2di) __W,
2140 (__mmask8) __U);
2141}
2142
2143static __inline__ __m128i __DEFAULT_FN_ATTRS
2144_mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A) {
2145 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
2146 (__v2di)
2147 _mm_setzero_si128 (),
2148 (__mmask8) __U);
2149}
2150
2151static __inline__ __m256i __DEFAULT_FN_ATTRS
2152_mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2153 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
2154 (__v4di) __W,
2155 (__mmask8) __U);
2156}
2157
2158static __inline__ __m256i __DEFAULT_FN_ATTRS
2159_mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A) {
2160 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
2161 (__v4di)
2162 _mm256_setzero_si256 (),
2163 (__mmask8) __U);
2164}
2165
2166static __inline__ __m128 __DEFAULT_FN_ATTRS
2167_mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) {
2168 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
2169 (__v4sf) __W,
2170 (__mmask8) __U);
2171}
2172
2173static __inline__ __m128 __DEFAULT_FN_ATTRS
2174_mm_maskz_compress_ps (__mmask8 __U, __m128 __A) {
2175 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
2176 (__v4sf)
2177 _mm_setzero_ps (),
2178 (__mmask8) __U);
2179}
2180
2181static __inline__ __m256 __DEFAULT_FN_ATTRS
2182_mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) {
2183 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
2184 (__v8sf) __W,
2185 (__mmask8) __U);
2186}
2187
2188static __inline__ __m256 __DEFAULT_FN_ATTRS
2189_mm256_maskz_compress_ps (__mmask8 __U, __m256 __A) {
2190 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
2191 (__v8sf)
2192 _mm256_setzero_ps (),
2193 (__mmask8) __U);
2194}
2195
2196static __inline__ __m128i __DEFAULT_FN_ATTRS
2197_mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
2198 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
2199 (__v4si) __W,
2200 (__mmask8) __U);
2201}
2202
2203static __inline__ __m128i __DEFAULT_FN_ATTRS
2204_mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A) {
2205 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
2206 (__v4si)
2207 _mm_setzero_si128 (),
2208 (__mmask8) __U);
2209}
2210
2211static __inline__ __m256i __DEFAULT_FN_ATTRS
2212_mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
2213 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
2214 (__v8si) __W,
2215 (__mmask8) __U);
2216}
2217
2218static __inline__ __m256i __DEFAULT_FN_ATTRS
2219_mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A) {
2220 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
2221 (__v8si)
2222 _mm256_setzero_si256 (),
2223 (__mmask8) __U);
2224}
2225
2226static __inline__ void __DEFAULT_FN_ATTRS
2227_mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) {
2228 __builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
2229 (__v2df) __A,
2230 (__mmask8) __U);
2231}
2232
2233static __inline__ void __DEFAULT_FN_ATTRS
2234_mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) {
2235 __builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
2236 (__v4df) __A,
2237 (__mmask8) __U);
2238}
2239
2240static __inline__ void __DEFAULT_FN_ATTRS
2241_mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) {
2242 __builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
2243 (__v2di) __A,
2244 (__mmask8) __U);
2245}
2246
2247static __inline__ void __DEFAULT_FN_ATTRS
2248_mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) {
2249 __builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
2250 (__v4di) __A,
2251 (__mmask8) __U);
2252}
2253
2254static __inline__ void __DEFAULT_FN_ATTRS
2255_mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) {
2256 __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
2257 (__v4sf) __A,
2258 (__mmask8) __U);
2259}
2260
2261static __inline__ void __DEFAULT_FN_ATTRS
2262_mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) {
2263 __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
2264 (__v8sf) __A,
2265 (__mmask8) __U);
2266}
2267
2268static __inline__ void __DEFAULT_FN_ATTRS
2269_mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) {
2270 __builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
2271 (__v4si) __A,
2272 (__mmask8) __U);
2273}
2274
2275static __inline__ void __DEFAULT_FN_ATTRS
2276_mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) {
2277 __builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
2278 (__v8si) __A,
2279 (__mmask8) __U);
2280}
2281
2282static __inline__ __m128d __DEFAULT_FN_ATTRS
2283_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2284 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
2285 (__v2df) __W,
2286 (__mmask8) __U);
2287}
2288
2289static __inline__ __m128d __DEFAULT_FN_ATTRS
2290_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
2291 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
2292 (__v2df)
2293 _mm_setzero_pd (),
2294 (__mmask8) __U);
2295}
2296
2297static __inline__ __m256d __DEFAULT_FN_ATTRS
2298_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2299 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
2300 (__v4df) __W,
2301 (__mmask8) __U);
2302}
2303
2304static __inline__ __m256d __DEFAULT_FN_ATTRS
2305_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
2306 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
2307 (__v4df)
2308 _mm256_setzero_pd (),
2309 (__mmask8) __U);
2310}
2311
2312static __inline__ __m128 __DEFAULT_FN_ATTRS
2313_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2314 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
2315 (__v4sf) __W,
2316 (__mmask8) __U);
2317}
2318
2319static __inline__ __m128 __DEFAULT_FN_ATTRS
2320_mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) {
2321 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
2322 (__v4sf)
2323 _mm_setzero_ps (),
2324 (__mmask8) __U);
2325}
2326
2327static __inline__ __m256 __DEFAULT_FN_ATTRS
2328_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2329 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
2330 (__v8sf) __W,
2331 (__mmask8) __U);
2332}
2333
2334static __inline__ __m256 __DEFAULT_FN_ATTRS
2335_mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A) {
2336 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
2337 (__v8sf)
2338 _mm256_setzero_ps (),
2339 (__mmask8) __U);
2340}
2341
2342static __inline__ __m128i __DEFAULT_FN_ATTRS
2343_mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
2344 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
2345 (__v4si) __W,
2346 (__mmask8) __U);
2347}
2348
2349static __inline__ __m128i __DEFAULT_FN_ATTRS
2350_mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) {
2351 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
2352 (__v4si)
2353 _mm_setzero_si128 (),
2354 (__mmask8) __U);
2355}
2356
2357static __inline__ __m128i __DEFAULT_FN_ATTRS
2358_mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
2359 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
2360 (__v4si) __W,
2361 (__mmask8) __U);
2362}
2363
2364static __inline__ __m128i __DEFAULT_FN_ATTRS
2365_mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) {
2366 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
2367 (__v4si)
2368 _mm_setzero_si128 (),
2369 (__mmask8) __U);
2370}
2371
2372static __inline__ __m128 __DEFAULT_FN_ATTRS
2373_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) {
2374 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
2375 (__v4sf) __W,
2376 (__mmask8) __U);
2377}
2378
2379static __inline__ __m128 __DEFAULT_FN_ATTRS
2380_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) {
2381 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
2382 (__v4sf)
2383 _mm_setzero_ps (),
2384 (__mmask8) __U);
2385}
2386
2387static __inline__ __m128 __DEFAULT_FN_ATTRS
2388_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) {
2389 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
2390 (__v4sf) __W,
2391 (__mmask8) __U);
2392}
2393
2394static __inline__ __m128 __DEFAULT_FN_ATTRS
2395_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) {
2396 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
2397 (__v4sf)
2398 _mm_setzero_ps (),
2399 (__mmask8) __U);
2400}
2401
2402static __inline__ __m128i __DEFAULT_FN_ATTRS
2403_mm_cvtpd_epu32 (__m128d __A) {
2404 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2405 (__v4si)
2406 _mm_setzero_si128 (),
2407 (__mmask8) -1);
2408}
2409
2410static __inline__ __m128i __DEFAULT_FN_ATTRS
2411_mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
2412 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2413 (__v4si) __W,
2414 (__mmask8) __U);
2415}
2416
2417static __inline__ __m128i __DEFAULT_FN_ATTRS
2418_mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) {
2419 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2420 (__v4si)
2421 _mm_setzero_si128 (),
2422 (__mmask8) __U);
2423}
2424
2425static __inline__ __m128i __DEFAULT_FN_ATTRS
2426_mm256_cvtpd_epu32 (__m256d __A) {
2427 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2428 (__v4si)
2429 _mm_setzero_si128 (),
2430 (__mmask8) -1);
2431}
2432
2433static __inline__ __m128i __DEFAULT_FN_ATTRS
2434_mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
2435 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2436 (__v4si) __W,
2437 (__mmask8) __U);
2438}
2439
2440static __inline__ __m128i __DEFAULT_FN_ATTRS
2441_mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A) {
2442 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2443 (__v4si)
2444 _mm_setzero_si128 (),
2445 (__mmask8) __U);
2446}
2447
2448static __inline__ __m128i __DEFAULT_FN_ATTRS
2449_mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
2450 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
2451 (__v4si) __W,
2452 (__mmask8) __U);
2453}
2454
2455static __inline__ __m128i __DEFAULT_FN_ATTRS
2456_mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) {
2457 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
2458 (__v4si)
2459 _mm_setzero_si128 (),
2460 (__mmask8) __U);
2461}
2462
2463static __inline__ __m256i __DEFAULT_FN_ATTRS
2464_mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
2465 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
2466 (__v8si) __W,
2467 (__mmask8) __U);
2468}
2469
2470static __inline__ __m256i __DEFAULT_FN_ATTRS
2471_mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A) {
2472 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
2473 (__v8si)
2474 _mm256_setzero_si256 (),
2475 (__mmask8) __U);
2476}
2477
2478static __inline__ __m128d __DEFAULT_FN_ATTRS
2479_mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) {
2480 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
2481 (__v2df) __W,
2482 (__mmask8) __U);
2483}
2484
2485static __inline__ __m128d __DEFAULT_FN_ATTRS
2486_mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
2487 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
2488 (__v2df)
2489 _mm_setzero_pd (),
2490 (__mmask8) __U);
2491}
2492
2493static __inline__ __m256d __DEFAULT_FN_ATTRS
2494_mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) {
2495 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
2496 (__v4df) __W,
2497 (__mmask8) __U);
2498}
2499
2500static __inline__ __m256d __DEFAULT_FN_ATTRS
2501_mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
2502 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
2503 (__v4df)
2504 _mm256_setzero_pd (),
2505 (__mmask8) __U);
2506}
2507
2508static __inline__ __m128i __DEFAULT_FN_ATTRS
2509_mm_cvtps_epu32 (__m128 __A) {
2510 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2511 (__v4si)
2512 _mm_setzero_si128 (),
2513 (__mmask8) -1);
2514}
2515
2516static __inline__ __m128i __DEFAULT_FN_ATTRS
2517_mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
2518 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2519 (__v4si) __W,
2520 (__mmask8) __U);
2521}
2522
2523static __inline__ __m128i __DEFAULT_FN_ATTRS
2524_mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) {
2525 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2526 (__v4si)
2527 _mm_setzero_si128 (),
2528 (__mmask8) __U);
2529}
2530
2531static __inline__ __m256i __DEFAULT_FN_ATTRS
2532_mm256_cvtps_epu32 (__m256 __A) {
2533 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2534 (__v8si)
2535 _mm256_setzero_si256 (),
2536 (__mmask8) -1);
2537}
2538
2539static __inline__ __m256i __DEFAULT_FN_ATTRS
2540_mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2541 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2542 (__v8si) __W,
2543 (__mmask8) __U);
2544}
2545
2546static __inline__ __m256i __DEFAULT_FN_ATTRS
2547_mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A) {
2548 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2549 (__v8si)
2550 _mm256_setzero_si256 (),
2551 (__mmask8) __U);
2552}
2553
2554static __inline__ __m128i __DEFAULT_FN_ATTRS
2555_mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
2556 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2557 (__v4si) __W,
2558 (__mmask8) __U);
2559}
2560
2561static __inline__ __m128i __DEFAULT_FN_ATTRS
2562_mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) {
2563 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2564 (__v4si)
2565 _mm_setzero_si128 (),
2566 (__mmask8) __U);
2567}
2568
2569static __inline__ __m128i __DEFAULT_FN_ATTRS
2570_mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
2571 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2572 (__v4si) __W,
2573 (__mmask8) __U);
2574}
2575
2576static __inline__ __m128i __DEFAULT_FN_ATTRS
2577_mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A) {
2578 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2579 (__v4si)
2580 _mm_setzero_si128 (),
2581 (__mmask8) __U);
2582}
2583
2584static __inline__ __m128i __DEFAULT_FN_ATTRS
2585_mm_cvttpd_epu32 (__m128d __A) {
2586 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2587 (__v4si)
2588 _mm_setzero_si128 (),
2589 (__mmask8) -1);
2590}
2591
2592static __inline__ __m128i __DEFAULT_FN_ATTRS
2593_mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
2594 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2595 (__v4si) __W,
2596 (__mmask8) __U);
2597}
2598
2599static __inline__ __m128i __DEFAULT_FN_ATTRS
2600_mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) {
2601 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2602 (__v4si)
2603 _mm_setzero_si128 (),
2604 (__mmask8) __U);
2605}
2606
2607static __inline__ __m128i __DEFAULT_FN_ATTRS
2608_mm256_cvttpd_epu32 (__m256d __A) {
2609 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2610 (__v4si)
2611 _mm_setzero_si128 (),
2612 (__mmask8) -1);
2613}
2614
2615static __inline__ __m128i __DEFAULT_FN_ATTRS
2616_mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
2617 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2618 (__v4si) __W,
2619 (__mmask8) __U);
2620}
2621
2622static __inline__ __m128i __DEFAULT_FN_ATTRS
2623_mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A) {
2624 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2625 (__v4si)
2626 _mm_setzero_si128 (),
2627 (__mmask8) __U);
2628}
2629
2630static __inline__ __m128i __DEFAULT_FN_ATTRS
2631_mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
2632 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2633 (__v4si) __W,
2634 (__mmask8) __U);
2635}
2636
2637static __inline__ __m128i __DEFAULT_FN_ATTRS
2638_mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A) {
2639 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2640 (__v4si)
2641 _mm_setzero_si128 (),
2642 (__mmask8) __U);
2643}
2644
2645static __inline__ __m256i __DEFAULT_FN_ATTRS
2646_mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
2647 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2648 (__v8si) __W,
2649 (__mmask8) __U);
2650}
2651
2652static __inline__ __m256i __DEFAULT_FN_ATTRS
2653_mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A) {
2654 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2655 (__v8si)
2656 _mm256_setzero_si256 (),
2657 (__mmask8) __U);
2658}
2659
2660static __inline__ __m128i __DEFAULT_FN_ATTRS
2661_mm_cvttps_epu32 (__m128 __A) {
2662 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2663 (__v4si)
2664 _mm_setzero_si128 (),
2665 (__mmask8) -1);
2666}
2667
2668static __inline__ __m128i __DEFAULT_FN_ATTRS
2669_mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
2670 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2671 (__v4si) __W,
2672 (__mmask8) __U);
2673}
2674
2675static __inline__ __m128i __DEFAULT_FN_ATTRS
2676_mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A) {
2677 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2678 (__v4si)
2679 _mm_setzero_si128 (),
2680 (__mmask8) __U);
2681}
2682
2683static __inline__ __m256i __DEFAULT_FN_ATTRS
2684_mm256_cvttps_epu32 (__m256 __A) {
2685 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2686 (__v8si)
2687 _mm256_setzero_si256 (),
2688 (__mmask8) -1);
2689}
2690
2691static __inline__ __m256i __DEFAULT_FN_ATTRS
2692_mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2693 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2694 (__v8si) __W,
2695 (__mmask8) __U);
2696}
2697
2698static __inline__ __m256i __DEFAULT_FN_ATTRS
2699_mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) {
2700 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2701 (__v8si)
2702 _mm256_setzero_si256 (),
2703 (__mmask8) __U);
2704}
2705
2706static __inline__ __m128d __DEFAULT_FN_ATTRS
2707_mm_cvtepu32_pd (__m128i __A) {
2708 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2709 (__v2df)
2710 _mm_setzero_pd (),
2711 (__mmask8) -1);
2712}
2713
2714static __inline__ __m128d __DEFAULT_FN_ATTRS
2715_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2716 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2717 (__v2df) __W,
2718 (__mmask8) __U);
2719}
2720
2721static __inline__ __m128d __DEFAULT_FN_ATTRS
2722_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2723 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2724 (__v2df)
2725 _mm_setzero_pd (),
2726 (__mmask8) __U);
2727}
2728
2729static __inline__ __m256d __DEFAULT_FN_ATTRS
2730_mm256_cvtepu32_pd (__m128i __A) {
2731 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2732 (__v4df)
2733 _mm256_setzero_pd (),
2734 (__mmask8) -1);
2735}
2736
2737static __inline__ __m256d __DEFAULT_FN_ATTRS
2738_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2739 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2740 (__v4df) __W,
2741 (__mmask8) __U);
2742}
2743
2744static __inline__ __m256d __DEFAULT_FN_ATTRS
2745_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2746 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2747 (__v4df)
2748 _mm256_setzero_pd (),
2749 (__mmask8) __U);
2750}
2751
2752static __inline__ __m128 __DEFAULT_FN_ATTRS
2753_mm_cvtepu32_ps (__m128i __A) {
2754 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2755 (__v4sf)
2756 _mm_setzero_ps (),
2757 (__mmask8) -1);
2758}
2759
2760static __inline__ __m128 __DEFAULT_FN_ATTRS
2761_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2762 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2763 (__v4sf) __W,
2764 (__mmask8) __U);
2765}
2766
2767static __inline__ __m128 __DEFAULT_FN_ATTRS
2768_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) {
2769 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2770 (__v4sf)
2771 _mm_setzero_ps (),
2772 (__mmask8) __U);
2773}
2774
2775static __inline__ __m256 __DEFAULT_FN_ATTRS
2776_mm256_cvtepu32_ps (__m256i __A) {
2777 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2778 (__v8sf)
2779 _mm256_setzero_ps (),
2780 (__mmask8) -1);
2781}
2782
2783static __inline__ __m256 __DEFAULT_FN_ATTRS
2784_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2785 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2786 (__v8sf) __W,
2787 (__mmask8) __U);
2788}
2789
2790static __inline__ __m256 __DEFAULT_FN_ATTRS
2791_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) {
2792 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2793 (__v8sf)
2794 _mm256_setzero_ps (),
2795 (__mmask8) __U);
2796}
2797
2798static __inline__ __m128d __DEFAULT_FN_ATTRS
2799_mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2800 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
2801 (__v2df) __B,
2802 (__v2df) __W,
2803 (__mmask8) __U);
2804}
2805
2806static __inline__ __m128d __DEFAULT_FN_ATTRS
2807_mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B) {
2808 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
2809 (__v2df) __B,
2810 (__v2df)
2811 _mm_setzero_pd (),
2812 (__mmask8) __U);
2813}
2814
2815static __inline__ __m256d __DEFAULT_FN_ATTRS
2816_mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
2817 __m256d __B) {
2818 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
2819 (__v4df) __B,
2820 (__v4df) __W,
2821 (__mmask8) __U);
2822}
2823
2824static __inline__ __m256d __DEFAULT_FN_ATTRS
2825_mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B) {
2826 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
2827 (__v4df) __B,
2828 (__v4df)
2829 _mm256_setzero_pd (),
2830 (__mmask8) __U);
2831}
2832
2833static __inline__ __m128 __DEFAULT_FN_ATTRS
2834_mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2835 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
2836 (__v4sf) __B,
2837 (__v4sf) __W,
2838 (__mmask8) __U);
2839}
2840
2841static __inline__ __m128 __DEFAULT_FN_ATTRS
2842_mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B) {
2843 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
2844 (__v4sf) __B,
2845 (__v4sf)
2846 _mm_setzero_ps (),
2847 (__mmask8) __U);
2848}
2849
2850static __inline__ __m256 __DEFAULT_FN_ATTRS
2851_mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2852 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
2853 (__v8sf) __B,
2854 (__v8sf) __W,
2855 (__mmask8) __U);
2856}
2857
2858static __inline__ __m256 __DEFAULT_FN_ATTRS
2859_mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B) {
2860 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
2861 (__v8sf) __B,
2862 (__v8sf)
2863 _mm256_setzero_ps (),
2864 (__mmask8) __U);
2865}
2866
2867static __inline__ __m128d __DEFAULT_FN_ATTRS
2868_mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2869 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2870 (__v2df) __W,
2871 (__mmask8) __U);
2872}
2873
2874static __inline__ __m128d __DEFAULT_FN_ATTRS
2875_mm_maskz_expand_pd (__mmask8 __U, __m128d __A) {
2876 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2877 (__v2df)
2878 _mm_setzero_pd (),
2879 (__mmask8) __U);
2880}
2881
2882static __inline__ __m256d __DEFAULT_FN_ATTRS
2883_mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2884 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2885 (__v4df) __W,
2886 (__mmask8) __U);
2887}
2888
2889static __inline__ __m256d __DEFAULT_FN_ATTRS
2890_mm256_maskz_expand_pd (__mmask8 __U, __m256d __A) {
2891 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2892 (__v4df)
2893 _mm256_setzero_pd (),
2894 (__mmask8) __U);
2895}
2896
2897static __inline__ __m128i __DEFAULT_FN_ATTRS
2898_mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2899 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2900 (__v2di) __W,
2901 (__mmask8) __U);
2902}
2903
2904static __inline__ __m128i __DEFAULT_FN_ATTRS
2905_mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A) {
2906 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2907 (__v2di)
2908 _mm_setzero_si128 (),
2909 (__mmask8) __U);
2910}
2911
2912static __inline__ __m256i __DEFAULT_FN_ATTRS
2913_mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2914 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2915 (__v4di) __W,
2916 (__mmask8) __U);
2917}
2918
2919static __inline__ __m256i __DEFAULT_FN_ATTRS
2920_mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A) {
2921 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2922 (__v4di)
2923 _mm256_setzero_si256 (),
2924 (__mmask8) __U);
2925}
2926
2927static __inline__ __m128d __DEFAULT_FN_ATTRS
2928_mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P) {
2929 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2930 (__v2df) __W,
2931 (__mmask8)
2932 __U);
2933}
2934
2935static __inline__ __m128d __DEFAULT_FN_ATTRS
2936_mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2937 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2938 (__v2df)
2939 _mm_setzero_pd (),
2940 (__mmask8)
2941 __U);
2942}
2943
2944static __inline__ __m256d __DEFAULT_FN_ATTRS
2945_mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P) {
2946 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2947 (__v4df) __W,
2948 (__mmask8)
2949 __U);
2950}
2951
2952static __inline__ __m256d __DEFAULT_FN_ATTRS
2953_mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2954 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2955 (__v4df)
2956 _mm256_setzero_pd (),
2957 (__mmask8)
2958 __U);
2959}
2960
2961static __inline__ __m128i __DEFAULT_FN_ATTRS
2962_mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) {
2963 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2964 (__v2di) __W,
2965 (__mmask8)
2966 __U);
2967}
2968
2969static __inline__ __m128i __DEFAULT_FN_ATTRS
2970_mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) {
2971 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2972 (__v2di)
2973 _mm_setzero_si128 (),
2974 (__mmask8)
2975 __U);
2976}
2977
2978static __inline__ __m256i __DEFAULT_FN_ATTRS
2979_mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
2980 void const *__P) {
2981 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2982 (__v4di) __W,
2983 (__mmask8)
2984 __U);
2985}
2986
2987static __inline__ __m256i __DEFAULT_FN_ATTRS
2988_mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) {
2989 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2990 (__v4di)
2991 _mm256_setzero_si256 (),
2992 (__mmask8)
2993 __U);
2994}
2995
2996static __inline__ __m128 __DEFAULT_FN_ATTRS
2997_mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P) {
2998 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
2999 (__v4sf) __W,
3000 (__mmask8) __U);
3001}
3002
3003static __inline__ __m128 __DEFAULT_FN_ATTRS
3004_mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
3005 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
3006 (__v4sf)
3007 _mm_setzero_ps (),
3008 (__mmask8)
3009 __U);
3010}
3011
3012static __inline__ __m256 __DEFAULT_FN_ATTRS
3013_mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P) {
3014 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
3015 (__v8sf) __W,
3016 (__mmask8) __U);
3017}
3018
3019static __inline__ __m256 __DEFAULT_FN_ATTRS
3020_mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
3021 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
3022 (__v8sf)
3023 _mm256_setzero_ps (),
3024 (__mmask8)
3025 __U);
3026}
3027
3028static __inline__ __m128i __DEFAULT_FN_ATTRS
3029_mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) {
3030 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
3031 (__v4si) __W,
3032 (__mmask8)
3033 __U);
3034}
3035
3036static __inline__ __m128i __DEFAULT_FN_ATTRS
3037_mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) {
3038 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
3039 (__v4si)
3040 _mm_setzero_si128 (),
3041 (__mmask8) __U);
3042}
3043
3044static __inline__ __m256i __DEFAULT_FN_ATTRS
3045_mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
3046 void const *__P) {
3047 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
3048 (__v8si) __W,
3049 (__mmask8)
3050 __U);
3051}
3052
3053static __inline__ __m256i __DEFAULT_FN_ATTRS
3054_mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) {
3055 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
3056 (__v8si)
3057 _mm256_setzero_si256 (),
3058 (__mmask8)
3059 __U);
3060}
3061
3062static __inline__ __m128 __DEFAULT_FN_ATTRS
3063_mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A) {
3064 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
3065 (__v4sf) __W,
3066 (__mmask8) __U);
3067}
3068
3069static __inline__ __m128 __DEFAULT_FN_ATTRS
3070_mm_maskz_expand_ps (__mmask8 __U, __m128 __A) {
3071 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
3072 (__v4sf)
3073 _mm_setzero_ps (),
3074 (__mmask8) __U);
3075}
3076
3077static __inline__ __m256 __DEFAULT_FN_ATTRS
3078_mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A) {
3079 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
3080 (__v8sf) __W,
3081 (__mmask8) __U);
3082}
3083
3084static __inline__ __m256 __DEFAULT_FN_ATTRS
3085_mm256_maskz_expand_ps (__mmask8 __U, __m256 __A) {
3086 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
3087 (__v8sf)
3088 _mm256_setzero_ps (),
3089 (__mmask8) __U);
3090}
3091
3092static __inline__ __m128i __DEFAULT_FN_ATTRS
3093_mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
3094 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
3095 (__v4si) __W,
3096 (__mmask8) __U);
3097}
3098
3099static __inline__ __m128i __DEFAULT_FN_ATTRS
3100_mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A) {
3101 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
3102 (__v4si)
3103 _mm_setzero_si128 (),
3104 (__mmask8) __U);
3105}
3106
3107static __inline__ __m256i __DEFAULT_FN_ATTRS
3108_mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
3109 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
3110 (__v8si) __W,
3111 (__mmask8) __U);
3112}
3113
3114static __inline__ __m256i __DEFAULT_FN_ATTRS
3115_mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A) {
3116 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
3117 (__v8si)
3118 _mm256_setzero_si256 (),
3119 (__mmask8) __U);
3120}
3121
3122static __inline__ __m128d __DEFAULT_FN_ATTRS
3123_mm_getexp_pd (__m128d __A) {
3124 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3125 (__v2df)
3126 _mm_setzero_pd (),
3127 (__mmask8) -1);
3128}
3129
3130static __inline__ __m128d __DEFAULT_FN_ATTRS
3131_mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A) {
3132 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3133 (__v2df) __W,
3134 (__mmask8) __U);
3135}
3136
3137static __inline__ __m128d __DEFAULT_FN_ATTRS
3138_mm_maskz_getexp_pd (__mmask8 __U, __m128d __A) {
3139 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3140 (__v2df)
3141 _mm_setzero_pd (),
3142 (__mmask8) __U);
3143}
3144
3145static __inline__ __m256d __DEFAULT_FN_ATTRS
3146_mm256_getexp_pd (__m256d __A) {
3147 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3148 (__v4df)
3149 _mm256_setzero_pd (),
3150 (__mmask8) -1);
3151}
3152
3153static __inline__ __m256d __DEFAULT_FN_ATTRS
3154_mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A) {
3155 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3156 (__v4df) __W,
3157 (__mmask8) __U);
3158}
3159
3160static __inline__ __m256d __DEFAULT_FN_ATTRS
3161_mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A) {
3162 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3163 (__v4df)
3164 _mm256_setzero_pd (),
3165 (__mmask8) __U);
3166}
3167
3168static __inline__ __m128 __DEFAULT_FN_ATTRS
3169_mm_getexp_ps (__m128 __A) {
3170 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3171 (__v4sf)
3172 _mm_setzero_ps (),
3173 (__mmask8) -1);
3174}
3175
3176static __inline__ __m128 __DEFAULT_FN_ATTRS
3177_mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A) {
3178 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3179 (__v4sf) __W,
3180 (__mmask8) __U);
3181}
3182
3183static __inline__ __m128 __DEFAULT_FN_ATTRS
3184_mm_maskz_getexp_ps (__mmask8 __U, __m128 __A) {
3185 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3186 (__v4sf)
3187 _mm_setzero_ps (),
3188 (__mmask8) __U);
3189}
3190
3191static __inline__ __m256 __DEFAULT_FN_ATTRS
3192_mm256_getexp_ps (__m256 __A) {
3193 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3194 (__v8sf)
3195 _mm256_setzero_ps (),
3196 (__mmask8) -1);
3197}
3198
3199static __inline__ __m256 __DEFAULT_FN_ATTRS
3200_mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A) {
3201 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3202 (__v8sf) __W,
3203 (__mmask8) __U);
3204}
3205
3206static __inline__ __m256 __DEFAULT_FN_ATTRS
3207_mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A) {
3208 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3209 (__v8sf)
3210 _mm256_setzero_ps (),
3211 (__mmask8) __U);
3212}
3213
3214static __inline__ __m128d __DEFAULT_FN_ATTRS
3215_mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3216 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
3217 (__v2df) __B,
3218 (__v2df) __W,
3219 (__mmask8) __U);
3220}
3221
3222static __inline__ __m128d __DEFAULT_FN_ATTRS
3223_mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3224 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
3225 (__v2df) __B,
3226 (__v2df)
3227 _mm_setzero_pd (),
3228 (__mmask8) __U);
3229}
3230
3231static __inline__ __m256d __DEFAULT_FN_ATTRS
3232_mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
3233 __m256d __B) {
3234 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
3235 (__v4df) __B,
3236 (__v4df) __W,
3237 (__mmask8) __U);
3238}
3239
3240static __inline__ __m256d __DEFAULT_FN_ATTRS
3241_mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3242 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
3243 (__v4df) __B,
3244 (__v4df)
3245 _mm256_setzero_pd (),
3246 (__mmask8) __U);
3247}
3248
3249static __inline__ __m128 __DEFAULT_FN_ATTRS
3250_mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3251 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
3252 (__v4sf) __B,
3253 (__v4sf) __W,
3254 (__mmask8) __U);
3255}
3256
3257static __inline__ __m128 __DEFAULT_FN_ATTRS
3258_mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3259 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
3260 (__v4sf) __B,
3261 (__v4sf)
3262 _mm_setzero_ps (),
3263 (__mmask8) __U);
3264}
3265
3266static __inline__ __m256 __DEFAULT_FN_ATTRS
3267_mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3268 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
3269 (__v8sf) __B,
3270 (__v8sf) __W,
3271 (__mmask8) __U);
3272}
3273
3274static __inline__ __m256 __DEFAULT_FN_ATTRS
3275_mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3276 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
3277 (__v8sf) __B,
3278 (__v8sf)
3279 _mm256_setzero_ps (),
3280 (__mmask8) __U);
3281}
3282
3283static __inline__ __m128d __DEFAULT_FN_ATTRS
3284_mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3285 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
3286 (__v2df) __B,
3287 (__v2df) __W,
3288 (__mmask8) __U);
3289}
3290
3291static __inline__ __m128d __DEFAULT_FN_ATTRS
3292_mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3293 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
3294 (__v2df) __B,
3295 (__v2df)
3296 _mm_setzero_pd (),
3297 (__mmask8) __U);
3298}
3299
3300static __inline__ __m256d __DEFAULT_FN_ATTRS
3301_mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
3302 __m256d __B) {
3303 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
3304 (__v4df) __B,
3305 (__v4df) __W,
3306 (__mmask8) __U);
3307}
3308
3309static __inline__ __m256d __DEFAULT_FN_ATTRS
3310_mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3311 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
3312 (__v4df) __B,
3313 (__v4df)
3314 _mm256_setzero_pd (),
3315 (__mmask8) __U);
3316}
3317
3318static __inline__ __m128 __DEFAULT_FN_ATTRS
3319_mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3320 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
3321 (__v4sf) __B,
3322 (__v4sf) __W,
3323 (__mmask8) __U);
3324}
3325
3326static __inline__ __m128 __DEFAULT_FN_ATTRS
3327_mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3328 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
3329 (__v4sf) __B,
3330 (__v4sf)
3331 _mm_setzero_ps (),
3332 (__mmask8) __U);
3333}
3334
3335static __inline__ __m256 __DEFAULT_FN_ATTRS
3336_mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3337 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
3338 (__v8sf) __B,
3339 (__v8sf) __W,
3340 (__mmask8) __U);
3341}
3342
3343static __inline__ __m256 __DEFAULT_FN_ATTRS
3344_mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3345 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
3346 (__v8sf) __B,
3347 (__v8sf)
3348 _mm256_setzero_ps (),
3349 (__mmask8) __U);
3350}
3351
3352static __inline__ __m128d __DEFAULT_FN_ATTRS
3353_mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3354 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
3355 (__v2df) __B,
3356 (__v2df) __W,
3357 (__mmask8) __U);
3358}
3359
3360static __inline__ __m128d __DEFAULT_FN_ATTRS
3361_mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3362 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
3363 (__v2df) __B,
3364 (__v2df)
3365 _mm_setzero_pd (),
3366 (__mmask8) __U);
3367}
3368
3369static __inline__ __m256d __DEFAULT_FN_ATTRS
3370_mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
3371 __m256d __B) {
3372 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
3373 (__v4df) __B,
3374 (__v4df) __W,
3375 (__mmask8) __U);
3376}
3377
3378static __inline__ __m256d __DEFAULT_FN_ATTRS
3379_mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3380 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
3381 (__v4df) __B,
3382 (__v4df)
3383 _mm256_setzero_pd (),
3384 (__mmask8) __U);
3385}
3386
3387static __inline__ __m128 __DEFAULT_FN_ATTRS
3388_mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3389 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
3390 (__v4sf) __B,
3391 (__v4sf) __W,
3392 (__mmask8) __U);
3393}
3394
3395static __inline__ __m128 __DEFAULT_FN_ATTRS
3396_mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3397 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
3398 (__v4sf) __B,
3399 (__v4sf)
3400 _mm_setzero_ps (),
3401 (__mmask8) __U);
3402}
3403
3404static __inline__ __m256 __DEFAULT_FN_ATTRS
3405_mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3406 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
3407 (__v8sf) __B,
3408 (__v8sf) __W,
3409 (__mmask8) __U);
3410}
3411
3412static __inline__ __m256 __DEFAULT_FN_ATTRS
3413_mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3414 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
3415 (__v8sf) __B,
3416 (__v8sf)
3417 _mm256_setzero_ps (),
3418 (__mmask8) __U);
3419}
3420
3421static __inline__ __m128i __DEFAULT_FN_ATTRS
3422_mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
3423 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
3424 (__v4si) __W,
3425 (__mmask8) __U);
3426}
3427
3428static __inline__ __m128i __DEFAULT_FN_ATTRS
3429_mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A) {
3430 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
3431 (__v4si)
3432 _mm_setzero_si128 (),
3433 (__mmask8) __U);
3434}
3435
3436static __inline__ __m256i __DEFAULT_FN_ATTRS
3437_mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
3438 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
3439 (__v8si) __W,
3440 (__mmask8) __U);
3441}
3442
3443static __inline__ __m256i __DEFAULT_FN_ATTRS
3444_mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A) {
3445 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
3446 (__v8si)
3447 _mm256_setzero_si256 (),
3448 (__mmask8) __U);
3449}
3450
3451static __inline__ __m128i __DEFAULT_FN_ATTRS
3452_mm_abs_epi64 (__m128i __A) {
3453 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3454 (__v2di)
3455 _mm_setzero_si128 (),
3456 (__mmask8) -1);
3457}
3458
3459static __inline__ __m128i __DEFAULT_FN_ATTRS
3460_mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
3461 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3462 (__v2di) __W,
3463 (__mmask8) __U);
3464}
3465
3466static __inline__ __m128i __DEFAULT_FN_ATTRS
3467_mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) {
3468 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3469 (__v2di)
3470 _mm_setzero_si128 (),
3471 (__mmask8) __U);
3472}
3473
3474static __inline__ __m256i __DEFAULT_FN_ATTRS
3475_mm256_abs_epi64 (__m256i __A) {
3476 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3477 (__v4di)
3478 _mm256_setzero_si256 (),
3479 (__mmask8) -1);
3480}
3481
3482static __inline__ __m256i __DEFAULT_FN_ATTRS
3483_mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
3484 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3485 (__v4di) __W,
3486 (__mmask8) __U);
3487}
3488
3489static __inline__ __m256i __DEFAULT_FN_ATTRS
3490_mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) {
3491 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3492 (__v4di)
3493 _mm256_setzero_si256 (),
3494 (__mmask8) __U);
3495}
3496
3497static __inline__ __m128i __DEFAULT_FN_ATTRS
3498_mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
3499 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
3500 (__v4si) __B,
3501 (__v4si)
3502 _mm_setzero_si128 (),
3503 __M);
3504}
3505
3506static __inline__ __m128i __DEFAULT_FN_ATTRS
3507_mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
3508 __m128i __B) {
3509 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
3510 (__v4si) __B,
3511 (__v4si) __W, __M);
3512}
3513
3514static __inline__ __m256i __DEFAULT_FN_ATTRS
3515_mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
3516 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
3517 (__v8si) __B,
3518 (__v8si)
3519 _mm256_setzero_si256 (),
3520 __M);
3521}
3522
3523static __inline__ __m256i __DEFAULT_FN_ATTRS
3524_mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
3525 __m256i __B) {
3526 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
3527 (__v8si) __B,
3528 (__v8si) __W, __M);
3529}
3530
3531static __inline__ __m128i __DEFAULT_FN_ATTRS
3532_mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3533 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3534 (__v2di) __B,
3535 (__v2di)
3536 _mm_setzero_si128 (),
3537 __M);
3538}
3539
3540static __inline__ __m128i __DEFAULT_FN_ATTRS
3541_mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
3542 __m128i __B) {
3543 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3544 (__v2di) __B,
3545 (__v2di) __W, __M);
3546}
3547
3548static __inline__ __m128i __DEFAULT_FN_ATTRS
3549_mm_max_epi64 (__m128i __A, __m128i __B) {
3550 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3551 (__v2di) __B,
3552 (__v2di)
3553 _mm_setzero_si128 (),
3554 (__mmask8) -1);
3555}
3556
3557static __inline__ __m256i __DEFAULT_FN_ATTRS
3558_mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3559 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3560 (__v4di) __B,
3561 (__v4di)
3562 _mm256_setzero_si256 (),
3563 __M);
3564}
3565
3566static __inline__ __m256i __DEFAULT_FN_ATTRS
3567_mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
3568 __m256i __B) {
3569 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3570 (__v4di) __B,
3571 (__v4di) __W, __M);
3572}
3573
3574static __inline__ __m256i __DEFAULT_FN_ATTRS
3575_mm256_max_epi64 (__m256i __A, __m256i __B) {
3576 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3577 (__v4di) __B,
3578 (__v4di)
3579 _mm256_setzero_si256 (),
3580 (__mmask8) -1);
3581}
3582
3583static __inline__ __m128i __DEFAULT_FN_ATTRS
3584_mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B) {
3585 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
3586 (__v4si) __B,
3587 (__v4si)
3588 _mm_setzero_si128 (),
3589 __M);
3590}
3591
3592static __inline__ __m128i __DEFAULT_FN_ATTRS
3593_mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
3594 __m128i __B) {
3595 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
3596 (__v4si) __B,
3597 (__v4si) __W, __M);
3598}
3599
3600static __inline__ __m256i __DEFAULT_FN_ATTRS
3601_mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B) {
3602 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
3603 (__v8si) __B,
3604 (__v8si)
3605 _mm256_setzero_si256 (),
3606 __M);
3607}
3608
3609static __inline__ __m256i __DEFAULT_FN_ATTRS
3610_mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
3611 __m256i __B) {
3612 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
3613 (__v8si) __B,
3614 (__v8si) __W, __M);
3615}
3616
3617static __inline__ __m128i __DEFAULT_FN_ATTRS
3618_mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3619 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3620 (__v2di) __B,
3621 (__v2di)
3622 _mm_setzero_si128 (),
3623 __M);
3624}
3625
3626static __inline__ __m128i __DEFAULT_FN_ATTRS
3627_mm_max_epu64 (__m128i __A, __m128i __B) {
3628 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3629 (__v2di) __B,
3630 (__v2di)
3631 _mm_setzero_si128 (),
3632 (__mmask8) -1);
3633}
3634
3635static __inline__ __m128i __DEFAULT_FN_ATTRS
3636_mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3637 __m128i __B) {
3638 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3639 (__v2di) __B,
3640 (__v2di) __W, __M);
3641}
3642
3643static __inline__ __m256i __DEFAULT_FN_ATTRS
3644_mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3645 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3646 (__v4di) __B,
3647 (__v4di)
3648 _mm256_setzero_si256 (),
3649 __M);
3650}
3651
3652static __inline__ __m256i __DEFAULT_FN_ATTRS
3653_mm256_max_epu64 (__m256i __A, __m256i __B) {
3654 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3655 (__v4di) __B,
3656 (__v4di)
3657 _mm256_setzero_si256 (),
3658 (__mmask8) -1);
3659}
3660
3661static __inline__ __m256i __DEFAULT_FN_ATTRS
3662_mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3663 __m256i __B) {
3664 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3665 (__v4di) __B,
3666 (__v4di) __W, __M);
3667}
3668
3669static __inline__ __m128i __DEFAULT_FN_ATTRS
3670_mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
3671 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
3672 (__v4si) __B,
3673 (__v4si)
3674 _mm_setzero_si128 (),
3675 __M);
3676}
3677
3678static __inline__ __m128i __DEFAULT_FN_ATTRS
3679_mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
3680 __m128i __B) {
3681 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
3682 (__v4si) __B,
3683 (__v4si) __W, __M);
3684}
3685
3686static __inline__ __m256i __DEFAULT_FN_ATTRS
3687_mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
3688 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
3689 (__v8si) __B,
3690 (__v8si)
3691 _mm256_setzero_si256 (),
3692 __M);
3693}
3694
3695static __inline__ __m256i __DEFAULT_FN_ATTRS
3696_mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
3697 __m256i __B) {
3698 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
3699 (__v8si) __B,
3700 (__v8si) __W, __M);
3701}
3702
3703static __inline__ __m128i __DEFAULT_FN_ATTRS
3704_mm_min_epi64 (__m128i __A, __m128i __B) {
3705 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3706 (__v2di) __B,
3707 (__v2di)
3708 _mm_setzero_si128 (),
3709 (__mmask8) -1);
3710}
3711
3712static __inline__ __m128i __DEFAULT_FN_ATTRS
3713_mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
3714 __m128i __B) {
3715 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3716 (__v2di) __B,
3717 (__v2di) __W, __M);
3718}
3719
3720static __inline__ __m128i __DEFAULT_FN_ATTRS
3721_mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3722 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3723 (__v2di) __B,
3724 (__v2di)
3725 _mm_setzero_si128 (),
3726 __M);
3727}
3728
3729static __inline__ __m256i __DEFAULT_FN_ATTRS
3730_mm256_min_epi64 (__m256i __A, __m256i __B) {
3731 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3732 (__v4di) __B,
3733 (__v4di)
3734 _mm256_setzero_si256 (),
3735 (__mmask8) -1);
3736}
3737
3738static __inline__ __m256i __DEFAULT_FN_ATTRS
3739_mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
3740 __m256i __B) {
3741 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3742 (__v4di) __B,
3743 (__v4di) __W, __M);
3744}
3745
3746static __inline__ __m256i __DEFAULT_FN_ATTRS
3747_mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3748 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3749 (__v4di) __B,
3750 (__v4di)
3751 _mm256_setzero_si256 (),
3752 __M);
3753}
3754
3755static __inline__ __m128i __DEFAULT_FN_ATTRS
3756_mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B) {
3757 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
3758 (__v4si) __B,
3759 (__v4si)
3760 _mm_setzero_si128 (),
3761 __M);
3762}
3763
3764static __inline__ __m128i __DEFAULT_FN_ATTRS
3765_mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
3766 __m128i __B) {
3767 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
3768 (__v4si) __B,
3769 (__v4si) __W, __M);
3770}
3771
3772static __inline__ __m256i __DEFAULT_FN_ATTRS
3773_mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B) {
3774 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
3775 (__v8si) __B,
3776 (__v8si)
3777 _mm256_setzero_si256 (),
3778 __M);
3779}
3780
3781static __inline__ __m256i __DEFAULT_FN_ATTRS
3782_mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
3783 __m256i __B) {
3784 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
3785 (__v8si) __B,
3786 (__v8si) __W, __M);
3787}
3788
3789static __inline__ __m128i __DEFAULT_FN_ATTRS
3790_mm_min_epu64 (__m128i __A, __m128i __B) {
3791 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3792 (__v2di) __B,
3793 (__v2di)
3794 _mm_setzero_si128 (),
3795 (__mmask8) -1);
3796}
3797
3798static __inline__ __m128i __DEFAULT_FN_ATTRS
3799_mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3800 __m128i __B) {
3801 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3802 (__v2di) __B,
3803 (__v2di) __W, __M);
3804}
3805
3806static __inline__ __m128i __DEFAULT_FN_ATTRS
3807_mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3808 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3809 (__v2di) __B,
3810 (__v2di)
3811 _mm_setzero_si128 (),
3812 __M);
3813}
3814
3815static __inline__ __m256i __DEFAULT_FN_ATTRS
3816_mm256_min_epu64 (__m256i __A, __m256i __B) {
3817 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3818 (__v4di) __B,
3819 (__v4di)
3820 _mm256_setzero_si256 (),
3821 (__mmask8) -1);
3822}
3823
3824static __inline__ __m256i __DEFAULT_FN_ATTRS
3825_mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3826 __m256i __B) {
3827 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3828 (__v4di) __B,
3829 (__v4di) __W, __M);
3830}
3831
3832static __inline__ __m256i __DEFAULT_FN_ATTRS
3833_mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3834 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3835 (__v4di) __B,
3836 (__v4di)
3837 _mm256_setzero_si256 (),
3838 __M);
3839}
3840
3841#define _mm_roundscale_pd(__A, __imm) __extension__ ({ \
3842 (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, \
3843 __imm, (__v2df) _mm_setzero_pd (), (__mmask8) -1); })
3844
3845
3846#define _mm_mask_roundscale_pd(__W, __U, __A, __imm) __extension__ ({ \
3847 (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, \
3848 (__v2df) __W, (__mmask8) __U); })
3849
3850
3851#define _mm_maskz_roundscale_pd(__U, __A, __imm) __extension__ ({ \
3852 (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, \
3853 (__v2df) _mm_setzero_pd (), (__mmask8) __U); })
3854
3855
3856#define _mm256_roundscale_pd(__A, __imm) __extension__ ({ \
3857 (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \
3858 (__v4df) _mm256_setzero_pd (), (__mmask8) -1); })
3859
3860
3861#define _mm256_mask_roundscale_pd(__W, __U, __A, __imm) __extension__ ({ \
3862 (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \
3863 (__v4df) __W, (__mmask8) __U); })
3864
3865
3866#define _mm256_maskz_roundscale_pd(__U, __A, __imm) __extension__ ({ \
3867 (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \
3868 (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
3869
3870#define _mm_roundscale_ps(__A, __imm) __extension__ ({ \
3871 (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \
3872 (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
3873
3874
3875#define _mm_mask_roundscale_ps(__W, __U, __A, __imm) __extension__ ({ \
3876 (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \
3877 (__v4sf) __W, (__mmask8) __U); })
3878
3879
3880#define _mm_maskz_roundscale_ps(__U, __A, __imm) __extension__ ({ \
3881 (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \
3882 (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
3883
3884#define _mm256_roundscale_ps(__A, __imm) __extension__ ({ \
3885 (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,__imm, \
3886 (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
3887
3888#define _mm256_mask_roundscale_ps(__W, __U, __A,__imm) __extension__ ({ \
3889 (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, \
3890 (__v8sf) __W, (__mmask8) __U); })
3891
3892
3893#define _mm256_maskz_roundscale_ps(__U, __A, __imm) __extension__ ({ \
3894 (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, \
3895 (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
3896
3897static __inline__ __m128d __DEFAULT_FN_ATTRS
3898_mm_scalef_pd (__m128d __A, __m128d __B) {
3899 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3900 (__v2df) __B,
3901 (__v2df)
3902 _mm_setzero_pd (),
3903 (__mmask8) -1);
3904}
3905
3906static __inline__ __m128d __DEFAULT_FN_ATTRS
3907_mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
3908 __m128d __B) {
3909 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3910 (__v2df) __B,
3911 (__v2df) __W,
3912 (__mmask8) __U);
3913}
3914
3915static __inline__ __m128d __DEFAULT_FN_ATTRS
3916_mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3917 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3918 (__v2df) __B,
3919 (__v2df)
3920 _mm_setzero_pd (),
3921 (__mmask8) __U);
3922}
3923
3924static __inline__ __m256d __DEFAULT_FN_ATTRS
3925_mm256_scalef_pd (__m256d __A, __m256d __B) {
3926 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3927 (__v4df) __B,
3928 (__v4df)
3929 _mm256_setzero_pd (),
3930 (__mmask8) -1);
3931}
3932
3933static __inline__ __m256d __DEFAULT_FN_ATTRS
3934_mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
3935 __m256d __B) {
3936 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3937 (__v4df) __B,
3938 (__v4df) __W,
3939 (__mmask8) __U);
3940}
3941
3942static __inline__ __m256d __DEFAULT_FN_ATTRS
3943_mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3944 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3945 (__v4df) __B,
3946 (__v4df)
3947 _mm256_setzero_pd (),
3948 (__mmask8) __U);
3949}
3950
3951static __inline__ __m128 __DEFAULT_FN_ATTRS
3952_mm_scalef_ps (__m128 __A, __m128 __B) {
3953 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3954 (__v4sf) __B,
3955 (__v4sf)
3956 _mm_setzero_ps (),
3957 (__mmask8) -1);
3958}
3959
3960static __inline__ __m128 __DEFAULT_FN_ATTRS
3961_mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3962 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3963 (__v4sf) __B,
3964 (__v4sf) __W,
3965 (__mmask8) __U);
3966}
3967
3968static __inline__ __m128 __DEFAULT_FN_ATTRS
3969_mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3970 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3971 (__v4sf) __B,
3972 (__v4sf)
3973 _mm_setzero_ps (),
3974 (__mmask8) __U);
3975}
3976
3977static __inline__ __m256 __DEFAULT_FN_ATTRS
3978_mm256_scalef_ps (__m256 __A, __m256 __B) {
3979 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3980 (__v8sf) __B,
3981 (__v8sf)
3982 _mm256_setzero_ps (),
3983 (__mmask8) -1);
3984}
3985
3986static __inline__ __m256 __DEFAULT_FN_ATTRS
3987_mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
3988 __m256 __B) {
3989 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3990 (__v8sf) __B,
3991 (__v8sf) __W,
3992 (__mmask8) __U);
3993}
3994
3995static __inline__ __m256 __DEFAULT_FN_ATTRS
3996_mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3997 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3998 (__v8sf) __B,
3999 (__v8sf)
4000 _mm256_setzero_ps (),
4001 (__mmask8) __U);
4002}
4003
4004#define _mm_i64scatter_pd(__addr,__index, __v1, __scale) __extension__ ({ \
4005 __builtin_ia32_scatterdiv2df(__addr, (__mmask8) 0xFF, (__v2di) __index, \
4006 (__v2df) __v1, __scale); })
4007
4008#define _mm_mask_i64scatter_pd(__addr, __mask, __index, __v1, \
4009 __scale) __extension__ ({ \
4010 __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index, \
4011 (__v2df) __v1, __scale); })
4012
4013
4014#define _mm_i64scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \
4015 __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF, \
4016 (__v2di) __index, (__v2di) __v1, __scale); })
4017
4018#define _mm_mask_i64scatter_epi64(__addr, __mask, __index, __v1,\
4019 __scale) __extension__ ({ \
4020 __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index,\
4021 (__v2di) __v1, __scale); })
4022
4023#define _mm256_i64scatter_pd(__addr, __index, __v1, __scale) __extension__ ({ \
4024 __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF,\
4025 (__v4di) __index, (__v4df) __v1, __scale); })
4026
4027#define _mm256_mask_i64scatter_pd(__addr, __mask, __index, __v1,\
4028 __scale) __extension__ ({ \
4029 __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index,\
4030 (__v4df) __v1, __scale); })
4031
4032#define _mm256_i64scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \
4033 __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF, (__v4di) __index,\
4034 (__v4di) __v1, __scale); })
4035
4036#define _mm256_mask_i64scatter_epi64(__addr, __mask, __index, __v1,\
4037 __scale) __extension__ ({ \
4038 __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index,\
4039 (__v4di) __v1, __scale); })
4040
4041#define _mm_i64scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4042 __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF,\
4043 (__v2di) __index, (__v4sf) __v1, __scale); })
4044
4045#define _mm_mask_i64scatter_ps(__addr, __mask, __index, __v1, \
4046 __scale) __extension__ ({ \
4047 __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index,\
4048 (__v4sf) __v1, __scale); })
4049
4050#define _mm_i64scatter_epi32(__addr, __index, __v1, \
4051 __scale) __extension__ ({ \
4052 __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF,\
4053 (__v2di) __index, (__v4si) __v1, __scale); })
4054
4055#define _mm_mask_i64scatter_epi32(__addr, __mask, __index, __v1,\
4056 __scale) __extension__ ({ \
4057 __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index,\
4058 (__v4si) __v1, __scale); })
4059
4060#define _mm256_i64scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4061 __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF, (__v4di) __index, \
4062 (__v4sf) __v1, __scale); })
4063
4064#define _mm256_mask_i64scatter_ps(__addr, __mask, __index, __v1, \
4065 __scale) __extension__ ({ \
4066 __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index, \
4067 (__v4sf) __v1, __scale); })
4068
4069#define _mm256_i64scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \
4070 __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF, \
4071 (__v4di) __index, (__v4si) __v1, __scale); })
4072
4073#define _mm256_mask_i64scatter_epi32(__addr, __mask, __index, __v1, \
4074 __scale) __extension__ ({ \
4075 __builtin_ia32_scatterdiv8si(__addr, __mask, (__v4di) __index, \
4076 (__v4si) __v1, __scale); })
4077
4078#define _mm_i32scatter_pd(__addr, __index, __v1, \
4079 __scale) __extension__ ({ \
4080 __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF, \
4081 (__v4si) __index, (__v2df) __v1, __scale); })
4082
4083#define _mm_mask_i32scatter_pd(__addr, __mask, __index, __v1, \
4084 __scale) __extension__ ({ \
4085 __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index,\
4086 (__v2df) __v1, __scale); })
4087
4088#define _mm_i32scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \
4089 __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF, \
4090 (__v4si) __index, (__v2di) __v1, __scale); })
4091
4092#define _mm_mask_i32scatter_epi64(__addr, __mask, __index, __v1, \
4093 __scale) __extension__ ({ \
4094 __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index, \
4095 (__v2di) __v1, __scale); })
4096
4097#define _mm256_i32scatter_pd(__addr, __index, __v1, __scale) __extension__ ({ \
4098 __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF, \
4099 (__v4si) __index, (__v4df) __v1, __scale); })
4100
4101#define _mm256_mask_i32scatter_pd(__addr, __mask, __index, __v1, \
4102 __scale) __extension__ ({ \
4103 __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index, \
4104 (__v4df) __v1, __scale); })
4105
4106#define _mm256_i32scatter_epi64(__addr, __index, __v1, \
4107 __scale) __extension__ ({ \
4108 __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF, \
4109 (__v4si) __index, (__v4di) __v1, __scale); })
4110
4111#define _mm256_mask_i32scatter_epi64(__addr, __mask, __index, __v1, \
4112 __scale) __extension__ ({ \
4113 __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index, \
4114 (__v4di) __v1, __scale); })
4115
4116#define _mm_i32scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4117 __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF, \
4118 (__v4si) __index, (__v4sf) __v1, __scale); })
4119
4120#define _mm_mask_i32scatter_ps(__addr, __mask, __index, __v1, \
4121 __scale) __extension__ ({ \
4122 __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index, \
4123 (__v4sf) __v1, __scale); })
4124
4125#define _mm_i32scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \
4126 __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF, \
4127 (__v4si) __index, (__v4si) __v1, __scale); })
4128
4129#define _mm_mask_i32scatter_epi32(__addr, __mask, __index, __v1, \
4130 __scale) __extension__ ({ \
4131 __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index,\
4132 (__v4si) __v1, __scale); })
4133
4134#define _mm256_i32scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \
4135 __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF, \
4136 (__v8si) __index, (__v8sf) __v1, __scale); })
4137
4138#define _mm256_mask_i32scatter_ps(__addr, __mask, __index, __v1, \
4139 __scale) __extension__ ({ \
4140 __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index,\
4141 (__v8sf) __v1, __scale); })
4142
4143#define _mm256_i32scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \
4144 __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF, \
4145 (__v8si) __index, (__v8si) __v1, __scale); })
4146
4147#define _mm256_mask_i32scatter_epi32(__addr, __mask, __index, __v1, \
4148 __scale) __extension__ ({ \
4149 __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index, \
4150 (__v8si) __v1, __scale); })
4151
4152static __inline__ __m128d __DEFAULT_FN_ATTRS
4153_mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A) {
4154 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
4155 (__v2df) __W,
4156 (__mmask8) __U);
4157}
4158
4159static __inline__ __m128d __DEFAULT_FN_ATTRS
4160_mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A) {
4161 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
4162 (__v2df)
4163 _mm_setzero_pd (),
4164 (__mmask8) __U);
4165}
4166
4167static __inline__ __m256d __DEFAULT_FN_ATTRS
4168_mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A) {
4169 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
4170 (__v4df) __W,
4171 (__mmask8) __U);
4172}
4173
4174static __inline__ __m256d __DEFAULT_FN_ATTRS
4175_mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A) {
4176 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
4177 (__v4df)
4178 _mm256_setzero_pd (),
4179 (__mmask8) __U);
4180}
4181
4182static __inline__ __m128 __DEFAULT_FN_ATTRS
4183_mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A) {
4184 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
4185 (__v4sf) __W,
4186 (__mmask8) __U);
4187}
4188
4189static __inline__ __m128 __DEFAULT_FN_ATTRS
4190_mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A) {
4191 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
4192 (__v4sf)
4193 _mm_setzero_ps (),
4194 (__mmask8) __U);
4195}
4196
4197static __inline__ __m256 __DEFAULT_FN_ATTRS
4198_mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A) {
4199 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
4200 (__v8sf) __W,
4201 (__mmask8) __U);
4202}
4203
4204static __inline__ __m256 __DEFAULT_FN_ATTRS
4205_mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A) {
4206 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
4207 (__v8sf)
4208 _mm256_setzero_ps (),
4209 (__mmask8) __U);
4210}
4211
4212static __inline__ __m128d __DEFAULT_FN_ATTRS
4213_mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
4214 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
4215 (__v2df) __B,
4216 (__v2df) __W,
4217 (__mmask8) __U);
4218}
4219
4220static __inline__ __m128d __DEFAULT_FN_ATTRS
4221_mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B) {
4222 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
4223 (__v2df) __B,
4224 (__v2df)
4225 _mm_setzero_pd (),
4226 (__mmask8) __U);
4227}
4228
4229static __inline__ __m256d __DEFAULT_FN_ATTRS
4230_mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A,
4231 __m256d __B) {
4232 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
4233 (__v4df) __B,
4234 (__v4df) __W,
4235 (__mmask8) __U);
4236}
4237
4238static __inline__ __m256d __DEFAULT_FN_ATTRS
4239_mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B) {
4240 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
4241 (__v4df) __B,
4242 (__v4df)
4243 _mm256_setzero_pd (),
4244 (__mmask8) __U);
4245}
4246
4247static __inline__ __m128 __DEFAULT_FN_ATTRS
4248_mm_mask_sub_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
4249 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
4250 (__v4sf) __B,
4251 (__v4sf) __W,
4252 (__mmask8) __U);
4253}
4254
4255static __inline__ __m128 __DEFAULT_FN_ATTRS
4256_mm_maskz_sub_ps (__mmask16 __U, __m128 __A, __m128 __B) {
4257 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
4258 (__v4sf) __B,
4259 (__v4sf)
4260 _mm_setzero_ps (),
4261 (__mmask8) __U);
4262}
4263
4264static __inline__ __m256 __DEFAULT_FN_ATTRS
4265_mm256_mask_sub_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
4266 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
4267 (__v8sf) __B,
4268 (__v8sf) __W,
4269 (__mmask8) __U);
4270}
4271
4272static __inline__ __m256 __DEFAULT_FN_ATTRS
4273_mm256_maskz_sub_ps (__mmask16 __U, __m256 __A, __m256 __B) {
4274 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
4275 (__v8sf) __B,
4276 (__v8sf)
4277 _mm256_setzero_ps (),
4278 (__mmask8) __U);
4279}
4280
4281static __inline__ __m128i __DEFAULT_FN_ATTRS
4282_mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
4283 __m128i __B) {
4284 return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
4285 (__v4si) __I
4286 /* idx */ ,
4287 (__v4si) __B,
4288 (__mmask8) __U);
4289}
4290
4291static __inline__ __m256i __DEFAULT_FN_ATTRS
4292_mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
4293 __mmask8 __U, __m256i __B) {
4294 return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
4295 (__v8si) __I
4296 /* idx */ ,
4297 (__v8si) __B,
4298 (__mmask8) __U);
4299}
4300
4301static __inline__ __m128d __DEFAULT_FN_ATTRS
4302_mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
4303 __m128d __B) {
4304 return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
4305 (__v2di) __I
4306 /* idx */ ,
4307 (__v2df) __B,
4308 (__mmask8)
4309 __U);
4310}
4311
4312static __inline__ __m256d __DEFAULT_FN_ATTRS
4313_mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
4314 __m256d __B) {
4315 return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
4316 (__v4di) __I
4317 /* idx */ ,
4318 (__v4df) __B,
4319 (__mmask8)
4320 __U);
4321}
4322
4323static __inline__ __m128 __DEFAULT_FN_ATTRS
4324_mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
4325 __m128 __B) {
4326 return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
4327 (__v4si) __I
4328 /* idx */ ,
4329 (__v4sf) __B,
4330 (__mmask8) __U);
4331}
4332
4333static __inline__ __m256 __DEFAULT_FN_ATTRS
4334_mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
4335 __m256 __B) {
4336 return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
4337 (__v8si) __I
4338 /* idx */ ,
4339 (__v8sf) __B,
4340 (__mmask8) __U);
4341}
4342
4343static __inline__ __m128i __DEFAULT_FN_ATTRS
4344_mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
4345 __m128i __B) {
4346 return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
4347 (__v2di) __I
4348 /* idx */ ,
4349 (__v2di) __B,
4350 (__mmask8) __U);
4351}
4352
4353static __inline__ __m256i __DEFAULT_FN_ATTRS
4354_mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
4355 __mmask8 __U, __m256i __B) {
4356 return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
4357 (__v4di) __I
4358 /* idx */ ,
4359 (__v4di) __B,
4360 (__mmask8) __U);
4361}
4362
4363static __inline__ __m128i __DEFAULT_FN_ATTRS
4364_mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B) {
4365 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
4366 /* idx */ ,
4367 (__v4si) __A,
4368 (__v4si) __B,
4369 (__mmask8) -1);
4370}
4371
4372static __inline__ __m128i __DEFAULT_FN_ATTRS
4373_mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
4374 __m128i __B) {
4375 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
4376 /* idx */ ,
4377 (__v4si) __A,
4378 (__v4si) __B,
4379 (__mmask8) __U);
4380}
4381
4382static __inline__ __m128i __DEFAULT_FN_ATTRS
4383_mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
4384 __m128i __B) {
4385 return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
4386 /* idx */ ,
4387 (__v4si) __A,
4388 (__v4si) __B,
4389 (__mmask8)
4390 __U);
4391}
4392
4393static __inline__ __m256i __DEFAULT_FN_ATTRS
4394_mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B) {
4395 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
4396 /* idx */ ,
4397 (__v8si) __A,
4398 (__v8si) __B,
4399 (__mmask8) -1);
4400}
4401
4402static __inline__ __m256i __DEFAULT_FN_ATTRS
4403_mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
4404 __m256i __B) {
4405 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
4406 /* idx */ ,
4407 (__v8si) __A,
4408 (__v8si) __B,
4409 (__mmask8) __U);
4410}
4411
4412static __inline__ __m256i __DEFAULT_FN_ATTRS
4413_mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
4414 __m256i __I, __m256i __B) {
4415 return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
4416 /* idx */ ,
4417 (__v8si) __A,
4418 (__v8si) __B,
4419 (__mmask8)
4420 __U);
4421}
4422
4423static __inline__ __m128d __DEFAULT_FN_ATTRS
4424_mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B) {
4425 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
4426 /* idx */ ,
4427 (__v2df) __A,
4428 (__v2df) __B,
4429 (__mmask8) -
4430 1);
4431}
4432
4433static __inline__ __m128d __DEFAULT_FN_ATTRS
4434_mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
4435 __m128d __B) {
4436 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
4437 /* idx */ ,
4438 (__v2df) __A,
4439 (__v2df) __B,
4440 (__mmask8)
4441 __U);
4442}
4443
4444static __inline__ __m128d __DEFAULT_FN_ATTRS
4445_mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
4446 __m128d __B) {
4447 return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
4448 /* idx */ ,
4449 (__v2df) __A,
4450 (__v2df) __B,
4451 (__mmask8)
4452 __U);
4453}
4454
4455static __inline__ __m256d __DEFAULT_FN_ATTRS
4456_mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B) {
4457 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
4458 /* idx */ ,
4459 (__v4df) __A,
4460 (__v4df) __B,
4461 (__mmask8) -
4462 1);
4463}
4464
4465static __inline__ __m256d __DEFAULT_FN_ATTRS
4466_mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
4467 __m256d __B) {
4468 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
4469 /* idx */ ,
4470 (__v4df) __A,
4471 (__v4df) __B,
4472 (__mmask8)
4473 __U);
4474}
4475
4476static __inline__ __m256d __DEFAULT_FN_ATTRS
4477_mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
4478 __m256d __B) {
4479 return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
4480 /* idx */ ,
4481 (__v4df) __A,
4482 (__v4df) __B,
4483 (__mmask8)
4484 __U);
4485}
4486
4487static __inline__ __m128 __DEFAULT_FN_ATTRS
4488_mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B) {
4489 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
4490 /* idx */ ,
4491 (__v4sf) __A,
4492 (__v4sf) __B,
4493 (__mmask8) -1);
4494}
4495
4496static __inline__ __m128 __DEFAULT_FN_ATTRS
4497_mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
4498 __m128 __B) {
4499 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
4500 /* idx */ ,
4501 (__v4sf) __A,
4502 (__v4sf) __B,
4503 (__mmask8) __U);
4504}
4505
4506static __inline__ __m128 __DEFAULT_FN_ATTRS
4507_mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
4508 __m128 __B) {
4509 return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
4510 /* idx */ ,
4511 (__v4sf) __A,
4512 (__v4sf) __B,
4513 (__mmask8)
4514 __U);
4515}
4516
4517static __inline__ __m256 __DEFAULT_FN_ATTRS
4518_mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B) {
4519 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
4520 /* idx */ ,
4521 (__v8sf) __A,
4522 (__v8sf) __B,
4523 (__mmask8) -1);
4524}
4525
4526static __inline__ __m256 __DEFAULT_FN_ATTRS
4527_mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
4528 __m256 __B) {
4529 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
4530 /* idx */ ,
4531 (__v8sf) __A,
4532 (__v8sf) __B,
4533 (__mmask8) __U);
4534}
4535
4536static __inline__ __m256 __DEFAULT_FN_ATTRS
4537_mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
4538 __m256 __B) {
4539 return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
4540 /* idx */ ,
4541 (__v8sf) __A,
4542 (__v8sf) __B,
4543 (__mmask8)
4544 __U);
4545}
4546
4547static __inline__ __m128i __DEFAULT_FN_ATTRS
4548_mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B) {
4549 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
4550 /* idx */ ,
4551 (__v2di) __A,
4552 (__v2di) __B,
4553 (__mmask8) -1);
4554}
4555
4556static __inline__ __m128i __DEFAULT_FN_ATTRS
4557_mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
4558 __m128i __B) {
4559 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
4560 /* idx */ ,
4561 (__v2di) __A,
4562 (__v2di) __B,
4563 (__mmask8) __U);
4564}
4565
4566static __inline__ __m128i __DEFAULT_FN_ATTRS
4567_mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
4568 __m128i __B) {
4569 return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
4570 /* idx */ ,
4571 (__v2di) __A,
4572 (__v2di) __B,
4573 (__mmask8)
4574 __U);
4575}
4576
4577
4578static __inline__ __m256i __DEFAULT_FN_ATTRS
4579_mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B) {
4580 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
4581 /* idx */ ,
4582 (__v4di) __A,
4583 (__v4di) __B,
4584 (__mmask8) -1);
4585}
4586
4587static __inline__ __m256i __DEFAULT_FN_ATTRS
4588_mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
4589 __m256i __B) {
4590 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
4591 /* idx */ ,
4592 (__v4di) __A,
4593 (__v4di) __B,
4594 (__mmask8) __U);
4595}
4596
4597static __inline__ __m256i __DEFAULT_FN_ATTRS
4598_mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
4599 __m256i __I, __m256i __B) {
4600 return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
4601 /* idx */ ,
4602 (__v4di) __A,
4603 (__v4di) __B,
4604 (__mmask8)
4605 __U);
4606}
4607
4608static __inline__ __m128i __DEFAULT_FN_ATTRS
4609_mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4610{
4611 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
4612 (__v4si) __W,
4613 (__mmask8) __U);
4614}
4615
4616static __inline__ __m128i __DEFAULT_FN_ATTRS
4617_mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
4618{
4619 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
4620 (__v4si)
4621 _mm_setzero_si128 (),
4622 (__mmask8) __U);
4623}
4624
4625static __inline__ __m256i __DEFAULT_FN_ATTRS
4626_mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4627{
4628 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
4629 (__v8si) __W,
4630 (__mmask8) __U);
4631}
4632
4633static __inline__ __m256i __DEFAULT_FN_ATTRS
4634_mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
4635{
4636 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
4637 (__v8si)
4638 _mm256_setzero_si256 (),
4639 (__mmask8) __U);
4640}
4641
4642static __inline__ __m128i __DEFAULT_FN_ATTRS
4643_mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4644{
4645 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
4646 (__v2di) __W,
4647 (__mmask8) __U);
4648}
4649
4650static __inline__ __m128i __DEFAULT_FN_ATTRS
4651_mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
4652{
4653 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
4654 (__v2di)
4655 _mm_setzero_si128 (),
4656 (__mmask8) __U);
4657}
4658
4659static __inline__ __m256i __DEFAULT_FN_ATTRS
4660_mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4661{
4662 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
4663 (__v4di) __W,
4664 (__mmask8) __U);
4665}
4666
4667static __inline__ __m256i __DEFAULT_FN_ATTRS
4668_mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
4669{
4670 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
4671 (__v4di)
4672 _mm256_setzero_si256 (),
4673 (__mmask8) __U);
4674}
4675
4676static __inline__ __m128i __DEFAULT_FN_ATTRS
4677_mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
4678{
4679 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
4680 (__v2di) __W,
4681 (__mmask8) __U);
4682}
4683
4684static __inline__ __m128i __DEFAULT_FN_ATTRS
4685_mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
4686{
4687 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
4688 (__v2di)
4689 _mm_setzero_si128 (),
4690 (__mmask8) __U);
4691}
4692
4693static __inline__ __m256i __DEFAULT_FN_ATTRS
4694_mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
4695{
4696 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
4697 (__v4di) __W,
4698 (__mmask8) __U);
4699}
4700
4701static __inline__ __m256i __DEFAULT_FN_ATTRS
4702_mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
4703{
4704 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
4705 (__v4di)
4706 _mm256_setzero_si256 (),
4707 (__mmask8) __U);
4708}
4709
4710static __inline__ __m128i __DEFAULT_FN_ATTRS
4711_mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4712{
4713 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
4714 (__v4si) __W,
4715 (__mmask8) __U);
4716}
4717
4718static __inline__ __m128i __DEFAULT_FN_ATTRS
4719_mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
4720{
4721 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
4722 (__v4si)
4723 _mm_setzero_si128 (),
4724 (__mmask8) __U);
4725}
4726
4727static __inline__ __m256i __DEFAULT_FN_ATTRS
4728_mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4729{
4730 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
4731 (__v8si) __W,
4732 (__mmask8) __U);
4733}
4734
4735static __inline__ __m256i __DEFAULT_FN_ATTRS
4736_mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
4737{
4738 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
4739 (__v8si)
4740 _mm256_setzero_si256 (),
4741 (__mmask8) __U);
4742}
4743
4744static __inline__ __m128i __DEFAULT_FN_ATTRS
4745_mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4746{
4747 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
4748 (__v2di) __W,
4749 (__mmask8) __U);
4750}
4751
4752static __inline__ __m128i __DEFAULT_FN_ATTRS
4753_mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
4754{
4755 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
4756 (__v2di)
4757 _mm_setzero_si128 (),
4758 (__mmask8) __U);
4759}
4760
4761static __inline__ __m256i __DEFAULT_FN_ATTRS
4762_mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4763{
4764 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
4765 (__v4di) __W,
4766 (__mmask8) __U);
4767}
4768
4769static __inline__ __m256i __DEFAULT_FN_ATTRS
4770_mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
4771{
4772 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
4773 (__v4di)
4774 _mm256_setzero_si256 (),
4775 (__mmask8) __U);
4776}
4777
4778
4779static __inline__ __m128i __DEFAULT_FN_ATTRS
4780_mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4781{
4782 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
4783 (__v4si) __W,
4784 (__mmask8) __U);
4785}
4786
4787static __inline__ __m128i __DEFAULT_FN_ATTRS
4788_mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
4789{
4790 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
4791 (__v4si)
4792 _mm_setzero_si128 (),
4793 (__mmask8) __U);
4794}
4795
4796static __inline__ __m256i __DEFAULT_FN_ATTRS
4797_mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4798{
4799 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
4800 (__v8si) __W,
4801 (__mmask8) __U);
4802}
4803
4804static __inline__ __m256i __DEFAULT_FN_ATTRS
4805_mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
4806{
4807 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
4808 (__v8si)
4809 _mm256_setzero_si256 (),
4810 (__mmask8) __U);
4811}
4812
4813static __inline__ __m128i __DEFAULT_FN_ATTRS
4814_mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4815{
4816 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
4817 (__v2di) __W,
4818 (__mmask8) __U);
4819}
4820
4821static __inline__ __m128i __DEFAULT_FN_ATTRS
4822_mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
4823{
4824 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
4825 (__v2di)
4826 _mm_setzero_si128 (),
4827 (__mmask8) __U);
4828}
4829
4830static __inline__ __m256i __DEFAULT_FN_ATTRS
4831_mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4832{
4833 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
4834 (__v4di) __W,
4835 (__mmask8) __U);
4836}
4837
4838static __inline__ __m256i __DEFAULT_FN_ATTRS
4839_mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
4840{
4841 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
4842 (__v4di)
4843 _mm256_setzero_si256 (),
4844 (__mmask8) __U);
4845}
4846
4847static __inline__ __m128i __DEFAULT_FN_ATTRS
4848_mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
4849{
4850 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
4851 (__v2di) __W,
4852 (__mmask8) __U);
4853}
4854
4855static __inline__ __m128i __DEFAULT_FN_ATTRS
4856_mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
4857{
4858 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
4859 (__v2di)
4860 _mm_setzero_si128 (),
4861 (__mmask8) __U);
4862}
4863
4864static __inline__ __m256i __DEFAULT_FN_ATTRS
4865_mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
4866{
4867 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
4868 (__v4di) __W,
4869 (__mmask8) __U);
4870}
4871
4872static __inline__ __m256i __DEFAULT_FN_ATTRS
4873_mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
4874{
4875 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
4876 (__v4di)
4877 _mm256_setzero_si256 (),
4878 (__mmask8) __U);
4879}
4880
4881static __inline__ __m128i __DEFAULT_FN_ATTRS
4882_mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4883{
4884 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
4885 (__v4si) __W,
4886 (__mmask8) __U);
4887}
4888
4889static __inline__ __m128i __DEFAULT_FN_ATTRS
4890_mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
4891{
4892 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
4893 (__v4si)
4894 _mm_setzero_si128 (),
4895 (__mmask8) __U);
4896}
4897
4898static __inline__ __m256i __DEFAULT_FN_ATTRS
4899_mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4900{
4901 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
4902 (__v8si) __W,
4903 (__mmask8) __U);
4904}
4905
4906static __inline__ __m256i __DEFAULT_FN_ATTRS
4907_mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
4908{
4909 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
4910 (__v8si)
4911 _mm256_setzero_si256 (),
4912 (__mmask8) __U);
4913}
4914
4915static __inline__ __m128i __DEFAULT_FN_ATTRS
4916_mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4917{
4918 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
4919 (__v2di) __W,
4920 (__mmask8) __U);
4921}
4922
4923static __inline__ __m128i __DEFAULT_FN_ATTRS
4924_mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
4925{
4926 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
4927 (__v2di)
4928 _mm_setzero_si128 (),
4929 (__mmask8) __U);
4930}
4931
4932static __inline__ __m256i __DEFAULT_FN_ATTRS
4933_mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4934{
4935 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
4936 (__v4di) __W,
4937 (__mmask8) __U);
4938}
4939
4940static __inline__ __m256i __DEFAULT_FN_ATTRS
4941_mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
4942{
4943 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
4944 (__v4di)
4945 _mm256_setzero_si256 (),
4946 (__mmask8) __U);
4947}
4948
4949
4950#define _mm_rol_epi32(a, b) __extension__ ({\
4951 (__m128i)__builtin_ia32_prold128_mask((__v4si) (a), (b),\
4952 (__v4si)\
4953 _mm_setzero_si128 (),\
4954 (__mmask8) -1); })
4955
4956#define _mm_mask_rol_epi32(w, u, a, b) __extension__ ({\
4957 (__m128i)__builtin_ia32_prold128_mask((__v4si) (a), (b),\
4958 (__v4si) (w),\
4959 (__mmask8) (u)); })
4960
4961#define _mm_maskz_rol_epi32(u, a, b) __extension__ ({\
4962 (__m128i)__builtin_ia32_prold128_mask((__v4si) (a), (b),\
4963 (__v4si)\
4964 _mm_setzero_si128 (),\
4965 (__mmask8) (u)); })
4966
4967#define _mm256_rol_epi32(a, b) __extension__ ({\
4968 (__m256i)__builtin_ia32_prold256_mask((__v8si) (a), (b),\
4969 (__v8si)\
4970 _mm256_setzero_si256 (),\
4971 (__mmask8) -1); })
4972
4973#define _mm256_mask_rol_epi32(w, u, a, b) __extension__ ({\
4974 (__m256i)__builtin_ia32_prold256_mask((__v8si) (a), (b),\
4975 (__v8si) (w),\
4976 (__mmask8) (u)); })
4977
4978#define _mm256_maskz_rol_epi32(u, a, b) __extension__ ({\
4979 (__m256i)__builtin_ia32_prold256_mask((__v8si) (a), (b),\
4980 (__v8si)\
4981 _mm256_setzero_si256 (),\
4982 (__mmask8) (u)); })
4983
4984#define _mm_rol_epi64(a, b) __extension__ ({\
4985 (__m128i)__builtin_ia32_prolq128_mask((__v2di) (a), (b),\
4986 (__v2di)\
4987 _mm_setzero_di (),\
4988 (__mmask8) -1); })
4989
4990#define _mm_mask_rol_epi64(w, u, a, b) __extension__ ({\
4991 (__m128i)__builtin_ia32_prolq128_mask((__v2di) (a), (b),\
4992 (__v2di) (w),\
4993 (__mmask8) (u)); })
4994
4995#define _mm_maskz_rol_epi64(u, a, b) __extension__ ({\
4996 (__m128i)__builtin_ia32_prolq128_mask((__v2di) (a), (b),\
4997 (__v2di)\
4998 _mm_setzero_di(),\
4999 (__mmask8) (u)); })
5000
5001#define _mm256_rol_epi64(a, b) __extension__ ({\
5002 (__m256i)__builtin_ia32_prolq256_mask((__v4di) (a), (b),\
5003 (__v4di)\
5004 _mm256_setzero_si256 (),\
5005 (__mmask8) -1); })
5006
5007#define _mm256_mask_rol_epi64(w, u, a, b) __extension__ ({\
5008 (__m256i)__builtin_ia32_prolq256_mask((__v4di) (a), (b),\
5009 (__v4di) (w),\
5010 (__mmask8) (u)); })
5011
5012#define _mm256_maskz_rol_epi64(u, a, b) __extension__ ({\
5013 (__m256i)__builtin_ia32_prolq256_mask((__v4di) (a), (b),\
5014 (__v4di)\
5015 _mm256_setzero_si256 (),\
5016 (__mmask8) (u)); })
5017
5018static __inline__ __m128i __DEFAULT_FN_ATTRS
5019_mm_rolv_epi32 (__m128i __A, __m128i __B)
5020{
5021 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
5022 (__v4si) __B,
5023 (__v4si)
5024 _mm_setzero_si128 (),
5025 (__mmask8) -1);
5026}
5027
5028static __inline__ __m128i __DEFAULT_FN_ATTRS
5029_mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5030 __m128i __B)
5031{
5032 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
5033 (__v4si) __B,
5034 (__v4si) __W,
5035 (__mmask8) __U);
5036}
5037
5038static __inline__ __m128i __DEFAULT_FN_ATTRS
5039_mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5040{
5041 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
5042 (__v4si) __B,
5043 (__v4si)
5044 _mm_setzero_si128 (),
5045 (__mmask8) __U);
5046}
5047
5048static __inline__ __m256i __DEFAULT_FN_ATTRS
5049_mm256_rolv_epi32 (__m256i __A, __m256i __B)
5050{
5051 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
5052 (__v8si) __B,
5053 (__v8si)
5054 _mm256_setzero_si256 (),
5055 (__mmask8) -1);
5056}
5057
5058static __inline__ __m256i __DEFAULT_FN_ATTRS
5059_mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5060 __m256i __B)
5061{
5062 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
5063 (__v8si) __B,
5064 (__v8si) __W,
5065 (__mmask8) __U);
5066}
5067
5068static __inline__ __m256i __DEFAULT_FN_ATTRS
5069_mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5070{
5071 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
5072 (__v8si) __B,
5073 (__v8si)
5074 _mm256_setzero_si256 (),
5075 (__mmask8) __U);
5076}
5077
5078static __inline__ __m128i __DEFAULT_FN_ATTRS
5079_mm_rolv_epi64 (__m128i __A, __m128i __B)
5080{
5081 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
5082 (__v2di) __B,
5083 (__v2di)
5084 _mm_setzero_di (),
5085 (__mmask8) -1);
5086}
5087
5088static __inline__ __m128i __DEFAULT_FN_ATTRS
5089_mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5090 __m128i __B)
5091{
5092 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
5093 (__v2di) __B,
5094 (__v2di) __W,
5095 (__mmask8) __U);
5096}
5097
5098static __inline__ __m128i __DEFAULT_FN_ATTRS
5099_mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5100{
5101 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
5102 (__v2di) __B,
5103 (__v2di)
5104 _mm_setzero_di (),
5105 (__mmask8) __U);
5106}
5107
5108static __inline__ __m256i __DEFAULT_FN_ATTRS
5109_mm256_rolv_epi64 (__m256i __A, __m256i __B)
5110{
5111 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
5112 (__v4di) __B,
5113 (__v4di)
5114 _mm256_setzero_si256 (),
5115 (__mmask8) -1);
5116}
5117
5118static __inline__ __m256i __DEFAULT_FN_ATTRS
5119_mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5120 __m256i __B)
5121{
5122 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
5123 (__v4di) __B,
5124 (__v4di) __W,
5125 (__mmask8) __U);
5126}
5127
5128static __inline__ __m256i __DEFAULT_FN_ATTRS
5129_mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5130{
5131 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
5132 (__v4di) __B,
5133 (__v4di)
5134 _mm256_setzero_si256 (),
5135 (__mmask8) __U);
5136}
5137
5138#define _mm_ror_epi32( __A, __B) __extension__ ({ \
5139__builtin_ia32_prord128_mask ((__v4si)( __A),( __B),\
5140 (__v4si)\
5141 _mm_setzero_si128 (),\
5142 (__mmask8) -1);\
5143})
5144
5145#define _mm_mask_ror_epi32( __W, __U, __A ,__B) __extension__ ({ \
5146__builtin_ia32_prord128_mask ((__v4si) __A, __B,\
5147 (__v4si)( __W),\
5148 (__mmask8)( __U));\
5149})
5150
5151#define _mm_maskz_ror_epi32( __U, __A, __B) __extension__ ({ \
5152__builtin_ia32_prord128_mask ((__v4si)( __A),( __B),\
5153 (__v4si)\
5154 _mm_setzero_si128 (),\
5155 (__mmask8)( __U));\
5156})
5157
5158#define _mm256_ror_epi32( __A, __B) __extension__ ({ \
5159__builtin_ia32_prord256_mask ((__v8si)( __A),( __B),\
5160 (__v8si)\
5161 _mm256_setzero_si256 (),\
5162 (__mmask8) -1);\
5163})
5164
5165#define _mm256_mask_ror_epi32( __W, __U, __A ,__B) __extension__ ({ \
5166__builtin_ia32_prord256_mask ((__v8si) __A, __B,\
5167 (__v8si)( __W),\
5168 (__mmask8)( __U));\
5169})
5170
5171#define _mm256_maskz_ror_epi32( __U, __A, __B) __extension__ ({ \
5172__builtin_ia32_prord256_mask ((__v8si)( __A),( __B),\
5173 (__v8si)\
5174 _mm256_setzero_si256 (),\
5175 (__mmask8)( __U));\
5176})
5177
5178#define _mm_ror_epi64( __A, __B) __extension__ ({ \
5179__builtin_ia32_prorq128_mask ((__v2di)( __A),( __B),\
5180 (__v2di)\
5181 _mm_setzero_di (),\
5182 (__mmask8) -1);\
5183})
5184
5185#define _mm_mask_ror_epi64( __W, __U, __A ,__B) __extension__ ({ \
5186__builtin_ia32_prorq128_mask ((__v2di) __A, __B,\
5187 (__v2di)( __W),\
5188 (__mmask8)( __U));\
5189})
5190
5191#define _mm_maskz_ror_epi64( __U, __A, __B) __extension__ ({ \
5192__builtin_ia32_prorq128_mask ((__v2di)( __A),( __B),\
5193 (__v2di)\
5194 _mm_setzero_di (),\
5195 (__mmask8)( __U));\
5196})
5197
5198#define _mm256_ror_epi64( __A, __B) __extension__ ({ \
5199__builtin_ia32_prorq256_mask ((__v4di)( __A),( __B),\
5200 (__v4di)\
5201 _mm256_setzero_si256 (),\
5202 (__mmask8) -1);\
5203})
5204
5205#define _mm256_mask_ror_epi64( __W, __U, __A ,__B) __extension__ ({ \
5206__builtin_ia32_prorq256_mask ((__v4di) __A, __B,\
5207 (__v4di)( __W),\
5208 (__mmask8)( __U));\
5209})
5210
5211#define _mm256_maskz_ror_epi64( __U, __A, __B) __extension__ ({ \
5212__builtin_ia32_prorq256_mask ((__v4di)( __A),( __B),\
5213 (__v4di)\
5214 _mm256_setzero_si256 (),\
5215 (__mmask8)( __U));\
5216})
5217
5218static __inline__ __m128i __DEFAULT_FN_ATTRS
5219_mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5220 __m128i __B)
5221{
5222 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
5223 (__v4si) __B,
5224 (__v4si) __W,
5225 (__mmask8) __U);
5226}
5227
5228static __inline__ __m128i __DEFAULT_FN_ATTRS
5229_mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5230{
5231 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
5232 (__v4si) __B,
5233 (__v4si)
5234 _mm_setzero_si128 (),
5235 (__mmask8) __U);
5236}
5237
5238static __inline__ __m256i __DEFAULT_FN_ATTRS
5239_mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5240 __m128i __B)
5241{
5242 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
5243 (__v4si) __B,
5244 (__v8si) __W,
5245 (__mmask8) __U);
5246}
5247
5248static __inline__ __m256i __DEFAULT_FN_ATTRS
5249_mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
5250{
5251 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
5252 (__v4si) __B,
5253 (__v8si)
5254 _mm256_setzero_si256 (),
5255 (__mmask8) __U);
5256}
5257
5258#define _mm_mask_slli_epi32( __W, __U, __A, __B) __extension__ ({ \
5259__builtin_ia32_pslldi128_mask ((__v4si)( __A),( __B),\
5260 (__v4si)( __W),\
5261 (__mmask8)( __U));\
5262})
5263
5264#define _mm_maskz_slli_epi32( __U, __A, __B) __extension__ ({ \
5265__builtin_ia32_pslldi128_mask ((__v4si)( __A),( __B),\
5266 (__v4si)\
5267 _mm_setzero_si128 (),\
5268 (__mmask8)( __U));\
5269})
5270
5271#define _mm256_mask_slli_epi32( __W, __U, __A ,__B) __extension__ ({ \
5272__builtin_ia32_pslldi256_mask ((__v8si) (__A), (__B),\
5273 (__v8si)( __W),\
5274 (__mmask8)( __U));\
5275})
5276
5277#define _mm256_maskz_slli_epi32( __U, __A, __B) __extension__ ({ \
5278__builtin_ia32_pslldi256_mask ((__v8si)( __A),( __B),\
5279 (__v8si)\
5280 _mm256_setzero_si256 (),\
5281 (__mmask8)( __U));\
5282})
5283
5284static __inline__ __m128i __DEFAULT_FN_ATTRS
5285_mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5286 __m128i __B)
5287{
5288 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
5289 (__v2di) __B,
5290 (__v2di) __W,
5291 (__mmask8) __U);
5292}
5293
5294static __inline__ __m128i __DEFAULT_FN_ATTRS
5295_mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5296{
5297 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
5298 (__v2di) __B,
5299 (__v2di)
5300 _mm_setzero_di (),
5301 (__mmask8) __U);
5302}
5303
5304static __inline__ __m256i __DEFAULT_FN_ATTRS
5305_mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5306 __m128i __B)
5307{
5308 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
5309 (__v2di) __B,
5310 (__v4di) __W,
5311 (__mmask8) __U);
5312}
5313
5314static __inline__ __m256i __DEFAULT_FN_ATTRS
5315_mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
5316{
5317 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
5318 (__v2di) __B,
5319 (__v4di)
5320 _mm256_setzero_si256 (),
5321 (__mmask8) __U);
5322}
5323
5324#define _mm_mask_slli_epi64( __W, __U, __A, __B) __extension__ ({ \
5325__builtin_ia32_psllqi128_mask ((__v2di)( __A),( __B),\
5326 (__v2di)( __W),\
5327 (__mmask8)( __U));\
5328})
5329
5330#define _mm_maskz_slli_epi64( __U, __A, __B) __extension__ ({ \
5331__builtin_ia32_psllqi128_mask ((__v2di)( __A),( __B),\
5332 (__v2di)\
5333 _mm_setzero_di (),\
5334 (__mmask8)( __U));\
5335})
5336
5337#define _mm256_mask_slli_epi64( __W, __U, __A ,__B) __extension__ ({ \
5338__builtin_ia32_psllqi256_mask ((__v4di) (__A), (__B),\
5339 (__v4di)( __W),\
5340 (__mmask8)( __U));\
5341})
5342
5343#define _mm256_maskz_slli_epi64( __U, __A, __B) __extension__ ({ \
5344__builtin_ia32_psllqi256_mask ((__v4di)( __A),( __B),\
5345 (__v4di)\
5346 _mm256_setzero_si256 (),\
5347 (__mmask8)( __U));\
5348})
5349
5350
5351static __inline__ __m128i __DEFAULT_FN_ATTRS
5352_mm_rorv_epi32 (__m128i __A, __m128i __B)
5353{
5354 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
5355 (__v4si) __B,
5356 (__v4si)
5357 _mm_setzero_si128 (),
5358 (__mmask8) -1);
5359}
5360
5361static __inline__ __m128i __DEFAULT_FN_ATTRS
5362_mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5363 __m128i __B)
5364{
5365 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
5366 (__v4si) __B,
5367 (__v4si) __W,
5368 (__mmask8) __U);
5369}
5370
5371static __inline__ __m128i __DEFAULT_FN_ATTRS
5372_mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5373{
5374 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
5375 (__v4si) __B,
5376 (__v4si)
5377 _mm_setzero_si128 (),
5378 (__mmask8) __U);
5379}
5380
5381static __inline__ __m256i __DEFAULT_FN_ATTRS
5382_mm256_rorv_epi32 (__m256i __A, __m256i __B)
5383{
5384 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
5385 (__v8si) __B,
5386 (__v8si)
5387 _mm256_setzero_si256 (),
5388 (__mmask8) -1);
5389}
5390
5391static __inline__ __m256i __DEFAULT_FN_ATTRS
5392_mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5393 __m256i __B)
5394{
5395 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
5396 (__v8si) __B,
5397 (__v8si) __W,
5398 (__mmask8) __U);
5399}
5400
5401static __inline__ __m256i __DEFAULT_FN_ATTRS
5402_mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5403{
5404 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
5405 (__v8si) __B,
5406 (__v8si)
5407 _mm256_setzero_si256 (),
5408 (__mmask8) __U);
5409}
5410
5411static __inline__ __m128i __DEFAULT_FN_ATTRS
5412_mm_rorv_epi64 (__m128i __A, __m128i __B)
5413{
5414 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
5415 (__v2di) __B,
5416 (__v2di)
5417 _mm_setzero_di (),
5418 (__mmask8) -1);
5419}
5420
5421static __inline__ __m128i __DEFAULT_FN_ATTRS
5422_mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5423 __m128i __B)
5424{
5425 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
5426 (__v2di) __B,
5427 (__v2di) __W,
5428 (__mmask8) __U);
5429}
5430
5431static __inline__ __m128i __DEFAULT_FN_ATTRS
5432_mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5433{
5434 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
5435 (__v2di) __B,
5436 (__v2di)
5437 _mm_setzero_di (),
5438 (__mmask8) __U);
5439}
5440
5441static __inline__ __m256i __DEFAULT_FN_ATTRS
5442_mm256_rorv_epi64 (__m256i __A, __m256i __B)
5443{
5444 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
5445 (__v4di) __B,
5446 (__v4di)
5447 _mm256_setzero_si256 (),
5448 (__mmask8) -1);
5449}
5450
5451static __inline__ __m256i __DEFAULT_FN_ATTRS
5452_mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5453 __m256i __B)
5454{
5455 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
5456 (__v4di) __B,
5457 (__v4di) __W,
5458 (__mmask8) __U);
5459}
5460
5461static __inline__ __m256i __DEFAULT_FN_ATTRS
5462_mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5463{
5464 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
5465 (__v4di) __B,
5466 (__v4di)
5467 _mm256_setzero_si256 (),
5468 (__mmask8) __U);
5469}
5470
5471static __inline__ __m128i __DEFAULT_FN_ATTRS
5472_mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
5473 __m128i __Y)
5474{
5475 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
5476 (__v2di) __Y,
5477 (__v2di) __W,
5478 (__mmask8) __U);
5479}
5480
5481static __inline__ __m128i __DEFAULT_FN_ATTRS
5482_mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
5483{
5484 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
5485 (__v2di) __Y,
5486 (__v2di)
5487 _mm_setzero_di (),
5488 (__mmask8) __U);
5489}
5490
5491static __inline__ __m256i __DEFAULT_FN_ATTRS
5492_mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
5493 __m256i __Y)
5494{
5495 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
5496 (__v4di) __Y,
5497 (__v4di) __W,
5498 (__mmask8) __U);
5499}
5500
5501static __inline__ __m256i __DEFAULT_FN_ATTRS
5502_mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
5503{
5504 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
5505 (__v4di) __Y,
5506 (__v4di)
5507 _mm256_setzero_si256 (),
5508 (__mmask8) __U);
5509}
5510
5511static __inline__ __m128i __DEFAULT_FN_ATTRS
5512_mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
5513 __m128i __Y)
5514{
5515 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
5516 (__v4si) __Y,
5517 (__v4si) __W,
5518 (__mmask8) __U);
5519}
5520
5521static __inline__ __m128i __DEFAULT_FN_ATTRS
5522_mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
5523{
5524 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
5525 (__v4si) __Y,
5526 (__v4si)
5527 _mm_setzero_si128 (),
5528 (__mmask8) __U);
5529}
5530
5531static __inline__ __m256i __DEFAULT_FN_ATTRS
5532_mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
5533 __m256i __Y)
5534{
5535 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
5536 (__v8si) __Y,
5537 (__v8si) __W,
5538 (__mmask8) __U);
5539}
5540
5541static __inline__ __m256i __DEFAULT_FN_ATTRS
5542_mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
5543{
5544 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
5545 (__v8si) __Y,
5546 (__v8si)
5547 _mm256_setzero_si256 (),
5548 (__mmask8) __U);
5549}
5550
5551
5552
5553static __inline__ __m128i __DEFAULT_FN_ATTRS
5554_mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
5555 __m128i __Y)
5556{
5557 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
5558 (__v2di) __Y,
5559 (__v2di) __W,
5560 (__mmask8) __U);
5561}
5562
5563static __inline__ __m128i __DEFAULT_FN_ATTRS
5564_mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
5565{
5566 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
5567 (__v2di) __Y,
5568 (__v2di)
5569 _mm_setzero_di (),
5570 (__mmask8) __U);
5571}
5572
5573static __inline__ __m256i __DEFAULT_FN_ATTRS
5574_mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
5575 __m256i __Y)
5576{
5577 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
5578 (__v4di) __Y,
5579 (__v4di) __W,
5580 (__mmask8) __U);
5581}
5582
5583static __inline__ __m256i __DEFAULT_FN_ATTRS
5584_mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
5585{
5586 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
5587 (__v4di) __Y,
5588 (__v4di)
5589 _mm256_setzero_si256 (),
5590 (__mmask8) __U);
5591}
5592
5593static __inline__ __m128i __DEFAULT_FN_ATTRS
5594_mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
5595 __m128i __Y)
5596{
5597 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
5598 (__v4si) __Y,
5599 (__v4si) __W,
5600 (__mmask8) __U);
5601}
5602
5603static __inline__ __m128i __DEFAULT_FN_ATTRS
5604_mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
5605{
5606 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
5607 (__v4si) __Y,
5608 (__v4si)
5609 _mm_setzero_si128 (),
5610 (__mmask8) __U);
5611}
5612
5613static __inline__ __m256i __DEFAULT_FN_ATTRS
5614_mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
5615 __m256i __Y)
5616{
5617 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
5618 (__v8si) __Y,
5619 (__v8si) __W,
5620 (__mmask8) __U);
5621}
5622
5623static __inline__ __m256i __DEFAULT_FN_ATTRS
5624_mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
5625{
5626 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
5627 (__v8si) __Y,
5628 (__v8si)
5629 _mm256_setzero_si256 (),
5630 (__mmask8) __U);
5631}
5632
5633
5634
5635static __inline__ __m128i __DEFAULT_FN_ATTRS
5636_mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5637 __m128i __B)
5638{
5639 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
5640 (__v4si) __B,
5641 (__v4si) __W,
5642 (__mmask8) __U);
5643}
5644
5645static __inline__ __m128i __DEFAULT_FN_ATTRS
5646_mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5647{
5648 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
5649 (__v4si) __B,
5650 (__v4si)
5651 _mm_setzero_si128 (),
5652 (__mmask8) __U);
5653}
5654
5655static __inline__ __m256i __DEFAULT_FN_ATTRS
5656_mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5657 __m128i __B)
5658{
5659 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
5660 (__v4si) __B,
5661 (__v8si) __W,
5662 (__mmask8) __U);
5663}
5664
5665static __inline__ __m256i __DEFAULT_FN_ATTRS
5666_mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
5667{
5668 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
5669 (__v4si) __B,
5670 (__v8si)
5671 _mm256_setzero_si256 (),
5672 (__mmask8) __U);
5673}
5674
5675#define _mm_mask_srli_epi32( __W, __U, __A, __imm) __extension__ ({ \
5676__builtin_ia32_psrldi128_mask ((__v4si)( __A),( __imm),\
5677 (__v4si)( __W),\
5678 (__mmask8)( __U));\
5679})
5680
5681#define _mm_maskz_srli_epi32( __U, __A, __imm) __extension__ ({ \
5682__builtin_ia32_psrldi128_mask ((__v4si)( __A),( __imm),\
5683 (__v4si)\
5684 _mm_setzero_si128 (),\
5685 (__mmask8)( __U));\
5686})
5687
5688#define _mm256_mask_srli_epi32( __W, __U, __A, __imm) __extension__ ({ \
5689__builtin_ia32_psrldi256_mask ((__v8si)( __A),( __imm),\
5690 (__v8si)( __W),\
5691 (__mmask8)( __U));\
5692})
5693
5694#define _mm256_maskz_srli_epi32( __U, __A, __imm) __extension__ ({ \
5695__builtin_ia32_psrldi256_mask ((__v8si)( __A),( __imm),\
5696 (__v8si)\
5697 _mm256_setzero_si256 (),\
5698 (__mmask8)( __U));\
5699})
5700
5701static __inline__ __m128i __DEFAULT_FN_ATTRS
5702_mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5703 __m128i __B)
5704{
5705 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
5706 (__v2di) __B,
5707 (__v2di) __W,
5708 (__mmask8) __U);
5709}
5710
5711static __inline__ __m128i __DEFAULT_FN_ATTRS
5712_mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5713{
5714 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
5715 (__v2di) __B,
5716 (__v2di)
5717 _mm_setzero_di (),
5718 (__mmask8) __U);
5719}
5720
5721static __inline__ __m256i __DEFAULT_FN_ATTRS
5722_mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5723 __m128i __B)
5724{
5725 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
5726 (__v2di) __B,
5727 (__v4di) __W,
5728 (__mmask8) __U);
5729}
5730
5731static __inline__ __m256i __DEFAULT_FN_ATTRS
5732_mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
5733{
5734 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
5735 (__v2di) __B,
5736 (__v4di)
5737 _mm256_setzero_si256 (),
5738 (__mmask8) __U);
5739}
5740
5741#define _mm_mask_srli_epi64( __W, __U, __A, __imm) __extension__ ({ \
5742__builtin_ia32_psrlqi128_mask ((__v2di)( __A),( __imm),\
5743 (__v2di)( __W),\
5744 (__mmask8)( __U));\
5745})
5746
5747#define _mm_maskz_srli_epi64( __U, __A, __imm) __extension__ ({ \
5748__builtin_ia32_psrlqi128_mask ((__v2di)( __A),( __imm),\
5749 (__v2di)\
5750 _mm_setzero_si128 (),\
5751 (__mmask8)( __U));\
5752})
5753
5754#define _mm256_mask_srli_epi64( __W, __U, __A, __imm) __extension__ ({ \
5755__builtin_ia32_psrlqi256_mask ((__v4di)( __A),( __imm),\
5756 (__v4di)( __W),\
5757 (__mmask8)( __U));\
5758})
5759
5760#define _mm256_maskz_srli_epi64( __U, __A, __imm) __extension__ ({ \
5761__builtin_ia32_psrlqi256_mask ((__v4di)( __A),( __imm),\
5762 (__v4di)\
5763 _mm256_setzero_si256 (),\
5764 (__mmask8)( __U));\
5765})
5766
5767static __inline__ __m128i __DEFAULT_FN_ATTRS
5768_mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
5769 __m128i __Y)
5770{
5771 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
5772 (__v4si) __Y,
5773 (__v4si) __W,
5774 (__mmask8) __U);
5775}
5776
5777static __inline__ __m128i __DEFAULT_FN_ATTRS
5778_mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
5779{
5780 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
5781 (__v4si) __Y,
5782 (__v4si)
5783 _mm_setzero_si128 (),
5784 (__mmask8) __U);
5785}
5786
5787static __inline__ __m256i __DEFAULT_FN_ATTRS
5788_mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
5789 __m256i __Y)
5790{
5791 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
5792 (__v8si) __Y,
5793 (__v8si) __W,
5794 (__mmask8) __U);
5795}
5796
5797static __inline__ __m256i __DEFAULT_FN_ATTRS
5798_mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
5799{
5800 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
5801 (__v8si) __Y,
5802 (__v8si)
5803 _mm256_setzero_si256 (),
5804 (__mmask8) __U);
5805}
5806
5807static __inline__ __m128i __DEFAULT_FN_ATTRS
5808_mm_srav_epi64 (__m128i __X, __m128i __Y)
5809{
5810 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
5811 (__v2di) __Y,
5812 (__v2di)
5813 _mm_setzero_di (),
5814 (__mmask8) -1);
5815}
5816
5817static __inline__ __m128i __DEFAULT_FN_ATTRS
5818_mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
5819 __m128i __Y)
5820{
5821 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
5822 (__v2di) __Y,
5823 (__v2di) __W,
5824 (__mmask8) __U);
5825}
5826
5827static __inline__ __m128i __DEFAULT_FN_ATTRS
5828_mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
5829{
5830 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
5831 (__v2di) __Y,
5832 (__v2di)
5833 _mm_setzero_di (),
5834 (__mmask8) __U);
5835}
5836
5837static __inline__ __m256i __DEFAULT_FN_ATTRS
5838_mm256_srav_epi64 (__m256i __X, __m256i __Y)
5839{
5840 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
5841 (__v4di) __Y,
5842 (__v4di)
5843 _mm256_setzero_si256 (),
5844 (__mmask8) -1);
5845}
5846
5847static __inline__ __m256i __DEFAULT_FN_ATTRS
5848_mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
5849 __m256i __Y)
5850{
5851 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
5852 (__v4di) __Y,
5853 (__v4di) __W,
5854 (__mmask8) __U);
5855}
5856
5857static __inline__ __m256i __DEFAULT_FN_ATTRS
5858_mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
5859{
5860 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
5861 (__v4di) __Y,
5862 (__v4di)
5863 _mm256_setzero_si256 (),
5864 (__mmask8) __U);
5865}
5866
5867
5868
5869static __inline__ void __DEFAULT_FN_ATTRS
5870_mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A)
5871{
5872 __builtin_ia32_movdqa32store128_mask ((__v4si *) __P,
5873 (__v4si) __A,
5874 (__mmask8) __U);
5875}
5876
5877static __inline__ void __DEFAULT_FN_ATTRS
5878_mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A)
5879{
5880 __builtin_ia32_movdqa32store256_mask ((__v8si *) __P,
5881 (__v8si) __A,
5882 (__mmask8) __U);
5883}
5884
5885static __inline__ __m128i __DEFAULT_FN_ATTRS
5886_mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
5887{
5888 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
5889 (__v2di) __W,
5890 (__mmask8) __U);
5891}
5892
5893static __inline__ __m128i __DEFAULT_FN_ATTRS
5894_mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A)
5895{
5896 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
5897 (__v2di)
5898 _mm_setzero_di (),
5899 (__mmask8) __U);
5900}
5901
5902static __inline__ __m256i __DEFAULT_FN_ATTRS
5903_mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
5904{
5905 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
5906 (__v4di) __W,
5907 (__mmask8) __U);
5908}
5909
5910static __inline__ __m256i __DEFAULT_FN_ATTRS
5911_mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A)
5912{
5913 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
5914 (__v4di)
5915 _mm256_setzero_si256 (),
5916 (__mmask8) __U);
5917}
5918
5919static __inline__ __m128i __DEFAULT_FN_ATTRS
5920_mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P)
5921{
5922 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
5923 (__v2di) __W,
5924 (__mmask8)
5925 __U);
5926}
5927
5928static __inline__ __m128i __DEFAULT_FN_ATTRS
5929_mm_maskz_load_epi64 (__mmask8 __U, void const *__P)
5930{
5931 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
5932 (__v2di)
5933 _mm_setzero_di (),
5934 (__mmask8)
5935 __U);
5936}
5937
5938static __inline__ __m256i __DEFAULT_FN_ATTRS
5939_mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P)
5940{
5941 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
5942 (__v4di) __W,
5943 (__mmask8)
5944 __U);
5945}
5946
5947static __inline__ __m256i __DEFAULT_FN_ATTRS
5948_mm256_maskz_load_epi64 (__mmask8 __U, void const *__P)
5949{
5950 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
5951 (__v4di)
5952 _mm256_setzero_si256 (),
5953 (__mmask8)
5954 __U);
5955}
5956
5957static __inline__ void __DEFAULT_FN_ATTRS
5958_mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A)
5959{
5960 __builtin_ia32_movdqa64store128_mask ((__v2di *) __P,
5961 (__v2di) __A,
5962 (__mmask8) __U);
5963}
5964
5965static __inline__ void __DEFAULT_FN_ATTRS
5966_mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A)
5967{
5968 __builtin_ia32_movdqa64store256_mask ((__v4di *) __P,
5969 (__v4di) __A,
5970 (__mmask8) __U);
5971}
5972
5973static __inline__ __m128d __DEFAULT_FN_ATTRS
5974_mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
5975{
5976 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5977 (__v2df) __W,
5978 (__mmask8) __U);
5979}
5980
5981static __inline__ __m128d __DEFAULT_FN_ATTRS
5982_mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
5983{
5984 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
5985 (__v2df)
5986 _mm_setzero_pd (),
5987 (__mmask8) __U);
5988}
5989
5990static __inline__ __m256d __DEFAULT_FN_ATTRS
5991_mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
5992{
5993 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
5994 (__v4df) __W,
5995 (__mmask8) __U);
5996}
5997
5998static __inline__ __m256d __DEFAULT_FN_ATTRS
5999_mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
6000{
6001 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
6002 (__v4df)
6003 _mm256_setzero_pd (),
6004 (__mmask8) __U);
6005}
6006
6007
6008#define _mm_mask_set1_epi32( __O, __M, __A) __extension__ ({ \
6009__builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si)( __O),\
6010 ( __M));\
6011})
6012
6013#define _mm_maskz_set1_epi32( __M, __A) __extension__ ({ \
6014__builtin_ia32_pbroadcastd128_gpr_mask (__A,\
6015 (__v4si)\
6016 _mm_setzero_si128 (),\
6017 ( __M));\
6018})
6019
6020#define _mm256_mask_set1_epi32( __O, __M, __A) __extension__ ({ \
6021__builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si)( __O),\
6022 ( __M));\
6023})
6024
6025#define _mm256_maskz_set1_epi32( __M, __A) __extension__ ({ \
6026__builtin_ia32_pbroadcastd256_gpr_mask (__A,\
6027 (__v8si)\
6028 _mm256_setzero_si256 (),\
6029 ( __M));\
6030})
6031
6032static __inline__ __m128i __DEFAULT_FN_ATTRS
6033_mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
6034{
6035 return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O,
6036 __M);
6037}
6038
6039static __inline__ __m128i __DEFAULT_FN_ATTRS
6040_mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
6041{
6042 return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A,
6043 (__v2di)
6044 _mm_setzero_si128 (),
6045 __M);
6046}
6047
6048static __inline__ __m256i __DEFAULT_FN_ATTRS
6049_mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
6050{
6051 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O,
6052 __M);
6053}
6054
6055static __inline__ __m256i __DEFAULT_FN_ATTRS
6056_mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
6057{
6058 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A,
6059 (__v4di)
6060 _mm256_setzero_si256 (),
6061 __M);
6062}
6063
6064#define _mm_fixupimm_pd( __A, __B, __C, __imm) __extension__ ({ \
6065__builtin_ia32_fixupimmpd128_mask ((__v2df)( __A),\
6066 (__v2df)( __B),\
6067 (__v2di)( __C),\
6068 ( __imm),\
6069 (__mmask8) -1);\
6070})
6071
6072#define _mm_mask_fixupimm_pd( __A, __U, __B, __C, __imm) __extension__ ({ \
6073__builtin_ia32_fixupimmpd128_mask ((__v2df)( __A),\
6074 (__v2df)( __B),\
6075 (__v2di)( __C),\
6076 ( __imm),\
6077 (__mmask8)( __U));\
6078})
6079
6080#define _mm_maskz_fixupimm_pd( __U, __A, __B, __C, __imm) __extension__ ({ \
6081__builtin_ia32_fixupimmpd128_maskz ((__v2df)( __A),\
6082 (__v2df)( __B),\
6083 (__v2di)( __C),\
6084 ( __imm),\
6085 (__mmask8)( __U));\
6086})
6087
6088#define _mm256_fixupimm_pd( __A, __B, __C, __imm) __extension__ ({ \
6089__builtin_ia32_fixupimmpd256_mask ((__v4df)( __A),\
6090 (__v4df)( __B),\
6091 (__v4di)( __C),\
6092 ( __imm),\
6093 (__mmask8) -1);\
6094})
6095
6096#define _mm256_mask_fixupimm_pd( __A, __U, __B, __C, __imm) __extension__ ({ \
6097__builtin_ia32_fixupimmpd256_mask ((__v4df)( __A),\
6098 (__v4df)( __B),\
6099 (__v4di)( __C),\
6100 ( __imm),\
6101 (__mmask8)( __U));\
6102})
6103
6104#define _mm256_maskz_fixupimm_pd( __U, __A, __B, __C, __imm) __extension__ ({ \
6105__builtin_ia32_fixupimmpd256_maskz ((__v4df)( __A),\
6106 (__v4df)( __B),\
6107 (__v4di)( __C),\
6108 ( __imm),\
6109 (__mmask8)( __U));\
6110})
6111
6112#define _mm_fixupimm_ps( __A, __B, __C, __imm) __extension__ ({ \
6113__builtin_ia32_fixupimmps128_mask ((__v4sf)( __A),\
6114 (__v4sf)( __B),\
6115 (__v4si)( __C),\
6116 ( __imm),\
6117 (__mmask8) -1);\
6118})
6119
6120#define _mm_mask_fixupimm_ps( __A, __U, __B, __C, __imm) __extension__ ({ \
6121__builtin_ia32_fixupimmps128_mask ((__v4sf)( __A),\
6122 (__v4sf)( __B),\
6123 (__v4si)( __C),\
6124 ( __imm),\
6125 (__mmask8)( __U));\
6126})
6127
6128#define _mm_maskz_fixupimm_ps( __U, __A, __B, __C, __imm) __extension__ ({ \
6129__builtin_ia32_fixupimmps128_maskz ((__v4sf)( __A),\
6130 (__v4sf)( __B),\
6131 (__v4si)( __C),\
6132 ( __imm),\
6133 (__mmask8)( __U));\
6134})
6135
6136#define _mm256_fixupimm_ps( __A, __B, __C, __imm) __extension__ ({ \
6137__builtin_ia32_fixupimmps256_mask ((__v8sf)( __A),\
6138 (__v8sf)( __B),\
6139 (__v8si)( __C),\
6140 ( __imm),\
6141 (__mmask8) -1);\
6142})
6143
6144#define _mm256_mask_fixupimm_ps( __A, __U, __B, __C, __imm) __extension__ ({ \
6145__builtin_ia32_fixupimmps256_mask ((__v8sf)( __A),\
6146 (__v8sf)( __B),\
6147 (__v8si)( __C),\
6148 ( __imm),\
6149 (__mmask8)( __U));\
6150})
6151
6152#define _mm256_maskz_fixupimm_ps( __U, __A, __B, __C, __imm) __extension__ ({ \
6153__builtin_ia32_fixupimmps256_maskz ((__v8sf)( __A),\
6154 (__v8sf)( __B),\
6155 (__v8si)( __C),\
6156 ( __imm),\
6157 (__mmask8)( __U));\
6158})
6159
6160static __inline__ __m128d __DEFAULT_FN_ATTRS
6161_mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P)
6162{
6163 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
6164 (__v2df) __W,
6165 (__mmask8) __U);
6166}
6167
6168static __inline__ __m128d __DEFAULT_FN_ATTRS
6169_mm_maskz_load_pd (__mmask8 __U, void const *__P)
6170{
6171 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
6172 (__v2df)
6173 _mm_setzero_pd (),
6174 (__mmask8) __U);
6175}
6176
6177static __inline__ __m256d __DEFAULT_FN_ATTRS
6178_mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P)
6179{
6180 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
6181 (__v4df) __W,
6182 (__mmask8) __U);
6183}
6184
6185static __inline__ __m256d __DEFAULT_FN_ATTRS
6186_mm256_maskz_load_pd (__mmask8 __U, void const *__P)
6187{
6188 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
6189 (__v4df)
6190 _mm256_setzero_pd (),
6191 (__mmask8) __U);
6192}
6193
6194static __inline__ __m128 __DEFAULT_FN_ATTRS
6195_mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P)
6196{
6197 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
6198 (__v4sf) __W,
6199 (__mmask8) __U);
6200}
6201
6202static __inline__ __m128 __DEFAULT_FN_ATTRS
6203_mm_maskz_load_ps (__mmask8 __U, void const *__P)
6204{
6205 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
6206 (__v4sf)
6207 _mm_setzero_ps (),
6208 (__mmask8) __U);
6209}
6210
6211static __inline__ __m256 __DEFAULT_FN_ATTRS
6212_mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P)
6213{
6214 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
6215 (__v8sf) __W,
6216 (__mmask8) __U);
6217}
6218
6219static __inline__ __m256 __DEFAULT_FN_ATTRS
6220_mm256_maskz_load_ps (__mmask8 __U, void const *__P)
6221{
6222 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
6223 (__v8sf)
6224 _mm256_setzero_ps (),
6225 (__mmask8) __U);
6226}
6227
6228static __inline__ __m128i __DEFAULT_FN_ATTRS
6229_mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
6230{
6231 return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
6232 (__v2di) __W,
6233 (__mmask8) __U);
6234}
6235
6236static __inline__ __m128i __DEFAULT_FN_ATTRS
6237_mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
6238{
6239 return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
6240 (__v2di)
6241 _mm_setzero_si128 (),
6242 (__mmask8) __U);
6243}
6244
6245static __inline__ __m256i __DEFAULT_FN_ATTRS
6246_mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P)
6247{
6248 return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
6249 (__v4di) __W,
6250 (__mmask8) __U);
6251}
6252
6253static __inline__ __m256i __DEFAULT_FN_ATTRS
6254_mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
6255{
6256 return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
6257 (__v4di)
6258 _mm256_setzero_si256 (),
6259 (__mmask8) __U);
6260}
6261
6262static __inline__ __m128i __DEFAULT_FN_ATTRS
6263_mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
6264{
6265 return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
6266 (__v4si) __W,
6267 (__mmask8) __U);
6268}
6269
6270static __inline__ __m128i __DEFAULT_FN_ATTRS
6271_mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
6272{
6273 return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
6274 (__v4si)
6275 _mm_setzero_si128 (),
6276 (__mmask8) __U);
6277}
6278
6279static __inline__ __m256i __DEFAULT_FN_ATTRS
6280_mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
6281{
6282 return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
6283 (__v8si) __W,
6284 (__mmask8) __U);
6285}
6286
6287static __inline__ __m256i __DEFAULT_FN_ATTRS
6288_mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
6289{
6290 return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
6291 (__v8si)
6292 _mm256_setzero_si256 (),
6293 (__mmask8) __U);
6294}
6295
6296static __inline__ __m128d __DEFAULT_FN_ATTRS
6297_mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P)
6298{
6299 return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
6300 (__v2df) __W,
6301 (__mmask8) __U);
6302}
6303
6304static __inline__ __m128d __DEFAULT_FN_ATTRS
6305_mm_maskz_loadu_pd (__mmask8 __U, void const *__P)
6306{
6307 return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
6308 (__v2df)
6309 _mm_setzero_pd (),
6310 (__mmask8) __U);
6311}
6312
6313static __inline__ __m256d __DEFAULT_FN_ATTRS
6314_mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P)
6315{
6316 return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
6317 (__v4df) __W,
6318 (__mmask8) __U);
6319}
6320
6321static __inline__ __m256d __DEFAULT_FN_ATTRS
6322_mm256_maskz_loadu_pd (__mmask8 __U, void const *__P)
6323{
6324 return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
6325 (__v4df)
6326 _mm256_setzero_pd (),
6327 (__mmask8) __U);
6328}
6329
6330static __inline__ __m128 __DEFAULT_FN_ATTRS
6331_mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P)
6332{
6333 return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
6334 (__v4sf) __W,
6335 (__mmask8) __U);
6336}
6337
6338static __inline__ __m128 __DEFAULT_FN_ATTRS
6339_mm_maskz_loadu_ps (__mmask8 __U, void const *__P)
6340{
6341 return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
6342 (__v4sf)
6343 _mm_setzero_ps (),
6344 (__mmask8) __U);
6345}
6346
6347static __inline__ __m256 __DEFAULT_FN_ATTRS
6348_mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P)
6349{
6350 return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
6351 (__v8sf) __W,
6352 (__mmask8) __U);
6353}
6354
6355static __inline__ __m256 __DEFAULT_FN_ATTRS
6356_mm256_maskz_loadu_ps (__mmask8 __U, void const *__P)
6357{
6358 return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
6359 (__v8sf)
6360 _mm256_setzero_ps (),
6361 (__mmask8) __U);
6362}
Ben Murdoch61f157c2016-09-16 13:49:30 +01006363
6364static __inline__ void __DEFAULT_FN_ATTRS
6365_mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A)
6366{
6367 __builtin_ia32_storeapd128_mask ((__v2df *) __P,
6368 (__v2df) __A,
6369 (__mmask8) __U);
6370}
6371
6372static __inline__ void __DEFAULT_FN_ATTRS
6373_mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A)
6374{
6375 __builtin_ia32_storeapd256_mask ((__v4df *) __P,
6376 (__v4df) __A,
6377 (__mmask8) __U);
6378}
6379
6380static __inline__ void __DEFAULT_FN_ATTRS
6381_mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A)
6382{
6383 __builtin_ia32_storeaps128_mask ((__v4sf *) __P,
6384 (__v4sf) __A,
6385 (__mmask8) __U);
6386}
6387
6388static __inline__ void __DEFAULT_FN_ATTRS
6389_mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A)
6390{
6391 __builtin_ia32_storeaps256_mask ((__v8sf *) __P,
6392 (__v8sf) __A,
6393 (__mmask8) __U);
6394}
6395
6396static __inline__ void __DEFAULT_FN_ATTRS
6397_mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A)
6398{
6399 __builtin_ia32_storedqudi128_mask ((__v2di *) __P,
6400 (__v2di) __A,
6401 (__mmask8) __U);
6402}
6403
6404static __inline__ void __DEFAULT_FN_ATTRS
6405_mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A)
6406{
6407 __builtin_ia32_storedqudi256_mask ((__v4di *) __P,
6408 (__v4di) __A,
6409 (__mmask8) __U);
6410}
6411
6412static __inline__ void __DEFAULT_FN_ATTRS
6413_mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A)
6414{
6415 __builtin_ia32_storedqusi128_mask ((__v4si *) __P,
6416 (__v4si) __A,
6417 (__mmask8) __U);
6418}
6419
6420static __inline__ void __DEFAULT_FN_ATTRS
6421_mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A)
6422{
6423 __builtin_ia32_storedqusi256_mask ((__v8si *) __P,
6424 (__v8si) __A,
6425 (__mmask8) __U);
6426}
6427
6428static __inline__ void __DEFAULT_FN_ATTRS
6429_mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A)
6430{
6431 __builtin_ia32_storeupd128_mask ((__v2df *) __P,
6432 (__v2df) __A,
6433 (__mmask8) __U);
6434}
6435
6436static __inline__ void __DEFAULT_FN_ATTRS
6437_mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A)
6438{
6439 __builtin_ia32_storeupd256_mask ((__v4df *) __P,
6440 (__v4df) __A,
6441 (__mmask8) __U);
6442}
6443
6444static __inline__ void __DEFAULT_FN_ATTRS
6445_mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A)
6446{
6447 __builtin_ia32_storeups128_mask ((__v4sf *) __P,
6448 (__v4sf) __A,
6449 (__mmask8) __U);
6450}
6451
6452static __inline__ void __DEFAULT_FN_ATTRS
6453_mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A)
6454{
6455 __builtin_ia32_storeups256_mask ((__v8sf *) __P,
6456 (__v8sf) __A,
6457 (__mmask8) __U);
6458}
6459
6460
6461static __inline__ __m128d __DEFAULT_FN_ATTRS
6462_mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A,
6463 __m128d __B)
6464{
6465 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
6466 (__v2df) __B,
6467 (__v2df) __W,
6468 (__mmask8) __U);
6469}
6470
6471static __inline__ __m128d __DEFAULT_FN_ATTRS
6472_mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B)
6473{
6474 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
6475 (__v2df) __B,
6476 (__v2df)
6477 _mm_setzero_pd (),
6478 (__mmask8) __U);
6479}
6480
6481static __inline__ __m256d __DEFAULT_FN_ATTRS
6482_mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A,
6483 __m256d __B)
6484{
6485 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
6486 (__v4df) __B,
6487 (__v4df) __W,
6488 (__mmask8) __U);
6489}
6490
6491static __inline__ __m256d __DEFAULT_FN_ATTRS
6492_mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B)
6493{
6494 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
6495 (__v4df) __B,
6496 (__v4df)
6497 _mm256_setzero_pd (),
6498 (__mmask8) __U);
6499}
6500
6501static __inline__ __m128 __DEFAULT_FN_ATTRS
6502_mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
6503{
6504 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
6505 (__v4sf) __B,
6506 (__v4sf) __W,
6507 (__mmask8) __U);
6508}
6509
6510static __inline__ __m128 __DEFAULT_FN_ATTRS
6511_mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B)
6512{
6513 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
6514 (__v4sf) __B,
6515 (__v4sf)
6516 _mm_setzero_ps (),
6517 (__mmask8) __U);
6518}
6519
6520static __inline__ __m256 __DEFAULT_FN_ATTRS
6521_mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A,
6522 __m256 __B)
6523{
6524 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
6525 (__v8sf) __B,
6526 (__v8sf) __W,
6527 (__mmask8) __U);
6528}
6529
6530static __inline__ __m256 __DEFAULT_FN_ATTRS
6531_mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B)
6532{
6533 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
6534 (__v8sf) __B,
6535 (__v8sf)
6536 _mm256_setzero_ps (),
6537 (__mmask8) __U);
6538}
6539
6540static __inline__ __m128d __DEFAULT_FN_ATTRS
6541_mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A,
6542 __m128d __B)
6543{
6544 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
6545 (__v2df) __B,
6546 (__v2df) __W,
6547 (__mmask8) __U);
6548}
6549
6550static __inline__ __m128d __DEFAULT_FN_ATTRS
6551_mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B)
6552{
6553 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
6554 (__v2df) __B,
6555 (__v2df)
6556 _mm_setzero_pd (),
6557 (__mmask8) __U);
6558}
6559
6560static __inline__ __m256d __DEFAULT_FN_ATTRS
6561_mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A,
6562 __m256d __B)
6563{
6564 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
6565 (__v4df) __B,
6566 (__v4df) __W,
6567 (__mmask8) __U);
6568}
6569
6570static __inline__ __m256d __DEFAULT_FN_ATTRS
6571_mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B)
6572{
6573 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
6574 (__v4df) __B,
6575 (__v4df)
6576 _mm256_setzero_pd (),
6577 (__mmask8) __U);
6578}
6579
6580static __inline__ __m128 __DEFAULT_FN_ATTRS
6581_mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
6582{
6583 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
6584 (__v4sf) __B,
6585 (__v4sf) __W,
6586 (__mmask8) __U);
6587}
6588
6589static __inline__ __m128 __DEFAULT_FN_ATTRS
6590_mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B)
6591{
6592 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
6593 (__v4sf) __B,
6594 (__v4sf)
6595 _mm_setzero_ps (),
6596 (__mmask8) __U);
6597}
6598
6599static __inline__ __m256 __DEFAULT_FN_ATTRS
6600_mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A,
6601 __m256 __B)
6602{
6603 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
6604 (__v8sf) __B,
6605 (__v8sf) __W,
6606 (__mmask8) __U);
6607}
6608
6609static __inline__ __m256 __DEFAULT_FN_ATTRS
6610_mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B)
6611{
6612 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
6613 (__v8sf) __B,
6614 (__v8sf)
6615 _mm256_setzero_ps (),
6616 (__mmask8) __U);
6617}
6618
6619static __inline__ __m128d __DEFAULT_FN_ATTRS
6620_mm_rcp14_pd (__m128d __A)
6621{
6622 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
6623 (__v2df)
6624 _mm_setzero_pd (),
6625 (__mmask8) -1);
6626}
6627
6628static __inline__ __m128d __DEFAULT_FN_ATTRS
6629_mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
6630{
6631 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
6632 (__v2df) __W,
6633 (__mmask8) __U);
6634}
6635
6636static __inline__ __m128d __DEFAULT_FN_ATTRS
6637_mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
6638{
6639 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
6640 (__v2df)
6641 _mm_setzero_pd (),
6642 (__mmask8) __U);
6643}
6644
6645static __inline__ __m256d __DEFAULT_FN_ATTRS
6646_mm256_rcp14_pd (__m256d __A)
6647{
6648 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
6649 (__v4df)
6650 _mm256_setzero_pd (),
6651 (__mmask8) -1);
6652}
6653
6654static __inline__ __m256d __DEFAULT_FN_ATTRS
6655_mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
6656{
6657 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
6658 (__v4df) __W,
6659 (__mmask8) __U);
6660}
6661
6662static __inline__ __m256d __DEFAULT_FN_ATTRS
6663_mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
6664{
6665 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
6666 (__v4df)
6667 _mm256_setzero_pd (),
6668 (__mmask8) __U);
6669}
6670
6671static __inline__ __m128 __DEFAULT_FN_ATTRS
6672_mm_rcp14_ps (__m128 __A)
6673{
6674 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
6675 (__v4sf)
6676 _mm_setzero_ps (),
6677 (__mmask8) -1);
6678}
6679
6680static __inline__ __m128 __DEFAULT_FN_ATTRS
6681_mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
6682{
6683 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
6684 (__v4sf) __W,
6685 (__mmask8) __U);
6686}
6687
6688static __inline__ __m128 __DEFAULT_FN_ATTRS
6689_mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
6690{
6691 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
6692 (__v4sf)
6693 _mm_setzero_ps (),
6694 (__mmask8) __U);
6695}
6696
6697static __inline__ __m256 __DEFAULT_FN_ATTRS
6698_mm256_rcp14_ps (__m256 __A)
6699{
6700 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
6701 (__v8sf)
6702 _mm256_setzero_ps (),
6703 (__mmask8) -1);
6704}
6705
6706static __inline__ __m256 __DEFAULT_FN_ATTRS
6707_mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
6708{
6709 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
6710 (__v8sf) __W,
6711 (__mmask8) __U);
6712}
6713
6714static __inline__ __m256 __DEFAULT_FN_ATTRS
6715_mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
6716{
6717 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
6718 (__v8sf)
6719 _mm256_setzero_ps (),
6720 (__mmask8) __U);
6721}
6722
6723static __inline__ __m128i __DEFAULT_FN_ATTRS
6724_mm_lzcnt_epi32 (__m128i __A)
6725{
6726 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
6727 (__v4si)
6728 _mm_setzero_si128 (),
6729 (__mmask8) -1);
6730}
6731
6732static __inline__ __m128i __DEFAULT_FN_ATTRS
6733_mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
6734{
6735 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
6736 (__v4si) __W,
6737 (__mmask8) __U);
6738}
6739
6740static __inline__ __m128i __DEFAULT_FN_ATTRS
6741_mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A)
6742{
6743 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
6744 (__v4si)
6745 _mm_setzero_si128 (),
6746 (__mmask8) __U);
6747}
6748
6749static __inline__ __m256i __DEFAULT_FN_ATTRS
6750_mm256_lzcnt_epi32 (__m256i __A)
6751{
6752 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
6753 (__v8si)
6754 _mm256_setzero_si256 (),
6755 (__mmask8) -1);
6756}
6757
6758static __inline__ __m256i __DEFAULT_FN_ATTRS
6759_mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
6760{
6761 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
6762 (__v8si) __W,
6763 (__mmask8) __U);
6764}
6765
6766static __inline__ __m256i __DEFAULT_FN_ATTRS
6767_mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A)
6768{
6769 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
6770 (__v8si)
6771 _mm256_setzero_si256 (),
6772 (__mmask8) __U);
6773}
6774
6775static __inline__ __m128i __DEFAULT_FN_ATTRS
6776_mm_lzcnt_epi64 (__m128i __A)
6777{
6778 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
6779 (__v2di)
6780 _mm_setzero_di (),
6781 (__mmask8) -1);
6782}
6783
6784static __inline__ __m128i __DEFAULT_FN_ATTRS
6785_mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
6786{
6787 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
6788 (__v2di) __W,
6789 (__mmask8) __U);
6790}
6791
6792static __inline__ __m128i __DEFAULT_FN_ATTRS
6793_mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A)
6794{
6795 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
6796 (__v2di)
6797 _mm_setzero_di (),
6798 (__mmask8) __U);
6799}
6800
6801static __inline__ __m256i __DEFAULT_FN_ATTRS
6802_mm256_lzcnt_epi64 (__m256i __A)
6803{
6804 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
6805 (__v4di)
6806 _mm256_setzero_si256 (),
6807 (__mmask8) -1);
6808}
6809
6810static __inline__ __m256i __DEFAULT_FN_ATTRS
6811_mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
6812{
6813 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
6814 (__v4di) __W,
6815 (__mmask8) __U);
6816}
6817
6818static __inline__ __m256i __DEFAULT_FN_ATTRS
6819_mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A)
6820{
6821 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
6822 (__v4di)
6823 _mm256_setzero_si256 (),
6824 (__mmask8) __U);
6825}
6826
6827
6828#define _mm_mask_permute_pd( __W, __U, __X, __C) __extension__ ({ \
6829__builtin_ia32_vpermilpd_mask ((__v2df)( __X),( __C),\
6830 (__v2df)( __W),\
6831 (__mmask8)( __U));\
6832})
6833
6834#define _mm_maskz_permute_pd( __U, __X, __C) __extension__ ({ \
6835__builtin_ia32_vpermilpd_mask ((__v2df)( __X),( __C),\
6836 (__v2df)\
6837 _mm_setzero_pd (),\
6838 (__mmask8)( __U));\
6839})
6840
6841#define _mm256_mask_permute_pd( __W, __U, __X, __C) __extension__ ({ \
6842__builtin_ia32_vpermilpd256_mask ((__v4df)( __X),( __C),\
6843 (__v4df)( __W),\
6844 (__mmask8)( __U));\
6845})
6846
6847#define _mm256_maskz_permute_pd( __U, __X, __C) __extension__ ({ \
6848__builtin_ia32_vpermilpd256_mask ((__v4df)( __X),( __C),\
6849 (__v4df)\
6850 _mm256_setzero_pd (),\
6851 (__mmask8)( __U));\
6852})
6853
6854#define _mm_mask_permute_ps( __W, __U, __X, __C) __extension__ ({ \
6855__builtin_ia32_vpermilps_mask ((__v4sf)( __X),( __C),\
6856 (__v4sf)( __W),\
6857 (__mmask8)( __U));\
6858})
6859
6860#define _mm_maskz_permute_ps( __U, __X, __C) __extension__ ({ \
6861__builtin_ia32_vpermilps_mask ((__v4sf)( __X),( __C),\
6862 (__v4sf)\
6863 _mm_setzero_ps (),\
6864 (__mmask8)( __U));\
6865})
6866
6867#define _mm256_mask_permute_ps( __W, __U, __X, __C) __extension__ ({ \
6868__builtin_ia32_vpermilps256_mask ((__v8sf)( __X),( __C),\
6869 (__v8sf)( __W),\
6870 (__mmask8)( __U));\
6871})
6872
6873#define _mm256_maskz_permute_ps( __U, __X, __C) __extension__ ({ \
6874__builtin_ia32_vpermilps256_mask ((__v8sf)( __X),( __C),\
6875 (__v8sf)\
6876 _mm256_setzero_ps (),\
6877 (__mmask8)( __U));\
6878})
6879
6880static __inline__ __m128d __DEFAULT_FN_ATTRS
6881_mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A,
6882 __m128i __C)
6883{
6884 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
6885 (__v2di) __C,
6886 (__v2df) __W,
6887 (__mmask8) __U);
6888}
6889
6890static __inline__ __m128d __DEFAULT_FN_ATTRS
6891_mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C)
6892{
6893 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
6894 (__v2di) __C,
6895 (__v2df)
6896 _mm_setzero_pd (),
6897 (__mmask8) __U);
6898}
6899
6900static __inline__ __m256d __DEFAULT_FN_ATTRS
6901_mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A,
6902 __m256i __C)
6903{
6904 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
6905 (__v4di) __C,
6906 (__v4df) __W,
6907 (__mmask8)
6908 __U);
6909}
6910
6911static __inline__ __m256d __DEFAULT_FN_ATTRS
6912_mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C)
6913{
6914 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
6915 (__v4di) __C,
6916 (__v4df)
6917 _mm256_setzero_pd (),
6918 (__mmask8)
6919 __U);
6920}
6921
6922static __inline__ __m128 __DEFAULT_FN_ATTRS
6923_mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A,
6924 __m128i __C)
6925{
6926 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
6927 (__v4si) __C,
6928 (__v4sf) __W,
6929 (__mmask8) __U);
6930}
6931
6932static __inline__ __m128 __DEFAULT_FN_ATTRS
6933_mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C)
6934{
6935 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
6936 (__v4si) __C,
6937 (__v4sf)
6938 _mm_setzero_ps (),
6939 (__mmask8) __U);
6940}
6941
6942static __inline__ __m256 __DEFAULT_FN_ATTRS
6943_mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A,
6944 __m256i __C)
6945{
6946 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
6947 (__v8si) __C,
6948 (__v8sf) __W,
6949 (__mmask8) __U);
6950}
6951
6952static __inline__ __m256 __DEFAULT_FN_ATTRS
6953_mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C)
6954{
6955 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
6956 (__v8si) __C,
6957 (__v8sf)
6958 _mm256_setzero_ps (),
6959 (__mmask8) __U);
6960}
6961
6962static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6963_mm_test_epi32_mask (__m128i __A, __m128i __B)
6964{
6965 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
6966 (__v4si) __B,
6967 (__mmask8) -1);
6968}
6969
6970static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6971_mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
6972{
6973 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
6974 (__v4si) __B, __U);
6975}
6976
6977static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6978_mm256_test_epi32_mask (__m256i __A, __m256i __B)
6979{
6980 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
6981 (__v8si) __B,
6982 (__mmask8) -1);
6983}
6984
6985static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6986_mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
6987{
6988 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
6989 (__v8si) __B, __U);
6990}
6991
6992static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6993_mm_test_epi64_mask (__m128i __A, __m128i __B)
6994{
6995 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
6996 (__v2di) __B,
6997 (__mmask8) -1);
6998}
6999
7000static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7001_mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
7002{
7003 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
7004 (__v2di) __B, __U);
7005}
7006
7007static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7008_mm256_test_epi64_mask (__m256i __A, __m256i __B)
7009{
7010 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
7011 (__v4di) __B,
7012 (__mmask8) -1);
7013}
7014
7015static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7016_mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
7017{
7018 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
7019 (__v4di) __B, __U);
7020}
7021
7022static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7023_mm_testn_epi32_mask (__m128i __A, __m128i __B)
7024{
7025 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
7026 (__v4si) __B,
7027 (__mmask8) -1);
7028}
7029
7030static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7031_mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
7032{
7033 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
7034 (__v4si) __B, __U);
7035}
7036
7037static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7038_mm256_testn_epi32_mask (__m256i __A, __m256i __B)
7039{
7040 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
7041 (__v8si) __B,
7042 (__mmask8) -1);
7043}
7044
7045static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7046_mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
7047{
7048 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
7049 (__v8si) __B, __U);
7050}
7051
7052static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7053_mm_testn_epi64_mask (__m128i __A, __m128i __B)
7054{
7055 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
7056 (__v2di) __B,
7057 (__mmask8) -1);
7058}
7059
7060static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7061_mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
7062{
7063 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
7064 (__v2di) __B, __U);
7065}
7066
7067static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7068_mm256_testn_epi64_mask (__m256i __A, __m256i __B)
7069{
7070 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
7071 (__v4di) __B,
7072 (__mmask8) -1);
7073}
7074
7075static __inline__ __mmask8 __DEFAULT_FN_ATTRS
7076_mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
7077{
7078 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
7079 (__v4di) __B, __U);
7080}
7081
7082
7083
7084static __inline__ __m128i __DEFAULT_FN_ATTRS
7085_mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
7086 __m128i __B)
7087{
7088 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
7089 (__v4si) __B,
7090 (__v4si) __W,
7091 (__mmask8) __U);
7092}
7093
7094static __inline__ __m128i __DEFAULT_FN_ATTRS
7095_mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
7096{
7097 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
7098 (__v4si) __B,
7099 (__v4si)
7100 _mm_setzero_si128 (),
7101 (__mmask8) __U);
7102}
7103
7104static __inline__ __m256i __DEFAULT_FN_ATTRS
7105_mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7106 __m256i __B)
7107{
7108 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
7109 (__v8si) __B,
7110 (__v8si) __W,
7111 (__mmask8) __U);
7112}
7113
7114static __inline__ __m256i __DEFAULT_FN_ATTRS
7115_mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
7116{
7117 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
7118 (__v8si) __B,
7119 (__v8si)
7120 _mm256_setzero_si256 (),
7121 (__mmask8) __U);
7122}
7123
7124static __inline__ __m128i __DEFAULT_FN_ATTRS
7125_mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7126 __m128i __B)
7127{
7128 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
7129 (__v2di) __B,
7130 (__v2di) __W,
7131 (__mmask8) __U);
7132}
7133
7134static __inline__ __m128i __DEFAULT_FN_ATTRS
7135_mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7136{
7137 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
7138 (__v2di) __B,
7139 (__v2di)
7140 _mm_setzero_di (),
7141 (__mmask8) __U);
7142}
7143
7144static __inline__ __m256i __DEFAULT_FN_ATTRS
7145_mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7146 __m256i __B)
7147{
7148 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
7149 (__v4di) __B,
7150 (__v4di) __W,
7151 (__mmask8) __U);
7152}
7153
7154static __inline__ __m256i __DEFAULT_FN_ATTRS
7155_mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7156{
7157 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
7158 (__v4di) __B,
7159 (__v4di)
7160 _mm256_setzero_si256 (),
7161 (__mmask8) __U);
7162}
7163
7164static __inline__ __m128i __DEFAULT_FN_ATTRS
7165_mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
7166 __m128i __B)
7167{
7168 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
7169 (__v4si) __B,
7170 (__v4si) __W,
7171 (__mmask8) __U);
7172}
7173
7174static __inline__ __m128i __DEFAULT_FN_ATTRS
7175_mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
7176{
7177 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
7178 (__v4si) __B,
7179 (__v4si)
7180 _mm_setzero_si128 (),
7181 (__mmask8) __U);
7182}
7183
7184static __inline__ __m256i __DEFAULT_FN_ATTRS
7185_mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7186 __m256i __B)
7187{
7188 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
7189 (__v8si) __B,
7190 (__v8si) __W,
7191 (__mmask8) __U);
7192}
7193
7194static __inline__ __m256i __DEFAULT_FN_ATTRS
7195_mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
7196{
7197 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
7198 (__v8si) __B,
7199 (__v8si)
7200 _mm256_setzero_si256 (),
7201 (__mmask8) __U);
7202}
7203
7204static __inline__ __m128i __DEFAULT_FN_ATTRS
7205_mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7206 __m128i __B)
7207{
7208 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
7209 (__v2di) __B,
7210 (__v2di) __W,
7211 (__mmask8) __U);
7212}
7213
7214static __inline__ __m128i __DEFAULT_FN_ATTRS
7215_mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7216{
7217 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
7218 (__v2di) __B,
7219 (__v2di)
7220 _mm_setzero_di (),
7221 (__mmask8) __U);
7222}
7223
7224static __inline__ __m256i __DEFAULT_FN_ATTRS
7225_mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7226 __m256i __B)
7227{
7228 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
7229 (__v4di) __B,
7230 (__v4di) __W,
7231 (__mmask8) __U);
7232}
7233
7234static __inline__ __m256i __DEFAULT_FN_ATTRS
7235_mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
7236{
7237 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
7238 (__v4di) __B,
7239 (__v4di)
7240 _mm256_setzero_si256 (),
7241 (__mmask8) __U);
7242}
7243
7244static __inline__ __m128i __DEFAULT_FN_ATTRS
7245_mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
7246 __m128i __B)
7247{
7248 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
7249 (__v4si) __B,
7250 (__v4si) __W,
7251 (__mmask8) __U);
7252}
7253
7254static __inline__ __m128i __DEFAULT_FN_ATTRS
7255_mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
7256{
7257 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
7258 (__v4si) __B,
7259 (__v4si)
7260 _mm_setzero_si128 (),
7261 (__mmask8) __U);
7262}
7263
7264static __inline__ __m256i __DEFAULT_FN_ATTRS
7265_mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7266 __m128i __B)
7267{
7268 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
7269 (__v4si) __B,
7270 (__v8si) __W,
7271 (__mmask8) __U);
7272}
7273
7274static __inline__ __m256i __DEFAULT_FN_ATTRS
7275_mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
7276{
7277 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
7278 (__v4si) __B,
7279 (__v8si)
7280 _mm256_setzero_si256 (),
7281 (__mmask8) __U);
7282}
7283
7284#define _mm_mask_srai_epi32( __W, __U, __A, __imm) __extension__ ({ \
7285__builtin_ia32_psradi128_mask ((__v4si)( __A),( __imm),\
7286 (__v4si)( __W),\
7287 (__mmask8)( __U));\
7288})
7289
7290#define _mm_maskz_srai_epi32( __U, __A, __imm) __extension__ ({ \
7291__builtin_ia32_psradi128_mask ((__v4si)( __A),( __imm),\
7292 (__v4si)\
7293 _mm_setzero_si128 (),\
7294 (__mmask8)( __U));\
7295})
7296
7297#define _mm256_mask_srai_epi32( __W, __U, __A, __imm) __extension__ ({ \
7298__builtin_ia32_psradi256_mask ((__v8si)( __A),( __imm),\
7299 (__v8si)( __W),\
7300 (__mmask8)( __U));\
7301})
7302
7303#define _mm256_maskz_srai_epi32( __U, __A, __imm) __extension__ ({ \
7304__builtin_ia32_psradi256_mask ((__v8si)( __A),( __imm),\
7305 (__v8si)\
7306 _mm256_setzero_si256 (),\
7307 (__mmask8)( __U));\
7308})
7309
7310static __inline__ __m128i __DEFAULT_FN_ATTRS
7311_mm_sra_epi64 (__m128i __A, __m128i __B)
7312{
7313 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
7314 (__v2di) __B,
7315 (__v2di)
7316 _mm_setzero_di (),
7317 (__mmask8) -1);
7318}
7319
7320static __inline__ __m128i __DEFAULT_FN_ATTRS
7321_mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7322 __m128i __B)
7323{
7324 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
7325 (__v2di) __B,
7326 (__v2di) __W,
7327 (__mmask8) __U);
7328}
7329
7330static __inline__ __m128i __DEFAULT_FN_ATTRS
7331_mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7332{
7333 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
7334 (__v2di) __B,
7335 (__v2di)
7336 _mm_setzero_di (),
7337 (__mmask8) __U);
7338}
7339
7340static __inline__ __m256i __DEFAULT_FN_ATTRS
7341_mm256_sra_epi64 (__m256i __A, __m128i __B)
7342{
7343 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
7344 (__v2di) __B,
7345 (__v4di)
7346 _mm256_setzero_si256 (),
7347 (__mmask8) -1);
7348}
7349
7350static __inline__ __m256i __DEFAULT_FN_ATTRS
7351_mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7352 __m128i __B)
7353{
7354 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
7355 (__v2di) __B,
7356 (__v4di) __W,
7357 (__mmask8) __U);
7358}
7359
7360static __inline__ __m256i __DEFAULT_FN_ATTRS
7361_mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
7362{
7363 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
7364 (__v2di) __B,
7365 (__v4di)
7366 _mm256_setzero_si256 (),
7367 (__mmask8) __U);
7368}
7369
7370#define _mm_srai_epi64( __A, __imm) __extension__ ({ \
7371__builtin_ia32_psraqi128_mask ((__v2di)( __A),( __imm),\
7372 (__v2di)\
7373 _mm_setzero_di (),\
7374 (__mmask8) -1);\
7375})
7376
7377#define _mm_mask_srai_epi64( __W, __U, __A, __imm) __extension__ ({ \
7378__builtin_ia32_psraqi128_mask ((__v2di)( __A),( __imm),\
7379 (__v2di)( __W),\
7380 (__mmask8)( __U));\
7381})
7382
7383#define _mm_maskz_srai_epi64( __U, __A, __imm) __extension__ ({ \
7384__builtin_ia32_psraqi128_mask ((__v2di)( __A),( __imm),\
7385 (__v2di)\
7386 _mm_setzero_si128 (),\
7387 (__mmask8)( __U));\
7388})
7389
7390#define _mm256_srai_epi64( __A, __imm) __extension__ ({ \
7391__builtin_ia32_psraqi256_mask ((__v4di)( __A),( __imm),\
7392 (__v4di)\
7393 _mm256_setzero_si256 (),\
7394 (__mmask8) -1);\
7395})
7396
7397#define _mm256_mask_srai_epi64( __W, __U, __A, __imm) __extension__ ({ \
7398__builtin_ia32_psraqi256_mask ((__v4di)( __A),( __imm),\
7399 (__v4di)( __W),\
7400 (__mmask8)( __U));\
7401})
7402
7403#define _mm256_maskz_srai_epi64( __U, __A, __imm) __extension__ ({ \
7404__builtin_ia32_psraqi256_mask ((__v4di)( __A),( __imm),\
7405 (__v4di)\
7406 _mm256_setzero_si256 (),\
7407 (__mmask8)( __U));\
7408})
7409
7410#define _mm_ternarylogic_epi32( __A, __B, __C, imm) __extension__ ({ \
7411__builtin_ia32_pternlogd128_mask ((__v4si)( __A),\
7412 (__v4si)( __B),\
7413 (__v4si)( __C),( imm),\
7414 (__mmask8) -1);\
7415})
7416
7417#define _mm_mask_ternarylogic_epi32( __A, __U, __B, __C, imm) __extension__ ({ \
7418__builtin_ia32_pternlogd128_mask ((__v4si)( __A),\
7419 (__v4si)( __B),\
7420 (__v4si)( __C),( imm),\
7421 (__mmask8)( __U));\
7422})
7423
7424#define _mm_maskz_ternarylogic_epi32( __U, __A, __B, __C, imm) __extension__ ({ \
7425__builtin_ia32_pternlogd128_maskz ((__v4si)( __A),\
7426 (__v4si)( __B),\
7427 (__v4si)( __C),\
7428 ( imm),\
7429 (__mmask8)( __U));\
7430})
7431
7432#define _mm256_ternarylogic_epi32( __A, __B, __C, imm) __extension__ ({ \
7433__builtin_ia32_pternlogd256_mask ((__v8si)( __A),\
7434 (__v8si)( __B),\
7435 (__v8si)( __C),( imm),\
7436 (__mmask8) -1);\
7437})
7438
7439#define _mm256_mask_ternarylogic_epi32( __A, __U, __B, __C, imm) __extension__ ({ \
7440__builtin_ia32_pternlogd256_mask ((__v8si)( __A),\
7441 (__v8si)( __B),\
7442 (__v8si)( __C),( imm),\
7443 (__mmask8)( __U));\
7444})
7445
7446#define _mm256_maskz_ternarylogic_epi32( __U, __A, __B, __C, imm) __extension__ ({ \
7447__builtin_ia32_pternlogd256_maskz ((__v8si)( __A),\
7448 (__v8si)( __B),\
7449 (__v8si)( __C),\
7450 ( imm),\
7451 (__mmask8)( __U));\
7452})
7453
7454#define _mm_ternarylogic_epi64( __A, __B, __C, imm) __extension__ ({ \
7455__builtin_ia32_pternlogq128_mask ((__v2di)( __A),\
7456 (__v2di)( __B),\
7457 (__v2di)( __C),( imm),\
7458 (__mmask8) -1);\
7459})
7460
7461#define _mm_mask_ternarylogic_epi64( __A, __U, __B, __C, imm) __extension__ ({ \
7462__builtin_ia32_pternlogq128_mask ((__v2di)( __A),\
7463 (__v2di)( __B),\
7464 (__v2di)( __C),( imm),\
7465 (__mmask8)( __U));\
7466})
7467
7468#define _mm_maskz_ternarylogic_epi64( __U, __A, __B, __C, imm) __extension__ ({ \
7469__builtin_ia32_pternlogq128_maskz ((__v2di)( __A),\
7470 (__v2di)( __B),\
7471 (__v2di)( __C),\
7472 ( imm),\
7473 (__mmask8)( __U));\
7474})
7475
7476#define _mm256_ternarylogic_epi64( __A, __B, __C, imm) __extension__ ({ \
7477__builtin_ia32_pternlogq256_mask ((__v4di)( __A),\
7478 (__v4di)( __B),\
7479 (__v4di)( __C),( imm),\
7480 (__mmask8) -1);\
7481})
7482
7483#define _mm256_mask_ternarylogic_epi64( __A, __U, __B, __C, imm) __extension__ ({ \
7484__builtin_ia32_pternlogq256_mask ((__v4di)( __A),\
7485 (__v4di)( __B),\
7486 (__v4di)( __C),( imm),\
7487 (__mmask8)( __U));\
7488})
7489
7490#define _mm256_maskz_ternarylogic_epi64( __U, __A, __B, __C, imm) __extension__ ({ \
7491__builtin_ia32_pternlogq256_maskz ((__v4di)( __A),\
7492 (__v4di)( __B),\
7493 (__v4di)( __C),\
7494 ( imm),\
7495 (__mmask8)( __U));\
7496})
7497
7498
7499
7500#define _mm256_shuffle_f32x4( __A, __B, __imm) __extension__ ({ \
7501__builtin_ia32_shuf_f32x4_256_mask ((__v8sf)( __A),\
7502 (__v8sf)( __B),\
7503 ( __imm),\
7504 (__v8sf)\
7505 _mm256_setzero_ps (),\
7506 (__mmask8) -1);\
7507})
7508
7509#define _mm256_mask_shuffle_f32x4( __W, __U, __A, __B, __imm) __extension__ ({ \
7510__builtin_ia32_shuf_f32x4_256_mask ((__v8sf)( __A),\
7511 (__v8sf)( __B),\
7512 ( __imm),\
7513 (__v8sf)( __W),\
7514 (__mmask8)( __U));\
7515})
7516
7517#define _mm256_maskz_shuffle_f32x4( __U, __A, __B, __imm) __extension__ ({ \
7518__builtin_ia32_shuf_f32x4_256_mask ((__v8sf)( __A),\
7519 (__v8sf)( __B),\
7520 ( __imm),\
7521 (__v8sf)\
7522 _mm256_setzero_ps (),\
7523 (__mmask8)( __U));\
7524})
7525
7526#define _mm256_shuffle_f64x2( __A, __B, __imm) __extension__ ({ \
7527__builtin_ia32_shuf_f64x2_256_mask ((__v4df)( __A),\
7528 (__v4df)( __B),\
7529 ( __imm),\
7530 (__v4df)\
7531 _mm256_setzero_pd (),\
7532 (__mmask8) -1);\
7533})
7534
7535#define _mm256_mask_shuffle_f64x2( __W, __U, __A, __B, __imm) __extension__ ({ \
7536__builtin_ia32_shuf_f64x2_256_mask ((__v4df)( __A),\
7537 (__v4df)( __B),\
7538 ( __imm),\
7539 (__v4df)( __W),\
7540 (__mmask8)( __U));\
7541})
7542
7543#define _mm256_maskz_shuffle_f64x2( __U, __A, __B, __imm) __extension__ ({ \
7544__builtin_ia32_shuf_f64x2_256_mask ((__v4df)( __A),\
7545 (__v4df)( __B),\
7546 ( __imm),\
7547 (__v4df)\
7548 _mm256_setzero_pd (),\
7549 (__mmask8)( __U));\
7550})
7551
7552#define _mm256_shuffle_i32x4( __A, __B, __imm) __extension__ ({ \
7553__builtin_ia32_shuf_i32x4_256_mask ((__v8si)( __A),\
7554 (__v8si)( __B),\
7555 ( __imm),\
7556 (__v8si)\
7557 _mm256_setzero_si256 (),\
7558 (__mmask8) -1);\
7559})
7560
7561#define _mm256_mask_shuffle_i32x4( __W, __U, __A, __B, __imm) __extension__ ({ \
7562__builtin_ia32_shuf_i32x4_256_mask ((__v8si)( __A),\
7563 (__v8si)( __B),\
7564 ( __imm),\
7565 (__v8si)( __W),\
7566 (__mmask8)( __U));\
7567})
7568
7569#define _mm256_maskz_shuffle_i32x4( __U, __A, __B, __imm) __extension__ ({ \
7570__builtin_ia32_shuf_i32x4_256_mask ((__v8si)( __A),\
7571 (__v8si)( __B),\
7572 ( __imm),\
7573 (__v8si)\
7574 _mm256_setzero_si256 (),\
7575 (__mmask8)( __U));\
7576})
7577
7578#define _mm256_shuffle_i64x2( __A, __B, __imm) __extension__ ({ \
7579__builtin_ia32_shuf_i64x2_256_mask ((__v4di)( __A),\
7580 (__v4di)( __B),\
7581 ( __imm),\
7582 (__v4di)\
7583 _mm256_setzero_si256 (),\
7584 (__mmask8) -1);\
7585})
7586
7587#define _mm256_mask_shuffle_i64x2( __W, __U, __A, __B, __imm) __extension__ ({ \
7588__builtin_ia32_shuf_i64x2_256_mask ((__v4di)( __A),\
7589 (__v4di)( __B),\
7590 ( __imm),\
7591 (__v4di)( __W),\
7592 (__mmask8)( __U));\
7593})
7594
7595#define _mm256_maskz_shuffle_i64x2( __U, __A, __B, __imm) __extension__ ({ \
7596__builtin_ia32_shuf_i64x2_256_mask ((__v4di)( __A),\
7597 (__v4di)( __B),\
7598 ( __imm),\
7599 (__v4di)\
7600 _mm256_setzero_si256 (),\
7601 (__mmask8)( __U));\
7602})
7603
7604#define _mm_mask_shuffle_pd( __W, __U, __A, __B, __imm) __extension__ ({ \
7605__builtin_ia32_shufpd128_mask ((__v2df)( __A),\
7606 (__v2df)( __B),( __imm),\
7607 (__v2df)( __W),\
7608 (__mmask8)( __U));\
7609})
7610
7611#define _mm_maskz_shuffle_pd( __U, __A, __B, __imm) __extension__ ({ \
7612__builtin_ia32_shufpd128_mask ((__v2df)( __A),\
7613 (__v2df)( __B),( __imm),\
7614 (__v2df)\
7615 _mm_setzero_pd (),\
7616 (__mmask8)( __U));\
7617})
7618
7619#define _mm256_mask_shuffle_pd( __W, __U, __A, __B, __imm) __extension__ ({ \
7620__builtin_ia32_shufpd256_mask ((__v4df)( __A),\
7621 (__v4df)( __B),( __imm),\
7622 (__v4df)( __W),\
7623 (__mmask8)( __U));\
7624})
7625
7626#define _mm256_maskz_shuffle_pd( __U, __A, __B, __imm) __extension__ ({ \
7627__builtin_ia32_shufpd256_mask ((__v4df)( __A),\
7628 (__v4df)( __B),( __imm),\
7629 (__v4df)\
7630 _mm256_setzero_pd (),\
7631 (__mmask8)( __U));\
7632})
7633
7634#define _mm_mask_shuffle_ps( __W, __U, __A, __B, __imm) __extension__ ({ \
7635__builtin_ia32_shufps128_mask ((__v4sf)( __A),\
7636 (__v4sf)( __B),( __imm),\
7637 (__v4sf)( __W),\
7638 (__mmask8)( __U));\
7639})
7640
7641#define _mm_maskz_shuffle_ps( __U, __A, __B, __imm) __extension__ ({ \
7642__builtin_ia32_shufps128_mask ((__v4sf)( __A),\
7643 (__v4sf)( __B),( __imm),\
7644 (__v4sf)\
7645 _mm_setzero_ps (),\
7646 (__mmask8)( __U));\
7647})
7648
7649#define _mm256_mask_shuffle_ps( __W, __U, __A, __B, __imm) __extension__ ({ \
7650__builtin_ia32_shufps256_mask ((__v8sf)( __A),\
7651 (__v8sf)( __B),( __imm),\
7652 (__v8sf)( __W),\
7653 (__mmask8)( __U));\
7654})
7655
7656#define _mm256_maskz_shuffle_ps( __U, __A, __B, __imm) __extension__ ({ \
7657__builtin_ia32_shufps256_mask ((__v8sf)( __A),\
7658 (__v8sf)( __B),( __imm),\
7659 (__v8sf)\
7660 _mm256_setzero_ps (),\
7661 (__mmask8)( __U));\
7662})
7663
7664static __inline__ __m128d __DEFAULT_FN_ATTRS
7665_mm_rsqrt14_pd (__m128d __A)
7666{
7667 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
7668 (__v2df)
7669 _mm_setzero_pd (),
7670 (__mmask8) -1);
7671}
7672
7673static __inline__ __m128d __DEFAULT_FN_ATTRS
7674_mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
7675{
7676 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
7677 (__v2df) __W,
7678 (__mmask8) __U);
7679}
7680
7681static __inline__ __m128d __DEFAULT_FN_ATTRS
7682_mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
7683{
7684 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
7685 (__v2df)
7686 _mm_setzero_pd (),
7687 (__mmask8) __U);
7688}
7689
7690static __inline__ __m256d __DEFAULT_FN_ATTRS
7691_mm256_rsqrt14_pd (__m256d __A)
7692{
7693 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
7694 (__v4df)
7695 _mm256_setzero_pd (),
7696 (__mmask8) -1);
7697}
7698
7699static __inline__ __m256d __DEFAULT_FN_ATTRS
7700_mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
7701{
7702 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
7703 (__v4df) __W,
7704 (__mmask8) __U);
7705}
7706
7707static __inline__ __m256d __DEFAULT_FN_ATTRS
7708_mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
7709{
7710 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
7711 (__v4df)
7712 _mm256_setzero_pd (),
7713 (__mmask8) __U);
7714}
7715
7716static __inline__ __m128 __DEFAULT_FN_ATTRS
7717_mm_rsqrt14_ps (__m128 __A)
7718{
7719 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
7720 (__v4sf)
7721 _mm_setzero_ps (),
7722 (__mmask8) -1);
7723}
7724
7725static __inline__ __m128 __DEFAULT_FN_ATTRS
7726_mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
7727{
7728 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
7729 (__v4sf) __W,
7730 (__mmask8) __U);
7731}
7732
7733static __inline__ __m128 __DEFAULT_FN_ATTRS
7734_mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
7735{
7736 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
7737 (__v4sf)
7738 _mm_setzero_ps (),
7739 (__mmask8) __U);
7740}
7741
7742static __inline__ __m256 __DEFAULT_FN_ATTRS
7743_mm256_rsqrt14_ps (__m256 __A)
7744{
7745 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
7746 (__v8sf)
7747 _mm256_setzero_ps (),
7748 (__mmask8) -1);
7749}
7750
7751static __inline__ __m256 __DEFAULT_FN_ATTRS
7752_mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
7753{
7754 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
7755 (__v8sf) __W,
7756 (__mmask8) __U);
7757}
7758
7759static __inline__ __m256 __DEFAULT_FN_ATTRS
7760_mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
7761{
7762 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
7763 (__v8sf)
7764 _mm256_setzero_ps (),
7765 (__mmask8) __U);
7766}
7767
7768static __inline__ __m256 __DEFAULT_FN_ATTRS
7769_mm256_broadcast_f32x4 (__m128 __A)
7770{
7771 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
7772 (__v8sf)_mm256_undefined_pd (),
7773 (__mmask8) - 1);
7774}
7775
7776static __inline__ __m256 __DEFAULT_FN_ATTRS
7777_mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
7778{
7779 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
7780 (__v8sf) __O,
7781 __M);
7782}
7783
7784static __inline__ __m256 __DEFAULT_FN_ATTRS
7785_mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
7786{
7787 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
7788 (__v8sf) _mm256_setzero_ps (),
7789 __M);
7790}
7791
7792static __inline__ __m256i __DEFAULT_FN_ATTRS
7793_mm256_broadcast_i32x4 (__m128i __A)
7794{
7795 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) __A,
7796 (__v8si)_mm256_undefined_si256 (),
7797 (__mmask8) - 1);
7798}
7799
7800static __inline__ __m256i __DEFAULT_FN_ATTRS
7801_mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
7802{
7803 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) __A,
7804 (__v8si)
7805 __O, __M);
7806}
7807
7808static __inline__ __m256i __DEFAULT_FN_ATTRS
7809_mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
7810{
7811 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
7812 __A,
7813 (__v8si) _mm256_setzero_si256 (),
7814 __M);
7815}
7816
7817static __inline__ __m256d __DEFAULT_FN_ATTRS
7818_mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
7819{
7820 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
7821 (__v4df) __O,
7822 __M);
7823}
7824
7825static __inline__ __m256d __DEFAULT_FN_ATTRS
7826_mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
7827{
7828 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
7829 (__v4df) _mm256_setzero_pd (),
7830 __M);
7831}
7832
7833static __inline__ __m128 __DEFAULT_FN_ATTRS
7834_mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
7835{
7836 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
7837 (__v4sf) __O,
7838 __M);
7839}
7840
7841static __inline__ __m128 __DEFAULT_FN_ATTRS
7842_mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
7843{
7844 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
7845 (__v4sf) _mm_setzero_ps (),
7846 __M);
7847}
7848
7849static __inline__ __m256 __DEFAULT_FN_ATTRS
7850_mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
7851{
7852 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
7853 (__v8sf) __O,
7854 __M);
7855}
7856
7857static __inline__ __m256 __DEFAULT_FN_ATTRS
7858_mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
7859{
7860 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
7861 (__v8sf) _mm256_setzero_ps (),
7862 __M);
7863}
7864
7865static __inline__ __m128i __DEFAULT_FN_ATTRS
7866_mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
7867{
7868 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
7869 (__v4si) __O,
7870 __M);
7871}
7872
7873static __inline__ __m128i __DEFAULT_FN_ATTRS
7874_mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
7875{
7876 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
7877 (__v4si) _mm_setzero_si128 (),
7878 __M);
7879}
7880
7881static __inline__ __m256i __DEFAULT_FN_ATTRS
7882_mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
7883{
7884 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
7885 (__v8si) __O,
7886 __M);
7887}
7888
7889static __inline__ __m256i __DEFAULT_FN_ATTRS
7890_mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
7891{
7892 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
7893 (__v8si) _mm256_setzero_si256 (),
7894 __M);
7895}
7896
7897static __inline__ __m128i __DEFAULT_FN_ATTRS
7898_mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
7899{
7900 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
7901 (__v2di) __O,
7902 __M);
7903}
7904
7905static __inline__ __m128i __DEFAULT_FN_ATTRS
7906_mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
7907{
7908 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
7909 (__v2di) _mm_setzero_si128 (),
7910 __M);
7911}
7912
7913static __inline__ __m256i __DEFAULT_FN_ATTRS
7914_mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
7915{
7916 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
7917 (__v4di) __O,
7918 __M);
7919}
7920
7921static __inline__ __m256i __DEFAULT_FN_ATTRS
7922_mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
7923{
7924 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
7925 (__v4di) _mm256_setzero_si256 (),
7926 __M);
7927}
7928
7929static __inline__ __m128i __DEFAULT_FN_ATTRS
7930_mm_cvtsepi32_epi8 (__m128i __A)
7931{
7932 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
7933 (__v16qi)_mm_undefined_si128(),
7934 (__mmask8) -1);
7935}
7936
7937static __inline__ __m128i __DEFAULT_FN_ATTRS
7938_mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
7939{
7940 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
7941 (__v16qi) __O, __M);
7942}
7943
7944static __inline__ __m128i __DEFAULT_FN_ATTRS
7945_mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A)
7946{
7947 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
7948 (__v16qi) _mm_setzero_si128 (),
7949 __M);
7950}
7951
7952static __inline__ void __DEFAULT_FN_ATTRS
7953_mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
7954{
7955 __builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
7956}
7957
7958static __inline__ __m128i __DEFAULT_FN_ATTRS
7959_mm256_cvtsepi32_epi8 (__m256i __A)
7960{
7961 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
7962 (__v16qi)_mm_undefined_si128(),
7963 (__mmask8) -1);
7964}
7965
7966static __inline__ __m128i __DEFAULT_FN_ATTRS
7967_mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
7968{
7969 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
7970 (__v16qi) __O, __M);
7971}
7972
7973static __inline__ __m128i __DEFAULT_FN_ATTRS
7974_mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A)
7975{
7976 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
7977 (__v16qi) _mm_setzero_si128 (),
7978 __M);
7979}
7980
7981static __inline__ void __DEFAULT_FN_ATTRS
7982_mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
7983{
7984 __builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
7985}
7986
7987static __inline__ __m128i __DEFAULT_FN_ATTRS
7988_mm_cvtsepi32_epi16 (__m128i __A)
7989{
7990 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
7991 (__v8hi)_mm_setzero_si128 (),
7992 (__mmask8) -1);
7993}
7994
7995static __inline__ __m128i __DEFAULT_FN_ATTRS
7996_mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
7997{
7998 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
7999 (__v8hi)__O,
8000 __M);
8001}
8002
8003static __inline__ __m128i __DEFAULT_FN_ATTRS
8004_mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A)
8005{
8006 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
8007 (__v8hi) _mm_setzero_si128 (),
8008 __M);
8009}
8010
8011static __inline__ void __DEFAULT_FN_ATTRS
8012_mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8013{
8014 __builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
8015}
8016
8017static __inline__ __m128i __DEFAULT_FN_ATTRS
8018_mm256_cvtsepi32_epi16 (__m256i __A)
8019{
8020 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
8021 (__v8hi)_mm_undefined_si128(),
8022 (__mmask8) -1);
8023}
8024
8025static __inline__ __m128i __DEFAULT_FN_ATTRS
8026_mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8027{
8028 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
8029 (__v8hi) __O, __M);
8030}
8031
8032static __inline__ __m128i __DEFAULT_FN_ATTRS
8033_mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A)
8034{
8035 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
8036 (__v8hi) _mm_setzero_si128 (),
8037 __M);
8038}
8039
8040static __inline__ void __DEFAULT_FN_ATTRS
8041_mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8042{
8043 __builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
8044}
8045
8046static __inline__ __m128i __DEFAULT_FN_ATTRS
8047_mm_cvtsepi64_epi8 (__m128i __A)
8048{
8049 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
8050 (__v16qi)_mm_undefined_si128(),
8051 (__mmask8) -1);
8052}
8053
8054static __inline__ __m128i __DEFAULT_FN_ATTRS
8055_mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8056{
8057 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
8058 (__v16qi) __O, __M);
8059}
8060
8061static __inline__ __m128i __DEFAULT_FN_ATTRS
8062_mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A)
8063{
8064 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
8065 (__v16qi) _mm_setzero_si128 (),
8066 __M);
8067}
8068
8069static __inline__ void __DEFAULT_FN_ATTRS
8070_mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8071{
8072 __builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
8073}
8074
8075static __inline__ __m128i __DEFAULT_FN_ATTRS
8076_mm256_cvtsepi64_epi8 (__m256i __A)
8077{
8078 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
8079 (__v16qi)_mm_undefined_si128(),
8080 (__mmask8) -1);
8081}
8082
8083static __inline__ __m128i __DEFAULT_FN_ATTRS
8084_mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8085{
8086 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
8087 (__v16qi) __O, __M);
8088}
8089
8090static __inline__ __m128i __DEFAULT_FN_ATTRS
8091_mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A)
8092{
8093 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
8094 (__v16qi) _mm_setzero_si128 (),
8095 __M);
8096}
8097
8098static __inline__ void __DEFAULT_FN_ATTRS
8099_mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8100{
8101 __builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
8102}
8103
8104static __inline__ __m128i __DEFAULT_FN_ATTRS
8105_mm_cvtsepi64_epi32 (__m128i __A)
8106{
8107 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
8108 (__v4si)_mm_undefined_si128(),
8109 (__mmask8) -1);
8110}
8111
8112static __inline__ __m128i __DEFAULT_FN_ATTRS
8113_mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
8114{
8115 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
8116 (__v4si) __O, __M);
8117}
8118
8119static __inline__ __m128i __DEFAULT_FN_ATTRS
8120_mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A)
8121{
8122 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
8123 (__v4si) _mm_setzero_si128 (),
8124 __M);
8125}
8126
8127static __inline__ void __DEFAULT_FN_ATTRS
8128_mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
8129{
8130 __builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
8131}
8132
8133static __inline__ __m128i __DEFAULT_FN_ATTRS
8134_mm256_cvtsepi64_epi32 (__m256i __A)
8135{
8136 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
8137 (__v4si)_mm_undefined_si128(),
8138 (__mmask8) -1);
8139}
8140
8141static __inline__ __m128i __DEFAULT_FN_ATTRS
8142_mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
8143{
8144 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
8145 (__v4si)__O,
8146 __M);
8147}
8148
8149static __inline__ __m128i __DEFAULT_FN_ATTRS
8150_mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A)
8151{
8152 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
8153 (__v4si) _mm_setzero_si128 (),
8154 __M);
8155}
8156
8157static __inline__ void __DEFAULT_FN_ATTRS
8158_mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
8159{
8160 __builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
8161}
8162
8163static __inline__ __m128i __DEFAULT_FN_ATTRS
8164_mm_cvtsepi64_epi16 (__m128i __A)
8165{
8166 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
8167 (__v8hi)_mm_undefined_si128(),
8168 (__mmask8) -1);
8169}
8170
8171static __inline__ __m128i __DEFAULT_FN_ATTRS
8172_mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8173{
8174 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
8175 (__v8hi) __O, __M);
8176}
8177
8178static __inline__ __m128i __DEFAULT_FN_ATTRS
8179_mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A)
8180{
8181 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
8182 (__v8hi) _mm_setzero_si128 (),
8183 __M);
8184}
8185
8186static __inline__ void __DEFAULT_FN_ATTRS
8187_mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8188{
8189 __builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
8190}
8191
8192static __inline__ __m128i __DEFAULT_FN_ATTRS
8193_mm256_cvtsepi64_epi16 (__m256i __A)
8194{
8195 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
8196 (__v8hi)_mm_undefined_si128(),
8197 (__mmask8) -1);
8198}
8199
8200static __inline__ __m128i __DEFAULT_FN_ATTRS
8201_mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8202{
8203 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
8204 (__v8hi) __O, __M);
8205}
8206
8207static __inline__ __m128i __DEFAULT_FN_ATTRS
8208_mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A)
8209{
8210 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
8211 (__v8hi) _mm_setzero_si128 (),
8212 __M);
8213}
8214
8215static __inline__ void __DEFAULT_FN_ATTRS
8216_mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8217{
8218 __builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
8219}
8220
8221static __inline__ __m128i __DEFAULT_FN_ATTRS
8222_mm_cvtusepi32_epi8 (__m128i __A)
8223{
8224 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
8225 (__v16qi)_mm_undefined_si128(),
8226 (__mmask8) -1);
8227}
8228
8229static __inline__ __m128i __DEFAULT_FN_ATTRS
8230_mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8231{
8232 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
8233 (__v16qi) __O,
8234 __M);
8235}
8236
8237static __inline__ __m128i __DEFAULT_FN_ATTRS
8238_mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A)
8239{
8240 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
8241 (__v16qi) _mm_setzero_si128 (),
8242 __M);
8243}
8244
8245static __inline__ void __DEFAULT_FN_ATTRS
8246_mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8247{
8248 __builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
8249}
8250
8251static __inline__ __m128i __DEFAULT_FN_ATTRS
8252_mm256_cvtusepi32_epi8 (__m256i __A)
8253{
8254 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
8255 (__v16qi)_mm_undefined_si128(),
8256 (__mmask8) -1);
8257}
8258
8259static __inline__ __m128i __DEFAULT_FN_ATTRS
8260_mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8261{
8262 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
8263 (__v16qi) __O,
8264 __M);
8265}
8266
8267static __inline__ __m128i __DEFAULT_FN_ATTRS
8268_mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A)
8269{
8270 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
8271 (__v16qi) _mm_setzero_si128 (),
8272 __M);
8273}
8274
8275static __inline__ void __DEFAULT_FN_ATTRS
8276_mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8277{
8278 __builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M);
8279}
8280
8281static __inline__ __m128i __DEFAULT_FN_ATTRS
8282_mm_cvtusepi32_epi16 (__m128i __A)
8283{
8284 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
8285 (__v8hi)_mm_undefined_si128(),
8286 (__mmask8) -1);
8287}
8288
8289static __inline__ __m128i __DEFAULT_FN_ATTRS
8290_mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8291{
8292 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
8293 (__v8hi) __O, __M);
8294}
8295
8296static __inline__ __m128i __DEFAULT_FN_ATTRS
8297_mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A)
8298{
8299 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
8300 (__v8hi) _mm_setzero_si128 (),
8301 __M);
8302}
8303
8304static __inline__ void __DEFAULT_FN_ATTRS
8305_mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8306{
8307 __builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
8308}
8309
8310static __inline__ __m128i __DEFAULT_FN_ATTRS
8311_mm256_cvtusepi32_epi16 (__m256i __A)
8312{
8313 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
8314 (__v8hi) _mm_undefined_si128(),
8315 (__mmask8) -1);
8316}
8317
8318static __inline__ __m128i __DEFAULT_FN_ATTRS
8319_mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8320{
8321 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
8322 (__v8hi) __O, __M);
8323}
8324
8325static __inline__ __m128i __DEFAULT_FN_ATTRS
8326_mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A)
8327{
8328 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
8329 (__v8hi) _mm_setzero_si128 (),
8330 __M);
8331}
8332
8333static __inline__ void __DEFAULT_FN_ATTRS
8334_mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8335{
8336 __builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
8337}
8338
8339static __inline__ __m128i __DEFAULT_FN_ATTRS
8340_mm_cvtusepi64_epi8 (__m128i __A)
8341{
8342 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
8343 (__v16qi)_mm_undefined_si128(),
8344 (__mmask8) -1);
8345}
8346
8347static __inline__ __m128i __DEFAULT_FN_ATTRS
8348_mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8349{
8350 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
8351 (__v16qi) __O,
8352 __M);
8353}
8354
8355static __inline__ __m128i __DEFAULT_FN_ATTRS
8356_mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A)
8357{
8358 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
8359 (__v16qi) _mm_setzero_si128 (),
8360 __M);
8361}
8362
8363static __inline__ void __DEFAULT_FN_ATTRS
8364_mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8365{
8366 __builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
8367}
8368
8369static __inline__ __m128i __DEFAULT_FN_ATTRS
8370_mm256_cvtusepi64_epi8 (__m256i __A)
8371{
8372 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
8373 (__v16qi)_mm_undefined_si128(),
8374 (__mmask8) -1);
8375}
8376
8377static __inline__ __m128i __DEFAULT_FN_ATTRS
8378_mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8379{
8380 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
8381 (__v16qi) __O,
8382 __M);
8383}
8384
8385static __inline__ __m128i __DEFAULT_FN_ATTRS
8386_mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A)
8387{
8388 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
8389 (__v16qi) _mm_setzero_si128 (),
8390 __M);
8391}
8392
8393static __inline__ void __DEFAULT_FN_ATTRS
8394_mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8395{
8396 __builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
8397}
8398
8399static __inline__ __m128i __DEFAULT_FN_ATTRS
8400_mm_cvtusepi64_epi32 (__m128i __A)
8401{
8402 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
8403 (__v4si)_mm_undefined_si128(),
8404 (__mmask8) -1);
8405}
8406
8407static __inline__ __m128i __DEFAULT_FN_ATTRS
8408_mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
8409{
8410 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
8411 (__v4si) __O, __M);
8412}
8413
8414static __inline__ __m128i __DEFAULT_FN_ATTRS
8415_mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A)
8416{
8417 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
8418 (__v4si) _mm_setzero_si128 (),
8419 __M);
8420}
8421
8422static __inline__ void __DEFAULT_FN_ATTRS
8423_mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
8424{
8425 __builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
8426}
8427
8428static __inline__ __m128i __DEFAULT_FN_ATTRS
8429_mm256_cvtusepi64_epi32 (__m256i __A)
8430{
8431 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
8432 (__v4si)_mm_undefined_si128(),
8433 (__mmask8) -1);
8434}
8435
8436static __inline__ __m128i __DEFAULT_FN_ATTRS
8437_mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
8438{
8439 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
8440 (__v4si) __O, __M);
8441}
8442
8443static __inline__ __m128i __DEFAULT_FN_ATTRS
8444_mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A)
8445{
8446 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
8447 (__v4si) _mm_setzero_si128 (),
8448 __M);
8449}
8450
8451static __inline__ void __DEFAULT_FN_ATTRS
8452_mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
8453{
8454 __builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
8455}
8456
8457static __inline__ __m128i __DEFAULT_FN_ATTRS
8458_mm_cvtusepi64_epi16 (__m128i __A)
8459{
8460 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
8461 (__v8hi)_mm_undefined_si128(),
8462 (__mmask8) -1);
8463}
8464
8465static __inline__ __m128i __DEFAULT_FN_ATTRS
8466_mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8467{
8468 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
8469 (__v8hi) __O, __M);
8470}
8471
8472static __inline__ __m128i __DEFAULT_FN_ATTRS
8473_mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A)
8474{
8475 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
8476 (__v8hi) _mm_setzero_si128 (),
8477 __M);
8478}
8479
8480static __inline__ void __DEFAULT_FN_ATTRS
8481_mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8482{
8483 __builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
8484}
8485
8486static __inline__ __m128i __DEFAULT_FN_ATTRS
8487_mm256_cvtusepi64_epi16 (__m256i __A)
8488{
8489 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
8490 (__v8hi)_mm_undefined_si128(),
8491 (__mmask8) -1);
8492}
8493
8494static __inline__ __m128i __DEFAULT_FN_ATTRS
8495_mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8496{
8497 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
8498 (__v8hi) __O, __M);
8499}
8500
8501static __inline__ __m128i __DEFAULT_FN_ATTRS
8502_mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A)
8503{
8504 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
8505 (__v8hi) _mm_setzero_si128 (),
8506 __M);
8507}
8508
8509static __inline__ void __DEFAULT_FN_ATTRS
8510_mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8511{
8512 return __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
8513}
8514
8515static __inline__ __m128i __DEFAULT_FN_ATTRS
8516_mm_cvtepi32_epi8 (__m128i __A)
8517{
8518 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
8519 (__v16qi)_mm_undefined_si128(),
8520 (__mmask8) -1);
8521}
8522
8523static __inline__ __m128i __DEFAULT_FN_ATTRS
8524_mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8525{
8526 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
8527 (__v16qi) __O, __M);
8528}
8529
8530static __inline__ __m128i __DEFAULT_FN_ATTRS
8531_mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A)
8532{
8533 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
8534 (__v16qi)
8535 _mm_setzero_si128 (),
8536 __M);
8537}
8538
8539static __inline__ void __DEFAULT_FN_ATTRS
8540_mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8541{
8542 __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
8543}
8544
8545static __inline__ __m128i __DEFAULT_FN_ATTRS
8546_mm256_cvtepi32_epi8 (__m256i __A)
8547{
8548 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
8549 (__v16qi)_mm_undefined_si128(),
8550 (__mmask8) -1);
8551}
8552
8553static __inline__ __m128i __DEFAULT_FN_ATTRS
8554_mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8555{
8556 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
8557 (__v16qi) __O, __M);
8558}
8559
8560static __inline__ __m128i __DEFAULT_FN_ATTRS
8561_mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A)
8562{
8563 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
8564 (__v16qi) _mm_setzero_si128 (),
8565 __M);
8566}
8567
8568static __inline__ void __DEFAULT_FN_ATTRS
8569_mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8570{
8571 __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
8572}
8573
8574static __inline__ __m128i __DEFAULT_FN_ATTRS
8575_mm_cvtepi32_epi16 (__m128i __A)
8576{
8577 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
8578 (__v8hi) _mm_setzero_si128 (),
8579 (__mmask8) -1);
8580}
8581
8582static __inline__ __m128i __DEFAULT_FN_ATTRS
8583_mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8584{
8585 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
8586 (__v8hi) __O, __M);
8587}
8588
8589static __inline__ __m128i __DEFAULT_FN_ATTRS
8590_mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A)
8591{
8592 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
8593 (__v8hi) _mm_setzero_si128 (),
8594 __M);
8595}
8596
8597static __inline__ void __DEFAULT_FN_ATTRS
8598_mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8599{
8600 __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
8601}
8602
8603static __inline__ __m128i __DEFAULT_FN_ATTRS
8604_mm256_cvtepi32_epi16 (__m256i __A)
8605{
8606 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
8607 (__v8hi)_mm_setzero_si128 (),
8608 (__mmask8) -1);
8609}
8610
8611static __inline__ __m128i __DEFAULT_FN_ATTRS
8612_mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8613{
8614 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
8615 (__v8hi) __O, __M);
8616}
8617
8618static __inline__ __m128i __DEFAULT_FN_ATTRS
8619_mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A)
8620{
8621 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
8622 (__v8hi) _mm_setzero_si128 (),
8623 __M);
8624}
8625
8626static __inline__ void __DEFAULT_FN_ATTRS
8627_mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8628{
8629 __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
8630}
8631
8632static __inline__ __m128i __DEFAULT_FN_ATTRS
8633_mm_cvtepi64_epi8 (__m128i __A)
8634{
8635 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
8636 (__v16qi) _mm_undefined_si128(),
8637 (__mmask8) -1);
8638}
8639
8640static __inline__ __m128i __DEFAULT_FN_ATTRS
8641_mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8642{
8643 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
8644 (__v16qi) __O, __M);
8645}
8646
8647static __inline__ __m128i __DEFAULT_FN_ATTRS
8648_mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A)
8649{
8650 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
8651 (__v16qi) _mm_setzero_si128 (),
8652 __M);
8653}
8654
8655static __inline__ void __DEFAULT_FN_ATTRS
8656_mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8657{
8658 __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
8659}
8660
8661static __inline__ __m128i __DEFAULT_FN_ATTRS
8662_mm256_cvtepi64_epi8 (__m256i __A)
8663{
8664 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
8665 (__v16qi) _mm_undefined_si128(),
8666 (__mmask8) -1);
8667}
8668
8669static __inline__ __m128i __DEFAULT_FN_ATTRS
8670_mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8671{
8672 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
8673 (__v16qi) __O, __M);
8674}
8675
8676static __inline__ __m128i __DEFAULT_FN_ATTRS
8677_mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A)
8678{
8679 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
8680 (__v16qi) _mm_setzero_si128 (),
8681 __M);
8682}
8683
8684static __inline__ void __DEFAULT_FN_ATTRS
8685_mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8686{
8687 __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
8688}
8689
8690static __inline__ __m128i __DEFAULT_FN_ATTRS
8691_mm_cvtepi64_epi32 (__m128i __A)
8692{
8693 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
8694 (__v4si)_mm_undefined_si128(),
8695 (__mmask8) -1);
8696}
8697
8698static __inline__ __m128i __DEFAULT_FN_ATTRS
8699_mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
8700{
8701 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
8702 (__v4si) __O, __M);
8703}
8704
8705static __inline__ __m128i __DEFAULT_FN_ATTRS
8706_mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A)
8707{
8708 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
8709 (__v4si) _mm_setzero_si128 (),
8710 __M);
8711}
8712
8713static __inline__ void __DEFAULT_FN_ATTRS
8714_mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
8715{
8716 __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
8717}
8718
8719static __inline__ __m128i __DEFAULT_FN_ATTRS
8720_mm256_cvtepi64_epi32 (__m256i __A)
8721{
8722 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
8723 (__v4si) _mm_undefined_si128(),
8724 (__mmask8) -1);
8725}
8726
8727static __inline__ __m128i __DEFAULT_FN_ATTRS
8728_mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
8729{
8730 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
8731 (__v4si) __O, __M);
8732}
8733
8734static __inline__ __m128i __DEFAULT_FN_ATTRS
8735_mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
8736{
8737 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
8738 (__v4si) _mm_setzero_si128 (),
8739 __M);
8740}
8741
8742static __inline__ void __DEFAULT_FN_ATTRS
8743_mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
8744{
8745 __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
8746}
8747
8748static __inline__ __m128i __DEFAULT_FN_ATTRS
8749_mm_cvtepi64_epi16 (__m128i __A)
8750{
8751 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
8752 (__v8hi) _mm_undefined_si128(),
8753 (__mmask8) -1);
8754}
8755
8756static __inline__ __m128i __DEFAULT_FN_ATTRS
8757_mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8758{
8759 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
8760 (__v8hi)__O,
8761 __M);
8762}
8763
8764static __inline__ __m128i __DEFAULT_FN_ATTRS
8765_mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A)
8766{
8767 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
8768 (__v8hi) _mm_setzero_si128 (),
8769 __M);
8770}
8771
8772static __inline__ void __DEFAULT_FN_ATTRS
8773_mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8774{
8775 __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
8776}
8777
8778static __inline__ __m128i __DEFAULT_FN_ATTRS
8779_mm256_cvtepi64_epi16 (__m256i __A)
8780{
8781 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
8782 (__v8hi)_mm_undefined_si128(),
8783 (__mmask8) -1);
8784}
8785
8786static __inline__ __m128i __DEFAULT_FN_ATTRS
8787_mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8788{
8789 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
8790 (__v8hi) __O, __M);
8791}
8792
8793static __inline__ __m128i __DEFAULT_FN_ATTRS
8794_mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A)
8795{
8796 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
8797 (__v8hi) _mm_setzero_si128 (),
8798 __M);
8799}
8800
8801static __inline__ void __DEFAULT_FN_ATTRS
8802_mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8803{
8804 __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
8805}
8806
8807#define _mm256_extractf32x4_ps( __A, __imm) __extension__ ({ \
8808__builtin_ia32_extractf32x4_256_mask ((__v8sf)( __A),\
8809 ( __imm),\
8810 (__v4sf) _mm_setzero_ps (),\
8811 (__mmask8) -1);\
8812})
8813
8814#define _mm256_mask_extractf32x4_ps( __W, __U, __A, __imm) __extension__ ({ \
8815__builtin_ia32_extractf32x4_256_mask ((__v8sf)( __A),\
8816 ( __imm),\
8817 (__v4sf)( __W),\
8818 (__mmask8) ( __U));\
8819})
8820
8821#define _mm256_maskz_extractf32x4_ps( __U, __A, __imm) __extension__ ({ \
8822__builtin_ia32_extractf32x4_256_mask ((__v8sf)( __A),\
8823 ( __imm),\
8824 (__v4sf) _mm_setzero_ps (),\
8825 (__mmask8) ( __U));\
8826})
8827
8828#define _mm256_extracti32x4_epi32( __A, __imm) __extension__ ({ \
8829__builtin_ia32_extracti32x4_256_mask ((__v8si)( __A),\
8830 ( __imm),\
8831 (__v4si) _mm_setzero_si128 (),\
8832 (__mmask8) -1);\
8833})
8834
8835#define _mm256_mask_extracti32x4_epi32( __W, __U, __A, __imm) __extension__ ({ \
8836__builtin_ia32_extracti32x4_256_mask ((__v8si)( __A),\
8837 ( __imm),\
8838 (__v4si)( __W),\
8839 (__mmask8)( __U));\
8840})
8841
8842#define _mm256_maskz_extracti32x4_epi32( __U, __A, __imm) __extension__ ({ \
8843__builtin_ia32_extracti32x4_256_mask ((__v8si)( __A),\
8844 ( __imm),\
8845 (__v4si) _mm_setzero_si128 (),\
8846 (__mmask8) ( __U));\
8847})
8848
8849#define _mm256_insertf32x4( __A, __B, __imm) __extension__ ({ \
8850__builtin_ia32_insertf32x4_256_mask ((__v8sf)( __A),\
8851 (__v4sf)( __B),\
8852 ( __imm),\
8853 (__v8sf) _mm256_setzero_ps (),\
8854 (__mmask8) -1);\
8855})
8856
8857#define _mm256_mask_insertf32x4( __W, __U, __A, __B, __imm) __extension__ ({ \
8858__builtin_ia32_insertf32x4_256_mask ((__v8sf)( __A),\
8859 (__v4sf)( __B),\
8860 ( __imm),\
8861 (__v8sf)( __W),\
8862 (__mmask8)( __U));\
8863})
8864
8865#define _mm256_maskz_insertf32x4( __U, __A, __B, __imm) __extension__ ({ \
8866__builtin_ia32_insertf32x4_256_mask ((__v8sf)( __A),\
8867 (__v4sf)( __B),\
8868 ( __imm),\
8869 (__v8sf) _mm256_setzero_ps (),\
8870 (__mmask8)( __U));\
8871})
8872
8873#define _mm256_inserti32x4( __A, __B, __imm) __extension__ ({ \
8874__builtin_ia32_inserti32x4_256_mask ((__v8si)( __A),\
8875 (__v4si)( __B),\
8876 ( __imm),\
8877 (__v8si) _mm256_setzero_si256 (),\
8878 (__mmask8) -1);\
8879})
8880
8881#define _mm256_mask_inserti32x4( __W, __U, __A, __B, __imm) __extension__ ({ \
8882__builtin_ia32_inserti32x4_256_mask ((__v8si)( __A),\
8883 (__v4si)( __B),\
8884 ( __imm),\
8885 (__v8si)( __W),\
8886 (__mmask8) ( __U));\
8887})
8888
8889#define _mm256_maskz_inserti32x4( __U, __A, __B, __imm) __extension__ ({ \
8890__builtin_ia32_inserti32x4_256_mask ((__v8si)( __A),\
8891 (__v4si)( __B),\
8892 ( __imm),\
8893 (__v8si) _mm256_setzero_si256 (),\
8894 (__mmask8) ( __U));\
8895})
8896
8897#define _mm_getmant_pd( __A, __B, __C) __extension__({\
8898__builtin_ia32_getmantpd128_mask ((__v2df) __A,\
8899 (__C << 2) | __B,\
8900 (__v2df) _mm_setzero_pd (),\
8901 (__mmask8) -1);\
8902})
8903
8904#define _mm_mask_getmant_pd( __W, __U, __A, __B, __C) __extension__({\
8905__builtin_ia32_getmantpd128_mask ((__v2df) __A,\
8906 (__C << 2) | __B,\
8907 (__v2df) __W,\
8908 (__mmask8) __U);\
8909})
8910
8911#define _mm_maskz_getmant_pd( __U, __A, __B, __C) __extension__({\
8912__builtin_ia32_getmantpd128_mask ((__v2df) __A,\
8913 (__C << 2) | __B,\
8914 (__v2df) _mm_setzero_pd (),\
8915 (__mmask8) __U);\
8916})
8917
8918#define _mm256_getmant_pd( __A, __B, __C) __extension__ ({ \
8919__builtin_ia32_getmantpd256_mask ((__v4df)( __A),\
8920 (__C << 2) |( __B),\
8921 (__v4df) _mm256_setzero_pd (),\
8922 (__mmask8) -1);\
8923})
8924
8925#define _mm256_mask_getmant_pd( __W, __U, __A, __B, __C) __extension__ ({ \
8926__builtin_ia32_getmantpd256_mask ((__v4df)( __A),\
8927 (__C << 2) |( __B),\
8928 (__v4df)( __W),\
8929 (__mmask8)( __U));\
8930})
8931
8932#define _mm256_maskz_getmant_pd( __U, __A, __B, __C) __extension__ ({ \
8933__builtin_ia32_getmantpd256_mask ((__v4df)( __A),\
8934 (__C << 2) |( __B),\
8935 (__v4df) _mm256_setzero_pd (),\
8936 (__mmask8)( __U));\
8937})
8938
8939#define _mm_getmant_ps( __A, __B, __C) __extension__ ({ \
8940__builtin_ia32_getmantps128_mask ((__v4sf)( __A),\
8941 (__C << 2) |( __B),\
8942 (__v4sf) _mm_setzero_ps (),\
8943 (__mmask8) -1);\
8944})
8945
8946#define _mm_mask_getmant_ps( __W, __U, __A, __B, __C) __extension__ ({ \
8947__builtin_ia32_getmantps128_mask ((__v4sf)( __A),\
8948 (__C << 2) |( __B),\
8949 (__v4sf)( __W),\
8950 (__mmask8)( __U));\
8951})
8952
8953#define _mm_maskz_getmant_ps( __U, __A, __B, __C) __extension__ ({ \
8954__builtin_ia32_getmantps128_mask ((__v4sf)( __A),\
8955 (__C << 2) |( __B),\
8956 (__v4sf) _mm_setzero_ps (),\
8957 (__mmask8)( __U));\
8958})
8959
8960#define _mm256_getmant_ps( __A, __B, __C) __extension__ ({ \
8961__builtin_ia32_getmantps256_mask ((__v8sf)( __A),\
8962 (__C << 2) |( __B),\
8963 (__v8sf) _mm256_setzero_ps (),\
8964 (__mmask8) -1);\
8965})
8966
8967#define _mm256_mask_getmant_ps( __W, __U, __A, __B, __C) __extension__ ({ \
8968__builtin_ia32_getmantps256_mask ((__v8sf)( __A),\
8969 (__C << 2) |( __B),\
8970 (__v8sf)( __W),\
8971 (__mmask8)( __U));\
8972})
8973
8974#define _mm256_maskz_getmant_ps( __U, __A, __B, __C) __extension__ ({ \
8975__builtin_ia32_getmantps256_mask ((__v8sf)( __A),\
8976 (__C << 2) |( __B),\
8977 (__v8sf) _mm256_setzero_ps (),\
8978 (__mmask8)( __U));\
8979})
8980
8981#define _mm_mmask_i64gather_pd( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
8982__builtin_ia32_gather3div2df ((__v2df) __v1_old, __addr, (__v2di) __index,\
8983 __mask, __scale);\
8984})
8985
8986#define _mm_mmask_i64gather_epi64( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
8987__builtin_ia32_gather3div2di ((__v2di) __v1_old, __addr, (__v2di) __index,\
8988 __mask, __scale);\
8989})
8990
8991#define _mm256_mmask_i64gather_pd( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
8992__builtin_ia32_gather3div4df ((__v4df) __v1_old, __addr, (__v4di) __index,\
8993 __mask, __scale);\
8994})
8995
8996#define _mm256_mmask_i64gather_epi64( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
8997__builtin_ia32_gather3div4di ((__v4di) __v1_old, __addr, (__v4di) __index,\
8998 __mask, __scale);\
8999})
9000
9001#define _mm_mmask_i64gather_ps( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9002__builtin_ia32_gather3div4sf ((__v4sf) __v1_old, __addr, (__v2di) __index,\
9003 __mask, __scale);\
9004})
9005
9006#define _mm_mmask_i64gather_epi32( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9007__builtin_ia32_gather3div4si ((__v4si) __v1_old, __addr, (__v2di) __index,\
9008 __mask, __scale);\
9009})
9010
9011#define _mm256_mmask_i64gather_ps( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9012__builtin_ia32_gather3div8sf ((__v4sf) __v1_old, __addr, (__v4di) __index,\
9013 __mask, __scale);\
9014})
9015
9016#define _mm256_mmask_i64gather_epi32( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9017__builtin_ia32_gather3div8si ((__v4si) __v1_old, __addr, (__v4di) __index,\
9018 __mask, __scale);\
9019})
9020
9021#define _mm_mmask_i32gather_pd( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9022__builtin_ia32_gather3siv2df ((__v2df) __v1_old, __addr, (__v4si) __index,\
9023 __mask, __scale);\
9024})
9025
9026#define _mm_mmask_i32gather_epi64( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9027__builtin_ia32_gather3siv2di ((__v2di) __v1_old, __addr, (__v4si) __index,\
9028 __mask, __scale);\
9029})
9030
9031#define _mm256_mmask_i32gather_pd( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9032__builtin_ia32_gather3siv4df ((__v4df) __v1_old, __addr, (__v4si) __index,\
9033 __mask, __scale);\
9034})
9035
9036#define _mm256_mmask_i32gather_epi64( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9037__builtin_ia32_gather3siv4di ((__v4di) __v1_old, __addr, (__v4si) __index,\
9038 __mask, __scale);\
9039})
9040
9041#define _mm_mmask_i32gather_ps( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9042__builtin_ia32_gather3siv4sf ((__v4sf) __v1_old, __addr, (__v4si) __index,\
9043 __mask, __scale);\
9044})
9045
9046#define _mm_mmask_i32gather_epi32( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9047__builtin_ia32_gather3siv4si ((__v4si) __v1_old, __addr, (__v4si) __index,\
9048 __mask, __scale);\
9049})
9050
9051#define _mm256_mmask_i32gather_ps( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9052__builtin_ia32_gather3siv8sf ((__v8sf) __v1_old, __addr, (__v8si) __index,\
9053 __mask, __scale);\
9054})
9055
9056#define _mm256_mmask_i32gather_epi32( __v1_old, __mask, __index, __addr, __scale) __extension__ ({\
9057__builtin_ia32_gather3siv8si ((__v8si) __v1_old, __addr, (__v8si) __index,\
9058 __mask, __scale);\
9059})
9060
9061#define _mm256_mask_permutex_pd( __W, __U, __X, __imm) __extension__ ({ \
9062__builtin_ia32_permdf256_mask ((__v4df)( __X),( __imm),\
9063 (__v4df)( __W),\
9064 (__mmask8)( __U));\
9065})
9066
9067#define _mm256_maskz_permutex_pd( __U, __X, __imm) __extension__ ({ \
9068__builtin_ia32_permdf256_mask ((__v4df)( __X),( __imm),\
9069 (__v4df) _mm256_setzero_pd (),\
9070 (__mmask8)( __U));\
9071})
9072
9073#define _mm256_permutex_pd( __X, __M) __extension__ ({ \
9074__builtin_ia32_permdf256_mask ((__v4df)( __X),( __M),\
9075 (__v4df) _mm256_undefined_pd (),\
9076 (__mmask8) -1);\
9077})
9078
9079#define _mm256_mask_permutex_epi64( __W, __M, __X, __I) __extension__ ({ \
9080__builtin_ia32_permdi256_mask ((__v4di)( __X),\
9081 ( __I),\
9082 (__v4di)( __W),\
9083 (__mmask8)( __M));\
9084})
9085
9086#define _mm256_maskz_permutex_epi64( __M, __X, __I) __extension__ ({ \
9087__builtin_ia32_permdi256_mask ((__v4di)( __X),\
9088 ( __I),\
9089 (__v4di) _mm256_setzero_si256 (),\
9090 (__mmask8)( __M));\
9091})
9092
9093#define _mm256_permutex_epi64( __X, __I) __extension__ ({ \
9094__builtin_ia32_permdi256_mask ((__v4di)( __X),\
9095 ( __I),\
9096 (__v4di) _mm256_undefined_si256 (),\
9097 (__mmask8) -1);\
9098})
9099
9100static __inline__ __m256d __DEFAULT_FN_ATTRS
9101_mm256_permutexvar_pd (__m256i __X, __m256d __Y)
9102{
9103 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
9104 (__v4di) __X,
9105 (__v4df) _mm256_undefined_si256 (),
9106 (__mmask8) -1);
9107}
9108
9109static __inline__ __m256d __DEFAULT_FN_ATTRS
9110_mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
9111 __m256d __Y)
9112{
9113 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
9114 (__v4di) __X,
9115 (__v4df) __W,
9116 (__mmask8) __U);
9117}
9118
9119static __inline__ __m256d __DEFAULT_FN_ATTRS
9120_mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
9121{
9122 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
9123 (__v4di) __X,
9124 (__v4df) _mm256_setzero_pd (),
9125 (__mmask8) __U);
9126}
9127
9128static __inline__ __m256i __DEFAULT_FN_ATTRS
9129_mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
9130{
9131 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9132 (__v4di) __X,
9133 (__v4di) _mm256_setzero_si256 (),
9134 (__mmask8) __M);
9135}
9136
9137static __inline__ __m256i __DEFAULT_FN_ATTRS
9138_mm256_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
9139{
9140 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9141 (__v4di) __X,
9142 (__v4di) _mm256_undefined_si256 (),
9143 (__mmask8) -1);
9144}
9145
9146static __inline__ __m256i __DEFAULT_FN_ATTRS
9147_mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
9148 __m256i __Y)
9149{
9150 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
9151 (__v4di) __X,
9152 (__v4di) __W,
9153 __M);
9154}
9155
9156static __inline__ __m256 __DEFAULT_FN_ATTRS
9157_mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X,
9158 __m256 __Y)
9159{
9160 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
9161 (__v8si) __X,
9162 (__v8sf) __W,
9163 (__mmask8) __U);
9164}
9165
9166static __inline__ __m256 __DEFAULT_FN_ATTRS
9167_mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y)
9168{
9169 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
9170 (__v8si) __X,
9171 (__v8sf) _mm256_setzero_ps (),
9172 (__mmask8) __U);
9173}
9174
9175static __inline__ __m256 __DEFAULT_FN_ATTRS
9176_mm256_permutexvar_ps (__m256i __X, __m256 __Y)
9177{
9178 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
9179 (__v8si) __X,
9180 (__v8sf) _mm256_undefined_si256 (),
9181 (__mmask8) -1);
9182}
9183
9184static __inline__ __m256i __DEFAULT_FN_ATTRS
9185_mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
9186{
9187 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9188 (__v8si) __X,
9189 (__v8si) _mm256_setzero_si256 (),
9190 __M);
9191}
9192
9193static __inline__ __m256i __DEFAULT_FN_ATTRS
9194_mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
9195 __m256i __Y)
9196{
9197 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9198 (__v8si) __X,
9199 (__v8si) __W,
9200 (__mmask8) __M);
9201}
9202
9203static __inline__ __m256i __DEFAULT_FN_ATTRS
9204_mm256_permutexvar_epi32 (__m256i __X, __m256i __Y)
9205{
9206 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
9207 (__v8si) __X,
9208 (__v8si) _mm256_undefined_si256(),
9209 (__mmask8) -1);
9210}
9211
9212#define _mm_alignr_epi32( __A, __B, __imm) __extension__ ({ \
9213__builtin_ia32_alignd128_mask ((__v4si)( __A),\
9214 (__v4si)( __B),( __imm),\
9215 (__v4si) _mm_undefined_si128 (),\
9216 (__mmask8) -1);\
9217})
9218
9219#define _mm_mask_alignr_epi32( __W, __U, __A, __B, __imm) __extension__ ({ \
9220__builtin_ia32_alignd128_mask ((__v4si)( __A),\
9221 (__v4si)( __B),( __imm),\
9222 (__v4si)( __W),\
9223 (__mmask8)( __U));\
9224})
9225
9226#define _mm_maskz_alignr_epi32( __U, __A, __B, __imm) __extension__ ({ \
9227__builtin_ia32_alignd128_mask ((__v4si)( __A),\
9228 (__v4si)( __B),( __imm),\
9229 (__v4si) _mm_setzero_si128 (),\
9230 (__mmask8)( __U));\
9231})
9232
9233#define _mm256_alignr_epi32( __A, __B, __imm) __extension__ ({ \
9234__builtin_ia32_alignd256_mask ((__v8si)( __A),\
9235 (__v8si)( __B),( __imm),\
9236 (__v8si) _mm256_undefined_si256 (),\
9237 (__mmask8) -1);\
9238})
9239
9240#define _mm256_mask_alignr_epi32( __W, __U, __A, __B, __imm) __extension__ ({ \
9241__builtin_ia32_alignd256_mask ((__v8si)( __A),\
9242 (__v8si)( __B),( __imm),\
9243 (__v8si)( __W),\
9244 (__mmask8)( __U));\
9245})
9246
9247#define _mm256_maskz_alignr_epi32( __U, __A, __B, __imm) __extension__ ({ \
9248__builtin_ia32_alignd256_mask ((__v8si)( __A),\
9249 (__v8si)( __B),( __imm),\
9250 (__v8si) _mm256_setzero_si256 (),\
9251 (__mmask8)( __U));\
9252})
9253
9254#define _mm_alignr_epi64( __A, __B, __imm) __extension__ ({ \
9255__builtin_ia32_alignq128_mask ((__v2di)( __A),\
9256 (__v2di)( __B),( __imm),\
9257 (__v2di) _mm_setzero_di (),\
9258 (__mmask8) -1);\
9259})
9260
9261#define _mm_mask_alignr_epi64( __W, __U, __A, __B, __imm) __extension__ ({ \
9262__builtin_ia32_alignq128_mask ((__v2di)( __A),\
9263 (__v2di)( __B),( __imm),\
9264 (__v2di)( __W),\
9265 (__mmask8)( __U));\
9266})
9267
9268#define _mm_maskz_alignr_epi64( __U, __A, __B, __imm) __extension__ ({ \
9269__builtin_ia32_alignq128_mask ((__v2di)( __A),\
9270 (__v2di)( __B),( __imm),\
9271 (__v2di) _mm_setzero_di (),\
9272 (__mmask8)( __U));\
9273})
9274
9275#define _mm256_alignr_epi64( __A, __B, __imm) __extension__ ({ \
9276__builtin_ia32_alignq256_mask ((__v4di)( __A),\
9277 (__v4di)( __B),( __imm),\
9278 (__v4di) _mm256_undefined_pd (),\
9279 (__mmask8) -1);\
9280})
9281
9282#define _mm256_mask_alignr_epi64( __W, __U, __A, __B, __imm) __extension__ ({ \
9283__builtin_ia32_alignq256_mask ((__v4di)( __A),\
9284 (__v4di)( __B),( __imm),\
9285 (__v4di)( __W),\
9286 (__mmask8)( __U));\
9287})
9288
9289#define _mm256_maskz_alignr_epi64( __U, __A, __B, __imm) __extension__ ({ \
9290__builtin_ia32_alignq256_mask ((__v4di)( __A),\
9291 (__v4di)( __B),( __imm),\
9292 (__v4di) _mm256_setzero_si256 (),\
9293 (__mmask8)( __U));\
9294})
9295
9296static __inline__ __m128 __DEFAULT_FN_ATTRS
9297_mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
9298{
9299 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
9300 (__v4sf) __W,
9301 (__mmask8) __U);
9302}
9303
9304static __inline__ __m128 __DEFAULT_FN_ATTRS
9305_mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
9306{
9307 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
9308 (__v4sf)
9309 _mm_setzero_ps (),
9310 (__mmask8) __U);
9311}
9312
9313static __inline__ __m256 __DEFAULT_FN_ATTRS
9314_mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
9315{
9316 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
9317 (__v8sf) __W,
9318 (__mmask8) __U);
9319}
9320
9321static __inline__ __m256 __DEFAULT_FN_ATTRS
9322_mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
9323{
9324 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
9325 (__v8sf)
9326 _mm256_setzero_ps (),
9327 (__mmask8) __U);
9328}
9329
9330static __inline__ __m128 __DEFAULT_FN_ATTRS
9331_mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
9332{
9333 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
9334 (__v4sf) __W,
9335 (__mmask8) __U);
9336}
9337
9338static __inline__ __m128 __DEFAULT_FN_ATTRS
9339_mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
9340{
9341 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
9342 (__v4sf)
9343 _mm_setzero_ps (),
9344 (__mmask8) __U);
9345}
9346
9347static __inline__ __m256 __DEFAULT_FN_ATTRS
9348_mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
9349{
9350 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
9351 (__v8sf) __W,
9352 (__mmask8) __U);
9353}
9354
9355static __inline__ __m256 __DEFAULT_FN_ATTRS
9356_mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
9357{
9358 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
9359 (__v8sf)
9360 _mm256_setzero_ps (),
9361 (__mmask8) __U);
9362}
9363
9364#define _mm256_mask_shuffle_epi32( __W, __U, __A, __I) __extension__({\
9365__builtin_ia32_pshufd256_mask((__v8si) (__A), (__I),\
9366 (__v8si) (__W), (__mmask8) __U);\
9367})
9368
9369#define _mm256_maskz_shuffle_epi32( __U, __A, __I) __extension__({\
9370__builtin_ia32_pshufd256_mask((__v8si) (__A), (__I),\
9371 (__v8si) _mm256_setzero_si256 (),\
9372 (__mmask8) (__U));\
9373})
9374
9375#define _mm_mask_shuffle_epi32( __W, __U, __A, __I) __extension__({\
9376 __builtin_ia32_pshufd128_mask ((__v4si) (__A), (__I),\
9377 (__v4si) (__W), (__mmask8) __U);\
9378})
9379
9380#define _mm_maskz_shuffle_epi32( __U, __A, __I) __extension__({\
9381 __builtin_ia32_pshufd128_mask ((__v4si) (__A), (__I),\
9382 (__v4si)\
9383 _mm_setzero_si128 (),\
9384 (__mmask8) (__U));\
9385})
9386
9387
9388static __inline__ __m128d __DEFAULT_FN_ATTRS
9389_mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A)
9390{
9391 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
9392 (__v2df) __W,
9393 (__mmask8) __U);
9394}
9395
9396static __inline__ __m128d __DEFAULT_FN_ATTRS
9397_mm_maskz_mov_pd (__mmask8 __U, __m128d __A)
9398{
9399 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
9400 (__v2df)
9401 _mm_setzero_pd (),
9402 (__mmask8) __U);
9403}
9404
9405static __inline__ __m256d __DEFAULT_FN_ATTRS
9406_mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A)
9407{
9408 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
9409 (__v4df) __W,
9410 (__mmask8) __U);
9411}
9412
9413static __inline__ __m256d __DEFAULT_FN_ATTRS
9414_mm256_maskz_mov_pd (__mmask8 __U, __m256d __A)
9415{
9416 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
9417 (__v4df)
9418 _mm256_setzero_pd (),
9419 (__mmask8) __U);
9420}
9421
9422static __inline__ __m128 __DEFAULT_FN_ATTRS
9423_mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A)
9424{
9425 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
9426 (__v4sf) __W,
9427 (__mmask8) __U);
9428}
9429
9430static __inline__ __m128 __DEFAULT_FN_ATTRS
9431_mm_maskz_mov_ps (__mmask8 __U, __m128 __A)
9432{
9433 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
9434 (__v4sf)
9435 _mm_setzero_ps (),
9436 (__mmask8) __U);
9437}
9438
9439static __inline__ __m256 __DEFAULT_FN_ATTRS
9440_mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A)
9441{
9442 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
9443 (__v8sf) __W,
9444 (__mmask8) __U);
9445}
9446
9447static __inline__ __m256 __DEFAULT_FN_ATTRS
9448_mm256_maskz_mov_ps (__mmask8 __U, __m256 __A)
9449{
9450 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
9451 (__v8sf)
9452 _mm256_setzero_ps (),
9453 (__mmask8) __U);
9454}
9455
9456static __inline__ __m128 __DEFAULT_FN_ATTRS
9457_mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A)
9458{
9459 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
9460 (__v4sf) __W,
9461 (__mmask8) __U);
9462}
9463
9464static __inline__ __m128 __DEFAULT_FN_ATTRS
9465_mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
9466{
9467 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
9468 (__v4sf)
9469 _mm_setzero_ps (),
9470 (__mmask8) __U);
9471}
9472
9473static __inline__ __m256 __DEFAULT_FN_ATTRS
9474_mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A)
9475{
9476 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
9477 (__v8sf) __W,
9478 (__mmask8) __U);
9479}
9480
9481static __inline__ __m256 __DEFAULT_FN_ATTRS
9482_mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
9483{
9484 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
9485 (__v8sf)
9486 _mm256_setzero_ps (),
9487 (__mmask8) __U);
9488}
9489
9490#define _mm_mask_cvtps_ph( __W, __U, __A, __I) __extension__ ({ \
9491__builtin_ia32_vcvtps2ph_mask ((__v4sf)( __A),( __I),\
9492 (__v8hi)( __W),\
9493 (__mmask8)( __U));\
9494})
9495
9496#define _mm_maskz_cvtps_ph( __U, __A, __I) __extension__ ({ \
9497__builtin_ia32_vcvtps2ph_mask ((__v4sf)( __A),( __I),\
9498 (__v8hi)\
9499 _mm_setzero_si128 (),\
9500 (__mmask8)( __U));\
9501})
9502
9503#define _mm256_mask_cvtps_ph( __W, __U, __A, __I) __extension__ ({ \
9504__builtin_ia32_vcvtps2ph256_mask ((__v8sf)( __A),( __I),\
9505 (__v8hi)( __W),\
9506 (__mmask8)( __U));\
9507})
9508
9509#define _mm256_maskz_cvtps_ph( __U, __A, __I) __extension__ ({ \
9510__builtin_ia32_vcvtps2ph256_mask ((__v8sf)( __A),( __I),\
9511 (__v8hi)\
9512 _mm_setzero_si128 (),\
9513 (__mmask8)( __U));\
9514})
9515
Ben Murdoch097c5b22016-05-18 11:27:45 +01009516#undef __DEFAULT_FN_ATTRS
9517#undef __DEFAULT_FN_ATTRS_BOTH
9518
9519#endif /* __AVX512VLINTRIN_H */