clang 22.0.0git
avx512bwintrin.h
Go to the documentation of this file.
1/*===------------- avx512bwintrin.h - AVX512BW intrinsics ------------------===
2 *
3 *
4 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 * See https://llvm.org/LICENSE.txt for license information.
6 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 *
8 *===-----------------------------------------------------------------------===
9 */
10#ifndef __IMMINTRIN_H
11#error "Never use <avx512bwintrin.h> directly; include <immintrin.h> instead."
12#endif
13
14#ifndef __AVX512BWINTRIN_H
15#define __AVX512BWINTRIN_H
16
17typedef unsigned int __mmask32;
18typedef unsigned long long __mmask64;
19
20/* Define the default attributes for the functions in this file. */
21#define __DEFAULT_FN_ATTRS512 \
22 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw"), \
23 __min_vector_width__(512)))
24#define __DEFAULT_FN_ATTRS \
25 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw")))
26
27#if defined(__cplusplus) && (__cplusplus >= 201103L)
28#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
29#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
30#else
31#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
32#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
33#endif
34
35static __inline __mmask32
37 return __builtin_ia32_knotsi(__M);
38}
39
42 return __builtin_ia32_knotdi(__M);
43}
44
47 return (__mmask32)__builtin_ia32_kandsi((__mmask32)__A, (__mmask32)__B);
48}
49
52 return (__mmask64)__builtin_ia32_kanddi((__mmask64)__A, (__mmask64)__B);
53}
54
57 return (__mmask32)__builtin_ia32_kandnsi((__mmask32)__A, (__mmask32)__B);
58}
59
62 return (__mmask64)__builtin_ia32_kandndi((__mmask64)__A, (__mmask64)__B);
63}
64
67 return (__mmask32)__builtin_ia32_korsi((__mmask32)__A, (__mmask32)__B);
68}
69
72 return (__mmask64)__builtin_ia32_kordi((__mmask64)__A, (__mmask64)__B);
73}
74
77 return (__mmask32)__builtin_ia32_kxnorsi((__mmask32)__A, (__mmask32)__B);
78}
79
82 return (__mmask64)__builtin_ia32_kxnordi((__mmask64)__A, (__mmask64)__B);
83}
84
87 return (__mmask32)__builtin_ia32_kxorsi((__mmask32)__A, (__mmask32)__B);
88}
89
92 return (__mmask64)__builtin_ia32_kxordi((__mmask64)__A, (__mmask64)__B);
93}
94
95static __inline__ unsigned char __DEFAULT_FN_ATTRS
97{
98 return (unsigned char)__builtin_ia32_kortestcsi(__A, __B);
99}
100
101static __inline__ unsigned char __DEFAULT_FN_ATTRS
103{
104 return (unsigned char)__builtin_ia32_kortestzsi(__A, __B);
105}
106
107static __inline__ unsigned char __DEFAULT_FN_ATTRS
108_kortest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
109 *__C = (unsigned char)__builtin_ia32_kortestcsi(__A, __B);
110 return (unsigned char)__builtin_ia32_kortestzsi(__A, __B);
111}
112
113static __inline__ unsigned char __DEFAULT_FN_ATTRS
115 return (unsigned char)__builtin_ia32_kortestcdi(__A, __B);
116}
117
118static __inline__ unsigned char __DEFAULT_FN_ATTRS
120 return (unsigned char)__builtin_ia32_kortestzdi(__A, __B);
121}
122
123static __inline__ unsigned char __DEFAULT_FN_ATTRS
124_kortest_mask64_u8(__mmask64 __A, __mmask64 __B, unsigned char *__C) {
125 *__C = (unsigned char)__builtin_ia32_kortestcdi(__A, __B);
126 return (unsigned char)__builtin_ia32_kortestzdi(__A, __B);
127}
128
129static __inline__ unsigned char __DEFAULT_FN_ATTRS
131{
132 return (unsigned char)__builtin_ia32_ktestcsi(__A, __B);
133}
134
135static __inline__ unsigned char __DEFAULT_FN_ATTRS
137{
138 return (unsigned char)__builtin_ia32_ktestzsi(__A, __B);
139}
140
141static __inline__ unsigned char __DEFAULT_FN_ATTRS
142_ktest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
143 *__C = (unsigned char)__builtin_ia32_ktestcsi(__A, __B);
144 return (unsigned char)__builtin_ia32_ktestzsi(__A, __B);
145}
146
147static __inline__ unsigned char __DEFAULT_FN_ATTRS
149 return (unsigned char)__builtin_ia32_ktestcdi(__A, __B);
150}
151
152static __inline__ unsigned char __DEFAULT_FN_ATTRS
154 return (unsigned char)__builtin_ia32_ktestzdi(__A, __B);
155}
156
157static __inline__ unsigned char __DEFAULT_FN_ATTRS
158_ktest_mask64_u8(__mmask64 __A, __mmask64 __B, unsigned char *__C) {
159 *__C = (unsigned char)__builtin_ia32_ktestcdi(__A, __B);
160 return (unsigned char)__builtin_ia32_ktestzdi(__A, __B);
161}
162
165 return (__mmask32)__builtin_ia32_kaddsi((__mmask32)__A, (__mmask32)__B);
166}
167
170 return (__mmask64)__builtin_ia32_kadddi((__mmask64)__A, (__mmask64)__B);
171}
172
173#define _kshiftli_mask32(A, I) \
174 ((__mmask32)__builtin_ia32_kshiftlisi((__mmask32)(A), (unsigned int)(I)))
175
176#define _kshiftri_mask32(A, I) \
177 ((__mmask32)__builtin_ia32_kshiftrisi((__mmask32)(A), (unsigned int)(I)))
178
179#define _kshiftli_mask64(A, I) \
180 ((__mmask64)__builtin_ia32_kshiftlidi((__mmask64)(A), (unsigned int)(I)))
181
182#define _kshiftri_mask64(A, I) \
183 ((__mmask64)__builtin_ia32_kshiftridi((__mmask64)(A), (unsigned int)(I)))
184
185static __inline__ unsigned int __DEFAULT_FN_ATTRS
187 return (unsigned int)__builtin_ia32_kmovd((__mmask32)__A);
188}
189
190static __inline__ unsigned long long __DEFAULT_FN_ATTRS
192 return (unsigned long long)__builtin_ia32_kmovq((__mmask64)__A);
193}
194
195static __inline__ __mmask32 __DEFAULT_FN_ATTRS
196_cvtu32_mask32(unsigned int __A) {
197 return (__mmask32)__builtin_ia32_kmovd((__mmask32)__A);
198}
199
200static __inline__ __mmask64 __DEFAULT_FN_ATTRS
201_cvtu64_mask64(unsigned long long __A) {
202 return (__mmask64)__builtin_ia32_kmovq((__mmask64)__A);
203}
204
205static __inline__ __mmask32 __DEFAULT_FN_ATTRS
207 return (__mmask32)__builtin_ia32_kmovd(*(__mmask32 *)__A);
208}
209
211 return (__mmask64)__builtin_ia32_kmovq(*(__mmask64 *)__A);
212}
213
214static __inline__ void __DEFAULT_FN_ATTRS
216 *(__mmask32 *)__A = __builtin_ia32_kmovd((__mmask32)__B);
217}
218
219static __inline__ void __DEFAULT_FN_ATTRS _store_mask64(__mmask64 *__A,
220 __mmask64 __B) {
221 *(__mmask64 *)__A = __builtin_ia32_kmovq((__mmask64)__B);
222}
223
224/* Integer compare */
225
226#define _mm512_cmp_epi8_mask(a, b, p) \
227 ((__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)(__m512i)(a), \
228 (__v64qi)(__m512i)(b), (int)(p), \
229 (__mmask64)-1))
230
231#define _mm512_mask_cmp_epi8_mask(m, a, b, p) \
232 ((__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)(__m512i)(a), \
233 (__v64qi)(__m512i)(b), (int)(p), \
234 (__mmask64)(m)))
235
236#define _mm512_cmp_epu8_mask(a, b, p) \
237 ((__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)(__m512i)(a), \
238 (__v64qi)(__m512i)(b), (int)(p), \
239 (__mmask64)-1))
240
241#define _mm512_mask_cmp_epu8_mask(m, a, b, p) \
242 ((__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)(__m512i)(a), \
243 (__v64qi)(__m512i)(b), (int)(p), \
244 (__mmask64)(m)))
245
246#define _mm512_cmp_epi16_mask(a, b, p) \
247 ((__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)(__m512i)(a), \
248 (__v32hi)(__m512i)(b), (int)(p), \
249 (__mmask32)-1))
250
251#define _mm512_mask_cmp_epi16_mask(m, a, b, p) \
252 ((__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)(__m512i)(a), \
253 (__v32hi)(__m512i)(b), (int)(p), \
254 (__mmask32)(m)))
255
256#define _mm512_cmp_epu16_mask(a, b, p) \
257 ((__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)(__m512i)(a), \
258 (__v32hi)(__m512i)(b), (int)(p), \
259 (__mmask32)-1))
260
261#define _mm512_mask_cmp_epu16_mask(m, a, b, p) \
262 ((__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)(__m512i)(a), \
263 (__v32hi)(__m512i)(b), (int)(p), \
264 (__mmask32)(m)))
265
266#define _mm512_cmpeq_epi8_mask(A, B) \
267 _mm512_cmp_epi8_mask((A), (B), _MM_CMPINT_EQ)
268#define _mm512_mask_cmpeq_epi8_mask(k, A, B) \
269 _mm512_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_EQ)
270#define _mm512_cmpge_epi8_mask(A, B) \
271 _mm512_cmp_epi8_mask((A), (B), _MM_CMPINT_GE)
272#define _mm512_mask_cmpge_epi8_mask(k, A, B) \
273 _mm512_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_GE)
274#define _mm512_cmpgt_epi8_mask(A, B) \
275 _mm512_cmp_epi8_mask((A), (B), _MM_CMPINT_GT)
276#define _mm512_mask_cmpgt_epi8_mask(k, A, B) \
277 _mm512_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_GT)
278#define _mm512_cmple_epi8_mask(A, B) \
279 _mm512_cmp_epi8_mask((A), (B), _MM_CMPINT_LE)
280#define _mm512_mask_cmple_epi8_mask(k, A, B) \
281 _mm512_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_LE)
282#define _mm512_cmplt_epi8_mask(A, B) \
283 _mm512_cmp_epi8_mask((A), (B), _MM_CMPINT_LT)
284#define _mm512_mask_cmplt_epi8_mask(k, A, B) \
285 _mm512_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_LT)
286#define _mm512_cmpneq_epi8_mask(A, B) \
287 _mm512_cmp_epi8_mask((A), (B), _MM_CMPINT_NE)
288#define _mm512_mask_cmpneq_epi8_mask(k, A, B) \
289 _mm512_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_NE)
290
291#define _mm512_cmpeq_epu8_mask(A, B) \
292 _mm512_cmp_epu8_mask((A), (B), _MM_CMPINT_EQ)
293#define _mm512_mask_cmpeq_epu8_mask(k, A, B) \
294 _mm512_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_EQ)
295#define _mm512_cmpge_epu8_mask(A, B) \
296 _mm512_cmp_epu8_mask((A), (B), _MM_CMPINT_GE)
297#define _mm512_mask_cmpge_epu8_mask(k, A, B) \
298 _mm512_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_GE)
299#define _mm512_cmpgt_epu8_mask(A, B) \
300 _mm512_cmp_epu8_mask((A), (B), _MM_CMPINT_GT)
301#define _mm512_mask_cmpgt_epu8_mask(k, A, B) \
302 _mm512_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_GT)
303#define _mm512_cmple_epu8_mask(A, B) \
304 _mm512_cmp_epu8_mask((A), (B), _MM_CMPINT_LE)
305#define _mm512_mask_cmple_epu8_mask(k, A, B) \
306 _mm512_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_LE)
307#define _mm512_cmplt_epu8_mask(A, B) \
308 _mm512_cmp_epu8_mask((A), (B), _MM_CMPINT_LT)
309#define _mm512_mask_cmplt_epu8_mask(k, A, B) \
310 _mm512_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_LT)
311#define _mm512_cmpneq_epu8_mask(A, B) \
312 _mm512_cmp_epu8_mask((A), (B), _MM_CMPINT_NE)
313#define _mm512_mask_cmpneq_epu8_mask(k, A, B) \
314 _mm512_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_NE)
315
316#define _mm512_cmpeq_epi16_mask(A, B) \
317 _mm512_cmp_epi16_mask((A), (B), _MM_CMPINT_EQ)
318#define _mm512_mask_cmpeq_epi16_mask(k, A, B) \
319 _mm512_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_EQ)
320#define _mm512_cmpge_epi16_mask(A, B) \
321 _mm512_cmp_epi16_mask((A), (B), _MM_CMPINT_GE)
322#define _mm512_mask_cmpge_epi16_mask(k, A, B) \
323 _mm512_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_GE)
324#define _mm512_cmpgt_epi16_mask(A, B) \
325 _mm512_cmp_epi16_mask((A), (B), _MM_CMPINT_GT)
326#define _mm512_mask_cmpgt_epi16_mask(k, A, B) \
327 _mm512_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_GT)
328#define _mm512_cmple_epi16_mask(A, B) \
329 _mm512_cmp_epi16_mask((A), (B), _MM_CMPINT_LE)
330#define _mm512_mask_cmple_epi16_mask(k, A, B) \
331 _mm512_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_LE)
332#define _mm512_cmplt_epi16_mask(A, B) \
333 _mm512_cmp_epi16_mask((A), (B), _MM_CMPINT_LT)
334#define _mm512_mask_cmplt_epi16_mask(k, A, B) \
335 _mm512_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_LT)
336#define _mm512_cmpneq_epi16_mask(A, B) \
337 _mm512_cmp_epi16_mask((A), (B), _MM_CMPINT_NE)
338#define _mm512_mask_cmpneq_epi16_mask(k, A, B) \
339 _mm512_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_NE)
340
341#define _mm512_cmpeq_epu16_mask(A, B) \
342 _mm512_cmp_epu16_mask((A), (B), _MM_CMPINT_EQ)
343#define _mm512_mask_cmpeq_epu16_mask(k, A, B) \
344 _mm512_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_EQ)
345#define _mm512_cmpge_epu16_mask(A, B) \
346 _mm512_cmp_epu16_mask((A), (B), _MM_CMPINT_GE)
347#define _mm512_mask_cmpge_epu16_mask(k, A, B) \
348 _mm512_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_GE)
349#define _mm512_cmpgt_epu16_mask(A, B) \
350 _mm512_cmp_epu16_mask((A), (B), _MM_CMPINT_GT)
351#define _mm512_mask_cmpgt_epu16_mask(k, A, B) \
352 _mm512_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_GT)
353#define _mm512_cmple_epu16_mask(A, B) \
354 _mm512_cmp_epu16_mask((A), (B), _MM_CMPINT_LE)
355#define _mm512_mask_cmple_epu16_mask(k, A, B) \
356 _mm512_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_LE)
357#define _mm512_cmplt_epu16_mask(A, B) \
358 _mm512_cmp_epu16_mask((A), (B), _MM_CMPINT_LT)
359#define _mm512_mask_cmplt_epu16_mask(k, A, B) \
360 _mm512_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_LT)
361#define _mm512_cmpneq_epu16_mask(A, B) \
362 _mm512_cmp_epu16_mask((A), (B), _MM_CMPINT_NE)
363#define _mm512_mask_cmpneq_epu16_mask(k, A, B) \
364 _mm512_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_NE)
365
366static __inline__ __m512i
368 return (__m512i) ((__v64qu) __A + (__v64qu) __B);
369}
370
371static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
372_mm512_mask_add_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
373 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
374 (__v64qi)_mm512_add_epi8(__A, __B),
375 (__v64qi)__W);
376}
377
378static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
379_mm512_maskz_add_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
380 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
381 (__v64qi)_mm512_add_epi8(__A, __B),
382 (__v64qi)_mm512_setzero_si512());
383}
384
385static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
386_mm512_sub_epi8(__m512i __A, __m512i __B) {
387 return (__m512i) ((__v64qu) __A - (__v64qu) __B);
388}
389
390static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
391_mm512_mask_sub_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
392 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
393 (__v64qi)_mm512_sub_epi8(__A, __B),
394 (__v64qi)__W);
395}
396
397static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
398_mm512_maskz_sub_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
399 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
400 (__v64qi)_mm512_sub_epi8(__A, __B),
401 (__v64qi)_mm512_setzero_si512());
402}
403
404static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
405_mm512_add_epi16(__m512i __A, __m512i __B) {
406 return (__m512i) ((__v32hu) __A + (__v32hu) __B);
407}
408
409static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
410_mm512_mask_add_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
411 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
412 (__v32hi)_mm512_add_epi16(__A, __B),
413 (__v32hi)__W);
414}
415
416static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
417_mm512_maskz_add_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
418 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
419 (__v32hi)_mm512_add_epi16(__A, __B),
420 (__v32hi)_mm512_setzero_si512());
421}
422
423static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
424_mm512_sub_epi16(__m512i __A, __m512i __B) {
425 return (__m512i) ((__v32hu) __A - (__v32hu) __B);
426}
427
428static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
429_mm512_mask_sub_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
430 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
431 (__v32hi)_mm512_sub_epi16(__A, __B),
432 (__v32hi)__W);
433}
434
435static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
436_mm512_maskz_sub_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
437 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
438 (__v32hi)_mm512_sub_epi16(__A, __B),
439 (__v32hi)_mm512_setzero_si512());
440}
441
442static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
443_mm512_mullo_epi16 (__m512i __A, __m512i __B) {
444 return (__m512i) ((__v32hu) __A * (__v32hu) __B);
445}
446
447static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
448_mm512_mask_mullo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
449 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
450 (__v32hi)_mm512_mullo_epi16(__A, __B),
451 (__v32hi)__W);
452}
453
454static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
455_mm512_maskz_mullo_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
456 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
457 (__v32hi)_mm512_mullo_epi16(__A, __B),
458 (__v32hi)_mm512_setzero_si512());
459}
460
461static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
462_mm512_mask_blend_epi8(__mmask64 __U, __m512i __A, __m512i __W) {
463 return (__m512i) __builtin_ia32_selectb_512 ((__mmask64) __U,
464 (__v64qi) __W,
465 (__v64qi) __A);
466}
467
468static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
469_mm512_mask_blend_epi16(__mmask32 __U, __m512i __A, __m512i __W) {
470 return (__m512i) __builtin_ia32_selectw_512 ((__mmask32) __U,
471 (__v32hi) __W,
472 (__v32hi) __A);
473}
474
475static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
476_mm512_abs_epi8(__m512i __A) {
477 return (__m512i)__builtin_elementwise_abs((__v64qs)__A);
478}
479
480static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
481_mm512_mask_abs_epi8(__m512i __W, __mmask64 __U, __m512i __A) {
482 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
483 (__v64qi)_mm512_abs_epi8(__A),
484 (__v64qi)__W);
485}
486
487static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
489 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
490 (__v64qi)_mm512_abs_epi8(__A),
491 (__v64qi)_mm512_setzero_si512());
492}
493
494static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
495_mm512_abs_epi16(__m512i __A) {
496 return (__m512i)__builtin_elementwise_abs((__v32hi)__A);
497}
498
499static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
500_mm512_mask_abs_epi16(__m512i __W, __mmask32 __U, __m512i __A) {
501 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
502 (__v32hi)_mm512_abs_epi16(__A),
503 (__v32hi)__W);
504}
505
506static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
508 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
509 (__v32hi)_mm512_abs_epi16(__A),
510 (__v32hi)_mm512_setzero_si512());
511}
512
513static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
514_mm512_packs_epi32(__m512i __A, __m512i __B) {
515 return (__m512i)__builtin_ia32_packssdw512((__v16si)__A, (__v16si)__B);
516}
517
518static __inline__ __m512i __DEFAULT_FN_ATTRS512
519_mm512_maskz_packs_epi32(__mmask32 __M, __m512i __A, __m512i __B)
520{
521 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
522 (__v32hi)_mm512_packs_epi32(__A, __B),
523 (__v32hi)_mm512_setzero_si512());
524}
525
526static __inline__ __m512i __DEFAULT_FN_ATTRS512
527_mm512_mask_packs_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
528{
529 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
530 (__v32hi)_mm512_packs_epi32(__A, __B),
531 (__v32hi)__W);
532}
533
534static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
535_mm512_packs_epi16(__m512i __A, __m512i __B) {
536 return (__m512i)__builtin_ia32_packsswb512((__v32hi)__A, (__v32hi) __B);
537}
538
539static __inline__ __m512i __DEFAULT_FN_ATTRS512
540_mm512_mask_packs_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
541{
542 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
543 (__v64qi)_mm512_packs_epi16(__A, __B),
544 (__v64qi)__W);
545}
546
547static __inline__ __m512i __DEFAULT_FN_ATTRS512
548_mm512_maskz_packs_epi16(__mmask64 __M, __m512i __A, __m512i __B)
549{
550 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
551 (__v64qi)_mm512_packs_epi16(__A, __B),
552 (__v64qi)_mm512_setzero_si512());
553}
554
555static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
556_mm512_packus_epi32(__m512i __A, __m512i __B) {
557 return (__m512i)__builtin_ia32_packusdw512((__v16si) __A, (__v16si) __B);
558}
559
560static __inline__ __m512i __DEFAULT_FN_ATTRS512
561_mm512_maskz_packus_epi32(__mmask32 __M, __m512i __A, __m512i __B)
562{
563 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
564 (__v32hi)_mm512_packus_epi32(__A, __B),
565 (__v32hi)_mm512_setzero_si512());
566}
567
568static __inline__ __m512i __DEFAULT_FN_ATTRS512
569_mm512_mask_packus_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
570{
571 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
572 (__v32hi)_mm512_packus_epi32(__A, __B),
573 (__v32hi)__W);
574}
575
576static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
577_mm512_packus_epi16(__m512i __A, __m512i __B) {
578 return (__m512i)__builtin_ia32_packuswb512((__v32hi) __A, (__v32hi) __B);
579}
580
581static __inline__ __m512i __DEFAULT_FN_ATTRS512
582_mm512_mask_packus_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
583{
584 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
585 (__v64qi)_mm512_packus_epi16(__A, __B),
586 (__v64qi)__W);
587}
588
589static __inline__ __m512i __DEFAULT_FN_ATTRS512
590_mm512_maskz_packus_epi16(__mmask64 __M, __m512i __A, __m512i __B)
591{
592 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
593 (__v64qi)_mm512_packus_epi16(__A, __B),
594 (__v64qi)_mm512_setzero_si512());
595}
596
597static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
598_mm512_adds_epi8(__m512i __A, __m512i __B) {
599 return (__m512i)__builtin_elementwise_add_sat((__v64qs)__A, (__v64qs)__B);
600}
601
602static __inline__ __m512i __DEFAULT_FN_ATTRS512
603_mm512_mask_adds_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
604{
605 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
606 (__v64qi)_mm512_adds_epi8(__A, __B),
607 (__v64qi)__W);
608}
609
610static __inline__ __m512i __DEFAULT_FN_ATTRS512
611_mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
612{
613 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
614 (__v64qi)_mm512_adds_epi8(__A, __B),
615 (__v64qi)_mm512_setzero_si512());
616}
617
618static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
619_mm512_adds_epi16(__m512i __A, __m512i __B) {
620 return (__m512i)__builtin_elementwise_add_sat((__v32hi)__A, (__v32hi)__B);
621}
622
623static __inline__ __m512i __DEFAULT_FN_ATTRS512
624_mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
625{
626 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
627 (__v32hi)_mm512_adds_epi16(__A, __B),
628 (__v32hi)__W);
629}
630
631static __inline__ __m512i __DEFAULT_FN_ATTRS512
632_mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
633{
634 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
635 (__v32hi)_mm512_adds_epi16(__A, __B),
636 (__v32hi)_mm512_setzero_si512());
637}
638
639static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
640_mm512_adds_epu8(__m512i __A, __m512i __B) {
641 return (__m512i)__builtin_elementwise_add_sat((__v64qu) __A, (__v64qu) __B);
642}
643
644static __inline__ __m512i __DEFAULT_FN_ATTRS512
645_mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
646{
647 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
648 (__v64qi)_mm512_adds_epu8(__A, __B),
649 (__v64qi)__W);
650}
651
652static __inline__ __m512i __DEFAULT_FN_ATTRS512
653_mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
654{
655 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
656 (__v64qi)_mm512_adds_epu8(__A, __B),
657 (__v64qi)_mm512_setzero_si512());
658}
659
660static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
661_mm512_adds_epu16(__m512i __A, __m512i __B) {
662 return (__m512i)__builtin_elementwise_add_sat((__v32hu) __A, (__v32hu) __B);
663}
664
665static __inline__ __m512i __DEFAULT_FN_ATTRS512
666_mm512_mask_adds_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
667{
668 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
669 (__v32hi)_mm512_adds_epu16(__A, __B),
670 (__v32hi)__W);
671}
672
673static __inline__ __m512i __DEFAULT_FN_ATTRS512
674_mm512_maskz_adds_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
675{
676 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
677 (__v32hi)_mm512_adds_epu16(__A, __B),
678 (__v32hi)_mm512_setzero_si512());
679}
680
681static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
682_mm512_avg_epu8(__m512i __A, __m512i __B) {
683 return (__m512i)__builtin_ia32_pavgb512((__v64qu)__A, (__v64qu)__B);
684}
685
686static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
687_mm512_mask_avg_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
688 return (__m512i)__builtin_ia32_selectb_512(
689 (__mmask64)__U, (__v64qi)_mm512_avg_epu8(__A, __B), (__v64qi)__W);
690}
691
692static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
693_mm512_maskz_avg_epu8(__mmask64 __U, __m512i __A, __m512i __B) {
694 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
695 (__v64qi)_mm512_avg_epu8(__A, __B),
696 (__v64qi)_mm512_setzero_si512());
697}
698
699static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
700_mm512_avg_epu16(__m512i __A, __m512i __B) {
701 return (__m512i)__builtin_ia32_pavgw512((__v32hu)__A, (__v32hu)__B);
702}
703
704static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
705_mm512_mask_avg_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
706 return (__m512i)__builtin_ia32_selectw_512(
707 (__mmask32)__U, (__v32hi)_mm512_avg_epu16(__A, __B), (__v32hi)__W);
708}
709
710static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
711_mm512_maskz_avg_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
712 return (__m512i)__builtin_ia32_selectw_512(
713 (__mmask32)__U, (__v32hi)_mm512_avg_epu16(__A, __B),
714 (__v32hi)_mm512_setzero_si512());
715}
716
717static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
718_mm512_max_epi8(__m512i __A, __m512i __B) {
719 return (__m512i)__builtin_elementwise_max((__v64qs) __A, (__v64qs) __B);
720}
721
722static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
723_mm512_maskz_max_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
724 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
725 (__v64qi)_mm512_max_epi8(__A, __B),
726 (__v64qi)_mm512_setzero_si512());
727}
728
729static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
730_mm512_mask_max_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
731 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
732 (__v64qi)_mm512_max_epi8(__A, __B),
733 (__v64qi)__W);
734}
735
736static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
737_mm512_max_epi16(__m512i __A, __m512i __B) {
738 return (__m512i)__builtin_elementwise_max((__v32hi) __A, (__v32hi) __B);
739}
740
741static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
742_mm512_maskz_max_epi16(__mmask32 __M, __m512i __A, __m512i __B) {
743 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
744 (__v32hi)_mm512_max_epi16(__A, __B),
745 (__v32hi)_mm512_setzero_si512());
746}
747
748static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
749_mm512_mask_max_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
750 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
751 (__v32hi)_mm512_max_epi16(__A, __B),
752 (__v32hi)__W);
753}
754
755static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
756_mm512_max_epu8(__m512i __A, __m512i __B) {
757 return (__m512i)__builtin_elementwise_max((__v64qu)__A, (__v64qu)__B);
758}
759
760static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
761_mm512_maskz_max_epu8(__mmask64 __M, __m512i __A, __m512i __B) {
762 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
763 (__v64qi)_mm512_max_epu8(__A, __B),
764 (__v64qi)_mm512_setzero_si512());
765}
766
767static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
768_mm512_mask_max_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
769 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
770 (__v64qi)_mm512_max_epu8(__A, __B),
771 (__v64qi)__W);
772}
773
774static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
775_mm512_max_epu16(__m512i __A, __m512i __B) {
776 return (__m512i)__builtin_elementwise_max((__v32hu)__A, (__v32hu)__B);
777}
778
779static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
780_mm512_maskz_max_epu16(__mmask32 __M, __m512i __A, __m512i __B) {
781 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
782 (__v32hi)_mm512_max_epu16(__A, __B),
783 (__v32hi)_mm512_setzero_si512());
784}
785
786static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
787_mm512_mask_max_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
788 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
789 (__v32hi)_mm512_max_epu16(__A, __B),
790 (__v32hi)__W);
791}
792
793static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
794_mm512_min_epi8(__m512i __A, __m512i __B) {
795 return (__m512i)__builtin_elementwise_min((__v64qs) __A, (__v64qs) __B);
796}
797
798static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
799_mm512_maskz_min_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
800 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
801 (__v64qi)_mm512_min_epi8(__A, __B),
802 (__v64qi)_mm512_setzero_si512());
803}
804
805static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
806_mm512_mask_min_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
807 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
808 (__v64qi)_mm512_min_epi8(__A, __B),
809 (__v64qi)__W);
810}
811
812static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
813_mm512_min_epi16(__m512i __A, __m512i __B) {
814 return (__m512i)__builtin_elementwise_min((__v32hi) __A, (__v32hi) __B);
815}
816
817static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
818_mm512_maskz_min_epi16(__mmask32 __M, __m512i __A, __m512i __B) {
819 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
820 (__v32hi)_mm512_min_epi16(__A, __B),
821 (__v32hi)_mm512_setzero_si512());
822}
823
824static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
825_mm512_mask_min_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
826 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
827 (__v32hi)_mm512_min_epi16(__A, __B),
828 (__v32hi)__W);
829}
830
831static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
832_mm512_min_epu8(__m512i __A, __m512i __B) {
833 return (__m512i)__builtin_elementwise_min((__v64qu)__A, (__v64qu)__B);
834}
835
836static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
837_mm512_maskz_min_epu8(__mmask64 __M, __m512i __A, __m512i __B) {
838 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
839 (__v64qi)_mm512_min_epu8(__A, __B),
840 (__v64qi)_mm512_setzero_si512());
841}
842
843static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
844_mm512_mask_min_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
845 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
846 (__v64qi)_mm512_min_epu8(__A, __B),
847 (__v64qi)__W);
848}
849
850static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
851_mm512_min_epu16(__m512i __A, __m512i __B) {
852 return (__m512i)__builtin_elementwise_min((__v32hu)__A, (__v32hu)__B);
853}
854
855static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
856_mm512_maskz_min_epu16(__mmask32 __M, __m512i __A, __m512i __B) {
857 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
858 (__v32hi)_mm512_min_epu16(__A, __B),
859 (__v32hi)_mm512_setzero_si512());
860}
861
862static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
863_mm512_mask_min_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
864 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
865 (__v32hi)_mm512_min_epu16(__A, __B),
866 (__v32hi)__W);
867}
868
869static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
870_mm512_shuffle_epi8(__m512i __A, __m512i __B) {
871 return (__m512i)__builtin_ia32_pshufb512((__v64qi)__A,(__v64qi)__B);
872}
873
874static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
875_mm512_mask_shuffle_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
876 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
877 (__v64qi)_mm512_shuffle_epi8(__A, __B),
878 (__v64qi)__W);
879}
880
881static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
882_mm512_maskz_shuffle_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
883 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
884 (__v64qi)_mm512_shuffle_epi8(__A, __B),
885 (__v64qi)_mm512_setzero_si512());
886}
887
888static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
889_mm512_subs_epi8(__m512i __A, __m512i __B) {
890 return (__m512i)__builtin_elementwise_sub_sat((__v64qs)__A, (__v64qs)__B);
891}
892
893static __inline__ __m512i __DEFAULT_FN_ATTRS512
894_mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
895{
896 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
897 (__v64qi)_mm512_subs_epi8(__A, __B),
898 (__v64qi)__W);
899}
900
901static __inline__ __m512i __DEFAULT_FN_ATTRS512
902_mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
903{
904 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
905 (__v64qi)_mm512_subs_epi8(__A, __B),
906 (__v64qi)_mm512_setzero_si512());
907}
908
909static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
910_mm512_subs_epi16(__m512i __A, __m512i __B) {
911 return (__m512i)__builtin_elementwise_sub_sat((__v32hi)__A, (__v32hi)__B);
912}
913
914static __inline__ __m512i __DEFAULT_FN_ATTRS512
915_mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
916{
917 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
918 (__v32hi)_mm512_subs_epi16(__A, __B),
919 (__v32hi)__W);
920}
921
922static __inline__ __m512i __DEFAULT_FN_ATTRS512
923_mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
924{
925 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
926 (__v32hi)_mm512_subs_epi16(__A, __B),
927 (__v32hi)_mm512_setzero_si512());
928}
929
930static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
931_mm512_subs_epu8(__m512i __A, __m512i __B) {
932 return (__m512i)__builtin_elementwise_sub_sat((__v64qu) __A, (__v64qu) __B);
933}
934
935static __inline__ __m512i __DEFAULT_FN_ATTRS512
936_mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
937{
938 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
939 (__v64qi)_mm512_subs_epu8(__A, __B),
940 (__v64qi)__W);
941}
942
943static __inline__ __m512i __DEFAULT_FN_ATTRS512
944_mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
945{
946 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
947 (__v64qi)_mm512_subs_epu8(__A, __B),
948 (__v64qi)_mm512_setzero_si512());
949}
950
951static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
952_mm512_subs_epu16(__m512i __A, __m512i __B) {
953 return (__m512i)__builtin_elementwise_sub_sat((__v32hu) __A, (__v32hu) __B);
954}
955
956static __inline__ __m512i __DEFAULT_FN_ATTRS512
957_mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
958{
959 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
960 (__v32hi)_mm512_subs_epu16(__A, __B),
961 (__v32hi)__W);
962}
963
964static __inline__ __m512i __DEFAULT_FN_ATTRS512
965_mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
966{
967 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
968 (__v32hi)_mm512_subs_epu16(__A, __B),
969 (__v32hi)_mm512_setzero_si512());
970}
971
972static __inline__ __m512i __DEFAULT_FN_ATTRS512
973_mm512_permutex2var_epi16(__m512i __A, __m512i __I, __m512i __B)
974{
975 return (__m512i)__builtin_ia32_vpermi2varhi512((__v32hi)__A, (__v32hi)__I,
976 (__v32hi)__B);
977}
978
979static __inline__ __m512i __DEFAULT_FN_ATTRS512
980_mm512_mask_permutex2var_epi16(__m512i __A, __mmask32 __U, __m512i __I,
981 __m512i __B)
982{
983 return (__m512i)__builtin_ia32_selectw_512(__U,
984 (__v32hi)_mm512_permutex2var_epi16(__A, __I, __B),
985 (__v32hi)__A);
986}
987
988static __inline__ __m512i __DEFAULT_FN_ATTRS512
989_mm512_mask2_permutex2var_epi16(__m512i __A, __m512i __I, __mmask32 __U,
990 __m512i __B)
991{
992 return (__m512i)__builtin_ia32_selectw_512(__U,
993 (__v32hi)_mm512_permutex2var_epi16(__A, __I, __B),
994 (__v32hi)__I);
995}
996
997static __inline__ __m512i __DEFAULT_FN_ATTRS512
998_mm512_maskz_permutex2var_epi16(__mmask32 __U, __m512i __A, __m512i __I,
999 __m512i __B)
1000{
1001 return (__m512i)__builtin_ia32_selectw_512(__U,
1002 (__v32hi)_mm512_permutex2var_epi16(__A, __I, __B),
1003 (__v32hi)_mm512_setzero_si512());
1004}
1005
1006static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1007_mm512_mulhrs_epi16(__m512i __A, __m512i __B) {
1008 return (__m512i)__builtin_ia32_pmulhrsw512((__v32hi)__A, (__v32hi)__B);
1009}
1010
1011static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1012_mm512_mask_mulhrs_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1013 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1014 (__v32hi)_mm512_mulhrs_epi16(__A, __B),
1015 (__v32hi)__W);
1016}
1017
1018static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1019_mm512_maskz_mulhrs_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
1020 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1021 (__v32hi)_mm512_mulhrs_epi16(__A, __B),
1022 (__v32hi)_mm512_setzero_si512());
1023}
1024
1025static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1026_mm512_mulhi_epi16(__m512i __A, __m512i __B) {
1027 return (__m512i)__builtin_ia32_pmulhw512((__v32hi)__A, (__v32hi)__B);
1028}
1029
1030static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1031_mm512_mask_mulhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1032 return (__m512i)__builtin_ia32_selectw_512(
1033 (__mmask32)__U, (__v32hi)_mm512_mulhi_epi16(__A, __B), (__v32hi)__W);
1034}
1035
1036static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1037_mm512_maskz_mulhi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
1038 return (__m512i)__builtin_ia32_selectw_512(
1039 (__mmask32)__U, (__v32hi)_mm512_mulhi_epi16(__A, __B),
1040 (__v32hi)_mm512_setzero_si512());
1041}
1042
1043static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1044_mm512_mulhi_epu16(__m512i __A, __m512i __B) {
1045 return (__m512i)__builtin_ia32_pmulhuw512((__v32hu)__A, (__v32hu)__B);
1046}
1047
1048static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1049_mm512_mask_mulhi_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1050 return (__m512i)__builtin_ia32_selectw_512(
1051 (__mmask32)__U, (__v32hi)_mm512_mulhi_epu16(__A, __B), (__v32hi)__W);
1052}
1053
1054static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1055_mm512_maskz_mulhi_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
1056 return (__m512i)__builtin_ia32_selectw_512(
1057 (__mmask32)__U, (__v32hi)_mm512_mulhi_epu16(__A, __B),
1058 (__v32hi)_mm512_setzero_si512());
1059}
1060
1061static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1062_mm512_maddubs_epi16(__m512i __X, __m512i __Y) {
1063 return (__m512i)__builtin_ia32_pmaddubsw512((__v64qi)__X, (__v64qi)__Y);
1064}
1065
1066static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1067_mm512_mask_maddubs_epi16(__m512i __W, __mmask32 __U, __m512i __X,
1068 __m512i __Y) {
1069 return (__m512i)__builtin_ia32_selectw_512((__mmask32) __U,
1070 (__v32hi)_mm512_maddubs_epi16(__X, __Y),
1071 (__v32hi)__W);
1072}
1073
1074static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1075_mm512_maskz_maddubs_epi16(__mmask32 __U, __m512i __X, __m512i __Y) {
1076 return (__m512i)__builtin_ia32_selectw_512((__mmask32) __U,
1077 (__v32hi)_mm512_maddubs_epi16(__X, __Y),
1078 (__v32hi)_mm512_setzero_si512());
1079}
1080
1081static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1082_mm512_madd_epi16(__m512i __A, __m512i __B) {
1083 return (__m512i)__builtin_ia32_pmaddwd512((__v32hi)__A, (__v32hi)__B);
1084}
1085
1086static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1087_mm512_mask_madd_epi16(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) {
1088 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
1089 (__v16si)_mm512_madd_epi16(__A, __B),
1090 (__v16si)__W);
1091}
1092
1093static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1094_mm512_maskz_madd_epi16(__mmask16 __U, __m512i __A, __m512i __B) {
1095 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
1096 (__v16si)_mm512_madd_epi16(__A, __B),
1097 (__v16si)_mm512_setzero_si512());
1098}
1099
1100static __inline__ __m256i __DEFAULT_FN_ATTRS512
1102 return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
1103 (__v32qi)_mm256_setzero_si256(),
1104 (__mmask32) -1);
1105}
1106
1107static __inline__ __m256i __DEFAULT_FN_ATTRS512
1108_mm512_mask_cvtsepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A) {
1109 return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
1110 (__v32qi)__O,
1111 __M);
1112}
1113
1114static __inline__ __m256i __DEFAULT_FN_ATTRS512
1116 return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
1117 (__v32qi) _mm256_setzero_si256(),
1118 __M);
1119}
1120
1121static __inline__ __m256i __DEFAULT_FN_ATTRS512
1123 return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
1124 (__v32qi) _mm256_setzero_si256(),
1125 (__mmask32) -1);
1126}
1127
1128static __inline__ __m256i __DEFAULT_FN_ATTRS512
1129_mm512_mask_cvtusepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A) {
1130 return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
1131 (__v32qi) __O,
1132 __M);
1133}
1134
1135static __inline__ __m256i __DEFAULT_FN_ATTRS512
1137 return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
1138 (__v32qi) _mm256_setzero_si256(),
1139 __M);
1140}
1141
1142static __inline__ __m256i __DEFAULT_FN_ATTRS512
1144 return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
1145 (__v32qi) _mm256_undefined_si256(),
1146 (__mmask32) -1);
1147}
1148
1149static __inline__ __m256i __DEFAULT_FN_ATTRS512
1150_mm512_mask_cvtepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A) {
1151 return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
1152 (__v32qi) __O,
1153 __M);
1154}
1155
1156static __inline__ __m256i __DEFAULT_FN_ATTRS512
1158 return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
1159 (__v32qi) _mm256_setzero_si256(),
1160 __M);
1161}
1162
1163static __inline__ void __DEFAULT_FN_ATTRS512
1165{
1166 __builtin_ia32_pmovwb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M);
1167}
1168
1169static __inline__ void __DEFAULT_FN_ATTRS512
1171{
1172 __builtin_ia32_pmovswb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M);
1173}
1174
1175static __inline__ void __DEFAULT_FN_ATTRS512
1177{
1178 __builtin_ia32_pmovuswb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M);
1179}
1180
1181static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1182_mm512_unpackhi_epi8(__m512i __A, __m512i __B) {
1183 return (__m512i)__builtin_shufflevector((__v64qi)__A, (__v64qi)__B,
1184 8, 64+8, 9, 64+9,
1185 10, 64+10, 11, 64+11,
1186 12, 64+12, 13, 64+13,
1187 14, 64+14, 15, 64+15,
1188 24, 64+24, 25, 64+25,
1189 26, 64+26, 27, 64+27,
1190 28, 64+28, 29, 64+29,
1191 30, 64+30, 31, 64+31,
1192 40, 64+40, 41, 64+41,
1193 42, 64+42, 43, 64+43,
1194 44, 64+44, 45, 64+45,
1195 46, 64+46, 47, 64+47,
1196 56, 64+56, 57, 64+57,
1197 58, 64+58, 59, 64+59,
1198 60, 64+60, 61, 64+61,
1199 62, 64+62, 63, 64+63);
1200}
1201
1202static __inline__ __m512i __DEFAULT_FN_ATTRS512
1203_mm512_mask_unpackhi_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
1204 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
1205 (__v64qi)_mm512_unpackhi_epi8(__A, __B),
1206 (__v64qi)__W);
1207}
1208
1209static __inline__ __m512i __DEFAULT_FN_ATTRS512
1210_mm512_maskz_unpackhi_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
1211 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
1212 (__v64qi)_mm512_unpackhi_epi8(__A, __B),
1213 (__v64qi)_mm512_setzero_si512());
1214}
1215
1216static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1217_mm512_unpackhi_epi16(__m512i __A, __m512i __B) {
1218 return (__m512i)__builtin_shufflevector((__v32hi)__A, (__v32hi)__B,
1219 4, 32+4, 5, 32+5,
1220 6, 32+6, 7, 32+7,
1221 12, 32+12, 13, 32+13,
1222 14, 32+14, 15, 32+15,
1223 20, 32+20, 21, 32+21,
1224 22, 32+22, 23, 32+23,
1225 28, 32+28, 29, 32+29,
1226 30, 32+30, 31, 32+31);
1227}
1228
1229static __inline__ __m512i __DEFAULT_FN_ATTRS512
1230_mm512_mask_unpackhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1231 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1232 (__v32hi)_mm512_unpackhi_epi16(__A, __B),
1233 (__v32hi)__W);
1234}
1235
1236static __inline__ __m512i __DEFAULT_FN_ATTRS512
1237_mm512_maskz_unpackhi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
1238 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1239 (__v32hi)_mm512_unpackhi_epi16(__A, __B),
1240 (__v32hi)_mm512_setzero_si512());
1241}
1242
1243static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1244_mm512_unpacklo_epi8(__m512i __A, __m512i __B) {
1245 return (__m512i)__builtin_shufflevector((__v64qi)__A, (__v64qi)__B,
1246 0, 64+0, 1, 64+1,
1247 2, 64+2, 3, 64+3,
1248 4, 64+4, 5, 64+5,
1249 6, 64+6, 7, 64+7,
1250 16, 64+16, 17, 64+17,
1251 18, 64+18, 19, 64+19,
1252 20, 64+20, 21, 64+21,
1253 22, 64+22, 23, 64+23,
1254 32, 64+32, 33, 64+33,
1255 34, 64+34, 35, 64+35,
1256 36, 64+36, 37, 64+37,
1257 38, 64+38, 39, 64+39,
1258 48, 64+48, 49, 64+49,
1259 50, 64+50, 51, 64+51,
1260 52, 64+52, 53, 64+53,
1261 54, 64+54, 55, 64+55);
1262}
1263
1264static __inline__ __m512i __DEFAULT_FN_ATTRS512
1265_mm512_mask_unpacklo_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
1266 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
1267 (__v64qi)_mm512_unpacklo_epi8(__A, __B),
1268 (__v64qi)__W);
1269}
1270
1271static __inline__ __m512i __DEFAULT_FN_ATTRS512
1272_mm512_maskz_unpacklo_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
1273 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
1274 (__v64qi)_mm512_unpacklo_epi8(__A, __B),
1275 (__v64qi)_mm512_setzero_si512());
1276}
1277
1278static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1279_mm512_unpacklo_epi16(__m512i __A, __m512i __B) {
1280 return (__m512i)__builtin_shufflevector((__v32hi)__A, (__v32hi)__B,
1281 0, 32+0, 1, 32+1,
1282 2, 32+2, 3, 32+3,
1283 8, 32+8, 9, 32+9,
1284 10, 32+10, 11, 32+11,
1285 16, 32+16, 17, 32+17,
1286 18, 32+18, 19, 32+19,
1287 24, 32+24, 25, 32+25,
1288 26, 32+26, 27, 32+27);
1289}
1290
1291static __inline__ __m512i __DEFAULT_FN_ATTRS512
1292_mm512_mask_unpacklo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1293 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1294 (__v32hi)_mm512_unpacklo_epi16(__A, __B),
1295 (__v32hi)__W);
1296}
1297
1298static __inline__ __m512i __DEFAULT_FN_ATTRS512
1299_mm512_maskz_unpacklo_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
1300 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1301 (__v32hi)_mm512_unpacklo_epi16(__A, __B),
1302 (__v32hi)_mm512_setzero_si512());
1303}
1304
1305static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1307 /* This function always performs a signed extension, but __v32qi is a char
1308 which may be signed or unsigned, so use __v32qs. */
1309 return (__m512i)__builtin_convertvector((__v32qs)__A, __v32hi);
1310}
1311
1312static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1313_mm512_mask_cvtepi8_epi16(__m512i __W, __mmask32 __U, __m256i __A) {
1314 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1315 (__v32hi)_mm512_cvtepi8_epi16(__A),
1316 (__v32hi)__W);
1317}
1318
1319static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1321 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1322 (__v32hi)_mm512_cvtepi8_epi16(__A),
1323 (__v32hi)_mm512_setzero_si512());
1324}
1325
1326static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1328 return (__m512i)__builtin_convertvector((__v32qu)__A, __v32hi);
1329}
1330
1331static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1332_mm512_mask_cvtepu8_epi16(__m512i __W, __mmask32 __U, __m256i __A) {
1333 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1334 (__v32hi)_mm512_cvtepu8_epi16(__A),
1335 (__v32hi)__W);
1336}
1337
1338static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1340 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1341 (__v32hi)_mm512_cvtepu8_epi16(__A),
1342 (__v32hi)_mm512_setzero_si512());
1343}
1344
1345#define _mm512_shufflehi_epi16(A, imm) \
1346 ((__m512i)__builtin_ia32_pshufhw512((__v32hi)(__m512i)(A), (int)(imm)))
1347
1348#define _mm512_mask_shufflehi_epi16(W, U, A, imm) \
1349 ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
1350 (__v32hi)_mm512_shufflehi_epi16((A), \
1351 (imm)), \
1352 (__v32hi)(__m512i)(W)))
1353
1354#define _mm512_maskz_shufflehi_epi16(U, A, imm) \
1355 ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
1356 (__v32hi)_mm512_shufflehi_epi16((A), \
1357 (imm)), \
1358 (__v32hi)_mm512_setzero_si512()))
1359
1360#define _mm512_shufflelo_epi16(A, imm) \
1361 ((__m512i)__builtin_ia32_pshuflw512((__v32hi)(__m512i)(A), (int)(imm)))
1362
1363
1364#define _mm512_mask_shufflelo_epi16(W, U, A, imm) \
1365 ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
1366 (__v32hi)_mm512_shufflelo_epi16((A), \
1367 (imm)), \
1368 (__v32hi)(__m512i)(W)))
1369
1370
1371#define _mm512_maskz_shufflelo_epi16(U, A, imm) \
1372 ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
1373 (__v32hi)_mm512_shufflelo_epi16((A), \
1374 (imm)), \
1375 (__v32hi)_mm512_setzero_si512()))
1376
1377static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1378_mm512_sllv_epi16(__m512i __A, __m512i __B)
1379{
1380 return (__m512i)__builtin_ia32_psllv32hi((__v32hi) __A, (__v32hi) __B);
1381}
1382
1383static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1384_mm512_mask_sllv_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
1385{
1386 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1387 (__v32hi)_mm512_sllv_epi16(__A, __B),
1388 (__v32hi)__W);
1389}
1390
1391static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1392_mm512_maskz_sllv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
1393{
1394 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1395 (__v32hi)_mm512_sllv_epi16(__A, __B),
1396 (__v32hi)_mm512_setzero_si512());
1397}
1398
1399static __inline__ __m512i __DEFAULT_FN_ATTRS512
1400_mm512_sll_epi16(__m512i __A, __m128i __B)
1401{
1402 return (__m512i)__builtin_ia32_psllw512((__v32hi) __A, (__v8hi) __B);
1403}
1404
1405static __inline__ __m512i __DEFAULT_FN_ATTRS512
1406_mm512_mask_sll_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
1407{
1408 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1409 (__v32hi)_mm512_sll_epi16(__A, __B),
1410 (__v32hi)__W);
1411}
1412
1413static __inline__ __m512i __DEFAULT_FN_ATTRS512
1414_mm512_maskz_sll_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1415{
1416 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1417 (__v32hi)_mm512_sll_epi16(__A, __B),
1418 (__v32hi)_mm512_setzero_si512());
1419}
1420
1421static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1422_mm512_slli_epi16(__m512i __A, unsigned int __B) {
1423 return (__m512i)__builtin_ia32_psllwi512((__v32hi)__A, (int)__B);
1424}
1425
1426static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1427_mm512_mask_slli_epi16(__m512i __W, __mmask32 __U, __m512i __A,
1428 unsigned int __B) {
1429 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1430 (__v32hi)_mm512_slli_epi16(__A, __B),
1431 (__v32hi)__W);
1432}
1433
1434static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1435_mm512_maskz_slli_epi16(__mmask32 __U, __m512i __A, unsigned int __B) {
1436 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1437 (__v32hi)_mm512_slli_epi16(__A, __B),
1438 (__v32hi)_mm512_setzero_si512());
1439}
1440
1441#define _mm512_bslli_epi128(a, imm) \
1442 ((__m512i)__builtin_ia32_pslldqi512_byteshift((__v64qi)(__m512i)(a), \
1443 (int)(imm)))
1444
1445static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1446_mm512_srlv_epi16(__m512i __A, __m512i __B)
1447{
1448 return (__m512i)__builtin_ia32_psrlv32hi((__v32hi)__A, (__v32hi)__B);
1449}
1450
1451static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1452_mm512_mask_srlv_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
1453{
1454 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1455 (__v32hi)_mm512_srlv_epi16(__A, __B),
1456 (__v32hi)__W);
1457}
1458
1459static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1460_mm512_maskz_srlv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
1461{
1462 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1463 (__v32hi)_mm512_srlv_epi16(__A, __B),
1464 (__v32hi)_mm512_setzero_si512());
1465}
1466
1467static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1468_mm512_srav_epi16(__m512i __A, __m512i __B)
1469{
1470 return (__m512i)__builtin_ia32_psrav32hi((__v32hi)__A, (__v32hi)__B);
1471}
1472
1473static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1474_mm512_mask_srav_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
1475{
1476 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1477 (__v32hi)_mm512_srav_epi16(__A, __B),
1478 (__v32hi)__W);
1479}
1480
1481static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1482_mm512_maskz_srav_epi16(__mmask32 __U, __m512i __A, __m512i __B)
1483{
1484 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1485 (__v32hi)_mm512_srav_epi16(__A, __B),
1486 (__v32hi)_mm512_setzero_si512());
1487}
1488
1489static __inline__ __m512i __DEFAULT_FN_ATTRS512
1490_mm512_sra_epi16(__m512i __A, __m128i __B)
1491{
1492 return (__m512i)__builtin_ia32_psraw512((__v32hi) __A, (__v8hi) __B);
1493}
1494
1495static __inline__ __m512i __DEFAULT_FN_ATTRS512
1496_mm512_mask_sra_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
1497{
1498 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1499 (__v32hi)_mm512_sra_epi16(__A, __B),
1500 (__v32hi)__W);
1501}
1502
1503static __inline__ __m512i __DEFAULT_FN_ATTRS512
1504_mm512_maskz_sra_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1505{
1506 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1507 (__v32hi)_mm512_sra_epi16(__A, __B),
1508 (__v32hi)_mm512_setzero_si512());
1509}
1510
1511static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1512_mm512_srai_epi16(__m512i __A, unsigned int __B) {
1513 return (__m512i)__builtin_ia32_psrawi512((__v32hi)__A, (int)__B);
1514}
1515
1516static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1517_mm512_mask_srai_epi16(__m512i __W, __mmask32 __U, __m512i __A,
1518 unsigned int __B) {
1519 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1520 (__v32hi)_mm512_srai_epi16(__A, __B),
1521 (__v32hi)__W);
1522}
1523
1524static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1525_mm512_maskz_srai_epi16(__mmask32 __U, __m512i __A, unsigned int __B) {
1526 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1527 (__v32hi)_mm512_srai_epi16(__A, __B),
1528 (__v32hi)_mm512_setzero_si512());
1529}
1530
1531static __inline__ __m512i __DEFAULT_FN_ATTRS512
1532_mm512_srl_epi16(__m512i __A, __m128i __B)
1533{
1534 return (__m512i)__builtin_ia32_psrlw512((__v32hi) __A, (__v8hi) __B);
1535}
1536
1537static __inline__ __m512i __DEFAULT_FN_ATTRS512
1538_mm512_mask_srl_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
1539{
1540 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1541 (__v32hi)_mm512_srl_epi16(__A, __B),
1542 (__v32hi)__W);
1543}
1544
1545static __inline__ __m512i __DEFAULT_FN_ATTRS512
1546_mm512_maskz_srl_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1547{
1548 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1549 (__v32hi)_mm512_srl_epi16(__A, __B),
1550 (__v32hi)_mm512_setzero_si512());
1551}
1552
1553static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1554_mm512_srli_epi16(__m512i __A, unsigned int __B) {
1555 return (__m512i)__builtin_ia32_psrlwi512((__v32hi)__A, (int)__B);
1556}
1557
1558static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1559_mm512_mask_srli_epi16(__m512i __W, __mmask32 __U, __m512i __A,
1560 unsigned int __B) {
1561 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1562 (__v32hi)_mm512_srli_epi16(__A, __B),
1563 (__v32hi)__W);
1564}
1565
1566static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1567_mm512_maskz_srli_epi16(__mmask32 __U, __m512i __A, int __B) {
1568 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1569 (__v32hi)_mm512_srli_epi16(__A, (unsigned int)__B),
1570 (__v32hi)_mm512_setzero_si512());
1571}
1572
1573#define _mm512_bsrli_epi128(a, imm) \
1574 ((__m512i)__builtin_ia32_psrldqi512_byteshift((__v64qi)(__m512i)(a), \
1575 (int)(imm)))
1576
1577static __inline__ __m512i __DEFAULT_FN_ATTRS512
1578_mm512_mask_mov_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
1579{
1580 return (__m512i) __builtin_ia32_selectw_512 ((__mmask32) __U,
1581 (__v32hi) __A,
1582 (__v32hi) __W);
1583}
1584
1585static __inline__ __m512i __DEFAULT_FN_ATTRS512
1587{
1588 return (__m512i) __builtin_ia32_selectw_512 ((__mmask32) __U,
1589 (__v32hi) __A,
1590 (__v32hi) _mm512_setzero_si512 ());
1591}
1592
1593static __inline__ __m512i __DEFAULT_FN_ATTRS512
1594_mm512_mask_mov_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
1595{
1596 return (__m512i) __builtin_ia32_selectb_512 ((__mmask64) __U,
1597 (__v64qi) __A,
1598 (__v64qi) __W);
1599}
1600
1601static __inline__ __m512i __DEFAULT_FN_ATTRS512
1603{
1604 return (__m512i) __builtin_ia32_selectb_512 ((__mmask64) __U,
1605 (__v64qi) __A,
1606 (__v64qi) _mm512_setzero_si512 ());
1607}
1608
1609static __inline__ __m512i __DEFAULT_FN_ATTRS512
1610_mm512_mask_set1_epi8 (__m512i __O, __mmask64 __M, char __A)
1611{
1612 return (__m512i) __builtin_ia32_selectb_512(__M,
1613 (__v64qi)_mm512_set1_epi8(__A),
1614 (__v64qi) __O);
1615}
1616
1617static __inline__ __m512i __DEFAULT_FN_ATTRS512
1619{
1620 return (__m512i) __builtin_ia32_selectb_512(__M,
1621 (__v64qi) _mm512_set1_epi8(__A),
1622 (__v64qi) _mm512_setzero_si512());
1623}
1624
1626 __mmask64 __B) {
1627 return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
1628 (__mmask64) __B);
1629}
1630
1631static __inline__ __mmask32 __DEFAULT_FN_ATTRS
1633{
1634 return (__mmask32) __builtin_ia32_kunpcksi ((__mmask32) __A,
1635 (__mmask32) __B);
1636}
1637
1638static __inline __m512i __DEFAULT_FN_ATTRS512
1640{
1641 struct __loadu_epi16 {
1642 __m512i_u __v;
1643 } __attribute__((__packed__, __may_alias__));
1644 return ((const struct __loadu_epi16*)__P)->__v;
1645}
1646
1647static __inline__ __m512i __DEFAULT_FN_ATTRS512
1648_mm512_mask_loadu_epi16 (__m512i __W, __mmask32 __U, void const *__P)
1649{
1650 return (__m512i) __builtin_ia32_loaddquhi512_mask ((const __v32hi *) __P,
1651 (__v32hi) __W,
1652 (__mmask32) __U);
1653}
1654
1655static __inline__ __m512i __DEFAULT_FN_ATTRS512
1657{
1658 return (__m512i) __builtin_ia32_loaddquhi512_mask ((const __v32hi *) __P,
1659 (__v32hi)
1661 (__mmask32) __U);
1662}
1663
1664static __inline __m512i __DEFAULT_FN_ATTRS512
1666{
1667 struct __loadu_epi8 {
1668 __m512i_u __v;
1669 } __attribute__((__packed__, __may_alias__));
1670 return ((const struct __loadu_epi8*)__P)->__v;
1671}
1672
1673static __inline__ __m512i __DEFAULT_FN_ATTRS512
1674_mm512_mask_loadu_epi8 (__m512i __W, __mmask64 __U, void const *__P)
1675{
1676 return (__m512i) __builtin_ia32_loaddquqi512_mask ((const __v64qi *) __P,
1677 (__v64qi) __W,
1678 (__mmask64) __U);
1679}
1680
1681static __inline__ __m512i __DEFAULT_FN_ATTRS512
1683{
1684 return (__m512i) __builtin_ia32_loaddquqi512_mask ((const __v64qi *) __P,
1685 (__v64qi)
1687 (__mmask64) __U);
1688}
1689
1690static __inline void __DEFAULT_FN_ATTRS512
1691_mm512_storeu_epi16 (void *__P, __m512i __A)
1692{
1693 struct __storeu_epi16 {
1694 __m512i_u __v;
1695 } __attribute__((__packed__, __may_alias__));
1696 ((struct __storeu_epi16*)__P)->__v = __A;
1697}
1698
1699static __inline__ void __DEFAULT_FN_ATTRS512
1700_mm512_mask_storeu_epi16 (void *__P, __mmask32 __U, __m512i __A)
1701{
1702 __builtin_ia32_storedquhi512_mask ((__v32hi *) __P,
1703 (__v32hi) __A,
1704 (__mmask32) __U);
1705}
1706
1707static __inline void __DEFAULT_FN_ATTRS512
1708_mm512_storeu_epi8 (void *__P, __m512i __A)
1709{
1710 struct __storeu_epi8 {
1711 __m512i_u __v;
1712 } __attribute__((__packed__, __may_alias__));
1713 ((struct __storeu_epi8*)__P)->__v = __A;
1714}
1715
1716static __inline__ void __DEFAULT_FN_ATTRS512
1717_mm512_mask_storeu_epi8 (void *__P, __mmask64 __U, __m512i __A)
1718{
1719 __builtin_ia32_storedquqi512_mask ((__v64qi *) __P,
1720 (__v64qi) __A,
1721 (__mmask64) __U);
1722}
1723
1724static __inline__ __mmask64 __DEFAULT_FN_ATTRS512
1725_mm512_test_epi8_mask (__m512i __A, __m512i __B)
1726{
1727 return _mm512_cmpneq_epi8_mask (_mm512_and_epi32 (__A, __B),
1729}
1730
1731static __inline__ __mmask64 __DEFAULT_FN_ATTRS512
1732_mm512_mask_test_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
1733{
1734 return _mm512_mask_cmpneq_epi8_mask (__U, _mm512_and_epi32 (__A, __B),
1736}
1737
1738static __inline__ __mmask32 __DEFAULT_FN_ATTRS512
1739_mm512_test_epi16_mask (__m512i __A, __m512i __B)
1740{
1741 return _mm512_cmpneq_epi16_mask (_mm512_and_epi32 (__A, __B),
1743}
1744
1745static __inline__ __mmask32 __DEFAULT_FN_ATTRS512
1746_mm512_mask_test_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
1747{
1748 return _mm512_mask_cmpneq_epi16_mask (__U, _mm512_and_epi32 (__A, __B),
1750}
1751
1752static __inline__ __mmask64 __DEFAULT_FN_ATTRS512
1753_mm512_testn_epi8_mask (__m512i __A, __m512i __B)
1754{
1756}
1757
1758static __inline__ __mmask64 __DEFAULT_FN_ATTRS512
1759_mm512_mask_testn_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
1760{
1761 return _mm512_mask_cmpeq_epi8_mask (__U, _mm512_and_epi32 (__A, __B),
1763}
1764
1765static __inline__ __mmask32 __DEFAULT_FN_ATTRS512
1766_mm512_testn_epi16_mask (__m512i __A, __m512i __B)
1767{
1768 return _mm512_cmpeq_epi16_mask (_mm512_and_epi32 (__A, __B),
1770}
1771
1772static __inline__ __mmask32 __DEFAULT_FN_ATTRS512
1773_mm512_mask_testn_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
1774{
1775 return _mm512_mask_cmpeq_epi16_mask (__U, _mm512_and_epi32 (__A, __B),
1777}
1778
1779static __inline__ __mmask64 __DEFAULT_FN_ATTRS512
1781{
1782 return (__mmask64) __builtin_ia32_cvtb2mask512 ((__v64qi) __A);
1783}
1784
1785static __inline__ __mmask32 __DEFAULT_FN_ATTRS512
1787{
1788 return (__mmask32) __builtin_ia32_cvtw2mask512 ((__v32hi) __A);
1789}
1790
1791static __inline__ __m512i __DEFAULT_FN_ATTRS512
1793{
1794 return (__m512i) __builtin_ia32_cvtmask2b512 (__A);
1795}
1796
1797static __inline__ __m512i __DEFAULT_FN_ATTRS512
1799{
1800 return (__m512i) __builtin_ia32_cvtmask2w512 (__A);
1801}
1802
1803static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1805 return (__m512i)__builtin_shufflevector((__v16qi) __A, (__v16qi) __A,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
1810}
1811
1812static __inline__ __m512i __DEFAULT_FN_ATTRS512
1813_mm512_mask_broadcastb_epi8 (__m512i __O, __mmask64 __M, __m128i __A)
1814{
1815 return (__m512i)__builtin_ia32_selectb_512(__M,
1816 (__v64qi) _mm512_broadcastb_epi8(__A),
1817 (__v64qi) __O);
1818}
1819
1820static __inline__ __m512i __DEFAULT_FN_ATTRS512
1822{
1823 return (__m512i)__builtin_ia32_selectb_512(__M,
1824 (__v64qi) _mm512_broadcastb_epi8(__A),
1825 (__v64qi) _mm512_setzero_si512());
1826}
1827
1828static __inline__ __m512i __DEFAULT_FN_ATTRS512
1829_mm512_mask_set1_epi16 (__m512i __O, __mmask32 __M, short __A)
1830{
1831 return (__m512i) __builtin_ia32_selectw_512(__M,
1832 (__v32hi) _mm512_set1_epi16(__A),
1833 (__v32hi) __O);
1834}
1835
1836static __inline__ __m512i __DEFAULT_FN_ATTRS512
1838{
1839 return (__m512i) __builtin_ia32_selectw_512(__M,
1840 (__v32hi) _mm512_set1_epi16(__A),
1841 (__v32hi) _mm512_setzero_si512());
1842}
1843
1844static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1846 return (__m512i)__builtin_shufflevector((__v8hi) __A, (__v8hi) __A,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
1849}
1850
1851static __inline__ __m512i __DEFAULT_FN_ATTRS512
1852_mm512_mask_broadcastw_epi16 (__m512i __O, __mmask32 __M, __m128i __A)
1853{
1854 return (__m512i)__builtin_ia32_selectw_512(__M,
1855 (__v32hi) _mm512_broadcastw_epi16(__A),
1856 (__v32hi) __O);
1857}
1858
1859static __inline__ __m512i __DEFAULT_FN_ATTRS512
1861{
1862 return (__m512i)__builtin_ia32_selectw_512(__M,
1863 (__v32hi) _mm512_broadcastw_epi16(__A),
1864 (__v32hi) _mm512_setzero_si512());
1865}
1866
1867static __inline__ __m512i __DEFAULT_FN_ATTRS512
1868_mm512_permutexvar_epi16 (__m512i __A, __m512i __B)
1869{
1870 return (__m512i)__builtin_ia32_permvarhi512((__v32hi)__B, (__v32hi)__A);
1871}
1872
1873static __inline__ __m512i __DEFAULT_FN_ATTRS512
1875 __m512i __B)
1876{
1877 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
1878 (__v32hi)_mm512_permutexvar_epi16(__A, __B),
1879 (__v32hi)_mm512_setzero_si512());
1880}
1881
1882static __inline__ __m512i __DEFAULT_FN_ATTRS512
1883_mm512_mask_permutexvar_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
1884 __m512i __B)
1885{
1886 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
1887 (__v32hi)_mm512_permutexvar_epi16(__A, __B),
1888 (__v32hi)__W);
1889}
1890
1891#define _mm512_alignr_epi8(A, B, N) \
1892 ((__m512i)__builtin_ia32_palignr512((__v64qi)(__m512i)(A), \
1893 (__v64qi)(__m512i)(B), (int)(N)))
1894
1895#define _mm512_mask_alignr_epi8(W, U, A, B, N) \
1896 ((__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
1897 (__v64qi)_mm512_alignr_epi8((A), (B), (int)(N)), \
1898 (__v64qi)(__m512i)(W)))
1899
1900#define _mm512_maskz_alignr_epi8(U, A, B, N) \
1901 ((__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
1902 (__v64qi)_mm512_alignr_epi8((A), (B), (int)(N)), \
1903 (__v64qi)(__m512i)_mm512_setzero_si512()))
1904
1905#define _mm512_dbsad_epu8(A, B, imm) \
1906 ((__m512i)__builtin_ia32_dbpsadbw512((__v64qi)(__m512i)(A), \
1907 (__v64qi)(__m512i)(B), (int)(imm)))
1908
1909#define _mm512_mask_dbsad_epu8(W, U, A, B, imm) \
1910 ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
1911 (__v32hi)_mm512_dbsad_epu8((A), (B), (imm)), \
1912 (__v32hi)(__m512i)(W)))
1913
1914#define _mm512_maskz_dbsad_epu8(U, A, B, imm) \
1915 ((__m512i)__builtin_ia32_selectw_512((__mmask32)(U), \
1916 (__v32hi)_mm512_dbsad_epu8((A), (B), (imm)), \
1917 (__v32hi)_mm512_setzero_si512()))
1918
1919static __inline__ __m512i __DEFAULT_FN_ATTRS512
1920_mm512_sad_epu8 (__m512i __A, __m512i __B)
1921{
1922 return (__m512i) __builtin_ia32_psadbw512 ((__v64qi) __A,
1923 (__v64qi) __B);
1924}
1925
1926#undef __DEFAULT_FN_ATTRS512
1927#undef __DEFAULT_FN_ATTRS
1928#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
1929#undef __DEFAULT_FN_ATTRS_CONSTEXPR
1930
1931#endif
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
#define __DEFAULT_FN_ATTRS
return __v
Definition arm_acle.h:88
#define __DEFAULT_FN_ATTRS_CONSTEXPR
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_unpackhi_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_sll_epi16(__mmask32 __U, __m512i __A, __m128i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcastb_epi8(__m128i __A)
#define _mm512_cmpeq_epi16_mask(A, B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_abs_epi16(__mmask32 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mullo_epi16(__m512i __A, __m512i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortest_mask64_u8(__mmask64 __A, __mmask64 __B, unsigned char *__C)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_subs_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_sub_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_permutex2var_epi16(__mmask32 __U, __m512i __A, __m512i __I, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _cvtu64_mask64(unsigned long long __A)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR _kor_mask32(__mmask32 __A, __mmask32 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_max_epu8(__mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_min_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS _mm512_kunpackw(__mmask32 __A, __mmask32 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mulhi_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_adds_epu8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_adds_epu16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_subs_epu16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_srlv_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_cvtepu8_epi16(__mmask32 __U, __m256i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_adds_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_min_epu16(__mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_packus_epi32(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_sub_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS _load_mask32(__mmask32 *__A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_sllv_epi16(__m512i __A, __m512i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtepi16_epi8(__m256i __O, __mmask32 __M, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_blend_epi8(__mmask64 __U, __m512i __A, __m512i __W)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_unpacklo_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_broadcastw_epi16(__m512i __O, __mmask32 __M, __m128i __A)
#define __DEFAULT_FN_ATTRS512_CONSTEXPR
static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR _kxnor_mask32(__mmask32 __A, __mmask32 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_max_epi16(__mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_cvtepi8_epi16(__m512i __W, __mmask32 __U, __m256i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_mulhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_madd_epi16(__mmask16 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_set1_epi8(__m512i __O, __mmask64 __M, char __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_permutexvar_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_srai_epi16(__m512i __A, unsigned int __B)
static __inline void __DEFAULT_FN_ATTRS512 _mm512_storeu_epi8(void *__P, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_add_epi8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask2_permutex2var_epi16(__m512i __A, __m512i __I, __mmask32 __U, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_avg_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_add_epi8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_sub_epi8(__mmask64 __U, __m512i __A, __m512i __B)
#define _mm512_cmpeq_epi8_mask(A, B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_add_epi16(__m512i __A, __m512i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestc_mask32_u8(__mmask32 __A, __mmask32 __B)
static __inline__ void __DEFAULT_FN_ATTRS512 _mm512_mask_cvtsepi16_storeu_epi8(void *__P, __mmask32 __M, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcastw_epi16(__mmask32 __M, __m128i __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_sra_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_set1_epi16(__mmask32 __M, short __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_subs_epu8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_shuffle_epi8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestc_mask64_u8(__mmask64 __A, __mmask64 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_max_epi8(__mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_packus_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_sub_epi8(__m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS512 _mm512_mask_test_epi8_mask(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortestz_mask64_u8(__mmask64 __A, __mmask64 __B)
#define __DEFAULT_FN_ATTRS512
static __inline__ __mmask32 __DEFAULT_FN_ATTRS512 _mm512_mask_testn_epi16_mask(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtusepi16_epi8(__m256i __O, __mmask32 __M, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_mulhi_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mulhrs_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_epi8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_sll_epi16(__m512i __A, __m128i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_sad_epu8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_permutexvar_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_srli_epi16(__m512i __W, __mmask32 __U, __m512i __A, unsigned int __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_unpacklo_epi8(__m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS512 _mm512_mask_testn_epi8_mask(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR _kxor_mask64(__mmask64 __A, __mmask64 __B)
#define _mm512_cmpneq_epi8_mask(A, B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_subs_epu8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtusepi16_epi8(__mmask32 __M, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_packus_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_sra_epi16(__m512i __A, __m128i __B)
static __inline__ void __DEFAULT_FN_ATTRS512 _mm512_mask_storeu_epi8(void *__P, __mmask64 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_mulhrs_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_mullo_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_abs_epi8(__mmask64 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_subs_epu16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_abs_epi8(__m512i __W, __mmask64 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_epu16(__m512i __A, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS512 _mm512_test_epi16_mask(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_mov_epi8(__m512i __W, __mmask64 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_min_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_srlv_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_shuffle_epi8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_subs_epi8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_packs_epi32(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_add_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_subs_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ void __DEFAULT_FN_ATTRS512 _mm512_mask_storeu_epi16(void *__P, __mmask32 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_epi16(__m512i __A, __m512i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtusepi16_epi8(__m512i __A)
static __inline __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR _knot_mask32(__mmask32 __M)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_movm_epi16(__mmask32 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_mulhi_epu16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maddubs_epi16(__m512i __X, __m512i __Y)
#define _mm512_cmpneq_epi16_mask(A, B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_sll_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_permutex2var_epi16(__m512i __A, __mmask32 __U, __m512i __I, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR _kadd_mask32(__mmask32 __A, __mmask32 __B)
static __inline__ unsigned long long __DEFAULT_FN_ATTRS _cvtmask64_u64(__mmask64 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_avg_epu8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_add_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR _kandn_mask32(__mmask32 __A, __mmask32 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtepu8_epi16(__m256i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_shuffle_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_movm_epi8(__mmask64 __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_loadu_epi8(__mmask64 __U, void const *__P)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_slli_epi16(__mmask32 __U, __m512i __A, unsigned int __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_max_epu16(__mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtsepi16_epi8(__m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_add_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_srav_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_set1_epi8(__mmask64 __M, char __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mulhi_epu16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_permutexvar_epi16(__mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_unpackhi_epi8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_adds_epi8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_avg_epu16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_epi8(__m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR _kadd_mask64(__mmask64 __A, __mmask64 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_mulhrs_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS512 _mm512_movepi8_mask(__m512i __A)
static __inline void __DEFAULT_FN_ATTRS512 _mm512_storeu_epi16(void *__P, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_avg_epu16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ void __DEFAULT_FN_ATTRS _store_mask64(__mmask64 *__A, __mmask64 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_adds_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_permutex2var_epi16(__m512i __A, __m512i __I, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_packus_epi16(__mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_loadu_epi16(__m512i __W, __mmask32 __U, void const *__P)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortestc_mask64_u8(__mmask64 __A, __mmask64 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_unpacklo_epi8(__mmask64 __U, __m512i __A, __m512i __B)
unsigned long long __mmask64
static __inline __m512i __DEFAULT_FN_ATTRS512 _mm512_loadu_epi8(void const *__P)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_unpackhi_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_unpackhi_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_subs_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_subs_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _mm512_kunpackd(__mmask64 __A, __mmask64 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_madd_epi16(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
static __inline__ void __DEFAULT_FN_ATTRS _store_mask32(__mmask32 *__A, __mmask32 __B)
#define _mm512_mask_cmpeq_epi8_mask(k, A, B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_srav_epi16(__mmask32 __U, __m512i __A, __m512i __B)
#define _mm512_mask_cmpneq_epi16_mask(k, A, B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS512 _mm512_testn_epi16_mask(__m512i __A, __m512i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestz_mask32_u8(__mmask32 __A, __mmask32 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_mullo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_srai_epi16(__mmask32 __U, __m512i __A, unsigned int __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_subs_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_srl_epi16(__mmask32 __U, __m512i __A, __m128i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_sub_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR _kand_mask32(__mmask32 __A, __mmask32 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_packs_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
static __inline __m512i __DEFAULT_FN_ATTRS512 _mm512_loadu_epi16(void const *__P)
static __inline __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR _knot_mask64(__mmask64 __M)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtsepi16_epi8(__m256i __O, __mmask32 __M, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_blend_epi16(__mmask32 __U, __m512i __A, __m512i __W)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_unpackhi_epi8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_adds_epi8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_loadu_epi8(__m512i __W, __mmask64 __U, void const *__P)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_slli_epi16(__m512i __W, __mmask32 __U, __m512i __A, unsigned int __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_srl_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_max_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtepi8_epi16(__m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtsepi16_epi8(__mmask32 __M, __m512i __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktestz_mask64_u8(__mmask64 __A, __mmask64 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_min_epu8(__mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR _kxor_mask32(__mmask32 __A, __mmask32 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_adds_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_packus_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_avg_epu8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_packs_epi32(__mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_unpacklo_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_broadcastw_epi16(__m128i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_srli_epi16(__m512i __A, unsigned int __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_mulhi_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_broadcastb_epi8(__m512i __O, __mmask64 __M, __m128i __A)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS512 _mm512_mask_test_epi16_mask(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_adds_epu16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_abs_epi16(__m512i __A)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS _cvtu32_mask32(unsigned int __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_maskz_cvtepi16_epi8(__mmask32 __M, __m512i __A)
static __inline__ void __DEFAULT_FN_ATTRS512 _mm512_mask_cvtusepi16_storeu_epi8(void *__P, __mmask32 __M, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_sra_epi16(__mmask32 __U, __m512i __A, __m128i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _ktest_mask64_u8(__mmask64 __A, __mmask64 __B, unsigned char *__C)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_srlv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_unpackhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_abs_epi8(__m512i __A)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS _load_mask64(__mmask64 *__A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_broadcastb_epi8(__mmask64 __M, __m128i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_sllv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtepi16_epi8(__m512i __A)
#define _mm512_mask_cmpeq_epi16_mask(k, A, B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_slli_epi16(__m512i __A, unsigned int __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR _kor_mask64(__mmask64 __A, __mmask64 __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_set1_epi16(__m512i __O, __mmask32 __M, short __A)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR _kand_mask64(__mmask64 __A, __mmask64 __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortestc_mask32_u8(__mmask32 __A, __mmask32 __B)
#define _mm512_mask_cmpneq_epi8_mask(k, A, B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_subs_epi8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_min_epi16(__mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_loadu_epi16(__mmask32 __U, void const *__P)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS512 _mm512_testn_epi8_mask(__m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR _kandn_mask64(__mmask64 __A, __mmask64 __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS512 _mm512_test_epi8_mask(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_abs_epi16(__m512i __W, __mmask32 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_packs_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_unpacklo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS512 _mm512_movepi16_mask(__m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_subs_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_min_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_packus_epi32(__mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_min_epi8(__mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_sllv_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR _kxnor_mask64(__mmask64 __A, __mmask64 __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_adds_epu8(__mmask64 __U, __m512i __A, __m512i __B)
static __inline__ unsigned int __DEFAULT_FN_ATTRS _cvtmask32_u32(__mmask32 __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS _kortestz_mask32_u8(__mmask32 __A, __mmask32 __B)
unsigned int __mmask32
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_adds_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_madd_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_packs_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_max_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_srl_epi16(__m512i __A, __m128i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_max_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_srli_epi16(__mmask32 __U, __m512i __A, int __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_cvtepu8_epi16(__m512i __W, __mmask32 __U, __m256i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_adds_epi16(__mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_unpacklo_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_srai_epi16(__m512i __W, __mmask32 __U, __m512i __A, unsigned int __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_mask_mov_epi16(__m512i __W, __mmask32 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_adds_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_srav_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_maddubs_epi16(__mmask32 __U, __m512i __X, __m512i __Y)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_avg_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_epu16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_epu8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_maskz_cvtepi8_epi16(__mmask32 __U, __m256i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_maddubs_epi16(__m512i __W, __mmask32 __U, __m512i __X, __m512i __Y)
static __inline__ void __DEFAULT_FN_ATTRS512 _mm512_mask_cvtepi16_storeu_epi8(void *__P, __mmask32 __M, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_epu8(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_packs_epi16(__mmask64 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_mov_epi16(__mmask32 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_maskz_mov_epi8(__mmask64 __U, __m512i __A)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_min_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_sub_epi16(__m512i __A, __m512i __B)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_mask_max_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set1_epi8(char __w)
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_and_epi32(__m512i __a, __m512i __b)
unsigned short __mmask16
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setzero_si512(void)
static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set1_epi16(short __w)
static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_undefined_si256(void)
Create a 256-bit integer vector with undefined values.
Definition avxintrin.h:3633
static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_setzero_si256(void)
Constructs a 256-bit integer vector initialized to zero.
Definition avxintrin.h:4316
__inline unsigned int unsigned int unsigned int * __P
Definition bmi2intrin.h:25
__inline unsigned int unsigned int __Y
Definition bmi2intrin.h:19