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