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