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