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