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