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