]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/i386/avx512vlbwintrin.h
1 /* Copyright (C) 2014-2024 Free Software Foundation, Inc.
3 This file is part of GCC.
5 GCC is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3, or (at your option)
10 GCC is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 Under Section 7 of GPL version 3, you are granted additional
16 permissions described in the GCC Runtime Library Exception, version
17 3.1, as published by the Free Software Foundation.
19 You should have received a copy of the GNU General Public License and
20 a copy of the GCC Runtime Library Exception along with this program;
21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22 <http://www.gnu.org/licenses/>. */
24 #ifndef _IMMINTRIN_H_INCLUDED
25 #error "Never use <avx512vlbwintrin.h> directly; include <immintrin.h> instead."
28 #ifndef _AVX512VLBWINTRIN_H_INCLUDED
29 #define _AVX512VLBWINTRIN_H_INCLUDED
31 #if !defined(__AVX512VL__) || !defined(__AVX512BW__) || defined (__EVEX512__)
32 #pragma GCC push_options
33 #pragma GCC target("avx512vl,avx512bw,no-evex512")
34 #define __DISABLE_AVX512VLBW__
35 #endif /* __AVX512VLBW__ */
37 /* Internal data types for implementing the intrinsics. */
38 typedef short __v16hi_u
__attribute__ ((__vector_size__ (32), \
39 __may_alias__
, __aligned__ (1)));
40 typedef short __v8hi_u
__attribute__ ((__vector_size__ (16), \
41 __may_alias__
, __aligned__ (1)));
42 typedef char __v32qi_u
__attribute__ ((__vector_size__ (32), \
43 __may_alias__
, __aligned__ (1)));
44 typedef char __v16qi_u
__attribute__ ((__vector_size__ (16), \
45 __may_alias__
, __aligned__ (1)));
47 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
48 _mm_avx512_set1_epi32 (int __A
)
50 return _mm_avx512_set_epi32 (__A
, __A
, __A
, __A
);
53 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
54 _mm_avx512_set1_epi16 (short __A
)
56 return _mm_avx512_set_epi16 (__A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
);
59 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
60 _mm_avx512_set1_epi8 (char __A
)
62 return _mm_avx512_set_epi8 (__A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
,
63 __A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
);
66 extern __inline __m256i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
67 _mm256_avx512_set_epi16 (short __q15
, short __q14
, short __q13
, short __q12
,
68 short __q11
, short __q10
, short __q09
, short __q08
,
69 short __q07
, short __q06
, short __q05
, short __q04
,
70 short __q03
, short __q02
, short __q01
, short __q00
)
72 return __extension__ (__m256i
)(__v16hi
){
73 __q00
, __q01
, __q02
, __q03
, __q04
, __q05
, __q06
, __q07
,
74 __q08
, __q09
, __q10
, __q11
, __q12
, __q13
, __q14
, __q15
78 extern __inline __m256i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
79 _mm256_avx512_set_epi8 (char __q31
, char __q30
, char __q29
, char __q28
,
80 char __q27
, char __q26
, char __q25
, char __q24
,
81 char __q23
, char __q22
, char __q21
, char __q20
,
82 char __q19
, char __q18
, char __q17
, char __q16
,
83 char __q15
, char __q14
, char __q13
, char __q12
,
84 char __q11
, char __q10
, char __q09
, char __q08
,
85 char __q07
, char __q06
, char __q05
, char __q04
,
86 char __q03
, char __q02
, char __q01
, char __q00
)
88 return __extension__ (__m256i
)(__v32qi
){
89 __q00
, __q01
, __q02
, __q03
, __q04
, __q05
, __q06
, __q07
,
90 __q08
, __q09
, __q10
, __q11
, __q12
, __q13
, __q14
, __q15
,
91 __q16
, __q17
, __q18
, __q19
, __q20
, __q21
, __q22
, __q23
,
92 __q24
, __q25
, __q26
, __q27
, __q28
, __q29
, __q30
, __q31
96 extern __inline __m256i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
97 _mm256_avx512_set1_epi16 (short __A
)
99 return _mm256_avx512_set_epi16 (__A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
,
100 __A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
);
103 extern __inline __m256i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
104 _mm256_avx512_set1_epi32 (int __A
)
106 return __extension__ (__m256i
)(__v8si
){ __A
, __A
, __A
, __A
,
107 __A
, __A
, __A
, __A
};
110 extern __inline __m256i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
111 _mm256_avx512_set1_epi8 (char __A
)
113 return _mm256_avx512_set_epi8 (__A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
,
114 __A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
,
115 __A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
,
116 __A
, __A
, __A
, __A
, __A
, __A
, __A
, __A
);
119 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
120 _mm_avx512_max_epi16 (__m128i __A
, __m128i __B
)
122 return (__m128i
)__builtin_ia32_pmaxsw128 ((__v8hi
)__A
, (__v8hi
)__B
);
125 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
126 _mm_avx512_min_epi16 (__m128i __A
, __m128i __B
)
128 return (__m128i
)__builtin_ia32_pminsw128 ((__v8hi
)__A
, (__v8hi
)__B
);
131 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
132 _mm_avx512_max_epu16 (__m128i __X
, __m128i __Y
)
134 return (__m128i
) __builtin_ia32_pmaxuw128 ((__v8hi
)__X
, (__v8hi
)__Y
);
137 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
138 _mm_avx512_min_epu16 (__m128i __X
, __m128i __Y
)
140 return (__m128i
) __builtin_ia32_pminuw128 ((__v8hi
)__X
, (__v8hi
)__Y
);
143 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
144 _mm_avx512_max_epi8 (__m128i __X
, __m128i __Y
)
146 return (__m128i
) __builtin_ia32_pmaxsb128 ((__v16qi
)__X
, (__v16qi
)__Y
);
149 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
150 _mm_avx512_min_epi8 (__m128i __X
, __m128i __Y
)
152 return (__m128i
) __builtin_ia32_pminsb128 ((__v16qi
)__X
, (__v16qi
)__Y
);
155 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
156 _mm_avx512_max_epu8 (__m128i __A
, __m128i __B
)
158 return (__m128i
)__builtin_ia32_pmaxub128 ((__v16qi
)__A
, (__v16qi
)__B
);
161 extern __inline __m128i
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
162 _mm_avx512_min_epu8 (__m128i __A
, __m128i __B
)
164 return (__m128i
)__builtin_ia32_pminub128 ((__v16qi
)__A
, (__v16qi
)__B
);
167 extern __inline __m256i
168 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
169 _mm256_mask_mov_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
)
171 return (__m256i
) __builtin_ia32_movdquqi256_mask ((__v32qi
) __A
,
176 extern __inline __m256i
177 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
178 _mm256_avx512_max_epi16 (__m256i __A
, __m256i __B
)
180 return (__m256i
)__builtin_ia32_pmaxsw256 ((__v16hi
)__A
, (__v16hi
)__B
);
183 extern __inline __m256i
184 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
185 _mm256_avx512_min_epi16 (__m256i __A
, __m256i __B
)
187 return (__m256i
)__builtin_ia32_pminsw256 ((__v16hi
)__A
, (__v16hi
)__B
);
190 extern __inline __m256i
191 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
192 _mm256_avx512_max_epu16 (__m256i __A
, __m256i __B
)
194 return (__m256i
)__builtin_ia32_pmaxuw256 ((__v16hi
)__A
, (__v16hi
)__B
);
197 extern __inline __m256i
198 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
199 _mm256_avx512_min_epu16 (__m256i __A
, __m256i __B
)
201 return (__m256i
)__builtin_ia32_pminuw256 ((__v16hi
)__A
, (__v16hi
)__B
);
205 extern __inline __m256
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
206 _mm256_avx512_insertf128_ps (__m256 __X
, __m128 __Y
, const int __O
)
208 return (__m256
) __builtin_ia32_vinsertf128_ps256 ((__v8sf
)__X
,
213 extern __inline __m128d
__attribute__((__gnu_inline__
, __always_inline__
, __artificial__
))
214 _mm256_avx512_extractf128_pd (__m256d __X
, const int __N
)
216 return (__m128d
) __builtin_ia32_vextractf128_pd256 ((__v4df
)__X
, __N
);
219 extern __inline __m128i
220 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
221 _mm256_avx512_extracti128_si256 (__m256i __X
, const int __M
)
223 return (__m128i
) __builtin_ia32_extract128i256 ((__v4di
)__X
, __M
);
226 #define _mm256_avx512_insertf128_ps(X, Y, O) \
227 ((__m256) __builtin_ia32_vinsertf128_ps256 ((__v8sf)(__m256)(X), \
228 (__v4sf)(__m128)(Y), \
231 #define _mm256_avx512_extractf128_pd(X, N) \
232 ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(X), \
235 #define _mm256_avx512_extracti128_si256(X, M) \
236 ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(X), (int)(M)))
239 #define _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI16(op) \
240 __v8hi __T1 = (__v8hi)_mm256_avx512_extracti128_si256 (__W, 0); \
241 __v8hi __T2 = (__v8hi)_mm256_avx512_extracti128_si256 (__W, 1); \
242 __v8hi __T3 = __T1 op __T2; \
243 __v8hi __T4 = __builtin_shufflevector (__T3, __T3, 4, 5, 6, 7, 4, 5, 6, 7); \
244 __v8hi __T5 = __T3 op __T4; \
245 __v8hi __T6 = __builtin_shufflevector (__T5, __T5, 2, 3, 2, 3, 4, 5, 6, 7); \
246 __v8hi __T7 = __T5 op __T6; \
247 __v8hi __T8 = __builtin_shufflevector (__T7, __T7, 1, 1, 2, 3, 4, 5, 6, 7); \
248 __v8hi __T9 = __T7 op __T8; \
251 #define _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP16(op) \
252 __m128i __T1 = _mm256_avx512_extracti128_si256 (__V, 0); \
253 __m128i __T2 = _mm256_avx512_extracti128_si256 (__V, 1); \
254 __m128i __T3 = _mm_avx512_##op (__T1, __T2); \
255 __m128i __T4 = (__m128i)__builtin_shufflevector ((__v8hi)__T3, \
256 (__v8hi)__T3, 4, 5, 6, 7, 4, 5, 6, 7); \
257 __m128i __T5 = _mm_avx512_##op (__T3, __T4); \
258 __m128i __T6 = (__m128i)__builtin_shufflevector ((__v8hi)__T5, \
259 (__v8hi)__T5, 2, 3, 2, 3, 4, 5, 6, 7); \
260 __m128i __T7 = _mm_avx512_##op (__T5, __T6); \
261 __m128i __T8 = (__m128i)__builtin_shufflevector ((__v8hi)__T7, \
262 (__v8hi)__T7, 1, 1, 2, 3, 4, 5, 6, 7); \
263 __v8hi __T9 = (__v8hi)_mm_avx512_##op (__T7, __T8); \
266 #define _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI8(op) \
267 __v16qi __T1 = (__v16qi)_mm256_avx512_extracti128_si256 (__W, 0); \
268 __v16qi __T2 = (__v16qi)_mm256_avx512_extracti128_si256 (__W, 1); \
269 __v16qi __T3 = __T1 op __T2; \
270 __v16qi __T4 = __builtin_shufflevector (__T3, __T3, \
271 8, 9, 10, 11, 12, 13, 14, 15, 8, 9, 10, 11, 12, 13, 14, 15); \
272 __v16qi __T5 = __T3 op __T4; \
273 __v16qi __T6 = __builtin_shufflevector (__T5, __T5, \
274 4, 5, 6, 7, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); \
275 __v16qi __T7 = __T5 op __T6; \
276 __v16qi __T8 = __builtin_shufflevector (__T7, __T7, \
277 2, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); \
278 __v16qi __T9 = __T7 op __T8; \
279 __v16qi __T10 = __builtin_shufflevector (__T9, __T9, \
280 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); \
281 __v16qi __T11 = __T9 op __T10; \
284 #define _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP8(op) \
285 __m128i __T1 = _mm256_avx512_extracti128_si256 (__V, 0); \
286 __m128i __T2 = _mm256_avx512_extracti128_si256 (__V, 1); \
287 __m128i __T3 = _mm_avx512_##op (__T1, __T2); \
288 __m128i __T4 = (__m128i)__builtin_shufflevector ((__v16qi)__T3, \
290 8, 9, 10, 11, 12, 13, 14, 15, 8, 9, 10, 11, 12, 13, 14, 15); \
291 __m128i __T5 = _mm_avx512_##op (__T3, __T4); \
292 __m128i __T6 = (__m128i)__builtin_shufflevector ((__v16qi)__T5, \
294 4, 5, 6, 7, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); \
295 __m128i __T7 = _mm_avx512_##op (__T5, __T6); \
296 __m128i __T8 = (__m128i)__builtin_shufflevector ((__v16qi)__T7, \
298 2, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); \
299 __m128i __T9 = _mm_avx512_##op (__T7, __T8); \
300 __m128i __T10 = (__m128i)__builtin_shufflevector ((__v16qi)__T9, \
302 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); \
303 __v16qi __T11 = (__v16qi)_mm_avx512_##op (__T9, __T10); \
306 extern __inline __m256i
307 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
308 _mm256_maskz_mov_epi8 (__mmask32 __U
, __m256i __A
)
310 return (__m256i
) __builtin_ia32_movdquqi256_mask ((__v32qi
) __A
,
312 _mm256_avx512_setzero_si256 (),
316 extern __inline __m128i
317 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
318 _mm_mask_mov_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
)
320 return (__m128i
) __builtin_ia32_movdquqi128_mask ((__v16qi
) __A
,
325 extern __inline __m128i
326 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
327 _mm_maskz_mov_epi8 (__mmask16 __U
, __m128i __A
)
329 return (__m128i
) __builtin_ia32_movdquqi128_mask ((__v16qi
) __A
,
331 _mm_avx512_setzero_si128 (),
336 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
337 _mm256_storeu_epi8 (void *__P
, __m256i __A
)
339 *(__v32qi_u
*) __P
= (__v32qi_u
) __A
;
343 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
344 _mm256_mask_storeu_epi8 (void *__P
, __mmask32 __U
, __m256i __A
)
346 __builtin_ia32_storedquqi256_mask ((char *) __P
,
352 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
353 _mm_storeu_epi8 (void *__P
, __m128i __A
)
355 *(__v16qi_u
*) __P
= (__v16qi_u
) __A
;
359 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
360 _mm_mask_storeu_epi8 (void *__P
, __mmask16 __U
, __m128i __A
)
362 __builtin_ia32_storedquqi128_mask ((char *) __P
,
367 extern __inline __m256i
368 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
369 _mm256_loadu_epi16 (void const *__P
)
371 return (__m256i
) (*(__v16hi_u
*) __P
);
374 extern __inline __m256i
375 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
376 _mm256_mask_loadu_epi16 (__m256i __W
, __mmask16 __U
, void const *__P
)
378 return (__m256i
) __builtin_ia32_loaddquhi256_mask ((const short *) __P
,
383 extern __inline __m256i
384 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
385 _mm256_maskz_loadu_epi16 (__mmask16 __U
, void const *__P
)
387 return (__m256i
) __builtin_ia32_loaddquhi256_mask ((const short *) __P
,
389 _mm256_avx512_setzero_si256 (),
393 extern __inline __m128i
394 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
395 _mm_loadu_epi16 (void const *__P
)
397 return (__m128i
) (*(__v8hi_u
*) __P
);
400 extern __inline __m128i
401 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
402 _mm_mask_loadu_epi16 (__m128i __W
, __mmask8 __U
, void const *__P
)
404 return (__m128i
) __builtin_ia32_loaddquhi128_mask ((const short *) __P
,
409 extern __inline __m128i
410 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
411 _mm_maskz_loadu_epi16 (__mmask8 __U
, void const *__P
)
413 return (__m128i
) __builtin_ia32_loaddquhi128_mask ((const short *) __P
,
415 _mm_avx512_setzero_si128 (),
420 extern __inline __m256i
421 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
422 _mm256_mask_mov_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
)
424 return (__m256i
) __builtin_ia32_movdquhi256_mask ((__v16hi
) __A
,
429 extern __inline __m256i
430 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
431 _mm256_maskz_mov_epi16 (__mmask16 __U
, __m256i __A
)
433 return (__m256i
) __builtin_ia32_movdquhi256_mask ((__v16hi
) __A
,
435 _mm256_avx512_setzero_si256 (),
439 extern __inline __m128i
440 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
441 _mm_mask_mov_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
)
443 return (__m128i
) __builtin_ia32_movdquhi128_mask ((__v8hi
) __A
,
448 extern __inline __m128i
449 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
450 _mm_maskz_mov_epi16 (__mmask8 __U
, __m128i __A
)
452 return (__m128i
) __builtin_ia32_movdquhi128_mask ((__v8hi
) __A
,
454 _mm_avx512_setzero_si128 (),
458 extern __inline __m256i
459 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
460 _mm256_loadu_epi8 (void const *__P
)
462 return (__m256i
) (*(__v32qi_u
*) __P
);
465 extern __inline __m256i
466 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
467 _mm256_mask_loadu_epi8 (__m256i __W
, __mmask32 __U
, void const *__P
)
469 return (__m256i
) __builtin_ia32_loaddquqi256_mask ((const char *) __P
,
474 extern __inline __m256i
475 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
476 _mm256_maskz_loadu_epi8 (__mmask32 __U
, void const *__P
)
478 return (__m256i
) __builtin_ia32_loaddquqi256_mask ((const char *) __P
,
480 _mm256_avx512_setzero_si256 (),
484 extern __inline __m128i
485 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
486 _mm_loadu_epi8 (void const *__P
)
488 return (__m128i
) (*(__v16qi_u
*) __P
);
491 extern __inline __m128i
492 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
493 _mm_mask_loadu_epi8 (__m128i __W
, __mmask16 __U
, void const *__P
)
495 return (__m128i
) __builtin_ia32_loaddquqi128_mask ((const char *) __P
,
500 extern __inline __m128i
501 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
502 _mm_maskz_loadu_epi8 (__mmask16 __U
, void const *__P
)
504 return (__m128i
) __builtin_ia32_loaddquqi128_mask ((const char *) __P
,
506 _mm_avx512_setzero_si128 (),
510 extern __inline __m128i
511 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
512 _mm_mask_blend_epi16 (__mmask8 __U
, __m128i __A
, __m128i __W
)
514 return (__m128i
) __builtin_ia32_blendmw_128_mask ((__v8hi
) __A
,
519 extern __inline __m128i
520 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
521 _mm_mask_blend_epi8 (__mmask16 __U
, __m128i __A
, __m128i __W
)
523 return (__m128i
) __builtin_ia32_blendmb_128_mask ((__v16qi
) __A
,
528 extern __inline __m256i
529 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
530 _mm256_mask_blend_epi16 (__mmask16 __U
, __m256i __A
, __m256i __W
)
532 return (__m256i
) __builtin_ia32_blendmw_256_mask ((__v16hi
) __A
,
537 extern __inline __m256i
538 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
539 _mm256_mask_blend_epi8 (__mmask32 __U
, __m256i __A
, __m256i __W
)
541 return (__m256i
) __builtin_ia32_blendmb_256_mask ((__v32qi
) __A
,
546 extern __inline __m128i
547 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
548 _mm256_cvtepi16_epi8 (__m256i __A
)
551 return (__m128i
) __builtin_ia32_pmovwb256_mask ((__v16hi
) __A
,
552 (__v16qi
)_mm_avx512_undefined_si128(),
557 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
558 _mm256_mask_cvtepi16_storeu_epi8 (void * __P
, __mmask16 __M
,__m256i __A
)
560 __builtin_ia32_pmovwb256mem_mask ((__v16qi
*) __P
, (__v16hi
) __A
, __M
);
563 extern __inline __m128i
564 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
565 _mm256_mask_cvtepi16_epi8 (__m128i __O
, __mmask16 __M
, __m256i __A
)
567 return (__m128i
) __builtin_ia32_pmovwb256_mask ((__v16hi
) __A
,
571 extern __inline __m128i
572 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
573 _mm256_maskz_cvtepi16_epi8 (__mmask16 __M
, __m256i __A
)
575 return (__m128i
) __builtin_ia32_pmovwb256_mask ((__v16hi
) __A
,
577 _mm_avx512_setzero_si128 (),
581 extern __inline __m128i
582 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
583 _mm_cvtsepi16_epi8 (__m128i __A
)
586 return (__m128i
) __builtin_ia32_pmovswb128_mask ((__v8hi
) __A
,
587 (__v16qi
)_mm_avx512_undefined_si128(),
592 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
593 _mm_mask_cvtsepi16_storeu_epi8 (void * __P
, __mmask8 __M
,__m128i __A
)
595 __builtin_ia32_pmovswb128mem_mask ((unsigned long long *) __P
, (__v8hi
) __A
, __M
);
598 extern __inline __m128i
599 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
600 _mm_mask_cvtsepi16_epi8 (__m128i __O
, __mmask8 __M
, __m128i __A
)
602 return (__m128i
) __builtin_ia32_pmovswb128_mask ((__v8hi
) __A
,
606 extern __inline __m128i
607 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
608 _mm_maskz_cvtsepi16_epi8 (__mmask8 __M
, __m128i __A
)
610 return (__m128i
) __builtin_ia32_pmovswb128_mask ((__v8hi
) __A
,
612 _mm_avx512_setzero_si128 (),
616 extern __inline __m128i
617 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
618 _mm256_cvtsepi16_epi8 (__m256i __A
)
621 return (__m128i
) __builtin_ia32_pmovswb256_mask ((__v16hi
) __A
,
622 (__v16qi
)_mm_avx512_undefined_si128(),
627 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
628 _mm256_mask_cvtsepi16_storeu_epi8 (void * __P
, __mmask16 __M
,__m256i __A
)
630 __builtin_ia32_pmovswb256mem_mask ((__v16qi
*) __P
, (__v16hi
) __A
, __M
);
633 extern __inline __m128i
634 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
635 _mm256_mask_cvtsepi16_epi8 (__m128i __O
, __mmask16 __M
, __m256i __A
)
637 return (__m128i
) __builtin_ia32_pmovswb256_mask ((__v16hi
) __A
,
641 extern __inline __m128i
642 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
643 _mm256_maskz_cvtsepi16_epi8 (__mmask16 __M
, __m256i __A
)
645 return (__m128i
) __builtin_ia32_pmovswb256_mask ((__v16hi
) __A
,
647 _mm_avx512_setzero_si128 (),
651 extern __inline __m128i
652 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
653 _mm_cvtusepi16_epi8 (__m128i __A
)
656 return (__m128i
) __builtin_ia32_pmovuswb128_mask ((__v8hi
) __A
,
657 (__v16qi
)_mm_avx512_undefined_si128(),
662 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
663 _mm_mask_cvtusepi16_storeu_epi8 (void * __P
, __mmask8 __M
,__m128i __A
)
665 __builtin_ia32_pmovuswb128mem_mask ((unsigned long long *) __P
, (__v8hi
) __A
, __M
);
668 extern __inline __m128i
669 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
670 _mm_mask_cvtusepi16_epi8 (__m128i __O
, __mmask8 __M
, __m128i __A
)
672 return (__m128i
) __builtin_ia32_pmovuswb128_mask ((__v8hi
) __A
,
677 extern __inline __m128i
678 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
679 _mm_maskz_cvtusepi16_epi8 (__mmask8 __M
, __m128i __A
)
681 return (__m128i
) __builtin_ia32_pmovuswb128_mask ((__v8hi
) __A
,
683 _mm_avx512_setzero_si128 (),
687 extern __inline __m128i
688 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
689 _mm256_cvtusepi16_epi8 (__m256i __A
)
692 return (__m128i
) __builtin_ia32_pmovuswb256_mask ((__v16hi
) __A
,
693 (__v16qi
)_mm_avx512_undefined_si128(),
698 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
699 _mm256_mask_cvtusepi16_storeu_epi8 (void * __P
, __mmask16 __M
,__m256i __A
)
701 __builtin_ia32_pmovuswb256mem_mask ((__v16qi
*) __P
, (__v16hi
) __A
, __M
);
704 extern __inline __m128i
705 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
706 _mm256_mask_cvtusepi16_epi8 (__m128i __O
, __mmask16 __M
, __m256i __A
)
708 return (__m128i
) __builtin_ia32_pmovuswb256_mask ((__v16hi
) __A
,
713 extern __inline __m128i
714 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
715 _mm256_maskz_cvtusepi16_epi8 (__mmask16 __M
, __m256i __A
)
717 return (__m128i
) __builtin_ia32_pmovuswb256_mask ((__v16hi
) __A
,
719 _mm_avx512_setzero_si128 (),
723 extern __inline __m256i
724 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
725 _mm256_mask_broadcastb_epi8 (__m256i __O
, __mmask32 __M
, __m128i __A
)
727 return (__m256i
) __builtin_ia32_pbroadcastb256_mask ((__v16qi
) __A
,
732 extern __inline __m256i
733 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
734 _mm256_maskz_broadcastb_epi8 (__mmask32 __M
, __m128i __A
)
736 return (__m256i
) __builtin_ia32_pbroadcastb256_mask ((__v16qi
) __A
,
738 _mm256_avx512_setzero_si256 (),
742 extern __inline __m256i
743 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
744 _mm256_mask_set1_epi8 (__m256i __O
, __mmask32 __M
, char __A
)
746 return (__m256i
) __builtin_ia32_pbroadcastb256_gpr_mask (__A
,
751 extern __inline __m256i
752 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
753 _mm256_maskz_set1_epi8 (__mmask32 __M
, char __A
)
755 return (__m256i
) __builtin_ia32_pbroadcastb256_gpr_mask (__A
,
757 _mm256_avx512_setzero_si256 (),
761 extern __inline __m128i
762 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
763 _mm_mask_broadcastb_epi8 (__m128i __O
, __mmask16 __M
, __m128i __A
)
765 return (__m128i
) __builtin_ia32_pbroadcastb128_mask ((__v16qi
) __A
,
770 extern __inline __m128i
771 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
772 _mm_maskz_broadcastb_epi8 (__mmask16 __M
, __m128i __A
)
774 return (__m128i
) __builtin_ia32_pbroadcastb128_mask ((__v16qi
) __A
,
776 _mm_avx512_setzero_si128 (),
780 extern __inline __m128i
781 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
782 _mm_mask_set1_epi8 (__m128i __O
, __mmask16 __M
, char __A
)
784 return (__m128i
) __builtin_ia32_pbroadcastb128_gpr_mask (__A
,
789 extern __inline __m128i
790 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
791 _mm_maskz_set1_epi8 (__mmask16 __M
, char __A
)
793 return (__m128i
) __builtin_ia32_pbroadcastb128_gpr_mask (__A
,
795 _mm_avx512_setzero_si128 (),
799 extern __inline __m256i
800 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
801 _mm256_mask_broadcastw_epi16 (__m256i __O
, __mmask16 __M
, __m128i __A
)
803 return (__m256i
) __builtin_ia32_pbroadcastw256_mask ((__v8hi
) __A
,
808 extern __inline __m256i
809 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
810 _mm256_maskz_broadcastw_epi16 (__mmask16 __M
, __m128i __A
)
812 return (__m256i
) __builtin_ia32_pbroadcastw256_mask ((__v8hi
) __A
,
814 _mm256_avx512_setzero_si256 (),
818 extern __inline __m256i
819 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
820 _mm256_mask_set1_epi16 (__m256i __O
, __mmask16 __M
, short __A
)
822 return (__m256i
) __builtin_ia32_pbroadcastw256_gpr_mask (__A
,
827 extern __inline __m256i
828 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
829 _mm256_maskz_set1_epi16 (__mmask16 __M
, short __A
)
831 return (__m256i
) __builtin_ia32_pbroadcastw256_gpr_mask (__A
,
833 _mm256_avx512_setzero_si256 (),
837 extern __inline __m128i
838 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
839 _mm_mask_broadcastw_epi16 (__m128i __O
, __mmask8 __M
, __m128i __A
)
841 return (__m128i
) __builtin_ia32_pbroadcastw128_mask ((__v8hi
) __A
,
846 extern __inline __m128i
847 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
848 _mm_maskz_broadcastw_epi16 (__mmask8 __M
, __m128i __A
)
850 return (__m128i
) __builtin_ia32_pbroadcastw128_mask ((__v8hi
) __A
,
852 _mm_avx512_setzero_si128 (),
856 extern __inline __m128i
857 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
858 _mm_mask_set1_epi16 (__m128i __O
, __mmask8 __M
, short __A
)
860 return (__m128i
) __builtin_ia32_pbroadcastw128_gpr_mask (__A
,
865 extern __inline __m128i
866 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
867 _mm_maskz_set1_epi16 (__mmask8 __M
, short __A
)
869 return (__m128i
) __builtin_ia32_pbroadcastw128_gpr_mask (__A
,
871 _mm_avx512_setzero_si128 (),
875 extern __inline __m256i
876 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
877 _mm256_permutexvar_epi16 (__m256i __A
, __m256i __B
)
879 return (__m256i
) __builtin_ia32_permvarhi256_mask ((__v16hi
) __B
,
882 _mm256_avx512_setzero_si256 (),
886 extern __inline __m256i
887 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
888 _mm256_maskz_permutexvar_epi16 (__mmask16 __M
, __m256i __A
,
891 return (__m256i
) __builtin_ia32_permvarhi256_mask ((__v16hi
) __B
,
894 _mm256_avx512_setzero_si256 (),
898 extern __inline __m256i
899 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
900 _mm256_mask_permutexvar_epi16 (__m256i __W
, __mmask16 __M
, __m256i __A
,
903 return (__m256i
) __builtin_ia32_permvarhi256_mask ((__v16hi
) __B
,
909 extern __inline __m128i
910 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
911 _mm_permutexvar_epi16 (__m128i __A
, __m128i __B
)
913 return (__m128i
) __builtin_ia32_permvarhi128_mask ((__v8hi
) __B
,
916 _mm_avx512_setzero_si128 (),
920 extern __inline __m128i
921 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
922 _mm_maskz_permutexvar_epi16 (__mmask8 __M
, __m128i __A
, __m128i __B
)
924 return (__m128i
) __builtin_ia32_permvarhi128_mask ((__v8hi
) __B
,
927 _mm_avx512_setzero_si128 (),
931 extern __inline __m128i
932 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
933 _mm_mask_permutexvar_epi16 (__m128i __W
, __mmask8 __M
, __m128i __A
,
936 return (__m128i
) __builtin_ia32_permvarhi128_mask ((__v8hi
) __B
,
942 extern __inline __m256i
943 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
944 _mm256_permutex2var_epi16 (__m256i __A
, __m256i __I
, __m256i __B
)
946 return (__m256i
) __builtin_ia32_vpermt2varhi256_mask ((__v16hi
) __I
953 extern __inline __m256i
954 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
955 _mm256_mask_permutex2var_epi16 (__m256i __A
, __mmask16 __U
,
956 __m256i __I
, __m256i __B
)
958 return (__m256i
) __builtin_ia32_vpermt2varhi256_mask ((__v16hi
) __I
966 extern __inline __m256i
967 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
968 _mm256_mask2_permutex2var_epi16 (__m256i __A
, __m256i __I
,
969 __mmask16 __U
, __m256i __B
)
971 return (__m256i
) __builtin_ia32_vpermi2varhi256_mask ((__v16hi
) __A
,
979 extern __inline __m256i
980 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
981 _mm256_maskz_permutex2var_epi16 (__mmask16 __U
, __m256i __A
,
982 __m256i __I
, __m256i __B
)
984 return (__m256i
) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi
) __I
992 extern __inline __m128i
993 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
994 _mm_permutex2var_epi16 (__m128i __A
, __m128i __I
, __m128i __B
)
996 return (__m128i
) __builtin_ia32_vpermt2varhi128_mask ((__v8hi
) __I
1003 extern __inline __m128i
1004 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1005 _mm_mask_permutex2var_epi16 (__m128i __A
, __mmask8 __U
, __m128i __I
,
1008 return (__m128i
) __builtin_ia32_vpermt2varhi128_mask ((__v8hi
) __I
1016 extern __inline __m128i
1017 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1018 _mm_mask2_permutex2var_epi16 (__m128i __A
, __m128i __I
, __mmask8 __U
,
1021 return (__m128i
) __builtin_ia32_vpermi2varhi128_mask ((__v8hi
) __A
,
1029 extern __inline __m128i
1030 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1031 _mm_maskz_permutex2var_epi16 (__mmask8 __U
, __m128i __A
, __m128i __I
,
1034 return (__m128i
) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi
) __I
1042 extern __inline __m256i
1043 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1044 _mm256_mask_maddubs_epi16 (__m256i __W
, __mmask16 __U
, __m256i __X
,
1047 return (__m256i
) __builtin_ia32_pmaddubsw256_mask ((__v32qi
) __X
,
1053 extern __inline __m256i
1054 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1055 _mm256_maskz_maddubs_epi16 (__mmask16 __U
, __m256i __X
, __m256i __Y
)
1057 return (__m256i
) __builtin_ia32_pmaddubsw256_mask ((__v32qi
) __X
,
1060 _mm256_avx512_setzero_si256 (),
1064 extern __inline __m128i
1065 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1066 _mm_mask_maddubs_epi16 (__m128i __W
, __mmask8 __U
, __m128i __X
,
1069 return (__m128i
) __builtin_ia32_pmaddubsw128_mask ((__v16qi
) __X
,
1075 extern __inline __m128i
1076 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1077 _mm_maskz_maddubs_epi16 (__mmask8 __U
, __m128i __X
, __m128i __Y
)
1079 return (__m128i
) __builtin_ia32_pmaddubsw128_mask ((__v16qi
) __X
,
1082 _mm_avx512_setzero_si128 (),
1086 extern __inline __m256i
1087 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1088 _mm256_mask_madd_epi16 (__m256i __W
, __mmask8 __U
, __m256i __A
,
1091 return (__m256i
) __builtin_ia32_pmaddwd256_mask ((__v16hi
) __A
,
1097 extern __inline __m256i
1098 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1099 _mm256_maskz_madd_epi16 (__mmask8 __U
, __m256i __A
, __m256i __B
)
1101 return (__m256i
) __builtin_ia32_pmaddwd256_mask ((__v16hi
) __A
,
1104 _mm256_avx512_setzero_si256 (),
1108 extern __inline __m128i
1109 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1110 _mm_mask_madd_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
1113 return (__m128i
) __builtin_ia32_pmaddwd128_mask ((__v8hi
) __A
,
1119 extern __inline __m128i
1120 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1121 _mm_maskz_madd_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
1123 return (__m128i
) __builtin_ia32_pmaddwd128_mask ((__v8hi
) __A
,
1126 _mm_avx512_setzero_si128 (),
1130 extern __inline __mmask16
1131 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1132 _mm_movepi8_mask (__m128i __A
)
1134 return (__mmask16
) __builtin_ia32_cvtb2mask128 ((__v16qi
) __A
);
1137 extern __inline __mmask32
1138 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1139 _mm256_movepi8_mask (__m256i __A
)
1141 return (__mmask32
) __builtin_ia32_cvtb2mask256 ((__v32qi
) __A
);
1144 extern __inline __mmask8
1145 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1146 _mm_movepi16_mask (__m128i __A
)
1148 return (__mmask8
) __builtin_ia32_cvtw2mask128 ((__v8hi
) __A
);
1151 extern __inline __mmask16
1152 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1153 _mm256_movepi16_mask (__m256i __A
)
1155 return (__mmask16
) __builtin_ia32_cvtw2mask256 ((__v16hi
) __A
);
1158 extern __inline __m128i
1159 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1160 _mm_movm_epi8 (__mmask16 __A
)
1162 return (__m128i
) __builtin_ia32_cvtmask2b128 (__A
);
1165 extern __inline __m256i
1166 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1167 _mm256_movm_epi8 (__mmask32 __A
)
1169 return (__m256i
) __builtin_ia32_cvtmask2b256 (__A
);
1172 extern __inline __m128i
1173 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1174 _mm_movm_epi16 (__mmask8 __A
)
1176 return (__m128i
) __builtin_ia32_cvtmask2w128 (__A
);
1179 extern __inline __m256i
1180 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1181 _mm256_movm_epi16 (__mmask16 __A
)
1183 return (__m256i
) __builtin_ia32_cvtmask2w256 (__A
);
1186 extern __inline __mmask16
1187 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1188 _mm_test_epi8_mask (__m128i __A
, __m128i __B
)
1190 return (__mmask16
) __builtin_ia32_ptestmb128 ((__v16qi
) __A
,
1195 extern __inline __mmask16
1196 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1197 _mm_mask_test_epi8_mask (__mmask16 __U
, __m128i __A
, __m128i __B
)
1199 return (__mmask16
) __builtin_ia32_ptestmb128 ((__v16qi
) __A
,
1200 (__v16qi
) __B
, __U
);
1203 extern __inline __mmask32
1204 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1205 _mm256_test_epi8_mask (__m256i __A
, __m256i __B
)
1207 return (__mmask32
) __builtin_ia32_ptestmb256 ((__v32qi
) __A
,
1212 extern __inline __mmask32
1213 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1214 _mm256_mask_test_epi8_mask (__mmask32 __U
, __m256i __A
, __m256i __B
)
1216 return (__mmask32
) __builtin_ia32_ptestmb256 ((__v32qi
) __A
,
1217 (__v32qi
) __B
, __U
);
1220 extern __inline __mmask8
1221 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1222 _mm_test_epi16_mask (__m128i __A
, __m128i __B
)
1224 return (__mmask8
) __builtin_ia32_ptestmw128 ((__v8hi
) __A
,
1229 extern __inline __mmask8
1230 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1231 _mm_mask_test_epi16_mask (__mmask8 __U
, __m128i __A
, __m128i __B
)
1233 return (__mmask8
) __builtin_ia32_ptestmw128 ((__v8hi
) __A
,
1237 extern __inline __mmask16
1238 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1239 _mm256_test_epi16_mask (__m256i __A
, __m256i __B
)
1241 return (__mmask16
) __builtin_ia32_ptestmw256 ((__v16hi
) __A
,
1246 extern __inline __mmask16
1247 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1248 _mm256_mask_test_epi16_mask (__mmask16 __U
, __m256i __A
, __m256i __B
)
1250 return (__mmask16
) __builtin_ia32_ptestmw256 ((__v16hi
) __A
,
1251 (__v16hi
) __B
, __U
);
1254 extern __inline __m256i
1255 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1256 _mm256_maskz_min_epu16 (__mmask16 __M
, __m256i __A
, __m256i __B
)
1258 return (__m256i
) __builtin_ia32_pminuw256_mask ((__v16hi
) __A
,
1261 _mm256_avx512_setzero_si256 (),
1265 extern __inline __m256i
1266 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1267 _mm256_mask_min_epu16 (__m256i __W
, __mmask16 __M
, __m256i __A
,
1270 return (__m256i
) __builtin_ia32_pminuw256_mask ((__v16hi
) __A
,
1276 extern __inline __m128i
1277 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1278 _mm_maskz_min_epu16 (__mmask8 __M
, __m128i __A
, __m128i __B
)
1280 return (__m128i
) __builtin_ia32_pminuw128_mask ((__v8hi
) __A
,
1283 _mm_avx512_setzero_si128 (),
1287 extern __inline __m128i
1288 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1289 _mm_mask_min_epu16 (__m128i __W
, __mmask8 __M
, __m128i __A
,
1292 return (__m128i
) __builtin_ia32_pminuw128_mask ((__v8hi
) __A
,
1298 extern __inline __m256i
1299 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1300 _mm256_maskz_min_epi16 (__mmask16 __M
, __m256i __A
, __m256i __B
)
1302 return (__m256i
) __builtin_ia32_pminsw256_mask ((__v16hi
) __A
,
1305 _mm256_avx512_setzero_si256 (),
1309 extern __inline __m256i
1310 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1311 _mm256_mask_min_epi16 (__m256i __W
, __mmask16 __M
, __m256i __A
,
1314 return (__m256i
) __builtin_ia32_pminsw256_mask ((__v16hi
) __A
,
1320 extern __inline __m256i
1321 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1322 _mm256_maskz_max_epu8 (__mmask32 __M
, __m256i __A
, __m256i __B
)
1324 return (__m256i
) __builtin_ia32_pmaxub256_mask ((__v32qi
) __A
,
1327 _mm256_avx512_setzero_si256 (),
1331 extern __inline __m256i
1332 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1333 _mm256_mask_max_epu8 (__m256i __W
, __mmask32 __M
, __m256i __A
,
1336 return (__m256i
) __builtin_ia32_pmaxub256_mask ((__v32qi
) __A
,
1342 extern __inline __m128i
1343 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1344 _mm_maskz_max_epu8 (__mmask16 __M
, __m128i __A
, __m128i __B
)
1346 return (__m128i
) __builtin_ia32_pmaxub128_mask ((__v16qi
) __A
,
1349 _mm_avx512_setzero_si128 (),
1353 extern __inline __m128i
1354 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1355 _mm_mask_max_epu8 (__m128i __W
, __mmask16 __M
, __m128i __A
,
1358 return (__m128i
) __builtin_ia32_pmaxub128_mask ((__v16qi
) __A
,
1364 extern __inline __m256i
1365 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1366 _mm256_maskz_max_epi8 (__mmask32 __M
, __m256i __A
, __m256i __B
)
1368 return (__m256i
) __builtin_ia32_pmaxsb256_mask ((__v32qi
) __A
,
1371 _mm256_avx512_setzero_si256 (),
1375 extern __inline __m256i
1376 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1377 _mm256_mask_max_epi8 (__m256i __W
, __mmask32 __M
, __m256i __A
,
1380 return (__m256i
) __builtin_ia32_pmaxsb256_mask ((__v32qi
) __A
,
1386 extern __inline __m128i
1387 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1388 _mm_maskz_max_epi8 (__mmask16 __M
, __m128i __A
, __m128i __B
)
1390 return (__m128i
) __builtin_ia32_pmaxsb128_mask ((__v16qi
) __A
,
1393 _mm_avx512_setzero_si128 (),
1397 extern __inline __m128i
1398 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1399 _mm_mask_max_epi8 (__m128i __W
, __mmask16 __M
, __m128i __A
,
1402 return (__m128i
) __builtin_ia32_pmaxsb128_mask ((__v16qi
) __A
,
1408 extern __inline __m256i
1409 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1410 _mm256_maskz_min_epu8 (__mmask32 __M
, __m256i __A
, __m256i __B
)
1412 return (__m256i
) __builtin_ia32_pminub256_mask ((__v32qi
) __A
,
1415 _mm256_avx512_setzero_si256 (),
1419 extern __inline __m256i
1420 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1421 _mm256_mask_min_epu8 (__m256i __W
, __mmask32 __M
, __m256i __A
,
1424 return (__m256i
) __builtin_ia32_pminub256_mask ((__v32qi
) __A
,
1430 extern __inline __m128i
1431 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1432 _mm_maskz_min_epu8 (__mmask16 __M
, __m128i __A
, __m128i __B
)
1434 return (__m128i
) __builtin_ia32_pminub128_mask ((__v16qi
) __A
,
1437 _mm_avx512_setzero_si128 (),
1441 extern __inline __m128i
1442 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1443 _mm_mask_min_epu8 (__m128i __W
, __mmask16 __M
, __m128i __A
,
1446 return (__m128i
) __builtin_ia32_pminub128_mask ((__v16qi
) __A
,
1452 extern __inline __m256i
1453 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1454 _mm256_maskz_min_epi8 (__mmask32 __M
, __m256i __A
, __m256i __B
)
1456 return (__m256i
) __builtin_ia32_pminsb256_mask ((__v32qi
) __A
,
1459 _mm256_avx512_setzero_si256 (),
1463 extern __inline __m256i
1464 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1465 _mm256_mask_min_epi8 (__m256i __W
, __mmask32 __M
, __m256i __A
,
1468 return (__m256i
) __builtin_ia32_pminsb256_mask ((__v32qi
) __A
,
1474 extern __inline __m128i
1475 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1476 _mm_maskz_min_epi8 (__mmask16 __M
, __m128i __A
, __m128i __B
)
1478 return (__m128i
) __builtin_ia32_pminsb128_mask ((__v16qi
) __A
,
1481 _mm_avx512_setzero_si128 (),
1485 extern __inline __m128i
1486 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1487 _mm_mask_min_epi8 (__m128i __W
, __mmask16 __M
, __m128i __A
,
1490 return (__m128i
) __builtin_ia32_pminsb128_mask ((__v16qi
) __A
,
1496 extern __inline __m256i
1497 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1498 _mm256_maskz_max_epi16 (__mmask16 __M
, __m256i __A
, __m256i __B
)
1500 return (__m256i
) __builtin_ia32_pmaxsw256_mask ((__v16hi
) __A
,
1503 _mm256_avx512_setzero_si256 (),
1507 extern __inline __m256i
1508 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1509 _mm256_mask_max_epi16 (__m256i __W
, __mmask16 __M
, __m256i __A
,
1512 return (__m256i
) __builtin_ia32_pmaxsw256_mask ((__v16hi
) __A
,
1518 extern __inline __m128i
1519 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1520 _mm_maskz_max_epi16 (__mmask8 __M
, __m128i __A
, __m128i __B
)
1522 return (__m128i
) __builtin_ia32_pmaxsw128_mask ((__v8hi
) __A
,
1525 _mm_avx512_setzero_si128 (),
1529 extern __inline __m128i
1530 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1531 _mm_mask_max_epi16 (__m128i __W
, __mmask8 __M
, __m128i __A
,
1534 return (__m128i
) __builtin_ia32_pmaxsw128_mask ((__v8hi
) __A
,
1540 extern __inline __m256i
1541 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1542 _mm256_maskz_max_epu16 (__mmask16 __M
, __m256i __A
, __m256i __B
)
1544 return (__m256i
) __builtin_ia32_pmaxuw256_mask ((__v16hi
) __A
,
1547 _mm256_avx512_setzero_si256 (),
1551 extern __inline __m256i
1552 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1553 _mm256_mask_max_epu16 (__m256i __W
, __mmask16 __M
, __m256i __A
,
1556 return (__m256i
) __builtin_ia32_pmaxuw256_mask ((__v16hi
) __A
,
1562 extern __inline __m128i
1563 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1564 _mm_maskz_max_epu16 (__mmask8 __M
, __m128i __A
, __m128i __B
)
1566 return (__m128i
) __builtin_ia32_pmaxuw128_mask ((__v8hi
) __A
,
1569 _mm_avx512_setzero_si128 (),
1573 extern __inline __m128i
1574 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1575 _mm_mask_max_epu16 (__m128i __W
, __mmask8 __M
, __m128i __A
,
1578 return (__m128i
) __builtin_ia32_pmaxuw128_mask ((__v8hi
) __A
,
1584 extern __inline __m128i
1585 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1586 _mm_maskz_min_epi16 (__mmask8 __M
, __m128i __A
, __m128i __B
)
1588 return (__m128i
) __builtin_ia32_pminsw128_mask ((__v8hi
) __A
,
1591 _mm_avx512_setzero_si128 (),
1595 extern __inline __m128i
1596 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1597 _mm_mask_min_epi16 (__m128i __W
, __mmask8 __M
, __m128i __A
,
1600 return (__m128i
) __builtin_ia32_pminsw128_mask ((__v8hi
) __A
,
1607 extern __inline __m256i
1608 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1609 _mm256_mask_alignr_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
1610 __m256i __B
, const int __N
)
1612 return (__m256i
) __builtin_ia32_palignr256_mask ((__v4di
) __A
,
1619 extern __inline __m256i
1620 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1621 _mm256_maskz_alignr_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
,
1624 return (__m256i
) __builtin_ia32_palignr256_mask ((__v4di
) __A
,
1628 _mm256_avx512_setzero_si256 (),
1632 extern __inline __m128i
1633 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1634 _mm_mask_alignr_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
1635 __m128i __B
, const int __N
)
1637 return (__m128i
) __builtin_ia32_palignr128_mask ((__v2di
) __A
,
1644 extern __inline __m128i
1645 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1646 _mm_maskz_alignr_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
,
1649 return (__m128i
) __builtin_ia32_palignr128_mask ((__v2di
) __A
,
1653 _mm_avx512_setzero_si128 (),
1657 extern __inline __m256i
1658 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1659 _mm256_dbsad_epu8 (__m256i __A
, __m256i __B
, const int __imm
)
1661 return (__m256i
) __builtin_ia32_dbpsadbw256_mask ((__v32qi
) __A
,
1665 _mm256_avx512_setzero_si256 (),
1669 extern __inline __m256i
1670 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1671 _mm256_mask_dbsad_epu8 (__m256i __W
, __mmask16 __U
, __m256i __A
,
1672 __m256i __B
, const int __imm
)
1674 return (__m256i
) __builtin_ia32_dbpsadbw256_mask ((__v32qi
) __A
,
1681 extern __inline __m256i
1682 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1683 _mm256_maskz_dbsad_epu8 (__mmask16 __U
, __m256i __A
, __m256i __B
,
1686 return (__m256i
) __builtin_ia32_dbpsadbw256_mask ((__v32qi
) __A
,
1690 _mm256_avx512_setzero_si256 (),
1694 extern __inline __m128i
1695 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1696 _mm_dbsad_epu8 (__m128i __A
, __m128i __B
, const int __imm
)
1698 return (__m128i
) __builtin_ia32_dbpsadbw128_mask ((__v16qi
) __A
,
1702 _mm_avx512_setzero_si128 (),
1706 extern __inline __m128i
1707 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1708 _mm_mask_dbsad_epu8 (__m128i __W
, __mmask8 __U
, __m128i __A
,
1709 __m128i __B
, const int __imm
)
1711 return (__m128i
) __builtin_ia32_dbpsadbw128_mask ((__v16qi
) __A
,
1718 extern __inline __m128i
1719 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1720 _mm_maskz_dbsad_epu8 (__mmask8 __U
, __m128i __A
, __m128i __B
,
1723 return (__m128i
) __builtin_ia32_dbpsadbw128_mask ((__v16qi
) __A
,
1727 _mm_avx512_setzero_si128 (),
1731 extern __inline __mmask8
1732 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1733 _mm_mask_cmp_epi16_mask (__mmask8 __U
, __m128i __X
, __m128i __Y
,
1736 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
1741 extern __inline __mmask8
1742 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1743 _mm_cmp_epi16_mask (__m128i __X
, __m128i __Y
, const int __P
)
1745 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
1750 extern __inline __mmask16
1751 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1752 _mm256_mask_cmp_epi16_mask (__mmask16 __U
, __m256i __X
, __m256i __Y
,
1755 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
1760 extern __inline __mmask16
1761 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1762 _mm256_cmp_epi16_mask (__m256i __X
, __m256i __Y
, const int __P
)
1764 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
1769 extern __inline __mmask16
1770 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1771 _mm_mask_cmp_epi8_mask (__mmask16 __U
, __m128i __X
, __m128i __Y
,
1774 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
1779 extern __inline __mmask16
1780 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1781 _mm_cmp_epi8_mask (__m128i __X
, __m128i __Y
, const int __P
)
1783 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
1788 extern __inline __mmask32
1789 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1790 _mm256_mask_cmp_epi8_mask (__mmask32 __U
, __m256i __X
, __m256i __Y
,
1793 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
1798 extern __inline __mmask32
1799 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1800 _mm256_cmp_epi8_mask (__m256i __X
, __m256i __Y
, const int __P
)
1802 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
1807 extern __inline __mmask8
1808 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1809 _mm_mask_cmp_epu16_mask (__mmask8 __U
, __m128i __X
, __m128i __Y
,
1812 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
1817 extern __inline __mmask8
1818 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1819 _mm_cmp_epu16_mask (__m128i __X
, __m128i __Y
, const int __P
)
1821 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
1826 extern __inline __mmask16
1827 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1828 _mm256_mask_cmp_epu16_mask (__mmask16 __U
, __m256i __X
, __m256i __Y
,
1831 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
1836 extern __inline __mmask16
1837 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1838 _mm256_cmp_epu16_mask (__m256i __X
, __m256i __Y
, const int __P
)
1840 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
1845 extern __inline __mmask16
1846 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1847 _mm_mask_cmp_epu8_mask (__mmask16 __U
, __m128i __X
, __m128i __Y
,
1850 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
1855 extern __inline __mmask16
1856 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1857 _mm_cmp_epu8_mask (__m128i __X
, __m128i __Y
, const int __P
)
1859 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
1864 extern __inline __mmask32
1865 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1866 _mm256_mask_cmp_epu8_mask (__mmask32 __U
, __m256i __X
, __m256i __Y
,
1869 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
1874 extern __inline __mmask32
1875 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1876 _mm256_cmp_epu8_mask (__m256i __X
, __m256i __Y
, const int __P
)
1878 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
1883 extern __inline __m256i
1884 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1885 _mm256_mask_srli_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
1888 return (__m256i
) __builtin_ia32_psrlwi256_mask ((__v16hi
) __A
, __imm
,
1893 extern __inline __m256i
1894 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1895 _mm256_maskz_srli_epi16 (__mmask16 __U
, __m256i __A
, const int __imm
)
1897 return (__m256i
) __builtin_ia32_psrlwi256_mask ((__v16hi
) __A
, __imm
,
1899 _mm256_avx512_setzero_si256 (),
1903 extern __inline __m128i
1904 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1905 _mm_mask_srli_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
1908 return (__m128i
) __builtin_ia32_psrlwi128_mask ((__v8hi
) __A
, __imm
,
1913 extern __inline __m128i
1914 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1915 _mm_maskz_srli_epi16 (__mmask8 __U
, __m128i __A
, const int __imm
)
1917 return (__m128i
) __builtin_ia32_psrlwi128_mask ((__v8hi
) __A
, __imm
,
1919 _mm_avx512_setzero_si128 (),
1923 extern __inline __m256i
1924 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1925 _mm256_mask_shufflehi_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
1928 return (__m256i
) __builtin_ia32_pshufhw256_mask ((__v16hi
) __A
,
1934 extern __inline __m256i
1935 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1936 _mm256_maskz_shufflehi_epi16 (__mmask16 __U
, __m256i __A
,
1939 return (__m256i
) __builtin_ia32_pshufhw256_mask ((__v16hi
) __A
,
1942 _mm256_avx512_setzero_si256 (),
1946 extern __inline __m128i
1947 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1948 _mm_mask_shufflehi_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
1951 return (__m128i
) __builtin_ia32_pshufhw128_mask ((__v8hi
) __A
, __imm
,
1956 extern __inline __m128i
1957 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1958 _mm_maskz_shufflehi_epi16 (__mmask8 __U
, __m128i __A
, const int __imm
)
1960 return (__m128i
) __builtin_ia32_pshufhw128_mask ((__v8hi
) __A
, __imm
,
1962 _mm_avx512_setzero_si128 (),
1966 extern __inline __m256i
1967 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1968 _mm256_mask_shufflelo_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
1971 return (__m256i
) __builtin_ia32_pshuflw256_mask ((__v16hi
) __A
,
1977 extern __inline __m256i
1978 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1979 _mm256_maskz_shufflelo_epi16 (__mmask16 __U
, __m256i __A
,
1982 return (__m256i
) __builtin_ia32_pshuflw256_mask ((__v16hi
) __A
,
1985 _mm256_avx512_setzero_si256 (),
1989 extern __inline __m128i
1990 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
1991 _mm_mask_shufflelo_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
1994 return (__m128i
) __builtin_ia32_pshuflw128_mask ((__v8hi
) __A
, __imm
,
1999 extern __inline __m128i
2000 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2001 _mm_maskz_shufflelo_epi16 (__mmask8 __U
, __m128i __A
, const int __imm
)
2003 return (__m128i
) __builtin_ia32_pshuflw128_mask ((__v8hi
) __A
, __imm
,
2005 _mm_avx512_setzero_si128 (),
2009 extern __inline __m256i
2010 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2011 _mm256_mask_srai_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2012 const unsigned int __imm
)
2014 return (__m256i
) __builtin_ia32_psrawi256_mask ((__v16hi
) __A
, __imm
,
2019 extern __inline __m256i
2020 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2021 _mm256_maskz_srai_epi16 (__mmask16 __U
, __m256i __A
, const unsigned int __imm
)
2023 return (__m256i
) __builtin_ia32_psrawi256_mask ((__v16hi
) __A
, __imm
,
2025 _mm256_avx512_setzero_si256 (),
2029 extern __inline __m128i
2030 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2031 _mm_mask_srai_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
2032 const unsigned int __imm
)
2034 return (__m128i
) __builtin_ia32_psrawi128_mask ((__v8hi
) __A
, __imm
,
2039 extern __inline __m128i
2040 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2041 _mm_maskz_srai_epi16 (__mmask8 __U
, __m128i __A
, const unsigned int __imm
)
2043 return (__m128i
) __builtin_ia32_psrawi128_mask ((__v8hi
) __A
, __imm
,
2045 _mm_avx512_setzero_si128 (),
2049 extern __inline __m256i
2050 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2051 _mm256_mask_slli_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2054 return (__m256i
) __builtin_ia32_psllwi256_mask ((__v16hi
) __A
, __B
,
2059 extern __inline __m256i
2060 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2061 _mm256_maskz_slli_epi16 (__mmask16 __U
, __m256i __A
, unsigned int __B
)
2063 return (__m256i
) __builtin_ia32_psllwi256_mask ((__v16hi
) __A
, __B
,
2065 _mm256_avx512_setzero_si256 (),
2069 extern __inline __m128i
2070 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2071 _mm_mask_slli_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
, unsigned int __B
)
2073 return (__m128i
) __builtin_ia32_psllwi128_mask ((__v8hi
) __A
, __B
,
2078 extern __inline __m128i
2079 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2080 _mm_maskz_slli_epi16 (__mmask8 __U
, __m128i __A
, unsigned int __B
)
2082 return (__m128i
) __builtin_ia32_psllwi128_mask ((__v8hi
) __A
, __B
,
2084 _mm_avx512_setzero_si128 (),
2089 #define _mm256_mask_alignr_epi8(W, U, X, Y, N) \
2090 ((__m256i) __builtin_ia32_palignr256_mask ((__v4di)(__m256i)(X), \
2091 (__v4di)(__m256i)(Y), (int)((N) * 8), \
2092 (__v4di)(__m256i)(X), (__mmask32)(U)))
2094 #define _mm256_mask_srli_epi16(W, U, A, B) \
2095 ((__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi)(__m256i)(A), \
2096 (int)(B), (__v16hi)(__m256i)(W), (__mmask16)(U)))
2098 #define _mm256_maskz_srli_epi16(U, A, B) \
2099 ((__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi)(__m256i)(A), \
2100 (int)(B), (__v16hi)_mm256_avx512_setzero_si256 (), (__mmask16)(U)))
2102 #define _mm_mask_srli_epi16(W, U, A, B) \
2103 ((__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi)(__m128i)(A), \
2104 (int)(B), (__v8hi)(__m128i)(W), (__mmask8)(U)))
2106 #define _mm_maskz_srli_epi16(U, A, B) \
2107 ((__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi)(__m128i)(A), \
2108 (int)(B), (__v8hi)_mm_avx512_setzero_si128 (), (__mmask8)(U)))
2110 #define _mm256_mask_srai_epi16(W, U, A, B) \
2111 ((__m256i) __builtin_ia32_psrawi256_mask ((__v16hi)(__m256i)(A), \
2112 (unsigned int)(B), (__v16hi)(__m256i)(W), (__mmask16)(U)))
2114 #define _mm256_maskz_srai_epi16(U, A, B) \
2115 ((__m256i) __builtin_ia32_psrawi256_mask ((__v16hi)(__m256i)(A), \
2116 (unsigned int)(B), (__v16hi)_mm256_avx512_setzero_si256 (), (__mmask16)(U)))
2118 #define _mm_mask_srai_epi16(W, U, A, B) \
2119 ((__m128i) __builtin_ia32_psrawi128_mask ((__v8hi)(__m128i)(A), \
2120 (unsigned int)(B), (__v8hi)(__m128i)(W), (__mmask8)(U)))
2122 #define _mm_maskz_srai_epi16(U, A, B) \
2123 ((__m128i) __builtin_ia32_psrawi128_mask ((__v8hi)(__m128i)(A), \
2124 (unsigned int)(B), (__v8hi)_mm_avx512_setzero_si128(), (__mmask8)(U)))
2126 #define _mm256_mask_shufflehi_epi16(W, U, A, B) \
2127 ((__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi)(__m256i)(A), (int)(B), \
2128 (__v16hi)(__m256i)(W), \
2131 #define _mm256_maskz_shufflehi_epi16(U, A, B) \
2132 ((__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi)(__m256i)(A), (int)(B), \
2133 (__v16hi)(__m256i)_mm256_avx512_setzero_si256 (), \
2136 #define _mm_mask_shufflehi_epi16(W, U, A, B) \
2137 ((__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi)(__m128i)(A), (int)(B), \
2138 (__v8hi)(__m128i)(W), \
2141 #define _mm_maskz_shufflehi_epi16(U, A, B) \
2142 ((__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi)(__m128i)(A), (int)(B), \
2143 (__v8hi)(__m128i)_mm_avx512_setzero_si128 (), \
2146 #define _mm256_mask_shufflelo_epi16(W, U, A, B) \
2147 ((__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi)(__m256i)(A), (int)(B), \
2148 (__v16hi)(__m256i)(W), \
2151 #define _mm256_maskz_shufflelo_epi16(U, A, B) \
2152 ((__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi)(__m256i)(A), (int)(B), \
2153 (__v16hi)(__m256i)_mm256_avx512_setzero_si256 (), \
2156 #define _mm_mask_shufflelo_epi16(W, U, A, B) \
2157 ((__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi)(__m128i)(A), (int)(B), \
2158 (__v8hi)(__m128i)(W), \
2161 #define _mm_maskz_shufflelo_epi16(U, A, B) \
2162 ((__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi)(__m128i)(A), (int)(B), \
2163 (__v8hi)(__m128i)_mm_avx512_setzero_si128 (), \
2166 #define _mm256_maskz_alignr_epi8(U, X, Y, N) \
2167 ((__m256i) __builtin_ia32_palignr256_mask ((__v4di)(__m256i)(X), \
2168 (__v4di)(__m256i)(Y), (int)((N) * 8), \
2169 (__v4di)(__m256i)_mm256_avx512_setzero_si256 (), \
2172 #define _mm_mask_alignr_epi8(W, U, X, Y, N) \
2173 ((__m128i) __builtin_ia32_palignr128_mask ((__v2di)(__m128i)(X), \
2174 (__v2di)(__m128i)(Y), (int)((N) * 8), \
2175 (__v2di)(__m128i)(X), (__mmask16)(U)))
2177 #define _mm_maskz_alignr_epi8(U, X, Y, N) \
2178 ((__m128i) __builtin_ia32_palignr128_mask ((__v2di)(__m128i)(X), \
2179 (__v2di)(__m128i)(Y), (int)((N) * 8), \
2180 (__v2di)(__m128i)_mm_avx512_setzero_si128 (), \
2183 #define _mm_mask_slli_epi16(W, U, X, C) \
2184 ((__m128i)__builtin_ia32_psllwi128_mask ((__v8hi)(__m128i)(X), \
2185 (unsigned int)(C), \
2186 (__v8hi)(__m128i)(W), \
2189 #define _mm_maskz_slli_epi16(U, X, C) \
2190 ((__m128i)__builtin_ia32_psllwi128_mask ((__v8hi)(__m128i)(X), \
2191 (unsigned int)(C), \
2192 (__v8hi)(__m128i)_mm_avx512_setzero_si128 (), \
2195 #define _mm256_dbsad_epu8(X, Y, C) \
2196 ((__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi)(__m256i) (X), \
2197 (__v32qi)(__m256i) (Y), (int) (C), \
2198 (__v16hi)(__m256i)_mm256_avx512_setzero_si256(),\
2201 #define _mm256_mask_slli_epi16(W, U, X, C) \
2202 ((__m256i)__builtin_ia32_psllwi256_mask ((__v16hi)(__m256i)(X), \
2203 (unsigned int)(C), \
2204 (__v16hi)(__m256i)(W), \
2207 #define _mm256_maskz_slli_epi16(U, X, C) \
2208 ((__m256i)__builtin_ia32_psllwi256_mask ((__v16hi)(__m256i)(X), \
2209 (unsigned int)(C), \
2210 (__v16hi)(__m256i)_mm256_avx512_setzero_si256 (), \
2213 #define _mm256_mask_dbsad_epu8(W, U, X, Y, C) \
2214 ((__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi)(__m256i) (X), \
2215 (__v32qi)(__m256i) (Y), (int) (C), \
2216 (__v16hi)(__m256i)(W), \
2219 #define _mm256_maskz_dbsad_epu8(U, X, Y, C) \
2220 ((__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi)(__m256i) (X), \
2221 (__v32qi)(__m256i) (Y), (int) (C), \
2222 (__v16hi)(__m256i)_mm256_avx512_setzero_si256(),\
2225 #define _mm_dbsad_epu8(X, Y, C) \
2226 ((__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi)(__m128i) (X), \
2227 (__v16qi)(__m128i) (Y), (int) (C), \
2228 (__v8hi)(__m128i)_mm_avx512_setzero_si128(), \
2231 #define _mm_mask_dbsad_epu8(W, U, X, Y, C) \
2232 ((__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi)(__m128i) (X), \
2233 (__v16qi)(__m128i) (Y), (int) (C), \
2234 (__v8hi)(__m128i)(W), \
2237 #define _mm_maskz_dbsad_epu8(U, X, Y, C) \
2238 ((__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi)(__m128i) (X), \
2239 (__v16qi)(__m128i) (Y), (int) (C), \
2240 (__v8hi)(__m128i)_mm_avx512_setzero_si128(), \
2243 #define _mm_cmp_epi16_mask(X, Y, P) \
2244 ((__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi)(__m128i)(X), \
2245 (__v8hi)(__m128i)(Y), (int)(P),\
2248 #define _mm_cmp_epi8_mask(X, Y, P) \
2249 ((__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi)(__m128i)(X), \
2250 (__v16qi)(__m128i)(Y), (int)(P),\
2253 #define _mm256_cmp_epi16_mask(X, Y, P) \
2254 ((__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi)(__m256i)(X), \
2255 (__v16hi)(__m256i)(Y), (int)(P),\
2258 #define _mm256_cmp_epi8_mask(X, Y, P) \
2259 ((__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi)(__m256i)(X), \
2260 (__v32qi)(__m256i)(Y), (int)(P),\
2263 #define _mm_cmp_epu16_mask(X, Y, P) \
2264 ((__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi)(__m128i)(X), \
2265 (__v8hi)(__m128i)(Y), (int)(P),\
2268 #define _mm_cmp_epu8_mask(X, Y, P) \
2269 ((__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi)(__m128i)(X), \
2270 (__v16qi)(__m128i)(Y), (int)(P),\
2273 #define _mm256_cmp_epu16_mask(X, Y, P) \
2274 ((__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi)(__m256i)(X), \
2275 (__v16hi)(__m256i)(Y), (int)(P),\
2278 #define _mm256_cmp_epu8_mask(X, Y, P) \
2279 ((__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi)(__m256i)(X), \
2280 (__v32qi)(__m256i)(Y), (int)(P),\
2283 #define _mm_mask_cmp_epi16_mask(M, X, Y, P) \
2284 ((__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi)(__m128i)(X), \
2285 (__v8hi)(__m128i)(Y), (int)(P),\
2288 #define _mm_mask_cmp_epi8_mask(M, X, Y, P) \
2289 ((__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi)(__m128i)(X), \
2290 (__v16qi)(__m128i)(Y), (int)(P),\
2293 #define _mm256_mask_cmp_epi16_mask(M, X, Y, P) \
2294 ((__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi)(__m256i)(X), \
2295 (__v16hi)(__m256i)(Y), (int)(P),\
2298 #define _mm256_mask_cmp_epi8_mask(M, X, Y, P) \
2299 ((__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi)(__m256i)(X), \
2300 (__v32qi)(__m256i)(Y), (int)(P),\
2303 #define _mm_mask_cmp_epu16_mask(M, X, Y, P) \
2304 ((__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi)(__m128i)(X), \
2305 (__v8hi)(__m128i)(Y), (int)(P),\
2308 #define _mm_mask_cmp_epu8_mask(M, X, Y, P) \
2309 ((__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi)(__m128i)(X), \
2310 (__v16qi)(__m128i)(Y), (int)(P),\
2313 #define _mm256_mask_cmp_epu16_mask(M, X, Y, P) \
2314 ((__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi)(__m256i)(X), \
2315 (__v16hi)(__m256i)(Y), (int)(P),\
2318 #define _mm256_mask_cmp_epu8_mask(M, X, Y, P) \
2319 ((__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi)(__m256i)(X), \
2320 (__v32qi)(__m256i)(Y), (int)(P),\
2324 extern __inline __mmask32
2325 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2326 _mm256_cmpneq_epi8_mask (__m256i __X
, __m256i __Y
)
2328 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
2333 extern __inline __mmask32
2334 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2335 _mm256_cmplt_epi8_mask (__m256i __X
, __m256i __Y
)
2337 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
2342 extern __inline __mmask32
2343 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2344 _mm256_cmpge_epi8_mask (__m256i __X
, __m256i __Y
)
2346 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
2351 extern __inline __mmask32
2352 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2353 _mm256_cmple_epi8_mask (__m256i __X
, __m256i __Y
)
2355 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
2360 extern __inline __mmask16
2361 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2362 _mm256_cmpneq_epi16_mask (__m256i __X
, __m256i __Y
)
2364 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
2369 extern __inline __mmask16
2370 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2371 _mm256_cmplt_epi16_mask (__m256i __X
, __m256i __Y
)
2373 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
2378 extern __inline __mmask16
2379 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2380 _mm256_cmpge_epi16_mask (__m256i __X
, __m256i __Y
)
2382 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
2387 extern __inline __mmask16
2388 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2389 _mm256_cmple_epi16_mask (__m256i __X
, __m256i __Y
)
2391 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
2396 extern __inline __mmask16
2397 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2398 _mm_cmpneq_epu8_mask (__m128i __X
, __m128i __Y
)
2400 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
2405 extern __inline __mmask16
2406 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2407 _mm_cmplt_epu8_mask (__m128i __X
, __m128i __Y
)
2409 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
2414 extern __inline __mmask16
2415 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2416 _mm_cmpge_epu8_mask (__m128i __X
, __m128i __Y
)
2418 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
2423 extern __inline __mmask16
2424 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2425 _mm_cmple_epu8_mask (__m128i __X
, __m128i __Y
)
2427 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
2432 extern __inline __mmask8
2433 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2434 _mm_cmpneq_epu16_mask (__m128i __X
, __m128i __Y
)
2436 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
2441 extern __inline __mmask8
2442 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2443 _mm_cmplt_epu16_mask (__m128i __X
, __m128i __Y
)
2445 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
2450 extern __inline __mmask8
2451 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2452 _mm_cmpge_epu16_mask (__m128i __X
, __m128i __Y
)
2454 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
2459 extern __inline __mmask8
2460 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2461 _mm_cmple_epu16_mask (__m128i __X
, __m128i __Y
)
2463 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
2468 extern __inline __mmask16
2469 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2470 _mm_cmpneq_epi8_mask (__m128i __X
, __m128i __Y
)
2472 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
2477 extern __inline __mmask16
2478 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2479 _mm_cmplt_epi8_mask (__m128i __X
, __m128i __Y
)
2481 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
2486 extern __inline __mmask16
2487 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2488 _mm_cmpge_epi8_mask (__m128i __X
, __m128i __Y
)
2490 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
2495 extern __inline __mmask16
2496 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2497 _mm_cmple_epi8_mask (__m128i __X
, __m128i __Y
)
2499 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
2504 extern __inline __mmask8
2505 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2506 _mm_cmpneq_epi16_mask (__m128i __X
, __m128i __Y
)
2508 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
2513 extern __inline __mmask8
2514 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2515 _mm_cmplt_epi16_mask (__m128i __X
, __m128i __Y
)
2517 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
2522 extern __inline __mmask8
2523 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2524 _mm_cmpge_epi16_mask (__m128i __X
, __m128i __Y
)
2526 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
2531 extern __inline __mmask8
2532 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2533 _mm_cmple_epi16_mask (__m128i __X
, __m128i __Y
)
2535 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
2540 extern __inline __m256i
2541 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2542 _mm256_mask_mulhrs_epi16 (__m256i __W
, __mmask16 __U
, __m256i __X
,
2545 return (__m256i
) __builtin_ia32_pmulhrsw256_mask ((__v16hi
) __X
,
2551 extern __inline __m256i
2552 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2553 _mm256_maskz_mulhrs_epi16 (__mmask16 __U
, __m256i __X
, __m256i __Y
)
2555 return (__m256i
) __builtin_ia32_pmulhrsw256_mask ((__v16hi
) __X
,
2558 _mm256_avx512_setzero_si256 (),
2562 extern __inline __m256i
2563 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2564 _mm256_mask_mulhi_epu16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2567 return (__m256i
) __builtin_ia32_pmulhuw256_mask ((__v16hi
) __A
,
2573 extern __inline __m256i
2574 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2575 _mm256_maskz_mulhi_epu16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
2577 return (__m256i
) __builtin_ia32_pmulhuw256_mask ((__v16hi
) __A
,
2580 _mm256_avx512_setzero_si256 (),
2584 extern __inline __m256i
2585 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2586 _mm256_mask_mulhi_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2589 return (__m256i
) __builtin_ia32_pmulhw256_mask ((__v16hi
) __A
,
2595 extern __inline __m256i
2596 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2597 _mm256_maskz_mulhi_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
2599 return (__m256i
) __builtin_ia32_pmulhw256_mask ((__v16hi
) __A
,
2602 _mm256_avx512_setzero_si256 (),
2606 extern __inline __m128i
2607 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2608 _mm_mask_mulhi_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
2611 return (__m128i
) __builtin_ia32_pmulhw128_mask ((__v8hi
) __A
,
2617 extern __inline __m128i
2618 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2619 _mm_maskz_mulhi_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
2621 return (__m128i
) __builtin_ia32_pmulhw128_mask ((__v8hi
) __A
,
2624 _mm_avx512_setzero_si128 (),
2628 extern __inline __m128i
2629 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2630 _mm_mask_mulhi_epu16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
2633 return (__m128i
) __builtin_ia32_pmulhuw128_mask ((__v8hi
) __A
,
2639 extern __inline __m128i
2640 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2641 _mm_maskz_mulhi_epu16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
2643 return (__m128i
) __builtin_ia32_pmulhuw128_mask ((__v8hi
) __A
,
2646 _mm_avx512_setzero_si128 (),
2650 extern __inline __m128i
2651 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2652 _mm_mask_mulhrs_epi16 (__m128i __W
, __mmask8 __U
, __m128i __X
,
2655 return (__m128i
) __builtin_ia32_pmulhrsw128_mask ((__v8hi
) __X
,
2661 extern __inline __m128i
2662 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2663 _mm_maskz_mulhrs_epi16 (__mmask8 __U
, __m128i __X
, __m128i __Y
)
2665 return (__m128i
) __builtin_ia32_pmulhrsw128_mask ((__v8hi
) __X
,
2668 _mm_avx512_setzero_si128 (),
2672 extern __inline __m256i
2673 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2674 _mm256_mask_mullo_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2677 return (__m256i
) __builtin_ia32_pmullw256_mask ((__v16hi
) __A
,
2683 extern __inline __m256i
2684 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2685 _mm256_maskz_mullo_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
2687 return (__m256i
) __builtin_ia32_pmullw256_mask ((__v16hi
) __A
,
2690 _mm256_avx512_setzero_si256 (),
2694 extern __inline __m128i
2695 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2696 _mm_mask_mullo_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
2699 return (__m128i
) __builtin_ia32_pmullw128_mask ((__v8hi
) __A
,
2705 extern __inline __m128i
2706 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2707 _mm_maskz_mullo_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
2709 return (__m128i
) __builtin_ia32_pmullw128_mask ((__v8hi
) __A
,
2712 _mm_avx512_setzero_si128 (),
2716 extern __inline __m256i
2717 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2718 _mm256_mask_cvtepi8_epi16 (__m256i __W
, __mmask16 __U
, __m128i __A
)
2720 return (__m256i
) __builtin_ia32_pmovsxbw256_mask ((__v16qi
) __A
,
2725 extern __inline __m256i
2726 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2727 _mm256_maskz_cvtepi8_epi16 (__mmask16 __U
, __m128i __A
)
2729 return (__m256i
) __builtin_ia32_pmovsxbw256_mask ((__v16qi
) __A
,
2731 _mm256_avx512_setzero_si256 (),
2735 extern __inline __m128i
2736 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2737 _mm_mask_cvtepi8_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
)
2739 return (__m128i
) __builtin_ia32_pmovsxbw128_mask ((__v16qi
) __A
,
2744 extern __inline __m128i
2745 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2746 _mm_maskz_cvtepi8_epi16 (__mmask8 __U
, __m128i __A
)
2748 return (__m128i
) __builtin_ia32_pmovsxbw128_mask ((__v16qi
) __A
,
2750 _mm_avx512_setzero_si128 (),
2754 extern __inline __m256i
2755 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2756 _mm256_mask_cvtepu8_epi16 (__m256i __W
, __mmask16 __U
, __m128i __A
)
2758 return (__m256i
) __builtin_ia32_pmovzxbw256_mask ((__v16qi
) __A
,
2763 extern __inline __m256i
2764 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2765 _mm256_maskz_cvtepu8_epi16 (__mmask16 __U
, __m128i __A
)
2767 return (__m256i
) __builtin_ia32_pmovzxbw256_mask ((__v16qi
) __A
,
2769 _mm256_avx512_setzero_si256 (),
2773 extern __inline __m128i
2774 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2775 _mm_mask_cvtepu8_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
)
2777 return (__m128i
) __builtin_ia32_pmovzxbw128_mask ((__v16qi
) __A
,
2782 extern __inline __m128i
2783 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2784 _mm_maskz_cvtepu8_epi16 (__mmask8 __U
, __m128i __A
)
2786 return (__m128i
) __builtin_ia32_pmovzxbw128_mask ((__v16qi
) __A
,
2788 _mm_avx512_setzero_si128 (),
2792 extern __inline __m256i
2793 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2794 _mm256_mask_avg_epu8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
2797 return (__m256i
) __builtin_ia32_pavgb256_mask ((__v32qi
) __A
,
2803 extern __inline __m256i
2804 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2805 _mm256_maskz_avg_epu8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
2807 return (__m256i
) __builtin_ia32_pavgb256_mask ((__v32qi
) __A
,
2810 _mm256_avx512_setzero_si256 (),
2814 extern __inline __m128i
2815 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2816 _mm_mask_avg_epu8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
2819 return (__m128i
) __builtin_ia32_pavgb128_mask ((__v16qi
) __A
,
2825 extern __inline __m128i
2826 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2827 _mm_maskz_avg_epu8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
2829 return (__m128i
) __builtin_ia32_pavgb128_mask ((__v16qi
) __A
,
2832 _mm_avx512_setzero_si128 (),
2836 extern __inline __m256i
2837 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2838 _mm256_mask_avg_epu16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2841 return (__m256i
) __builtin_ia32_pavgw256_mask ((__v16hi
) __A
,
2847 extern __inline __m256i
2848 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2849 _mm256_maskz_avg_epu16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
2851 return (__m256i
) __builtin_ia32_pavgw256_mask ((__v16hi
) __A
,
2854 _mm256_avx512_setzero_si256 (),
2858 extern __inline __m128i
2859 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2860 _mm_mask_avg_epu16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
2863 return (__m128i
) __builtin_ia32_pavgw128_mask ((__v8hi
) __A
,
2869 extern __inline __m128i
2870 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2871 _mm_maskz_avg_epu16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
2873 return (__m128i
) __builtin_ia32_pavgw128_mask ((__v8hi
) __A
,
2876 _mm_avx512_setzero_si128 (),
2880 extern __inline __m256i
2881 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2882 _mm256_mask_add_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
2885 return (__m256i
) __builtin_ia32_paddb256_mask ((__v32qi
) __A
,
2891 extern __inline __m256i
2892 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2893 _mm256_maskz_add_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
2895 return (__m256i
) __builtin_ia32_paddb256_mask ((__v32qi
) __A
,
2898 _mm256_avx512_setzero_si256 (),
2902 extern __inline __m256i
2903 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2904 _mm256_mask_add_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2907 return (__m256i
) __builtin_ia32_paddw256_mask ((__v16hi
) __A
,
2913 extern __inline __m256i
2914 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2915 _mm256_maskz_add_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
2917 return (__m256i
) __builtin_ia32_paddw256_mask ((__v16hi
) __A
,
2920 _mm256_avx512_setzero_si256 (),
2924 extern __inline __m256i
2925 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2926 _mm256_mask_adds_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
2929 return (__m256i
) __builtin_ia32_paddsb256_mask ((__v32qi
) __A
,
2935 extern __inline __m256i
2936 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2937 _mm256_maskz_adds_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
2939 return (__m256i
) __builtin_ia32_paddsb256_mask ((__v32qi
) __A
,
2942 _mm256_avx512_setzero_si256 (),
2946 extern __inline __m256i
2947 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2948 _mm256_mask_adds_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2951 return (__m256i
) __builtin_ia32_paddsw256_mask ((__v16hi
) __A
,
2957 extern __inline __m256i
2958 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2959 _mm256_maskz_adds_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
2961 return (__m256i
) __builtin_ia32_paddsw256_mask ((__v16hi
) __A
,
2964 _mm256_avx512_setzero_si256 (),
2968 extern __inline __m256i
2969 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2970 _mm256_mask_adds_epu8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
2973 return (__m256i
) __builtin_ia32_paddusb256_mask ((__v32qi
) __A
,
2979 extern __inline __m256i
2980 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2981 _mm256_maskz_adds_epu8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
2983 return (__m256i
) __builtin_ia32_paddusb256_mask ((__v32qi
) __A
,
2986 _mm256_avx512_setzero_si256 (),
2990 extern __inline __m256i
2991 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
2992 _mm256_mask_adds_epu16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
2995 return (__m256i
) __builtin_ia32_paddusw256_mask ((__v16hi
) __A
,
3001 extern __inline __m256i
3002 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3003 _mm256_maskz_adds_epu16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
3005 return (__m256i
) __builtin_ia32_paddusw256_mask ((__v16hi
) __A
,
3008 _mm256_avx512_setzero_si256 (),
3012 extern __inline __m256i
3013 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3014 _mm256_mask_sub_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
3017 return (__m256i
) __builtin_ia32_psubb256_mask ((__v32qi
) __A
,
3023 extern __inline __m256i
3024 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3025 _mm256_maskz_sub_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
3027 return (__m256i
) __builtin_ia32_psubb256_mask ((__v32qi
) __A
,
3030 _mm256_avx512_setzero_si256 (),
3034 extern __inline __m256i
3035 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3036 _mm256_mask_sub_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
3039 return (__m256i
) __builtin_ia32_psubw256_mask ((__v16hi
) __A
,
3045 extern __inline __m256i
3046 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3047 _mm256_maskz_sub_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
3049 return (__m256i
) __builtin_ia32_psubw256_mask ((__v16hi
) __A
,
3052 _mm256_avx512_setzero_si256 (),
3056 extern __inline __m256i
3057 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3058 _mm256_mask_subs_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
3061 return (__m256i
) __builtin_ia32_psubsb256_mask ((__v32qi
) __A
,
3067 extern __inline __m256i
3068 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3069 _mm256_maskz_subs_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
3071 return (__m256i
) __builtin_ia32_psubsb256_mask ((__v32qi
) __A
,
3074 _mm256_avx512_setzero_si256 (),
3078 extern __inline __m256i
3079 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3080 _mm256_mask_subs_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
3083 return (__m256i
) __builtin_ia32_psubsw256_mask ((__v16hi
) __A
,
3089 extern __inline __m256i
3090 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3091 _mm256_maskz_subs_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
3093 return (__m256i
) __builtin_ia32_psubsw256_mask ((__v16hi
) __A
,
3096 _mm256_avx512_setzero_si256 (),
3100 extern __inline __m256i
3101 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3102 _mm256_mask_subs_epu8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
3105 return (__m256i
) __builtin_ia32_psubusb256_mask ((__v32qi
) __A
,
3111 extern __inline __m256i
3112 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3113 _mm256_maskz_subs_epu8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
3115 return (__m256i
) __builtin_ia32_psubusb256_mask ((__v32qi
) __A
,
3118 _mm256_avx512_setzero_si256 (),
3122 extern __inline __m256i
3123 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3124 _mm256_mask_subs_epu16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
3127 return (__m256i
) __builtin_ia32_psubusw256_mask ((__v16hi
) __A
,
3133 extern __inline __m256i
3134 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3135 _mm256_maskz_subs_epu16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
3137 return (__m256i
) __builtin_ia32_psubusw256_mask ((__v16hi
) __A
,
3140 _mm256_avx512_setzero_si256 (),
3144 extern __inline __m128i
3145 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3146 _mm_mask_add_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
3149 return (__m128i
) __builtin_ia32_paddb128_mask ((__v16qi
) __A
,
3155 extern __inline __m128i
3156 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3157 _mm_maskz_add_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
3159 return (__m128i
) __builtin_ia32_paddb128_mask ((__v16qi
) __A
,
3162 _mm_avx512_setzero_si128 (),
3166 extern __inline __m128i
3167 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3168 _mm_mask_add_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
3171 return (__m128i
) __builtin_ia32_paddw128_mask ((__v8hi
) __A
,
3177 extern __inline __m128i
3178 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3179 _mm_maskz_add_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
3181 return (__m128i
) __builtin_ia32_paddw128_mask ((__v8hi
) __A
,
3184 _mm_avx512_setzero_si128 (),
3188 extern __inline __m256i
3189 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3190 _mm256_mask_unpackhi_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
3193 return (__m256i
) __builtin_ia32_punpckhbw256_mask ((__v32qi
) __A
,
3199 extern __inline __m256i
3200 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3201 _mm256_maskz_unpackhi_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
3203 return (__m256i
) __builtin_ia32_punpckhbw256_mask ((__v32qi
) __A
,
3206 _mm256_avx512_setzero_si256 (),
3210 extern __inline __m128i
3211 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3212 _mm_mask_unpackhi_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
3215 return (__m128i
) __builtin_ia32_punpckhbw128_mask ((__v16qi
) __A
,
3221 extern __inline __m128i
3222 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3223 _mm_maskz_unpackhi_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
3225 return (__m128i
) __builtin_ia32_punpckhbw128_mask ((__v16qi
) __A
,
3228 _mm_avx512_setzero_si128 (),
3232 extern __inline __m256i
3233 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3234 _mm256_mask_unpackhi_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
3237 return (__m256i
) __builtin_ia32_punpckhwd256_mask ((__v16hi
) __A
,
3243 extern __inline __m256i
3244 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3245 _mm256_maskz_unpackhi_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
3247 return (__m256i
) __builtin_ia32_punpckhwd256_mask ((__v16hi
) __A
,
3250 _mm256_avx512_setzero_si256 (),
3254 extern __inline __m128i
3255 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3256 _mm_mask_unpackhi_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
3259 return (__m128i
) __builtin_ia32_punpckhwd128_mask ((__v8hi
) __A
,
3265 extern __inline __m128i
3266 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3267 _mm_maskz_unpackhi_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
3269 return (__m128i
) __builtin_ia32_punpckhwd128_mask ((__v8hi
) __A
,
3272 _mm_avx512_setzero_si128 (),
3276 extern __inline __m256i
3277 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3278 _mm256_mask_unpacklo_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
3281 return (__m256i
) __builtin_ia32_punpcklbw256_mask ((__v32qi
) __A
,
3287 extern __inline __m256i
3288 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3289 _mm256_maskz_unpacklo_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
3291 return (__m256i
) __builtin_ia32_punpcklbw256_mask ((__v32qi
) __A
,
3294 _mm256_avx512_setzero_si256 (),
3298 extern __inline __m128i
3299 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3300 _mm_mask_unpacklo_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
3303 return (__m128i
) __builtin_ia32_punpcklbw128_mask ((__v16qi
) __A
,
3309 extern __inline __m128i
3310 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3311 _mm_maskz_unpacklo_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
3313 return (__m128i
) __builtin_ia32_punpcklbw128_mask ((__v16qi
) __A
,
3316 _mm_avx512_setzero_si128 (),
3320 extern __inline __m256i
3321 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3322 _mm256_mask_unpacklo_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
3325 return (__m256i
) __builtin_ia32_punpcklwd256_mask ((__v16hi
) __A
,
3331 extern __inline __m256i
3332 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3333 _mm256_maskz_unpacklo_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
3335 return (__m256i
) __builtin_ia32_punpcklwd256_mask ((__v16hi
) __A
,
3338 _mm256_avx512_setzero_si256 (),
3342 extern __inline __m128i
3343 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3344 _mm_mask_unpacklo_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
3347 return (__m128i
) __builtin_ia32_punpcklwd128_mask ((__v8hi
) __A
,
3353 extern __inline __m128i
3354 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3355 _mm_maskz_unpacklo_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
3357 return (__m128i
) __builtin_ia32_punpcklwd128_mask ((__v8hi
) __A
,
3360 _mm_avx512_setzero_si128 (),
3364 extern __inline __mmask16
3365 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3366 _mm_cmpeq_epi8_mask (__m128i __A
, __m128i __B
)
3368 return (__mmask16
) __builtin_ia32_pcmpeqb128_mask ((__v16qi
) __A
,
3373 extern __inline __mmask16
3374 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3375 _mm_cmpeq_epu8_mask (__m128i __A
, __m128i __B
)
3377 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __A
,
3382 extern __inline __mmask16
3383 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3384 _mm_mask_cmpeq_epu8_mask (__mmask16 __U
, __m128i __A
, __m128i __B
)
3386 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __A
,
3391 extern __inline __mmask16
3392 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3393 _mm_mask_cmpeq_epi8_mask (__mmask16 __U
, __m128i __A
, __m128i __B
)
3395 return (__mmask16
) __builtin_ia32_pcmpeqb128_mask ((__v16qi
) __A
,
3400 extern __inline __mmask32
3401 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3402 _mm256_cmpeq_epu8_mask (__m256i __A
, __m256i __B
)
3404 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __A
,
3409 extern __inline __mmask32
3410 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3411 _mm256_cmpeq_epi8_mask (__m256i __A
, __m256i __B
)
3413 return (__mmask32
) __builtin_ia32_pcmpeqb256_mask ((__v32qi
) __A
,
3418 extern __inline __mmask32
3419 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3420 _mm256_mask_cmpeq_epu8_mask (__mmask32 __U
, __m256i __A
, __m256i __B
)
3422 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __A
,
3427 extern __inline __mmask32
3428 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3429 _mm256_mask_cmpeq_epi8_mask (__mmask32 __U
, __m256i __A
, __m256i __B
)
3431 return (__mmask32
) __builtin_ia32_pcmpeqb256_mask ((__v32qi
) __A
,
3436 extern __inline __mmask8
3437 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3438 _mm_cmpeq_epu16_mask (__m128i __A
, __m128i __B
)
3440 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __A
,
3445 extern __inline __mmask8
3446 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3447 _mm_cmpeq_epi16_mask (__m128i __A
, __m128i __B
)
3449 return (__mmask8
) __builtin_ia32_pcmpeqw128_mask ((__v8hi
) __A
,
3454 extern __inline __mmask8
3455 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3456 _mm_mask_cmpeq_epu16_mask (__mmask8 __U
, __m128i __A
, __m128i __B
)
3458 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __A
,
3459 (__v8hi
) __B
, 0, __U
);
3462 extern __inline __mmask8
3463 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3464 _mm_mask_cmpeq_epi16_mask (__mmask8 __U
, __m128i __A
, __m128i __B
)
3466 return (__mmask8
) __builtin_ia32_pcmpeqw128_mask ((__v8hi
) __A
,
3470 extern __inline __mmask16
3471 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3472 _mm256_cmpeq_epu16_mask (__m256i __A
, __m256i __B
)
3474 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __A
,
3479 extern __inline __mmask16
3480 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3481 _mm256_cmpeq_epi16_mask (__m256i __A
, __m256i __B
)
3483 return (__mmask16
) __builtin_ia32_pcmpeqw256_mask ((__v16hi
) __A
,
3488 extern __inline __mmask16
3489 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3490 _mm256_mask_cmpeq_epu16_mask (__mmask16 __U
, __m256i __A
, __m256i __B
)
3492 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __A
,
3497 extern __inline __mmask16
3498 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3499 _mm256_mask_cmpeq_epi16_mask (__mmask16 __U
, __m256i __A
, __m256i __B
)
3501 return (__mmask16
) __builtin_ia32_pcmpeqw256_mask ((__v16hi
) __A
,
3506 extern __inline __mmask16
3507 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3508 _mm_cmpgt_epu8_mask (__m128i __A
, __m128i __B
)
3510 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __A
,
3515 extern __inline __mmask16
3516 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3517 _mm_cmpgt_epi8_mask (__m128i __A
, __m128i __B
)
3519 return (__mmask16
) __builtin_ia32_pcmpgtb128_mask ((__v16qi
) __A
,
3524 extern __inline __mmask16
3525 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3526 _mm_mask_cmpgt_epu8_mask (__mmask16 __U
, __m128i __A
, __m128i __B
)
3528 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __A
,
3533 extern __inline __mmask16
3534 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3535 _mm_mask_cmpgt_epi8_mask (__mmask16 __U
, __m128i __A
, __m128i __B
)
3537 return (__mmask16
) __builtin_ia32_pcmpgtb128_mask ((__v16qi
) __A
,
3542 extern __inline __mmask32
3543 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3544 _mm256_cmpgt_epu8_mask (__m256i __A
, __m256i __B
)
3546 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __A
,
3551 extern __inline __mmask32
3552 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3553 _mm256_cmpgt_epi8_mask (__m256i __A
, __m256i __B
)
3555 return (__mmask32
) __builtin_ia32_pcmpgtb256_mask ((__v32qi
) __A
,
3560 extern __inline __mmask32
3561 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3562 _mm256_mask_cmpgt_epu8_mask (__mmask32 __U
, __m256i __A
, __m256i __B
)
3564 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __A
,
3569 extern __inline __mmask32
3570 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3571 _mm256_mask_cmpgt_epi8_mask (__mmask32 __U
, __m256i __A
, __m256i __B
)
3573 return (__mmask32
) __builtin_ia32_pcmpgtb256_mask ((__v32qi
) __A
,
3578 extern __inline __mmask8
3579 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3580 _mm_cmpgt_epu16_mask (__m128i __A
, __m128i __B
)
3582 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __A
,
3587 extern __inline __mmask8
3588 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3589 _mm_cmpgt_epi16_mask (__m128i __A
, __m128i __B
)
3591 return (__mmask8
) __builtin_ia32_pcmpgtw128_mask ((__v8hi
) __A
,
3596 extern __inline __mmask8
3597 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3598 _mm_mask_cmpgt_epu16_mask (__mmask8 __U
, __m128i __A
, __m128i __B
)
3600 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __A
,
3601 (__v8hi
) __B
, 6, __U
);
3604 extern __inline __mmask8
3605 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3606 _mm_mask_cmpgt_epi16_mask (__mmask8 __U
, __m128i __A
, __m128i __B
)
3608 return (__mmask8
) __builtin_ia32_pcmpgtw128_mask ((__v8hi
) __A
,
3612 extern __inline __mmask16
3613 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3614 _mm256_cmpgt_epu16_mask (__m256i __A
, __m256i __B
)
3616 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __A
,
3621 extern __inline __mmask16
3622 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3623 _mm256_cmpgt_epi16_mask (__m256i __A
, __m256i __B
)
3625 return (__mmask16
) __builtin_ia32_pcmpgtw256_mask ((__v16hi
) __A
,
3630 extern __inline __mmask16
3631 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3632 _mm256_mask_cmpgt_epu16_mask (__mmask16 __U
, __m256i __A
, __m256i __B
)
3634 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __A
,
3639 extern __inline __mmask16
3640 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3641 _mm256_mask_cmpgt_epi16_mask (__mmask16 __U
, __m256i __A
, __m256i __B
)
3643 return (__mmask16
) __builtin_ia32_pcmpgtw256_mask ((__v16hi
) __A
,
3648 extern __inline __mmask16
3649 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3650 _mm_testn_epi8_mask (__m128i __A
, __m128i __B
)
3652 return (__mmask16
) __builtin_ia32_ptestnmb128 ((__v16qi
) __A
,
3657 extern __inline __mmask16
3658 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3659 _mm_mask_testn_epi8_mask (__mmask16 __U
, __m128i __A
, __m128i __B
)
3661 return (__mmask16
) __builtin_ia32_ptestnmb128 ((__v16qi
) __A
,
3662 (__v16qi
) __B
, __U
);
3665 extern __inline __mmask32
3666 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3667 _mm256_testn_epi8_mask (__m256i __A
, __m256i __B
)
3669 return (__mmask32
) __builtin_ia32_ptestnmb256 ((__v32qi
) __A
,
3674 extern __inline __mmask32
3675 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3676 _mm256_mask_testn_epi8_mask (__mmask32 __U
, __m256i __A
, __m256i __B
)
3678 return (__mmask32
) __builtin_ia32_ptestnmb256 ((__v32qi
) __A
,
3679 (__v32qi
) __B
, __U
);
3682 extern __inline __mmask8
3683 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3684 _mm_testn_epi16_mask (__m128i __A
, __m128i __B
)
3686 return (__mmask8
) __builtin_ia32_ptestnmw128 ((__v8hi
) __A
,
3691 extern __inline __mmask8
3692 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3693 _mm_mask_testn_epi16_mask (__mmask8 __U
, __m128i __A
, __m128i __B
)
3695 return (__mmask8
) __builtin_ia32_ptestnmw128 ((__v8hi
) __A
,
3699 extern __inline __mmask16
3700 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3701 _mm256_testn_epi16_mask (__m256i __A
, __m256i __B
)
3703 return (__mmask16
) __builtin_ia32_ptestnmw256 ((__v16hi
) __A
,
3708 extern __inline __mmask16
3709 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3710 _mm256_mask_testn_epi16_mask (__mmask16 __U
, __m256i __A
, __m256i __B
)
3712 return (__mmask16
) __builtin_ia32_ptestnmw256 ((__v16hi
) __A
,
3713 (__v16hi
) __B
, __U
);
3716 extern __inline __m256i
3717 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3718 _mm256_mask_shuffle_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
,
3721 return (__m256i
) __builtin_ia32_pshufb256_mask ((__v32qi
) __A
,
3727 extern __inline __m256i
3728 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3729 _mm256_maskz_shuffle_epi8 (__mmask32 __U
, __m256i __A
, __m256i __B
)
3731 return (__m256i
) __builtin_ia32_pshufb256_mask ((__v32qi
) __A
,
3734 _mm256_avx512_setzero_si256 (),
3738 extern __inline __m128i
3739 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3740 _mm_mask_shuffle_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
3743 return (__m128i
) __builtin_ia32_pshufb128_mask ((__v16qi
) __A
,
3749 extern __inline __m128i
3750 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3751 _mm_maskz_shuffle_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
3753 return (__m128i
) __builtin_ia32_pshufb128_mask ((__v16qi
) __A
,
3756 _mm_avx512_setzero_si128 (),
3760 extern __inline __m256i
3761 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3762 _mm256_maskz_packs_epi16 (__mmask32 __M
, __m256i __A
, __m256i __B
)
3764 return (__m256i
) __builtin_ia32_packsswb256_mask ((__v16hi
) __A
,
3767 _mm256_avx512_setzero_si256 (),
3771 extern __inline __m256i
3772 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3773 _mm256_mask_packs_epi16 (__m256i __W
, __mmask32 __M
, __m256i __A
,
3776 return (__m256i
) __builtin_ia32_packsswb256_mask ((__v16hi
) __A
,
3782 extern __inline __m128i
3783 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3784 _mm_maskz_packs_epi16 (__mmask16 __M
, __m128i __A
, __m128i __B
)
3786 return (__m128i
) __builtin_ia32_packsswb128_mask ((__v8hi
) __A
,
3789 _mm_avx512_setzero_si128 (),
3793 extern __inline __m128i
3794 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3795 _mm_mask_packs_epi16 (__m128i __W
, __mmask16 __M
, __m128i __A
,
3798 return (__m128i
) __builtin_ia32_packsswb128_mask ((__v8hi
) __A
,
3804 extern __inline __m256i
3805 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3806 _mm256_maskz_packus_epi16 (__mmask32 __M
, __m256i __A
, __m256i __B
)
3808 return (__m256i
) __builtin_ia32_packuswb256_mask ((__v16hi
) __A
,
3811 _mm256_avx512_setzero_si256 (),
3815 extern __inline __m256i
3816 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3817 _mm256_mask_packus_epi16 (__m256i __W
, __mmask32 __M
, __m256i __A
,
3820 return (__m256i
) __builtin_ia32_packuswb256_mask ((__v16hi
) __A
,
3826 extern __inline __m128i
3827 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3828 _mm_maskz_packus_epi16 (__mmask16 __M
, __m128i __A
, __m128i __B
)
3830 return (__m128i
) __builtin_ia32_packuswb128_mask ((__v8hi
) __A
,
3833 _mm_avx512_setzero_si128 (),
3837 extern __inline __m128i
3838 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3839 _mm_mask_packus_epi16 (__m128i __W
, __mmask16 __M
, __m128i __A
,
3842 return (__m128i
) __builtin_ia32_packuswb128_mask ((__v8hi
) __A
,
3848 extern __inline __m256i
3849 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3850 _mm256_mask_abs_epi8 (__m256i __W
, __mmask32 __U
, __m256i __A
)
3852 return (__m256i
) __builtin_ia32_pabsb256_mask ((__v32qi
) __A
,
3857 extern __inline __m256i
3858 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3859 _mm256_maskz_abs_epi8 (__mmask32 __U
, __m256i __A
)
3861 return (__m256i
) __builtin_ia32_pabsb256_mask ((__v32qi
) __A
,
3863 _mm256_avx512_setzero_si256 (),
3867 extern __inline __m128i
3868 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3869 _mm_mask_abs_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
)
3871 return (__m128i
) __builtin_ia32_pabsb128_mask ((__v16qi
) __A
,
3876 extern __inline __m128i
3877 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3878 _mm_maskz_abs_epi8 (__mmask16 __U
, __m128i __A
)
3880 return (__m128i
) __builtin_ia32_pabsb128_mask ((__v16qi
) __A
,
3882 _mm_avx512_setzero_si128 (),
3886 extern __inline __m256i
3887 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3888 _mm256_mask_abs_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
)
3890 return (__m256i
) __builtin_ia32_pabsw256_mask ((__v16hi
) __A
,
3895 extern __inline __m256i
3896 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3897 _mm256_maskz_abs_epi16 (__mmask16 __U
, __m256i __A
)
3899 return (__m256i
) __builtin_ia32_pabsw256_mask ((__v16hi
) __A
,
3901 _mm256_avx512_setzero_si256 (),
3905 extern __inline __m128i
3906 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3907 _mm_mask_abs_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
)
3909 return (__m128i
) __builtin_ia32_pabsw128_mask ((__v8hi
) __A
,
3914 extern __inline __m128i
3915 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3916 _mm_maskz_abs_epi16 (__mmask8 __U
, __m128i __A
)
3918 return (__m128i
) __builtin_ia32_pabsw128_mask ((__v8hi
) __A
,
3920 _mm_avx512_setzero_si128 (),
3924 extern __inline __mmask32
3925 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3926 _mm256_cmpneq_epu8_mask (__m256i __X
, __m256i __Y
)
3928 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
3933 extern __inline __mmask32
3934 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3935 _mm256_cmplt_epu8_mask (__m256i __X
, __m256i __Y
)
3937 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
3942 extern __inline __mmask32
3943 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3944 _mm256_cmpge_epu8_mask (__m256i __X
, __m256i __Y
)
3946 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
3951 extern __inline __mmask32
3952 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3953 _mm256_cmple_epu8_mask (__m256i __X
, __m256i __Y
)
3955 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
3960 extern __inline __mmask16
3961 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3962 _mm256_cmpneq_epu16_mask (__m256i __X
, __m256i __Y
)
3964 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
3969 extern __inline __mmask16
3970 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3971 _mm256_cmplt_epu16_mask (__m256i __X
, __m256i __Y
)
3973 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
3978 extern __inline __mmask16
3979 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3980 _mm256_cmpge_epu16_mask (__m256i __X
, __m256i __Y
)
3982 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
3987 extern __inline __mmask16
3988 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3989 _mm256_cmple_epu16_mask (__m256i __X
, __m256i __Y
)
3991 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
3996 extern __inline
void
3997 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
3998 _mm256_storeu_epi16 (void *__P
, __m256i __A
)
4000 *(__v16hi_u
*) __P
= (__v16hi_u
) __A
;
4003 extern __inline
void
4004 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4005 _mm256_mask_storeu_epi16 (void *__P
, __mmask16 __U
, __m256i __A
)
4007 __builtin_ia32_storedquhi256_mask ((short *) __P
,
4012 extern __inline
void
4013 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4014 _mm_storeu_epi16 (void *__P
, __m128i __A
)
4016 *(__v8hi_u
*) __P
= (__v8hi_u
) __A
;
4019 extern __inline
void
4020 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4021 _mm_mask_storeu_epi16 (void *__P
, __mmask8 __U
, __m128i __A
)
4023 __builtin_ia32_storedquhi128_mask ((short *) __P
,
4028 extern __inline __m128i
4029 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4030 _mm_mask_adds_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4033 return (__m128i
) __builtin_ia32_paddsw128_mask ((__v8hi
) __A
,
4039 extern __inline __m128i
4040 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4041 _mm_mask_subs_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
4044 return (__m128i
) __builtin_ia32_psubsb128_mask ((__v16qi
) __A
,
4050 extern __inline __m128i
4051 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4052 _mm_maskz_subs_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
4054 return (__m128i
) __builtin_ia32_psubsb128_mask ((__v16qi
) __A
,
4057 _mm_avx512_setzero_si128 (),
4061 extern __inline __m128i
4062 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4063 _mm_mask_subs_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4066 return (__m128i
) __builtin_ia32_psubsw128_mask ((__v8hi
) __A
,
4072 extern __inline __m128i
4073 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4074 _mm_maskz_subs_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4076 return (__m128i
) __builtin_ia32_psubsw128_mask ((__v8hi
) __A
,
4079 _mm_avx512_setzero_si128 (),
4083 extern __inline __m128i
4084 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4085 _mm_mask_subs_epu8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
4088 return (__m128i
) __builtin_ia32_psubusb128_mask ((__v16qi
) __A
,
4094 extern __inline __m128i
4095 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4096 _mm_maskz_subs_epu8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
4098 return (__m128i
) __builtin_ia32_psubusb128_mask ((__v16qi
) __A
,
4101 _mm_avx512_setzero_si128 (),
4105 extern __inline __m128i
4106 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4107 _mm_mask_subs_epu16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4110 return (__m128i
) __builtin_ia32_psubusw128_mask ((__v8hi
) __A
,
4116 extern __inline __m128i
4117 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4118 _mm_maskz_subs_epu16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4120 return (__m128i
) __builtin_ia32_psubusw128_mask ((__v8hi
) __A
,
4123 _mm_avx512_setzero_si128 (),
4127 extern __inline __m256i
4128 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4129 _mm256_mask_srl_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
4132 return (__m256i
) __builtin_ia32_psrlw256_mask ((__v16hi
) __A
,
4138 extern __inline __m256i
4139 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4140 _mm256_maskz_srl_epi16 (__mmask16 __U
, __m256i __A
, __m128i __B
)
4142 return (__m256i
) __builtin_ia32_psrlw256_mask ((__v16hi
) __A
,
4145 _mm256_avx512_setzero_si256 (),
4149 extern __inline __m128i
4150 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4151 _mm_mask_srl_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4154 return (__m128i
) __builtin_ia32_psrlw128_mask ((__v8hi
) __A
,
4160 extern __inline __m128i
4161 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4162 _mm_maskz_srl_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4164 return (__m128i
) __builtin_ia32_psrlw128_mask ((__v8hi
) __A
,
4167 _mm_avx512_setzero_si128 (),
4171 extern __inline __m256i
4172 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4173 _mm256_mask_sra_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
4176 return (__m256i
) __builtin_ia32_psraw256_mask ((__v16hi
) __A
,
4182 extern __inline __m256i
4183 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4184 _mm256_maskz_sra_epi16 (__mmask16 __U
, __m256i __A
, __m128i __B
)
4186 return (__m256i
) __builtin_ia32_psraw256_mask ((__v16hi
) __A
,
4189 _mm256_avx512_setzero_si256 (),
4193 extern __inline __m128i
4194 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4195 _mm_mask_sra_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4198 return (__m128i
) __builtin_ia32_psraw128_mask ((__v8hi
) __A
,
4204 extern __inline __m128i
4205 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4206 _mm_maskz_sra_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4208 return (__m128i
) __builtin_ia32_psraw128_mask ((__v8hi
) __A
,
4211 _mm_avx512_setzero_si128 (),
4215 extern __inline __m128i
4216 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4217 _mm_maskz_adds_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4219 return (__m128i
) __builtin_ia32_paddsw128_mask ((__v8hi
) __A
,
4222 _mm_avx512_setzero_si128 (),
4226 extern __inline __m128i
4227 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4228 _mm_mask_adds_epu8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
4231 return (__m128i
) __builtin_ia32_paddusb128_mask ((__v16qi
) __A
,
4237 extern __inline __m128i
4238 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4239 _mm_maskz_adds_epu8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
4241 return (__m128i
) __builtin_ia32_paddusb128_mask ((__v16qi
) __A
,
4244 _mm_avx512_setzero_si128 (),
4248 extern __inline __m128i
4249 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4250 _mm_mask_adds_epu16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4253 return (__m128i
) __builtin_ia32_paddusw128_mask ((__v8hi
) __A
,
4259 extern __inline __m128i
4260 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4261 _mm_maskz_adds_epu16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4263 return (__m128i
) __builtin_ia32_paddusw128_mask ((__v8hi
) __A
,
4266 _mm_avx512_setzero_si128 (),
4270 extern __inline __m128i
4271 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4272 _mm_mask_sub_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
4275 return (__m128i
) __builtin_ia32_psubb128_mask ((__v16qi
) __A
,
4281 extern __inline __m128i
4282 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4283 _mm_maskz_sub_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
4285 return (__m128i
) __builtin_ia32_psubb128_mask ((__v16qi
) __A
,
4288 _mm_avx512_setzero_si128 (),
4292 extern __inline __m128i
4293 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4294 _mm_mask_sub_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4297 return (__m128i
) __builtin_ia32_psubw128_mask ((__v8hi
) __A
,
4303 extern __inline __m128i
4304 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4305 _mm_maskz_sub_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4307 return (__m128i
) __builtin_ia32_psubw128_mask ((__v8hi
) __A
,
4310 _mm_avx512_setzero_si128 (),
4314 extern __inline __m128i
4315 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4316 _mm_mask_adds_epi8 (__m128i __W
, __mmask16 __U
, __m128i __A
,
4319 return (__m128i
) __builtin_ia32_paddsb128_mask ((__v16qi
) __A
,
4325 extern __inline __m128i
4326 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4327 _mm_maskz_adds_epi8 (__mmask16 __U
, __m128i __A
, __m128i __B
)
4329 return (__m128i
) __builtin_ia32_paddsb128_mask ((__v16qi
) __A
,
4332 _mm_avx512_setzero_si128 (),
4336 extern __inline __m128i
4337 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4338 _mm_cvtepi16_epi8 (__m128i __A
)
4341 return (__m128i
) __builtin_ia32_pmovwb128_mask ((__v8hi
) __A
,
4342 (__v16qi
)_mm_avx512_undefined_si128(),
4346 extern __inline
void
4347 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4348 _mm_mask_cvtepi16_storeu_epi8 (void * __P
, __mmask8 __M
,__m128i __A
)
4350 __builtin_ia32_pmovwb128mem_mask ((unsigned long long *) __P
, (__v8hi
) __A
, __M
);
4353 extern __inline __m128i
4354 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4355 _mm_mask_cvtepi16_epi8 (__m128i __O
, __mmask8 __M
, __m128i __A
)
4357 return (__m128i
) __builtin_ia32_pmovwb128_mask ((__v8hi
) __A
,
4358 (__v16qi
) __O
, __M
);
4361 extern __inline __m128i
4362 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4363 _mm_maskz_cvtepi16_epi8 (__mmask8 __M
, __m128i __A
)
4365 return (__m128i
) __builtin_ia32_pmovwb128_mask ((__v8hi
) __A
,
4367 _mm_avx512_setzero_si128 (),
4371 extern __inline __m256i
4372 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4373 _mm256_srav_epi16 (__m256i __A
, __m256i __B
)
4375 return (__m256i
) __builtin_ia32_psrav16hi_mask ((__v16hi
) __A
,
4378 _mm256_avx512_setzero_si256 (),
4382 extern __inline __m256i
4383 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4384 _mm256_mask_srav_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
4387 return (__m256i
) __builtin_ia32_psrav16hi_mask ((__v16hi
) __A
,
4393 extern __inline __m256i
4394 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4395 _mm256_maskz_srav_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
4397 return (__m256i
) __builtin_ia32_psrav16hi_mask ((__v16hi
) __A
,
4400 _mm256_avx512_setzero_si256 (),
4404 extern __inline __m128i
4405 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4406 _mm_srav_epi16 (__m128i __A
, __m128i __B
)
4408 return (__m128i
) __builtin_ia32_psrav8hi_mask ((__v8hi
) __A
,
4411 _mm_avx512_setzero_si128 (),
4415 extern __inline __m128i
4416 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4417 _mm_mask_srav_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4420 return (__m128i
) __builtin_ia32_psrav8hi_mask ((__v8hi
) __A
,
4426 extern __inline __m128i
4427 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4428 _mm_maskz_srav_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4430 return (__m128i
) __builtin_ia32_psrav8hi_mask ((__v8hi
) __A
,
4433 _mm_avx512_setzero_si128 (),
4437 extern __inline __m256i
4438 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4439 _mm256_srlv_epi16 (__m256i __A
, __m256i __B
)
4441 return (__m256i
) __builtin_ia32_psrlv16hi_mask ((__v16hi
) __A
,
4444 _mm256_avx512_setzero_si256 (),
4448 extern __inline __m256i
4449 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4450 _mm256_mask_srlv_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
4453 return (__m256i
) __builtin_ia32_psrlv16hi_mask ((__v16hi
) __A
,
4459 extern __inline __m256i
4460 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4461 _mm256_maskz_srlv_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
4463 return (__m256i
) __builtin_ia32_psrlv16hi_mask ((__v16hi
) __A
,
4466 _mm256_avx512_setzero_si256 (),
4470 extern __inline __m128i
4471 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4472 _mm_srlv_epi16 (__m128i __A
, __m128i __B
)
4474 return (__m128i
) __builtin_ia32_psrlv8hi_mask ((__v8hi
) __A
,
4477 _mm_avx512_setzero_si128 (),
4481 extern __inline __m128i
4482 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4483 _mm_mask_srlv_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4486 return (__m128i
) __builtin_ia32_psrlv8hi_mask ((__v8hi
) __A
,
4492 extern __inline __m128i
4493 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4494 _mm_maskz_srlv_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4496 return (__m128i
) __builtin_ia32_psrlv8hi_mask ((__v8hi
) __A
,
4499 _mm_avx512_setzero_si128 (),
4503 extern __inline __m256i
4504 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4505 _mm256_sllv_epi16 (__m256i __A
, __m256i __B
)
4507 return (__m256i
) __builtin_ia32_psllv16hi_mask ((__v16hi
) __A
,
4510 _mm256_avx512_setzero_si256 (),
4514 extern __inline __m256i
4515 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4516 _mm256_mask_sllv_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
4519 return (__m256i
) __builtin_ia32_psllv16hi_mask ((__v16hi
) __A
,
4525 extern __inline __m256i
4526 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4527 _mm256_maskz_sllv_epi16 (__mmask16 __U
, __m256i __A
, __m256i __B
)
4529 return (__m256i
) __builtin_ia32_psllv16hi_mask ((__v16hi
) __A
,
4532 _mm256_avx512_setzero_si256 (),
4536 extern __inline __m128i
4537 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4538 _mm_sllv_epi16 (__m128i __A
, __m128i __B
)
4540 return (__m128i
) __builtin_ia32_psllv8hi_mask ((__v8hi
) __A
,
4543 _mm_avx512_setzero_si128 (),
4547 extern __inline __m128i
4548 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4549 _mm_mask_sllv_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4552 return (__m128i
) __builtin_ia32_psllv8hi_mask ((__v8hi
) __A
,
4558 extern __inline __m128i
4559 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4560 _mm_maskz_sllv_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4562 return (__m128i
) __builtin_ia32_psllv8hi_mask ((__v8hi
) __A
,
4565 _mm_avx512_setzero_si128 (),
4569 extern __inline __m128i
4570 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4571 _mm_mask_sll_epi16 (__m128i __W
, __mmask8 __U
, __m128i __A
,
4574 return (__m128i
) __builtin_ia32_psllw128_mask ((__v8hi
) __A
,
4580 extern __inline __m128i
4581 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4582 _mm_maskz_sll_epi16 (__mmask8 __U
, __m128i __A
, __m128i __B
)
4584 return (__m128i
) __builtin_ia32_psllw128_mask ((__v8hi
) __A
,
4587 _mm_avx512_setzero_si128 (),
4591 extern __inline __m256i
4592 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4593 _mm256_mask_sll_epi16 (__m256i __W
, __mmask16 __U
, __m256i __A
,
4596 return (__m256i
) __builtin_ia32_psllw256_mask ((__v16hi
) __A
,
4602 extern __inline __m256i
4603 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4604 _mm256_maskz_sll_epi16 (__mmask16 __U
, __m256i __A
, __m128i __B
)
4606 return (__m256i
) __builtin_ia32_psllw256_mask ((__v16hi
) __A
,
4609 _mm256_avx512_setzero_si256 (),
4613 extern __inline __m256i
4614 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4615 _mm256_maskz_packus_epi32 (__mmask16 __M
, __m256i __A
, __m256i __B
)
4617 return (__m256i
) __builtin_ia32_packusdw256_mask ((__v8si
) __A
,
4620 _mm256_avx512_setzero_si256 (),
4624 extern __inline __m256i
4625 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4626 _mm256_mask_packus_epi32 (__m256i __W
, __mmask16 __M
, __m256i __A
,
4629 return (__m256i
) __builtin_ia32_packusdw256_mask ((__v8si
) __A
,
4635 extern __inline __m128i
4636 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4637 _mm_maskz_packus_epi32 (__mmask8 __M
, __m128i __A
, __m128i __B
)
4639 return (__m128i
) __builtin_ia32_packusdw128_mask ((__v4si
) __A
,
4642 _mm_avx512_setzero_si128 (),
4646 extern __inline __m128i
4647 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4648 _mm_mask_packus_epi32 (__m128i __W
, __mmask8 __M
, __m128i __A
,
4651 return (__m128i
) __builtin_ia32_packusdw128_mask ((__v4si
) __A
,
4656 extern __inline __m256i
4657 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4658 _mm256_maskz_packs_epi32 (__mmask16 __M
, __m256i __A
, __m256i __B
)
4660 return (__m256i
) __builtin_ia32_packssdw256_mask ((__v8si
) __A
,
4663 _mm256_avx512_setzero_si256 (),
4667 extern __inline __m256i
4668 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4669 _mm256_mask_packs_epi32 (__m256i __W
, __mmask16 __M
, __m256i __A
,
4672 return (__m256i
) __builtin_ia32_packssdw256_mask ((__v8si
) __A
,
4678 extern __inline __m128i
4679 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4680 _mm_maskz_packs_epi32 (__mmask8 __M
, __m128i __A
, __m128i __B
)
4682 return (__m128i
) __builtin_ia32_packssdw128_mask ((__v4si
) __A
,
4685 _mm_avx512_setzero_si128 (),
4689 extern __inline __m128i
4690 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4691 _mm_mask_packs_epi32 (__m128i __W
, __mmask8 __M
, __m128i __A
,
4694 return (__m128i
) __builtin_ia32_packssdw128_mask ((__v4si
) __A
,
4699 extern __inline __mmask16
4700 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4701 _mm_mask_cmpneq_epu8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4703 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
4708 extern __inline __mmask16
4709 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4710 _mm_mask_cmplt_epu8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4712 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
4717 extern __inline __mmask16
4718 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4719 _mm_mask_cmpge_epu8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4721 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
4726 extern __inline __mmask16
4727 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4728 _mm_mask_cmple_epu8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4730 return (__mmask16
) __builtin_ia32_ucmpb128_mask ((__v16qi
) __X
,
4735 extern __inline __mmask8
4736 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4737 _mm_mask_cmpneq_epu16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4739 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
4744 extern __inline __mmask8
4745 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4746 _mm_mask_cmplt_epu16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4748 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
4753 extern __inline __mmask8
4754 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4755 _mm_mask_cmpge_epu16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4757 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
4762 extern __inline __mmask8
4763 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4764 _mm_mask_cmple_epu16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4766 return (__mmask8
) __builtin_ia32_ucmpw128_mask ((__v8hi
) __X
,
4771 extern __inline __mmask16
4772 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4773 _mm_mask_cmpneq_epi8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4775 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
4780 extern __inline __mmask16
4781 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4782 _mm_mask_cmplt_epi8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4784 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
4789 extern __inline __mmask16
4790 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4791 _mm_mask_cmpge_epi8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4793 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
4798 extern __inline __mmask16
4799 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4800 _mm_mask_cmple_epi8_mask (__mmask16 __M
, __m128i __X
, __m128i __Y
)
4802 return (__mmask16
) __builtin_ia32_cmpb128_mask ((__v16qi
) __X
,
4807 extern __inline __mmask8
4808 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4809 _mm_mask_cmpneq_epi16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4811 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
4816 extern __inline __mmask8
4817 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4818 _mm_mask_cmplt_epi16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4820 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
4825 extern __inline __mmask8
4826 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4827 _mm_mask_cmpge_epi16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4829 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
4834 extern __inline __mmask8
4835 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4836 _mm_mask_cmple_epi16_mask (__mmask8 __M
, __m128i __X
, __m128i __Y
)
4838 return (__mmask8
) __builtin_ia32_cmpw128_mask ((__v8hi
) __X
,
4843 extern __inline __mmask32
4844 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4845 _mm256_mask_cmpneq_epu8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4847 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
4852 extern __inline __mmask32
4853 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4854 _mm256_mask_cmplt_epu8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4856 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
4861 extern __inline __mmask32
4862 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4863 _mm256_mask_cmpge_epu8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4865 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
4870 extern __inline __mmask32
4871 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4872 _mm256_mask_cmple_epu8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4874 return (__mmask32
) __builtin_ia32_ucmpb256_mask ((__v32qi
) __X
,
4879 extern __inline __mmask16
4880 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4881 _mm256_mask_cmpneq_epu16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4883 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
4888 extern __inline __mmask16
4889 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4890 _mm256_mask_cmplt_epu16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4892 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
4897 extern __inline __mmask16
4898 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4899 _mm256_mask_cmpge_epu16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4901 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
4906 extern __inline __mmask16
4907 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4908 _mm256_mask_cmple_epu16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4910 return (__mmask16
) __builtin_ia32_ucmpw256_mask ((__v16hi
) __X
,
4915 extern __inline __mmask32
4916 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4917 _mm256_mask_cmpneq_epi8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4919 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
4924 extern __inline __mmask32
4925 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4926 _mm256_mask_cmplt_epi8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4928 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
4933 extern __inline __mmask32
4934 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4935 _mm256_mask_cmpge_epi8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4937 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
4942 extern __inline __mmask32
4943 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4944 _mm256_mask_cmple_epi8_mask (__mmask32 __M
, __m256i __X
, __m256i __Y
)
4946 return (__mmask32
) __builtin_ia32_cmpb256_mask ((__v32qi
) __X
,
4951 extern __inline __mmask16
4952 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4953 _mm256_mask_cmpneq_epi16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4955 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
4960 extern __inline __mmask16
4961 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4962 _mm256_mask_cmplt_epi16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4964 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
4969 extern __inline __mmask16
4970 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4971 _mm256_mask_cmpge_epi16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4973 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
4978 extern __inline __mmask16
4979 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4980 _mm256_mask_cmple_epi16_mask (__mmask16 __M
, __m256i __X
, __m256i __Y
)
4982 return (__mmask16
) __builtin_ia32_cmpw256_mask ((__v16hi
) __X
,
4987 extern __inline
short
4988 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4989 _mm_mask_reduce_add_epi16 (__mmask8 __M
, __m128i __W
)
4991 __W
= _mm_maskz_mov_epi16 (__M
, __W
);
4992 _MM_REDUCE_OPERATOR_BASIC_EPI16 (+);
4995 extern __inline
short
4996 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
4997 _mm_mask_reduce_mul_epi16 (__mmask8 __M
, __m128i __W
)
4999 __W
= _mm_mask_mov_epi16 (_mm_avx512_set1_epi16 (1), __M
, __W
);
5000 _MM_REDUCE_OPERATOR_BASIC_EPI16 (*);
5003 extern __inline
short
5004 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5005 _mm_mask_reduce_and_epi16 (__mmask8 __M
, __m128i __W
)
5007 __W
= _mm_mask_mov_epi16 (_mm_avx512_set1_epi16 (-1), __M
, __W
);
5008 _MM_REDUCE_OPERATOR_BASIC_EPI16 (&);
5011 extern __inline
short
5012 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5013 _mm_mask_reduce_or_epi16 (__mmask8 __M
, __m128i __W
)
5015 __W
= _mm_maskz_mov_epi16 (__M
, __W
);
5016 _MM_REDUCE_OPERATOR_BASIC_EPI16 (|);
5019 extern __inline
short
5020 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5021 _mm_mask_reduce_max_epi16 (__mmask16 __M
, __m128i __V
)
5023 __V
= _mm_mask_mov_epi16 (_mm_avx512_set1_epi16 (-32767-1), __M
, __V
);
5024 _MM_REDUCE_OPERATOR_MAX_MIN_EP16 (avx512_max_epi16
);
5027 extern __inline
unsigned short
5028 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5029 _mm_mask_reduce_max_epu16 (__mmask16 __M
, __m128i __V
)
5031 __V
= _mm_maskz_mov_epi16 (__M
, __V
);
5032 _MM_REDUCE_OPERATOR_MAX_MIN_EP16 (avx512_max_epu16
);
5035 extern __inline
short
5036 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5037 _mm_mask_reduce_min_epi16 (__mmask16 __M
, __m128i __V
)
5039 __V
= _mm_mask_mov_epi16 (_mm_avx512_set1_epi16 (32767), __M
, __V
);
5040 _MM_REDUCE_OPERATOR_MAX_MIN_EP16 (avx512_min_epi16
);
5043 extern __inline
unsigned short
5044 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5045 _mm_mask_reduce_min_epu16 (__mmask16 __M
, __m128i __V
)
5047 __V
= _mm_mask_mov_epi16 (_mm_avx512_set1_epi16 (-1), __M
, __V
);
5048 _MM_REDUCE_OPERATOR_MAX_MIN_EP16 (avx512_min_epu16
);
5051 extern __inline
short
5052 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5053 _mm256_mask_reduce_add_epi16 (__mmask16 __M
, __m256i __W
)
5055 __W
= _mm256_maskz_mov_epi16 (__M
, __W
);
5056 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI16 (+);
5059 extern __inline
short
5060 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5061 _mm256_mask_reduce_mul_epi16 (__mmask16 __M
, __m256i __W
)
5063 __W
= _mm256_mask_mov_epi16 (_mm256_avx512_set1_epi16 (1), __M
, __W
);
5064 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI16 (*);
5067 extern __inline
short
5068 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5069 _mm256_mask_reduce_and_epi16 (__mmask16 __M
, __m256i __W
)
5071 __W
= _mm256_mask_mov_epi16 (_mm256_avx512_set1_epi16 (-1), __M
, __W
);
5072 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI16 (&);
5075 extern __inline
short
5076 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5077 _mm256_mask_reduce_or_epi16 (__mmask16 __M
, __m256i __W
)
5079 __W
= _mm256_maskz_mov_epi16 (__M
, __W
);
5080 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI16 (|);
5083 extern __inline
short
5084 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5085 _mm256_mask_reduce_max_epi16 (__mmask16 __M
, __m256i __V
)
5087 __V
= _mm256_mask_mov_epi16 (_mm256_avx512_set1_epi16 (-32767-1), __M
, __V
);
5088 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP16 (max_epi16
);
5091 extern __inline
unsigned short
5092 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5093 _mm256_mask_reduce_max_epu16 (__mmask16 __M
, __m256i __V
)
5095 __V
= _mm256_maskz_mov_epi16 (__M
, __V
);
5096 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP16 (max_epu16
);
5099 extern __inline
short
5100 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5101 _mm256_mask_reduce_min_epi16 (__mmask16 __M
, __m256i __V
)
5103 __V
= _mm256_mask_mov_epi16 (_mm256_avx512_set1_epi16 (32767), __M
, __V
);
5104 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP16 (min_epi16
);
5107 extern __inline
unsigned short
5108 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5109 _mm256_mask_reduce_min_epu16 (__mmask16 __M
, __m256i __V
)
5111 __V
= _mm256_mask_mov_epi16 (_mm256_avx512_set1_epi16 (-1), __M
, __V
);
5112 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP16 (min_epu16
);
5115 extern __inline
char
5116 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5117 _mm_mask_reduce_add_epi8 (__mmask16 __M
, __m128i __W
)
5119 __W
= _mm_maskz_mov_epi8 (__M
, __W
);
5120 _MM_REDUCE_OPERATOR_BASIC_EPI8 (+);
5123 extern __inline
char
5124 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5125 _mm_mask_reduce_mul_epi8 (__mmask16 __M
, __m128i __W
)
5127 __W
= _mm_mask_mov_epi8 (_mm_avx512_set1_epi8 (1), __M
, __W
);
5128 _MM_REDUCE_OPERATOR_BASIC_EPI8 (*);
5131 extern __inline
char
5132 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5133 _mm_mask_reduce_and_epi8 (__mmask16 __M
, __m128i __W
)
5135 __W
= _mm_mask_mov_epi8 (_mm_avx512_set1_epi8 (-1), __M
, __W
);
5136 _MM_REDUCE_OPERATOR_BASIC_EPI8 (&);
5139 extern __inline
char
5140 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5141 _mm_mask_reduce_or_epi8 (__mmask16 __M
, __m128i __W
)
5143 __W
= _mm_maskz_mov_epi8 (__M
, __W
);
5144 _MM_REDUCE_OPERATOR_BASIC_EPI8 (|);
5147 extern __inline
signed char
5148 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5149 _mm_mask_reduce_max_epi8 (__mmask16 __M
, __m128i __V
)
5151 __V
= _mm_mask_mov_epi8 (_mm_avx512_set1_epi8 (-127-1), __M
, __V
);
5152 _MM_REDUCE_OPERATOR_MAX_MIN_EP8 (avx512_max_epi8
);
5155 extern __inline
unsigned char
5156 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5157 _mm_mask_reduce_max_epu8 (__mmask16 __M
, __m128i __V
)
5159 __V
= _mm_maskz_mov_epi8 (__M
, __V
);
5160 _MM_REDUCE_OPERATOR_MAX_MIN_EP8 (avx512_max_epu8
);
5163 extern __inline
signed char
5164 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5165 _mm_mask_reduce_min_epi8 (__mmask16 __M
, __m128i __V
)
5167 __V
= _mm_mask_mov_epi8 (_mm_avx512_set1_epi8 (127), __M
, __V
);
5168 _MM_REDUCE_OPERATOR_MAX_MIN_EP8 (avx512_min_epi8
);
5171 extern __inline
unsigned char
5172 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5173 _mm_mask_reduce_min_epu8 (__mmask16 __M
, __m128i __V
)
5175 __V
= _mm_mask_mov_epi8 (_mm_avx512_set1_epi8 (-1), __M
, __V
);
5176 _MM_REDUCE_OPERATOR_MAX_MIN_EP8 (avx512_min_epu8
);
5179 extern __inline
char
5180 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5181 _mm256_mask_reduce_add_epi8 (__mmask32 __M
, __m256i __W
)
5183 __W
= _mm256_maskz_mov_epi8 (__M
, __W
);
5184 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI8 (+);
5187 extern __inline
char
5188 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5189 _mm256_mask_reduce_mul_epi8 (__mmask32 __M
, __m256i __W
)
5191 __W
= _mm256_mask_mov_epi8 (_mm256_avx512_set1_epi8 (1), __M
, __W
);
5192 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI8 (*);
5195 extern __inline
char
5196 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5197 _mm256_mask_reduce_and_epi8 (__mmask32 __M
, __m256i __W
)
5199 __W
= _mm256_mask_mov_epi8 (_mm256_avx512_set1_epi8 (-1), __M
, __W
);
5200 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI8 (&);
5203 extern __inline
char
5204 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5205 _mm256_mask_reduce_or_epi8 (__mmask32 __M
, __m256i __W
)
5207 __W
= _mm256_maskz_mov_epi8 (__M
, __W
);
5208 _MM256_AVX512_REDUCE_OPERATOR_BASIC_EPI8 (|);
5211 extern __inline
signed char
5212 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5213 _mm256_mask_reduce_max_epi8 (__mmask32 __M
, __m256i __V
)
5215 __V
= _mm256_mask_mov_epi8 (_mm256_avx512_set1_epi8 (-127-1), __M
, __V
);
5216 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP8 (max_epi8
);
5219 extern __inline
unsigned char
5220 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5221 _mm256_mask_reduce_max_epu8 (__mmask32 __M
, __m256i __V
)
5223 __V
= _mm256_maskz_mov_epi8 (__M
, __V
);
5224 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP8 (max_epu8
);
5227 extern __inline
signed char
5228 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5229 _mm256_mask_reduce_min_epi8 (__mmask32 __M
, __m256i __V
)
5231 __V
= _mm256_mask_mov_epi8 (_mm256_avx512_set1_epi8 (127), __M
, __V
);
5232 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP8 (min_epi8
);
5235 extern __inline
unsigned char
5236 __attribute__ ((__gnu_inline__
, __always_inline__
, __artificial__
))
5237 _mm256_mask_reduce_min_epu8 (__mmask32 __M
, __m256i __V
)
5239 __V
= _mm256_mask_mov_epi8 (_mm256_avx512_set1_epi8 (-1), __M
, __V
);
5240 _MM256_AVX512_REDUCE_OPERATOR_MAX_MIN_EP8 (min_epu8
);
5243 #ifdef __DISABLE_AVX512VLBW__
5244 #undef __DISABLE_AVX512VLBW__
5245 #pragma GCC pop_options
5246 #endif /* __DISABLE_AVX512VLBW__ */
5248 #endif /* _AVX512VLBWINTRIN_H_INCLUDED */