25 #error "Never use <avx512vlbwintrin.h> directly; include <immintrin.h> instead."
28 #ifndef __AVX512VLBWINTRIN_H
29 #define __AVX512VLBWINTRIN_H
32 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512bw")))
37 _mm_cmpeq_epi8_mask(__m128i __a, __m128i
__b) {
38 return (
__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
43 _mm_mask_cmpeq_epi8_mask(
__mmask16 __u, __m128i __a, __m128i
__b) {
44 return (
__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
49 _mm_cmpeq_epu8_mask(__m128i __a, __m128i __b) {
50 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
55 _mm_mask_cmpeq_epu8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
56 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
61 _mm256_cmpeq_epi8_mask(__m256i __a, __m256i __b) {
62 return (
__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
67 _mm256_mask_cmpeq_epi8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
68 return (
__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
73 _mm256_cmpeq_epu8_mask(__m256i __a, __m256i __b) {
74 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
79 _mm256_mask_cmpeq_epu8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
80 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
85 _mm_cmpeq_epi16_mask(__m128i __a, __m128i __b) {
86 return (
__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
91 _mm_mask_cmpeq_epi16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
92 return (
__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
97 _mm_cmpeq_epu16_mask(__m128i __a, __m128i __b) {
98 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
103 _mm_mask_cmpeq_epu16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
104 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
109 _mm256_cmpeq_epi16_mask(__m256i __a, __m256i __b) {
110 return (
__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
115 _mm256_mask_cmpeq_epi16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
116 return (
__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
121 _mm256_cmpeq_epu16_mask(__m256i __a, __m256i __b) {
122 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
127 _mm256_mask_cmpeq_epu16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
128 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
133 _mm_cmpge_epi8_mask(__m128i __a, __m128i __b) {
134 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
139 _mm_mask_cmpge_epi8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
140 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
145 _mm_cmpge_epu8_mask(__m128i __a, __m128i __b) {
146 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
151 _mm_mask_cmpge_epu8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
152 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
157 _mm256_cmpge_epi8_mask(__m256i __a, __m256i __b) {
158 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
163 _mm256_mask_cmpge_epi8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
164 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
169 _mm256_cmpge_epu8_mask(__m256i __a, __m256i __b) {
170 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
175 _mm256_mask_cmpge_epu8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
176 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
181 _mm_cmpge_epi16_mask(__m128i __a, __m128i __b) {
182 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
187 _mm_mask_cmpge_epi16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
188 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
193 _mm_cmpge_epu16_mask(__m128i __a, __m128i __b) {
194 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
199 _mm_mask_cmpge_epu16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
200 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
205 _mm256_cmpge_epi16_mask(__m256i __a, __m256i __b) {
206 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
211 _mm256_mask_cmpge_epi16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
212 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
217 _mm256_cmpge_epu16_mask(__m256i __a, __m256i __b) {
218 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
223 _mm256_mask_cmpge_epu16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
224 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
229 _mm_cmpgt_epi8_mask(__m128i __a, __m128i __b) {
230 return (
__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
235 _mm_mask_cmpgt_epi8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
236 return (
__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
241 _mm_cmpgt_epu8_mask(__m128i __a, __m128i __b) {
242 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
247 _mm_mask_cmpgt_epu8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
248 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
253 _mm256_cmpgt_epi8_mask(__m256i __a, __m256i __b) {
254 return (
__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
259 _mm256_mask_cmpgt_epi8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
260 return (
__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
265 _mm256_cmpgt_epu8_mask(__m256i __a, __m256i __b) {
266 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
271 _mm256_mask_cmpgt_epu8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
272 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
277 _mm_cmpgt_epi16_mask(__m128i __a, __m128i __b) {
278 return (
__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
283 _mm_mask_cmpgt_epi16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
284 return (
__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
289 _mm_cmpgt_epu16_mask(__m128i __a, __m128i __b) {
290 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
295 _mm_mask_cmpgt_epu16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
296 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
301 _mm256_cmpgt_epi16_mask(__m256i __a, __m256i __b) {
302 return (
__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
307 _mm256_mask_cmpgt_epi16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
308 return (
__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
313 _mm256_cmpgt_epu16_mask(__m256i __a, __m256i __b) {
314 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
319 _mm256_mask_cmpgt_epu16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
320 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
325 _mm_cmple_epi8_mask(__m128i __a, __m128i __b) {
326 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
331 _mm_mask_cmple_epi8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
332 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
337 _mm_cmple_epu8_mask(__m128i __a, __m128i __b) {
338 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
343 _mm_mask_cmple_epu8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
344 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
349 _mm256_cmple_epi8_mask(__m256i __a, __m256i __b) {
350 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
355 _mm256_mask_cmple_epi8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
356 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
361 _mm256_cmple_epu8_mask(__m256i __a, __m256i __b) {
362 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
367 _mm256_mask_cmple_epu8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
368 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
373 _mm_cmple_epi16_mask(__m128i __a, __m128i __b) {
374 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
379 _mm_mask_cmple_epi16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
380 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
385 _mm_cmple_epu16_mask(__m128i __a, __m128i __b) {
386 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
391 _mm_mask_cmple_epu16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
392 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
397 _mm256_cmple_epi16_mask(__m256i __a, __m256i __b) {
398 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
403 _mm256_mask_cmple_epi16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
404 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
409 _mm256_cmple_epu16_mask(__m256i __a, __m256i __b) {
410 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
415 _mm256_mask_cmple_epu16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
416 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
421 _mm_cmplt_epi8_mask(__m128i __a, __m128i __b) {
422 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
427 _mm_mask_cmplt_epi8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
428 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
433 _mm_cmplt_epu8_mask(__m128i __a, __m128i __b) {
434 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
439 _mm_mask_cmplt_epu8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
440 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
445 _mm256_cmplt_epi8_mask(__m256i __a, __m256i __b) {
446 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
451 _mm256_mask_cmplt_epi8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
452 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
457 _mm256_cmplt_epu8_mask(__m256i __a, __m256i __b) {
458 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
463 _mm256_mask_cmplt_epu8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
464 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
469 _mm_cmplt_epi16_mask(__m128i __a, __m128i __b) {
470 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
475 _mm_mask_cmplt_epi16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
476 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
481 _mm_cmplt_epu16_mask(__m128i __a, __m128i __b) {
482 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
487 _mm_mask_cmplt_epu16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
488 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
493 _mm256_cmplt_epi16_mask(__m256i __a, __m256i __b) {
494 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
499 _mm256_mask_cmplt_epi16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
500 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
505 _mm256_cmplt_epu16_mask(__m256i __a, __m256i __b) {
506 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
511 _mm256_mask_cmplt_epu16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
512 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
517 _mm_cmpneq_epi8_mask(__m128i __a, __m128i __b) {
518 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
523 _mm_mask_cmpneq_epi8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
524 return (
__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
529 _mm_cmpneq_epu8_mask(__m128i __a, __m128i __b) {
530 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
535 _mm_mask_cmpneq_epu8_mask(
__mmask16 __u, __m128i __a, __m128i __b) {
536 return (
__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
541 _mm256_cmpneq_epi8_mask(__m256i __a, __m256i __b) {
542 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
547 _mm256_mask_cmpneq_epi8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
548 return (
__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
553 _mm256_cmpneq_epu8_mask(__m256i __a, __m256i __b) {
554 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
559 _mm256_mask_cmpneq_epu8_mask(
__mmask32 __u, __m256i __a, __m256i __b) {
560 return (
__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
565 _mm_cmpneq_epi16_mask(__m128i __a, __m128i __b) {
566 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
571 _mm_mask_cmpneq_epi16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
572 return (
__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
577 _mm_cmpneq_epu16_mask(__m128i __a, __m128i __b) {
578 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
583 _mm_mask_cmpneq_epu16_mask(
__mmask8 __u, __m128i __a, __m128i __b) {
584 return (
__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
589 _mm256_cmpneq_epi16_mask(__m256i __a, __m256i __b) {
590 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
595 _mm256_mask_cmpneq_epi16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
596 return (
__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
601 _mm256_cmpneq_epu16_mask(__m256i __a, __m256i __b) {
602 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
607 _mm256_mask_cmpneq_epu16_mask(
__mmask16 __u, __m256i __a, __m256i __b) {
608 return (
__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
613 _mm256_mask_add_epi8 (__m256i __W,
__mmask32 __U, __m256i __A, __m256i __B){
614 return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
621 _mm256_maskz_add_epi8 (
__mmask32 __U, __m256i __A, __m256i __B) {
622 return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
625 _mm256_setzero_si256 (),
630 _mm256_mask_add_epi16 (__m256i __W,
__mmask16 __U, __m256i __A, __m256i __B) {
631 return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
638 _mm256_maskz_add_epi16 (
__mmask16 __U, __m256i __A, __m256i __B) {
639 return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
642 _mm256_setzero_si256 (),
647 _mm256_mask_sub_epi8 (__m256i __W,
__mmask32 __U, __m256i __A, __m256i __B) {
648 return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
655 _mm256_maskz_sub_epi8 (
__mmask32 __U, __m256i __A, __m256i __B) {
656 return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
659 _mm256_setzero_si256 (),
664 _mm256_mask_sub_epi16 (__m256i __W,
__mmask16 __U, __m256i __A, __m256i __B) {
665 return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
672 _mm256_maskz_sub_epi16 (
__mmask16 __U, __m256i __A, __m256i __B) {
673 return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
676 _mm256_setzero_si256 (),
680 _mm_mask_add_epi8 (__m128i __W,
__mmask16 __U, __m128i __A, __m128i __B) {
681 return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
688 _mm_maskz_add_epi8 (
__mmask16 __U, __m128i __A, __m128i __B) {
689 return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
692 _mm_setzero_si128 (),
697 _mm_mask_add_epi16 (__m128i __W,
__mmask8 __U, __m128i __A, __m128i __B) {
698 return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
705 _mm_maskz_add_epi16 (
__mmask8 __U, __m128i __A, __m128i __B) {
706 return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
709 _mm_setzero_si128 (),
714 _mm_mask_sub_epi8 (__m128i __W,
__mmask16 __U, __m128i __A, __m128i __B) {
715 return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
722 _mm_maskz_sub_epi8 (
__mmask16 __U, __m128i __A, __m128i __B) {
723 return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
726 _mm_setzero_si128 (),
731 _mm_mask_sub_epi16 (__m128i __W,
__mmask8 __U, __m128i __A, __m128i __B) {
732 return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
739 _mm_maskz_sub_epi16 (
__mmask8 __U, __m128i __A, __m128i __B) {
740 return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
743 _mm_setzero_si128 (),
748 _mm256_mask_mullo_epi16 (__m256i __W,
__mmask16 __U, __m256i __A, __m256i __B) {
749 return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
756 _mm256_maskz_mullo_epi16 (
__mmask16 __U, __m256i __A, __m256i __B) {
757 return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
760 _mm256_setzero_si256 (),
765 _mm_mask_mullo_epi16 (__m128i __W,
__mmask8 __U, __m128i __A, __m128i __B) {
766 return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
773 _mm_maskz_mullo_epi16 (
__mmask8 __U, __m128i __A, __m128i __B) {
774 return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
777 _mm_setzero_si128 (),
782 _mm_mask_blend_epi8 (
__mmask16 __U, __m128i __A, __m128i __W)
784 return (__m128i) __builtin_ia32_blendmb_128_mask ((__v16qi) __A,
790 _mm256_mask_blend_epi8 (
__mmask32 __U, __m256i __A, __m256i __W)
792 return (__m256i) __builtin_ia32_blendmb_256_mask ((__v32qi) __A,
798 _mm_mask_blend_epi16 (
__mmask8 __U, __m128i __A, __m128i __W)
800 return (__m128i) __builtin_ia32_blendmw_128_mask ((__v8hi) __A,
806 _mm256_mask_blend_epi16 (
__mmask16 __U, __m256i __A, __m256i __W)
808 return (__m256i) __builtin_ia32_blendmw_256_mask ((__v16hi) __A,
814 _mm_mask_abs_epi8 (__m128i __W,
__mmask16 __U, __m128i __A)
816 return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
822 _mm_maskz_abs_epi8 (
__mmask16 __U, __m128i __A)
824 return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
825 (__v16qi) _mm_setzero_si128 (),
830 _mm256_mask_abs_epi8 (__m256i __W,
__mmask32 __U, __m256i __A)
832 return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
838 _mm256_maskz_abs_epi8 (
__mmask32 __U, __m256i __A)
840 return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
841 (__v32qi) _mm256_setzero_si256 (),
846 _mm_mask_abs_epi16 (__m128i __W,
__mmask8 __U, __m128i __A)
848 return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
854 _mm_maskz_abs_epi16 (
__mmask8 __U, __m128i __A)
856 return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
857 (__v8hi) _mm_setzero_si128 (),
862 _mm256_mask_abs_epi16 (__m256i __W,
__mmask16 __U, __m256i __A)
864 return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
870 _mm256_maskz_abs_epi16 (
__mmask16 __U, __m256i __A)
872 return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
873 (__v16hi) _mm256_setzero_si256 (),
878 _mm_maskz_packs_epi32 (
__mmask8 __M, __m128i __A, __m128i __B)
880 return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
882 (__v8hi) _mm_setzero_si128 (), __M);
886 _mm_mask_packs_epi32 (__m128i __W,
__mmask16 __M, __m128i __A,
889 return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
895 _mm256_maskz_packs_epi32 (
__mmask16 __M, __m256i __A, __m256i __B)
897 return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
899 (__v16hi) _mm256_setzero_si256 (),
904 _mm256_mask_packs_epi32 (__m256i __W,
__mmask16 __M, __m256i __A,
907 return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
913 _mm_maskz_packs_epi16 (
__mmask16 __M, __m128i __A, __m128i __B)
915 return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
917 (__v16qi) _mm_setzero_si128 (),
922 _mm_mask_packs_epi16 (__m128i __W,
__mmask16 __M, __m128i __A,
925 return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
932 _mm256_maskz_packs_epi16 (
__mmask32 __M, __m256i __A, __m256i __B)
934 return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
936 (__v32qi) _mm256_setzero_si256 (),
941 _mm256_mask_packs_epi16 (__m256i __W,
__mmask32 __M, __m256i __A,
944 return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
951 _mm_maskz_packus_epi32 (
__mmask8 __M, __m128i __A, __m128i __B)
953 return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
955 (__v8hi) _mm_setzero_si128 (),
960 _mm_mask_packus_epi32 (__m128i __W,
__mmask16 __M, __m128i __A,
963 return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
969 _mm256_maskz_packus_epi32 (
__mmask16 __M, __m256i __A, __m256i __B)
971 return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
973 (__v16hi) _mm256_setzero_si256 (),
978 _mm256_mask_packus_epi32 (__m256i __W,
__mmask16 __M, __m256i __A,
981 return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
988 _mm_maskz_packus_epi16 (
__mmask16 __M, __m128i __A, __m128i __B)
990 return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
992 (__v16qi) _mm_setzero_si128 (),
997 _mm_mask_packus_epi16 (__m128i __W,
__mmask16 __M, __m128i __A,
1000 return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
1007 _mm256_maskz_packus_epi16 (
__mmask32 __M, __m256i __A, __m256i __B)
1009 return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
1011 (__v32qi) _mm256_setzero_si256 (),
1016 _mm256_mask_packus_epi16 (__m256i __W,
__mmask32 __M, __m256i __A,
1019 return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
1026 _mm_mask_adds_epi8 (__m128i __W,
__mmask16 __U, __m128i __A,
1029 return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
1036 _mm_maskz_adds_epi8 (
__mmask16 __U, __m128i __A, __m128i __B)
1038 return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
1040 (__v16qi) _mm_setzero_si128 (),
1045 _mm256_mask_adds_epi8 (__m256i __W,
__mmask32 __U, __m256i __A,
1048 return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
1055 _mm256_maskz_adds_epi8 (
__mmask32 __U, __m256i __A, __m256i __B)
1057 return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
1059 (__v32qi) _mm256_setzero_si256 (),
1064 _mm_mask_adds_epi16 (__m128i __W,
__mmask8 __U, __m128i __A,
1067 return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
1074 _mm_maskz_adds_epi16 (
__mmask8 __U, __m128i __A, __m128i __B)
1076 return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
1078 (__v8hi) _mm_setzero_si128 (),
1083 _mm256_mask_adds_epi16 (__m256i __W,
__mmask16 __U, __m256i __A,
1086 return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
1093 _mm256_maskz_adds_epi16 (
__mmask16 __U, __m256i __A, __m256i __B)
1095 return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
1097 (__v16hi) _mm256_setzero_si256 (),
1102 _mm_mask_adds_epu8 (__m128i __W,
__mmask16 __U, __m128i __A,
1105 return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
1112 _mm_maskz_adds_epu8 (
__mmask16 __U, __m128i __A, __m128i __B)
1114 return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
1116 (__v16qi) _mm_setzero_si128 (),
1121 _mm256_mask_adds_epu8 (__m256i __W,
__mmask32 __U, __m256i __A,
1124 return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
1131 _mm256_maskz_adds_epu8 (
__mmask32 __U, __m256i __A, __m256i __B)
1133 return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
1135 (__v32qi) _mm256_setzero_si256 (),
1140 _mm_mask_adds_epu16 (__m128i __W,
__mmask8 __U, __m128i __A,
1143 return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
1150 _mm_maskz_adds_epu16 (
__mmask8 __U, __m128i __A, __m128i __B)
1152 return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
1154 (__v8hi) _mm_setzero_si128 (),
1159 _mm256_mask_adds_epu16 (__m256i __W,
__mmask16 __U, __m256i __A,
1162 return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
1169 _mm256_maskz_adds_epu16 (
__mmask16 __U, __m256i __A, __m256i __B)
1171 return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
1173 (__v16hi) _mm256_setzero_si256 (),
1178 _mm_mask_avg_epu8 (__m128i __W,
__mmask16 __U, __m128i __A,
1181 return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
1188 _mm_maskz_avg_epu8 (
__mmask16 __U, __m128i __A, __m128i __B)
1190 return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
1192 (__v16qi) _mm_setzero_si128 (),
1197 _mm256_mask_avg_epu8 (__m256i __W,
__mmask32 __U, __m256i __A,
1200 return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
1207 _mm256_maskz_avg_epu8 (
__mmask32 __U, __m256i __A, __m256i __B)
1209 return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
1211 (__v32qi) _mm256_setzero_si256 (),
1216 _mm_mask_avg_epu16 (__m128i __W,
__mmask8 __U, __m128i __A,
1219 return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
1226 _mm_maskz_avg_epu16 (
__mmask8 __U, __m128i __A, __m128i __B)
1228 return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
1230 (__v8hi) _mm_setzero_si128 (),
1235 _mm256_mask_avg_epu16 (__m256i __W,
__mmask16 __U, __m256i __A,
1238 return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
1245 _mm256_maskz_avg_epu16 (
__mmask16 __U, __m256i __A, __m256i __B)
1247 return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
1249 (__v16hi) _mm256_setzero_si256 (),
1254 _mm_maskz_max_epi8 (
__mmask16 __M, __m128i __A, __m128i __B)
1256 return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
1258 (__v16qi) _mm_setzero_si128 (),
1263 _mm_mask_max_epi8 (__m128i __W,
__mmask16 __M, __m128i __A,
1266 return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
1273 _mm256_maskz_max_epi8 (
__mmask32 __M, __m256i __A, __m256i __B)
1275 return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
1277 (__v32qi) _mm256_setzero_si256 (),
1282 _mm256_mask_max_epi8 (__m256i __W,
__mmask32 __M, __m256i __A,
1285 return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
1292 _mm_maskz_max_epi16 (
__mmask8 __M, __m128i __A, __m128i __B)
1294 return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
1296 (__v8hi) _mm_setzero_si128 (),
1301 _mm_mask_max_epi16 (__m128i __W,
__mmask8 __M, __m128i __A,
1304 return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
1311 _mm256_maskz_max_epi16 (
__mmask16 __M, __m256i __A, __m256i __B)
1313 return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
1315 (__v16hi) _mm256_setzero_si256 (),
1320 _mm256_mask_max_epi16 (__m256i __W,
__mmask16 __M, __m256i __A,
1323 return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
1330 _mm_maskz_max_epu8 (
__mmask16 __M, __m128i __A, __m128i __B)
1332 return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
1334 (__v16qi) _mm_setzero_si128 (),
1339 _mm_mask_max_epu8 (__m128i __W,
__mmask16 __M, __m128i __A,
1342 return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
1349 _mm256_maskz_max_epu8 (
__mmask32 __M, __m256i __A, __m256i __B)
1351 return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
1353 (__v32qi) _mm256_setzero_si256 (),
1358 _mm256_mask_max_epu8 (__m256i __W,
__mmask32 __M, __m256i __A,
1361 return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
1368 _mm_maskz_max_epu16 (
__mmask8 __M, __m128i __A, __m128i __B)
1370 return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
1372 (__v8hi) _mm_setzero_si128 (),
1377 _mm_mask_max_epu16 (__m128i __W,
__mmask8 __M, __m128i __A,
1380 return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
1387 _mm256_maskz_max_epu16 (
__mmask16 __M, __m256i __A, __m256i __B)
1389 return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
1391 (__v16hi) _mm256_setzero_si256 (),
1396 _mm256_mask_max_epu16 (__m256i __W,
__mmask16 __M, __m256i __A,
1399 return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
1406 _mm_maskz_min_epi8 (
__mmask16 __M, __m128i __A, __m128i __B)
1408 return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
1410 (__v16qi) _mm_setzero_si128 (),
1415 _mm_mask_min_epi8 (__m128i __W,
__mmask16 __M, __m128i __A,
1418 return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
1425 _mm256_maskz_min_epi8 (
__mmask32 __M, __m256i __A, __m256i __B)
1427 return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
1429 (__v32qi) _mm256_setzero_si256 (),
1434 _mm256_mask_min_epi8 (__m256i __W,
__mmask32 __M, __m256i __A,
1437 return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
1444 _mm_maskz_min_epi16 (
__mmask8 __M, __m128i __A, __m128i __B)
1446 return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
1448 (__v8hi) _mm_setzero_si128 (),
1453 _mm_mask_min_epi16 (__m128i __W,
__mmask8 __M, __m128i __A,
1456 return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
1463 _mm256_maskz_min_epi16 (
__mmask16 __M, __m256i __A, __m256i __B)
1465 return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
1467 (__v16hi) _mm256_setzero_si256 (),
1472 _mm256_mask_min_epi16 (__m256i __W,
__mmask16 __M, __m256i __A,
1475 return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
1482 _mm_maskz_min_epu8 (
__mmask16 __M, __m128i __A, __m128i __B)
1484 return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
1486 (__v16qi) _mm_setzero_si128 (),
1491 _mm_mask_min_epu8 (__m128i __W,
__mmask16 __M, __m128i __A,
1494 return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
1501 _mm256_maskz_min_epu8 (
__mmask32 __M, __m256i __A, __m256i __B)
1503 return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
1505 (__v32qi) _mm256_setzero_si256 (),
1510 _mm256_mask_min_epu8 (__m256i __W,
__mmask32 __M, __m256i __A,
1513 return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
1520 _mm_maskz_min_epu16 (
__mmask8 __M, __m128i __A, __m128i __B)
1522 return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
1524 (__v8hi) _mm_setzero_si128 (),
1529 _mm_mask_min_epu16 (__m128i __W,
__mmask8 __M, __m128i __A,
1532 return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
1539 _mm256_maskz_min_epu16 (
__mmask16 __M, __m256i __A, __m256i __B)
1541 return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
1543 (__v16hi) _mm256_setzero_si256 (),
1548 _mm256_mask_min_epu16 (__m256i __W,
__mmask16 __M, __m256i __A,
1551 return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
1558 _mm_mask_shuffle_epi8 (__m128i __W,
__mmask16 __U, __m128i __A,
1561 return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
1568 _mm_maskz_shuffle_epi8 (
__mmask16 __U, __m128i __A, __m128i __B)
1570 return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
1572 (__v16qi) _mm_setzero_si128 (),
1577 _mm256_mask_shuffle_epi8 (__m256i __W,
__mmask32 __U, __m256i __A,
1580 return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
1587 _mm256_maskz_shuffle_epi8 (
__mmask32 __U, __m256i __A, __m256i __B)
1589 return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
1591 (__v32qi) _mm256_setzero_si256 (),
1596 _mm_mask_subs_epi8 (__m128i __W,
__mmask16 __U, __m128i __A,
1599 return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
1606 _mm_maskz_subs_epi8 (
__mmask16 __U, __m128i __A, __m128i __B)
1608 return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
1610 (__v16qi) _mm_setzero_si128 (),
1615 _mm256_mask_subs_epi8 (__m256i __W,
__mmask32 __U, __m256i __A,
1618 return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
1625 _mm256_maskz_subs_epi8 (
__mmask32 __U, __m256i __A, __m256i __B)
1627 return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
1629 (__v32qi) _mm256_setzero_si256 (),
1634 _mm_mask_subs_epi16 (__m128i __W,
__mmask8 __U, __m128i __A,
1637 return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
1644 _mm_maskz_subs_epi16 (
__mmask8 __U, __m128i __A, __m128i __B)
1646 return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
1648 (__v8hi) _mm_setzero_si128 (),
1653 _mm256_mask_subs_epi16 (__m256i __W,
__mmask16 __U, __m256i __A,
1656 return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
1663 _mm256_maskz_subs_epi16 (
__mmask16 __U, __m256i __A, __m256i __B)
1665 return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
1667 (__v16hi) _mm256_setzero_si256 (),
1672 _mm_mask_subs_epu8 (__m128i __W,
__mmask16 __U, __m128i __A,
1675 return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
1682 _mm_maskz_subs_epu8 (
__mmask16 __U, __m128i __A, __m128i __B)
1684 return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
1686 (__v16qi) _mm_setzero_si128 (),
1691 _mm256_mask_subs_epu8 (__m256i __W,
__mmask32 __U, __m256i __A,
1694 return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
1701 _mm256_maskz_subs_epu8 (
__mmask32 __U, __m256i __A, __m256i __B)
1703 return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
1705 (__v32qi) _mm256_setzero_si256 (),
1710 _mm_mask_subs_epu16 (__m128i __W,
__mmask8 __U, __m128i __A,
1713 return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
1720 _mm_maskz_subs_epu16 (
__mmask8 __U, __m128i __A, __m128i __B)
1722 return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
1724 (__v8hi) _mm_setzero_si128 (),
1729 _mm256_mask_subs_epu16 (__m256i __W,
__mmask16 __U, __m256i __A,
1732 return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
1739 _mm256_maskz_subs_epu16 (
__mmask16 __U, __m256i __A, __m256i __B)
1741 return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
1743 (__v16hi) _mm256_setzero_si256 (),
1748 _mm_mask2_permutex2var_epi16 (__m128i __A, __m128i __I,
__mmask8 __U,
1751 return (__m128i) __builtin_ia32_vpermi2varhi128_mask ((__v8hi) __A,
1758 _mm256_mask2_permutex2var_epi16 (__m256i __A, __m256i __I,
1761 return (__m256i) __builtin_ia32_vpermi2varhi256_mask ((__v16hi) __A,
1768 _mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B)
1770 return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I,
1777 _mm_mask_permutex2var_epi16 (__m128i __A,
__mmask8 __U, __m128i __I,
1780 return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I,
1787 _mm_maskz_permutex2var_epi16 (
__mmask8 __U, __m128i __A, __m128i __I,
1790 return (__m128i) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi) __I,
1797 _mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B)
1799 return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I,
1806 _mm256_mask_permutex2var_epi16 (__m256i __A,
__mmask16 __U,
1807 __m256i __I, __m256i __B)
1809 return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I,
1816 _mm256_maskz_permutex2var_epi16 (
__mmask16 __U, __m256i __A,
1817 __m256i __I, __m256i __B)
1819 return (__m256i) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi) __I,
1826 _mm_mask_maddubs_epi16 (__m128i __W,
__mmask8 __U, __m128i __X, __m128i __Y) {
1827 return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
1834 _mm_maskz_maddubs_epi16 (
__mmask8 __U, __m128i __X, __m128i __Y) {
1835 return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
1837 (__v8hi) _mm_setzero_si128(),
1842 _mm256_mask_maddubs_epi16 (__m256i __W,
__mmask16 __U, __m256i __X,
1844 return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
1851 _mm256_maskz_maddubs_epi16 (
__mmask16 __U, __m256i __X, __m256i __Y) {
1852 return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
1854 (__v16hi) _mm256_setzero_si256(),
1859 _mm_mask_madd_epi16 (__m128i __W,
__mmask8 __U, __m128i __A,
1861 return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
1868 _mm_maskz_madd_epi16 (
__mmask8 __U, __m128i __A, __m128i __B) {
1869 return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
1871 (__v4si) _mm_setzero_si128(),
1876 _mm256_mask_madd_epi16 (__m256i __W,
__mmask8 __U, __m256i __A, __m256i __B) {
1877 return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
1884 _mm256_maskz_madd_epi16 (
__mmask8 __U, __m256i __A, __m256i __B) {
1885 return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
1887 (__v8si) _mm256_setzero_si256(),
1892 _mm_cvtsepi16_epi8 (__m128i __A) {
1893 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1894 (__v16qi) _mm_setzero_si128(),
1899 _mm_mask_cvtsepi16_epi8 (__m128i __O,
__mmask8 __M, __m128i __A) {
1900 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1906 _mm_maskz_cvtsepi16_epi8 (
__mmask8 __M, __m128i __A) {
1907 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1908 (__v16qi) _mm_setzero_si128(),
1913 _mm256_cvtsepi16_epi8 (__m256i __A) {
1914 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1915 (__v16qi) _mm_setzero_si128(),
1920 _mm256_mask_cvtsepi16_epi8 (__m128i __O,
__mmask16 __M, __m256i __A) {
1921 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1927 _mm256_maskz_cvtsepi16_epi8 (
__mmask16 __M, __m256i __A) {
1928 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1929 (__v16qi) _mm_setzero_si128(),
1934 _mm_cvtusepi16_epi8 (__m128i __A) {
1935 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1936 (__v16qi) _mm_setzero_si128(),
1941 _mm_mask_cvtusepi16_epi8 (__m128i __O,
__mmask8 __M, __m128i __A) {
1942 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1948 _mm_maskz_cvtusepi16_epi8 (
__mmask8 __M, __m128i __A) {
1949 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1950 (__v16qi) _mm_setzero_si128(),
1955 _mm256_cvtusepi16_epi8 (__m256i __A) {
1956 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1957 (__v16qi) _mm_setzero_si128(),
1962 _mm256_mask_cvtusepi16_epi8 (__m128i __O,
__mmask16 __M, __m256i __A) {
1963 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1969 _mm256_maskz_cvtusepi16_epi8 (
__mmask16 __M, __m256i __A) {
1970 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1971 (__v16qi) _mm_setzero_si128(),
1976 _mm_cvtepi16_epi8 (__m128i __A) {
1978 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1979 (__v16qi) _mm_setzero_si128(),
1984 _mm_mask_cvtepi16_epi8 (__m128i __O,
__mmask8 __M, __m128i __A) {
1985 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1991 _mm_maskz_cvtepi16_epi8 (
__mmask8 __M, __m128i __A) {
1992 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1993 (__v16qi) _mm_setzero_si128(),
1998 _mm256_cvtepi16_epi8 (__m256i __A) {
1999 return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
2000 (__v16qi) _mm_setzero_si128(),
2005 _mm256_mask_cvtepi16_epi8 (__m128i __O,
__mmask16 __M, __m256i __A) {
2006 return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
2012 _mm256_maskz_cvtepi16_epi8 (
__mmask16 __M, __m256i __A) {
2013 return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
2014 (__v16qi) _mm_setzero_si128(),
2019 _mm_mask_mulhrs_epi16 (__m128i __W,
__mmask8 __U, __m128i __X, __m128i __Y) {
2020 return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
2027 _mm_maskz_mulhrs_epi16 (
__mmask8 __U, __m128i __X, __m128i __Y) {
2028 return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
2030 (__v8hi) _mm_setzero_si128(),
2035 _mm256_mask_mulhrs_epi16 (__m256i __W,
__mmask16 __U, __m256i __X, __m256i __Y) {
2036 return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
2043 _mm256_maskz_mulhrs_epi16 (
__mmask16 __U, __m256i __X, __m256i __Y) {
2044 return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
2046 (__v16hi) _mm256_setzero_si256(),
2051 _mm_mask_mulhi_epu16 (__m128i __W,
__mmask8 __U, __m128i __A,
2053 return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
2060 _mm_maskz_mulhi_epu16 (
__mmask8 __U, __m128i __A, __m128i __B) {
2061 return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
2063 (__v8hi) _mm_setzero_si128(),
2068 _mm256_mask_mulhi_epu16 (__m256i __W,
__mmask16 __U, __m256i __A,
2070 return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
2077 _mm256_maskz_mulhi_epu16 (
__mmask16 __U, __m256i __A, __m256i __B) {
2078 return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
2080 (__v16hi) _mm256_setzero_si256(),
2085 _mm_mask_mulhi_epi16 (__m128i __W,
__mmask8 __U, __m128i __A,
2087 return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
2094 _mm_maskz_mulhi_epi16 (
__mmask8 __U, __m128i __A, __m128i __B) {
2095 return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
2097 (__v8hi) _mm_setzero_si128(),
2102 _mm256_mask_mulhi_epi16 (__m256i __W,
__mmask16 __U, __m256i __A,
2104 return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
2111 _mm256_maskz_mulhi_epi16 (
__mmask16 __U, __m256i __A, __m256i __B) {
2112 return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
2114 (__v16hi) _mm256_setzero_si256(),
2119 _mm_mask_unpackhi_epi8 (__m128i __W,
__mmask16 __U, __m128i __A,
2121 return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A,
2128 _mm_maskz_unpackhi_epi8 (
__mmask16 __U, __m128i __A, __m128i __B) {
2129 return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A,
2131 (__v16qi) _mm_setzero_si128(),
2136 _mm256_mask_unpackhi_epi8 (__m256i __W,
__mmask32 __U, __m256i __A,
2138 return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A,
2145 _mm256_maskz_unpackhi_epi8 (
__mmask32 __U, __m256i __A, __m256i __B) {
2146 return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A,
2148 (__v32qi) _mm256_setzero_si256(),
2153 _mm_mask_unpackhi_epi16 (__m128i __W,
__mmask8 __U, __m128i __A,
2155 return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A,
2162 _mm_maskz_unpackhi_epi16 (
__mmask8 __U, __m128i __A, __m128i __B) {
2163 return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A,
2165 (__v8hi) _mm_setzero_si128(),
2170 _mm256_mask_unpackhi_epi16 (__m256i __W,
__mmask16 __U, __m256i __A,
2172 return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A,
2179 _mm256_maskz_unpackhi_epi16 (
__mmask16 __U, __m256i __A, __m256i __B) {
2180 return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A,
2182 (__v16hi) _mm256_setzero_si256(),
2187 _mm_mask_unpacklo_epi8 (__m128i __W,
__mmask16 __U, __m128i __A,
2189 return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A,
2196 _mm_maskz_unpacklo_epi8 (
__mmask16 __U, __m128i __A, __m128i __B) {
2197 return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A,
2199 (__v16qi) _mm_setzero_si128(),
2204 _mm256_mask_unpacklo_epi8 (__m256i __W,
__mmask32 __U, __m256i __A,
2206 return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A,
2213 _mm256_maskz_unpacklo_epi8 (
__mmask32 __U, __m256i __A, __m256i __B) {
2214 return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A,
2216 (__v32qi) _mm256_setzero_si256(),
2221 _mm_mask_unpacklo_epi16 (__m128i __W,
__mmask8 __U, __m128i __A,
2223 return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A,
2230 _mm_maskz_unpacklo_epi16 (
__mmask8 __U, __m128i __A, __m128i __B) {
2231 return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A,
2233 (__v8hi) _mm_setzero_si128(),
2238 _mm256_mask_unpacklo_epi16 (__m256i __W,
__mmask16 __U, __m256i __A,
2240 return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A,
2247 _mm256_maskz_unpacklo_epi16 (
__mmask16 __U, __m256i __A, __m256i __B) {
2248 return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A,
2250 (__v16hi) _mm256_setzero_si256(),
2254 #define _mm_cmp_epi8_mask(a, b, p) __extension__ ({ \
2255 (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
2256 (__v16qi)(__m128i)(b), \
2257 (p), (__mmask16)-1); })
2259 #define _mm_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
2260 (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
2261 (__v16qi)(__m128i)(b), \
2262 (p), (__mmask16)(m)); })
2264 #define _mm_cmp_epu8_mask(a, b, p) __extension__ ({ \
2265 (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
2266 (__v16qi)(__m128i)(b), \
2267 (p), (__mmask16)-1); })
2269 #define _mm_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
2270 (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
2271 (__v16qi)(__m128i)(b), \
2272 (p), (__mmask16)(m)); })
2274 #define _mm256_cmp_epi8_mask(a, b, p) __extension__ ({ \
2275 (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
2276 (__v32qi)(__m256i)(b), \
2277 (p), (__mmask32)-1); })
2279 #define _mm256_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
2280 (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
2281 (__v32qi)(__m256i)(b), \
2282 (p), (__mmask32)(m)); })
2284 #define _mm256_cmp_epu8_mask(a, b, p) __extension__ ({ \
2285 (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
2286 (__v32qi)(__m256i)(b), \
2287 (p), (__mmask32)-1); })
2289 #define _mm256_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
2290 (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
2291 (__v32qi)(__m256i)(b), \
2292 (p), (__mmask32)(m)); })
2294 #define _mm_cmp_epi16_mask(a, b, p) __extension__ ({ \
2295 (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
2296 (__v8hi)(__m128i)(b), \
2297 (p), (__mmask8)-1); })
2299 #define _mm_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
2300 (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
2301 (__v8hi)(__m128i)(b), \
2302 (p), (__mmask8)(m)); })
2304 #define _mm_cmp_epu16_mask(a, b, p) __extension__ ({ \
2305 (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
2306 (__v8hi)(__m128i)(b), \
2307 (p), (__mmask8)-1); })
2309 #define _mm_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
2310 (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
2311 (__v8hi)(__m128i)(b), \
2312 (p), (__mmask8)(m)); })
2314 #define _mm256_cmp_epi16_mask(a, b, p) __extension__ ({ \
2315 (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
2316 (__v16hi)(__m256i)(b), \
2317 (p), (__mmask16)-1); })
2319 #define _mm256_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
2320 (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
2321 (__v16hi)(__m256i)(b), \
2322 (p), (__mmask16)(m)); })
2324 #define _mm256_cmp_epu16_mask(a, b, p) __extension__ ({ \
2325 (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
2326 (__v16hi)(__m256i)(b), \
2327 (p), (__mmask16)-1); })
2329 #define _mm256_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
2330 (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
2331 (__v16hi)(__m256i)(b), \
2332 (p), (__mmask16)(m)); })
2334 #undef __DEFAULT_FN_ATTRS
unsigned char __mmask8
Definition: avx512fintrin.h:39
unsigned int __mmask32
Definition: avx512bwintrin.h:31
static vector float vector float __b
Definition: altivec.h:419
unsigned short __mmask16
Definition: avx512fintrin.h:40
#define __DEFAULT_FN_ATTRS
Definition: avx512vlbwintrin.h:32