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