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