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