clang  6.0.0svn
avx512vlintrin.h
Go to the documentation of this file.
1 /*===---- avx512vlintrin.h - AVX512VL intrinsics ---------------------------===
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to deal
5  * in the Software without restriction, including without limitation the rights
6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  * copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in
11  * all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  * THE SOFTWARE.
20  *
21  *===-----------------------------------------------------------------------===
22  */
23 
24 #ifndef __IMMINTRIN_H
25 #error "Never use <avx512vlintrin.h> directly; include <immintrin.h> instead."
26 #endif
27 
28 #ifndef __AVX512VLINTRIN_H
29 #define __AVX512VLINTRIN_H
30 
31 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl")))
32 
33 /* Doesn't require avx512vl, used in avx512dqintrin.h */
34 static __inline __m128i __attribute__((__always_inline__, __nodebug__, __target__("avx512f")))
35 _mm_setzero_di(void) {
36  return (__m128i)(__v2di){ 0LL, 0LL};
37 }
38 
39 /* Integer compare */
40 
41 #define _mm_cmpeq_epi32_mask(A, B) \
42  _mm_cmp_epi32_mask((A), (B), _MM_CMPINT_EQ)
43 #define _mm_mask_cmpeq_epi32_mask(k, A, B) \
44  _mm_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_EQ)
45 #define _mm_cmpge_epi32_mask(A, B) \
46  _mm_cmp_epi32_mask((A), (B), _MM_CMPINT_GE)
47 #define _mm_mask_cmpge_epi32_mask(k, A, B) \
48  _mm_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_GE)
49 #define _mm_cmpgt_epi32_mask(A, B) \
50  _mm_cmp_epi32_mask((A), (B), _MM_CMPINT_GT)
51 #define _mm_mask_cmpgt_epi32_mask(k, A, B) \
52  _mm_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_GT)
53 #define _mm_cmple_epi32_mask(A, B) \
54  _mm_cmp_epi32_mask((A), (B), _MM_CMPINT_LE)
55 #define _mm_mask_cmple_epi32_mask(k, A, B) \
56  _mm_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_LE)
57 #define _mm_cmplt_epi32_mask(A, B) \
58  _mm_cmp_epi32_mask((A), (B), _MM_CMPINT_LT)
59 #define _mm_mask_cmplt_epi32_mask(k, A, B) \
60  _mm_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_LT)
61 #define _mm_cmpneq_epi32_mask(A, B) \
62  _mm_cmp_epi32_mask((A), (B), _MM_CMPINT_NE)
63 #define _mm_mask_cmpneq_epi32_mask(k, A, B) \
64  _mm_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_NE)
65 
66 #define _mm256_cmpeq_epi32_mask(A, B) \
67  _mm256_cmp_epi32_mask((A), (B), _MM_CMPINT_EQ)
68 #define _mm256_mask_cmpeq_epi32_mask(k, A, B) \
69  _mm256_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_EQ)
70 #define _mm256_cmpge_epi32_mask(A, B) \
71  _mm256_cmp_epi32_mask((A), (B), _MM_CMPINT_GE)
72 #define _mm256_mask_cmpge_epi32_mask(k, A, B) \
73  _mm256_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_GE)
74 #define _mm256_cmpgt_epi32_mask(A, B) \
75  _mm256_cmp_epi32_mask((A), (B), _MM_CMPINT_GT)
76 #define _mm256_mask_cmpgt_epi32_mask(k, A, B) \
77  _mm256_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_GT)
78 #define _mm256_cmple_epi32_mask(A, B) \
79  _mm256_cmp_epi32_mask((A), (B), _MM_CMPINT_LE)
80 #define _mm256_mask_cmple_epi32_mask(k, A, B) \
81  _mm256_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_LE)
82 #define _mm256_cmplt_epi32_mask(A, B) \
83  _mm256_cmp_epi32_mask((A), (B), _MM_CMPINT_LT)
84 #define _mm256_mask_cmplt_epi32_mask(k, A, B) \
85  _mm256_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_LT)
86 #define _mm256_cmpneq_epi32_mask(A, B) \
87  _mm256_cmp_epi32_mask((A), (B), _MM_CMPINT_NE)
88 #define _mm256_mask_cmpneq_epi32_mask(k, A, B) \
89  _mm256_mask_cmp_epi32_mask((k), (A), (B), _MM_CMPINT_NE)
90 
91 #define _mm_cmpeq_epu32_mask(A, B) \
92  _mm_cmp_epu32_mask((A), (B), _MM_CMPINT_EQ)
93 #define _mm_mask_cmpeq_epu32_mask(k, A, B) \
94  _mm_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_EQ)
95 #define _mm_cmpge_epu32_mask(A, B) \
96  _mm_cmp_epu32_mask((A), (B), _MM_CMPINT_GE)
97 #define _mm_mask_cmpge_epu32_mask(k, A, B) \
98  _mm_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_GE)
99 #define _mm_cmpgt_epu32_mask(A, B) \
100  _mm_cmp_epu32_mask((A), (B), _MM_CMPINT_GT)
101 #define _mm_mask_cmpgt_epu32_mask(k, A, B) \
102  _mm_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_GT)
103 #define _mm_cmple_epu32_mask(A, B) \
104  _mm_cmp_epu32_mask((A), (B), _MM_CMPINT_LE)
105 #define _mm_mask_cmple_epu32_mask(k, A, B) \
106  _mm_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_LE)
107 #define _mm_cmplt_epu32_mask(A, B) \
108  _mm_cmp_epu32_mask((A), (B), _MM_CMPINT_LT)
109 #define _mm_mask_cmplt_epu32_mask(k, A, B) \
110  _mm_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_LT)
111 #define _mm_cmpneq_epu32_mask(A, B) \
112  _mm_cmp_epu32_mask((A), (B), _MM_CMPINT_NE)
113 #define _mm_mask_cmpneq_epu32_mask(k, A, B) \
114  _mm_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_NE)
115 
116 #define _mm256_cmpeq_epu32_mask(A, B) \
117  _mm256_cmp_epu32_mask((A), (B), _MM_CMPINT_EQ)
118 #define _mm256_mask_cmpeq_epu32_mask(k, A, B) \
119  _mm256_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_EQ)
120 #define _mm256_cmpge_epu32_mask(A, B) \
121  _mm256_cmp_epu32_mask((A), (B), _MM_CMPINT_GE)
122 #define _mm256_mask_cmpge_epu32_mask(k, A, B) \
123  _mm256_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_GE)
124 #define _mm256_cmpgt_epu32_mask(A, B) \
125  _mm256_cmp_epu32_mask((A), (B), _MM_CMPINT_GT)
126 #define _mm256_mask_cmpgt_epu32_mask(k, A, B) \
127  _mm256_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_GT)
128 #define _mm256_cmple_epu32_mask(A, B) \
129  _mm256_cmp_epu32_mask((A), (B), _MM_CMPINT_LE)
130 #define _mm256_mask_cmple_epu32_mask(k, A, B) \
131  _mm256_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_LE)
132 #define _mm256_cmplt_epu32_mask(A, B) \
133  _mm256_cmp_epu32_mask((A), (B), _MM_CMPINT_LT)
134 #define _mm256_mask_cmplt_epu32_mask(k, A, B) \
135  _mm256_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_LT)
136 #define _mm256_cmpneq_epu32_mask(A, B) \
137  _mm256_cmp_epu32_mask((A), (B), _MM_CMPINT_NE)
138 #define _mm256_mask_cmpneq_epu32_mask(k, A, B) \
139  _mm256_mask_cmp_epu32_mask((k), (A), (B), _MM_CMPINT_NE)
140 
141 #define _mm_cmpeq_epi64_mask(A, B) \
142  _mm_cmp_epi64_mask((A), (B), _MM_CMPINT_EQ)
143 #define _mm_mask_cmpeq_epi64_mask(k, A, B) \
144  _mm_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_EQ)
145 #define _mm_cmpge_epi64_mask(A, B) \
146  _mm_cmp_epi64_mask((A), (B), _MM_CMPINT_GE)
147 #define _mm_mask_cmpge_epi64_mask(k, A, B) \
148  _mm_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_GE)
149 #define _mm_cmpgt_epi64_mask(A, B) \
150  _mm_cmp_epi64_mask((A), (B), _MM_CMPINT_GT)
151 #define _mm_mask_cmpgt_epi64_mask(k, A, B) \
152  _mm_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_GT)
153 #define _mm_cmple_epi64_mask(A, B) \
154  _mm_cmp_epi64_mask((A), (B), _MM_CMPINT_LE)
155 #define _mm_mask_cmple_epi64_mask(k, A, B) \
156  _mm_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_LE)
157 #define _mm_cmplt_epi64_mask(A, B) \
158  _mm_cmp_epi64_mask((A), (B), _MM_CMPINT_LT)
159 #define _mm_mask_cmplt_epi64_mask(k, A, B) \
160  _mm_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_LT)
161 #define _mm_cmpneq_epi64_mask(A, B) \
162  _mm_cmp_epi64_mask((A), (B), _MM_CMPINT_NE)
163 #define _mm_mask_cmpneq_epi64_mask(k, A, B) \
164  _mm_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_NE)
165 
166 #define _mm256_cmpeq_epi64_mask(A, B) \
167  _mm256_cmp_epi64_mask((A), (B), _MM_CMPINT_EQ)
168 #define _mm256_mask_cmpeq_epi64_mask(k, A, B) \
169  _mm256_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_EQ)
170 #define _mm256_cmpge_epi64_mask(A, B) \
171  _mm256_cmp_epi64_mask((A), (B), _MM_CMPINT_GE)
172 #define _mm256_mask_cmpge_epi64_mask(k, A, B) \
173  _mm256_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_GE)
174 #define _mm256_cmpgt_epi64_mask(A, B) \
175  _mm256_cmp_epi64_mask((A), (B), _MM_CMPINT_GT)
176 #define _mm256_mask_cmpgt_epi64_mask(k, A, B) \
177  _mm256_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_GT)
178 #define _mm256_cmple_epi64_mask(A, B) \
179  _mm256_cmp_epi64_mask((A), (B), _MM_CMPINT_LE)
180 #define _mm256_mask_cmple_epi64_mask(k, A, B) \
181  _mm256_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_LE)
182 #define _mm256_cmplt_epi64_mask(A, B) \
183  _mm256_cmp_epi64_mask((A), (B), _MM_CMPINT_LT)
184 #define _mm256_mask_cmplt_epi64_mask(k, A, B) \
185  _mm256_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_LT)
186 #define _mm256_cmpneq_epi64_mask(A, B) \
187  _mm256_cmp_epi64_mask((A), (B), _MM_CMPINT_NE)
188 #define _mm256_mask_cmpneq_epi64_mask(k, A, B) \
189  _mm256_mask_cmp_epi64_mask((k), (A), (B), _MM_CMPINT_NE)
190 
191 #define _mm_cmpeq_epu64_mask(A, B) \
192  _mm_cmp_epu64_mask((A), (B), _MM_CMPINT_EQ)
193 #define _mm_mask_cmpeq_epu64_mask(k, A, B) \
194  _mm_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_EQ)
195 #define _mm_cmpge_epu64_mask(A, B) \
196  _mm_cmp_epu64_mask((A), (B), _MM_CMPINT_GE)
197 #define _mm_mask_cmpge_epu64_mask(k, A, B) \
198  _mm_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_GE)
199 #define _mm_cmpgt_epu64_mask(A, B) \
200  _mm_cmp_epu64_mask((A), (B), _MM_CMPINT_GT)
201 #define _mm_mask_cmpgt_epu64_mask(k, A, B) \
202  _mm_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_GT)
203 #define _mm_cmple_epu64_mask(A, B) \
204  _mm_cmp_epu64_mask((A), (B), _MM_CMPINT_LE)
205 #define _mm_mask_cmple_epu64_mask(k, A, B) \
206  _mm_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_LE)
207 #define _mm_cmplt_epu64_mask(A, B) \
208  _mm_cmp_epu64_mask((A), (B), _MM_CMPINT_LT)
209 #define _mm_mask_cmplt_epu64_mask(k, A, B) \
210  _mm_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_LT)
211 #define _mm_cmpneq_epu64_mask(A, B) \
212  _mm_cmp_epu64_mask((A), (B), _MM_CMPINT_NE)
213 #define _mm_mask_cmpneq_epu64_mask(k, A, B) \
214  _mm_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_NE)
215 
216 #define _mm256_cmpeq_epu64_mask(A, B) \
217  _mm256_cmp_epu64_mask((A), (B), _MM_CMPINT_EQ)
218 #define _mm256_mask_cmpeq_epu64_mask(k, A, B) \
219  _mm256_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_EQ)
220 #define _mm256_cmpge_epu64_mask(A, B) \
221  _mm256_cmp_epu64_mask((A), (B), _MM_CMPINT_GE)
222 #define _mm256_mask_cmpge_epu64_mask(k, A, B) \
223  _mm256_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_GE)
224 #define _mm256_cmpgt_epu64_mask(A, B) \
225  _mm256_cmp_epu64_mask((A), (B), _MM_CMPINT_GT)
226 #define _mm256_mask_cmpgt_epu64_mask(k, A, B) \
227  _mm256_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_GT)
228 #define _mm256_cmple_epu64_mask(A, B) \
229  _mm256_cmp_epu64_mask((A), (B), _MM_CMPINT_LE)
230 #define _mm256_mask_cmple_epu64_mask(k, A, B) \
231  _mm256_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_LE)
232 #define _mm256_cmplt_epu64_mask(A, B) \
233  _mm256_cmp_epu64_mask((A), (B), _MM_CMPINT_LT)
234 #define _mm256_mask_cmplt_epu64_mask(k, A, B) \
235  _mm256_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_LT)
236 #define _mm256_cmpneq_epu64_mask(A, B) \
237  _mm256_cmp_epu64_mask((A), (B), _MM_CMPINT_NE)
238 #define _mm256_mask_cmpneq_epu64_mask(k, A, B) \
239  _mm256_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_NE)
240 
241 static __inline__ __m256i __DEFAULT_FN_ATTRS
242 _mm256_mask_add_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
243 {
244  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
245  (__v8si)_mm256_add_epi32(__A, __B),
246  (__v8si)__W);
247 }
248 
249 static __inline__ __m256i __DEFAULT_FN_ATTRS
250 _mm256_maskz_add_epi32(__mmask8 __U, __m256i __A, __m256i __B)
251 {
252  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
253  (__v8si)_mm256_add_epi32(__A, __B),
254  (__v8si)_mm256_setzero_si256());
255 }
256 
257 static __inline__ __m256i __DEFAULT_FN_ATTRS
258 _mm256_mask_add_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
259 {
260  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
261  (__v4di)_mm256_add_epi64(__A, __B),
262  (__v4di)__W);
263 }
264 
265 static __inline__ __m256i __DEFAULT_FN_ATTRS
266 _mm256_maskz_add_epi64(__mmask8 __U, __m256i __A, __m256i __B)
267 {
268  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
269  (__v4di)_mm256_add_epi64(__A, __B),
270  (__v4di)_mm256_setzero_si256());
271 }
272 
273 static __inline__ __m256i __DEFAULT_FN_ATTRS
274 _mm256_mask_sub_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
275 {
276  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
277  (__v8si)_mm256_sub_epi32(__A, __B),
278  (__v8si)__W);
279 }
280 
281 static __inline__ __m256i __DEFAULT_FN_ATTRS
282 _mm256_maskz_sub_epi32(__mmask8 __U, __m256i __A, __m256i __B)
283 {
284  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
285  (__v8si)_mm256_sub_epi32(__A, __B),
286  (__v8si)_mm256_setzero_si256());
287 }
288 
289 static __inline__ __m256i __DEFAULT_FN_ATTRS
290 _mm256_mask_sub_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
291 {
292  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
293  (__v4di)_mm256_sub_epi64(__A, __B),
294  (__v4di)__W);
295 }
296 
297 static __inline__ __m256i __DEFAULT_FN_ATTRS
298 _mm256_maskz_sub_epi64(__mmask8 __U, __m256i __A, __m256i __B)
299 {
300  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
301  (__v4di)_mm256_sub_epi64(__A, __B),
302  (__v4di)_mm256_setzero_si256());
303 }
304 
305 static __inline__ __m128i __DEFAULT_FN_ATTRS
306 _mm_mask_add_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
307 {
308  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
309  (__v4si)_mm_add_epi32(__A, __B),
310  (__v4si)__W);
311 }
312 
313 static __inline__ __m128i __DEFAULT_FN_ATTRS
314 _mm_maskz_add_epi32(__mmask8 __U, __m128i __A, __m128i __B)
315 {
316  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
317  (__v4si)_mm_add_epi32(__A, __B),
318  (__v4si)_mm_setzero_si128());
319 }
320 
321 static __inline__ __m128i __DEFAULT_FN_ATTRS
322 _mm_mask_add_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
323 {
324  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
325  (__v2di)_mm_add_epi64(__A, __B),
326  (__v2di)__W);
327 }
328 
329 static __inline__ __m128i __DEFAULT_FN_ATTRS
330 _mm_maskz_add_epi64(__mmask8 __U, __m128i __A, __m128i __B)
331 {
332  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
333  (__v2di)_mm_add_epi64(__A, __B),
334  (__v2di)_mm_setzero_si128());
335 }
336 
337 static __inline__ __m128i __DEFAULT_FN_ATTRS
338 _mm_mask_sub_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
339 {
340  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
341  (__v4si)_mm_sub_epi32(__A, __B),
342  (__v4si)__W);
343 }
344 
345 static __inline__ __m128i __DEFAULT_FN_ATTRS
346 _mm_maskz_sub_epi32(__mmask8 __U, __m128i __A, __m128i __B)
347 {
348  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
349  (__v4si)_mm_sub_epi32(__A, __B),
350  (__v4si)_mm_setzero_si128());
351 }
352 
353 static __inline__ __m128i __DEFAULT_FN_ATTRS
354 _mm_mask_sub_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
355 {
356  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
357  (__v2di)_mm_sub_epi64(__A, __B),
358  (__v2di)__W);
359 }
360 
361 static __inline__ __m128i __DEFAULT_FN_ATTRS
362 _mm_maskz_sub_epi64(__mmask8 __U, __m128i __A, __m128i __B)
363 {
364  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
365  (__v2di)_mm_sub_epi64(__A, __B),
366  (__v2di)_mm_setzero_si128());
367 }
368 
369 static __inline__ __m256i __DEFAULT_FN_ATTRS
370 _mm256_mask_mul_epi32(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
371 {
372  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
373  (__v4di)_mm256_mul_epi32(__X, __Y),
374  (__v4di)__W);
375 }
376 
377 static __inline__ __m256i __DEFAULT_FN_ATTRS
378 _mm256_maskz_mul_epi32(__mmask8 __M, __m256i __X, __m256i __Y)
379 {
380  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
381  (__v4di)_mm256_mul_epi32(__X, __Y),
382  (__v4di)_mm256_setzero_si256());
383 }
384 
385 static __inline__ __m128i __DEFAULT_FN_ATTRS
386 _mm_mask_mul_epi32(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
387 {
388  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
389  (__v2di)_mm_mul_epi32(__X, __Y),
390  (__v2di)__W);
391 }
392 
393 static __inline__ __m128i __DEFAULT_FN_ATTRS
394 _mm_maskz_mul_epi32(__mmask8 __M, __m128i __X, __m128i __Y)
395 {
396  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
397  (__v2di)_mm_mul_epi32(__X, __Y),
398  (__v2di)_mm_setzero_si128());
399 }
400 
401 static __inline__ __m256i __DEFAULT_FN_ATTRS
402 _mm256_mask_mul_epu32(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
403 {
404  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
405  (__v4di)_mm256_mul_epu32(__X, __Y),
406  (__v4di)__W);
407 }
408 
409 static __inline__ __m256i __DEFAULT_FN_ATTRS
410 _mm256_maskz_mul_epu32(__mmask8 __M, __m256i __X, __m256i __Y)
411 {
412  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
413  (__v4di)_mm256_mul_epu32(__X, __Y),
414  (__v4di)_mm256_setzero_si256());
415 }
416 
417 static __inline__ __m128i __DEFAULT_FN_ATTRS
418 _mm_mask_mul_epu32(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
419 {
420  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
421  (__v2di)_mm_mul_epu32(__X, __Y),
422  (__v2di)__W);
423 }
424 
425 static __inline__ __m128i __DEFAULT_FN_ATTRS
426 _mm_maskz_mul_epu32(__mmask8 __M, __m128i __X, __m128i __Y)
427 {
428  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
429  (__v2di)_mm_mul_epu32(__X, __Y),
430  (__v2di)_mm_setzero_si128());
431 }
432 
433 static __inline__ __m256i __DEFAULT_FN_ATTRS
434 _mm256_maskz_mullo_epi32(__mmask8 __M, __m256i __A, __m256i __B)
435 {
436  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
437  (__v8si)_mm256_mullo_epi32(__A, __B),
438  (__v8si)_mm256_setzero_si256());
439 }
440 
441 static __inline__ __m256i __DEFAULT_FN_ATTRS
442 _mm256_mask_mullo_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B)
443 {
444  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
445  (__v8si)_mm256_mullo_epi32(__A, __B),
446  (__v8si)__W);
447 }
448 
449 static __inline__ __m128i __DEFAULT_FN_ATTRS
450 _mm_maskz_mullo_epi32(__mmask8 __M, __m128i __A, __m128i __B)
451 {
452  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
453  (__v4si)_mm_mullo_epi32(__A, __B),
454  (__v4si)_mm_setzero_si128());
455 }
456 
457 static __inline__ __m128i __DEFAULT_FN_ATTRS
458 _mm_mask_mullo_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
459 {
460  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
461  (__v4si)_mm_mullo_epi32(__A, __B),
462  (__v4si)__W);
463 }
464 
465 static __inline__ __m256i __DEFAULT_FN_ATTRS
466 _mm256_mask_and_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
467 {
468  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
469  (__v8si)_mm256_and_si256(__A, __B),
470  (__v8si)__W);
471 }
472 
473 static __inline__ __m256i __DEFAULT_FN_ATTRS
474 _mm256_maskz_and_epi32(__mmask8 __U, __m256i __A, __m256i __B)
475 {
476  return (__m256i)_mm256_mask_and_epi32(_mm256_setzero_si256(), __U, __A, __B);
477 }
478 
479 static __inline__ __m128i __DEFAULT_FN_ATTRS
480 _mm_mask_and_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
481 {
482  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
483  (__v4si)_mm_and_si128(__A, __B),
484  (__v4si)__W);
485 }
486 
487 static __inline__ __m128i __DEFAULT_FN_ATTRS
488 _mm_maskz_and_epi32(__mmask8 __U, __m128i __A, __m128i __B)
489 {
490  return (__m128i)_mm_mask_and_epi32(_mm_setzero_si128(), __U, __A, __B);
491 }
492 
493 static __inline__ __m256i __DEFAULT_FN_ATTRS
494 _mm256_mask_andnot_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
495 {
496  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
497  (__v8si)_mm256_andnot_si256(__A, __B),
498  (__v8si)__W);
499 }
500 
501 static __inline__ __m256i __DEFAULT_FN_ATTRS
502 _mm256_maskz_andnot_epi32(__mmask8 __U, __m256i __A, __m256i __B)
503 {
505  __U, __A, __B);
506 }
507 
508 static __inline__ __m128i __DEFAULT_FN_ATTRS
509 _mm_mask_andnot_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
510 {
511  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
512  (__v4si)_mm_andnot_si128(__A, __B),
513  (__v4si)__W);
514 }
515 
516 static __inline__ __m128i __DEFAULT_FN_ATTRS
517 _mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
518 {
519  return (__m128i)_mm_mask_andnot_epi32(_mm_setzero_si128(), __U, __A, __B);
520 }
521 
522 static __inline__ __m256i __DEFAULT_FN_ATTRS
523 _mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
524 {
525  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
526  (__v8si)_mm256_or_si256(__A, __B),
527  (__v8si)__W);
528 }
529 
530 static __inline__ __m256i __DEFAULT_FN_ATTRS
531 _mm256_maskz_or_epi32(__mmask8 __U, __m256i __A, __m256i __B)
532 {
533  return (__m256i)_mm256_mask_or_epi32(_mm256_setzero_si256(), __U, __A, __B);
534 }
535 
536 static __inline__ __m128i __DEFAULT_FN_ATTRS
537 _mm_mask_or_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
538 {
539  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
540  (__v4si)_mm_or_si128(__A, __B),
541  (__v4si)__W);
542 }
543 
544 static __inline__ __m128i __DEFAULT_FN_ATTRS
545 _mm_maskz_or_epi32(__mmask8 __U, __m128i __A, __m128i __B)
546 {
547  return (__m128i)_mm_mask_or_epi32(_mm_setzero_si128(), __U, __A, __B);
548 }
549 
550 static __inline__ __m256i __DEFAULT_FN_ATTRS
551 _mm256_mask_xor_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
552 {
553  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
554  (__v8si)_mm256_xor_si256(__A, __B),
555  (__v8si)__W);
556 }
557 
558 static __inline__ __m256i __DEFAULT_FN_ATTRS
559 _mm256_maskz_xor_epi32(__mmask8 __U, __m256i __A, __m256i __B)
560 {
561  return (__m256i)_mm256_mask_xor_epi32(_mm256_setzero_si256(), __U, __A, __B);
562 }
563 
564 static __inline__ __m128i __DEFAULT_FN_ATTRS
565 _mm_mask_xor_epi32(__m128i __W, __mmask8 __U, __m128i __A,
566  __m128i __B)
567 {
568  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
569  (__v4si)_mm_xor_si128(__A, __B),
570  (__v4si)__W);
571 }
572 
573 static __inline__ __m128i __DEFAULT_FN_ATTRS
574 _mm_maskz_xor_epi32(__mmask8 __U, __m128i __A, __m128i __B)
575 {
576  return (__m128i)_mm_mask_xor_epi32(_mm_setzero_si128(), __U, __A, __B);
577 }
578 
579 static __inline__ __m256i __DEFAULT_FN_ATTRS
580 _mm256_mask_and_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
581 {
582  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
583  (__v4di)_mm256_and_si256(__A, __B),
584  (__v4di)__W);
585 }
586 
587 static __inline__ __m256i __DEFAULT_FN_ATTRS
588 _mm256_maskz_and_epi64(__mmask8 __U, __m256i __A, __m256i __B)
589 {
590  return (__m256i)_mm256_mask_and_epi64(_mm256_setzero_si256(), __U, __A, __B);
591 }
592 
593 static __inline__ __m128i __DEFAULT_FN_ATTRS
594 _mm_mask_and_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
595 {
596  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
597  (__v2di)_mm_and_si128(__A, __B),
598  (__v2di)__W);
599 }
600 
601 static __inline__ __m128i __DEFAULT_FN_ATTRS
602 _mm_maskz_and_epi64(__mmask8 __U, __m128i __A, __m128i __B)
603 {
604  return (__m128i)_mm_mask_and_epi64(_mm_setzero_si128(), __U, __A, __B);
605 }
606 
607 static __inline__ __m256i __DEFAULT_FN_ATTRS
608 _mm256_mask_andnot_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
609 {
610  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
611  (__v4di)_mm256_andnot_si256(__A, __B),
612  (__v4di)__W);
613 }
614 
615 static __inline__ __m256i __DEFAULT_FN_ATTRS
616 _mm256_maskz_andnot_epi64(__mmask8 __U, __m256i __A, __m256i __B)
617 {
619  __U, __A, __B);
620 }
621 
622 static __inline__ __m128i __DEFAULT_FN_ATTRS
623 _mm_mask_andnot_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
624 {
625  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
626  (__v2di)_mm_andnot_si128(__A, __B),
627  (__v2di)__W);
628 }
629 
630 static __inline__ __m128i __DEFAULT_FN_ATTRS
631 _mm_maskz_andnot_epi64(__mmask8 __U, __m128i __A, __m128i __B)
632 {
633  return (__m128i)_mm_mask_andnot_epi64(_mm_setzero_si128(), __U, __A, __B);
634 }
635 
636 static __inline__ __m256i __DEFAULT_FN_ATTRS
637 _mm256_mask_or_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
638 {
639  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
640  (__v4di)_mm256_or_si256(__A, __B),
641  (__v4di)__W);
642 }
643 
644 static __inline__ __m256i __DEFAULT_FN_ATTRS
645 _mm256_maskz_or_epi64(__mmask8 __U, __m256i __A, __m256i __B)
646 {
647  return (__m256i)_mm256_mask_or_epi64(_mm256_setzero_si256(), __U, __A, __B);
648 }
649 
650 static __inline__ __m128i __DEFAULT_FN_ATTRS
651 _mm_mask_or_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
652 {
653  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
654  (__v2di)_mm_or_si128(__A, __B),
655  (__v2di)__W);
656 }
657 
658 static __inline__ __m128i __DEFAULT_FN_ATTRS
659 _mm_maskz_or_epi64(__mmask8 __U, __m128i __A, __m128i __B)
660 {
661  return (__m128i)_mm_mask_or_epi64(_mm_setzero_si128(), __U, __A, __B);
662 }
663 
664 static __inline__ __m256i __DEFAULT_FN_ATTRS
665 _mm256_mask_xor_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
666 {
667  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
668  (__v4di)_mm256_xor_si256(__A, __B),
669  (__v4di)__W);
670 }
671 
672 static __inline__ __m256i __DEFAULT_FN_ATTRS
673 _mm256_maskz_xor_epi64(__mmask8 __U, __m256i __A, __m256i __B)
674 {
675  return (__m256i)_mm256_mask_xor_epi64(_mm256_setzero_si256(), __U, __A, __B);
676 }
677 
678 static __inline__ __m128i __DEFAULT_FN_ATTRS
679 _mm_mask_xor_epi64(__m128i __W, __mmask8 __U, __m128i __A,
680  __m128i __B)
681 {
682  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
683  (__v2di)_mm_xor_si128(__A, __B),
684  (__v2di)__W);
685 }
686 
687 static __inline__ __m128i __DEFAULT_FN_ATTRS
688 _mm_maskz_xor_epi64(__mmask8 __U, __m128i __A, __m128i __B)
689 {
690  return (__m128i)_mm_mask_xor_epi64(_mm_setzero_si128(), __U, __A, __B);
691 }
692 
693 #define _mm_cmp_epi32_mask(a, b, p) __extension__ ({ \
694  (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
695  (__v4si)(__m128i)(b), (int)(p), \
696  (__mmask8)-1); })
697 
698 #define _mm_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
699  (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
700  (__v4si)(__m128i)(b), (int)(p), \
701  (__mmask8)(m)); })
702 
703 #define _mm_cmp_epu32_mask(a, b, p) __extension__ ({ \
704  (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
705  (__v4si)(__m128i)(b), (int)(p), \
706  (__mmask8)-1); })
707 
708 #define _mm_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
709  (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
710  (__v4si)(__m128i)(b), (int)(p), \
711  (__mmask8)(m)); })
712 
713 #define _mm256_cmp_epi32_mask(a, b, p) __extension__ ({ \
714  (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
715  (__v8si)(__m256i)(b), (int)(p), \
716  (__mmask8)-1); })
717 
718 #define _mm256_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
719  (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
720  (__v8si)(__m256i)(b), (int)(p), \
721  (__mmask8)(m)); })
722 
723 #define _mm256_cmp_epu32_mask(a, b, p) __extension__ ({ \
724  (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
725  (__v8si)(__m256i)(b), (int)(p), \
726  (__mmask8)-1); })
727 
728 #define _mm256_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
729  (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
730  (__v8si)(__m256i)(b), (int)(p), \
731  (__mmask8)(m)); })
732 
733 #define _mm_cmp_epi64_mask(a, b, p) __extension__ ({ \
734  (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
735  (__v2di)(__m128i)(b), (int)(p), \
736  (__mmask8)-1); })
737 
738 #define _mm_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
739  (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
740  (__v2di)(__m128i)(b), (int)(p), \
741  (__mmask8)(m)); })
742 
743 #define _mm_cmp_epu64_mask(a, b, p) __extension__ ({ \
744  (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
745  (__v2di)(__m128i)(b), (int)(p), \
746  (__mmask8)-1); })
747 
748 #define _mm_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
749  (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
750  (__v2di)(__m128i)(b), (int)(p), \
751  (__mmask8)(m)); })
752 
753 #define _mm256_cmp_epi64_mask(a, b, p) __extension__ ({ \
754  (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
755  (__v4di)(__m256i)(b), (int)(p), \
756  (__mmask8)-1); })
757 
758 #define _mm256_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
759  (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
760  (__v4di)(__m256i)(b), (int)(p), \
761  (__mmask8)(m)); })
762 
763 #define _mm256_cmp_epu64_mask(a, b, p) __extension__ ({ \
764  (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
765  (__v4di)(__m256i)(b), (int)(p), \
766  (__mmask8)-1); })
767 
768 #define _mm256_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
769  (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
770  (__v4di)(__m256i)(b), (int)(p), \
771  (__mmask8)(m)); })
772 
773 #define _mm256_cmp_ps_mask(a, b, p) __extension__ ({ \
774  (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
775  (__v8sf)(__m256)(b), (int)(p), \
776  (__mmask8)-1); })
777 
778 #define _mm256_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \
779  (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
780  (__v8sf)(__m256)(b), (int)(p), \
781  (__mmask8)(m)); })
782 
783 #define _mm256_cmp_pd_mask(a, b, p) __extension__ ({ \
784  (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256d)(a), \
785  (__v4df)(__m256d)(b), (int)(p), \
786  (__mmask8)-1); })
787 
788 #define _mm256_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \
789  (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256d)(a), \
790  (__v4df)(__m256d)(b), (int)(p), \
791  (__mmask8)(m)); })
792 
793 #define _mm_cmp_ps_mask(a, b, p) __extension__ ({ \
794  (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
795  (__v4sf)(__m128)(b), (int)(p), \
796  (__mmask8)-1); })
797 
798 #define _mm_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \
799  (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
800  (__v4sf)(__m128)(b), (int)(p), \
801  (__mmask8)(m)); })
802 
803 #define _mm_cmp_pd_mask(a, b, p) __extension__ ({ \
804  (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128d)(a), \
805  (__v2df)(__m128d)(b), (int)(p), \
806  (__mmask8)-1); })
807 
808 #define _mm_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \
809  (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128d)(a), \
810  (__v2df)(__m128d)(b), (int)(p), \
811  (__mmask8)(m)); })
812 
813 static __inline__ __m128d __DEFAULT_FN_ATTRS
814 _mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
815 {
816  return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
817  (__v2df) __B,
818  (__v2df) __C,
819  (__mmask8) __U);
820 }
821 
822 static __inline__ __m128d __DEFAULT_FN_ATTRS
823 _mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
824 {
825  return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
826  (__v2df) __B,
827  (__v2df) __C,
828  (__mmask8) __U);
829 }
830 
831 static __inline__ __m128d __DEFAULT_FN_ATTRS
832 _mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
833 {
834  return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
835  (__v2df) __B,
836  (__v2df) __C,
837  (__mmask8) __U);
838 }
839 
840 static __inline__ __m128d __DEFAULT_FN_ATTRS
841 _mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
842 {
843  return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
844  (__v2df) __B,
845  -(__v2df) __C,
846  (__mmask8) __U);
847 }
848 
849 static __inline__ __m128d __DEFAULT_FN_ATTRS
850 _mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
851 {
852  return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
853  (__v2df) __B,
854  -(__v2df) __C,
855  (__mmask8) __U);
856 }
857 
858 static __inline__ __m128d __DEFAULT_FN_ATTRS
859 _mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
860 {
861  return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A,
862  (__v2df) __B,
863  (__v2df) __C,
864  (__mmask8) __U);
865 }
866 
867 static __inline__ __m128d __DEFAULT_FN_ATTRS
868 _mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
869 {
870  return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
871  (__v2df) __B,
872  (__v2df) __C,
873  (__mmask8) __U);
874 }
875 
876 static __inline__ __m128d __DEFAULT_FN_ATTRS
877 _mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
878 {
879  return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
880  (__v2df) __B,
881  -(__v2df) __C,
882  (__mmask8) __U);
883 }
884 
885 static __inline__ __m256d __DEFAULT_FN_ATTRS
886 _mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
887 {
888  return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
889  (__v4df) __B,
890  (__v4df) __C,
891  (__mmask8) __U);
892 }
893 
894 static __inline__ __m256d __DEFAULT_FN_ATTRS
895 _mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
896 {
897  return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
898  (__v4df) __B,
899  (__v4df) __C,
900  (__mmask8) __U);
901 }
902 
903 static __inline__ __m256d __DEFAULT_FN_ATTRS
904 _mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
905 {
906  return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
907  (__v4df) __B,
908  (__v4df) __C,
909  (__mmask8) __U);
910 }
911 
912 static __inline__ __m256d __DEFAULT_FN_ATTRS
913 _mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
914 {
915  return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
916  (__v4df) __B,
917  -(__v4df) __C,
918  (__mmask8) __U);
919 }
920 
921 static __inline__ __m256d __DEFAULT_FN_ATTRS
922 _mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
923 {
924  return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
925  (__v4df) __B,
926  -(__v4df) __C,
927  (__mmask8) __U);
928 }
929 
930 static __inline__ __m256d __DEFAULT_FN_ATTRS
931 _mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
932 {
933  return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A,
934  (__v4df) __B,
935  (__v4df) __C,
936  (__mmask8) __U);
937 }
938 
939 static __inline__ __m256d __DEFAULT_FN_ATTRS
940 _mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
941 {
942  return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
943  (__v4df) __B,
944  (__v4df) __C,
945  (__mmask8) __U);
946 }
947 
948 static __inline__ __m256d __DEFAULT_FN_ATTRS
949 _mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
950 {
951  return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
952  (__v4df) __B,
953  -(__v4df) __C,
954  (__mmask8) __U);
955 }
956 
957 static __inline__ __m128 __DEFAULT_FN_ATTRS
958 _mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
959 {
960  return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
961  (__v4sf) __B,
962  (__v4sf) __C,
963  (__mmask8) __U);
964 }
965 
966 static __inline__ __m128 __DEFAULT_FN_ATTRS
967 _mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
968 {
969  return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
970  (__v4sf) __B,
971  (__v4sf) __C,
972  (__mmask8) __U);
973 }
974 
975 static __inline__ __m128 __DEFAULT_FN_ATTRS
976 _mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
977 {
978  return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
979  (__v4sf) __B,
980  (__v4sf) __C,
981  (__mmask8) __U);
982 }
983 
984 static __inline__ __m128 __DEFAULT_FN_ATTRS
985 _mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
986 {
987  return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
988  (__v4sf) __B,
989  -(__v4sf) __C,
990  (__mmask8) __U);
991 }
992 
993 static __inline__ __m128 __DEFAULT_FN_ATTRS
994 _mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
995 {
996  return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
997  (__v4sf) __B,
998  -(__v4sf) __C,
999  (__mmask8) __U);
1000 }
1001 
1002 static __inline__ __m128 __DEFAULT_FN_ATTRS
1003 _mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1004 {
1005  return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A,
1006  (__v4sf) __B,
1007  (__v4sf) __C,
1008  (__mmask8) __U);
1009 }
1010 
1011 static __inline__ __m128 __DEFAULT_FN_ATTRS
1012 _mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1013 {
1014  return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1015  (__v4sf) __B,
1016  (__v4sf) __C,
1017  (__mmask8) __U);
1018 }
1019 
1020 static __inline__ __m128 __DEFAULT_FN_ATTRS
1021 _mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1022 {
1023  return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1024  (__v4sf) __B,
1025  -(__v4sf) __C,
1026  (__mmask8) __U);
1027 }
1028 
1029 static __inline__ __m256 __DEFAULT_FN_ATTRS
1030 _mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1031 {
1032  return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1033  (__v8sf) __B,
1034  (__v8sf) __C,
1035  (__mmask8) __U);
1036 }
1037 
1038 static __inline__ __m256 __DEFAULT_FN_ATTRS
1039 _mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1040 {
1041  return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
1042  (__v8sf) __B,
1043  (__v8sf) __C,
1044  (__mmask8) __U);
1045 }
1046 
1047 static __inline__ __m256 __DEFAULT_FN_ATTRS
1048 _mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1049 {
1050  return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1051  (__v8sf) __B,
1052  (__v8sf) __C,
1053  (__mmask8) __U);
1054 }
1055 
1056 static __inline__ __m256 __DEFAULT_FN_ATTRS
1057 _mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1058 {
1059  return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1060  (__v8sf) __B,
1061  -(__v8sf) __C,
1062  (__mmask8) __U);
1063 }
1064 
1065 static __inline__ __m256 __DEFAULT_FN_ATTRS
1066 _mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1067 {
1068  return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1069  (__v8sf) __B,
1070  -(__v8sf) __C,
1071  (__mmask8) __U);
1072 }
1073 
1074 static __inline__ __m256 __DEFAULT_FN_ATTRS
1075 _mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1076 {
1077  return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A,
1078  (__v8sf) __B,
1079  (__v8sf) __C,
1080  (__mmask8) __U);
1081 }
1082 
1083 static __inline__ __m256 __DEFAULT_FN_ATTRS
1084 _mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1085 {
1086  return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1087  (__v8sf) __B,
1088  (__v8sf) __C,
1089  (__mmask8) __U);
1090 }
1091 
1092 static __inline__ __m256 __DEFAULT_FN_ATTRS
1093 _mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1094 {
1095  return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1096  (__v8sf) __B,
1097  -(__v8sf) __C,
1098  (__mmask8) __U);
1099 }
1100 
1101 static __inline__ __m128d __DEFAULT_FN_ATTRS
1102 _mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1103 {
1104  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1105  (__v2df) __B,
1106  (__v2df) __C,
1107  (__mmask8) __U);
1108 }
1109 
1110 static __inline__ __m128d __DEFAULT_FN_ATTRS
1111 _mm_mask3_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1112 {
1113  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
1114  (__v2df) __B,
1115  (__v2df) __C,
1116  (__mmask8)
1117  __U);
1118 }
1119 
1120 static __inline__ __m128d __DEFAULT_FN_ATTRS
1121 _mm_maskz_fmaddsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1122 {
1123  return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1124  (__v2df) __B,
1125  (__v2df) __C,
1126  (__mmask8)
1127  __U);
1128 }
1129 
1130 static __inline__ __m128d __DEFAULT_FN_ATTRS
1131 _mm_mask_fmsubadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1132 {
1133  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1134  (__v2df) __B,
1135  -(__v2df) __C,
1136  (__mmask8) __U);
1137 }
1138 
1139 static __inline__ __m128d __DEFAULT_FN_ATTRS
1140 _mm_maskz_fmsubadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1141 {
1142  return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1143  (__v2df) __B,
1144  -(__v2df) __C,
1145  (__mmask8)
1146  __U);
1147 }
1148 
1149 static __inline__ __m256d __DEFAULT_FN_ATTRS
1150 _mm256_mask_fmaddsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1151 {
1152  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1153  (__v4df) __B,
1154  (__v4df) __C,
1155  (__mmask8) __U);
1156 }
1157 
1158 static __inline__ __m256d __DEFAULT_FN_ATTRS
1159 _mm256_mask3_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1160 {
1161  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
1162  (__v4df) __B,
1163  (__v4df) __C,
1164  (__mmask8)
1165  __U);
1166 }
1167 
1168 static __inline__ __m256d __DEFAULT_FN_ATTRS
1169 _mm256_maskz_fmaddsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1170 {
1171  return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1172  (__v4df) __B,
1173  (__v4df) __C,
1174  (__mmask8)
1175  __U);
1176 }
1177 
1178 static __inline__ __m256d __DEFAULT_FN_ATTRS
1179 _mm256_mask_fmsubadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1180 {
1181  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1182  (__v4df) __B,
1183  -(__v4df) __C,
1184  (__mmask8) __U);
1185 }
1186 
1187 static __inline__ __m256d __DEFAULT_FN_ATTRS
1188 _mm256_maskz_fmsubadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1189 {
1190  return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1191  (__v4df) __B,
1192  -(__v4df) __C,
1193  (__mmask8)
1194  __U);
1195 }
1196 
1197 static __inline__ __m128 __DEFAULT_FN_ATTRS
1198 _mm_mask_fmaddsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1199 {
1200  return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1201  (__v4sf) __B,
1202  (__v4sf) __C,
1203  (__mmask8) __U);
1204 }
1205 
1206 static __inline__ __m128 __DEFAULT_FN_ATTRS
1207 _mm_mask3_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1208 {
1209  return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
1210  (__v4sf) __B,
1211  (__v4sf) __C,
1212  (__mmask8) __U);
1213 }
1214 
1215 static __inline__ __m128 __DEFAULT_FN_ATTRS
1216 _mm_maskz_fmaddsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1217 {
1218  return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1219  (__v4sf) __B,
1220  (__v4sf) __C,
1221  (__mmask8) __U);
1222 }
1223 
1224 static __inline__ __m128 __DEFAULT_FN_ATTRS
1225 _mm_mask_fmsubadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1226 {
1227  return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1228  (__v4sf) __B,
1229  -(__v4sf) __C,
1230  (__mmask8) __U);
1231 }
1232 
1233 static __inline__ __m128 __DEFAULT_FN_ATTRS
1234 _mm_maskz_fmsubadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1235 {
1236  return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1237  (__v4sf) __B,
1238  -(__v4sf) __C,
1239  (__mmask8) __U);
1240 }
1241 
1242 static __inline__ __m256 __DEFAULT_FN_ATTRS
1243 _mm256_mask_fmaddsub_ps(__m256 __A, __mmask8 __U, __m256 __B,
1244  __m256 __C)
1245 {
1246  return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1247  (__v8sf) __B,
1248  (__v8sf) __C,
1249  (__mmask8) __U);
1250 }
1251 
1252 static __inline__ __m256 __DEFAULT_FN_ATTRS
1253 _mm256_mask3_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1254 {
1255  return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
1256  (__v8sf) __B,
1257  (__v8sf) __C,
1258  (__mmask8) __U);
1259 }
1260 
1261 static __inline__ __m256 __DEFAULT_FN_ATTRS
1262 _mm256_maskz_fmaddsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1263 {
1264  return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1265  (__v8sf) __B,
1266  (__v8sf) __C,
1267  (__mmask8) __U);
1268 }
1269 
1270 static __inline__ __m256 __DEFAULT_FN_ATTRS
1271 _mm256_mask_fmsubadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1272 {
1273  return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1274  (__v8sf) __B,
1275  -(__v8sf) __C,
1276  (__mmask8) __U);
1277 }
1278 
1279 static __inline__ __m256 __DEFAULT_FN_ATTRS
1280 _mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1281 {
1282  return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1283  (__v8sf) __B,
1284  -(__v8sf) __C,
1285  (__mmask8) __U);
1286 }
1287 
1288 static __inline__ __m128d __DEFAULT_FN_ATTRS
1289 _mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1290 {
1291  return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
1292  (__v2df) __B,
1293  (__v2df) __C,
1294  (__mmask8) __U);
1295 }
1296 
1297 static __inline__ __m256d __DEFAULT_FN_ATTRS
1298 _mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1299 {
1300  return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
1301  (__v4df) __B,
1302  (__v4df) __C,
1303  (__mmask8) __U);
1304 }
1305 
1306 static __inline__ __m128 __DEFAULT_FN_ATTRS
1307 _mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1308 {
1309  return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
1310  (__v4sf) __B,
1311  (__v4sf) __C,
1312  (__mmask8) __U);
1313 }
1314 
1315 static __inline__ __m256 __DEFAULT_FN_ATTRS
1316 _mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1317 {
1318  return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
1319  (__v8sf) __B,
1320  (__v8sf) __C,
1321  (__mmask8) __U);
1322 }
1323 
1324 static __inline__ __m128d __DEFAULT_FN_ATTRS
1325 _mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1326 {
1327  return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
1328  (__v2df) __B,
1329  (__v2df) __C,
1330  (__mmask8)
1331  __U);
1332 }
1333 
1334 static __inline__ __m256d __DEFAULT_FN_ATTRS
1335 _mm256_mask3_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1336 {
1337  return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
1338  (__v4df) __B,
1339  (__v4df) __C,
1340  (__mmask8)
1341  __U);
1342 }
1343 
1344 static __inline__ __m128 __DEFAULT_FN_ATTRS
1345 _mm_mask3_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1346 {
1347  return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
1348  (__v4sf) __B,
1349  (__v4sf) __C,
1350  (__mmask8) __U);
1351 }
1352 
1353 static __inline__ __m256 __DEFAULT_FN_ATTRS
1354 _mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1355 {
1356  return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
1357  (__v8sf) __B,
1358  (__v8sf) __C,
1359  (__mmask8) __U);
1360 }
1361 
1362 static __inline__ __m128d __DEFAULT_FN_ATTRS
1363 _mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1364 {
1365  return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
1366  (__v2df) __B,
1367  (__v2df) __C,
1368  (__mmask8) __U);
1369 }
1370 
1371 static __inline__ __m256d __DEFAULT_FN_ATTRS
1372 _mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1373 {
1374  return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
1375  (__v4df) __B,
1376  (__v4df) __C,
1377  (__mmask8) __U);
1378 }
1379 
1380 static __inline__ __m128 __DEFAULT_FN_ATTRS
1381 _mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1382 {
1383  return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
1384  (__v4sf) __B,
1385  (__v4sf) __C,
1386  (__mmask8) __U);
1387 }
1388 
1389 static __inline__ __m256 __DEFAULT_FN_ATTRS
1390 _mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1391 {
1392  return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
1393  (__v8sf) __B,
1394  (__v8sf) __C,
1395  (__mmask8) __U);
1396 }
1397 
1398 static __inline__ __m128d __DEFAULT_FN_ATTRS
1399 _mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1400 {
1401  return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
1402  (__v2df) __B,
1403  (__v2df) __C,
1404  (__mmask8) __U);
1405 }
1406 
1407 static __inline__ __m128d __DEFAULT_FN_ATTRS
1408 _mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1409 {
1410  return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
1411  (__v2df) __B,
1412  (__v2df) __C,
1413  (__mmask8) __U);
1414 }
1415 
1416 static __inline__ __m256d __DEFAULT_FN_ATTRS
1417 _mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1418 {
1419  return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
1420  (__v4df) __B,
1421  (__v4df) __C,
1422  (__mmask8) __U);
1423 }
1424 
1425 static __inline__ __m256d __DEFAULT_FN_ATTRS
1426 _mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1427 {
1428  return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
1429  (__v4df) __B,
1430  (__v4df) __C,
1431  (__mmask8) __U);
1432 }
1433 
1434 static __inline__ __m128 __DEFAULT_FN_ATTRS
1435 _mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1436 {
1437  return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
1438  (__v4sf) __B,
1439  (__v4sf) __C,
1440  (__mmask8) __U);
1441 }
1442 
1443 static __inline__ __m128 __DEFAULT_FN_ATTRS
1444 _mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1445 {
1446  return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
1447  (__v4sf) __B,
1448  (__v4sf) __C,
1449  (__mmask8) __U);
1450 }
1451 
1452 static __inline__ __m256 __DEFAULT_FN_ATTRS
1453 _mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1454 {
1455  return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
1456  (__v8sf) __B,
1457  (__v8sf) __C,
1458  (__mmask8) __U);
1459 }
1460 
1461 static __inline__ __m256 __DEFAULT_FN_ATTRS
1462 _mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1463 {
1464  return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
1465  (__v8sf) __B,
1466  (__v8sf) __C,
1467  (__mmask8) __U);
1468 }
1469 
1470 static __inline__ __m128d __DEFAULT_FN_ATTRS
1471 _mm_mask_add_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
1472  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
1473  (__v2df)_mm_add_pd(__A, __B),
1474  (__v2df)__W);
1475 }
1476 
1477 static __inline__ __m128d __DEFAULT_FN_ATTRS
1478 _mm_maskz_add_pd(__mmask8 __U, __m128d __A, __m128d __B) {
1479  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
1480  (__v2df)_mm_add_pd(__A, __B),
1481  (__v2df)_mm_setzero_pd());
1482 }
1483 
1484 static __inline__ __m256d __DEFAULT_FN_ATTRS
1485 _mm256_mask_add_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
1486  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
1487  (__v4df)_mm256_add_pd(__A, __B),
1488  (__v4df)__W);
1489 }
1490 
1491 static __inline__ __m256d __DEFAULT_FN_ATTRS
1492 _mm256_maskz_add_pd(__mmask8 __U, __m256d __A, __m256d __B) {
1493  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
1494  (__v4df)_mm256_add_pd(__A, __B),
1495  (__v4df)_mm256_setzero_pd());
1496 }
1497 
1498 static __inline__ __m128 __DEFAULT_FN_ATTRS
1499 _mm_mask_add_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
1500  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
1501  (__v4sf)_mm_add_ps(__A, __B),
1502  (__v4sf)__W);
1503 }
1504 
1505 static __inline__ __m128 __DEFAULT_FN_ATTRS
1506 _mm_maskz_add_ps(__mmask8 __U, __m128 __A, __m128 __B) {
1507  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
1508  (__v4sf)_mm_add_ps(__A, __B),
1509  (__v4sf)_mm_setzero_ps());
1510 }
1511 
1512 static __inline__ __m256 __DEFAULT_FN_ATTRS
1513 _mm256_mask_add_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
1514  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
1515  (__v8sf)_mm256_add_ps(__A, __B),
1516  (__v8sf)__W);
1517 }
1518 
1519 static __inline__ __m256 __DEFAULT_FN_ATTRS
1520 _mm256_maskz_add_ps(__mmask8 __U, __m256 __A, __m256 __B) {
1521  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
1522  (__v8sf)_mm256_add_ps(__A, __B),
1523  (__v8sf)_mm256_setzero_ps());
1524 }
1525 
1526 static __inline__ __m128i __DEFAULT_FN_ATTRS
1527 _mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) {
1528  return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
1529  (__v4si) __W,
1530  (__v4si) __A);
1531 }
1532 
1533 static __inline__ __m256i __DEFAULT_FN_ATTRS
1534 _mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) {
1535  return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
1536  (__v8si) __W,
1537  (__v8si) __A);
1538 }
1539 
1540 static __inline__ __m128d __DEFAULT_FN_ATTRS
1541 _mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) {
1542  return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
1543  (__v2df) __W,
1544  (__v2df) __A);
1545 }
1546 
1547 static __inline__ __m256d __DEFAULT_FN_ATTRS
1548 _mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) {
1549  return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
1550  (__v4df) __W,
1551  (__v4df) __A);
1552 }
1553 
1554 static __inline__ __m128 __DEFAULT_FN_ATTRS
1555 _mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) {
1556  return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
1557  (__v4sf) __W,
1558  (__v4sf) __A);
1559 }
1560 
1561 static __inline__ __m256 __DEFAULT_FN_ATTRS
1562 _mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) {
1563  return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
1564  (__v8sf) __W,
1565  (__v8sf) __A);
1566 }
1567 
1568 static __inline__ __m128i __DEFAULT_FN_ATTRS
1569 _mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) {
1570  return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
1571  (__v2di) __W,
1572  (__v2di) __A);
1573 }
1574 
1575 static __inline__ __m256i __DEFAULT_FN_ATTRS
1576 _mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) {
1577  return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
1578  (__v4di) __W,
1579  (__v4di) __A);
1580 }
1581 
1582 static __inline__ __m128d __DEFAULT_FN_ATTRS
1583 _mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) {
1584  return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
1585  (__v2df) __W,
1586  (__mmask8) __U);
1587 }
1588 
1589 static __inline__ __m128d __DEFAULT_FN_ATTRS
1590 _mm_maskz_compress_pd (__mmask8 __U, __m128d __A) {
1591  return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
1592  (__v2df)
1593  _mm_setzero_pd (),
1594  (__mmask8) __U);
1595 }
1596 
1597 static __inline__ __m256d __DEFAULT_FN_ATTRS
1598 _mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) {
1599  return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
1600  (__v4df) __W,
1601  (__mmask8) __U);
1602 }
1603 
1604 static __inline__ __m256d __DEFAULT_FN_ATTRS
1606  return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
1607  (__v4df)
1608  _mm256_setzero_pd (),
1609  (__mmask8) __U);
1610 }
1611 
1612 static __inline__ __m128i __DEFAULT_FN_ATTRS
1613 _mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
1614  return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
1615  (__v2di) __W,
1616  (__mmask8) __U);
1617 }
1618 
1619 static __inline__ __m128i __DEFAULT_FN_ATTRS
1621  return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
1622  (__v2di)
1623  _mm_setzero_si128 (),
1624  (__mmask8) __U);
1625 }
1626 
1627 static __inline__ __m256i __DEFAULT_FN_ATTRS
1628 _mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
1629  return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
1630  (__v4di) __W,
1631  (__mmask8) __U);
1632 }
1633 
1634 static __inline__ __m256i __DEFAULT_FN_ATTRS
1636  return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
1637  (__v4di)
1639  (__mmask8) __U);
1640 }
1641 
1642 static __inline__ __m128 __DEFAULT_FN_ATTRS
1643 _mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) {
1644  return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
1645  (__v4sf) __W,
1646  (__mmask8) __U);
1647 }
1648 
1649 static __inline__ __m128 __DEFAULT_FN_ATTRS
1650 _mm_maskz_compress_ps (__mmask8 __U, __m128 __A) {
1651  return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
1652  (__v4sf)
1653  _mm_setzero_ps (),
1654  (__mmask8) __U);
1655 }
1656 
1657 static __inline__ __m256 __DEFAULT_FN_ATTRS
1658 _mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) {
1659  return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
1660  (__v8sf) __W,
1661  (__mmask8) __U);
1662 }
1663 
1664 static __inline__ __m256 __DEFAULT_FN_ATTRS
1666  return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
1667  (__v8sf)
1668  _mm256_setzero_ps (),
1669  (__mmask8) __U);
1670 }
1671 
1672 static __inline__ __m128i __DEFAULT_FN_ATTRS
1673 _mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
1674  return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
1675  (__v4si) __W,
1676  (__mmask8) __U);
1677 }
1678 
1679 static __inline__ __m128i __DEFAULT_FN_ATTRS
1681  return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
1682  (__v4si)
1683  _mm_setzero_si128 (),
1684  (__mmask8) __U);
1685 }
1686 
1687 static __inline__ __m256i __DEFAULT_FN_ATTRS
1688 _mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
1689  return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
1690  (__v8si) __W,
1691  (__mmask8) __U);
1692 }
1693 
1694 static __inline__ __m256i __DEFAULT_FN_ATTRS
1696  return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
1697  (__v8si)
1699  (__mmask8) __U);
1700 }
1701 
1702 static __inline__ void __DEFAULT_FN_ATTRS
1703 _mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) {
1704  __builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
1705  (__v2df) __A,
1706  (__mmask8) __U);
1707 }
1708 
1709 static __inline__ void __DEFAULT_FN_ATTRS
1710 _mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) {
1711  __builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
1712  (__v4df) __A,
1713  (__mmask8) __U);
1714 }
1715 
1716 static __inline__ void __DEFAULT_FN_ATTRS
1717 _mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) {
1718  __builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
1719  (__v2di) __A,
1720  (__mmask8) __U);
1721 }
1722 
1723 static __inline__ void __DEFAULT_FN_ATTRS
1724 _mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) {
1725  __builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
1726  (__v4di) __A,
1727  (__mmask8) __U);
1728 }
1729 
1730 static __inline__ void __DEFAULT_FN_ATTRS
1731 _mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) {
1732  __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
1733  (__v4sf) __A,
1734  (__mmask8) __U);
1735 }
1736 
1737 static __inline__ void __DEFAULT_FN_ATTRS
1738 _mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) {
1739  __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
1740  (__v8sf) __A,
1741  (__mmask8) __U);
1742 }
1743 
1744 static __inline__ void __DEFAULT_FN_ATTRS
1745 _mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) {
1746  __builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
1747  (__v4si) __A,
1748  (__mmask8) __U);
1749 }
1750 
1751 static __inline__ void __DEFAULT_FN_ATTRS
1752 _mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) {
1753  __builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
1754  (__v8si) __A,
1755  (__mmask8) __U);
1756 }
1757 
1758 static __inline__ __m128d __DEFAULT_FN_ATTRS
1759 _mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
1760  return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
1761  (__v2df)_mm_cvtepi32_pd(__A),
1762  (__v2df)__W);
1763 }
1764 
1765 static __inline__ __m128d __DEFAULT_FN_ATTRS
1766 _mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
1767  return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
1768  (__v2df)_mm_cvtepi32_pd(__A),
1769  (__v2df)_mm_setzero_pd());
1770 }
1771 
1772 static __inline__ __m256d __DEFAULT_FN_ATTRS
1773 _mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
1774  return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
1775  (__v4df)_mm256_cvtepi32_pd(__A),
1776  (__v4df)__W);
1777 }
1778 
1779 static __inline__ __m256d __DEFAULT_FN_ATTRS
1781  return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
1782  (__v4df)_mm256_cvtepi32_pd(__A),
1783  (__v4df)_mm256_setzero_pd());
1784 }
1785 
1786 static __inline__ __m128 __DEFAULT_FN_ATTRS
1787 _mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
1788  return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1789  (__v4sf) __W,
1790  (__mmask8) __U);
1791 }
1792 
1793 static __inline__ __m128 __DEFAULT_FN_ATTRS
1794 _mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) {
1795  return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
1796  (__v4sf)
1797  _mm_setzero_ps (),
1798  (__mmask8) __U);
1799 }
1800 
1801 static __inline__ __m256 __DEFAULT_FN_ATTRS
1802 _mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
1803  return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1804  (__v8sf) __W,
1805  (__mmask8) __U);
1806 }
1807 
1808 static __inline__ __m256 __DEFAULT_FN_ATTRS
1810  return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
1811  (__v8sf)
1812  _mm256_setzero_ps (),
1813  (__mmask8) __U);
1814 }
1815 
1816 static __inline__ __m128i __DEFAULT_FN_ATTRS
1817 _mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
1818  return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1819  (__v4si) __W,
1820  (__mmask8) __U);
1821 }
1822 
1823 static __inline__ __m128i __DEFAULT_FN_ATTRS
1824 _mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) {
1825  return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
1826  (__v4si)
1827  _mm_setzero_si128 (),
1828  (__mmask8) __U);
1829 }
1830 
1831 static __inline__ __m128i __DEFAULT_FN_ATTRS
1832 _mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
1833  return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1834  (__v4si) __W,
1835  (__mmask8) __U);
1836 }
1837 
1838 static __inline__ __m128i __DEFAULT_FN_ATTRS
1840  return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
1841  (__v4si)
1842  _mm_setzero_si128 (),
1843  (__mmask8) __U);
1844 }
1845 
1846 static __inline__ __m128 __DEFAULT_FN_ATTRS
1847 _mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) {
1848  return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
1849  (__v4sf) __W,
1850  (__mmask8) __U);
1851 }
1852 
1853 static __inline__ __m128 __DEFAULT_FN_ATTRS
1854 _mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) {
1855  return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
1856  (__v4sf)
1857  _mm_setzero_ps (),
1858  (__mmask8) __U);
1859 }
1860 
1861 static __inline__ __m128 __DEFAULT_FN_ATTRS
1862 _mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) {
1863  return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
1864  (__v4sf) __W,
1865  (__mmask8) __U);
1866 }
1867 
1868 static __inline__ __m128 __DEFAULT_FN_ATTRS
1869 _mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) {
1870  return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
1871  (__v4sf)
1872  _mm_setzero_ps (),
1873  (__mmask8) __U);
1874 }
1875 
1876 static __inline__ __m128i __DEFAULT_FN_ATTRS
1877 _mm_cvtpd_epu32 (__m128d __A) {
1878  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
1879  (__v4si)
1880  _mm_setzero_si128 (),
1881  (__mmask8) -1);
1882 }
1883 
1884 static __inline__ __m128i __DEFAULT_FN_ATTRS
1885 _mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
1886  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
1887  (__v4si) __W,
1888  (__mmask8) __U);
1889 }
1890 
1891 static __inline__ __m128i __DEFAULT_FN_ATTRS
1892 _mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) {
1893  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
1894  (__v4si)
1895  _mm_setzero_si128 (),
1896  (__mmask8) __U);
1897 }
1898 
1899 static __inline__ __m128i __DEFAULT_FN_ATTRS
1900 _mm256_cvtpd_epu32 (__m256d __A) {
1901  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
1902  (__v4si)
1903  _mm_setzero_si128 (),
1904  (__mmask8) -1);
1905 }
1906 
1907 static __inline__ __m128i __DEFAULT_FN_ATTRS
1908 _mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
1909  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
1910  (__v4si) __W,
1911  (__mmask8) __U);
1912 }
1913 
1914 static __inline__ __m128i __DEFAULT_FN_ATTRS
1916  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
1917  (__v4si)
1918  _mm_setzero_si128 (),
1919  (__mmask8) __U);
1920 }
1921 
1922 static __inline__ __m128i __DEFAULT_FN_ATTRS
1923 _mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
1924  return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
1925  (__v4si) __W,
1926  (__mmask8) __U);
1927 }
1928 
1929 static __inline__ __m128i __DEFAULT_FN_ATTRS
1930 _mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) {
1931  return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
1932  (__v4si)
1933  _mm_setzero_si128 (),
1934  (__mmask8) __U);
1935 }
1936 
1937 static __inline__ __m256i __DEFAULT_FN_ATTRS
1938 _mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
1939  return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
1940  (__v8si) __W,
1941  (__mmask8) __U);
1942 }
1943 
1944 static __inline__ __m256i __DEFAULT_FN_ATTRS
1946  return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
1947  (__v8si)
1949  (__mmask8) __U);
1950 }
1951 
1952 static __inline__ __m128d __DEFAULT_FN_ATTRS
1953 _mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) {
1954  return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1955  (__v2df) __W,
1956  (__mmask8) __U);
1957 }
1958 
1959 static __inline__ __m128d __DEFAULT_FN_ATTRS
1960 _mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
1961  return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
1962  (__v2df)
1963  _mm_setzero_pd (),
1964  (__mmask8) __U);
1965 }
1966 
1967 static __inline__ __m256d __DEFAULT_FN_ATTRS
1968 _mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) {
1969  return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1970  (__v4df) __W,
1971  (__mmask8) __U);
1972 }
1973 
1974 static __inline__ __m256d __DEFAULT_FN_ATTRS
1975 _mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
1976  return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
1977  (__v4df)
1978  _mm256_setzero_pd (),
1979  (__mmask8) __U);
1980 }
1981 
1982 static __inline__ __m128i __DEFAULT_FN_ATTRS
1983 _mm_cvtps_epu32 (__m128 __A) {
1984  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
1985  (__v4si)
1986  _mm_setzero_si128 (),
1987  (__mmask8) -1);
1988 }
1989 
1990 static __inline__ __m128i __DEFAULT_FN_ATTRS
1991 _mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
1992  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
1993  (__v4si) __W,
1994  (__mmask8) __U);
1995 }
1996 
1997 static __inline__ __m128i __DEFAULT_FN_ATTRS
1998 _mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) {
1999  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2000  (__v4si)
2001  _mm_setzero_si128 (),
2002  (__mmask8) __U);
2003 }
2004 
2005 static __inline__ __m256i __DEFAULT_FN_ATTRS
2006 _mm256_cvtps_epu32 (__m256 __A) {
2007  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2008  (__v8si)
2010  (__mmask8) -1);
2011 }
2012 
2013 static __inline__ __m256i __DEFAULT_FN_ATTRS
2014 _mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2015  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2016  (__v8si) __W,
2017  (__mmask8) __U);
2018 }
2019 
2020 static __inline__ __m256i __DEFAULT_FN_ATTRS
2022  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2023  (__v8si)
2025  (__mmask8) __U);
2026 }
2027 
2028 static __inline__ __m128i __DEFAULT_FN_ATTRS
2029 _mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
2030  return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2031  (__v4si) __W,
2032  (__mmask8) __U);
2033 }
2034 
2035 static __inline__ __m128i __DEFAULT_FN_ATTRS
2036 _mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) {
2037  return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2038  (__v4si)
2039  _mm_setzero_si128 (),
2040  (__mmask8) __U);
2041 }
2042 
2043 static __inline__ __m128i __DEFAULT_FN_ATTRS
2044 _mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
2045  return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2046  (__v4si) __W,
2047  (__mmask8) __U);
2048 }
2049 
2050 static __inline__ __m128i __DEFAULT_FN_ATTRS
2052  return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2053  (__v4si)
2054  _mm_setzero_si128 (),
2055  (__mmask8) __U);
2056 }
2057 
2058 static __inline__ __m128i __DEFAULT_FN_ATTRS
2059 _mm_cvttpd_epu32 (__m128d __A) {
2060  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2061  (__v4si)
2062  _mm_setzero_si128 (),
2063  (__mmask8) -1);
2064 }
2065 
2066 static __inline__ __m128i __DEFAULT_FN_ATTRS
2067 _mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
2068  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2069  (__v4si) __W,
2070  (__mmask8) __U);
2071 }
2072 
2073 static __inline__ __m128i __DEFAULT_FN_ATTRS
2074 _mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) {
2075  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2076  (__v4si)
2077  _mm_setzero_si128 (),
2078  (__mmask8) __U);
2079 }
2080 
2081 static __inline__ __m128i __DEFAULT_FN_ATTRS
2082 _mm256_cvttpd_epu32 (__m256d __A) {
2083  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2084  (__v4si)
2085  _mm_setzero_si128 (),
2086  (__mmask8) -1);
2087 }
2088 
2089 static __inline__ __m128i __DEFAULT_FN_ATTRS
2090 _mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
2091  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2092  (__v4si) __W,
2093  (__mmask8) __U);
2094 }
2095 
2096 static __inline__ __m128i __DEFAULT_FN_ATTRS
2098  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2099  (__v4si)
2100  _mm_setzero_si128 (),
2101  (__mmask8) __U);
2102 }
2103 
2104 static __inline__ __m128i __DEFAULT_FN_ATTRS
2105 _mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
2106  return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2107  (__v4si) __W,
2108  (__mmask8) __U);
2109 }
2110 
2111 static __inline__ __m128i __DEFAULT_FN_ATTRS
2113  return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2114  (__v4si)
2115  _mm_setzero_si128 (),
2116  (__mmask8) __U);
2117 }
2118 
2119 static __inline__ __m256i __DEFAULT_FN_ATTRS
2120 _mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
2121  return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2122  (__v8si) __W,
2123  (__mmask8) __U);
2124 }
2125 
2126 static __inline__ __m256i __DEFAULT_FN_ATTRS
2128  return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2129  (__v8si)
2131  (__mmask8) __U);
2132 }
2133 
2134 static __inline__ __m128i __DEFAULT_FN_ATTRS
2135 _mm_cvttps_epu32 (__m128 __A) {
2136  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2137  (__v4si)
2138  _mm_setzero_si128 (),
2139  (__mmask8) -1);
2140 }
2141 
2142 static __inline__ __m128i __DEFAULT_FN_ATTRS
2143 _mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
2144  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2145  (__v4si) __W,
2146  (__mmask8) __U);
2147 }
2148 
2149 static __inline__ __m128i __DEFAULT_FN_ATTRS
2151  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2152  (__v4si)
2153  _mm_setzero_si128 (),
2154  (__mmask8) __U);
2155 }
2156 
2157 static __inline__ __m256i __DEFAULT_FN_ATTRS
2158 _mm256_cvttps_epu32 (__m256 __A) {
2159  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2160  (__v8si)
2162  (__mmask8) -1);
2163 }
2164 
2165 static __inline__ __m256i __DEFAULT_FN_ATTRS
2166 _mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2167  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2168  (__v8si) __W,
2169  (__mmask8) __U);
2170 }
2171 
2172 static __inline__ __m256i __DEFAULT_FN_ATTRS
2174  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2175  (__v8si)
2177  (__mmask8) __U);
2178 }
2179 
2180 static __inline__ __m128d __DEFAULT_FN_ATTRS
2181 _mm_cvtepu32_pd (__m128i __A) {
2182  return (__m128d) __builtin_convertvector(
2183  __builtin_shufflevector((__v4su)__A, (__v4su)__A, 0, 1), __v2df);
2184 }
2185 
2186 static __inline__ __m128d __DEFAULT_FN_ATTRS
2187 _mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2188  return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
2189  (__v2df)_mm_cvtepu32_pd(__A),
2190  (__v2df)__W);
2191 }
2192 
2193 static __inline__ __m128d __DEFAULT_FN_ATTRS
2194 _mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2195  return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
2196  (__v2df)_mm_cvtepu32_pd(__A),
2197  (__v2df)_mm_setzero_pd());
2198 }
2199 
2200 static __inline__ __m256d __DEFAULT_FN_ATTRS
2201 _mm256_cvtepu32_pd (__m128i __A) {
2202  return (__m256d)__builtin_convertvector((__v4su)__A, __v4df);
2203 }
2204 
2205 static __inline__ __m256d __DEFAULT_FN_ATTRS
2206 _mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2207  return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
2208  (__v4df)_mm256_cvtepu32_pd(__A),
2209  (__v4df)__W);
2210 }
2211 
2212 static __inline__ __m256d __DEFAULT_FN_ATTRS
2214  return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
2215  (__v4df)_mm256_cvtepu32_pd(__A),
2216  (__v4df)_mm256_setzero_pd());
2217 }
2218 
2219 static __inline__ __m128 __DEFAULT_FN_ATTRS
2220 _mm_cvtepu32_ps (__m128i __A) {
2221  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2222  (__v4sf)
2223  _mm_setzero_ps (),
2224  (__mmask8) -1);
2225 }
2226 
2227 static __inline__ __m128 __DEFAULT_FN_ATTRS
2228 _mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2229  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2230  (__v4sf) __W,
2231  (__mmask8) __U);
2232 }
2233 
2234 static __inline__ __m128 __DEFAULT_FN_ATTRS
2235 _mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) {
2236  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2237  (__v4sf)
2238  _mm_setzero_ps (),
2239  (__mmask8) __U);
2240 }
2241 
2242 static __inline__ __m256 __DEFAULT_FN_ATTRS
2243 _mm256_cvtepu32_ps (__m256i __A) {
2244  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2245  (__v8sf)
2246  _mm256_setzero_ps (),
2247  (__mmask8) -1);
2248 }
2249 
2250 static __inline__ __m256 __DEFAULT_FN_ATTRS
2251 _mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2252  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2253  (__v8sf) __W,
2254  (__mmask8) __U);
2255 }
2256 
2257 static __inline__ __m256 __DEFAULT_FN_ATTRS
2259  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2260  (__v8sf)
2261  _mm256_setzero_ps (),
2262  (__mmask8) __U);
2263 }
2264 
2265 static __inline__ __m128d __DEFAULT_FN_ATTRS
2266 _mm_mask_div_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2267  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2268  (__v2df)_mm_div_pd(__A, __B),
2269  (__v2df)__W);
2270 }
2271 
2272 static __inline__ __m128d __DEFAULT_FN_ATTRS
2273 _mm_maskz_div_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2274  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2275  (__v2df)_mm_div_pd(__A, __B),
2276  (__v2df)_mm_setzero_pd());
2277 }
2278 
2279 static __inline__ __m256d __DEFAULT_FN_ATTRS
2280 _mm256_mask_div_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2281  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2282  (__v4df)_mm256_div_pd(__A, __B),
2283  (__v4df)__W);
2284 }
2285 
2286 static __inline__ __m256d __DEFAULT_FN_ATTRS
2287 _mm256_maskz_div_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2288  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2289  (__v4df)_mm256_div_pd(__A, __B),
2290  (__v4df)_mm256_setzero_pd());
2291 }
2292 
2293 static __inline__ __m128 __DEFAULT_FN_ATTRS
2294 _mm_mask_div_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2295  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2296  (__v4sf)_mm_div_ps(__A, __B),
2297  (__v4sf)__W);
2298 }
2299 
2300 static __inline__ __m128 __DEFAULT_FN_ATTRS
2301 _mm_maskz_div_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2302  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2303  (__v4sf)_mm_div_ps(__A, __B),
2304  (__v4sf)_mm_setzero_ps());
2305 }
2306 
2307 static __inline__ __m256 __DEFAULT_FN_ATTRS
2308 _mm256_mask_div_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2309  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2310  (__v8sf)_mm256_div_ps(__A, __B),
2311  (__v8sf)__W);
2312 }
2313 
2314 static __inline__ __m256 __DEFAULT_FN_ATTRS
2315 _mm256_maskz_div_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2316  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2317  (__v8sf)_mm256_div_ps(__A, __B),
2318  (__v8sf)_mm256_setzero_ps());
2319 }
2320 
2321 static __inline__ __m128d __DEFAULT_FN_ATTRS
2322 _mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2323  return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2324  (__v2df) __W,
2325  (__mmask8) __U);
2326 }
2327 
2328 static __inline__ __m128d __DEFAULT_FN_ATTRS
2329 _mm_maskz_expand_pd (__mmask8 __U, __m128d __A) {
2330  return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2331  (__v2df)
2332  _mm_setzero_pd (),
2333  (__mmask8) __U);
2334 }
2335 
2336 static __inline__ __m256d __DEFAULT_FN_ATTRS
2337 _mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2338  return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2339  (__v4df) __W,
2340  (__mmask8) __U);
2341 }
2342 
2343 static __inline__ __m256d __DEFAULT_FN_ATTRS
2344 _mm256_maskz_expand_pd (__mmask8 __U, __m256d __A) {
2345  return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2346  (__v4df)
2347  _mm256_setzero_pd (),
2348  (__mmask8) __U);
2349 }
2350 
2351 static __inline__ __m128i __DEFAULT_FN_ATTRS
2352 _mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2353  return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2354  (__v2di) __W,
2355  (__mmask8) __U);
2356 }
2357 
2358 static __inline__ __m128i __DEFAULT_FN_ATTRS
2359 _mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A) {
2360  return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2361  (__v2di)
2362  _mm_setzero_si128 (),
2363  (__mmask8) __U);
2364 }
2365 
2366 static __inline__ __m256i __DEFAULT_FN_ATTRS
2367 _mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2368  return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2369  (__v4di) __W,
2370  (__mmask8) __U);
2371 }
2372 
2373 static __inline__ __m256i __DEFAULT_FN_ATTRS
2375  return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2376  (__v4di)
2378  (__mmask8) __U);
2379 }
2380 
2381 static __inline__ __m128d __DEFAULT_FN_ATTRS
2382 _mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P) {
2383  return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2384  (__v2df) __W,
2385  (__mmask8)
2386  __U);
2387 }
2388 
2389 static __inline__ __m128d __DEFAULT_FN_ATTRS
2390 _mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2391  return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2392  (__v2df)
2393  _mm_setzero_pd (),
2394  (__mmask8)
2395  __U);
2396 }
2397 
2398 static __inline__ __m256d __DEFAULT_FN_ATTRS
2399 _mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P) {
2400  return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2401  (__v4df) __W,
2402  (__mmask8)
2403  __U);
2404 }
2405 
2406 static __inline__ __m256d __DEFAULT_FN_ATTRS
2407 _mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2408  return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2409  (__v4df)
2410  _mm256_setzero_pd (),
2411  (__mmask8)
2412  __U);
2413 }
2414 
2415 static __inline__ __m128i __DEFAULT_FN_ATTRS
2416 _mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) {
2417  return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2418  (__v2di) __W,
2419  (__mmask8)
2420  __U);
2421 }
2422 
2423 static __inline__ __m128i __DEFAULT_FN_ATTRS
2424 _mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) {
2425  return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2426  (__v2di)
2427  _mm_setzero_si128 (),
2428  (__mmask8)
2429  __U);
2430 }
2431 
2432 static __inline__ __m256i __DEFAULT_FN_ATTRS
2434  void const *__P) {
2435  return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2436  (__v4di) __W,
2437  (__mmask8)
2438  __U);
2439 }
2440 
2441 static __inline__ __m256i __DEFAULT_FN_ATTRS
2443  return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2444  (__v4di)
2446  (__mmask8)
2447  __U);
2448 }
2449 
2450 static __inline__ __m128 __DEFAULT_FN_ATTRS
2451 _mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P) {
2452  return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
2453  (__v4sf) __W,
2454  (__mmask8) __U);
2455 }
2456 
2457 static __inline__ __m128 __DEFAULT_FN_ATTRS
2458 _mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
2459  return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
2460  (__v4sf)
2461  _mm_setzero_ps (),
2462  (__mmask8)
2463  __U);
2464 }
2465 
2466 static __inline__ __m256 __DEFAULT_FN_ATTRS
2467 _mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P) {
2468  return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
2469  (__v8sf) __W,
2470  (__mmask8) __U);
2471 }
2472 
2473 static __inline__ __m256 __DEFAULT_FN_ATTRS
2474 _mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
2475  return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
2476  (__v8sf)
2477  _mm256_setzero_ps (),
2478  (__mmask8)
2479  __U);
2480 }
2481 
2482 static __inline__ __m128i __DEFAULT_FN_ATTRS
2483 _mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) {
2484  return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
2485  (__v4si) __W,
2486  (__mmask8)
2487  __U);
2488 }
2489 
2490 static __inline__ __m128i __DEFAULT_FN_ATTRS
2491 _mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) {
2492  return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
2493  (__v4si)
2494  _mm_setzero_si128 (),
2495  (__mmask8) __U);
2496 }
2497 
2498 static __inline__ __m256i __DEFAULT_FN_ATTRS
2500  void const *__P) {
2501  return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
2502  (__v8si) __W,
2503  (__mmask8)
2504  __U);
2505 }
2506 
2507 static __inline__ __m256i __DEFAULT_FN_ATTRS
2509  return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
2510  (__v8si)
2512  (__mmask8)
2513  __U);
2514 }
2515 
2516 static __inline__ __m128 __DEFAULT_FN_ATTRS
2517 _mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A) {
2518  return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
2519  (__v4sf) __W,
2520  (__mmask8) __U);
2521 }
2522 
2523 static __inline__ __m128 __DEFAULT_FN_ATTRS
2524 _mm_maskz_expand_ps (__mmask8 __U, __m128 __A) {
2525  return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
2526  (__v4sf)
2527  _mm_setzero_ps (),
2528  (__mmask8) __U);
2529 }
2530 
2531 static __inline__ __m256 __DEFAULT_FN_ATTRS
2532 _mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A) {
2533  return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
2534  (__v8sf) __W,
2535  (__mmask8) __U);
2536 }
2537 
2538 static __inline__ __m256 __DEFAULT_FN_ATTRS
2540  return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
2541  (__v8sf)
2542  _mm256_setzero_ps (),
2543  (__mmask8) __U);
2544 }
2545 
2546 static __inline__ __m128i __DEFAULT_FN_ATTRS
2547 _mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
2548  return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
2549  (__v4si) __W,
2550  (__mmask8) __U);
2551 }
2552 
2553 static __inline__ __m128i __DEFAULT_FN_ATTRS
2554 _mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A) {
2555  return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
2556  (__v4si)
2557  _mm_setzero_si128 (),
2558  (__mmask8) __U);
2559 }
2560 
2561 static __inline__ __m256i __DEFAULT_FN_ATTRS
2562 _mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
2563  return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
2564  (__v8si) __W,
2565  (__mmask8) __U);
2566 }
2567 
2568 static __inline__ __m256i __DEFAULT_FN_ATTRS
2570  return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
2571  (__v8si)
2573  (__mmask8) __U);
2574 }
2575 
2576 static __inline__ __m128d __DEFAULT_FN_ATTRS
2577 _mm_getexp_pd (__m128d __A) {
2578  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
2579  (__v2df)
2580  _mm_setzero_pd (),
2581  (__mmask8) -1);
2582 }
2583 
2584 static __inline__ __m128d __DEFAULT_FN_ATTRS
2585 _mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2586  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
2587  (__v2df) __W,
2588  (__mmask8) __U);
2589 }
2590 
2591 static __inline__ __m128d __DEFAULT_FN_ATTRS
2592 _mm_maskz_getexp_pd (__mmask8 __U, __m128d __A) {
2593  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
2594  (__v2df)
2595  _mm_setzero_pd (),
2596  (__mmask8) __U);
2597 }
2598 
2599 static __inline__ __m256d __DEFAULT_FN_ATTRS
2600 _mm256_getexp_pd (__m256d __A) {
2601  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
2602  (__v4df)
2603  _mm256_setzero_pd (),
2604  (__mmask8) -1);
2605 }
2606 
2607 static __inline__ __m256d __DEFAULT_FN_ATTRS
2608 _mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2609  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
2610  (__v4df) __W,
2611  (__mmask8) __U);
2612 }
2613 
2614 static __inline__ __m256d __DEFAULT_FN_ATTRS
2615 _mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A) {
2616  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
2617  (__v4df)
2618  _mm256_setzero_pd (),
2619  (__mmask8) __U);
2620 }
2621 
2622 static __inline__ __m128 __DEFAULT_FN_ATTRS
2623 _mm_getexp_ps (__m128 __A) {
2624  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
2625  (__v4sf)
2626  _mm_setzero_ps (),
2627  (__mmask8) -1);
2628 }
2629 
2630 static __inline__ __m128 __DEFAULT_FN_ATTRS
2631 _mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A) {
2632  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
2633  (__v4sf) __W,
2634  (__mmask8) __U);
2635 }
2636 
2637 static __inline__ __m128 __DEFAULT_FN_ATTRS
2638 _mm_maskz_getexp_ps (__mmask8 __U, __m128 __A) {
2639  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
2640  (__v4sf)
2641  _mm_setzero_ps (),
2642  (__mmask8) __U);
2643 }
2644 
2645 static __inline__ __m256 __DEFAULT_FN_ATTRS
2646 _mm256_getexp_ps (__m256 __A) {
2647  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
2648  (__v8sf)
2649  _mm256_setzero_ps (),
2650  (__mmask8) -1);
2651 }
2652 
2653 static __inline__ __m256 __DEFAULT_FN_ATTRS
2654 _mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A) {
2655  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
2656  (__v8sf) __W,
2657  (__mmask8) __U);
2658 }
2659 
2660 static __inline__ __m256 __DEFAULT_FN_ATTRS
2662  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
2663  (__v8sf)
2664  _mm256_setzero_ps (),
2665  (__mmask8) __U);
2666 }
2667 
2668 static __inline__ __m128d __DEFAULT_FN_ATTRS
2669 _mm_mask_max_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2670  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2671  (__v2df)_mm_max_pd(__A, __B),
2672  (__v2df)__W);
2673 }
2674 
2675 static __inline__ __m128d __DEFAULT_FN_ATTRS
2676 _mm_maskz_max_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2677  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2678  (__v2df)_mm_max_pd(__A, __B),
2679  (__v2df)_mm_setzero_pd());
2680 }
2681 
2682 static __inline__ __m256d __DEFAULT_FN_ATTRS
2683 _mm256_mask_max_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2684  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2685  (__v4df)_mm256_max_pd(__A, __B),
2686  (__v4df)__W);
2687 }
2688 
2689 static __inline__ __m256d __DEFAULT_FN_ATTRS
2690 _mm256_maskz_max_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2691  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2692  (__v4df)_mm256_max_pd(__A, __B),
2693  (__v4df)_mm256_setzero_pd());
2694 }
2695 
2696 static __inline__ __m128 __DEFAULT_FN_ATTRS
2697 _mm_mask_max_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2698  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2699  (__v4sf)_mm_max_ps(__A, __B),
2700  (__v4sf)__W);
2701 }
2702 
2703 static __inline__ __m128 __DEFAULT_FN_ATTRS
2704 _mm_maskz_max_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2705  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2706  (__v4sf)_mm_max_ps(__A, __B),
2707  (__v4sf)_mm_setzero_ps());
2708 }
2709 
2710 static __inline__ __m256 __DEFAULT_FN_ATTRS
2711 _mm256_mask_max_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2712  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2713  (__v8sf)_mm256_max_ps(__A, __B),
2714  (__v8sf)__W);
2715 }
2716 
2717 static __inline__ __m256 __DEFAULT_FN_ATTRS
2718 _mm256_maskz_max_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2719  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2720  (__v8sf)_mm256_max_ps(__A, __B),
2721  (__v8sf)_mm256_setzero_ps());
2722 }
2723 
2724 static __inline__ __m128d __DEFAULT_FN_ATTRS
2725 _mm_mask_min_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2726  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2727  (__v2df)_mm_min_pd(__A, __B),
2728  (__v2df)__W);
2729 }
2730 
2731 static __inline__ __m128d __DEFAULT_FN_ATTRS
2732 _mm_maskz_min_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2733  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2734  (__v2df)_mm_min_pd(__A, __B),
2735  (__v2df)_mm_setzero_pd());
2736 }
2737 
2738 static __inline__ __m256d __DEFAULT_FN_ATTRS
2739 _mm256_mask_min_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2740  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2741  (__v4df)_mm256_min_pd(__A, __B),
2742  (__v4df)__W);
2743 }
2744 
2745 static __inline__ __m256d __DEFAULT_FN_ATTRS
2746 _mm256_maskz_min_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2747  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2748  (__v4df)_mm256_min_pd(__A, __B),
2749  (__v4df)_mm256_setzero_pd());
2750 }
2751 
2752 static __inline__ __m128 __DEFAULT_FN_ATTRS
2753 _mm_mask_min_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2754  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2755  (__v4sf)_mm_min_ps(__A, __B),
2756  (__v4sf)__W);
2757 }
2758 
2759 static __inline__ __m128 __DEFAULT_FN_ATTRS
2760 _mm_maskz_min_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2761  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2762  (__v4sf)_mm_min_ps(__A, __B),
2763  (__v4sf)_mm_setzero_ps());
2764 }
2765 
2766 static __inline__ __m256 __DEFAULT_FN_ATTRS
2767 _mm256_mask_min_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2768  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2769  (__v8sf)_mm256_min_ps(__A, __B),
2770  (__v8sf)__W);
2771 }
2772 
2773 static __inline__ __m256 __DEFAULT_FN_ATTRS
2774 _mm256_maskz_min_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2775  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2776  (__v8sf)_mm256_min_ps(__A, __B),
2777  (__v8sf)_mm256_setzero_ps());
2778 }
2779 
2780 static __inline__ __m128d __DEFAULT_FN_ATTRS
2781 _mm_mask_mul_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2782  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2783  (__v2df)_mm_mul_pd(__A, __B),
2784  (__v2df)__W);
2785 }
2786 
2787 static __inline__ __m128d __DEFAULT_FN_ATTRS
2788 _mm_maskz_mul_pd(__mmask8 __U, __m128d __A, __m128d __B) {
2789  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
2790  (__v2df)_mm_mul_pd(__A, __B),
2791  (__v2df)_mm_setzero_pd());
2792 }
2793 
2794 static __inline__ __m256d __DEFAULT_FN_ATTRS
2795 _mm256_mask_mul_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
2796  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2797  (__v4df)_mm256_mul_pd(__A, __B),
2798  (__v4df)__W);
2799 }
2800 
2801 static __inline__ __m256d __DEFAULT_FN_ATTRS
2802 _mm256_maskz_mul_pd(__mmask8 __U, __m256d __A, __m256d __B) {
2803  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
2804  (__v4df)_mm256_mul_pd(__A, __B),
2805  (__v4df)_mm256_setzero_pd());
2806 }
2807 
2808 static __inline__ __m128 __DEFAULT_FN_ATTRS
2809 _mm_mask_mul_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2810  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2811  (__v4sf)_mm_mul_ps(__A, __B),
2812  (__v4sf)__W);
2813 }
2814 
2815 static __inline__ __m128 __DEFAULT_FN_ATTRS
2816 _mm_maskz_mul_ps(__mmask8 __U, __m128 __A, __m128 __B) {
2817  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
2818  (__v4sf)_mm_mul_ps(__A, __B),
2819  (__v4sf)_mm_setzero_ps());
2820 }
2821 
2822 static __inline__ __m256 __DEFAULT_FN_ATTRS
2823 _mm256_mask_mul_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2824  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2825  (__v8sf)_mm256_mul_ps(__A, __B),
2826  (__v8sf)__W);
2827 }
2828 
2829 static __inline__ __m256 __DEFAULT_FN_ATTRS
2830 _mm256_maskz_mul_ps(__mmask8 __U, __m256 __A, __m256 __B) {
2831  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
2832  (__v8sf)_mm256_mul_ps(__A, __B),
2833  (__v8sf)_mm256_setzero_ps());
2834 }
2835 
2836 static __inline__ __m128i __DEFAULT_FN_ATTRS
2837 _mm_mask_abs_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
2838  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
2839  (__v4si)_mm_abs_epi32(__A),
2840  (__v4si)__W);
2841 }
2842 
2843 static __inline__ __m128i __DEFAULT_FN_ATTRS
2844 _mm_maskz_abs_epi32(__mmask8 __U, __m128i __A) {
2845  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
2846  (__v4si)_mm_abs_epi32(__A),
2847  (__v4si)_mm_setzero_si128());
2848 }
2849 
2850 static __inline__ __m256i __DEFAULT_FN_ATTRS
2851 _mm256_mask_abs_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
2852  return (__m256i)__builtin_ia32_selectd_256((__mmask16)__U,
2853  (__v8si)_mm256_abs_epi32(__A),
2854  (__v8si)__W);
2855 }
2856 
2857 static __inline__ __m256i __DEFAULT_FN_ATTRS
2859  return (__m256i)__builtin_ia32_selectd_256((__mmask16)__U,
2860  (__v8si)_mm256_abs_epi32(__A),
2861  (__v8si)_mm256_setzero_si256());
2862 }
2863 
2864 static __inline__ __m128i __DEFAULT_FN_ATTRS
2865 _mm_abs_epi64 (__m128i __A) {
2866  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
2867  (__v2di)
2868  _mm_setzero_si128 (),
2869  (__mmask8) -1);
2870 }
2871 
2872 static __inline__ __m128i __DEFAULT_FN_ATTRS
2873 _mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2874  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
2875  (__v2di) __W,
2876  (__mmask8) __U);
2877 }
2878 
2879 static __inline__ __m128i __DEFAULT_FN_ATTRS
2880 _mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) {
2881  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
2882  (__v2di)
2883  _mm_setzero_si128 (),
2884  (__mmask8) __U);
2885 }
2886 
2887 static __inline__ __m256i __DEFAULT_FN_ATTRS
2888 _mm256_abs_epi64 (__m256i __A) {
2889  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
2890  (__v4di)
2892  (__mmask8) -1);
2893 }
2894 
2895 static __inline__ __m256i __DEFAULT_FN_ATTRS
2896 _mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2897  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
2898  (__v4di) __W,
2899  (__mmask8) __U);
2900 }
2901 
2902 static __inline__ __m256i __DEFAULT_FN_ATTRS
2903 _mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) {
2904  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
2905  (__v4di)
2907  (__mmask8) __U);
2908 }
2909 
2910 static __inline__ __m128i __DEFAULT_FN_ATTRS
2911 _mm_maskz_max_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
2912  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
2913  (__v4si)_mm_max_epi32(__A, __B),
2914  (__v4si)_mm_setzero_si128());
2915 }
2916 
2917 static __inline__ __m128i __DEFAULT_FN_ATTRS
2918 _mm_mask_max_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2919  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
2920  (__v4si)_mm_max_epi32(__A, __B),
2921  (__v4si)__W);
2922 }
2923 
2924 static __inline__ __m256i __DEFAULT_FN_ATTRS
2925 _mm256_maskz_max_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
2926  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
2927  (__v8si)_mm256_max_epi32(__A, __B),
2928  (__v8si)_mm256_setzero_si256());
2929 }
2930 
2931 static __inline__ __m256i __DEFAULT_FN_ATTRS
2932 _mm256_mask_max_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2933  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
2934  (__v8si)_mm256_max_epi32(__A, __B),
2935  (__v8si)__W);
2936 }
2937 
2938 static __inline__ __m128i __DEFAULT_FN_ATTRS
2939 _mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
2940  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
2941  (__v2di) __B,
2942  (__v2di)
2943  _mm_setzero_si128 (),
2944  __M);
2945 }
2946 
2947 static __inline__ __m128i __DEFAULT_FN_ATTRS
2948 _mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
2949  __m128i __B) {
2950  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
2951  (__v2di) __B,
2952  (__v2di) __W, __M);
2953 }
2954 
2955 static __inline__ __m128i __DEFAULT_FN_ATTRS
2956 _mm_max_epi64 (__m128i __A, __m128i __B) {
2957  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
2958  (__v2di) __B,
2959  (__v2di)
2960  _mm_setzero_si128 (),
2961  (__mmask8) -1);
2962 }
2963 
2964 static __inline__ __m256i __DEFAULT_FN_ATTRS
2965 _mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
2966  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
2967  (__v4di) __B,
2968  (__v4di)
2970  __M);
2971 }
2972 
2973 static __inline__ __m256i __DEFAULT_FN_ATTRS
2974 _mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
2975  __m256i __B) {
2976  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
2977  (__v4di) __B,
2978  (__v4di) __W, __M);
2979 }
2980 
2981 static __inline__ __m256i __DEFAULT_FN_ATTRS
2982 _mm256_max_epi64 (__m256i __A, __m256i __B) {
2983  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
2984  (__v4di) __B,
2985  (__v4di)
2987  (__mmask8) -1);
2988 }
2989 
2990 static __inline__ __m128i __DEFAULT_FN_ATTRS
2991 _mm_maskz_max_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
2992  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
2993  (__v4si)_mm_max_epu32(__A, __B),
2994  (__v4si)_mm_setzero_si128());
2995 }
2996 
2997 static __inline__ __m128i __DEFAULT_FN_ATTRS
2998 _mm_mask_max_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2999  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
3000  (__v4si)_mm_max_epu32(__A, __B),
3001  (__v4si)__W);
3002 }
3003 
3004 static __inline__ __m256i __DEFAULT_FN_ATTRS
3005 _mm256_maskz_max_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
3006  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
3007  (__v8si)_mm256_max_epu32(__A, __B),
3008  (__v8si)_mm256_setzero_si256());
3009 }
3010 
3011 static __inline__ __m256i __DEFAULT_FN_ATTRS
3012 _mm256_mask_max_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
3013  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
3014  (__v8si)_mm256_max_epu32(__A, __B),
3015  (__v8si)__W);
3016 }
3017 
3018 static __inline__ __m128i __DEFAULT_FN_ATTRS
3019 _mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3020  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3021  (__v2di) __B,
3022  (__v2di)
3023  _mm_setzero_si128 (),
3024  __M);
3025 }
3026 
3027 static __inline__ __m128i __DEFAULT_FN_ATTRS
3028 _mm_max_epu64 (__m128i __A, __m128i __B) {
3029  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3030  (__v2di) __B,
3031  (__v2di)
3032  _mm_setzero_si128 (),
3033  (__mmask8) -1);
3034 }
3035 
3036 static __inline__ __m128i __DEFAULT_FN_ATTRS
3037 _mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3038  __m128i __B) {
3039  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3040  (__v2di) __B,
3041  (__v2di) __W, __M);
3042 }
3043 
3044 static __inline__ __m256i __DEFAULT_FN_ATTRS
3045 _mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3046  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3047  (__v4di) __B,
3048  (__v4di)
3050  __M);
3051 }
3052 
3053 static __inline__ __m256i __DEFAULT_FN_ATTRS
3054 _mm256_max_epu64 (__m256i __A, __m256i __B) {
3055  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3056  (__v4di) __B,
3057  (__v4di)
3059  (__mmask8) -1);
3060 }
3061 
3062 static __inline__ __m256i __DEFAULT_FN_ATTRS
3063 _mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3064  __m256i __B) {
3065  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3066  (__v4di) __B,
3067  (__v4di) __W, __M);
3068 }
3069 
3070 static __inline__ __m128i __DEFAULT_FN_ATTRS
3071 _mm_maskz_min_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
3072  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
3073  (__v4si)_mm_min_epi32(__A, __B),
3074  (__v4si)_mm_setzero_si128());
3075 }
3076 
3077 static __inline__ __m128i __DEFAULT_FN_ATTRS
3078 _mm_mask_min_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
3079  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
3080  (__v4si)_mm_min_epi32(__A, __B),
3081  (__v4si)__W);
3082 }
3083 
3084 static __inline__ __m256i __DEFAULT_FN_ATTRS
3085 _mm256_maskz_min_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
3086  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
3087  (__v8si)_mm256_min_epi32(__A, __B),
3088  (__v8si)_mm256_setzero_si256());
3089 }
3090 
3091 static __inline__ __m256i __DEFAULT_FN_ATTRS
3092 _mm256_mask_min_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
3093  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
3094  (__v8si)_mm256_min_epi32(__A, __B),
3095  (__v8si)__W);
3096 }
3097 
3098 static __inline__ __m128i __DEFAULT_FN_ATTRS
3099 _mm_min_epi64 (__m128i __A, __m128i __B) {
3100  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3101  (__v2di) __B,
3102  (__v2di)
3103  _mm_setzero_si128 (),
3104  (__mmask8) -1);
3105 }
3106 
3107 static __inline__ __m128i __DEFAULT_FN_ATTRS
3108 _mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
3109  __m128i __B) {
3110  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3111  (__v2di) __B,
3112  (__v2di) __W, __M);
3113 }
3114 
3115 static __inline__ __m128i __DEFAULT_FN_ATTRS
3116 _mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3117  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3118  (__v2di) __B,
3119  (__v2di)
3120  _mm_setzero_si128 (),
3121  __M);
3122 }
3123 
3124 static __inline__ __m256i __DEFAULT_FN_ATTRS
3125 _mm256_min_epi64 (__m256i __A, __m256i __B) {
3126  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3127  (__v4di) __B,
3128  (__v4di)
3130  (__mmask8) -1);
3131 }
3132 
3133 static __inline__ __m256i __DEFAULT_FN_ATTRS
3134 _mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
3135  __m256i __B) {
3136  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3137  (__v4di) __B,
3138  (__v4di) __W, __M);
3139 }
3140 
3141 static __inline__ __m256i __DEFAULT_FN_ATTRS
3142 _mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3143  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3144  (__v4di) __B,
3145  (__v4di)
3147  __M);
3148 }
3149 
3150 static __inline__ __m128i __DEFAULT_FN_ATTRS
3151 _mm_maskz_min_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
3152  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
3153  (__v4si)_mm_min_epu32(__A, __B),
3154  (__v4si)_mm_setzero_si128());
3155 }
3156 
3157 static __inline__ __m128i __DEFAULT_FN_ATTRS
3158 _mm_mask_min_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
3159  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
3160  (__v4si)_mm_min_epu32(__A, __B),
3161  (__v4si)__W);
3162 }
3163 
3164 static __inline__ __m256i __DEFAULT_FN_ATTRS
3165 _mm256_maskz_min_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
3166  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
3167  (__v8si)_mm256_min_epu32(__A, __B),
3168  (__v8si)_mm256_setzero_si256());
3169 }
3170 
3171 static __inline__ __m256i __DEFAULT_FN_ATTRS
3172 _mm256_mask_min_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
3173  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
3174  (__v8si)_mm256_min_epu32(__A, __B),
3175  (__v8si)__W);
3176 }
3177 
3178 static __inline__ __m128i __DEFAULT_FN_ATTRS
3179 _mm_min_epu64 (__m128i __A, __m128i __B) {
3180  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3181  (__v2di) __B,
3182  (__v2di)
3183  _mm_setzero_si128 (),
3184  (__mmask8) -1);
3185 }
3186 
3187 static __inline__ __m128i __DEFAULT_FN_ATTRS
3188 _mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3189  __m128i __B) {
3190  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3191  (__v2di) __B,
3192  (__v2di) __W, __M);
3193 }
3194 
3195 static __inline__ __m128i __DEFAULT_FN_ATTRS
3196 _mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3197  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3198  (__v2di) __B,
3199  (__v2di)
3200  _mm_setzero_si128 (),
3201  __M);
3202 }
3203 
3204 static __inline__ __m256i __DEFAULT_FN_ATTRS
3205 _mm256_min_epu64 (__m256i __A, __m256i __B) {
3206  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3207  (__v4di) __B,
3208  (__v4di)
3210  (__mmask8) -1);
3211 }
3212 
3213 static __inline__ __m256i __DEFAULT_FN_ATTRS
3214 _mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3215  __m256i __B) {
3216  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3217  (__v4di) __B,
3218  (__v4di) __W, __M);
3219 }
3220 
3221 static __inline__ __m256i __DEFAULT_FN_ATTRS
3222 _mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3223  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3224  (__v4di) __B,
3225  (__v4di)
3227  __M);
3228 }
3229 
3230 #define _mm_roundscale_pd(A, imm) __extension__ ({ \
3231  (__m128d)__builtin_ia32_rndscalepd_128_mask((__v2df)(__m128d)(A), \
3232  (int)(imm), \
3233  (__v2df)_mm_setzero_pd(), \
3234  (__mmask8)-1); })
3235 
3236 
3237 #define _mm_mask_roundscale_pd(W, U, A, imm) __extension__ ({ \
3238  (__m128d)__builtin_ia32_rndscalepd_128_mask((__v2df)(__m128d)(A), \
3239  (int)(imm), \
3240  (__v2df)(__m128d)(W), \
3241  (__mmask8)(U)); })
3242 
3243 
3244 #define _mm_maskz_roundscale_pd(U, A, imm) __extension__ ({ \
3245  (__m128d)__builtin_ia32_rndscalepd_128_mask((__v2df)(__m128d)(A), \
3246  (int)(imm), \
3247  (__v2df)_mm_setzero_pd(), \
3248  (__mmask8)(U)); })
3249 
3250 
3251 #define _mm256_roundscale_pd(A, imm) __extension__ ({ \
3252  (__m256d)__builtin_ia32_rndscalepd_256_mask((__v4df)(__m256d)(A), \
3253  (int)(imm), \
3254  (__v4df)_mm256_setzero_pd(), \
3255  (__mmask8)-1); })
3256 
3257 
3258 #define _mm256_mask_roundscale_pd(W, U, A, imm) __extension__ ({ \
3259  (__m256d)__builtin_ia32_rndscalepd_256_mask((__v4df)(__m256d)(A), \
3260  (int)(imm), \
3261  (__v4df)(__m256d)(W), \
3262  (__mmask8)(U)); })
3263 
3264 
3265 #define _mm256_maskz_roundscale_pd(U, A, imm) __extension__ ({ \
3266  (__m256d)__builtin_ia32_rndscalepd_256_mask((__v4df)(__m256d)(A), \
3267  (int)(imm), \
3268  (__v4df)_mm256_setzero_pd(), \
3269  (__mmask8)(U)); })
3270 
3271 #define _mm_roundscale_ps(A, imm) __extension__ ({ \
3272  (__m128)__builtin_ia32_rndscaleps_128_mask((__v4sf)(__m128)(A), (int)(imm), \
3273  (__v4sf)_mm_setzero_ps(), \
3274  (__mmask8)-1); })
3275 
3276 
3277 #define _mm_mask_roundscale_ps(W, U, A, imm) __extension__ ({ \
3278  (__m128)__builtin_ia32_rndscaleps_128_mask((__v4sf)(__m128)(A), (int)(imm), \
3279  (__v4sf)(__m128)(W), \
3280  (__mmask8)(U)); })
3281 
3282 
3283 #define _mm_maskz_roundscale_ps(U, A, imm) __extension__ ({ \
3284  (__m128)__builtin_ia32_rndscaleps_128_mask((__v4sf)(__m128)(A), (int)(imm), \
3285  (__v4sf)_mm_setzero_ps(), \
3286  (__mmask8)(U)); })
3287 
3288 #define _mm256_roundscale_ps(A, imm) __extension__ ({ \
3289  (__m256)__builtin_ia32_rndscaleps_256_mask((__v8sf)(__m256)(A), (int)(imm), \
3290  (__v8sf)_mm256_setzero_ps(), \
3291  (__mmask8)-1); })
3292 
3293 #define _mm256_mask_roundscale_ps(W, U, A, imm) __extension__ ({ \
3294  (__m256)__builtin_ia32_rndscaleps_256_mask((__v8sf)(__m256)(A), (int)(imm), \
3295  (__v8sf)(__m256)(W), \
3296  (__mmask8)(U)); })
3297 
3298 
3299 #define _mm256_maskz_roundscale_ps(U, A, imm) __extension__ ({ \
3300  (__m256)__builtin_ia32_rndscaleps_256_mask((__v8sf)(__m256)(A), (int)(imm), \
3301  (__v8sf)_mm256_setzero_ps(), \
3302  (__mmask8)(U)); })
3303 
3304 static __inline__ __m128d __DEFAULT_FN_ATTRS
3305 _mm_scalef_pd (__m128d __A, __m128d __B) {
3306  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3307  (__v2df) __B,
3308  (__v2df)
3309  _mm_setzero_pd (),
3310  (__mmask8) -1);
3311 }
3312 
3313 static __inline__ __m128d __DEFAULT_FN_ATTRS
3314 _mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
3315  __m128d __B) {
3316  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3317  (__v2df) __B,
3318  (__v2df) __W,
3319  (__mmask8) __U);
3320 }
3321 
3322 static __inline__ __m128d __DEFAULT_FN_ATTRS
3323 _mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3324  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3325  (__v2df) __B,
3326  (__v2df)
3327  _mm_setzero_pd (),
3328  (__mmask8) __U);
3329 }
3330 
3331 static __inline__ __m256d __DEFAULT_FN_ATTRS
3332 _mm256_scalef_pd (__m256d __A, __m256d __B) {
3333  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3334  (__v4df) __B,
3335  (__v4df)
3336  _mm256_setzero_pd (),
3337  (__mmask8) -1);
3338 }
3339 
3340 static __inline__ __m256d __DEFAULT_FN_ATTRS
3341 _mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
3342  __m256d __B) {
3343  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3344  (__v4df) __B,
3345  (__v4df) __W,
3346  (__mmask8) __U);
3347 }
3348 
3349 static __inline__ __m256d __DEFAULT_FN_ATTRS
3350 _mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3351  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3352  (__v4df) __B,
3353  (__v4df)
3354  _mm256_setzero_pd (),
3355  (__mmask8) __U);
3356 }
3357 
3358 static __inline__ __m128 __DEFAULT_FN_ATTRS
3359 _mm_scalef_ps (__m128 __A, __m128 __B) {
3360  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3361  (__v4sf) __B,
3362  (__v4sf)
3363  _mm_setzero_ps (),
3364  (__mmask8) -1);
3365 }
3366 
3367 static __inline__ __m128 __DEFAULT_FN_ATTRS
3368 _mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3369  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3370  (__v4sf) __B,
3371  (__v4sf) __W,
3372  (__mmask8) __U);
3373 }
3374 
3375 static __inline__ __m128 __DEFAULT_FN_ATTRS
3376 _mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3377  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3378  (__v4sf) __B,
3379  (__v4sf)
3380  _mm_setzero_ps (),
3381  (__mmask8) __U);
3382 }
3383 
3384 static __inline__ __m256 __DEFAULT_FN_ATTRS
3385 _mm256_scalef_ps (__m256 __A, __m256 __B) {
3386  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3387  (__v8sf) __B,
3388  (__v8sf)
3389  _mm256_setzero_ps (),
3390  (__mmask8) -1);
3391 }
3392 
3393 static __inline__ __m256 __DEFAULT_FN_ATTRS
3394 _mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
3395  __m256 __B) {
3396  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3397  (__v8sf) __B,
3398  (__v8sf) __W,
3399  (__mmask8) __U);
3400 }
3401 
3402 static __inline__ __m256 __DEFAULT_FN_ATTRS
3403 _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3404  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3405  (__v8sf) __B,
3406  (__v8sf)
3407  _mm256_setzero_ps (),
3408  (__mmask8) __U);
3409 }
3410 
3411 #define _mm_i64scatter_pd(addr, index, v1, scale) __extension__ ({ \
3412  __builtin_ia32_scatterdiv2df((double *)(addr), (__mmask8)-1, \
3413  (__v2di)(__m128i)(index), \
3414  (__v2df)(__m128d)(v1), (int)(scale)); })
3415 
3416 #define _mm_mask_i64scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
3417  __builtin_ia32_scatterdiv2df((double *)(addr), (__mmask8)(mask), \
3418  (__v2di)(__m128i)(index), \
3419  (__v2df)(__m128d)(v1), (int)(scale)); })
3420 
3421 #define _mm_i64scatter_epi64(addr, index, v1, scale) __extension__ ({ \
3422  __builtin_ia32_scatterdiv2di((long long *)(addr), (__mmask8)-1, \
3423  (__v2di)(__m128i)(index), \
3424  (__v2di)(__m128i)(v1), (int)(scale)); })
3425 
3426 #define _mm_mask_i64scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
3427  __builtin_ia32_scatterdiv2di((long long *)(addr), (__mmask8)(mask), \
3428  (__v2di)(__m128i)(index), \
3429  (__v2di)(__m128i)(v1), (int)(scale)); })
3430 
3431 #define _mm256_i64scatter_pd(addr, index, v1, scale) __extension__ ({ \
3432  __builtin_ia32_scatterdiv4df((double *)(addr), (__mmask8)-1, \
3433  (__v4di)(__m256i)(index), \
3434  (__v4df)(__m256d)(v1), (int)(scale)); })
3435 
3436 #define _mm256_mask_i64scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
3437  __builtin_ia32_scatterdiv4df((double *)(addr), (__mmask8)(mask), \
3438  (__v4di)(__m256i)(index), \
3439  (__v4df)(__m256d)(v1), (int)(scale)); })
3440 
3441 #define _mm256_i64scatter_epi64(addr, index, v1, scale) __extension__ ({ \
3442  __builtin_ia32_scatterdiv4di((long long *)(addr), (__mmask8)-1, \
3443  (__v4di)(__m256i)(index), \
3444  (__v4di)(__m256i)(v1), (int)(scale)); })
3445 
3446 #define _mm256_mask_i64scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
3447  __builtin_ia32_scatterdiv4di((long long *)(addr), (__mmask8)(mask), \
3448  (__v4di)(__m256i)(index), \
3449  (__v4di)(__m256i)(v1), (int)(scale)); })
3450 
3451 #define _mm_i64scatter_ps(addr, index, v1, scale) __extension__ ({ \
3452  __builtin_ia32_scatterdiv4sf((float *)(addr), (__mmask8)-1, \
3453  (__v2di)(__m128i)(index), (__v4sf)(__m128)(v1), \
3454  (int)(scale)); })
3455 
3456 #define _mm_mask_i64scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
3457  __builtin_ia32_scatterdiv4sf((float *)(addr), (__mmask8)(mask), \
3458  (__v2di)(__m128i)(index), (__v4sf)(__m128)(v1), \
3459  (int)(scale)); })
3460 
3461 #define _mm_i64scatter_epi32(addr, index, v1, scale) __extension__ ({ \
3462  __builtin_ia32_scatterdiv4si((int *)(addr), (__mmask8)-1, \
3463  (__v2di)(__m128i)(index), \
3464  (__v4si)(__m128i)(v1), (int)(scale)); })
3465 
3466 #define _mm_mask_i64scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
3467  __builtin_ia32_scatterdiv4si((int *)(addr), (__mmask8)(mask), \
3468  (__v2di)(__m128i)(index), \
3469  (__v4si)(__m128i)(v1), (int)(scale)); })
3470 
3471 #define _mm256_i64scatter_ps(addr, index, v1, scale) __extension__ ({ \
3472  __builtin_ia32_scatterdiv8sf((float *)(addr), (__mmask8)-1, \
3473  (__v4di)(__m256i)(index), (__v4sf)(__m128)(v1), \
3474  (int)(scale)); })
3475 
3476 #define _mm256_mask_i64scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
3477  __builtin_ia32_scatterdiv8sf((float *)(addr), (__mmask8)(mask), \
3478  (__v4di)(__m256i)(index), (__v4sf)(__m128)(v1), \
3479  (int)(scale)); })
3480 
3481 #define _mm256_i64scatter_epi32(addr, index, v1, scale) __extension__ ({ \
3482  __builtin_ia32_scatterdiv8si((int *)(addr), (__mmask8)-1, \
3483  (__v4di)(__m256i)(index), \
3484  (__v4si)(__m128i)(v1), (int)(scale)); })
3485 
3486 #define _mm256_mask_i64scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
3487  __builtin_ia32_scatterdiv8si((int *)(addr), (__mmask8)(mask), \
3488  (__v4di)(__m256i)(index), \
3489  (__v4si)(__m128i)(v1), (int)(scale)); })
3490 
3491 #define _mm_i32scatter_pd(addr, index, v1, scale) __extension__ ({ \
3492  __builtin_ia32_scattersiv2df((double *)(addr), (__mmask8)-1, \
3493  (__v4si)(__m128i)(index), \
3494  (__v2df)(__m128d)(v1), (int)(scale)); })
3495 
3496 #define _mm_mask_i32scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
3497  __builtin_ia32_scattersiv2df((double *)(addr), (__mmask8)(mask), \
3498  (__v4si)(__m128i)(index), \
3499  (__v2df)(__m128d)(v1), (int)(scale)); })
3500 
3501 #define _mm_i32scatter_epi64(addr, index, v1, scale) __extension__ ({ \
3502  __builtin_ia32_scattersiv2di((long long *)(addr), (__mmask8)-1, \
3503  (__v4si)(__m128i)(index), \
3504  (__v2di)(__m128i)(v1), (int)(scale)); })
3505 
3506 #define _mm_mask_i32scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
3507  __builtin_ia32_scattersiv2di((long long *)(addr), (__mmask8)(mask), \
3508  (__v4si)(__m128i)(index), \
3509  (__v2di)(__m128i)(v1), (int)(scale)); })
3510 
3511 #define _mm256_i32scatter_pd(addr, index, v1, scale) __extension__ ({ \
3512  __builtin_ia32_scattersiv4df((double *)(addr), (__mmask8)-1, \
3513  (__v4si)(__m128i)(index), \
3514  (__v4df)(__m256d)(v1), (int)(scale)); })
3515 
3516 #define _mm256_mask_i32scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
3517  __builtin_ia32_scattersiv4df((double *)(addr), (__mmask8)(mask), \
3518  (__v4si)(__m128i)(index), \
3519  (__v4df)(__m256d)(v1), (int)(scale)); })
3520 
3521 #define _mm256_i32scatter_epi64(addr, index, v1, scale) __extension__ ({ \
3522  __builtin_ia32_scattersiv4di((long long *)(addr), (__mmask8)-1, \
3523  (__v4si)(__m128i)(index), \
3524  (__v4di)(__m256i)(v1), (int)(scale)); })
3525 
3526 #define _mm256_mask_i32scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
3527  __builtin_ia32_scattersiv4di((long long *)(addr), (__mmask8)(mask), \
3528  (__v4si)(__m128i)(index), \
3529  (__v4di)(__m256i)(v1), (int)(scale)); })
3530 
3531 #define _mm_i32scatter_ps(addr, index, v1, scale) __extension__ ({ \
3532  __builtin_ia32_scattersiv4sf((float *)(addr), (__mmask8)-1, \
3533  (__v4si)(__m128i)(index), (__v4sf)(__m128)(v1), \
3534  (int)(scale)); })
3535 
3536 #define _mm_mask_i32scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
3537  __builtin_ia32_scattersiv4sf((float *)(addr), (__mmask8)(mask), \
3538  (__v4si)(__m128i)(index), (__v4sf)(__m128)(v1), \
3539  (int)(scale)); })
3540 
3541 #define _mm_i32scatter_epi32(addr, index, v1, scale) __extension__ ({ \
3542  __builtin_ia32_scattersiv4si((int *)(addr), (__mmask8)-1, \
3543  (__v4si)(__m128i)(index), \
3544  (__v4si)(__m128i)(v1), (int)(scale)); })
3545 
3546 #define _mm_mask_i32scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
3547  __builtin_ia32_scattersiv4si((int *)(addr), (__mmask8)(mask), \
3548  (__v4si)(__m128i)(index), \
3549  (__v4si)(__m128i)(v1), (int)(scale)); })
3550 
3551 #define _mm256_i32scatter_ps(addr, index, v1, scale) __extension__ ({ \
3552  __builtin_ia32_scattersiv8sf((float *)(addr), (__mmask8)-1, \
3553  (__v8si)(__m256i)(index), (__v8sf)(__m256)(v1), \
3554  (int)(scale)); })
3555 
3556 #define _mm256_mask_i32scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
3557  __builtin_ia32_scattersiv8sf((float *)(addr), (__mmask8)(mask), \
3558  (__v8si)(__m256i)(index), (__v8sf)(__m256)(v1), \
3559  (int)(scale)); })
3560 
3561 #define _mm256_i32scatter_epi32(addr, index, v1, scale) __extension__ ({ \
3562  __builtin_ia32_scattersiv8si((int *)(addr), (__mmask8)-1, \
3563  (__v8si)(__m256i)(index), \
3564  (__v8si)(__m256i)(v1), (int)(scale)); })
3565 
3566 #define _mm256_mask_i32scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
3567  __builtin_ia32_scattersiv8si((int *)(addr), (__mmask8)(mask), \
3568  (__v8si)(__m256i)(index), \
3569  (__v8si)(__m256i)(v1), (int)(scale)); })
3570 
3571 static __inline__ __m128d __DEFAULT_FN_ATTRS
3572 _mm_mask_sqrt_pd(__m128d __W, __mmask8 __U, __m128d __A) {
3573  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
3574  (__v2df)_mm_sqrt_pd(__A),
3575  (__v2df)__W);
3576 }
3577 
3578 static __inline__ __m128d __DEFAULT_FN_ATTRS
3579 _mm_maskz_sqrt_pd(__mmask8 __U, __m128d __A) {
3580  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
3581  (__v2df)_mm_sqrt_pd(__A),
3582  (__v2df)_mm_setzero_pd());
3583 }
3584 
3585 static __inline__ __m256d __DEFAULT_FN_ATTRS
3586 _mm256_mask_sqrt_pd(__m256d __W, __mmask8 __U, __m256d __A) {
3587  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
3588  (__v4df)_mm256_sqrt_pd(__A),
3589  (__v4df)__W);
3590 }
3591 
3592 static __inline__ __m256d __DEFAULT_FN_ATTRS
3593 _mm256_maskz_sqrt_pd(__mmask8 __U, __m256d __A) {
3594  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
3595  (__v4df)_mm256_sqrt_pd(__A),
3596  (__v4df)_mm256_setzero_pd());
3597 }
3598 
3599 static __inline__ __m128 __DEFAULT_FN_ATTRS
3600 _mm_mask_sqrt_ps(__m128 __W, __mmask8 __U, __m128 __A) {
3601  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
3602  (__v4sf)_mm_sqrt_ps(__A),
3603  (__v4sf)__W);
3604 }
3605 
3606 static __inline__ __m128 __DEFAULT_FN_ATTRS
3607 _mm_maskz_sqrt_ps(__mmask8 __U, __m128 __A) {
3608  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
3609  (__v4sf)_mm_sqrt_ps(__A),
3610  (__v4sf)_mm_setzero_pd());
3611 }
3612 
3613 static __inline__ __m256 __DEFAULT_FN_ATTRS
3614 _mm256_mask_sqrt_ps(__m256 __W, __mmask8 __U, __m256 __A) {
3615  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
3616  (__v8sf)_mm256_sqrt_ps(__A),
3617  (__v8sf)__W);
3618 }
3619 
3620 static __inline__ __m256 __DEFAULT_FN_ATTRS
3621 _mm256_maskz_sqrt_ps(__mmask8 __U, __m256 __A) {
3622  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
3623  (__v8sf)_mm256_sqrt_ps(__A),
3624  (__v8sf)_mm256_setzero_ps());
3625 }
3626 
3627 static __inline__ __m128d __DEFAULT_FN_ATTRS
3628 _mm_mask_sub_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3629  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
3630  (__v2df)_mm_sub_pd(__A, __B),
3631  (__v2df)__W);
3632 }
3633 
3634 static __inline__ __m128d __DEFAULT_FN_ATTRS
3635 _mm_maskz_sub_pd(__mmask8 __U, __m128d __A, __m128d __B) {
3636  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
3637  (__v2df)_mm_sub_pd(__A, __B),
3638  (__v2df)_mm_setzero_pd());
3639 }
3640 
3641 static __inline__ __m256d __DEFAULT_FN_ATTRS
3642 _mm256_mask_sub_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
3643  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
3644  (__v4df)_mm256_sub_pd(__A, __B),
3645  (__v4df)__W);
3646 }
3647 
3648 static __inline__ __m256d __DEFAULT_FN_ATTRS
3649 _mm256_maskz_sub_pd(__mmask8 __U, __m256d __A, __m256d __B) {
3650  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
3651  (__v4df)_mm256_sub_pd(__A, __B),
3652  (__v4df)_mm256_setzero_pd());
3653 }
3654 
3655 static __inline__ __m128 __DEFAULT_FN_ATTRS
3656 _mm_mask_sub_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3657  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
3658  (__v4sf)_mm_sub_ps(__A, __B),
3659  (__v4sf)__W);
3660 }
3661 
3662 static __inline__ __m128 __DEFAULT_FN_ATTRS
3663 _mm_maskz_sub_ps(__mmask8 __U, __m128 __A, __m128 __B) {
3664  return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
3665  (__v4sf)_mm_sub_ps(__A, __B),
3666  (__v4sf)_mm_setzero_ps());
3667 }
3668 
3669 static __inline__ __m256 __DEFAULT_FN_ATTRS
3670 _mm256_mask_sub_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3671  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
3672  (__v8sf)_mm256_sub_ps(__A, __B),
3673  (__v8sf)__W);
3674 }
3675 
3676 static __inline__ __m256 __DEFAULT_FN_ATTRS
3677 _mm256_maskz_sub_ps(__mmask8 __U, __m256 __A, __m256 __B) {
3678  return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
3679  (__v8sf)_mm256_sub_ps(__A, __B),
3680  (__v8sf)_mm256_setzero_ps());
3681 }
3682 
3683 static __inline__ __m128i __DEFAULT_FN_ATTRS
3684 _mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
3685  __m128i __B) {
3686  return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
3687  (__v4si) __I
3688  /* idx */ ,
3689  (__v4si) __B,
3690  (__mmask8) __U);
3691 }
3692 
3693 static __inline__ __m256i __DEFAULT_FN_ATTRS
3694 _mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
3695  __mmask8 __U, __m256i __B) {
3696  return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
3697  (__v8si) __I
3698  /* idx */ ,
3699  (__v8si) __B,
3700  (__mmask8) __U);
3701 }
3702 
3703 static __inline__ __m128d __DEFAULT_FN_ATTRS
3704 _mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
3705  __m128d __B) {
3706  return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
3707  (__v2di) __I
3708  /* idx */ ,
3709  (__v2df) __B,
3710  (__mmask8)
3711  __U);
3712 }
3713 
3714 static __inline__ __m256d __DEFAULT_FN_ATTRS
3715 _mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
3716  __m256d __B) {
3717  return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
3718  (__v4di) __I
3719  /* idx */ ,
3720  (__v4df) __B,
3721  (__mmask8)
3722  __U);
3723 }
3724 
3725 static __inline__ __m128 __DEFAULT_FN_ATTRS
3726 _mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
3727  __m128 __B) {
3728  return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
3729  (__v4si) __I
3730  /* idx */ ,
3731  (__v4sf) __B,
3732  (__mmask8) __U);
3733 }
3734 
3735 static __inline__ __m256 __DEFAULT_FN_ATTRS
3736 _mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
3737  __m256 __B) {
3738  return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
3739  (__v8si) __I
3740  /* idx */ ,
3741  (__v8sf) __B,
3742  (__mmask8) __U);
3743 }
3744 
3745 static __inline__ __m128i __DEFAULT_FN_ATTRS
3746 _mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
3747  __m128i __B) {
3748  return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
3749  (__v2di) __I
3750  /* idx */ ,
3751  (__v2di) __B,
3752  (__mmask8) __U);
3753 }
3754 
3755 static __inline__ __m256i __DEFAULT_FN_ATTRS
3756 _mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
3757  __mmask8 __U, __m256i __B) {
3758  return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
3759  (__v4di) __I
3760  /* idx */ ,
3761  (__v4di) __B,
3762  (__mmask8) __U);
3763 }
3764 
3765 static __inline__ __m128i __DEFAULT_FN_ATTRS
3766 _mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B) {
3767  return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
3768  /* idx */ ,
3769  (__v4si) __A,
3770  (__v4si) __B,
3771  (__mmask8) -1);
3772 }
3773 
3774 static __inline__ __m128i __DEFAULT_FN_ATTRS
3775 _mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
3776  __m128i __B) {
3777  return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
3778  /* idx */ ,
3779  (__v4si) __A,
3780  (__v4si) __B,
3781  (__mmask8) __U);
3782 }
3783 
3784 static __inline__ __m128i __DEFAULT_FN_ATTRS
3785 _mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
3786  __m128i __B) {
3787  return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
3788  /* idx */ ,
3789  (__v4si) __A,
3790  (__v4si) __B,
3791  (__mmask8)
3792  __U);
3793 }
3794 
3795 static __inline__ __m256i __DEFAULT_FN_ATTRS
3796 _mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B) {
3797  return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
3798  /* idx */ ,
3799  (__v8si) __A,
3800  (__v8si) __B,
3801  (__mmask8) -1);
3802 }
3803 
3804 static __inline__ __m256i __DEFAULT_FN_ATTRS
3805 _mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
3806  __m256i __B) {
3807  return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
3808  /* idx */ ,
3809  (__v8si) __A,
3810  (__v8si) __B,
3811  (__mmask8) __U);
3812 }
3813 
3814 static __inline__ __m256i __DEFAULT_FN_ATTRS
3816  __m256i __I, __m256i __B) {
3817  return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
3818  /* idx */ ,
3819  (__v8si) __A,
3820  (__v8si) __B,
3821  (__mmask8)
3822  __U);
3823 }
3824 
3825 static __inline__ __m128d __DEFAULT_FN_ATTRS
3826 _mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B) {
3827  return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
3828  /* idx */ ,
3829  (__v2df) __A,
3830  (__v2df) __B,
3831  (__mmask8) -
3832  1);
3833 }
3834 
3835 static __inline__ __m128d __DEFAULT_FN_ATTRS
3836 _mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
3837  __m128d __B) {
3838  return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
3839  /* idx */ ,
3840  (__v2df) __A,
3841  (__v2df) __B,
3842  (__mmask8)
3843  __U);
3844 }
3845 
3846 static __inline__ __m128d __DEFAULT_FN_ATTRS
3847 _mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
3848  __m128d __B) {
3849  return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
3850  /* idx */ ,
3851  (__v2df) __A,
3852  (__v2df) __B,
3853  (__mmask8)
3854  __U);
3855 }
3856 
3857 static __inline__ __m256d __DEFAULT_FN_ATTRS
3858 _mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B) {
3859  return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
3860  /* idx */ ,
3861  (__v4df) __A,
3862  (__v4df) __B,
3863  (__mmask8) -
3864  1);
3865 }
3866 
3867 static __inline__ __m256d __DEFAULT_FN_ATTRS
3868 _mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
3869  __m256d __B) {
3870  return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
3871  /* idx */ ,
3872  (__v4df) __A,
3873  (__v4df) __B,
3874  (__mmask8)
3875  __U);
3876 }
3877 
3878 static __inline__ __m256d __DEFAULT_FN_ATTRS
3879 _mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
3880  __m256d __B) {
3881  return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
3882  /* idx */ ,
3883  (__v4df) __A,
3884  (__v4df) __B,
3885  (__mmask8)
3886  __U);
3887 }
3888 
3889 static __inline__ __m128 __DEFAULT_FN_ATTRS
3890 _mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B) {
3891  return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
3892  /* idx */ ,
3893  (__v4sf) __A,
3894  (__v4sf) __B,
3895  (__mmask8) -1);
3896 }
3897 
3898 static __inline__ __m128 __DEFAULT_FN_ATTRS
3899 _mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
3900  __m128 __B) {
3901  return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
3902  /* idx */ ,
3903  (__v4sf) __A,
3904  (__v4sf) __B,
3905  (__mmask8) __U);
3906 }
3907 
3908 static __inline__ __m128 __DEFAULT_FN_ATTRS
3909 _mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
3910  __m128 __B) {
3911  return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
3912  /* idx */ ,
3913  (__v4sf) __A,
3914  (__v4sf) __B,
3915  (__mmask8)
3916  __U);
3917 }
3918 
3919 static __inline__ __m256 __DEFAULT_FN_ATTRS
3920 _mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B) {
3921  return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
3922  /* idx */ ,
3923  (__v8sf) __A,
3924  (__v8sf) __B,
3925  (__mmask8) -1);
3926 }
3927 
3928 static __inline__ __m256 __DEFAULT_FN_ATTRS
3929 _mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
3930  __m256 __B) {
3931  return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
3932  /* idx */ ,
3933  (__v8sf) __A,
3934  (__v8sf) __B,
3935  (__mmask8) __U);
3936 }
3937 
3938 static __inline__ __m256 __DEFAULT_FN_ATTRS
3939 _mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
3940  __m256 __B) {
3941  return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
3942  /* idx */ ,
3943  (__v8sf) __A,
3944  (__v8sf) __B,
3945  (__mmask8)
3946  __U);
3947 }
3948 
3949 static __inline__ __m128i __DEFAULT_FN_ATTRS
3950 _mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B) {
3951  return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
3952  /* idx */ ,
3953  (__v2di) __A,
3954  (__v2di) __B,
3955  (__mmask8) -1);
3956 }
3957 
3958 static __inline__ __m128i __DEFAULT_FN_ATTRS
3959 _mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
3960  __m128i __B) {
3961  return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
3962  /* idx */ ,
3963  (__v2di) __A,
3964  (__v2di) __B,
3965  (__mmask8) __U);
3966 }
3967 
3968 static __inline__ __m128i __DEFAULT_FN_ATTRS
3969 _mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
3970  __m128i __B) {
3971  return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
3972  /* idx */ ,
3973  (__v2di) __A,
3974  (__v2di) __B,
3975  (__mmask8)
3976  __U);
3977 }
3978 
3979 
3980 static __inline__ __m256i __DEFAULT_FN_ATTRS
3981 _mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B) {
3982  return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
3983  /* idx */ ,
3984  (__v4di) __A,
3985  (__v4di) __B,
3986  (__mmask8) -1);
3987 }
3988 
3989 static __inline__ __m256i __DEFAULT_FN_ATTRS
3990 _mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
3991  __m256i __B) {
3992  return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
3993  /* idx */ ,
3994  (__v4di) __A,
3995  (__v4di) __B,
3996  (__mmask8) __U);
3997 }
3998 
3999 static __inline__ __m256i __DEFAULT_FN_ATTRS
4001  __m256i __I, __m256i __B) {
4002  return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
4003  /* idx */ ,
4004  (__v4di) __A,
4005  (__v4di) __B,
4006  (__mmask8)
4007  __U);
4008 }
4009 
4010 static __inline__ __m128i __DEFAULT_FN_ATTRS
4011 _mm_mask_cvtepi8_epi32(__m128i __W, __mmask8 __U, __m128i __A)
4012 {
4013  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4014  (__v4si)_mm_cvtepi8_epi32(__A),
4015  (__v4si)__W);
4016 }
4017 
4018 static __inline__ __m128i __DEFAULT_FN_ATTRS
4020 {
4021  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4022  (__v4si)_mm_cvtepi8_epi32(__A),
4023  (__v4si)_mm_setzero_si128());
4024 }
4025 
4026 static __inline__ __m256i __DEFAULT_FN_ATTRS
4027 _mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4028 {
4029  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4030  (__v8si)_mm256_cvtepi8_epi32(__A),
4031  (__v8si)__W);
4032 }
4033 
4034 static __inline__ __m256i __DEFAULT_FN_ATTRS
4036 {
4037  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4038  (__v8si)_mm256_cvtepi8_epi32(__A),
4039  (__v8si)_mm256_setzero_si256());
4040 }
4041 
4042 static __inline__ __m128i __DEFAULT_FN_ATTRS
4043 _mm_mask_cvtepi8_epi64(__m128i __W, __mmask8 __U, __m128i __A)
4044 {
4045  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4046  (__v2di)_mm_cvtepi8_epi64(__A),
4047  (__v2di)__W);
4048 }
4049 
4050 static __inline__ __m128i __DEFAULT_FN_ATTRS
4052 {
4053  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4054  (__v2di)_mm_cvtepi8_epi64(__A),
4055  (__v2di)_mm_setzero_si128());
4056 }
4057 
4058 static __inline__ __m256i __DEFAULT_FN_ATTRS
4059 _mm256_mask_cvtepi8_epi64(__m256i __W, __mmask8 __U, __m128i __A)
4060 {
4061  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4062  (__v4di)_mm256_cvtepi8_epi64(__A),
4063  (__v4di)__W);
4064 }
4065 
4066 static __inline__ __m256i __DEFAULT_FN_ATTRS
4068 {
4069  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4070  (__v4di)_mm256_cvtepi8_epi64(__A),
4071  (__v4di)_mm256_setzero_si256());
4072 }
4073 
4074 static __inline__ __m128i __DEFAULT_FN_ATTRS
4075 _mm_mask_cvtepi32_epi64(__m128i __W, __mmask8 __U, __m128i __X)
4076 {
4077  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4078  (__v2di)_mm_cvtepi32_epi64(__X),
4079  (__v2di)__W);
4080 }
4081 
4082 static __inline__ __m128i __DEFAULT_FN_ATTRS
4084 {
4085  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4086  (__v2di)_mm_cvtepi32_epi64(__X),
4087  (__v2di)_mm_setzero_si128());
4088 }
4089 
4090 static __inline__ __m256i __DEFAULT_FN_ATTRS
4091 _mm256_mask_cvtepi32_epi64(__m256i __W, __mmask8 __U, __m128i __X)
4092 {
4093  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4094  (__v4di)_mm256_cvtepi32_epi64(__X),
4095  (__v4di)__W);
4096 }
4097 
4098 static __inline__ __m256i __DEFAULT_FN_ATTRS
4100 {
4101  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4102  (__v4di)_mm256_cvtepi32_epi64(__X),
4103  (__v4di)_mm256_setzero_si256());
4104 }
4105 
4106 static __inline__ __m128i __DEFAULT_FN_ATTRS
4107 _mm_mask_cvtepi16_epi32(__m128i __W, __mmask8 __U, __m128i __A)
4108 {
4109  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4110  (__v4si)_mm_cvtepi16_epi32(__A),
4111  (__v4si)__W);
4112 }
4113 
4114 static __inline__ __m128i __DEFAULT_FN_ATTRS
4116 {
4117  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4118  (__v4si)_mm_cvtepi16_epi32(__A),
4119  (__v4si)_mm_setzero_si128());
4120 }
4121 
4122 static __inline__ __m256i __DEFAULT_FN_ATTRS
4123 _mm256_mask_cvtepi16_epi32(__m256i __W, __mmask8 __U, __m128i __A)
4124 {
4125  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4126  (__v8si)_mm256_cvtepi16_epi32(__A),
4127  (__v8si)__W);
4128 }
4129 
4130 static __inline__ __m256i __DEFAULT_FN_ATTRS
4132 {
4133  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4134  (__v8si)_mm256_cvtepi16_epi32(__A),
4135  (__v8si)_mm256_setzero_si256());
4136 }
4137 
4138 static __inline__ __m128i __DEFAULT_FN_ATTRS
4139 _mm_mask_cvtepi16_epi64(__m128i __W, __mmask8 __U, __m128i __A)
4140 {
4141  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4142  (__v2di)_mm_cvtepi16_epi64(__A),
4143  (__v2di)__W);
4144 }
4145 
4146 static __inline__ __m128i __DEFAULT_FN_ATTRS
4148 {
4149  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4150  (__v2di)_mm_cvtepi16_epi64(__A),
4151  (__v2di)_mm_setzero_si128());
4152 }
4153 
4154 static __inline__ __m256i __DEFAULT_FN_ATTRS
4155 _mm256_mask_cvtepi16_epi64(__m256i __W, __mmask8 __U, __m128i __A)
4156 {
4157  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4158  (__v4di)_mm256_cvtepi16_epi64(__A),
4159  (__v4di)__W);
4160 }
4161 
4162 static __inline__ __m256i __DEFAULT_FN_ATTRS
4164 {
4165  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4166  (__v4di)_mm256_cvtepi16_epi64(__A),
4167  (__v4di)_mm256_setzero_si256());
4168 }
4169 
4170 
4171 static __inline__ __m128i __DEFAULT_FN_ATTRS
4172 _mm_mask_cvtepu8_epi32(__m128i __W, __mmask8 __U, __m128i __A)
4173 {
4174  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4175  (__v4si)_mm_cvtepu8_epi32(__A),
4176  (__v4si)__W);
4177 }
4178 
4179 static __inline__ __m128i __DEFAULT_FN_ATTRS
4181 {
4182  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4183  (__v4si)_mm_cvtepu8_epi32(__A),
4184  (__v4si)_mm_setzero_si128());
4185 }
4186 
4187 static __inline__ __m256i __DEFAULT_FN_ATTRS
4188 _mm256_mask_cvtepu8_epi32(__m256i __W, __mmask8 __U, __m128i __A)
4189 {
4190  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4191  (__v8si)_mm256_cvtepu8_epi32(__A),
4192  (__v8si)__W);
4193 }
4194 
4195 static __inline__ __m256i __DEFAULT_FN_ATTRS
4197 {
4198  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4199  (__v8si)_mm256_cvtepu8_epi32(__A),
4200  (__v8si)_mm256_setzero_si256());
4201 }
4202 
4203 static __inline__ __m128i __DEFAULT_FN_ATTRS
4204 _mm_mask_cvtepu8_epi64(__m128i __W, __mmask8 __U, __m128i __A)
4205 {
4206  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4207  (__v2di)_mm_cvtepu8_epi64(__A),
4208  (__v2di)__W);
4209 }
4210 
4211 static __inline__ __m128i __DEFAULT_FN_ATTRS
4213 {
4214  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4215  (__v2di)_mm_cvtepu8_epi64(__A),
4216  (__v2di)_mm_setzero_si128());
4217 }
4218 
4219 static __inline__ __m256i __DEFAULT_FN_ATTRS
4220 _mm256_mask_cvtepu8_epi64(__m256i __W, __mmask8 __U, __m128i __A)
4221 {
4222  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4223  (__v4di)_mm256_cvtepu8_epi64(__A),
4224  (__v4di)__W);
4225 }
4226 
4227 static __inline__ __m256i __DEFAULT_FN_ATTRS
4229 {
4230  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4231  (__v4di)_mm256_cvtepu8_epi64(__A),
4232  (__v4di)_mm256_setzero_si256());
4233 }
4234 
4235 static __inline__ __m128i __DEFAULT_FN_ATTRS
4236 _mm_mask_cvtepu32_epi64(__m128i __W, __mmask8 __U, __m128i __X)
4237 {
4238  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4239  (__v2di)_mm_cvtepu32_epi64(__X),
4240  (__v2di)__W);
4241 }
4242 
4243 static __inline__ __m128i __DEFAULT_FN_ATTRS
4245 {
4246  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4247  (__v2di)_mm_cvtepu32_epi64(__X),
4248  (__v2di)_mm_setzero_si128());
4249 }
4250 
4251 static __inline__ __m256i __DEFAULT_FN_ATTRS
4252 _mm256_mask_cvtepu32_epi64(__m256i __W, __mmask8 __U, __m128i __X)
4253 {
4254  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4255  (__v4di)_mm256_cvtepu32_epi64(__X),
4256  (__v4di)__W);
4257 }
4258 
4259 static __inline__ __m256i __DEFAULT_FN_ATTRS
4261 {
4262  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4263  (__v4di)_mm256_cvtepu32_epi64(__X),
4264  (__v4di)_mm256_setzero_si256());
4265 }
4266 
4267 static __inline__ __m128i __DEFAULT_FN_ATTRS
4268 _mm_mask_cvtepu16_epi32(__m128i __W, __mmask8 __U, __m128i __A)
4269 {
4270  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4271  (__v4si)_mm_cvtepu16_epi32(__A),
4272  (__v4si)__W);
4273 }
4274 
4275 static __inline__ __m128i __DEFAULT_FN_ATTRS
4277 {
4278  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4279  (__v4si)_mm_cvtepu16_epi32(__A),
4280  (__v4si)_mm_setzero_si128());
4281 }
4282 
4283 static __inline__ __m256i __DEFAULT_FN_ATTRS
4284 _mm256_mask_cvtepu16_epi32(__m256i __W, __mmask8 __U, __m128i __A)
4285 {
4286  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4287  (__v8si)_mm256_cvtepu16_epi32(__A),
4288  (__v8si)__W);
4289 }
4290 
4291 static __inline__ __m256i __DEFAULT_FN_ATTRS
4293 {
4294  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4295  (__v8si)_mm256_cvtepu16_epi32(__A),
4296  (__v8si)_mm256_setzero_si256());
4297 }
4298 
4299 static __inline__ __m128i __DEFAULT_FN_ATTRS
4300 _mm_mask_cvtepu16_epi64(__m128i __W, __mmask8 __U, __m128i __A)
4301 {
4302  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4303  (__v2di)_mm_cvtepu16_epi64(__A),
4304  (__v2di)__W);
4305 }
4306 
4307 static __inline__ __m128i __DEFAULT_FN_ATTRS
4309 {
4310  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4311  (__v2di)_mm_cvtepu16_epi64(__A),
4312  (__v2di)_mm_setzero_si128());
4313 }
4314 
4315 static __inline__ __m256i __DEFAULT_FN_ATTRS
4316 _mm256_mask_cvtepu16_epi64(__m256i __W, __mmask8 __U, __m128i __A)
4317 {
4318  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4319  (__v4di)_mm256_cvtepu16_epi64(__A),
4320  (__v4di)__W);
4321 }
4322 
4323 static __inline__ __m256i __DEFAULT_FN_ATTRS
4325 {
4326  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4327  (__v4di)_mm256_cvtepu16_epi64(__A),
4328  (__v4di)_mm256_setzero_si256());
4329 }
4330 
4331 
4332 #define _mm_rol_epi32(a, b) __extension__ ({\
4333  (__m128i)__builtin_ia32_prold128_mask((__v4si)(__m128i)(a), (int)(b), \
4334  (__v4si)_mm_setzero_si128(), \
4335  (__mmask8)-1); })
4336 
4337 #define _mm_mask_rol_epi32(w, u, a, b) __extension__ ({\
4338  (__m128i)__builtin_ia32_prold128_mask((__v4si)(__m128i)(a), (int)(b), \
4339  (__v4si)(__m128i)(w), (__mmask8)(u)); })
4340 
4341 #define _mm_maskz_rol_epi32(u, a, b) __extension__ ({\
4342  (__m128i)__builtin_ia32_prold128_mask((__v4si)(__m128i)(a), (int)(b), \
4343  (__v4si)_mm_setzero_si128(), \
4344  (__mmask8)(u)); })
4345 
4346 #define _mm256_rol_epi32(a, b) __extension__ ({\
4347  (__m256i)__builtin_ia32_prold256_mask((__v8si)(__m256i)(a), (int)(b), \
4348  (__v8si)_mm256_setzero_si256(), \
4349  (__mmask8)-1); })
4350 
4351 #define _mm256_mask_rol_epi32(w, u, a, b) __extension__ ({\
4352  (__m256i)__builtin_ia32_prold256_mask((__v8si)(__m256i)(a), (int)(b), \
4353  (__v8si)(__m256i)(w), (__mmask8)(u)); })
4354 
4355 #define _mm256_maskz_rol_epi32(u, a, b) __extension__ ({\
4356  (__m256i)__builtin_ia32_prold256_mask((__v8si)(__m256i)(a), (int)(b), \
4357  (__v8si)_mm256_setzero_si256(), \
4358  (__mmask8)(u)); })
4359 
4360 #define _mm_rol_epi64(a, b) __extension__ ({\
4361  (__m128i)__builtin_ia32_prolq128_mask((__v2di)(__m128i)(a), (int)(b), \
4362  (__v2di)_mm_setzero_di(), \
4363  (__mmask8)-1); })
4364 
4365 #define _mm_mask_rol_epi64(w, u, a, b) __extension__ ({\
4366  (__m128i)__builtin_ia32_prolq128_mask((__v2di)(__m128i)(a), (int)(b), \
4367  (__v2di)(__m128i)(w), (__mmask8)(u)); })
4368 
4369 #define _mm_maskz_rol_epi64(u, a, b) __extension__ ({\
4370  (__m128i)__builtin_ia32_prolq128_mask((__v2di)(__m128i)(a), (int)(b), \
4371  (__v2di)_mm_setzero_di(), \
4372  (__mmask8)(u)); })
4373 
4374 #define _mm256_rol_epi64(a, b) __extension__ ({\
4375  (__m256i)__builtin_ia32_prolq256_mask((__v4di)(__m256i)(a), (int)(b), \
4376  (__v4di)_mm256_setzero_si256(), \
4377  (__mmask8)-1); })
4378 
4379 #define _mm256_mask_rol_epi64(w, u, a, b) __extension__ ({\
4380  (__m256i)__builtin_ia32_prolq256_mask((__v4di)(__m256i)(a), (int)(b), \
4381  (__v4di)(__m256i)(w), (__mmask8)(u)); })
4382 
4383 #define _mm256_maskz_rol_epi64(u, a, b) __extension__ ({\
4384  (__m256i)__builtin_ia32_prolq256_mask((__v4di)(__m256i)(a), (int)(b), \
4385  (__v4di)_mm256_setzero_si256(), \
4386  (__mmask8)(u)); })
4387 
4388 static __inline__ __m128i __DEFAULT_FN_ATTRS
4389 _mm_rolv_epi32 (__m128i __A, __m128i __B)
4390 {
4391  return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
4392  (__v4si) __B,
4393  (__v4si)
4394  _mm_setzero_si128 (),
4395  (__mmask8) -1);
4396 }
4397 
4398 static __inline__ __m128i __DEFAULT_FN_ATTRS
4399 _mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4400  __m128i __B)
4401 {
4402  return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
4403  (__v4si) __B,
4404  (__v4si) __W,
4405  (__mmask8) __U);
4406 }
4407 
4408 static __inline__ __m128i __DEFAULT_FN_ATTRS
4409 _mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4410 {
4411  return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
4412  (__v4si) __B,
4413  (__v4si)
4414  _mm_setzero_si128 (),
4415  (__mmask8) __U);
4416 }
4417 
4418 static __inline__ __m256i __DEFAULT_FN_ATTRS
4419 _mm256_rolv_epi32 (__m256i __A, __m256i __B)
4420 {
4421  return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
4422  (__v8si) __B,
4423  (__v8si)
4425  (__mmask8) -1);
4426 }
4427 
4428 static __inline__ __m256i __DEFAULT_FN_ATTRS
4429 _mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4430  __m256i __B)
4431 {
4432  return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
4433  (__v8si) __B,
4434  (__v8si) __W,
4435  (__mmask8) __U);
4436 }
4437 
4438 static __inline__ __m256i __DEFAULT_FN_ATTRS
4439 _mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4440 {
4441  return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
4442  (__v8si) __B,
4443  (__v8si)
4445  (__mmask8) __U);
4446 }
4447 
4448 static __inline__ __m128i __DEFAULT_FN_ATTRS
4449 _mm_rolv_epi64 (__m128i __A, __m128i __B)
4450 {
4451  return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
4452  (__v2di) __B,
4453  (__v2di)
4454  _mm_setzero_di (),
4455  (__mmask8) -1);
4456 }
4457 
4458 static __inline__ __m128i __DEFAULT_FN_ATTRS
4459 _mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
4460  __m128i __B)
4461 {
4462  return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
4463  (__v2di) __B,
4464  (__v2di) __W,
4465  (__mmask8) __U);
4466 }
4467 
4468 static __inline__ __m128i __DEFAULT_FN_ATTRS
4469 _mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
4470 {
4471  return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
4472  (__v2di) __B,
4473  (__v2di)
4474  _mm_setzero_di (),
4475  (__mmask8) __U);
4476 }
4477 
4478 static __inline__ __m256i __DEFAULT_FN_ATTRS
4479 _mm256_rolv_epi64 (__m256i __A, __m256i __B)
4480 {
4481  return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
4482  (__v4di) __B,
4483  (__v4di)
4485  (__mmask8) -1);
4486 }
4487 
4488 static __inline__ __m256i __DEFAULT_FN_ATTRS
4489 _mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
4490  __m256i __B)
4491 {
4492  return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
4493  (__v4di) __B,
4494  (__v4di) __W,
4495  (__mmask8) __U);
4496 }
4497 
4498 static __inline__ __m256i __DEFAULT_FN_ATTRS
4499 _mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
4500 {
4501  return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
4502  (__v4di) __B,
4503  (__v4di)
4505  (__mmask8) __U);
4506 }
4507 
4508 #define _mm_ror_epi32(A, B) __extension__ ({ \
4509  (__m128i)__builtin_ia32_prord128_mask((__v4si)(__m128i)(A), (int)(B), \
4510  (__v4si)_mm_setzero_si128(), \
4511  (__mmask8)-1); })
4512 
4513 #define _mm_mask_ror_epi32(W, U, A, B) __extension__ ({ \
4514  (__m128i)__builtin_ia32_prord128_mask((__v4si)(__m128i)(A), (int)(B), \
4515  (__v4si)(__m128i)(W), (__mmask8)(U)); })
4516 
4517 #define _mm_maskz_ror_epi32(U, A, B) __extension__ ({ \
4518  (__m128i)__builtin_ia32_prord128_mask((__v4si)(__m128i)(A), (int)(B), \
4519  (__v4si)_mm_setzero_si128(), \
4520  (__mmask8)(U)); })
4521 
4522 #define _mm256_ror_epi32(A, B) __extension__ ({ \
4523  (__m256i)__builtin_ia32_prord256_mask((__v8si)(__m256i)(A), (int)(B), \
4524  (__v8si)_mm256_setzero_si256(), \
4525  (__mmask8)-1); })
4526 
4527 #define _mm256_mask_ror_epi32(W, U, A, B) __extension__ ({ \
4528  (__m256i)__builtin_ia32_prord256_mask((__v8si)(__m256i)(A), (int)(B), \
4529  (__v8si)(__m256i)(W), (__mmask8)(U)); })
4530 
4531 #define _mm256_maskz_ror_epi32(U, A, B) __extension__ ({ \
4532  (__m256i)__builtin_ia32_prord256_mask((__v8si)(__m256i)(A), (int)(B), \
4533  (__v8si)_mm256_setzero_si256(), \
4534  (__mmask8)(U)); })
4535 
4536 #define _mm_ror_epi64(A, B) __extension__ ({ \
4537  (__m128i)__builtin_ia32_prorq128_mask((__v2di)(__m128i)(A), (int)(B), \
4538  (__v2di)_mm_setzero_di(), \
4539  (__mmask8)-1); })
4540 
4541 #define _mm_mask_ror_epi64(W, U, A, B) __extension__ ({ \
4542  (__m128i)__builtin_ia32_prorq128_mask((__v2di)(__m128i)(A), (int)(B), \
4543  (__v2di)(__m128i)(W), (__mmask8)(U)); })
4544 
4545 #define _mm_maskz_ror_epi64(U, A, B) __extension__ ({ \
4546  (__m128i)__builtin_ia32_prorq128_mask((__v2di)(__m128i)(A), (int)(B), \
4547  (__v2di)_mm_setzero_di(), \
4548  (__mmask8)(U)); })
4549 
4550 #define _mm256_ror_epi64(A, B) __extension__ ({ \
4551  (__m256i)__builtin_ia32_prorq256_mask((__v4di)(__m256i)(A), (int)(B), \
4552  (__v4di)_mm256_setzero_si256(), \
4553  (__mmask8)-1); })
4554 
4555 #define _mm256_mask_ror_epi64(W, U, A, B) __extension__ ({ \
4556  (__m256i)__builtin_ia32_prorq256_mask((__v4di)(__m256i)(A), (int)(B), \
4557  (__v4di)(__m256i)(W), (__mmask8)(U)); })
4558 
4559 #define _mm256_maskz_ror_epi64(U, A, B) __extension__ ({ \
4560  (__m256i)__builtin_ia32_prorq256_mask((__v4di)(__m256i)(A), (int)(B), \
4561  (__v4di)_mm256_setzero_si256(), \
4562  (__mmask8)(U)); })
4563 
4564 static __inline__ __m128i __DEFAULT_FN_ATTRS
4565 _mm_mask_sll_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4566 {
4567  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4568  (__v4si)_mm_sll_epi32(__A, __B),
4569  (__v4si)__W);
4570 }
4571 
4572 static __inline__ __m128i __DEFAULT_FN_ATTRS
4573 _mm_maskz_sll_epi32(__mmask8 __U, __m128i __A, __m128i __B)
4574 {
4575  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4576  (__v4si)_mm_sll_epi32(__A, __B),
4577  (__v4si)_mm_setzero_si128());
4578 }
4579 
4580 static __inline__ __m256i __DEFAULT_FN_ATTRS
4581 _mm256_mask_sll_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
4582 {
4583  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4584  (__v8si)_mm256_sll_epi32(__A, __B),
4585  (__v8si)__W);
4586 }
4587 
4588 static __inline__ __m256i __DEFAULT_FN_ATTRS
4589 _mm256_maskz_sll_epi32(__mmask8 __U, __m256i __A, __m128i __B)
4590 {
4591  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4592  (__v8si)_mm256_sll_epi32(__A, __B),
4593  (__v8si)_mm256_setzero_si256());
4594 }
4595 
4596 static __inline__ __m128i __DEFAULT_FN_ATTRS
4597 _mm_mask_slli_epi32(__m128i __W, __mmask8 __U, __m128i __A, int __B)
4598 {
4599  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4600  (__v4si)_mm_slli_epi32(__A, __B),
4601  (__v4si)__W);
4602 }
4603 
4604 static __inline__ __m128i __DEFAULT_FN_ATTRS
4605 _mm_maskz_slli_epi32(__mmask8 __U, __m128i __A, int __B)
4606 {
4607  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4608  (__v4si)_mm_slli_epi32(__A, __B),
4609  (__v4si)_mm_setzero_si128());
4610 }
4611 
4612 static __inline__ __m256i __DEFAULT_FN_ATTRS
4613 _mm256_mask_slli_epi32(__m256i __W, __mmask8 __U, __m256i __A, int __B)
4614 {
4615  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4616  (__v8si)_mm256_slli_epi32(__A, __B),
4617  (__v8si)__W);
4618 }
4619 
4620 static __inline__ __m256i __DEFAULT_FN_ATTRS
4621 _mm256_maskz_slli_epi32(__mmask8 __U, __m256i __A, int __B)
4622 {
4623  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4624  (__v8si)_mm256_slli_epi32(__A, __B),
4625  (__v8si)_mm256_setzero_si256());
4626 }
4627 
4628 static __inline__ __m128i __DEFAULT_FN_ATTRS
4629 _mm_mask_sll_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4630 {
4631  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4632  (__v2di)_mm_sll_epi64(__A, __B),
4633  (__v2di)__W);
4634 }
4635 
4636 static __inline__ __m128i __DEFAULT_FN_ATTRS
4637 _mm_maskz_sll_epi64(__mmask8 __U, __m128i __A, __m128i __B)
4638 {
4639  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4640  (__v2di)_mm_sll_epi64(__A, __B),
4641  (__v2di)_mm_setzero_di());
4642 }
4643 
4644 static __inline__ __m256i __DEFAULT_FN_ATTRS
4645 _mm256_mask_sll_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
4646 {
4647  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4648  (__v4di)_mm256_sll_epi64(__A, __B),
4649  (__v4di)__W);
4650 }
4651 
4652 static __inline__ __m256i __DEFAULT_FN_ATTRS
4653 _mm256_maskz_sll_epi64(__mmask8 __U, __m256i __A, __m128i __B)
4654 {
4655  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4656  (__v4di)_mm256_sll_epi64(__A, __B),
4657  (__v4di)_mm256_setzero_si256());
4658 }
4659 
4660 static __inline__ __m128i __DEFAULT_FN_ATTRS
4661 _mm_mask_slli_epi64(__m128i __W, __mmask8 __U, __m128i __A, int __B)
4662 {
4663  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4664  (__v2di)_mm_slli_epi64(__A, __B),
4665  (__v2di)__W);
4666 }
4667 
4668 static __inline__ __m128i __DEFAULT_FN_ATTRS
4669 _mm_maskz_slli_epi64(__mmask8 __U, __m128i __A, int __B)
4670 {
4671  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4672  (__v2di)_mm_slli_epi64(__A, __B),
4673  (__v2di)_mm_setzero_di());
4674 }
4675 
4676 static __inline__ __m256i __DEFAULT_FN_ATTRS
4677 _mm256_mask_slli_epi64(__m256i __W, __mmask8 __U, __m256i __A, int __B)
4678 {
4679  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4680  (__v4di)_mm256_slli_epi64(__A, __B),
4681  (__v4di)__W);
4682 }
4683 
4684 static __inline__ __m256i __DEFAULT_FN_ATTRS
4685 _mm256_maskz_slli_epi64(__mmask8 __U, __m256i __A, int __B)
4686 {
4687  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4688  (__v4di)_mm256_slli_epi64(__A, __B),
4689  (__v4di)_mm256_setzero_si256());
4690 }
4691 
4692 static __inline__ __m128i __DEFAULT_FN_ATTRS
4693 _mm_rorv_epi32 (__m128i __A, __m128i __B)
4694 {
4695  return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
4696  (__v4si) __B,
4697  (__v4si)
4698  _mm_setzero_si128 (),
4699  (__mmask8) -1);
4700 }
4701 
4702 static __inline__ __m128i __DEFAULT_FN_ATTRS
4703 _mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4704  __m128i __B)
4705 {
4706  return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
4707  (__v4si) __B,
4708  (__v4si) __W,
4709  (__mmask8) __U);
4710 }
4711 
4712 static __inline__ __m128i __DEFAULT_FN_ATTRS
4713 _mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4714 {
4715  return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
4716  (__v4si) __B,
4717  (__v4si)
4718  _mm_setzero_si128 (),
4719  (__mmask8) __U);
4720 }
4721 
4722 static __inline__ __m256i __DEFAULT_FN_ATTRS
4723 _mm256_rorv_epi32 (__m256i __A, __m256i __B)
4724 {
4725  return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
4726  (__v8si) __B,
4727  (__v8si)
4729  (__mmask8) -1);
4730 }
4731 
4732 static __inline__ __m256i __DEFAULT_FN_ATTRS
4733 _mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4734  __m256i __B)
4735 {
4736  return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
4737  (__v8si) __B,
4738  (__v8si) __W,
4739  (__mmask8) __U);
4740 }
4741 
4742 static __inline__ __m256i __DEFAULT_FN_ATTRS
4743 _mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
4744 {
4745  return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
4746  (__v8si) __B,
4747  (__v8si)
4749  (__mmask8) __U);
4750 }
4751 
4752 static __inline__ __m128i __DEFAULT_FN_ATTRS
4753 _mm_rorv_epi64 (__m128i __A, __m128i __B)
4754 {
4755  return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
4756  (__v2di) __B,
4757  (__v2di)
4758  _mm_setzero_di (),
4759  (__mmask8) -1);
4760 }
4761 
4762 static __inline__ __m128i __DEFAULT_FN_ATTRS
4763 _mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
4764  __m128i __B)
4765 {
4766  return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
4767  (__v2di) __B,
4768  (__v2di) __W,
4769  (__mmask8) __U);
4770 }
4771 
4772 static __inline__ __m128i __DEFAULT_FN_ATTRS
4773 _mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
4774 {
4775  return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
4776  (__v2di) __B,
4777  (__v2di)
4778  _mm_setzero_di (),
4779  (__mmask8) __U);
4780 }
4781 
4782 static __inline__ __m256i __DEFAULT_FN_ATTRS
4783 _mm256_rorv_epi64 (__m256i __A, __m256i __B)
4784 {
4785  return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
4786  (__v4di) __B,
4787  (__v4di)
4789  (__mmask8) -1);
4790 }
4791 
4792 static __inline__ __m256i __DEFAULT_FN_ATTRS
4793 _mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
4794  __m256i __B)
4795 {
4796  return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
4797  (__v4di) __B,
4798  (__v4di) __W,
4799  (__mmask8) __U);
4800 }
4801 
4802 static __inline__ __m256i __DEFAULT_FN_ATTRS
4803 _mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
4804 {
4805  return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
4806  (__v4di) __B,
4807  (__v4di)
4809  (__mmask8) __U);
4810 }
4811 
4812 static __inline__ __m128i __DEFAULT_FN_ATTRS
4813 _mm_mask_sllv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
4814 {
4815  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4816  (__v2di)_mm_sllv_epi64(__X, __Y),
4817  (__v2di)__W);
4818 }
4819 
4820 static __inline__ __m128i __DEFAULT_FN_ATTRS
4821 _mm_maskz_sllv_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
4822 {
4823  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4824  (__v2di)_mm_sllv_epi64(__X, __Y),
4825  (__v2di)_mm_setzero_di());
4826 }
4827 
4828 static __inline__ __m256i __DEFAULT_FN_ATTRS
4829 _mm256_mask_sllv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
4830 {
4831  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4832  (__v4di)_mm256_sllv_epi64(__X, __Y),
4833  (__v4di)__W);
4834 }
4835 
4836 static __inline__ __m256i __DEFAULT_FN_ATTRS
4837 _mm256_maskz_sllv_epi64(__mmask8 __U, __m256i __X, __m256i __Y)
4838 {
4839  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4840  (__v4di)_mm256_sllv_epi64(__X, __Y),
4841  (__v4di)_mm256_setzero_si256());
4842 }
4843 
4844 static __inline__ __m128i __DEFAULT_FN_ATTRS
4845 _mm_mask_sllv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
4846 {
4847  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4848  (__v4si)_mm_sllv_epi32(__X, __Y),
4849  (__v4si)__W);
4850 }
4851 
4852 static __inline__ __m128i __DEFAULT_FN_ATTRS
4853 _mm_maskz_sllv_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
4854 {
4855  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4856  (__v4si)_mm_sllv_epi32(__X, __Y),
4857  (__v4si)_mm_setzero_si128());
4858 }
4859 
4860 static __inline__ __m256i __DEFAULT_FN_ATTRS
4861 _mm256_mask_sllv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
4862 {
4863  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4864  (__v8si)_mm256_sllv_epi32(__X, __Y),
4865  (__v8si)__W);
4866 }
4867 
4868 static __inline__ __m256i __DEFAULT_FN_ATTRS
4869 _mm256_maskz_sllv_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
4870 {
4871  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4872  (__v8si)_mm256_sllv_epi32(__X, __Y),
4873  (__v8si)_mm256_setzero_si256());
4874 }
4875 
4876 static __inline__ __m128i __DEFAULT_FN_ATTRS
4877 _mm_mask_srlv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
4878 {
4879  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4880  (__v2di)_mm_srlv_epi64(__X, __Y),
4881  (__v2di)__W);
4882 }
4883 
4884 static __inline__ __m128i __DEFAULT_FN_ATTRS
4885 _mm_maskz_srlv_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
4886 {
4887  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
4888  (__v2di)_mm_srlv_epi64(__X, __Y),
4889  (__v2di)_mm_setzero_di());
4890 }
4891 
4892 static __inline__ __m256i __DEFAULT_FN_ATTRS
4893 _mm256_mask_srlv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
4894 {
4895  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4896  (__v4di)_mm256_srlv_epi64(__X, __Y),
4897  (__v4di)__W);
4898 }
4899 
4900 static __inline__ __m256i __DEFAULT_FN_ATTRS
4901 _mm256_maskz_srlv_epi64(__mmask8 __U, __m256i __X, __m256i __Y)
4902 {
4903  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4904  (__v4di)_mm256_srlv_epi64(__X, __Y),
4905  (__v4di)_mm256_setzero_si256());
4906 }
4907 
4908 static __inline__ __m128i __DEFAULT_FN_ATTRS
4909 _mm_mask_srlv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
4910 {
4911  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4912  (__v4si)_mm_srlv_epi32(__X, __Y),
4913  (__v4si)__W);
4914 }
4915 
4916 static __inline__ __m128i __DEFAULT_FN_ATTRS
4917 _mm_maskz_srlv_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
4918 {
4919  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4920  (__v4si)_mm_srlv_epi32(__X, __Y),
4921  (__v4si)_mm_setzero_si128());
4922 }
4923 
4924 static __inline__ __m256i __DEFAULT_FN_ATTRS
4925 _mm256_mask_srlv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
4926 {
4927  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4928  (__v8si)_mm256_srlv_epi32(__X, __Y),
4929  (__v8si)__W);
4930 }
4931 
4932 static __inline__ __m256i __DEFAULT_FN_ATTRS
4933 _mm256_maskz_srlv_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
4934 {
4935  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4936  (__v8si)_mm256_srlv_epi32(__X, __Y),
4937  (__v8si)_mm256_setzero_si256());
4938 }
4939 
4940 static __inline__ __m128i __DEFAULT_FN_ATTRS
4941 _mm_mask_srl_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4942 {
4943  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4944  (__v4si)_mm_srl_epi32(__A, __B),
4945  (__v4si)__W);
4946 }
4947 
4948 static __inline__ __m128i __DEFAULT_FN_ATTRS
4949 _mm_maskz_srl_epi32(__mmask8 __U, __m128i __A, __m128i __B)
4950 {
4951  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4952  (__v4si)_mm_srl_epi32(__A, __B),
4953  (__v4si)_mm_setzero_si128());
4954 }
4955 
4956 static __inline__ __m256i __DEFAULT_FN_ATTRS
4957 _mm256_mask_srl_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
4958 {
4959  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4960  (__v8si)_mm256_srl_epi32(__A, __B),
4961  (__v8si)__W);
4962 }
4963 
4964 static __inline__ __m256i __DEFAULT_FN_ATTRS
4965 _mm256_maskz_srl_epi32(__mmask8 __U, __m256i __A, __m128i __B)
4966 {
4967  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4968  (__v8si)_mm256_srl_epi32(__A, __B),
4969  (__v8si)_mm256_setzero_si256());
4970 }
4971 
4972 static __inline__ __m128i __DEFAULT_FN_ATTRS
4973 _mm_mask_srli_epi32(__m128i __W, __mmask8 __U, __m128i __A, int __B)
4974 {
4975  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4976  (__v4si)_mm_srli_epi32(__A, __B),
4977  (__v4si)__W);
4978 }
4979 
4980 static __inline__ __m128i __DEFAULT_FN_ATTRS
4981 _mm_maskz_srli_epi32(__mmask8 __U, __m128i __A, int __B)
4982 {
4983  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
4984  (__v4si)_mm_srli_epi32(__A, __B),
4985  (__v4si)_mm_setzero_si128());
4986 }
4987 
4988 static __inline__ __m256i __DEFAULT_FN_ATTRS
4989 _mm256_mask_srli_epi32(__m256i __W, __mmask8 __U, __m256i __A, int __B)
4990 {
4991  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
4992  (__v8si)_mm256_srli_epi32(__A, __B),
4993  (__v8si)__W);
4994 }
4995 
4996 static __inline__ __m256i __DEFAULT_FN_ATTRS
4997 _mm256_maskz_srli_epi32(__mmask8 __U, __m256i __A, int __B)
4998 {
4999  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
5000  (__v8si)_mm256_srli_epi32(__A, __B),
5001  (__v8si)_mm256_setzero_si256());
5002 }
5003 
5004 static __inline__ __m128i __DEFAULT_FN_ATTRS
5005 _mm_mask_srl_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
5006 {
5007  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
5008  (__v2di)_mm_srl_epi64(__A, __B),
5009  (__v2di)__W);
5010 }
5011 
5012 static __inline__ __m128i __DEFAULT_FN_ATTRS
5013 _mm_maskz_srl_epi64(__mmask8 __U, __m128i __A, __m128i __B)
5014 {
5015  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
5016  (__v2di)_mm_srl_epi64(__A, __B),
5017  (__v2di)_mm_setzero_di());
5018 }
5019 
5020 static __inline__ __m256i __DEFAULT_FN_ATTRS
5021 _mm256_mask_srl_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
5022 {
5023  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
5024  (__v4di)_mm256_srl_epi64(__A, __B),
5025  (__v4di)__W);
5026 }
5027 
5028 static __inline__ __m256i __DEFAULT_FN_ATTRS
5029 _mm256_maskz_srl_epi64(__mmask8 __U, __m256i __A, __m128i __B)
5030 {
5031  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
5032  (__v4di)_mm256_srl_epi64(__A, __B),
5033  (__v4di)_mm256_setzero_si256());
5034 }
5035 
5036 static __inline__ __m128i __DEFAULT_FN_ATTRS
5037 _mm_mask_srli_epi64(__m128i __W, __mmask8 __U, __m128i __A, int __B)
5038 {
5039  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
5040  (__v2di)_mm_srli_epi64(__A, __B),
5041  (__v2di)__W);
5042 }
5043 
5044 static __inline__ __m128i __DEFAULT_FN_ATTRS
5045 _mm_maskz_srli_epi64(__mmask8 __U, __m128i __A, int __B)
5046 {
5047  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
5048  (__v2di)_mm_srli_epi64(__A, __B),
5049  (__v2di)_mm_setzero_di());
5050 }
5051 
5052 static __inline__ __m256i __DEFAULT_FN_ATTRS
5053 _mm256_mask_srli_epi64(__m256i __W, __mmask8 __U, __m256i __A, int __B)
5054 {
5055  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
5056  (__v4di)_mm256_srli_epi64(__A, __B),
5057  (__v4di)__W);
5058 }
5059 
5060 static __inline__ __m256i __DEFAULT_FN_ATTRS
5061 _mm256_maskz_srli_epi64(__mmask8 __U, __m256i __A, int __B)
5062 {
5063  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
5064  (__v4di)_mm256_srli_epi64(__A, __B),
5065  (__v4di)_mm256_setzero_si256());
5066 }
5067 
5068 static __inline__ __m128i __DEFAULT_FN_ATTRS
5069 _mm_mask_srav_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
5070 {
5071  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
5072  (__v4si)_mm_srav_epi32(__X, __Y),
5073  (__v4si)__W);
5074 }
5075 
5076 static __inline__ __m128i __DEFAULT_FN_ATTRS
5077 _mm_maskz_srav_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
5078 {
5079  return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
5080  (__v4si)_mm_srav_epi32(__X, __Y),
5081  (__v4si)_mm_setzero_si128());
5082 }
5083 
5084 static __inline__ __m256i __DEFAULT_FN_ATTRS
5085 _mm256_mask_srav_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
5086 {
5087  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
5088  (__v8si)_mm256_srav_epi32(__X, __Y),
5089  (__v8si)__W);
5090 }
5091 
5092 static __inline__ __m256i __DEFAULT_FN_ATTRS
5093 _mm256_maskz_srav_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
5094 {
5095  return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
5096  (__v8si)_mm256_srav_epi32(__X, __Y),
5097  (__v8si)_mm256_setzero_si256());
5098 }
5099 
5100 static __inline__ __m128i __DEFAULT_FN_ATTRS
5101 _mm_srav_epi64(__m128i __X, __m128i __Y)
5102 {
5103  return (__m128i)__builtin_ia32_psravq128((__v2di)__X, (__v2di)__Y);
5104 }
5105 
5106 static __inline__ __m128i __DEFAULT_FN_ATTRS
5107 _mm_mask_srav_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
5108 {
5109  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
5110  (__v2di)_mm_srav_epi64(__X, __Y),
5111  (__v2di)__W);
5112 }
5113 
5114 static __inline__ __m128i __DEFAULT_FN_ATTRS
5115 _mm_maskz_srav_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
5116 {
5117  return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
5118  (__v2di)_mm_srav_epi64(__X, __Y),
5119  (__v2di)_mm_setzero_di());
5120 }
5121 
5122 static __inline__ __m256i __DEFAULT_FN_ATTRS
5123 _mm256_srav_epi64(__m256i __X, __m256i __Y)
5124 {
5125  return (__m256i)__builtin_ia32_psravq256((__v4di)__X, (__v4di) __Y);
5126 }
5127 
5128 static __inline__ __m256i __DEFAULT_FN_ATTRS
5129 _mm256_mask_srav_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
5130 {
5131  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
5132  (__v4di)_mm256_srav_epi64(__X, __Y),
5133  (__v4di)__W);
5134 }
5135 
5136 static __inline__ __m256i __DEFAULT_FN_ATTRS
5137 _mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
5138 {
5139  return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
5140  (__v4di)_mm256_srav_epi64(__X, __Y),
5141  (__v4di)_mm256_setzero_si256());
5142 }
5143 
5144 static __inline__ __m128i __DEFAULT_FN_ATTRS
5145 _mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
5146 {
5147  return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
5148  (__v4si) __A,
5149  (__v4si) __W);
5150 }
5151 
5152 static __inline__ __m128i __DEFAULT_FN_ATTRS
5153 _mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A)
5154 {
5155  return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
5156  (__v4si) __A,
5157  (__v4si) _mm_setzero_si128 ());
5158 }
5159 
5160 
5161 static __inline__ __m256i __DEFAULT_FN_ATTRS
5162 _mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
5163 {
5164  return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
5165  (__v8si) __A,
5166  (__v8si) __W);
5167 }
5168 
5169 static __inline__ __m256i __DEFAULT_FN_ATTRS
5171 {
5172  return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
5173  (__v8si) __A,
5174  (__v8si) _mm256_setzero_si256 ());
5175 }
5176 
5177 static __inline__ __m128i __DEFAULT_FN_ATTRS
5178 _mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P)
5179 {
5180  return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
5181  (__v4si) __W,
5182  (__mmask8)
5183  __U);
5184 }
5185 
5186 static __inline__ __m128i __DEFAULT_FN_ATTRS
5187 _mm_maskz_load_epi32 (__mmask8 __U, void const *__P)
5188 {
5189  return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
5190  (__v4si)
5191  _mm_setzero_si128 (),
5192  (__mmask8)
5193  __U);
5194 }
5195 
5196 static __inline__ __m256i __DEFAULT_FN_ATTRS
5197 _mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P)
5198 {
5199  return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
5200  (__v8si) __W,
5201  (__mmask8)
5202  __U);
5203 }
5204 
5205 static __inline__ __m256i __DEFAULT_FN_ATTRS
5206 _mm256_maskz_load_epi32 (__mmask8 __U, void const *__P)
5207 {
5208  return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
5209  (__v8si)
5211  (__mmask8)
5212  __U);
5213 }
5214 
5215 static __inline__ void __DEFAULT_FN_ATTRS
5216 _mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A)
5217 {
5218  __builtin_ia32_movdqa32store128_mask ((__v4si *) __P,
5219  (__v4si) __A,
5220  (__mmask8) __U);
5221 }
5222 
5223 static __inline__ void __DEFAULT_FN_ATTRS
5224 _mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A)
5225 {
5226  __builtin_ia32_movdqa32store256_mask ((__v8si *) __P,
5227  (__v8si) __A,
5228  (__mmask8) __U);
5229 }
5230 
5231 static __inline__ __m128i __DEFAULT_FN_ATTRS
5232 _mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
5233 {
5234  return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
5235  (__v2di) __A,
5236  (__v2di) __W);
5237 }
5238 
5239 static __inline__ __m128i __DEFAULT_FN_ATTRS
5240 _mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A)
5241 {
5242  return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
5243  (__v2di) __A,
5244  (__v2di) _mm_setzero_di ());
5245 }
5246 
5247 static __inline__ __m256i __DEFAULT_FN_ATTRS
5248 _mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
5249 {
5250  return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
5251  (__v4di) __A,
5252  (__v4di) __W);
5253 }
5254 
5255 static __inline__ __m256i __DEFAULT_FN_ATTRS
5257 {
5258  return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
5259  (__v4di) __A,
5260  (__v4di) _mm256_setzero_si256 ());
5261 }
5262 
5263 static __inline__ __m128i __DEFAULT_FN_ATTRS
5264 _mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P)
5265 {
5266  return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
5267  (__v2di) __W,
5268  (__mmask8)
5269  __U);
5270 }
5271 
5272 static __inline__ __m128i __DEFAULT_FN_ATTRS
5273 _mm_maskz_load_epi64 (__mmask8 __U, void const *__P)
5274 {
5275  return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
5276  (__v2di)
5277  _mm_setzero_di (),
5278  (__mmask8)
5279  __U);
5280 }
5281 
5282 static __inline__ __m256i __DEFAULT_FN_ATTRS
5283 _mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P)
5284 {
5285  return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
5286  (__v4di) __W,
5287  (__mmask8)
5288  __U);
5289 }
5290 
5291 static __inline__ __m256i __DEFAULT_FN_ATTRS
5292 _mm256_maskz_load_epi64 (__mmask8 __U, void const *__P)
5293 {
5294  return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
5295  (__v4di)
5297  (__mmask8)
5298  __U);
5299 }
5300 
5301 static __inline__ void __DEFAULT_FN_ATTRS
5302 _mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A)
5303 {
5304  __builtin_ia32_movdqa64store128_mask ((__v2di *) __P,
5305  (__v2di) __A,
5306  (__mmask8) __U);
5307 }
5308 
5309 static __inline__ void __DEFAULT_FN_ATTRS
5310 _mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A)
5311 {
5312  __builtin_ia32_movdqa64store256_mask ((__v4di *) __P,
5313  (__v4di) __A,
5314  (__mmask8) __U);
5315 }
5316 
5317 static __inline__ __m128d __DEFAULT_FN_ATTRS
5318 _mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
5319 {
5320  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
5321  (__v2df)_mm_movedup_pd(__A),
5322  (__v2df)__W);
5323 }
5324 
5325 static __inline__ __m128d __DEFAULT_FN_ATTRS
5326 _mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
5327 {
5328  return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
5329  (__v2df)_mm_movedup_pd(__A),
5330  (__v2df)_mm_setzero_pd());
5331 }
5332 
5333 static __inline__ __m256d __DEFAULT_FN_ATTRS
5334 _mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
5335 {
5336  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
5337  (__v4df)_mm256_movedup_pd(__A),
5338  (__v4df)__W);
5339 }
5340 
5341 static __inline__ __m256d __DEFAULT_FN_ATTRS
5343 {
5344  return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
5345  (__v4df)_mm256_movedup_pd(__A),
5346  (__v4df)_mm256_setzero_pd());
5347 }
5348 
5349 static __inline__ __m128i __DEFAULT_FN_ATTRS
5350 _mm_mask_set1_epi32(__m128i __O, __mmask8 __M, int __A)
5351 {
5352  return (__m128i)__builtin_ia32_selectd_128(__M,
5353  (__v4si) _mm_set1_epi32(__A),
5354  (__v4si)__O);
5355 }
5356 
5357 static __inline__ __m128i __DEFAULT_FN_ATTRS
5359 {
5360  return (__m128i)__builtin_ia32_selectd_128(__M,
5361  (__v4si) _mm_set1_epi32(__A),
5362  (__v4si)_mm_setzero_si128());
5363 }
5364 
5365 static __inline__ __m256i __DEFAULT_FN_ATTRS
5366 _mm256_mask_set1_epi32(__m256i __O, __mmask8 __M, int __A)
5367 {
5368  return (__m256i)__builtin_ia32_selectd_256(__M,
5369  (__v8si) _mm256_set1_epi32(__A),
5370  (__v8si)__O);
5371 }
5372 
5373 static __inline__ __m256i __DEFAULT_FN_ATTRS
5375 {
5376  return (__m256i)__builtin_ia32_selectd_256(__M,
5377  (__v8si) _mm256_set1_epi32(__A),
5378  (__v8si)_mm256_setzero_si256());
5379 }
5380 
5381 
5382 #ifdef __x86_64__
5383 static __inline__ __m128i __DEFAULT_FN_ATTRS
5384 _mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
5385 {
5386  return (__m128i) __builtin_ia32_selectq_128(__M,
5387  (__v2di) _mm_set1_epi64x(__A),
5388  (__v2di) __O);
5389 }
5390 
5391 static __inline__ __m128i __DEFAULT_FN_ATTRS
5392 _mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
5393 {
5394  return (__m128i) __builtin_ia32_selectq_128(__M,
5395  (__v2di) _mm_set1_epi64x(__A),
5396  (__v2di) _mm_setzero_si128());
5397 }
5398 
5399 static __inline__ __m256i __DEFAULT_FN_ATTRS
5400 _mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
5401 {
5402  return (__m256i) __builtin_ia32_selectq_256(__M,
5403  (__v4di) _mm256_set1_epi64x(__A),
5404  (__v4di) __O) ;
5405 }
5406 
5407 static __inline__ __m256i __DEFAULT_FN_ATTRS
5408 _mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
5409 {
5410  return (__m256i) __builtin_ia32_selectq_256(__M,
5411  (__v4di) _mm256_set1_epi64x(__A),
5412  (__v4di) _mm256_setzero_si256());
5413 }
5414 
5415 #endif
5416 
5417 #define _mm_fixupimm_pd(A, B, C, imm) __extension__ ({ \
5418  (__m128d)__builtin_ia32_fixupimmpd128_mask((__v2df)(__m128d)(A), \
5419  (__v2df)(__m128d)(B), \
5420  (__v2di)(__m128i)(C), (int)(imm), \
5421  (__mmask8)-1); })
5422 
5423 #define _mm_mask_fixupimm_pd(A, U, B, C, imm) __extension__ ({ \
5424  (__m128d)__builtin_ia32_fixupimmpd128_mask((__v2df)(__m128d)(A), \
5425  (__v2df)(__m128d)(B), \
5426  (__v2di)(__m128i)(C), (int)(imm), \
5427  (__mmask8)(U)); })
5428 
5429 #define _mm_maskz_fixupimm_pd(U, A, B, C, imm) __extension__ ({ \
5430  (__m128d)__builtin_ia32_fixupimmpd128_maskz((__v2df)(__m128d)(A), \
5431  (__v2df)(__m128d)(B), \
5432  (__v2di)(__m128i)(C), \
5433  (int)(imm), (__mmask8)(U)); })
5434 
5435 #define _mm256_fixupimm_pd(A, B, C, imm) __extension__ ({ \
5436  (__m256d)__builtin_ia32_fixupimmpd256_mask((__v4df)(__m256d)(A), \
5437  (__v4df)(__m256d)(B), \
5438  (__v4di)(__m256i)(C), (int)(imm), \
5439  (__mmask8)-1); })
5440 
5441 #define _mm256_mask_fixupimm_pd(A, U, B, C, imm) __extension__ ({ \
5442  (__m256d)__builtin_ia32_fixupimmpd256_mask((__v4df)(__m256d)(A), \
5443  (__v4df)(__m256d)(B), \
5444  (__v4di)(__m256i)(C), (int)(imm), \
5445  (__mmask8)(U)); })
5446 
5447 #define _mm256_maskz_fixupimm_pd(U, A, B, C, imm) __extension__ ({ \
5448  (__m256d)__builtin_ia32_fixupimmpd256_maskz((__v4df)(__m256d)(A), \
5449  (__v4df)(__m256d)(B), \
5450  (__v4di)(__m256i)(C), \
5451  (int)(imm), (__mmask8)(U)); })
5452 
5453 #define _mm_fixupimm_ps(A, B, C, imm) __extension__ ({ \
5454  (__m128)__builtin_ia32_fixupimmps128_mask((__v4sf)(__m128)(A), \
5455  (__v4sf)(__m128)(B), \
5456  (__v4si)(__m128i)(C), (int)(imm), \
5457  (__mmask8)-1); })
5458 
5459 #define _mm_mask_fixupimm_ps(A, U, B, C, imm) __extension__ ({ \
5460  (__m128)__builtin_ia32_fixupimmps128_mask((__v4sf)(__m128)(A), \
5461  (__v4sf)(__m128)(B), \
5462  (__v4si)(__m128i)(C), (int)(imm), \
5463  (__mmask8)(U)); })
5464 
5465 #define _mm_maskz_fixupimm_ps(U, A, B, C, imm) __extension__ ({ \
5466  (__m128)__builtin_ia32_fixupimmps128_maskz((__v4sf)(__m128)(A), \
5467  (__v4sf)(__m128)(B), \
5468  (__v4si)(__m128i)(C), (int)(imm), \
5469  (__mmask8)(U)); })
5470 
5471 #define _mm256_fixupimm_ps(A, B, C, imm) __extension__ ({ \
5472  (__m256)__builtin_ia32_fixupimmps256_mask((__v8sf)(__m256)(A), \
5473  (__v8sf)(__m256)(B), \
5474  (__v8si)(__m256i)(C), (int)(imm), \
5475  (__mmask8)-1); })
5476 
5477 #define _mm256_mask_fixupimm_ps(A, U, B, C, imm) __extension__ ({ \
5478  (__m256)__builtin_ia32_fixupimmps256_mask((__v8sf)(__m256)(A), \
5479  (__v8sf)(__m256)(B), \
5480  (__v8si)(__m256i)(C), (int)(imm), \
5481  (__mmask8)(U)); })
5482 
5483 #define _mm256_maskz_fixupimm_ps(U, A, B, C, imm) __extension__ ({ \
5484  (__m256)__builtin_ia32_fixupimmps256_maskz((__v8sf)(__m256)(A), \
5485  (__v8sf)(__m256)(B), \
5486  (__v8si)(__m256i)(C), (int)(imm), \
5487  (__mmask8)(U)); })
5488 
5489 static __inline__ __m128d __DEFAULT_FN_ATTRS
5490 _mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P)
5491 {
5492  return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
5493  (__v2df) __W,
5494  (__mmask8) __U);
5495 }
5496 
5497 static __inline__ __m128d __DEFAULT_FN_ATTRS
5498 _mm_maskz_load_pd (__mmask8 __U, void const *__P)
5499 {
5500  return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
5501  (__v2df)
5502  _mm_setzero_pd (),
5503  (__mmask8) __U);
5504 }
5505 
5506 static __inline__ __m256d __DEFAULT_FN_ATTRS
5507 _mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P)
5508 {
5509  return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
5510  (__v4df) __W,
5511  (__mmask8) __U);
5512 }
5513 
5514 static __inline__ __m256d __DEFAULT_FN_ATTRS
5515 _mm256_maskz_load_pd (__mmask8 __U, void const *__P)
5516 {
5517  return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
5518  (__v4df)
5519  _mm256_setzero_pd (),
5520  (__mmask8) __U);
5521 }
5522 
5523 static __inline__ __m128 __DEFAULT_FN_ATTRS
5524 _mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P)
5525 {
5526  return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
5527  (__v4sf) __W,
5528  (__mmask8) __U);
5529 }
5530 
5531 static __inline__ __m128 __DEFAULT_FN_ATTRS
5532 _mm_maskz_load_ps (__mmask8 __U, void const *__P)
5533 {
5534  return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
5535  (__v4sf)
5536  _mm_setzero_ps (),
5537  (__mmask8) __U);
5538 }
5539 
5540 static __inline__ __m256 __DEFAULT_FN_ATTRS
5541 _mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P)
5542 {
5543  return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
5544  (__v8sf) __W,
5545  (__mmask8) __U);
5546 }
5547 
5548 static __inline__ __m256 __DEFAULT_FN_ATTRS
5549 _mm256_maskz_load_ps (__mmask8 __U, void const *__P)
5550 {
5551  return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
5552  (__v8sf)
5553  _mm256_setzero_ps (),
5554  (__mmask8) __U);
5555 }
5556 
5557 static __inline__ __m128i __DEFAULT_FN_ATTRS
5558 _mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
5559 {
5560  return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
5561  (__v2di) __W,
5562  (__mmask8) __U);
5563 }
5564 
5565 static __inline__ __m128i __DEFAULT_FN_ATTRS
5566 _mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
5567 {
5568  return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
5569  (__v2di)
5570  _mm_setzero_si128 (),
5571  (__mmask8) __U);
5572 }
5573 
5574 static __inline__ __m256i __DEFAULT_FN_ATTRS
5575 _mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P)
5576 {
5577  return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
5578  (__v4di) __W,
5579  (__mmask8) __U);
5580 }
5581 
5582 static __inline__ __m256i __DEFAULT_FN_ATTRS
5583 _mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
5584 {
5585  return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
5586  (__v4di)
5588  (__mmask8) __U);
5589 }
5590 
5591 static __inline__ __m128i __DEFAULT_FN_ATTRS
5592 _mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
5593 {
5594  return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
5595  (__v4si) __W,
5596  (__mmask8) __U);
5597 }
5598 
5599 static __inline__ __m128i __DEFAULT_FN_ATTRS
5600 _mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
5601 {
5602  return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
5603  (__v4si)
5604  _mm_setzero_si128 (),
5605  (__mmask8) __U);
5606 }
5607 
5608 static __inline__ __m256i __DEFAULT_FN_ATTRS
5609 _mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
5610 {
5611  return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
5612  (__v8si) __W,
5613  (__mmask8) __U);
5614 }
5615 
5616 static __inline__ __m256i __DEFAULT_FN_ATTRS
5617 _mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
5618 {
5619  return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,