1 /*===---- avx512vlbwintrin.h - AVX512VL and AVX512BW intrinsics ------------===
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:
10 * The above copyright notice and this permission notice shall be included in
11 * all copies or substantial portions of the Software.
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
21 *===-----------------------------------------------------------------------===
25 #error "Never use <avx512vlbwintrin.h> directly; include <immintrin.h> instead."
28 #ifndef __AVX512VLBWINTRIN_H
29 #define __AVX512VLBWINTRIN_H
31 /* Define the default attributes for the functions in this file. */
32 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512bw")))
34 static __inline __m128i __DEFAULT_FN_ATTRS
36 return (__m128i)(__v8hi){ 0, 0, 0, 0, 0, 0, 0, 0 };
41 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
42 _mm_cmpeq_epi8_mask(__m128i __a, __m128i __b) {
43 return (__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
47 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
48 _mm_mask_cmpeq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
49 return (__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
53 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
54 _mm_cmpeq_epu8_mask(__m128i __a, __m128i __b) {
55 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
59 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
60 _mm_mask_cmpeq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
61 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
65 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
66 _mm256_cmpeq_epi8_mask(__m256i __a, __m256i __b) {
67 return (__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
71 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
72 _mm256_mask_cmpeq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
73 return (__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
77 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
78 _mm256_cmpeq_epu8_mask(__m256i __a, __m256i __b) {
79 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
83 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
84 _mm256_mask_cmpeq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
85 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
89 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
90 _mm_cmpeq_epi16_mask(__m128i __a, __m128i __b) {
91 return (__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
95 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
96 _mm_mask_cmpeq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
97 return (__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
101 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
102 _mm_cmpeq_epu16_mask(__m128i __a, __m128i __b) {
103 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
107 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
108 _mm_mask_cmpeq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
109 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
113 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
114 _mm256_cmpeq_epi16_mask(__m256i __a, __m256i __b) {
115 return (__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
119 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
120 _mm256_mask_cmpeq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
121 return (__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
125 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
126 _mm256_cmpeq_epu16_mask(__m256i __a, __m256i __b) {
127 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
131 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
132 _mm256_mask_cmpeq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
133 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
137 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
138 _mm_cmpge_epi8_mask(__m128i __a, __m128i __b) {
139 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
143 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
144 _mm_mask_cmpge_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
145 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
149 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
150 _mm_cmpge_epu8_mask(__m128i __a, __m128i __b) {
151 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
155 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
156 _mm_mask_cmpge_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
157 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
161 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
162 _mm256_cmpge_epi8_mask(__m256i __a, __m256i __b) {
163 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
167 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
168 _mm256_mask_cmpge_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
169 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
173 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
174 _mm256_cmpge_epu8_mask(__m256i __a, __m256i __b) {
175 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
179 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
180 _mm256_mask_cmpge_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
181 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
185 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
186 _mm_cmpge_epi16_mask(__m128i __a, __m128i __b) {
187 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
191 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
192 _mm_mask_cmpge_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
193 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
197 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
198 _mm_cmpge_epu16_mask(__m128i __a, __m128i __b) {
199 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
203 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
204 _mm_mask_cmpge_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
205 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
209 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
210 _mm256_cmpge_epi16_mask(__m256i __a, __m256i __b) {
211 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
215 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
216 _mm256_mask_cmpge_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
217 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
221 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
222 _mm256_cmpge_epu16_mask(__m256i __a, __m256i __b) {
223 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
227 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
228 _mm256_mask_cmpge_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
229 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
233 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
234 _mm_cmpgt_epi8_mask(__m128i __a, __m128i __b) {
235 return (__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
239 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
240 _mm_mask_cmpgt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
241 return (__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
245 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
246 _mm_cmpgt_epu8_mask(__m128i __a, __m128i __b) {
247 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
251 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
252 _mm_mask_cmpgt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
253 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
257 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
258 _mm256_cmpgt_epi8_mask(__m256i __a, __m256i __b) {
259 return (__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
263 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
264 _mm256_mask_cmpgt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
265 return (__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
269 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
270 _mm256_cmpgt_epu8_mask(__m256i __a, __m256i __b) {
271 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
275 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
276 _mm256_mask_cmpgt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
277 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
281 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
282 _mm_cmpgt_epi16_mask(__m128i __a, __m128i __b) {
283 return (__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
287 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
288 _mm_mask_cmpgt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
289 return (__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
293 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
294 _mm_cmpgt_epu16_mask(__m128i __a, __m128i __b) {
295 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
299 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
300 _mm_mask_cmpgt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
301 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
305 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
306 _mm256_cmpgt_epi16_mask(__m256i __a, __m256i __b) {
307 return (__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
311 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
312 _mm256_mask_cmpgt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
313 return (__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
317 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
318 _mm256_cmpgt_epu16_mask(__m256i __a, __m256i __b) {
319 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
323 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
324 _mm256_mask_cmpgt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
325 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
329 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
330 _mm_cmple_epi8_mask(__m128i __a, __m128i __b) {
331 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
335 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
336 _mm_mask_cmple_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
337 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
341 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
342 _mm_cmple_epu8_mask(__m128i __a, __m128i __b) {
343 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
347 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
348 _mm_mask_cmple_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
349 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
353 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
354 _mm256_cmple_epi8_mask(__m256i __a, __m256i __b) {
355 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
359 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
360 _mm256_mask_cmple_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
361 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
365 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
366 _mm256_cmple_epu8_mask(__m256i __a, __m256i __b) {
367 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
371 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
372 _mm256_mask_cmple_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
373 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
377 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
378 _mm_cmple_epi16_mask(__m128i __a, __m128i __b) {
379 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
383 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
384 _mm_mask_cmple_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
385 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
389 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
390 _mm_cmple_epu16_mask(__m128i __a, __m128i __b) {
391 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
395 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
396 _mm_mask_cmple_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
397 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
401 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
402 _mm256_cmple_epi16_mask(__m256i __a, __m256i __b) {
403 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
407 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
408 _mm256_mask_cmple_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
409 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
413 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
414 _mm256_cmple_epu16_mask(__m256i __a, __m256i __b) {
415 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
419 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
420 _mm256_mask_cmple_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
421 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
425 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
426 _mm_cmplt_epi8_mask(__m128i __a, __m128i __b) {
427 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
431 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
432 _mm_mask_cmplt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
433 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
437 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
438 _mm_cmplt_epu8_mask(__m128i __a, __m128i __b) {
439 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
443 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
444 _mm_mask_cmplt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
445 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
449 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
450 _mm256_cmplt_epi8_mask(__m256i __a, __m256i __b) {
451 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
455 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
456 _mm256_mask_cmplt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
457 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
461 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
462 _mm256_cmplt_epu8_mask(__m256i __a, __m256i __b) {
463 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
467 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
468 _mm256_mask_cmplt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
469 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
473 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
474 _mm_cmplt_epi16_mask(__m128i __a, __m128i __b) {
475 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
479 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
480 _mm_mask_cmplt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
481 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
485 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
486 _mm_cmplt_epu16_mask(__m128i __a, __m128i __b) {
487 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
491 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
492 _mm_mask_cmplt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
493 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
497 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
498 _mm256_cmplt_epi16_mask(__m256i __a, __m256i __b) {
499 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
503 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
504 _mm256_mask_cmplt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
505 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
509 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
510 _mm256_cmplt_epu16_mask(__m256i __a, __m256i __b) {
511 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
515 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
516 _mm256_mask_cmplt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
517 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
521 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
522 _mm_cmpneq_epi8_mask(__m128i __a, __m128i __b) {
523 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
527 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
528 _mm_mask_cmpneq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
529 return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
533 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
534 _mm_cmpneq_epu8_mask(__m128i __a, __m128i __b) {
535 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
539 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
540 _mm_mask_cmpneq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
541 return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
545 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
546 _mm256_cmpneq_epi8_mask(__m256i __a, __m256i __b) {
547 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
551 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
552 _mm256_mask_cmpneq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
553 return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
557 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
558 _mm256_cmpneq_epu8_mask(__m256i __a, __m256i __b) {
559 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
563 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
564 _mm256_mask_cmpneq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
565 return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
569 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
570 _mm_cmpneq_epi16_mask(__m128i __a, __m128i __b) {
571 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
575 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
576 _mm_mask_cmpneq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
577 return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
581 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
582 _mm_cmpneq_epu16_mask(__m128i __a, __m128i __b) {
583 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
587 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
588 _mm_mask_cmpneq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
589 return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
593 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
594 _mm256_cmpneq_epi16_mask(__m256i __a, __m256i __b) {
595 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
599 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
600 _mm256_mask_cmpneq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
601 return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
605 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
606 _mm256_cmpneq_epu16_mask(__m256i __a, __m256i __b) {
607 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
611 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
612 _mm256_mask_cmpneq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
613 return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
617 static __inline__ __m256i __DEFAULT_FN_ATTRS
618 _mm256_mask_add_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B){
619 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
620 (__v32qi)_mm256_add_epi8(__A, __B),
624 static __inline__ __m256i __DEFAULT_FN_ATTRS
625 _mm256_maskz_add_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
626 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
627 (__v32qi)_mm256_add_epi8(__A, __B),
628 (__v32qi)_mm256_setzero_si256());
631 static __inline__ __m256i __DEFAULT_FN_ATTRS
632 _mm256_mask_add_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
633 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
634 (__v16hi)_mm256_add_epi16(__A, __B),
638 static __inline__ __m256i __DEFAULT_FN_ATTRS
639 _mm256_maskz_add_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
640 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
641 (__v16hi)_mm256_add_epi16(__A, __B),
642 (__v16hi)_mm256_setzero_si256());
645 static __inline__ __m256i __DEFAULT_FN_ATTRS
646 _mm256_mask_sub_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
647 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
648 (__v32qi)_mm256_sub_epi8(__A, __B),
652 static __inline__ __m256i __DEFAULT_FN_ATTRS
653 _mm256_maskz_sub_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
654 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
655 (__v32qi)_mm256_sub_epi8(__A, __B),
656 (__v32qi)_mm256_setzero_si256());
659 static __inline__ __m256i __DEFAULT_FN_ATTRS
660 _mm256_mask_sub_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
661 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
662 (__v16hi)_mm256_sub_epi16(__A, __B),
666 static __inline__ __m256i __DEFAULT_FN_ATTRS
667 _mm256_maskz_sub_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
668 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
669 (__v16hi)_mm256_sub_epi16(__A, __B),
670 (__v16hi)_mm256_setzero_si256());
673 static __inline__ __m128i __DEFAULT_FN_ATTRS
674 _mm_mask_add_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
675 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
676 (__v16qi)_mm_add_epi8(__A, __B),
680 static __inline__ __m128i __DEFAULT_FN_ATTRS
681 _mm_maskz_add_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
682 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
683 (__v16qi)_mm_add_epi8(__A, __B),
684 (__v16qi)_mm_setzero_si128());
687 static __inline__ __m128i __DEFAULT_FN_ATTRS
688 _mm_mask_add_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
689 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
690 (__v8hi)_mm_add_epi16(__A, __B),
694 static __inline__ __m128i __DEFAULT_FN_ATTRS
695 _mm_maskz_add_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
696 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
697 (__v8hi)_mm_add_epi16(__A, __B),
698 (__v8hi)_mm_setzero_si128());
701 static __inline__ __m128i __DEFAULT_FN_ATTRS
702 _mm_mask_sub_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
703 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
704 (__v16qi)_mm_sub_epi8(__A, __B),
708 static __inline__ __m128i __DEFAULT_FN_ATTRS
709 _mm_maskz_sub_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
710 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
711 (__v16qi)_mm_sub_epi8(__A, __B),
712 (__v16qi)_mm_setzero_si128());
715 static __inline__ __m128i __DEFAULT_FN_ATTRS
716 _mm_mask_sub_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
717 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
718 (__v8hi)_mm_sub_epi16(__A, __B),
722 static __inline__ __m128i __DEFAULT_FN_ATTRS
723 _mm_maskz_sub_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
724 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
725 (__v8hi)_mm_sub_epi16(__A, __B),
726 (__v8hi)_mm_setzero_si128());
729 static __inline__ __m256i __DEFAULT_FN_ATTRS
730 _mm256_mask_mullo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
731 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
732 (__v16hi)_mm256_mullo_epi16(__A, __B),
736 static __inline__ __m256i __DEFAULT_FN_ATTRS
737 _mm256_maskz_mullo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
738 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
739 (__v16hi)_mm256_mullo_epi16(__A, __B),
740 (__v16hi)_mm256_setzero_si256());
743 static __inline__ __m128i __DEFAULT_FN_ATTRS
744 _mm_mask_mullo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
745 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
746 (__v8hi)_mm_mullo_epi16(__A, __B),
750 static __inline__ __m128i __DEFAULT_FN_ATTRS
751 _mm_maskz_mullo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
752 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
753 (__v8hi)_mm_mullo_epi16(__A, __B),
754 (__v8hi)_mm_setzero_si128());
757 static __inline__ __m128i __DEFAULT_FN_ATTRS
758 _mm_mask_blend_epi8 (__mmask16 __U, __m128i __A, __m128i __W)
760 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
765 static __inline__ __m256i __DEFAULT_FN_ATTRS
766 _mm256_mask_blend_epi8 (__mmask32 __U, __m256i __A, __m256i __W)
768 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
773 static __inline__ __m128i __DEFAULT_FN_ATTRS
774 _mm_mask_blend_epi16 (__mmask8 __U, __m128i __A, __m128i __W)
776 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
781 static __inline__ __m256i __DEFAULT_FN_ATTRS
782 _mm256_mask_blend_epi16 (__mmask16 __U, __m256i __A, __m256i __W)
784 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
789 static __inline__ __m128i __DEFAULT_FN_ATTRS
790 _mm_mask_abs_epi8(__m128i __W, __mmask16 __U, __m128i __A)
792 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
793 (__v16qi)_mm_abs_epi8(__A),
797 static __inline__ __m128i __DEFAULT_FN_ATTRS
798 _mm_maskz_abs_epi8(__mmask16 __U, __m128i __A)
800 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
801 (__v16qi)_mm_abs_epi8(__A),
802 (__v16qi)_mm_setzero_si128());
805 static __inline__ __m256i __DEFAULT_FN_ATTRS
806 _mm256_mask_abs_epi8(__m256i __W, __mmask32 __U, __m256i __A)
808 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
809 (__v32qi)_mm256_abs_epi8(__A),
813 static __inline__ __m256i __DEFAULT_FN_ATTRS
814 _mm256_maskz_abs_epi8 (__mmask32 __U, __m256i __A)
816 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
817 (__v32qi)_mm256_abs_epi8(__A),
818 (__v32qi)_mm256_setzero_si256());
821 static __inline__ __m128i __DEFAULT_FN_ATTRS
822 _mm_mask_abs_epi16(__m128i __W, __mmask8 __U, __m128i __A)
824 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
825 (__v8hi)_mm_abs_epi16(__A),
829 static __inline__ __m128i __DEFAULT_FN_ATTRS
830 _mm_maskz_abs_epi16(__mmask8 __U, __m128i __A)
832 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
833 (__v8hi)_mm_abs_epi16(__A),
834 (__v8hi)_mm_setzero_si128());
837 static __inline__ __m256i __DEFAULT_FN_ATTRS
838 _mm256_mask_abs_epi16(__m256i __W, __mmask16 __U, __m256i __A)
840 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
841 (__v16hi)_mm256_abs_epi16(__A),
845 static __inline__ __m256i __DEFAULT_FN_ATTRS
846 _mm256_maskz_abs_epi16(__mmask16 __U, __m256i __A)
848 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
849 (__v16hi)_mm256_abs_epi16(__A),
850 (__v16hi)_mm256_setzero_si256());
853 static __inline__ __m128i __DEFAULT_FN_ATTRS
854 _mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
855 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
856 (__v8hi)_mm_packs_epi32(__A, __B),
857 (__v8hi)_mm_setzero_si128());
860 static __inline__ __m128i __DEFAULT_FN_ATTRS
861 _mm_mask_packs_epi32(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
863 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
864 (__v8hi)_mm_packs_epi32(__A, __B),
868 static __inline__ __m256i __DEFAULT_FN_ATTRS
869 _mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B)
871 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
872 (__v16hi)_mm256_packs_epi32(__A, __B),
873 (__v16hi)_mm256_setzero_si256());
876 static __inline__ __m256i __DEFAULT_FN_ATTRS
877 _mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
879 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
880 (__v16hi)_mm256_packs_epi32(__A, __B),
884 static __inline__ __m128i __DEFAULT_FN_ATTRS
885 _mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B)
887 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
888 (__v16qi)_mm_packs_epi16(__A, __B),
889 (__v16qi)_mm_setzero_si128());
892 static __inline__ __m128i __DEFAULT_FN_ATTRS
893 _mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
895 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
896 (__v16qi)_mm_packs_epi16(__A, __B),
900 static __inline__ __m256i __DEFAULT_FN_ATTRS
901 _mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B)
903 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
904 (__v32qi)_mm256_packs_epi16(__A, __B),
905 (__v32qi)_mm256_setzero_si256());
908 static __inline__ __m256i __DEFAULT_FN_ATTRS
909 _mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
911 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
912 (__v32qi)_mm256_packs_epi16(__A, __B),
916 static __inline__ __m128i __DEFAULT_FN_ATTRS
917 _mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B)
919 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
920 (__v8hi)_mm_packus_epi32(__A, __B),
921 (__v8hi)_mm_setzero_si128());
924 static __inline__ __m128i __DEFAULT_FN_ATTRS
925 _mm_mask_packus_epi32(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
927 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
928 (__v8hi)_mm_packus_epi32(__A, __B),
932 static __inline__ __m256i __DEFAULT_FN_ATTRS
933 _mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B)
935 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
936 (__v16hi)_mm256_packus_epi32(__A, __B),
937 (__v16hi)_mm256_setzero_si256());
940 static __inline__ __m256i __DEFAULT_FN_ATTRS
941 _mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
943 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
944 (__v16hi)_mm256_packus_epi32(__A, __B),
948 static __inline__ __m128i __DEFAULT_FN_ATTRS
949 _mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B)
951 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
952 (__v16qi)_mm_packus_epi16(__A, __B),
953 (__v16qi)_mm_setzero_si128());
956 static __inline__ __m128i __DEFAULT_FN_ATTRS
957 _mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
959 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
960 (__v16qi)_mm_packus_epi16(__A, __B),
964 static __inline__ __m256i __DEFAULT_FN_ATTRS
965 _mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B)
967 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
968 (__v32qi)_mm256_packus_epi16(__A, __B),
969 (__v32qi)_mm256_setzero_si256());
972 static __inline__ __m256i __DEFAULT_FN_ATTRS
973 _mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
975 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
976 (__v32qi)_mm256_packus_epi16(__A, __B),
980 static __inline__ __m128i __DEFAULT_FN_ATTRS
981 _mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
983 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
984 (__v16qi)_mm_adds_epi8(__A, __B),
988 static __inline__ __m128i __DEFAULT_FN_ATTRS
989 _mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B)
991 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
992 (__v16qi)_mm_adds_epi8(__A, __B),
993 (__v16qi)_mm_setzero_si128());
996 static __inline__ __m256i __DEFAULT_FN_ATTRS
997 _mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
999 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1000 (__v32qi)_mm256_adds_epi8(__A, __B),
1004 static __inline__ __m256i __DEFAULT_FN_ATTRS
1005 _mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B)
1007 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1008 (__v32qi)_mm256_adds_epi8(__A, __B),
1009 (__v32qi)_mm256_setzero_si256());
1012 static __inline__ __m128i __DEFAULT_FN_ATTRS
1013 _mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1015 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1016 (__v8hi)_mm_adds_epi16(__A, __B),
1020 static __inline__ __m128i __DEFAULT_FN_ATTRS
1021 _mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B)
1023 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1024 (__v8hi)_mm_adds_epi16(__A, __B),
1025 (__v8hi)_mm_setzero_si128());
1028 static __inline__ __m256i __DEFAULT_FN_ATTRS
1029 _mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1031 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1032 (__v16hi)_mm256_adds_epi16(__A, __B),
1036 static __inline__ __m256i __DEFAULT_FN_ATTRS
1037 _mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B)
1039 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1040 (__v16hi)_mm256_adds_epi16(__A, __B),
1041 (__v16hi)_mm256_setzero_si256());
1044 static __inline__ __m128i __DEFAULT_FN_ATTRS
1045 _mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1047 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1048 (__v16qi)_mm_adds_epu8(__A, __B),
1052 static __inline__ __m128i __DEFAULT_FN_ATTRS
1053 _mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B)
1055 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1056 (__v16qi)_mm_adds_epu8(__A, __B),
1057 (__v16qi)_mm_setzero_si128());
1060 static __inline__ __m256i __DEFAULT_FN_ATTRS
1061 _mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1063 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1064 (__v32qi)_mm256_adds_epu8(__A, __B),
1068 static __inline__ __m256i __DEFAULT_FN_ATTRS
1069 _mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B)
1071 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1072 (__v32qi)_mm256_adds_epu8(__A, __B),
1073 (__v32qi)_mm256_setzero_si256());
1076 static __inline__ __m128i __DEFAULT_FN_ATTRS
1077 _mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1079 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1080 (__v8hi)_mm_adds_epu16(__A, __B),
1084 static __inline__ __m128i __DEFAULT_FN_ATTRS
1085 _mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B)
1087 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1088 (__v8hi)_mm_adds_epu16(__A, __B),
1089 (__v8hi)_mm_setzero_si128());
1092 static __inline__ __m256i __DEFAULT_FN_ATTRS
1093 _mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1095 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1096 (__v16hi)_mm256_adds_epu16(__A, __B),
1100 static __inline__ __m256i __DEFAULT_FN_ATTRS
1101 _mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B)
1103 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1104 (__v16hi)_mm256_adds_epu16(__A, __B),
1105 (__v16hi)_mm256_setzero_si256());
1108 static __inline__ __m128i __DEFAULT_FN_ATTRS
1109 _mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1111 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1112 (__v16qi)_mm_avg_epu8(__A, __B),
1116 static __inline__ __m128i __DEFAULT_FN_ATTRS
1117 _mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B)
1119 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1120 (__v16qi)_mm_avg_epu8(__A, __B),
1121 (__v16qi)_mm_setzero_si128());
1124 static __inline__ __m256i __DEFAULT_FN_ATTRS
1125 _mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1127 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1128 (__v32qi)_mm256_avg_epu8(__A, __B),
1132 static __inline__ __m256i __DEFAULT_FN_ATTRS
1133 _mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B)
1135 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1136 (__v32qi)_mm256_avg_epu8(__A, __B),
1137 (__v32qi)_mm256_setzero_si256());
1140 static __inline__ __m128i __DEFAULT_FN_ATTRS
1141 _mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1143 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1144 (__v8hi)_mm_avg_epu16(__A, __B),
1148 static __inline__ __m128i __DEFAULT_FN_ATTRS
1149 _mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B)
1151 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1152 (__v8hi)_mm_avg_epu16(__A, __B),
1153 (__v8hi)_mm_setzero_si128());
1156 static __inline__ __m256i __DEFAULT_FN_ATTRS
1157 _mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1159 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1160 (__v16hi)_mm256_avg_epu16(__A, __B),
1164 static __inline__ __m256i __DEFAULT_FN_ATTRS
1165 _mm256_maskz_avg_epu16(__mmask16 __U, __m256i __A, __m256i __B)
1167 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1168 (__v16hi)_mm256_avg_epu16(__A, __B),
1169 (__v16hi)_mm256_setzero_si256());
1172 static __inline__ __m128i __DEFAULT_FN_ATTRS
1173 _mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B)
1175 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1176 (__v16qi)_mm_max_epi8(__A, __B),
1177 (__v16qi)_mm_setzero_si128());
1180 static __inline__ __m128i __DEFAULT_FN_ATTRS
1181 _mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
1183 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1184 (__v16qi)_mm_max_epi8(__A, __B),
1188 static __inline__ __m256i __DEFAULT_FN_ATTRS
1189 _mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B)
1191 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1192 (__v32qi)_mm256_max_epi8(__A, __B),
1193 (__v32qi)_mm256_setzero_si256());
1196 static __inline__ __m256i __DEFAULT_FN_ATTRS
1197 _mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
1199 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1200 (__v32qi)_mm256_max_epi8(__A, __B),
1204 static __inline__ __m128i __DEFAULT_FN_ATTRS
1205 _mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B)
1207 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1208 (__v8hi)_mm_max_epi16(__A, __B),
1209 (__v8hi)_mm_setzero_si128());
1212 static __inline__ __m128i __DEFAULT_FN_ATTRS
1213 _mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
1215 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1216 (__v8hi)_mm_max_epi16(__A, __B),
1220 static __inline__ __m256i __DEFAULT_FN_ATTRS
1221 _mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B)
1223 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1224 (__v16hi)_mm256_max_epi16(__A, __B),
1225 (__v16hi)_mm256_setzero_si256());
1228 static __inline__ __m256i __DEFAULT_FN_ATTRS
1229 _mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
1231 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1232 (__v16hi)_mm256_max_epi16(__A, __B),
1236 static __inline__ __m128i __DEFAULT_FN_ATTRS
1237 _mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B)
1239 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1240 (__v16qi)_mm_max_epu8(__A, __B),
1241 (__v16qi)_mm_setzero_si128());
1244 static __inline__ __m128i __DEFAULT_FN_ATTRS
1245 _mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
1247 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1248 (__v16qi)_mm_max_epu8(__A, __B),
1252 static __inline__ __m256i __DEFAULT_FN_ATTRS
1253 _mm256_maskz_max_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
1255 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1256 (__v32qi)_mm256_max_epu8(__A, __B),
1257 (__v32qi)_mm256_setzero_si256());
1260 static __inline__ __m256i __DEFAULT_FN_ATTRS
1261 _mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
1263 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1264 (__v32qi)_mm256_max_epu8(__A, __B),
1268 static __inline__ __m128i __DEFAULT_FN_ATTRS
1269 _mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B)
1271 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1272 (__v8hi)_mm_max_epu16(__A, __B),
1273 (__v8hi)_mm_setzero_si128());
1276 static __inline__ __m128i __DEFAULT_FN_ATTRS
1277 _mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
1279 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1280 (__v8hi)_mm_max_epu16(__A, __B),
1284 static __inline__ __m256i __DEFAULT_FN_ATTRS
1285 _mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B)
1287 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1288 (__v16hi)_mm256_max_epu16(__A, __B),
1289 (__v16hi)_mm256_setzero_si256());
1292 static __inline__ __m256i __DEFAULT_FN_ATTRS
1293 _mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
1295 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1296 (__v16hi)_mm256_max_epu16(__A, __B),
1300 static __inline__ __m128i __DEFAULT_FN_ATTRS
1301 _mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B)
1303 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1304 (__v16qi)_mm_min_epi8(__A, __B),
1305 (__v16qi)_mm_setzero_si128());
1308 static __inline__ __m128i __DEFAULT_FN_ATTRS
1309 _mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
1311 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1312 (__v16qi)_mm_min_epi8(__A, __B),
1316 static __inline__ __m256i __DEFAULT_FN_ATTRS
1317 _mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B)
1319 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1320 (__v32qi)_mm256_min_epi8(__A, __B),
1321 (__v32qi)_mm256_setzero_si256());
1324 static __inline__ __m256i __DEFAULT_FN_ATTRS
1325 _mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
1327 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1328 (__v32qi)_mm256_min_epi8(__A, __B),
1332 static __inline__ __m128i __DEFAULT_FN_ATTRS
1333 _mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B)
1335 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1336 (__v8hi)_mm_min_epi16(__A, __B),
1337 (__v8hi)_mm_setzero_si128());
1340 static __inline__ __m128i __DEFAULT_FN_ATTRS
1341 _mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
1343 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1344 (__v8hi)_mm_min_epi16(__A, __B),
1348 static __inline__ __m256i __DEFAULT_FN_ATTRS
1349 _mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B)
1351 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1352 (__v16hi)_mm256_min_epi16(__A, __B),
1353 (__v16hi)_mm256_setzero_si256());
1356 static __inline__ __m256i __DEFAULT_FN_ATTRS
1357 _mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
1359 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1360 (__v16hi)_mm256_min_epi16(__A, __B),
1364 static __inline__ __m128i __DEFAULT_FN_ATTRS
1365 _mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B)
1367 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1368 (__v16qi)_mm_min_epu8(__A, __B),
1369 (__v16qi)_mm_setzero_si128());
1372 static __inline__ __m128i __DEFAULT_FN_ATTRS
1373 _mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
1375 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1376 (__v16qi)_mm_min_epu8(__A, __B),
1380 static __inline__ __m256i __DEFAULT_FN_ATTRS
1381 _mm256_maskz_min_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
1383 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1384 (__v32qi)_mm256_min_epu8(__A, __B),
1385 (__v32qi)_mm256_setzero_si256());
1388 static __inline__ __m256i __DEFAULT_FN_ATTRS
1389 _mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
1391 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1392 (__v32qi)_mm256_min_epu8(__A, __B),
1396 static __inline__ __m128i __DEFAULT_FN_ATTRS
1397 _mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B)
1399 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1400 (__v8hi)_mm_min_epu16(__A, __B),
1401 (__v8hi)_mm_setzero_si128());
1404 static __inline__ __m128i __DEFAULT_FN_ATTRS
1405 _mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
1407 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1408 (__v8hi)_mm_min_epu16(__A, __B),
1412 static __inline__ __m256i __DEFAULT_FN_ATTRS
1413 _mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B)
1415 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1416 (__v16hi)_mm256_min_epu16(__A, __B),
1417 (__v16hi)_mm256_setzero_si256());
1420 static __inline__ __m256i __DEFAULT_FN_ATTRS
1421 _mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
1423 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1424 (__v16hi)_mm256_min_epu16(__A, __B),
1428 static __inline__ __m128i __DEFAULT_FN_ATTRS
1429 _mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1431 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1432 (__v16qi)_mm_shuffle_epi8(__A, __B),
1436 static __inline__ __m128i __DEFAULT_FN_ATTRS
1437 _mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B)
1439 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1440 (__v16qi)_mm_shuffle_epi8(__A, __B),
1441 (__v16qi)_mm_setzero_si128());
1444 static __inline__ __m256i __DEFAULT_FN_ATTRS
1445 _mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1447 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1448 (__v32qi)_mm256_shuffle_epi8(__A, __B),
1452 static __inline__ __m256i __DEFAULT_FN_ATTRS
1453 _mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B)
1455 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1456 (__v32qi)_mm256_shuffle_epi8(__A, __B),
1457 (__v32qi)_mm256_setzero_si256());
1460 static __inline__ __m128i __DEFAULT_FN_ATTRS
1461 _mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1463 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1464 (__v16qi)_mm_subs_epi8(__A, __B),
1468 static __inline__ __m128i __DEFAULT_FN_ATTRS
1469 _mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B)
1471 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1472 (__v16qi)_mm_subs_epi8(__A, __B),
1473 (__v16qi)_mm_setzero_si128());
1476 static __inline__ __m256i __DEFAULT_FN_ATTRS
1477 _mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1479 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1480 (__v32qi)_mm256_subs_epi8(__A, __B),
1484 static __inline__ __m256i __DEFAULT_FN_ATTRS
1485 _mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B)
1487 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1488 (__v32qi)_mm256_subs_epi8(__A, __B),
1489 (__v32qi)_mm256_setzero_si256());
1492 static __inline__ __m128i __DEFAULT_FN_ATTRS
1493 _mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1495 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1496 (__v8hi)_mm_subs_epi16(__A, __B),
1500 static __inline__ __m128i __DEFAULT_FN_ATTRS
1501 _mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B)
1503 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1504 (__v8hi)_mm_subs_epi16(__A, __B),
1505 (__v8hi)_mm_setzero_si128());
1508 static __inline__ __m256i __DEFAULT_FN_ATTRS
1509 _mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1511 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1512 (__v16hi)_mm256_subs_epi16(__A, __B),
1516 static __inline__ __m256i __DEFAULT_FN_ATTRS
1517 _mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B)
1519 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1520 (__v16hi)_mm256_subs_epi16(__A, __B),
1521 (__v16hi)_mm256_setzero_si256());
1524 static __inline__ __m128i __DEFAULT_FN_ATTRS
1525 _mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1527 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1528 (__v16qi)_mm_subs_epu8(__A, __B),
1532 static __inline__ __m128i __DEFAULT_FN_ATTRS
1533 _mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B)
1535 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1536 (__v16qi)_mm_subs_epu8(__A, __B),
1537 (__v16qi)_mm_setzero_si128());
1540 static __inline__ __m256i __DEFAULT_FN_ATTRS
1541 _mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1543 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1544 (__v32qi)_mm256_subs_epu8(__A, __B),
1548 static __inline__ __m256i __DEFAULT_FN_ATTRS
1549 _mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B)
1551 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1552 (__v32qi)_mm256_subs_epu8(__A, __B),
1553 (__v32qi)_mm256_setzero_si256());
1556 static __inline__ __m128i __DEFAULT_FN_ATTRS
1557 _mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1559 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1560 (__v8hi)_mm_subs_epu16(__A, __B),
1564 static __inline__ __m128i __DEFAULT_FN_ATTRS
1565 _mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B)
1567 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1568 (__v8hi)_mm_subs_epu16(__A, __B),
1569 (__v8hi)_mm_setzero_si128());
1572 static __inline__ __m256i __DEFAULT_FN_ATTRS
1573 _mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A,
1575 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1576 (__v16hi)_mm256_subs_epu16(__A, __B),
1580 static __inline__ __m256i __DEFAULT_FN_ATTRS
1581 _mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B)
1583 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1584 (__v16hi)_mm256_subs_epu16(__A, __B),
1585 (__v16hi)_mm256_setzero_si256());
1588 static __inline__ __m128i __DEFAULT_FN_ATTRS
1589 _mm_mask2_permutex2var_epi16 (__m128i __A, __m128i __I, __mmask8 __U,
1592 return (__m128i) __builtin_ia32_vpermi2varhi128_mask ((__v8hi) __A,
1593 (__v8hi) __I /* idx */ ,
1598 static __inline__ __m256i __DEFAULT_FN_ATTRS
1599 _mm256_mask2_permutex2var_epi16 (__m256i __A, __m256i __I,
1600 __mmask16 __U, __m256i __B)
1602 return (__m256i) __builtin_ia32_vpermi2varhi256_mask ((__v16hi) __A,
1603 (__v16hi) __I /* idx */ ,
1608 static __inline__ __m128i __DEFAULT_FN_ATTRS
1609 _mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B)
1611 return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I/* idx */,
1617 static __inline__ __m128i __DEFAULT_FN_ATTRS
1618 _mm_mask_permutex2var_epi16 (__m128i __A, __mmask8 __U, __m128i __I,
1621 return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I/* idx */,
1627 static __inline__ __m128i __DEFAULT_FN_ATTRS
1628 _mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I,
1631 return (__m128i) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi) __I/* idx */,
1637 static __inline__ __m256i __DEFAULT_FN_ATTRS
1638 _mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B)
1640 return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I/* idx */,
1646 static __inline__ __m256i __DEFAULT_FN_ATTRS
1647 _mm256_mask_permutex2var_epi16 (__m256i __A, __mmask16 __U,
1648 __m256i __I, __m256i __B)
1650 return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I/* idx */,
1656 static __inline__ __m256i __DEFAULT_FN_ATTRS
1657 _mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A,
1658 __m256i __I, __m256i __B)
1660 return (__m256i) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi) __I/* idx */,
1666 static __inline__ __m128i __DEFAULT_FN_ATTRS
1667 _mm_mask_maddubs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
1668 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1669 (__v8hi)_mm_maddubs_epi16(__X, __Y),
1673 static __inline__ __m128i __DEFAULT_FN_ATTRS
1674 _mm_maskz_maddubs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
1675 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1676 (__v8hi)_mm_maddubs_epi16(__X, __Y),
1677 (__v8hi)_mm_setzero_si128());
1680 static __inline__ __m256i __DEFAULT_FN_ATTRS
1681 _mm256_mask_maddubs_epi16(__m256i __W, __mmask16 __U, __m256i __X,
1683 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1684 (__v16hi)_mm256_maddubs_epi16(__X, __Y),
1688 static __inline__ __m256i __DEFAULT_FN_ATTRS
1689 _mm256_maskz_maddubs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
1690 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1691 (__v16hi)_mm256_maddubs_epi16(__X, __Y),
1692 (__v16hi)_mm256_setzero_si256());
1695 static __inline__ __m128i __DEFAULT_FN_ATTRS
1696 _mm_mask_madd_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1697 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
1698 (__v4si)_mm_madd_epi16(__A, __B),
1702 static __inline__ __m128i __DEFAULT_FN_ATTRS
1703 _mm_maskz_madd_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1704 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
1705 (__v4si)_mm_madd_epi16(__A, __B),
1706 (__v4si)_mm_setzero_si128());
1709 static __inline__ __m256i __DEFAULT_FN_ATTRS
1710 _mm256_mask_madd_epi16(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
1711 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
1712 (__v8si)_mm256_madd_epi16(__A, __B),
1716 static __inline__ __m256i __DEFAULT_FN_ATTRS
1717 _mm256_maskz_madd_epi16(__mmask8 __U, __m256i __A, __m256i __B) {
1718 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
1719 (__v8si)_mm256_madd_epi16(__A, __B),
1720 (__v8si)_mm256_setzero_si256());
1723 static __inline__ __m128i __DEFAULT_FN_ATTRS
1724 _mm_cvtsepi16_epi8 (__m128i __A) {
1725 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1726 (__v16qi) _mm_setzero_si128(),
1730 static __inline__ __m128i __DEFAULT_FN_ATTRS
1731 _mm_mask_cvtsepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1732 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1737 static __inline__ __m128i __DEFAULT_FN_ATTRS
1738 _mm_maskz_cvtsepi16_epi8 (__mmask8 __M, __m128i __A) {
1739 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1740 (__v16qi) _mm_setzero_si128(),
1744 static __inline__ __m128i __DEFAULT_FN_ATTRS
1745 _mm256_cvtsepi16_epi8 (__m256i __A) {
1746 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1747 (__v16qi) _mm_setzero_si128(),
1751 static __inline__ __m128i __DEFAULT_FN_ATTRS
1752 _mm256_mask_cvtsepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1753 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1758 static __inline__ __m128i __DEFAULT_FN_ATTRS
1759 _mm256_maskz_cvtsepi16_epi8 (__mmask16 __M, __m256i __A) {
1760 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1761 (__v16qi) _mm_setzero_si128(),
1765 static __inline__ __m128i __DEFAULT_FN_ATTRS
1766 _mm_cvtusepi16_epi8 (__m128i __A) {
1767 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1768 (__v16qi) _mm_setzero_si128(),
1772 static __inline__ __m128i __DEFAULT_FN_ATTRS
1773 _mm_mask_cvtusepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1774 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1779 static __inline__ __m128i __DEFAULT_FN_ATTRS
1780 _mm_maskz_cvtusepi16_epi8 (__mmask8 __M, __m128i __A) {
1781 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1782 (__v16qi) _mm_setzero_si128(),
1786 static __inline__ __m128i __DEFAULT_FN_ATTRS
1787 _mm256_cvtusepi16_epi8 (__m256i __A) {
1788 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1789 (__v16qi) _mm_setzero_si128(),
1793 static __inline__ __m128i __DEFAULT_FN_ATTRS
1794 _mm256_mask_cvtusepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1795 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1800 static __inline__ __m128i __DEFAULT_FN_ATTRS
1801 _mm256_maskz_cvtusepi16_epi8 (__mmask16 __M, __m256i __A) {
1802 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1803 (__v16qi) _mm_setzero_si128(),
1807 static __inline__ __m128i __DEFAULT_FN_ATTRS
1808 _mm_cvtepi16_epi8 (__m128i __A) {
1810 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1811 (__v16qi) _mm_setzero_si128(),
1815 static __inline__ __m128i __DEFAULT_FN_ATTRS
1816 _mm_mask_cvtepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1817 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1822 static __inline__ __m128i __DEFAULT_FN_ATTRS
1823 _mm_maskz_cvtepi16_epi8 (__mmask8 __M, __m128i __A) {
1824 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1825 (__v16qi) _mm_setzero_si128(),
1829 static __inline__ void __DEFAULT_FN_ATTRS
1830 _mm_mask_cvtepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1832 __builtin_ia32_pmovwb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1836 static __inline__ void __DEFAULT_FN_ATTRS
1837 _mm_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1839 __builtin_ia32_pmovswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1842 static __inline__ void __DEFAULT_FN_ATTRS
1843 _mm_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
1845 __builtin_ia32_pmovuswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1848 static __inline__ __m128i __DEFAULT_FN_ATTRS
1849 _mm256_cvtepi16_epi8 (__m256i __A) {
1850 return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
1851 (__v16qi) _mm_setzero_si128(),
1855 static __inline__ __m128i __DEFAULT_FN_ATTRS
1856 _mm256_mask_cvtepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1857 return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
1862 static __inline__ __m128i __DEFAULT_FN_ATTRS
1863 _mm256_maskz_cvtepi16_epi8 (__mmask16 __M, __m256i __A) {
1864 return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
1865 (__v16qi) _mm_setzero_si128(),
1869 static __inline__ void __DEFAULT_FN_ATTRS
1870 _mm256_mask_cvtepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
1872 __builtin_ia32_pmovwb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
1875 static __inline__ void __DEFAULT_FN_ATTRS
1876 _mm256_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
1878 __builtin_ia32_pmovswb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
1881 static __inline__ void __DEFAULT_FN_ATTRS
1882 _mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
1884 __builtin_ia32_pmovuswb256mem_mask ((__v16qi*) __P, (__v16hi) __A, __M);
1887 static __inline__ __m128i __DEFAULT_FN_ATTRS
1888 _mm_mask_mulhrs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
1889 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1890 (__v8hi)_mm_mulhrs_epi16(__X, __Y),
1894 static __inline__ __m128i __DEFAULT_FN_ATTRS
1895 _mm_maskz_mulhrs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
1896 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1897 (__v8hi)_mm_mulhrs_epi16(__X, __Y),
1898 (__v8hi)_mm_setzero_si128());
1901 static __inline__ __m256i __DEFAULT_FN_ATTRS
1902 _mm256_mask_mulhrs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) {
1903 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1904 (__v16hi)_mm256_mulhrs_epi16(__X, __Y),
1908 static __inline__ __m256i __DEFAULT_FN_ATTRS
1909 _mm256_maskz_mulhrs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
1910 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1911 (__v16hi)_mm256_mulhrs_epi16(__X, __Y),
1912 (__v16hi)_mm256_setzero_si256());
1915 static __inline__ __m128i __DEFAULT_FN_ATTRS
1916 _mm_mask_mulhi_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1917 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1918 (__v8hi)_mm_mulhi_epu16(__A, __B),
1922 static __inline__ __m128i __DEFAULT_FN_ATTRS
1923 _mm_maskz_mulhi_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
1924 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1925 (__v8hi)_mm_mulhi_epu16(__A, __B),
1926 (__v8hi)_mm_setzero_si128());
1929 static __inline__ __m256i __DEFAULT_FN_ATTRS
1930 _mm256_mask_mulhi_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1931 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1932 (__v16hi)_mm256_mulhi_epu16(__A, __B),
1936 static __inline__ __m256i __DEFAULT_FN_ATTRS
1937 _mm256_maskz_mulhi_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
1938 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1939 (__v16hi)_mm256_mulhi_epu16(__A, __B),
1940 (__v16hi)_mm256_setzero_si256());
1943 static __inline__ __m128i __DEFAULT_FN_ATTRS
1944 _mm_mask_mulhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1945 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1946 (__v8hi)_mm_mulhi_epi16(__A, __B),
1950 static __inline__ __m128i __DEFAULT_FN_ATTRS
1951 _mm_maskz_mulhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1952 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1953 (__v8hi)_mm_mulhi_epi16(__A, __B),
1954 (__v8hi)_mm_setzero_si128());
1957 static __inline__ __m256i __DEFAULT_FN_ATTRS
1958 _mm256_mask_mulhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1959 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1960 (__v16hi)_mm256_mulhi_epi16(__A, __B),
1964 static __inline__ __m256i __DEFAULT_FN_ATTRS
1965 _mm256_maskz_mulhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1966 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1967 (__v16hi)_mm256_mulhi_epi16(__A, __B),
1968 (__v16hi)_mm256_setzero_si256());
1971 static __inline__ __m128i __DEFAULT_FN_ATTRS
1972 _mm_mask_unpackhi_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
1973 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1974 (__v16qi)_mm_unpackhi_epi8(__A, __B),
1978 static __inline__ __m128i __DEFAULT_FN_ATTRS
1979 _mm_maskz_unpackhi_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1980 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1981 (__v16qi)_mm_unpackhi_epi8(__A, __B),
1982 (__v16qi)_mm_setzero_si128());
1985 static __inline__ __m256i __DEFAULT_FN_ATTRS
1986 _mm256_mask_unpackhi_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
1987 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1988 (__v32qi)_mm256_unpackhi_epi8(__A, __B),
1992 static __inline__ __m256i __DEFAULT_FN_ATTRS
1993 _mm256_maskz_unpackhi_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1994 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1995 (__v32qi)_mm256_unpackhi_epi8(__A, __B),
1996 (__v32qi)_mm256_setzero_si256());
1999 static __inline__ __m128i __DEFAULT_FN_ATTRS
2000 _mm_mask_unpackhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
2001 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2002 (__v8hi)_mm_unpackhi_epi16(__A, __B),
2006 static __inline__ __m128i __DEFAULT_FN_ATTRS
2007 _mm_maskz_unpackhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
2008 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2009 (__v8hi)_mm_unpackhi_epi16(__A, __B),
2010 (__v8hi) _mm_setzero_si128());
2013 static __inline__ __m256i __DEFAULT_FN_ATTRS
2014 _mm256_mask_unpackhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
2015 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2016 (__v16hi)_mm256_unpackhi_epi16(__A, __B),
2020 static __inline__ __m256i __DEFAULT_FN_ATTRS
2021 _mm256_maskz_unpackhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
2022 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2023 (__v16hi)_mm256_unpackhi_epi16(__A, __B),
2024 (__v16hi)_mm256_setzero_si256());
2027 static __inline__ __m128i __DEFAULT_FN_ATTRS
2028 _mm_mask_unpacklo_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
2029 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
2030 (__v16qi)_mm_unpacklo_epi8(__A, __B),
2034 static __inline__ __m128i __DEFAULT_FN_ATTRS
2035 _mm_maskz_unpacklo_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
2036 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
2037 (__v16qi)_mm_unpacklo_epi8(__A, __B),
2038 (__v16qi)_mm_setzero_si128());
2041 static __inline__ __m256i __DEFAULT_FN_ATTRS
2042 _mm256_mask_unpacklo_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
2043 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
2044 (__v32qi)_mm256_unpacklo_epi8(__A, __B),
2048 static __inline__ __m256i __DEFAULT_FN_ATTRS
2049 _mm256_maskz_unpacklo_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
2050 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
2051 (__v32qi)_mm256_unpacklo_epi8(__A, __B),
2052 (__v32qi)_mm256_setzero_si256());
2055 static __inline__ __m128i __DEFAULT_FN_ATTRS
2056 _mm_mask_unpacklo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
2057 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2058 (__v8hi)_mm_unpacklo_epi16(__A, __B),
2062 static __inline__ __m128i __DEFAULT_FN_ATTRS
2063 _mm_maskz_unpacklo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
2064 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2065 (__v8hi)_mm_unpacklo_epi16(__A, __B),
2066 (__v8hi) _mm_setzero_si128());
2069 static __inline__ __m256i __DEFAULT_FN_ATTRS
2070 _mm256_mask_unpacklo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
2071 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2072 (__v16hi)_mm256_unpacklo_epi16(__A, __B),
2076 static __inline__ __m256i __DEFAULT_FN_ATTRS
2077 _mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
2078 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2079 (__v16hi)_mm256_unpacklo_epi16(__A, __B),
2080 (__v16hi)_mm256_setzero_si256());
2083 static __inline__ __m128i __DEFAULT_FN_ATTRS
2084 _mm_mask_cvtepi8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
2086 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2087 (__v8hi)_mm_cvtepi8_epi16(__A),
2091 static __inline__ __m128i __DEFAULT_FN_ATTRS
2092 _mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A)
2094 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2095 (__v8hi)_mm_cvtepi8_epi16(__A),
2096 (__v8hi)_mm_setzero_si128());
2099 static __inline__ __m256i __DEFAULT_FN_ATTRS
2100 _mm256_mask_cvtepi8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
2102 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2103 (__v16hi)_mm256_cvtepi8_epi16(__A),
2107 static __inline__ __m256i __DEFAULT_FN_ATTRS
2108 _mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A)
2110 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2111 (__v16hi)_mm256_cvtepi8_epi16(__A),
2112 (__v16hi)_mm256_setzero_si256());
2116 static __inline__ __m128i __DEFAULT_FN_ATTRS
2117 _mm_mask_cvtepu8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
2119 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2120 (__v8hi)_mm_cvtepu8_epi16(__A),
2124 static __inline__ __m128i __DEFAULT_FN_ATTRS
2125 _mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A)
2127 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2128 (__v8hi)_mm_cvtepu8_epi16(__A),
2129 (__v8hi)_mm_setzero_si128());
2132 static __inline__ __m256i __DEFAULT_FN_ATTRS
2133 _mm256_mask_cvtepu8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
2135 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2136 (__v16hi)_mm256_cvtepu8_epi16(__A),
2140 static __inline__ __m256i __DEFAULT_FN_ATTRS
2141 _mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A)
2143 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2144 (__v16hi)_mm256_cvtepu8_epi16(__A),
2145 (__v16hi)_mm256_setzero_si256());
2149 #define _mm_cmp_epi8_mask(a, b, p) __extension__ ({ \
2150 (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
2151 (__v16qi)(__m128i)(b), (int)(p), \
2154 #define _mm_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
2155 (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
2156 (__v16qi)(__m128i)(b), (int)(p), \
2159 #define _mm_cmp_epu8_mask(a, b, p) __extension__ ({ \
2160 (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
2161 (__v16qi)(__m128i)(b), (int)(p), \
2164 #define _mm_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
2165 (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
2166 (__v16qi)(__m128i)(b), (int)(p), \
2169 #define _mm256_cmp_epi8_mask(a, b, p) __extension__ ({ \
2170 (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
2171 (__v32qi)(__m256i)(b), (int)(p), \
2174 #define _mm256_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
2175 (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
2176 (__v32qi)(__m256i)(b), (int)(p), \
2179 #define _mm256_cmp_epu8_mask(a, b, p) __extension__ ({ \
2180 (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
2181 (__v32qi)(__m256i)(b), (int)(p), \
2184 #define _mm256_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
2185 (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
2186 (__v32qi)(__m256i)(b), (int)(p), \
2189 #define _mm_cmp_epi16_mask(a, b, p) __extension__ ({ \
2190 (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
2191 (__v8hi)(__m128i)(b), (int)(p), \
2194 #define _mm_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
2195 (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
2196 (__v8hi)(__m128i)(b), (int)(p), \
2199 #define _mm_cmp_epu16_mask(a, b, p) __extension__ ({ \
2200 (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
2201 (__v8hi)(__m128i)(b), (int)(p), \
2204 #define _mm_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
2205 (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
2206 (__v8hi)(__m128i)(b), (int)(p), \
2209 #define _mm256_cmp_epi16_mask(a, b, p) __extension__ ({ \
2210 (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
2211 (__v16hi)(__m256i)(b), (int)(p), \
2214 #define _mm256_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
2215 (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
2216 (__v16hi)(__m256i)(b), (int)(p), \
2219 #define _mm256_cmp_epu16_mask(a, b, p) __extension__ ({ \
2220 (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
2221 (__v16hi)(__m256i)(b), (int)(p), \
2224 #define _mm256_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
2225 (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
2226 (__v16hi)(__m256i)(b), (int)(p), \
2229 #define _mm_mask_shufflehi_epi16(W, U, A, imm) __extension__ ({ \
2230 (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2231 (__v8hi)_mm_shufflehi_epi16((A), (imm)), \
2232 (__v8hi)(__m128i)(W)); })
2234 #define _mm_maskz_shufflehi_epi16(U, A, imm) __extension__ ({ \
2235 (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2236 (__v8hi)_mm_shufflehi_epi16((A), (imm)), \
2237 (__v8hi)_mm_setzero_hi()); })
2239 #define _mm256_mask_shufflehi_epi16(W, U, A, imm) __extension__ ({ \
2240 (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2241 (__v16hi)_mm256_shufflehi_epi16((A), (imm)), \
2242 (__v16hi)(__m256i)(W)); })
2244 #define _mm256_maskz_shufflehi_epi16(U, A, imm) __extension__ ({ \
2245 (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2246 (__v16hi)_mm256_shufflehi_epi16((A), (imm)), \
2247 (__v16hi)_mm256_setzero_si256()); })
2249 #define _mm_mask_shufflelo_epi16(W, U, A, imm) __extension__ ({ \
2250 (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2251 (__v8hi)_mm_shufflelo_epi16((A), (imm)), \
2252 (__v8hi)(__m128i)(W)); })
2254 #define _mm_maskz_shufflelo_epi16(U, A, imm) __extension__ ({ \
2255 (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2256 (__v8hi)_mm_shufflelo_epi16((A), (imm)), \
2257 (__v8hi)_mm_setzero_hi()); })
2259 #define _mm256_mask_shufflelo_epi16(W, U, A, imm) __extension__ ({ \
2260 (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2261 (__v16hi)_mm256_shufflelo_epi16((A), \
2263 (__v16hi)(__m256i)(W)); })
2265 #define _mm256_maskz_shufflelo_epi16(U, A, imm) __extension__ ({ \
2266 (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2267 (__v16hi)_mm256_shufflelo_epi16((A), \
2269 (__v16hi)_mm256_setzero_si256()); })
2271 static __inline__ __m256i __DEFAULT_FN_ATTRS
2272 _mm256_sllv_epi16(__m256i __A, __m256i __B)
2274 return (__m256i)__builtin_ia32_psllv16hi((__v16hi)__A, (__v16hi)__B);
2277 static __inline__ __m256i __DEFAULT_FN_ATTRS
2278 _mm256_mask_sllv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
2280 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2281 (__v16hi)_mm256_sllv_epi16(__A, __B),
2285 static __inline__ __m256i __DEFAULT_FN_ATTRS
2286 _mm256_maskz_sllv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
2288 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2289 (__v16hi)_mm256_sllv_epi16(__A, __B),
2290 (__v16hi)_mm256_setzero_si256());
2293 static __inline__ __m128i __DEFAULT_FN_ATTRS
2294 _mm_sllv_epi16(__m128i __A, __m128i __B)
2296 return (__m128i)__builtin_ia32_psllv8hi((__v8hi)__A, (__v8hi)__B);
2299 static __inline__ __m128i __DEFAULT_FN_ATTRS
2300 _mm_mask_sllv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2302 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2303 (__v8hi)_mm_sllv_epi16(__A, __B),
2307 static __inline__ __m128i __DEFAULT_FN_ATTRS
2308 _mm_maskz_sllv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
2310 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2311 (__v8hi)_mm_sllv_epi16(__A, __B),
2312 (__v8hi)_mm_setzero_si128());
2315 static __inline__ __m128i __DEFAULT_FN_ATTRS
2316 _mm_mask_sll_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2318 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2319 (__v8hi)_mm_sll_epi16(__A, __B),
2323 static __inline__ __m128i __DEFAULT_FN_ATTRS
2324 _mm_maskz_sll_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2326 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2327 (__v8hi)_mm_sll_epi16(__A, __B),
2328 (__v8hi)_mm_setzero_si128());
2331 static __inline__ __m256i __DEFAULT_FN_ATTRS
2332 _mm256_mask_sll_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
2334 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2335 (__v16hi)_mm256_sll_epi16(__A, __B),
2339 static __inline__ __m256i __DEFAULT_FN_ATTRS
2340 _mm256_maskz_sll_epi16(__mmask16 __U, __m256i __A, __m128i __B)
2342 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2343 (__v16hi)_mm256_sll_epi16(__A, __B),
2344 (__v16hi)_mm256_setzero_si256());
2347 static __inline__ __m128i __DEFAULT_FN_ATTRS
2348 _mm_mask_slli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
2350 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2351 (__v8hi)_mm_slli_epi16(__A, __B),
2355 static __inline__ __m128i __DEFAULT_FN_ATTRS
2356 _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B)
2358 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2359 (__v8hi)_mm_slli_epi16(__A, __B),
2360 (__v8hi)_mm_setzero_si128());
2363 static __inline__ __m256i __DEFAULT_FN_ATTRS
2364 _mm256_mask_slli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
2366 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2367 (__v16hi)_mm256_slli_epi16(__A, __B),
2371 static __inline__ __m256i __DEFAULT_FN_ATTRS
2372 _mm256_maskz_slli_epi16(__mmask16 __U, __m256i __A, int __B)
2374 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2375 (__v16hi)_mm256_slli_epi16(__A, __B),
2376 (__v16hi)_mm256_setzero_si256());
2379 static __inline__ __m256i __DEFAULT_FN_ATTRS
2380 _mm256_srlv_epi16(__m256i __A, __m256i __B)
2382 return (__m256i)__builtin_ia32_psrlv16hi((__v16hi)__A, (__v16hi)__B);
2385 static __inline__ __m256i __DEFAULT_FN_ATTRS
2386 _mm256_mask_srlv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
2388 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2389 (__v16hi)_mm256_srlv_epi16(__A, __B),
2393 static __inline__ __m256i __DEFAULT_FN_ATTRS
2394 _mm256_maskz_srlv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
2396 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2397 (__v16hi)_mm256_srlv_epi16(__A, __B),
2398 (__v16hi)_mm256_setzero_si256());
2401 static __inline__ __m128i __DEFAULT_FN_ATTRS
2402 _mm_srlv_epi16(__m128i __A, __m128i __B)
2404 return (__m128i)__builtin_ia32_psrlv8hi((__v8hi)__A, (__v8hi)__B);
2407 static __inline__ __m128i __DEFAULT_FN_ATTRS
2408 _mm_mask_srlv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2410 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2411 (__v8hi)_mm_srlv_epi16(__A, __B),
2415 static __inline__ __m128i __DEFAULT_FN_ATTRS
2416 _mm_maskz_srlv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
2418 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2419 (__v8hi)_mm_srlv_epi16(__A, __B),
2420 (__v8hi)_mm_setzero_si128());
2423 static __inline__ __m256i __DEFAULT_FN_ATTRS
2424 _mm256_srav_epi16(__m256i __A, __m256i __B)
2426 return (__m256i)__builtin_ia32_psrav16hi((__v16hi)__A, (__v16hi)__B);
2429 static __inline__ __m256i __DEFAULT_FN_ATTRS
2430 _mm256_mask_srav_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
2432 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2433 (__v16hi)_mm256_srav_epi16(__A, __B),
2437 static __inline__ __m256i __DEFAULT_FN_ATTRS
2438 _mm256_maskz_srav_epi16(__mmask16 __U, __m256i __A, __m256i __B)
2440 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2441 (__v16hi)_mm256_srav_epi16(__A, __B),
2442 (__v16hi)_mm256_setzero_si256());
2445 static __inline__ __m128i __DEFAULT_FN_ATTRS
2446 _mm_srav_epi16(__m128i __A, __m128i __B)
2448 return (__m128i)__builtin_ia32_psrav8hi((__v8hi)__A, (__v8hi)__B);
2451 static __inline__ __m128i __DEFAULT_FN_ATTRS
2452 _mm_mask_srav_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2454 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2455 (__v8hi)_mm_srav_epi16(__A, __B),
2459 static __inline__ __m128i __DEFAULT_FN_ATTRS
2460 _mm_maskz_srav_epi16(__mmask8 __U, __m128i __A, __m128i __B)
2462 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2463 (__v8hi)_mm_srav_epi16(__A, __B),
2464 (__v8hi)_mm_setzero_si128());
2467 static __inline__ __m128i __DEFAULT_FN_ATTRS
2468 _mm_mask_sra_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2470 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2471 (__v8hi)_mm_sra_epi16(__A, __B),
2475 static __inline__ __m128i __DEFAULT_FN_ATTRS
2476 _mm_maskz_sra_epi16(__mmask8 __U, __m128i __A, __m128i __B)
2478 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2479 (__v8hi)_mm_sra_epi16(__A, __B),
2480 (__v8hi)_mm_setzero_si128());
2483 static __inline__ __m256i __DEFAULT_FN_ATTRS
2484 _mm256_mask_sra_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
2486 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2487 (__v16hi)_mm256_sra_epi16(__A, __B),
2491 static __inline__ __m256i __DEFAULT_FN_ATTRS
2492 _mm256_maskz_sra_epi16(__mmask16 __U, __m256i __A, __m128i __B)
2494 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2495 (__v16hi)_mm256_sra_epi16(__A, __B),
2496 (__v16hi)_mm256_setzero_si256());
2499 static __inline__ __m128i __DEFAULT_FN_ATTRS
2500 _mm_mask_srai_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
2502 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2503 (__v8hi)_mm_srai_epi16(__A, __B),
2507 static __inline__ __m128i __DEFAULT_FN_ATTRS
2508 _mm_maskz_srai_epi16(__mmask8 __U, __m128i __A, int __B)
2510 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2511 (__v8hi)_mm_srai_epi16(__A, __B),
2512 (__v8hi)_mm_setzero_si128());
2515 static __inline__ __m256i __DEFAULT_FN_ATTRS
2516 _mm256_mask_srai_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
2518 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2519 (__v16hi)_mm256_srai_epi16(__A, __B),
2523 static __inline__ __m256i __DEFAULT_FN_ATTRS
2524 _mm256_maskz_srai_epi16(__mmask16 __U, __m256i __A, int __B)
2526 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2527 (__v16hi)_mm256_srai_epi16(__A, __B),
2528 (__v16hi)_mm256_setzero_si256());
2531 static __inline__ __m128i __DEFAULT_FN_ATTRS
2532 _mm_mask_srl_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2534 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2535 (__v8hi)_mm_srl_epi16(__A, __B),
2539 static __inline__ __m128i __DEFAULT_FN_ATTRS
2540 _mm_maskz_srl_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2542 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2543 (__v8hi)_mm_srl_epi16(__A, __B),
2544 (__v8hi)_mm_setzero_si128());
2547 static __inline__ __m256i __DEFAULT_FN_ATTRS
2548 _mm256_mask_srl_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
2550 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2551 (__v16hi)_mm256_srl_epi16(__A, __B),
2555 static __inline__ __m256i __DEFAULT_FN_ATTRS
2556 _mm256_maskz_srl_epi16(__mmask16 __U, __m256i __A, __m128i __B)
2558 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2559 (__v16hi)_mm256_srl_epi16(__A, __B),
2560 (__v16hi)_mm256_setzero_si256());
2563 static __inline__ __m128i __DEFAULT_FN_ATTRS
2564 _mm_mask_srli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
2566 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2567 (__v8hi)_mm_srli_epi16(__A, __B),
2571 static __inline__ __m128i __DEFAULT_FN_ATTRS
2572 _mm_maskz_srli_epi16 (__mmask8 __U, __m128i __A, int __B)
2574 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2575 (__v8hi)_mm_srli_epi16(__A, __B),
2576 (__v8hi)_mm_setzero_si128());
2579 static __inline__ __m256i __DEFAULT_FN_ATTRS
2580 _mm256_mask_srli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
2582 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2583 (__v16hi)_mm256_srli_epi16(__A, __B),
2587 static __inline__ __m256i __DEFAULT_FN_ATTRS
2588 _mm256_maskz_srli_epi16(__mmask16 __U, __m256i __A, int __B)
2590 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2591 (__v16hi)_mm256_srli_epi16(__A, __B),
2592 (__v16hi)_mm256_setzero_si256());
2595 static __inline__ __m128i __DEFAULT_FN_ATTRS
2596 _mm_mask_mov_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
2598 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
2603 static __inline__ __m128i __DEFAULT_FN_ATTRS
2604 _mm_maskz_mov_epi16 (__mmask8 __U, __m128i __A)
2606 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
2608 (__v8hi) _mm_setzero_hi ());
2611 static __inline__ __m256i __DEFAULT_FN_ATTRS
2612 _mm256_mask_mov_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
2614 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
2619 static __inline__ __m256i __DEFAULT_FN_ATTRS
2620 _mm256_maskz_mov_epi16 (__mmask16 __U, __m256i __A)
2622 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
2624 (__v16hi) _mm256_setzero_si256 ());
2627 static __inline__ __m128i __DEFAULT_FN_ATTRS
2628 _mm_mask_mov_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
2630 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
2635 static __inline__ __m128i __DEFAULT_FN_ATTRS
2636 _mm_maskz_mov_epi8 (__mmask16 __U, __m128i __A)
2638 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
2640 (__v16qi) _mm_setzero_hi ());
2643 static __inline__ __m256i __DEFAULT_FN_ATTRS
2644 _mm256_mask_mov_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
2646 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
2651 static __inline__ __m256i __DEFAULT_FN_ATTRS
2652 _mm256_maskz_mov_epi8 (__mmask32 __U, __m256i __A)
2654 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
2656 (__v32qi) _mm256_setzero_si256 ());
2660 static __inline__ __m128i __DEFAULT_FN_ATTRS
2661 _mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A)
2663 return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
2668 static __inline__ __m128i __DEFAULT_FN_ATTRS
2669 _mm_maskz_set1_epi8 (__mmask16 __M, char __A)
2671 return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
2673 _mm_setzero_si128 (),
2677 static __inline__ __m256i __DEFAULT_FN_ATTRS
2678 _mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A)
2680 return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
2685 static __inline__ __m256i __DEFAULT_FN_ATTRS
2686 _mm256_maskz_set1_epi8 (__mmask32 __M, char __A)
2688 return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
2690 _mm256_setzero_si256 (),
2694 static __inline__ __m128i __DEFAULT_FN_ATTRS
2695 _mm_mask_loadu_epi16 (__m128i __W, __mmask8 __U, void const *__P)
2697 return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
2702 static __inline__ __m128i __DEFAULT_FN_ATTRS
2703 _mm_maskz_loadu_epi16 (__mmask8 __U, void const *__P)
2705 return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
2711 static __inline__ __m256i __DEFAULT_FN_ATTRS
2712 _mm256_mask_loadu_epi16 (__m256i __W, __mmask16 __U, void const *__P)
2714 return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
2719 static __inline__ __m256i __DEFAULT_FN_ATTRS
2720 _mm256_maskz_loadu_epi16 (__mmask16 __U, void const *__P)
2722 return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
2724 _mm256_setzero_si256 (),
2728 static __inline__ __m128i __DEFAULT_FN_ATTRS
2729 _mm_mask_loadu_epi8 (__m128i __W, __mmask16 __U, void const *__P)
2731 return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
2736 static __inline__ __m128i __DEFAULT_FN_ATTRS
2737 _mm_maskz_loadu_epi8 (__mmask16 __U, void const *__P)
2739 return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
2741 _mm_setzero_si128 (),
2745 static __inline__ __m256i __DEFAULT_FN_ATTRS
2746 _mm256_mask_loadu_epi8 (__m256i __W, __mmask32 __U, void const *__P)
2748 return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
2753 static __inline__ __m256i __DEFAULT_FN_ATTRS
2754 _mm256_maskz_loadu_epi8 (__mmask32 __U, void const *__P)
2756 return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
2758 _mm256_setzero_si256 (),
2761 static __inline__ void __DEFAULT_FN_ATTRS
2762 _mm_mask_storeu_epi16 (void *__P, __mmask8 __U, __m128i __A)
2764 __builtin_ia32_storedquhi128_mask ((__v8hi *) __P,
2769 static __inline__ void __DEFAULT_FN_ATTRS
2770 _mm256_mask_storeu_epi16 (void *__P, __mmask16 __U, __m256i __A)
2772 __builtin_ia32_storedquhi256_mask ((__v16hi *) __P,
2777 static __inline__ void __DEFAULT_FN_ATTRS
2778 _mm_mask_storeu_epi8 (void *__P, __mmask16 __U, __m128i __A)
2780 __builtin_ia32_storedquqi128_mask ((__v16qi *) __P,
2785 static __inline__ void __DEFAULT_FN_ATTRS
2786 _mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A)
2788 __builtin_ia32_storedquqi256_mask ((__v32qi *) __P,
2793 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2794 _mm_test_epi8_mask (__m128i __A, __m128i __B)
2796 return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
2801 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2802 _mm_mask_test_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
2804 return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
2805 (__v16qi) __B, __U);
2808 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
2809 _mm256_test_epi8_mask (__m256i __A, __m256i __B)
2811 return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
2816 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
2817 _mm256_mask_test_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
2819 return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
2820 (__v32qi) __B, __U);
2823 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2824 _mm_test_epi16_mask (__m128i __A, __m128i __B)
2826 return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
2831 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2832 _mm_mask_test_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
2834 return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
2838 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2839 _mm256_test_epi16_mask (__m256i __A, __m256i __B)
2841 return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
2846 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2847 _mm256_mask_test_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
2849 return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
2850 (__v16hi) __B, __U);
2853 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2854 _mm_testn_epi8_mask (__m128i __A, __m128i __B)
2856 return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
2861 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2862 _mm_mask_testn_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
2864 return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
2865 (__v16qi) __B, __U);
2868 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
2869 _mm256_testn_epi8_mask (__m256i __A, __m256i __B)
2871 return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
2876 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
2877 _mm256_mask_testn_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
2879 return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
2880 (__v32qi) __B, __U);
2883 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2884 _mm_testn_epi16_mask (__m128i __A, __m128i __B)
2886 return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
2891 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2892 _mm_mask_testn_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
2894 return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
2898 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2899 _mm256_testn_epi16_mask (__m256i __A, __m256i __B)
2901 return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
2906 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2907 _mm256_mask_testn_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
2909 return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
2910 (__v16hi) __B, __U);
2913 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2914 _mm_movepi8_mask (__m128i __A)
2916 return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A);
2919 static __inline__ __mmask32 __DEFAULT_FN_ATTRS
2920 _mm256_movepi8_mask (__m256i __A)
2922 return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A);
2925 static __inline__ __mmask8 __DEFAULT_FN_ATTRS
2926 _mm_movepi16_mask (__m128i __A)
2928 return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A);
2931 static __inline__ __mmask16 __DEFAULT_FN_ATTRS
2932 _mm256_movepi16_mask (__m256i __A)
2934 return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A);
2937 static __inline__ __m128i __DEFAULT_FN_ATTRS
2938 _mm_movm_epi8 (__mmask16 __A)
2940 return (__m128i) __builtin_ia32_cvtmask2b128 (__A);
2943 static __inline__ __m256i __DEFAULT_FN_ATTRS
2944 _mm256_movm_epi8 (__mmask32 __A)
2946 return (__m256i) __builtin_ia32_cvtmask2b256 (__A);
2949 static __inline__ __m128i __DEFAULT_FN_ATTRS
2950 _mm_movm_epi16 (__mmask8 __A)
2952 return (__m128i) __builtin_ia32_cvtmask2w128 (__A);
2955 static __inline__ __m256i __DEFAULT_FN_ATTRS
2956 _mm256_movm_epi16 (__mmask16 __A)
2958 return (__m256i) __builtin_ia32_cvtmask2w256 (__A);
2961 static __inline__ __m128i __DEFAULT_FN_ATTRS
2962 _mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A)
2964 return (__m128i)__builtin_ia32_selectb_128(__M,
2965 (__v16qi) _mm_broadcastb_epi8(__A),
2969 static __inline__ __m128i __DEFAULT_FN_ATTRS
2970 _mm_maskz_broadcastb_epi8 (__mmask16 __M, __m128i __A)
2972 return (__m128i)__builtin_ia32_selectb_128(__M,
2973 (__v16qi) _mm_broadcastb_epi8(__A),
2974 (__v16qi) _mm_setzero_si128());
2977 static __inline__ __m256i __DEFAULT_FN_ATTRS
2978 _mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A)
2980 return (__m256i)__builtin_ia32_selectb_256(__M,
2981 (__v32qi) _mm256_broadcastb_epi8(__A),
2985 static __inline__ __m256i __DEFAULT_FN_ATTRS
2986 _mm256_maskz_broadcastb_epi8 (__mmask32 __M, __m128i __A)
2988 return (__m256i)__builtin_ia32_selectb_256(__M,
2989 (__v32qi) _mm256_broadcastb_epi8(__A),
2990 (__v32qi) _mm256_setzero_si256());
2993 static __inline__ __m128i __DEFAULT_FN_ATTRS
2994 _mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2996 return (__m128i)__builtin_ia32_selectw_128(__M,
2997 (__v8hi) _mm_broadcastw_epi16(__A),
3001 static __inline__ __m128i __DEFAULT_FN_ATTRS
3002 _mm_maskz_broadcastw_epi16 (__mmask8 __M, __m128i __A)
3004 return (__m128i)__builtin_ia32_selectw_128(__M,
3005 (__v8hi) _mm_broadcastw_epi16(__A),
3006 (__v8hi) _mm_setzero_si128());
3009 static __inline__ __m256i __DEFAULT_FN_ATTRS
3010 _mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A)
3012 return (__m256i)__builtin_ia32_selectw_256(__M,
3013 (__v16hi) _mm256_broadcastw_epi16(__A),
3017 static __inline__ __m256i __DEFAULT_FN_ATTRS
3018 _mm256_maskz_broadcastw_epi16 (__mmask16 __M, __m128i __A)
3020 return (__m256i)__builtin_ia32_selectw_256(__M,
3021 (__v16hi) _mm256_broadcastw_epi16(__A),
3022 (__v16hi) _mm256_setzero_si256());
3025 static __inline__ __m256i __DEFAULT_FN_ATTRS
3026 _mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A)
3028 return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
3033 static __inline__ __m256i __DEFAULT_FN_ATTRS
3034 _mm256_maskz_set1_epi16 (__mmask16 __M, short __A)
3036 return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
3037 (__v16hi) _mm256_setzero_si256 (),
3041 static __inline__ __m128i __DEFAULT_FN_ATTRS
3042 _mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A)
3044 return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
3049 static __inline__ __m128i __DEFAULT_FN_ATTRS
3050 _mm_maskz_set1_epi16 (__mmask8 __M, short __A)
3052 return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
3053 (__v8hi) _mm_setzero_si128 (),
3057 static __inline__ __m128i __DEFAULT_FN_ATTRS
3058 _mm_permutexvar_epi16 (__m128i __A, __m128i __B)
3060 return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
3062 (__v8hi) _mm_undefined_si128 (),
3066 static __inline__ __m128i __DEFAULT_FN_ATTRS
3067 _mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
3069 return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
3071 (__v8hi) _mm_setzero_si128 (),
3075 static __inline__ __m128i __DEFAULT_FN_ATTRS
3076 _mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
3079 return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
3085 static __inline__ __m256i __DEFAULT_FN_ATTRS
3086 _mm256_permutexvar_epi16 (__m256i __A, __m256i __B)
3088 return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
3090 (__v16hi) _mm256_undefined_si256 (),
3094 static __inline__ __m256i __DEFAULT_FN_ATTRS
3095 _mm256_maskz_permutexvar_epi16 (__mmask16 __M, __m256i __A,
3098 return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
3100 (__v16hi) _mm256_setzero_si256 (),
3104 static __inline__ __m256i __DEFAULT_FN_ATTRS
3105 _mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
3108 return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
3114 #define _mm_mask_alignr_epi8(W, U, A, B, N) __extension__ ({ \
3115 (__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
3116 (__v16qi)_mm_alignr_epi8((A), (B), (int)(N)), \
3117 (__v16qi)(__m128i)(W)); })
3119 #define _mm_maskz_alignr_epi8(U, A, B, N) __extension__ ({ \
3120 (__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
3121 (__v16qi)_mm_alignr_epi8((A), (B), (int)(N)), \
3122 (__v16qi)_mm_setzero_si128()); })
3124 #define _mm256_mask_alignr_epi8(W, U, A, B, N) __extension__ ({ \
3125 (__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
3126 (__v32qi)_mm256_alignr_epi8((A), (B), (int)(N)), \
3127 (__v32qi)(__m256i)(W)); })
3129 #define _mm256_maskz_alignr_epi8(U, A, B, N) __extension__ ({ \
3130 (__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
3131 (__v32qi)_mm256_alignr_epi8((A), (B), (int)(N)), \
3132 (__v32qi)_mm256_setzero_si256()); })
3134 #define _mm_dbsad_epu8(A, B, imm) __extension__ ({ \
3135 (__m128i)__builtin_ia32_dbpsadbw128_mask((__v16qi)(__m128i)(A), \
3136 (__v16qi)(__m128i)(B), (int)(imm), \
3137 (__v8hi)_mm_setzero_hi(), \
3140 #define _mm_mask_dbsad_epu8(W, U, A, B, imm) __extension__ ({ \
3141 (__m128i)__builtin_ia32_dbpsadbw128_mask((__v16qi)(__m128i)(A), \
3142 (__v16qi)(__m128i)(B), (int)(imm), \
3143 (__v8hi)(__m128i)(W), \
3146 #define _mm_maskz_dbsad_epu8(U, A, B, imm) __extension__ ({ \
3147 (__m128i)__builtin_ia32_dbpsadbw128_mask((__v16qi)(__m128i)(A), \
3148 (__v16qi)(__m128i)(B), (int)(imm), \
3149 (__v8hi)_mm_setzero_si128(), \
3152 #define _mm256_dbsad_epu8(A, B, imm) __extension__ ({ \
3153 (__m256i)__builtin_ia32_dbpsadbw256_mask((__v32qi)(__m256i)(A), \
3154 (__v32qi)(__m256i)(B), (int)(imm), \
3155 (__v16hi)_mm256_setzero_si256(), \
3158 #define _mm256_mask_dbsad_epu8(W, U, A, B, imm) __extension__ ({ \
3159 (__m256i)__builtin_ia32_dbpsadbw256_mask((__v32qi)(__m256i)(A), \
3160 (__v32qi)(__m256i)(B), (int)(imm), \
3161 (__v16hi)(__m256i)(W), \
3164 #define _mm256_maskz_dbsad_epu8(U, A, B, imm) __extension__ ({ \
3165 (__m256i)__builtin_ia32_dbpsadbw256_mask((__v32qi)(__m256i)(A), \
3166 (__v32qi)(__m256i)(B), (int)(imm), \
3167 (__v16hi)_mm256_setzero_si256(), \
3170 #undef __DEFAULT_FN_ATTRS
3172 #endif /* __AVX512VLBWINTRIN_H */