clang 22.0.0git
avx512vlbwintrin.h
Go to the documentation of this file.
1/*===---- avx512vlbwintrin.h - AVX512VL and AVX512BW intrinsics ------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __IMMINTRIN_H
11#error "Never use <avx512vlbwintrin.h> directly; include <immintrin.h> instead."
12#endif
13
14#ifndef __AVX512VLBWINTRIN_H
15#define __AVX512VLBWINTRIN_H
16
17/* Define the default attributes for the functions in this file. */
18#define __DEFAULT_FN_ATTRS128 \
19 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vl,avx512bw"), __min_vector_width__(128)))
21#define __DEFAULT_FN_ATTRS256 \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("avx512vl,avx512bw"), __min_vector_width__(256)))
24
25#if defined(__cplusplus) && (__cplusplus >= 201103L)
26#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
27#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
28#else
29#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
30#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
31#endif
32
33/* Integer compare */
34
35#define _mm_cmp_epi8_mask(a, b, p) \
36 ((__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
37 (__v16qi)(__m128i)(b), (int)(p), \
38 (__mmask16)-1))
39
40#define _mm_mask_cmp_epi8_mask(m, a, b, p) \
41 ((__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
42 (__v16qi)(__m128i)(b), (int)(p), \
43 (__mmask16)(m)))
44
45#define _mm_cmp_epu8_mask(a, b, p) \
46 ((__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
47 (__v16qi)(__m128i)(b), (int)(p), \
48 (__mmask16)-1))
49
50#define _mm_mask_cmp_epu8_mask(m, a, b, p) \
51 ((__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
52 (__v16qi)(__m128i)(b), (int)(p), \
53 (__mmask16)(m)))
54
55#define _mm256_cmp_epi8_mask(a, b, p) \
56 ((__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
57 (__v32qi)(__m256i)(b), (int)(p), \
58 (__mmask32)-1))
59
60#define _mm256_mask_cmp_epi8_mask(m, a, b, p) \
61 ((__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
62 (__v32qi)(__m256i)(b), (int)(p), \
63 (__mmask32)(m)))
64
65#define _mm256_cmp_epu8_mask(a, b, p) \
66 ((__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
67 (__v32qi)(__m256i)(b), (int)(p), \
68 (__mmask32)-1))
69
70#define _mm256_mask_cmp_epu8_mask(m, a, b, p) \
71 ((__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
72 (__v32qi)(__m256i)(b), (int)(p), \
73 (__mmask32)(m)))
74
75#define _mm_cmp_epi16_mask(a, b, p) \
76 ((__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
77 (__v8hi)(__m128i)(b), (int)(p), \
78 (__mmask8)-1))
79
80#define _mm_mask_cmp_epi16_mask(m, a, b, p) \
81 ((__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
82 (__v8hi)(__m128i)(b), (int)(p), \
83 (__mmask8)(m)))
84
85#define _mm_cmp_epu16_mask(a, b, p) \
86 ((__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
87 (__v8hi)(__m128i)(b), (int)(p), \
88 (__mmask8)-1))
89
90#define _mm_mask_cmp_epu16_mask(m, a, b, p) \
91 ((__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
92 (__v8hi)(__m128i)(b), (int)(p), \
93 (__mmask8)(m)))
94
95#define _mm256_cmp_epi16_mask(a, b, p) \
96 ((__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
97 (__v16hi)(__m256i)(b), (int)(p), \
98 (__mmask16)-1))
99
100#define _mm256_mask_cmp_epi16_mask(m, a, b, p) \
101 ((__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
102 (__v16hi)(__m256i)(b), (int)(p), \
103 (__mmask16)(m)))
104
105#define _mm256_cmp_epu16_mask(a, b, p) \
106 ((__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
107 (__v16hi)(__m256i)(b), (int)(p), \
108 (__mmask16)-1))
109
110#define _mm256_mask_cmp_epu16_mask(m, a, b, p) \
111 ((__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
112 (__v16hi)(__m256i)(b), (int)(p), \
113 (__mmask16)(m)))
114
115#define _mm_cmpeq_epi8_mask(A, B) \
116 _mm_cmp_epi8_mask((A), (B), _MM_CMPINT_EQ)
117#define _mm_mask_cmpeq_epi8_mask(k, A, B) \
118 _mm_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_EQ)
119#define _mm_cmpge_epi8_mask(A, B) \
120 _mm_cmp_epi8_mask((A), (B), _MM_CMPINT_GE)
121#define _mm_mask_cmpge_epi8_mask(k, A, B) \
122 _mm_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_GE)
123#define _mm_cmpgt_epi8_mask(A, B) \
124 _mm_cmp_epi8_mask((A), (B), _MM_CMPINT_GT)
125#define _mm_mask_cmpgt_epi8_mask(k, A, B) \
126 _mm_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_GT)
127#define _mm_cmple_epi8_mask(A, B) \
128 _mm_cmp_epi8_mask((A), (B), _MM_CMPINT_LE)
129#define _mm_mask_cmple_epi8_mask(k, A, B) \
130 _mm_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_LE)
131#define _mm_cmplt_epi8_mask(A, B) \
132 _mm_cmp_epi8_mask((A), (B), _MM_CMPINT_LT)
133#define _mm_mask_cmplt_epi8_mask(k, A, B) \
134 _mm_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_LT)
135#define _mm_cmpneq_epi8_mask(A, B) \
136 _mm_cmp_epi8_mask((A), (B), _MM_CMPINT_NE)
137#define _mm_mask_cmpneq_epi8_mask(k, A, B) \
138 _mm_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_NE)
139
140#define _mm256_cmpeq_epi8_mask(A, B) \
141 _mm256_cmp_epi8_mask((A), (B), _MM_CMPINT_EQ)
142#define _mm256_mask_cmpeq_epi8_mask(k, A, B) \
143 _mm256_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_EQ)
144#define _mm256_cmpge_epi8_mask(A, B) \
145 _mm256_cmp_epi8_mask((A), (B), _MM_CMPINT_GE)
146#define _mm256_mask_cmpge_epi8_mask(k, A, B) \
147 _mm256_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_GE)
148#define _mm256_cmpgt_epi8_mask(A, B) \
149 _mm256_cmp_epi8_mask((A), (B), _MM_CMPINT_GT)
150#define _mm256_mask_cmpgt_epi8_mask(k, A, B) \
151 _mm256_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_GT)
152#define _mm256_cmple_epi8_mask(A, B) \
153 _mm256_cmp_epi8_mask((A), (B), _MM_CMPINT_LE)
154#define _mm256_mask_cmple_epi8_mask(k, A, B) \
155 _mm256_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_LE)
156#define _mm256_cmplt_epi8_mask(A, B) \
157 _mm256_cmp_epi8_mask((A), (B), _MM_CMPINT_LT)
158#define _mm256_mask_cmplt_epi8_mask(k, A, B) \
159 _mm256_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_LT)
160#define _mm256_cmpneq_epi8_mask(A, B) \
161 _mm256_cmp_epi8_mask((A), (B), _MM_CMPINT_NE)
162#define _mm256_mask_cmpneq_epi8_mask(k, A, B) \
163 _mm256_mask_cmp_epi8_mask((k), (A), (B), _MM_CMPINT_NE)
164
165#define _mm_cmpeq_epu8_mask(A, B) \
166 _mm_cmp_epu8_mask((A), (B), _MM_CMPINT_EQ)
167#define _mm_mask_cmpeq_epu8_mask(k, A, B) \
168 _mm_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_EQ)
169#define _mm_cmpge_epu8_mask(A, B) \
170 _mm_cmp_epu8_mask((A), (B), _MM_CMPINT_GE)
171#define _mm_mask_cmpge_epu8_mask(k, A, B) \
172 _mm_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_GE)
173#define _mm_cmpgt_epu8_mask(A, B) \
174 _mm_cmp_epu8_mask((A), (B), _MM_CMPINT_GT)
175#define _mm_mask_cmpgt_epu8_mask(k, A, B) \
176 _mm_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_GT)
177#define _mm_cmple_epu8_mask(A, B) \
178 _mm_cmp_epu8_mask((A), (B), _MM_CMPINT_LE)
179#define _mm_mask_cmple_epu8_mask(k, A, B) \
180 _mm_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_LE)
181#define _mm_cmplt_epu8_mask(A, B) \
182 _mm_cmp_epu8_mask((A), (B), _MM_CMPINT_LT)
183#define _mm_mask_cmplt_epu8_mask(k, A, B) \
184 _mm_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_LT)
185#define _mm_cmpneq_epu8_mask(A, B) \
186 _mm_cmp_epu8_mask((A), (B), _MM_CMPINT_NE)
187#define _mm_mask_cmpneq_epu8_mask(k, A, B) \
188 _mm_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_NE)
189
190#define _mm256_cmpeq_epu8_mask(A, B) \
191 _mm256_cmp_epu8_mask((A), (B), _MM_CMPINT_EQ)
192#define _mm256_mask_cmpeq_epu8_mask(k, A, B) \
193 _mm256_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_EQ)
194#define _mm256_cmpge_epu8_mask(A, B) \
195 _mm256_cmp_epu8_mask((A), (B), _MM_CMPINT_GE)
196#define _mm256_mask_cmpge_epu8_mask(k, A, B) \
197 _mm256_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_GE)
198#define _mm256_cmpgt_epu8_mask(A, B) \
199 _mm256_cmp_epu8_mask((A), (B), _MM_CMPINT_GT)
200#define _mm256_mask_cmpgt_epu8_mask(k, A, B) \
201 _mm256_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_GT)
202#define _mm256_cmple_epu8_mask(A, B) \
203 _mm256_cmp_epu8_mask((A), (B), _MM_CMPINT_LE)
204#define _mm256_mask_cmple_epu8_mask(k, A, B) \
205 _mm256_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_LE)
206#define _mm256_cmplt_epu8_mask(A, B) \
207 _mm256_cmp_epu8_mask((A), (B), _MM_CMPINT_LT)
208#define _mm256_mask_cmplt_epu8_mask(k, A, B) \
209 _mm256_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_LT)
210#define _mm256_cmpneq_epu8_mask(A, B) \
211 _mm256_cmp_epu8_mask((A), (B), _MM_CMPINT_NE)
212#define _mm256_mask_cmpneq_epu8_mask(k, A, B) \
213 _mm256_mask_cmp_epu8_mask((k), (A), (B), _MM_CMPINT_NE)
214
215#define _mm_cmpeq_epi16_mask(A, B) \
216 _mm_cmp_epi16_mask((A), (B), _MM_CMPINT_EQ)
217#define _mm_mask_cmpeq_epi16_mask(k, A, B) \
218 _mm_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_EQ)
219#define _mm_cmpge_epi16_mask(A, B) \
220 _mm_cmp_epi16_mask((A), (B), _MM_CMPINT_GE)
221#define _mm_mask_cmpge_epi16_mask(k, A, B) \
222 _mm_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_GE)
223#define _mm_cmpgt_epi16_mask(A, B) \
224 _mm_cmp_epi16_mask((A), (B), _MM_CMPINT_GT)
225#define _mm_mask_cmpgt_epi16_mask(k, A, B) \
226 _mm_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_GT)
227#define _mm_cmple_epi16_mask(A, B) \
228 _mm_cmp_epi16_mask((A), (B), _MM_CMPINT_LE)
229#define _mm_mask_cmple_epi16_mask(k, A, B) \
230 _mm_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_LE)
231#define _mm_cmplt_epi16_mask(A, B) \
232 _mm_cmp_epi16_mask((A), (B), _MM_CMPINT_LT)
233#define _mm_mask_cmplt_epi16_mask(k, A, B) \
234 _mm_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_LT)
235#define _mm_cmpneq_epi16_mask(A, B) \
236 _mm_cmp_epi16_mask((A), (B), _MM_CMPINT_NE)
237#define _mm_mask_cmpneq_epi16_mask(k, A, B) \
238 _mm_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_NE)
239
240#define _mm256_cmpeq_epi16_mask(A, B) \
241 _mm256_cmp_epi16_mask((A), (B), _MM_CMPINT_EQ)
242#define _mm256_mask_cmpeq_epi16_mask(k, A, B) \
243 _mm256_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_EQ)
244#define _mm256_cmpge_epi16_mask(A, B) \
245 _mm256_cmp_epi16_mask((A), (B), _MM_CMPINT_GE)
246#define _mm256_mask_cmpge_epi16_mask(k, A, B) \
247 _mm256_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_GE)
248#define _mm256_cmpgt_epi16_mask(A, B) \
249 _mm256_cmp_epi16_mask((A), (B), _MM_CMPINT_GT)
250#define _mm256_mask_cmpgt_epi16_mask(k, A, B) \
251 _mm256_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_GT)
252#define _mm256_cmple_epi16_mask(A, B) \
253 _mm256_cmp_epi16_mask((A), (B), _MM_CMPINT_LE)
254#define _mm256_mask_cmple_epi16_mask(k, A, B) \
255 _mm256_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_LE)
256#define _mm256_cmplt_epi16_mask(A, B) \
257 _mm256_cmp_epi16_mask((A), (B), _MM_CMPINT_LT)
258#define _mm256_mask_cmplt_epi16_mask(k, A, B) \
259 _mm256_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_LT)
260#define _mm256_cmpneq_epi16_mask(A, B) \
261 _mm256_cmp_epi16_mask((A), (B), _MM_CMPINT_NE)
262#define _mm256_mask_cmpneq_epi16_mask(k, A, B) \
263 _mm256_mask_cmp_epi16_mask((k), (A), (B), _MM_CMPINT_NE)
264
265#define _mm_cmpeq_epu16_mask(A, B) \
266 _mm_cmp_epu16_mask((A), (B), _MM_CMPINT_EQ)
267#define _mm_mask_cmpeq_epu16_mask(k, A, B) \
268 _mm_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_EQ)
269#define _mm_cmpge_epu16_mask(A, B) \
270 _mm_cmp_epu16_mask((A), (B), _MM_CMPINT_GE)
271#define _mm_mask_cmpge_epu16_mask(k, A, B) \
272 _mm_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_GE)
273#define _mm_cmpgt_epu16_mask(A, B) \
274 _mm_cmp_epu16_mask((A), (B), _MM_CMPINT_GT)
275#define _mm_mask_cmpgt_epu16_mask(k, A, B) \
276 _mm_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_GT)
277#define _mm_cmple_epu16_mask(A, B) \
278 _mm_cmp_epu16_mask((A), (B), _MM_CMPINT_LE)
279#define _mm_mask_cmple_epu16_mask(k, A, B) \
280 _mm_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_LE)
281#define _mm_cmplt_epu16_mask(A, B) \
282 _mm_cmp_epu16_mask((A), (B), _MM_CMPINT_LT)
283#define _mm_mask_cmplt_epu16_mask(k, A, B) \
284 _mm_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_LT)
285#define _mm_cmpneq_epu16_mask(A, B) \
286 _mm_cmp_epu16_mask((A), (B), _MM_CMPINT_NE)
287#define _mm_mask_cmpneq_epu16_mask(k, A, B) \
288 _mm_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_NE)
289
290#define _mm256_cmpeq_epu16_mask(A, B) \
291 _mm256_cmp_epu16_mask((A), (B), _MM_CMPINT_EQ)
292#define _mm256_mask_cmpeq_epu16_mask(k, A, B) \
293 _mm256_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_EQ)
294#define _mm256_cmpge_epu16_mask(A, B) \
295 _mm256_cmp_epu16_mask((A), (B), _MM_CMPINT_GE)
296#define _mm256_mask_cmpge_epu16_mask(k, A, B) \
297 _mm256_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_GE)
298#define _mm256_cmpgt_epu16_mask(A, B) \
299 _mm256_cmp_epu16_mask((A), (B), _MM_CMPINT_GT)
300#define _mm256_mask_cmpgt_epu16_mask(k, A, B) \
301 _mm256_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_GT)
302#define _mm256_cmple_epu16_mask(A, B) \
303 _mm256_cmp_epu16_mask((A), (B), _MM_CMPINT_LE)
304#define _mm256_mask_cmple_epu16_mask(k, A, B) \
305 _mm256_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_LE)
306#define _mm256_cmplt_epu16_mask(A, B) \
307 _mm256_cmp_epu16_mask((A), (B), _MM_CMPINT_LT)
308#define _mm256_mask_cmplt_epu16_mask(k, A, B) \
309 _mm256_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_LT)
310#define _mm256_cmpneq_epu16_mask(A, B) \
311 _mm256_cmp_epu16_mask((A), (B), _MM_CMPINT_NE)
312#define _mm256_mask_cmpneq_epu16_mask(k, A, B) \
313 _mm256_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_NE)
314
315static __inline__ __m256i __DEFAULT_FN_ATTRS256
316_mm256_mask_add_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B){
317 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
318 (__v32qi)_mm256_add_epi8(__A, __B),
319 (__v32qi)__W);
320}
321
322static __inline__ __m256i __DEFAULT_FN_ATTRS256
323_mm256_maskz_add_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
324 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
325 (__v32qi)_mm256_add_epi8(__A, __B),
326 (__v32qi)_mm256_setzero_si256());
327}
328
329static __inline__ __m256i __DEFAULT_FN_ATTRS256
330_mm256_mask_add_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
331 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
332 (__v16hi)_mm256_add_epi16(__A, __B),
333 (__v16hi)__W);
334}
335
336static __inline__ __m256i __DEFAULT_FN_ATTRS256
337_mm256_maskz_add_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
338 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
339 (__v16hi)_mm256_add_epi16(__A, __B),
340 (__v16hi)_mm256_setzero_si256());
341}
342
343static __inline__ __m256i __DEFAULT_FN_ATTRS256
344_mm256_mask_sub_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
345 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
346 (__v32qi)_mm256_sub_epi8(__A, __B),
347 (__v32qi)__W);
348}
349
350static __inline__ __m256i __DEFAULT_FN_ATTRS256
351_mm256_maskz_sub_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
352 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
353 (__v32qi)_mm256_sub_epi8(__A, __B),
354 (__v32qi)_mm256_setzero_si256());
355}
356
357static __inline__ __m256i __DEFAULT_FN_ATTRS256
358_mm256_mask_sub_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
359 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
360 (__v16hi)_mm256_sub_epi16(__A, __B),
361 (__v16hi)__W);
362}
363
364static __inline__ __m256i __DEFAULT_FN_ATTRS256
365_mm256_maskz_sub_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
366 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
367 (__v16hi)_mm256_sub_epi16(__A, __B),
368 (__v16hi)_mm256_setzero_si256());
369}
370
371static __inline__ __m128i __DEFAULT_FN_ATTRS128
372_mm_mask_add_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
373 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
374 (__v16qi)_mm_add_epi8(__A, __B),
375 (__v16qi)__W);
376}
377
378static __inline__ __m128i __DEFAULT_FN_ATTRS128
379_mm_maskz_add_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
380 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
381 (__v16qi)_mm_add_epi8(__A, __B),
382 (__v16qi)_mm_setzero_si128());
383}
384
385static __inline__ __m128i __DEFAULT_FN_ATTRS128
386_mm_mask_add_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
387 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
388 (__v8hi)_mm_add_epi16(__A, __B),
389 (__v8hi)__W);
390}
391
392static __inline__ __m128i __DEFAULT_FN_ATTRS128
393_mm_maskz_add_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
394 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
395 (__v8hi)_mm_add_epi16(__A, __B),
396 (__v8hi)_mm_setzero_si128());
397}
398
399static __inline__ __m128i __DEFAULT_FN_ATTRS128
400_mm_mask_sub_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
401 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
402 (__v16qi)_mm_sub_epi8(__A, __B),
403 (__v16qi)__W);
404}
405
406static __inline__ __m128i __DEFAULT_FN_ATTRS128
407_mm_maskz_sub_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
408 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
409 (__v16qi)_mm_sub_epi8(__A, __B),
410 (__v16qi)_mm_setzero_si128());
411}
412
413static __inline__ __m128i __DEFAULT_FN_ATTRS128
414_mm_mask_sub_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
415 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
416 (__v8hi)_mm_sub_epi16(__A, __B),
417 (__v8hi)__W);
418}
419
420static __inline__ __m128i __DEFAULT_FN_ATTRS128
421_mm_maskz_sub_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
422 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
423 (__v8hi)_mm_sub_epi16(__A, __B),
424 (__v8hi)_mm_setzero_si128());
425}
426
427static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
428_mm256_mask_mullo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
429 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
430 (__v16hi)_mm256_mullo_epi16(__A, __B),
431 (__v16hi)__W);
432}
433
434static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
435_mm256_maskz_mullo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
436 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
437 (__v16hi)_mm256_mullo_epi16(__A, __B),
438 (__v16hi)_mm256_setzero_si256());
439}
440
441static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
442_mm_mask_mullo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
443 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
444 (__v8hi)_mm_mullo_epi16(__A, __B),
445 (__v8hi)__W);
446}
447
448static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
449_mm_maskz_mullo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
450 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
451 (__v8hi)_mm_mullo_epi16(__A, __B),
452 (__v8hi)_mm_setzero_si128());
453}
454
455static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
456_mm_mask_blend_epi8(__mmask16 __U, __m128i __A, __m128i __W) {
457 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
458 (__v16qi) __W,
459 (__v16qi) __A);
460}
461
462static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
463_mm256_mask_blend_epi8(__mmask32 __U, __m256i __A, __m256i __W) {
464 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
465 (__v32qi) __W,
466 (__v32qi) __A);
467}
468
469static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
470_mm_mask_blend_epi16(__mmask8 __U, __m128i __A, __m128i __W) {
471 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
472 (__v8hi) __W,
473 (__v8hi) __A);
474}
475
476static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
477_mm256_mask_blend_epi16(__mmask16 __U, __m256i __A, __m256i __W) {
478 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
479 (__v16hi) __W,
480 (__v16hi) __A);
481}
482
483static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
484_mm_mask_abs_epi8(__m128i __W, __mmask16 __U, __m128i __A) {
485 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
486 (__v16qi)_mm_abs_epi8(__A),
487 (__v16qi)__W);
488}
489
490static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
491_mm_maskz_abs_epi8(__mmask16 __U, __m128i __A) {
492 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
493 (__v16qi)_mm_abs_epi8(__A),
494 (__v16qi)_mm_setzero_si128());
495}
496
497static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
498_mm256_mask_abs_epi8(__m256i __W, __mmask32 __U, __m256i __A) {
499 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
500 (__v32qi)_mm256_abs_epi8(__A),
501 (__v32qi)__W);
502}
503
504static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
506 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
507 (__v32qi)_mm256_abs_epi8(__A),
508 (__v32qi)_mm256_setzero_si256());
509}
510
511static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
512_mm_mask_abs_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
513 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
514 (__v8hi)_mm_abs_epi16(__A),
515 (__v8hi)__W);
516}
517
518static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
519_mm_maskz_abs_epi16(__mmask8 __U, __m128i __A) {
520 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
521 (__v8hi)_mm_abs_epi16(__A),
522 (__v8hi)_mm_setzero_si128());
523}
524
525static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
526_mm256_mask_abs_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
527 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
528 (__v16hi)_mm256_abs_epi16(__A),
529 (__v16hi)__W);
530}
531
532static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
534 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
535 (__v16hi)_mm256_abs_epi16(__A),
536 (__v16hi)_mm256_setzero_si256());
537}
538
539static __inline__ __m128i __DEFAULT_FN_ATTRS128
540_mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
541 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
542 (__v8hi)_mm_packs_epi32(__A, __B),
543 (__v8hi)_mm_setzero_si128());
544}
545
546static __inline__ __m128i __DEFAULT_FN_ATTRS128
547_mm_mask_packs_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
548{
549 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
550 (__v8hi)_mm_packs_epi32(__A, __B),
551 (__v8hi)__W);
552}
553
554static __inline__ __m256i __DEFAULT_FN_ATTRS256
555_mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B)
556{
557 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
558 (__v16hi)_mm256_packs_epi32(__A, __B),
559 (__v16hi)_mm256_setzero_si256());
560}
561
562static __inline__ __m256i __DEFAULT_FN_ATTRS256
563_mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
564{
565 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
566 (__v16hi)_mm256_packs_epi32(__A, __B),
567 (__v16hi)__W);
568}
569
570static __inline__ __m128i __DEFAULT_FN_ATTRS128
571_mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B)
572{
573 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
574 (__v16qi)_mm_packs_epi16(__A, __B),
575 (__v16qi)_mm_setzero_si128());
576}
577
578static __inline__ __m128i __DEFAULT_FN_ATTRS128
579_mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
580{
581 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
582 (__v16qi)_mm_packs_epi16(__A, __B),
583 (__v16qi)__W);
584}
585
586static __inline__ __m256i __DEFAULT_FN_ATTRS256
587_mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B)
588{
589 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
590 (__v32qi)_mm256_packs_epi16(__A, __B),
591 (__v32qi)_mm256_setzero_si256());
592}
593
594static __inline__ __m256i __DEFAULT_FN_ATTRS256
595_mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
596{
597 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
598 (__v32qi)_mm256_packs_epi16(__A, __B),
599 (__v32qi)__W);
600}
601
602static __inline__ __m128i __DEFAULT_FN_ATTRS128
603_mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B)
604{
605 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
606 (__v8hi)_mm_packus_epi32(__A, __B),
607 (__v8hi)_mm_setzero_si128());
608}
609
610static __inline__ __m128i __DEFAULT_FN_ATTRS128
611_mm_mask_packus_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
612{
613 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
614 (__v8hi)_mm_packus_epi32(__A, __B),
615 (__v8hi)__W);
616}
617
618static __inline__ __m256i __DEFAULT_FN_ATTRS256
619_mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B)
620{
621 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
622 (__v16hi)_mm256_packus_epi32(__A, __B),
623 (__v16hi)_mm256_setzero_si256());
624}
625
626static __inline__ __m256i __DEFAULT_FN_ATTRS256
627_mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
628{
629 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
630 (__v16hi)_mm256_packus_epi32(__A, __B),
631 (__v16hi)__W);
632}
633
634static __inline__ __m128i __DEFAULT_FN_ATTRS128
635_mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B)
636{
637 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
638 (__v16qi)_mm_packus_epi16(__A, __B),
639 (__v16qi)_mm_setzero_si128());
640}
641
642static __inline__ __m128i __DEFAULT_FN_ATTRS128
643_mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
644{
645 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
646 (__v16qi)_mm_packus_epi16(__A, __B),
647 (__v16qi)__W);
648}
649
650static __inline__ __m256i __DEFAULT_FN_ATTRS256
651_mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B)
652{
653 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
654 (__v32qi)_mm256_packus_epi16(__A, __B),
655 (__v32qi)_mm256_setzero_si256());
656}
657
658static __inline__ __m256i __DEFAULT_FN_ATTRS256
659_mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
660{
661 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
662 (__v32qi)_mm256_packus_epi16(__A, __B),
663 (__v32qi)__W);
664}
665
666static __inline__ __m128i __DEFAULT_FN_ATTRS128
667_mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
668{
669 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
670 (__v16qi)_mm_adds_epi8(__A, __B),
671 (__v16qi)__W);
672}
673
674static __inline__ __m128i __DEFAULT_FN_ATTRS128
675_mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B)
676{
677 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
678 (__v16qi)_mm_adds_epi8(__A, __B),
679 (__v16qi)_mm_setzero_si128());
680}
681
682static __inline__ __m256i __DEFAULT_FN_ATTRS256
683_mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
684{
685 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
686 (__v32qi)_mm256_adds_epi8(__A, __B),
687 (__v32qi)__W);
688}
689
690static __inline__ __m256i __DEFAULT_FN_ATTRS256
691_mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B)
692{
693 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
694 (__v32qi)_mm256_adds_epi8(__A, __B),
695 (__v32qi)_mm256_setzero_si256());
696}
697
698static __inline__ __m128i __DEFAULT_FN_ATTRS128
699_mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
700{
701 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
702 (__v8hi)_mm_adds_epi16(__A, __B),
703 (__v8hi)__W);
704}
705
706static __inline__ __m128i __DEFAULT_FN_ATTRS128
707_mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B)
708{
709 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
710 (__v8hi)_mm_adds_epi16(__A, __B),
711 (__v8hi)_mm_setzero_si128());
712}
713
714static __inline__ __m256i __DEFAULT_FN_ATTRS256
715_mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
716{
717 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
718 (__v16hi)_mm256_adds_epi16(__A, __B),
719 (__v16hi)__W);
720}
721
722static __inline__ __m256i __DEFAULT_FN_ATTRS256
723_mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B)
724{
725 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
726 (__v16hi)_mm256_adds_epi16(__A, __B),
727 (__v16hi)_mm256_setzero_si256());
728}
729
730static __inline__ __m128i __DEFAULT_FN_ATTRS128
731_mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
732{
733 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
734 (__v16qi)_mm_adds_epu8(__A, __B),
735 (__v16qi)__W);
736}
737
738static __inline__ __m128i __DEFAULT_FN_ATTRS128
739_mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B)
740{
741 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
742 (__v16qi)_mm_adds_epu8(__A, __B),
743 (__v16qi)_mm_setzero_si128());
744}
745
746static __inline__ __m256i __DEFAULT_FN_ATTRS256
747_mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
748{
749 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
750 (__v32qi)_mm256_adds_epu8(__A, __B),
751 (__v32qi)__W);
752}
753
754static __inline__ __m256i __DEFAULT_FN_ATTRS256
755_mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B)
756{
757 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
758 (__v32qi)_mm256_adds_epu8(__A, __B),
759 (__v32qi)_mm256_setzero_si256());
760}
761
762static __inline__ __m128i __DEFAULT_FN_ATTRS128
763_mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
764{
765 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
766 (__v8hi)_mm_adds_epu16(__A, __B),
767 (__v8hi)__W);
768}
769
770static __inline__ __m128i __DEFAULT_FN_ATTRS128
771_mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B)
772{
773 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
774 (__v8hi)_mm_adds_epu16(__A, __B),
775 (__v8hi)_mm_setzero_si128());
776}
777
778static __inline__ __m256i __DEFAULT_FN_ATTRS256
779_mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
780{
781 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
782 (__v16hi)_mm256_adds_epu16(__A, __B),
783 (__v16hi)__W);
784}
785
786static __inline__ __m256i __DEFAULT_FN_ATTRS256
787_mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B)
788{
789 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
790 (__v16hi)_mm256_adds_epu16(__A, __B),
791 (__v16hi)_mm256_setzero_si256());
792}
793
794static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
795_mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
796 return (__m128i)__builtin_ia32_selectb_128(
797 (__mmask16)__U, (__v16qi)_mm_avg_epu8(__A, __B), (__v16qi)__W);
798}
799
800static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
801_mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
802 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
803 (__v16qi)_mm_avg_epu8(__A, __B),
804 (__v16qi)_mm_setzero_si128());
805}
806
807static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
808_mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
809 return (__m256i)__builtin_ia32_selectb_256(
810 (__mmask32)__U, (__v32qi)_mm256_avg_epu8(__A, __B), (__v32qi)__W);
811}
812
813static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
814_mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
815 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
816 (__v32qi)_mm256_avg_epu8(__A, __B),
817 (__v32qi)_mm256_setzero_si256());
818}
819
820static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
821_mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
822 return (__m128i)__builtin_ia32_selectw_128(
823 (__mmask8)__U, (__v8hi)_mm_avg_epu16(__A, __B), (__v8hi)__W);
824}
825
826static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
827_mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
828 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
829 (__v8hi)_mm_avg_epu16(__A, __B),
830 (__v8hi)_mm_setzero_si128());
831}
832
833static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
834_mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
835 return (__m256i)__builtin_ia32_selectw_256(
836 (__mmask16)__U, (__v16hi)_mm256_avg_epu16(__A, __B), (__v16hi)__W);
837}
838
839static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
840_mm256_maskz_avg_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
841 return (__m256i)__builtin_ia32_selectw_256(
842 (__mmask16)__U, (__v16hi)_mm256_avg_epu16(__A, __B),
843 (__v16hi)_mm256_setzero_si256());
844}
845
846static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
847_mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
848 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
849 (__v16qi)_mm_max_epi8(__A, __B),
850 (__v16qi)_mm_setzero_si128());
851}
852
853static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
854_mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
855 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
856 (__v16qi)_mm_max_epi8(__A, __B),
857 (__v16qi)__W);
858}
859
860static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
861_mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
862 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
863 (__v32qi)_mm256_max_epi8(__A, __B),
864 (__v32qi)_mm256_setzero_si256());
865}
866
867static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
868_mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
869 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
870 (__v32qi)_mm256_max_epi8(__A, __B),
871 (__v32qi)__W);
872}
873
874static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
875_mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
876 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
877 (__v8hi)_mm_max_epi16(__A, __B),
878 (__v8hi)_mm_setzero_si128());
879}
880
881static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
882_mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
883 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
884 (__v8hi)_mm_max_epi16(__A, __B),
885 (__v8hi)__W);
886}
887
888static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
889_mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
890 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
891 (__v16hi)_mm256_max_epi16(__A, __B),
892 (__v16hi)_mm256_setzero_si256());
893}
894
895static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
896_mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
897 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
898 (__v16hi)_mm256_max_epi16(__A, __B),
899 (__v16hi)__W);
900}
901
902static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
903_mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
904 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
905 (__v16qi)_mm_max_epu8(__A, __B),
906 (__v16qi)_mm_setzero_si128());
907}
908
909static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
910_mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
911 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
912 (__v16qi)_mm_max_epu8(__A, __B),
913 (__v16qi)__W);
914}
915
916static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
917_mm256_maskz_max_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
918 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
919 (__v32qi)_mm256_max_epu8(__A, __B),
920 (__v32qi)_mm256_setzero_si256());
921}
922
923static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
924_mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
925 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
926 (__v32qi)_mm256_max_epu8(__A, __B),
927 (__v32qi)__W);
928}
929
930static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
931_mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
932 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
933 (__v8hi)_mm_max_epu16(__A, __B),
934 (__v8hi)_mm_setzero_si128());
935}
936
937static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
938_mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
939 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
940 (__v8hi)_mm_max_epu16(__A, __B),
941 (__v8hi)__W);
942}
943
944static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
945_mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
946 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
947 (__v16hi)_mm256_max_epu16(__A, __B),
948 (__v16hi)_mm256_setzero_si256());
949}
950
951static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
952_mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
953 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
954 (__v16hi)_mm256_max_epu16(__A, __B),
955 (__v16hi)__W);
956}
957
958static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
959_mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
960 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
961 (__v16qi)_mm_min_epi8(__A, __B),
962 (__v16qi)_mm_setzero_si128());
963}
964
965static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
966_mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
967 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
968 (__v16qi)_mm_min_epi8(__A, __B),
969 (__v16qi)__W);
970}
971
972static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
973_mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
974 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
975 (__v32qi)_mm256_min_epi8(__A, __B),
976 (__v32qi)_mm256_setzero_si256());
977}
978
979static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
980_mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
981 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
982 (__v32qi)_mm256_min_epi8(__A, __B),
983 (__v32qi)__W);
984}
985
986static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
987_mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
988 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
989 (__v8hi)_mm_min_epi16(__A, __B),
990 (__v8hi)_mm_setzero_si128());
991}
992
993static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
994_mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
995 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
996 (__v8hi)_mm_min_epi16(__A, __B),
997 (__v8hi)__W);
998}
999
1000static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1001_mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
1002 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1003 (__v16hi)_mm256_min_epi16(__A, __B),
1004 (__v16hi)_mm256_setzero_si256());
1005}
1006
1007static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1008_mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
1009 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1010 (__v16hi)_mm256_min_epi16(__A, __B),
1011 (__v16hi)__W);
1012}
1013
1014static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1015_mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
1016 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1017 (__v16qi)_mm_min_epu8(__A, __B),
1018 (__v16qi)_mm_setzero_si128());
1019}
1020
1021static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1022_mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
1023 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1024 (__v16qi)_mm_min_epu8(__A, __B),
1025 (__v16qi)__W);
1026}
1027
1028static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1029_mm256_maskz_min_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
1030 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1031 (__v32qi)_mm256_min_epu8(__A, __B),
1032 (__v32qi)_mm256_setzero_si256());
1033}
1034
1035static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1036_mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
1037 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1038 (__v32qi)_mm256_min_epu8(__A, __B),
1039 (__v32qi)__W);
1040}
1041
1042static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1043_mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
1044 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1045 (__v8hi)_mm_min_epu16(__A, __B),
1046 (__v8hi)_mm_setzero_si128());
1047}
1048
1049static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1050_mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
1051 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1052 (__v8hi)_mm_min_epu16(__A, __B),
1053 (__v8hi)__W);
1054}
1055
1056static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1057_mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
1058 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1059 (__v16hi)_mm256_min_epu16(__A, __B),
1060 (__v16hi)_mm256_setzero_si256());
1061}
1062
1063static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1064_mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
1065 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
1066 (__v16hi)_mm256_min_epu16(__A, __B),
1067 (__v16hi)__W);
1068}
1069
1070static __inline__ __m128i __DEFAULT_FN_ATTRS128
1071_mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1072{
1073 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1074 (__v16qi)_mm_shuffle_epi8(__A, __B),
1075 (__v16qi)__W);
1076}
1077
1078static __inline__ __m128i __DEFAULT_FN_ATTRS128
1079_mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B)
1080{
1081 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1082 (__v16qi)_mm_shuffle_epi8(__A, __B),
1083 (__v16qi)_mm_setzero_si128());
1084}
1085
1086static __inline__ __m256i __DEFAULT_FN_ATTRS256
1087_mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1088{
1089 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1090 (__v32qi)_mm256_shuffle_epi8(__A, __B),
1091 (__v32qi)__W);
1092}
1093
1094static __inline__ __m256i __DEFAULT_FN_ATTRS256
1095_mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B)
1096{
1097 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1098 (__v32qi)_mm256_shuffle_epi8(__A, __B),
1099 (__v32qi)_mm256_setzero_si256());
1100}
1101
1102static __inline__ __m128i __DEFAULT_FN_ATTRS128
1103_mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1104{
1105 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1106 (__v16qi)_mm_subs_epi8(__A, __B),
1107 (__v16qi)__W);
1108}
1109
1110static __inline__ __m128i __DEFAULT_FN_ATTRS128
1111_mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B)
1112{
1113 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1114 (__v16qi)_mm_subs_epi8(__A, __B),
1115 (__v16qi)_mm_setzero_si128());
1116}
1117
1118static __inline__ __m256i __DEFAULT_FN_ATTRS256
1119_mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1120{
1121 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1122 (__v32qi)_mm256_subs_epi8(__A, __B),
1123 (__v32qi)__W);
1124}
1125
1126static __inline__ __m256i __DEFAULT_FN_ATTRS256
1127_mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B)
1128{
1129 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1130 (__v32qi)_mm256_subs_epi8(__A, __B),
1131 (__v32qi)_mm256_setzero_si256());
1132}
1133
1134static __inline__ __m128i __DEFAULT_FN_ATTRS128
1135_mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1136{
1137 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1138 (__v8hi)_mm_subs_epi16(__A, __B),
1139 (__v8hi)__W);
1140}
1141
1142static __inline__ __m128i __DEFAULT_FN_ATTRS128
1143_mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B)
1144{
1145 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1146 (__v8hi)_mm_subs_epi16(__A, __B),
1147 (__v8hi)_mm_setzero_si128());
1148}
1149
1150static __inline__ __m256i __DEFAULT_FN_ATTRS256
1151_mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1152{
1153 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1154 (__v16hi)_mm256_subs_epi16(__A, __B),
1155 (__v16hi)__W);
1156}
1157
1158static __inline__ __m256i __DEFAULT_FN_ATTRS256
1159_mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B)
1160{
1161 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1162 (__v16hi)_mm256_subs_epi16(__A, __B),
1163 (__v16hi)_mm256_setzero_si256());
1164}
1165
1166static __inline__ __m128i __DEFAULT_FN_ATTRS128
1167_mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1168{
1169 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1170 (__v16qi)_mm_subs_epu8(__A, __B),
1171 (__v16qi)__W);
1172}
1173
1174static __inline__ __m128i __DEFAULT_FN_ATTRS128
1175_mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B)
1176{
1177 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1178 (__v16qi)_mm_subs_epu8(__A, __B),
1179 (__v16qi)_mm_setzero_si128());
1180}
1181
1182static __inline__ __m256i __DEFAULT_FN_ATTRS256
1183_mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1184{
1185 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1186 (__v32qi)_mm256_subs_epu8(__A, __B),
1187 (__v32qi)__W);
1188}
1189
1190static __inline__ __m256i __DEFAULT_FN_ATTRS256
1191_mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B)
1192{
1193 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1194 (__v32qi)_mm256_subs_epu8(__A, __B),
1195 (__v32qi)_mm256_setzero_si256());
1196}
1197
1198static __inline__ __m128i __DEFAULT_FN_ATTRS128
1199_mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1200{
1201 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1202 (__v8hi)_mm_subs_epu16(__A, __B),
1203 (__v8hi)__W);
1204}
1205
1206static __inline__ __m128i __DEFAULT_FN_ATTRS128
1207_mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B)
1208{
1209 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1210 (__v8hi)_mm_subs_epu16(__A, __B),
1211 (__v8hi)_mm_setzero_si128());
1212}
1213
1214static __inline__ __m256i __DEFAULT_FN_ATTRS256
1215_mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A,
1216 __m256i __B) {
1217 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1218 (__v16hi)_mm256_subs_epu16(__A, __B),
1219 (__v16hi)__W);
1220}
1221
1222static __inline__ __m256i __DEFAULT_FN_ATTRS256
1223_mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B)
1224{
1225 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1226 (__v16hi)_mm256_subs_epu16(__A, __B),
1227 (__v16hi)_mm256_setzero_si256());
1228}
1229
1230static __inline__ __m128i __DEFAULT_FN_ATTRS128
1231_mm_permutex2var_epi16(__m128i __A, __m128i __I, __m128i __B)
1232{
1233 return (__m128i)__builtin_ia32_vpermi2varhi128((__v8hi)__A, (__v8hi)__I,
1234 (__v8hi) __B);
1235}
1236
1237static __inline__ __m128i __DEFAULT_FN_ATTRS128
1238_mm_mask_permutex2var_epi16(__m128i __A, __mmask8 __U, __m128i __I,
1239 __m128i __B)
1240{
1241 return (__m128i)__builtin_ia32_selectw_128(__U,
1242 (__v8hi)_mm_permutex2var_epi16(__A, __I, __B),
1243 (__v8hi)__A);
1244}
1245
1246static __inline__ __m128i __DEFAULT_FN_ATTRS128
1247_mm_mask2_permutex2var_epi16(__m128i __A, __m128i __I, __mmask8 __U,
1248 __m128i __B)
1249{
1250 return (__m128i)__builtin_ia32_selectw_128(__U,
1251 (__v8hi)_mm_permutex2var_epi16(__A, __I, __B),
1252 (__v8hi)__I);
1253}
1254
1255static __inline__ __m128i __DEFAULT_FN_ATTRS128
1256_mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I,
1257 __m128i __B)
1258{
1259 return (__m128i)__builtin_ia32_selectw_128(__U,
1260 (__v8hi)_mm_permutex2var_epi16(__A, __I, __B),
1261 (__v8hi)_mm_setzero_si128());
1262}
1263
1264static __inline__ __m256i __DEFAULT_FN_ATTRS256
1265_mm256_permutex2var_epi16(__m256i __A, __m256i __I, __m256i __B)
1266{
1267 return (__m256i)__builtin_ia32_vpermi2varhi256((__v16hi)__A, (__v16hi)__I,
1268 (__v16hi)__B);
1269}
1270
1271static __inline__ __m256i __DEFAULT_FN_ATTRS256
1272_mm256_mask_permutex2var_epi16(__m256i __A, __mmask16 __U, __m256i __I,
1273 __m256i __B)
1274{
1275 return (__m256i)__builtin_ia32_selectw_256(__U,
1276 (__v16hi)_mm256_permutex2var_epi16(__A, __I, __B),
1277 (__v16hi)__A);
1278}
1279
1280static __inline__ __m256i __DEFAULT_FN_ATTRS256
1281_mm256_mask2_permutex2var_epi16(__m256i __A, __m256i __I, __mmask16 __U,
1282 __m256i __B)
1283{
1284 return (__m256i)__builtin_ia32_selectw_256(__U,
1285 (__v16hi)_mm256_permutex2var_epi16(__A, __I, __B),
1286 (__v16hi)__I);
1287}
1288
1289static __inline__ __m256i __DEFAULT_FN_ATTRS256
1290_mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A, __m256i __I,
1291 __m256i __B)
1292{
1293 return (__m256i)__builtin_ia32_selectw_256(__U,
1294 (__v16hi)_mm256_permutex2var_epi16(__A, __I, __B),
1295 (__v16hi)_mm256_setzero_si256());
1296}
1297
1298static __inline__ __m128i __DEFAULT_FN_ATTRS128
1299_mm_mask_maddubs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
1300 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1301 (__v8hi)_mm_maddubs_epi16(__X, __Y),
1302 (__v8hi)__W);
1303}
1304
1305static __inline__ __m128i __DEFAULT_FN_ATTRS128
1306_mm_maskz_maddubs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
1307 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1308 (__v8hi)_mm_maddubs_epi16(__X, __Y),
1309 (__v8hi)_mm_setzero_si128());
1310}
1311
1312static __inline__ __m256i __DEFAULT_FN_ATTRS256
1313_mm256_mask_maddubs_epi16(__m256i __W, __mmask16 __U, __m256i __X,
1314 __m256i __Y) {
1315 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1316 (__v16hi)_mm256_maddubs_epi16(__X, __Y),
1317 (__v16hi)__W);
1318}
1319
1320static __inline__ __m256i __DEFAULT_FN_ATTRS256
1321_mm256_maskz_maddubs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
1322 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1323 (__v16hi)_mm256_maddubs_epi16(__X, __Y),
1324 (__v16hi)_mm256_setzero_si256());
1325}
1326
1327static __inline__ __m128i __DEFAULT_FN_ATTRS128
1328_mm_mask_madd_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1329 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
1330 (__v4si)_mm_madd_epi16(__A, __B),
1331 (__v4si)__W);
1332}
1333
1334static __inline__ __m128i __DEFAULT_FN_ATTRS128
1335_mm_maskz_madd_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1336 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
1337 (__v4si)_mm_madd_epi16(__A, __B),
1338 (__v4si)_mm_setzero_si128());
1339}
1340
1341static __inline__ __m256i __DEFAULT_FN_ATTRS256
1342_mm256_mask_madd_epi16(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
1343 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
1344 (__v8si)_mm256_madd_epi16(__A, __B),
1345 (__v8si)__W);
1346}
1347
1348static __inline__ __m256i __DEFAULT_FN_ATTRS256
1349_mm256_maskz_madd_epi16(__mmask8 __U, __m256i __A, __m256i __B) {
1350 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
1351 (__v8si)_mm256_madd_epi16(__A, __B),
1352 (__v8si)_mm256_setzero_si256());
1353}
1354
1355static __inline__ __m128i __DEFAULT_FN_ATTRS128
1356_mm_cvtsepi16_epi8 (__m128i __A) {
1357 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1358 (__v16qi) _mm_setzero_si128(),
1359 (__mmask8) -1);
1360}
1361
1362static __inline__ __m128i __DEFAULT_FN_ATTRS128
1363_mm_mask_cvtsepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1364 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1365 (__v16qi) __O,
1366 __M);
1367}
1368
1369static __inline__ __m128i __DEFAULT_FN_ATTRS128
1371 return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1372 (__v16qi) _mm_setzero_si128(),
1373 __M);
1374}
1375
1376static __inline__ __m128i __DEFAULT_FN_ATTRS256
1378 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1379 (__v16qi) _mm_setzero_si128(),
1380 (__mmask16) -1);
1381}
1382
1383static __inline__ __m128i __DEFAULT_FN_ATTRS256
1384_mm256_mask_cvtsepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1385 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1386 (__v16qi) __O,
1387 __M);
1388}
1389
1390static __inline__ __m128i __DEFAULT_FN_ATTRS256
1392 return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1393 (__v16qi) _mm_setzero_si128(),
1394 __M);
1395}
1396
1397static __inline__ __m128i __DEFAULT_FN_ATTRS128
1398_mm_cvtusepi16_epi8 (__m128i __A) {
1399 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1400 (__v16qi) _mm_setzero_si128(),
1401 (__mmask8) -1);
1402}
1403
1404static __inline__ __m128i __DEFAULT_FN_ATTRS128
1405_mm_mask_cvtusepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1406 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1407 (__v16qi) __O,
1408 __M);
1409}
1410
1411static __inline__ __m128i __DEFAULT_FN_ATTRS128
1413 return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1414 (__v16qi) _mm_setzero_si128(),
1415 __M);
1416}
1417
1418static __inline__ __m128i __DEFAULT_FN_ATTRS256
1420 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1421 (__v16qi) _mm_setzero_si128(),
1422 (__mmask16) -1);
1423}
1424
1425static __inline__ __m128i __DEFAULT_FN_ATTRS256
1426_mm256_mask_cvtusepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1427 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1428 (__v16qi) __O,
1429 __M);
1430}
1431
1432static __inline__ __m128i __DEFAULT_FN_ATTRS256
1434 return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1435 (__v16qi) _mm_setzero_si128(),
1436 __M);
1437}
1438
1439static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1440_mm_cvtepi16_epi8(__m128i __A) {
1441 return (__m128i)__builtin_shufflevector(
1442 __builtin_convertvector((__v8hi)__A, __v8qi),
1443 (__v8qi){0, 0, 0, 0, 0, 0, 0, 0}, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1444 12, 13, 14, 15);
1445}
1446
1447static __inline__ __m128i __DEFAULT_FN_ATTRS128
1448_mm_mask_cvtepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1449 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1450 (__v16qi) __O,
1451 __M);
1452}
1453
1454static __inline__ __m128i __DEFAULT_FN_ATTRS128
1456 return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1457 (__v16qi) _mm_setzero_si128(),
1458 __M);
1459}
1460
1461static __inline__ void __DEFAULT_FN_ATTRS128
1463{
1464 __builtin_ia32_pmovwb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1465}
1466
1467
1468static __inline__ void __DEFAULT_FN_ATTRS128
1470{
1471 __builtin_ia32_pmovswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1472}
1473
1474static __inline__ void __DEFAULT_FN_ATTRS128
1476{
1477 __builtin_ia32_pmovuswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1478}
1479
1480static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
1482 return (__m128i)__builtin_convertvector((__v16hi) __A, __v16qi);
1483}
1484
1485static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
1486_mm256_mask_cvtepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A) {
1487 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1488 (__v16qi)_mm256_cvtepi16_epi8(__A),
1489 (__v16qi)__O);
1490}
1491
1492static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
1494 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1495 (__v16qi)_mm256_cvtepi16_epi8(__A),
1496 (__v16qi)_mm_setzero_si128());
1497}
1498
1499static __inline__ void __DEFAULT_FN_ATTRS256
1501{
1502 __builtin_ia32_pmovwb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
1503}
1504
1505static __inline__ void __DEFAULT_FN_ATTRS256
1507{
1508 __builtin_ia32_pmovswb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
1509}
1510
1511static __inline__ void __DEFAULT_FN_ATTRS256
1513{
1514 __builtin_ia32_pmovuswb256mem_mask ((__v16qi*) __P, (__v16hi) __A, __M);
1515}
1516
1517static __inline__ __m128i __DEFAULT_FN_ATTRS128
1518_mm_mask_mulhrs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
1519 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1520 (__v8hi)_mm_mulhrs_epi16(__X, __Y),
1521 (__v8hi)__W);
1522}
1523
1524static __inline__ __m128i __DEFAULT_FN_ATTRS128
1525_mm_maskz_mulhrs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
1526 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1527 (__v8hi)_mm_mulhrs_epi16(__X, __Y),
1528 (__v8hi)_mm_setzero_si128());
1529}
1530
1531static __inline__ __m256i __DEFAULT_FN_ATTRS256
1532_mm256_mask_mulhrs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) {
1533 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1534 (__v16hi)_mm256_mulhrs_epi16(__X, __Y),
1535 (__v16hi)__W);
1536}
1537
1538static __inline__ __m256i __DEFAULT_FN_ATTRS256
1539_mm256_maskz_mulhrs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
1540 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1541 (__v16hi)_mm256_mulhrs_epi16(__X, __Y),
1542 (__v16hi)_mm256_setzero_si256());
1543}
1544
1545static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1546_mm_mask_mulhi_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1547 return (__m128i)__builtin_ia32_selectw_128(
1548 (__mmask8)__U, (__v8hi)_mm_mulhi_epu16(__A, __B), (__v8hi)__W);
1549}
1550
1551static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1552_mm_maskz_mulhi_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
1553 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1554 (__v8hi)_mm_mulhi_epu16(__A, __B),
1555 (__v8hi)_mm_setzero_si128());
1556}
1557
1558static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1559_mm256_mask_mulhi_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1560 return (__m256i)__builtin_ia32_selectw_256(
1561 (__mmask16)__U, (__v16hi)_mm256_mulhi_epu16(__A, __B), (__v16hi)__W);
1562}
1563
1564static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1565_mm256_maskz_mulhi_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
1566 return (__m256i)__builtin_ia32_selectw_256(
1567 (__mmask16)__U, (__v16hi)_mm256_mulhi_epu16(__A, __B),
1568 (__v16hi)_mm256_setzero_si256());
1569}
1570
1571static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1572_mm_mask_mulhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1573 return (__m128i)__builtin_ia32_selectw_128(
1574 (__mmask8)__U, (__v8hi)_mm_mulhi_epi16(__A, __B), (__v8hi)__W);
1575}
1576
1577static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1578_mm_maskz_mulhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1579 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1580 (__v8hi)_mm_mulhi_epi16(__A, __B),
1581 (__v8hi)_mm_setzero_si128());
1582}
1583
1584static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1585_mm256_mask_mulhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1586 return (__m256i)__builtin_ia32_selectw_256(
1587 (__mmask16)__U, (__v16hi)_mm256_mulhi_epi16(__A, __B), (__v16hi)__W);
1588}
1589
1590static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1591_mm256_maskz_mulhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1592 return (__m256i)__builtin_ia32_selectw_256(
1593 (__mmask16)__U, (__v16hi)_mm256_mulhi_epi16(__A, __B),
1594 (__v16hi)_mm256_setzero_si256());
1595}
1596
1597static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1598_mm_mask_unpackhi_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
1599 return (__m128i)__builtin_ia32_selectb_128(
1600 (__mmask16)__U, (__v16qi)_mm_unpackhi_epi8(__A, __B), (__v16qi)__W);
1601}
1602
1603static __inline__ __m128i __DEFAULT_FN_ATTRS128
1604_mm_maskz_unpackhi_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1605 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1606 (__v16qi)_mm_unpackhi_epi8(__A, __B),
1607 (__v16qi)_mm_setzero_si128());
1608}
1609
1610static __inline__ __m256i __DEFAULT_FN_ATTRS256
1611_mm256_mask_unpackhi_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
1612 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1613 (__v32qi)_mm256_unpackhi_epi8(__A, __B),
1614 (__v32qi)__W);
1615}
1616
1617static __inline__ __m256i __DEFAULT_FN_ATTRS256
1618_mm256_maskz_unpackhi_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1619 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1620 (__v32qi)_mm256_unpackhi_epi8(__A, __B),
1621 (__v32qi)_mm256_setzero_si256());
1622}
1623
1624static __inline__ __m128i __DEFAULT_FN_ATTRS128
1625_mm_mask_unpackhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1626 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1627 (__v8hi)_mm_unpackhi_epi16(__A, __B),
1628 (__v8hi)__W);
1629}
1630
1631static __inline__ __m128i __DEFAULT_FN_ATTRS128
1632_mm_maskz_unpackhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1633 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1634 (__v8hi)_mm_unpackhi_epi16(__A, __B),
1635 (__v8hi) _mm_setzero_si128());
1636}
1637
1638static __inline__ __m256i __DEFAULT_FN_ATTRS256
1639_mm256_mask_unpackhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1640 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1641 (__v16hi)_mm256_unpackhi_epi16(__A, __B),
1642 (__v16hi)__W);
1643}
1644
1645static __inline__ __m256i __DEFAULT_FN_ATTRS256
1646_mm256_maskz_unpackhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1647 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1648 (__v16hi)_mm256_unpackhi_epi16(__A, __B),
1649 (__v16hi)_mm256_setzero_si256());
1650}
1651
1652static __inline__ __m128i __DEFAULT_FN_ATTRS128
1653_mm_mask_unpacklo_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
1654 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1655 (__v16qi)_mm_unpacklo_epi8(__A, __B),
1656 (__v16qi)__W);
1657}
1658
1659static __inline__ __m128i __DEFAULT_FN_ATTRS128
1660_mm_maskz_unpacklo_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
1661 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1662 (__v16qi)_mm_unpacklo_epi8(__A, __B),
1663 (__v16qi)_mm_setzero_si128());
1664}
1665
1666static __inline__ __m256i __DEFAULT_FN_ATTRS256
1667_mm256_mask_unpacklo_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
1668 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1669 (__v32qi)_mm256_unpacklo_epi8(__A, __B),
1670 (__v32qi)__W);
1671}
1672
1673static __inline__ __m256i __DEFAULT_FN_ATTRS256
1674_mm256_maskz_unpacklo_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
1675 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
1676 (__v32qi)_mm256_unpacklo_epi8(__A, __B),
1677 (__v32qi)_mm256_setzero_si256());
1678}
1679
1680static __inline__ __m128i __DEFAULT_FN_ATTRS128
1681_mm_mask_unpacklo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1682 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1683 (__v8hi)_mm_unpacklo_epi16(__A, __B),
1684 (__v8hi)__W);
1685}
1686
1687static __inline__ __m128i __DEFAULT_FN_ATTRS128
1688_mm_maskz_unpacklo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
1689 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1690 (__v8hi)_mm_unpacklo_epi16(__A, __B),
1691 (__v8hi) _mm_setzero_si128());
1692}
1693
1694static __inline__ __m256i __DEFAULT_FN_ATTRS256
1695_mm256_mask_unpacklo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1696 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1697 (__v16hi)_mm256_unpacklo_epi16(__A, __B),
1698 (__v16hi)__W);
1699}
1700
1701static __inline__ __m256i __DEFAULT_FN_ATTRS256
1702_mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1703 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1704 (__v16hi)_mm256_unpacklo_epi16(__A, __B),
1705 (__v16hi)_mm256_setzero_si256());
1706}
1707
1708static __inline__ __m128i __DEFAULT_FN_ATTRS128
1709_mm_mask_cvtepi8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
1710{
1711 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1712 (__v8hi)_mm_cvtepi8_epi16(__A),
1713 (__v8hi)__W);
1714}
1715
1716static __inline__ __m128i __DEFAULT_FN_ATTRS128
1718{
1719 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1720 (__v8hi)_mm_cvtepi8_epi16(__A),
1721 (__v8hi)_mm_setzero_si128());
1722}
1723
1724static __inline__ __m256i __DEFAULT_FN_ATTRS256
1725_mm256_mask_cvtepi8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
1726{
1727 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1728 (__v16hi)_mm256_cvtepi8_epi16(__A),
1729 (__v16hi)__W);
1730}
1731
1732static __inline__ __m256i __DEFAULT_FN_ATTRS256
1734{
1735 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1736 (__v16hi)_mm256_cvtepi8_epi16(__A),
1737 (__v16hi)_mm256_setzero_si256());
1738}
1739
1740
1741static __inline__ __m128i __DEFAULT_FN_ATTRS128
1742_mm_mask_cvtepu8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
1743{
1744 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1745 (__v8hi)_mm_cvtepu8_epi16(__A),
1746 (__v8hi)__W);
1747}
1748
1749static __inline__ __m128i __DEFAULT_FN_ATTRS128
1751{
1752 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1753 (__v8hi)_mm_cvtepu8_epi16(__A),
1754 (__v8hi)_mm_setzero_si128());
1755}
1756
1757static __inline__ __m256i __DEFAULT_FN_ATTRS256
1758_mm256_mask_cvtepu8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
1759{
1760 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1761 (__v16hi)_mm256_cvtepu8_epi16(__A),
1762 (__v16hi)__W);
1763}
1764
1765static __inline__ __m256i __DEFAULT_FN_ATTRS256
1767{
1768 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1769 (__v16hi)_mm256_cvtepu8_epi16(__A),
1770 (__v16hi)_mm256_setzero_si256());
1771}
1772
1773
1774#define _mm_mask_shufflehi_epi16(W, U, A, imm) \
1775 ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
1776 (__v8hi)_mm_shufflehi_epi16((A), (imm)), \
1777 (__v8hi)(__m128i)(W)))
1778
1779#define _mm_maskz_shufflehi_epi16(U, A, imm) \
1780 ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
1781 (__v8hi)_mm_shufflehi_epi16((A), (imm)), \
1782 (__v8hi)_mm_setzero_si128()))
1783
1784#define _mm256_mask_shufflehi_epi16(W, U, A, imm) \
1785 ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
1786 (__v16hi)_mm256_shufflehi_epi16((A), (imm)), \
1787 (__v16hi)(__m256i)(W)))
1788
1789#define _mm256_maskz_shufflehi_epi16(U, A, imm) \
1790 ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
1791 (__v16hi)_mm256_shufflehi_epi16((A), (imm)), \
1792 (__v16hi)_mm256_setzero_si256()))
1793
1794#define _mm_mask_shufflelo_epi16(W, U, A, imm) \
1795 ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
1796 (__v8hi)_mm_shufflelo_epi16((A), (imm)), \
1797 (__v8hi)(__m128i)(W)))
1798
1799#define _mm_maskz_shufflelo_epi16(U, A, imm) \
1800 ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
1801 (__v8hi)_mm_shufflelo_epi16((A), (imm)), \
1802 (__v8hi)_mm_setzero_si128()))
1803
1804#define _mm256_mask_shufflelo_epi16(W, U, A, imm) \
1805 ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
1806 (__v16hi)_mm256_shufflelo_epi16((A), \
1807 (imm)), \
1808 (__v16hi)(__m256i)(W)))
1809
1810#define _mm256_maskz_shufflelo_epi16(U, A, imm) \
1811 ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
1812 (__v16hi)_mm256_shufflelo_epi16((A), \
1813 (imm)), \
1814 (__v16hi)_mm256_setzero_si256()))
1815
1816static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1817_mm256_sllv_epi16(__m256i __A, __m256i __B)
1818{
1819 return (__m256i)__builtin_ia32_psllv16hi((__v16hi)__A, (__v16hi)__B);
1820}
1821
1822static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1823_mm256_mask_sllv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1824{
1825 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1826 (__v16hi)_mm256_sllv_epi16(__A, __B),
1827 (__v16hi)__W);
1828}
1829
1830static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1831_mm256_maskz_sllv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
1832{
1833 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1834 (__v16hi)_mm256_sllv_epi16(__A, __B),
1835 (__v16hi)_mm256_setzero_si256());
1836}
1837
1838static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1839_mm_sllv_epi16(__m128i __A, __m128i __B)
1840{
1841 return (__m128i)__builtin_ia32_psllv8hi((__v8hi)__A, (__v8hi)__B);
1842}
1843
1844static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1845_mm_mask_sllv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1846{
1847 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1848 (__v8hi)_mm_sllv_epi16(__A, __B),
1849 (__v8hi)__W);
1850}
1851
1852static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1853_mm_maskz_sllv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
1854{
1855 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1856 (__v8hi)_mm_sllv_epi16(__A, __B),
1857 (__v8hi)_mm_setzero_si128());
1858}
1859
1860static __inline__ __m128i __DEFAULT_FN_ATTRS128
1861_mm_mask_sll_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1862{
1863 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1864 (__v8hi)_mm_sll_epi16(__A, __B),
1865 (__v8hi)__W);
1866}
1867
1868static __inline__ __m128i __DEFAULT_FN_ATTRS128
1869_mm_maskz_sll_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
1870{
1871 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1872 (__v8hi)_mm_sll_epi16(__A, __B),
1873 (__v8hi)_mm_setzero_si128());
1874}
1875
1876static __inline__ __m256i __DEFAULT_FN_ATTRS256
1877_mm256_mask_sll_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
1878{
1879 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1880 (__v16hi)_mm256_sll_epi16(__A, __B),
1881 (__v16hi)__W);
1882}
1883
1884static __inline__ __m256i __DEFAULT_FN_ATTRS256
1885_mm256_maskz_sll_epi16(__mmask16 __U, __m256i __A, __m128i __B)
1886{
1887 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1888 (__v16hi)_mm256_sll_epi16(__A, __B),
1889 (__v16hi)_mm256_setzero_si256());
1890}
1891
1892static __inline__ __m128i __DEFAULT_FN_ATTRS128
1893_mm_mask_slli_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B)
1894{
1895 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1896 (__v8hi)_mm_slli_epi16(__A, (int)__B),
1897 (__v8hi)__W);
1898}
1899
1900static __inline__ __m128i __DEFAULT_FN_ATTRS128
1901_mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, unsigned int __B)
1902{
1903 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1904 (__v8hi)_mm_slli_epi16(__A, (int)__B),
1905 (__v8hi)_mm_setzero_si128());
1906}
1907
1908static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1909_mm256_mask_slli_epi16(__m256i __W, __mmask16 __U, __m256i __A,
1910 unsigned int __B) {
1911 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1912 (__v16hi)_mm256_slli_epi16(__A, (int)__B),
1913 (__v16hi)__W);
1914}
1915
1916static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1917_mm256_maskz_slli_epi16(__mmask16 __U, __m256i __A, unsigned int __B) {
1918 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1919 (__v16hi)_mm256_slli_epi16(__A, (int)__B),
1920 (__v16hi)_mm256_setzero_si256());
1921}
1922
1923static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1924_mm256_srlv_epi16(__m256i __A, __m256i __B)
1925{
1926 return (__m256i)__builtin_ia32_psrlv16hi((__v16hi)__A, (__v16hi)__B);
1927}
1928
1929static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1930_mm256_mask_srlv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1931{
1932 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1933 (__v16hi)_mm256_srlv_epi16(__A, __B),
1934 (__v16hi)__W);
1935}
1936
1937static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1938_mm256_maskz_srlv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
1939{
1940 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1941 (__v16hi)_mm256_srlv_epi16(__A, __B),
1942 (__v16hi)_mm256_setzero_si256());
1943}
1944
1945static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1946_mm_srlv_epi16(__m128i __A, __m128i __B)
1947{
1948 return (__m128i)__builtin_ia32_psrlv8hi((__v8hi)__A, (__v8hi)__B);
1949}
1950
1951static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1952_mm_mask_srlv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1953{
1954 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1955 (__v8hi)_mm_srlv_epi16(__A, __B),
1956 (__v8hi)__W);
1957}
1958
1959static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1960_mm_maskz_srlv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
1961{
1962 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1963 (__v8hi)_mm_srlv_epi16(__A, __B),
1964 (__v8hi)_mm_setzero_si128());
1965}
1966
1967static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1968_mm256_srav_epi16(__m256i __A, __m256i __B)
1969{
1970 return (__m256i)__builtin_ia32_psrav16hi((__v16hi)__A, (__v16hi)__B);
1971}
1972
1973static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1974_mm256_mask_srav_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
1975{
1976 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1977 (__v16hi)_mm256_srav_epi16(__A, __B),
1978 (__v16hi)__W);
1979}
1980
1981static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1982_mm256_maskz_srav_epi16(__mmask16 __U, __m256i __A, __m256i __B)
1983{
1984 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1985 (__v16hi)_mm256_srav_epi16(__A, __B),
1986 (__v16hi)_mm256_setzero_si256());
1987}
1988
1989static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1990_mm_srav_epi16(__m128i __A, __m128i __B)
1991{
1992 return (__m128i)__builtin_ia32_psrav8hi((__v8hi)__A, (__v8hi)__B);
1993}
1994
1995static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1996_mm_mask_srav_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1997{
1998 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1999 (__v8hi)_mm_srav_epi16(__A, __B),
2000 (__v8hi)__W);
2001}
2002
2003static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2004_mm_maskz_srav_epi16(__mmask8 __U, __m128i __A, __m128i __B)
2005{
2006 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2007 (__v8hi)_mm_srav_epi16(__A, __B),
2008 (__v8hi)_mm_setzero_si128());
2009}
2010
2011static __inline__ __m128i __DEFAULT_FN_ATTRS128
2012_mm_mask_sra_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2013{
2014 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2015 (__v8hi)_mm_sra_epi16(__A, __B),
2016 (__v8hi)__W);
2017}
2018
2019static __inline__ __m128i __DEFAULT_FN_ATTRS128
2020_mm_maskz_sra_epi16(__mmask8 __U, __m128i __A, __m128i __B)
2021{
2022 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2023 (__v8hi)_mm_sra_epi16(__A, __B),
2024 (__v8hi)_mm_setzero_si128());
2025}
2026
2027static __inline__ __m256i __DEFAULT_FN_ATTRS256
2028_mm256_mask_sra_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
2029{
2030 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2031 (__v16hi)_mm256_sra_epi16(__A, __B),
2032 (__v16hi)__W);
2033}
2034
2035static __inline__ __m256i __DEFAULT_FN_ATTRS256
2036_mm256_maskz_sra_epi16(__mmask16 __U, __m256i __A, __m128i __B)
2037{
2038 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2039 (__v16hi)_mm256_sra_epi16(__A, __B),
2040 (__v16hi)_mm256_setzero_si256());
2041}
2042
2043static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2044_mm_mask_srai_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B) {
2045 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2046 (__v8hi)_mm_srai_epi16(__A, (int)__B),
2047 (__v8hi)__W);
2048}
2049
2050static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2051_mm_maskz_srai_epi16(__mmask8 __U, __m128i __A, unsigned int __B) {
2052 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2053 (__v8hi)_mm_srai_epi16(__A, (int)__B),
2054 (__v8hi)_mm_setzero_si128());
2055}
2056
2057static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2058_mm256_mask_srai_epi16(__m256i __W, __mmask16 __U, __m256i __A,
2059 unsigned int __B) {
2060 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2061 (__v16hi)_mm256_srai_epi16(__A, (int)__B),
2062 (__v16hi)__W);
2063}
2064
2065static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2066_mm256_maskz_srai_epi16(__mmask16 __U, __m256i __A, unsigned int __B) {
2067 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2068 (__v16hi)_mm256_srai_epi16(__A, (int)__B),
2069 (__v16hi)_mm256_setzero_si256());
2070}
2071
2072static __inline__ __m128i __DEFAULT_FN_ATTRS128
2073_mm_mask_srl_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
2074{
2075 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2076 (__v8hi)_mm_srl_epi16(__A, __B),
2077 (__v8hi)__W);
2078}
2079
2080static __inline__ __m128i __DEFAULT_FN_ATTRS128
2081_mm_maskz_srl_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2082{
2083 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2084 (__v8hi)_mm_srl_epi16(__A, __B),
2085 (__v8hi)_mm_setzero_si128());
2086}
2087
2088static __inline__ __m256i __DEFAULT_FN_ATTRS256
2089_mm256_mask_srl_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
2090{
2091 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2092 (__v16hi)_mm256_srl_epi16(__A, __B),
2093 (__v16hi)__W);
2094}
2095
2096static __inline__ __m256i __DEFAULT_FN_ATTRS256
2097_mm256_maskz_srl_epi16(__mmask16 __U, __m256i __A, __m128i __B)
2098{
2099 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2100 (__v16hi)_mm256_srl_epi16(__A, __B),
2101 (__v16hi)_mm256_setzero_si256());
2102}
2103
2104static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2105_mm_mask_srli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B) {
2106 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2107 (__v8hi)_mm_srli_epi16(__A, __B),
2108 (__v8hi)__W);
2109}
2110
2111static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2112_mm_maskz_srli_epi16(__mmask8 __U, __m128i __A, int __B) {
2113 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2114 (__v8hi)_mm_srli_epi16(__A, __B),
2115 (__v8hi)_mm_setzero_si128());
2116}
2117
2118static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2119_mm256_mask_srli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B) {
2120 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2121 (__v16hi)_mm256_srli_epi16(__A, __B),
2122 (__v16hi)__W);
2123}
2124
2125static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2126_mm256_maskz_srli_epi16(__mmask16 __U, __m256i __A, int __B) {
2127 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2128 (__v16hi)_mm256_srli_epi16(__A, __B),
2129 (__v16hi)_mm256_setzero_si256());
2130}
2131
2132static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2133_mm_mask_mov_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
2134 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
2135 (__v8hi) __A,
2136 (__v8hi) __W);
2137}
2138
2139static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2141 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
2142 (__v8hi) __A,
2143 (__v8hi) _mm_setzero_si128 ());
2144}
2145
2146static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2147_mm256_mask_mov_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
2148 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
2149 (__v16hi) __A,
2150 (__v16hi) __W);
2151}
2152
2153static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2155 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
2156 (__v16hi) __A,
2157 (__v16hi) _mm256_setzero_si256 ());
2158}
2159
2160static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2161_mm_mask_mov_epi8(__m128i __W, __mmask16 __U, __m128i __A) {
2162 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
2163 (__v16qi) __A,
2164 (__v16qi) __W);
2165}
2166
2167static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2169 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
2170 (__v16qi) __A,
2171 (__v16qi) _mm_setzero_si128 ());
2172}
2173
2174static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2175_mm256_mask_mov_epi8(__m256i __W, __mmask32 __U, __m256i __A) {
2176 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
2177 (__v32qi) __A,
2178 (__v32qi) __W);
2179}
2180
2181static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2183 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
2184 (__v32qi) __A,
2185 (__v32qi) _mm256_setzero_si256 ());
2186}
2187
2188static __inline__ __m128i __DEFAULT_FN_ATTRS128
2189_mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A)
2190{
2191 return (__m128i) __builtin_ia32_selectb_128(__M,
2192 (__v16qi) _mm_set1_epi8(__A),
2193 (__v16qi) __O);
2194}
2195
2196static __inline__ __m128i __DEFAULT_FN_ATTRS128
2198{
2199 return (__m128i) __builtin_ia32_selectb_128(__M,
2200 (__v16qi) _mm_set1_epi8(__A),
2201 (__v16qi) _mm_setzero_si128());
2202}
2203
2204static __inline__ __m256i __DEFAULT_FN_ATTRS256
2205_mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A)
2206{
2207 return (__m256i) __builtin_ia32_selectb_256(__M,
2208 (__v32qi) _mm256_set1_epi8(__A),
2209 (__v32qi) __O);
2210}
2211
2212static __inline__ __m256i __DEFAULT_FN_ATTRS256
2214{
2215 return (__m256i) __builtin_ia32_selectb_256(__M,
2216 (__v32qi) _mm256_set1_epi8(__A),
2217 (__v32qi) _mm256_setzero_si256());
2218}
2219
2220static __inline __m128i __DEFAULT_FN_ATTRS128
2222{
2223 struct __loadu_epi16 {
2224 __m128i_u __v;
2225 } __attribute__((__packed__, __may_alias__));
2226 return ((const struct __loadu_epi16*)__P)->__v;
2227}
2228
2229static __inline__ __m128i __DEFAULT_FN_ATTRS128
2230_mm_mask_loadu_epi16 (__m128i __W, __mmask8 __U, void const *__P)
2231{
2232 return (__m128i) __builtin_ia32_loaddquhi128_mask ((const __v8hi *) __P,
2233 (__v8hi) __W,
2234 (__mmask8) __U);
2235}
2236
2237static __inline__ __m128i __DEFAULT_FN_ATTRS128
2239{
2240 return (__m128i) __builtin_ia32_loaddquhi128_mask ((const __v8hi *) __P,
2241 (__v8hi)
2243 (__mmask8) __U);
2244}
2245
2246static __inline __m256i __DEFAULT_FN_ATTRS256
2248{
2249 struct __loadu_epi16 {
2250 __m256i_u __v;
2251 } __attribute__((__packed__, __may_alias__));
2252 return ((const struct __loadu_epi16*)__P)->__v;
2253}
2254
2255static __inline__ __m256i __DEFAULT_FN_ATTRS256
2256_mm256_mask_loadu_epi16 (__m256i __W, __mmask16 __U, void const *__P)
2257{
2258 return (__m256i) __builtin_ia32_loaddquhi256_mask ((const __v16hi *) __P,
2259 (__v16hi) __W,
2260 (__mmask16) __U);
2261}
2262
2263static __inline__ __m256i __DEFAULT_FN_ATTRS256
2265{
2266 return (__m256i) __builtin_ia32_loaddquhi256_mask ((const __v16hi *) __P,
2267 (__v16hi)
2269 (__mmask16) __U);
2270}
2271
2272static __inline __m128i __DEFAULT_FN_ATTRS128
2273_mm_loadu_epi8 (void const *__P)
2274{
2275 struct __loadu_epi8 {
2276 __m128i_u __v;
2277 } __attribute__((__packed__, __may_alias__));
2278 return ((const struct __loadu_epi8*)__P)->__v;
2279}
2280
2281static __inline__ __m128i __DEFAULT_FN_ATTRS128
2282_mm_mask_loadu_epi8 (__m128i __W, __mmask16 __U, void const *__P)
2283{
2284 return (__m128i) __builtin_ia32_loaddquqi128_mask ((const __v16qi *) __P,
2285 (__v16qi) __W,
2286 (__mmask16) __U);
2287}
2288
2289static __inline__ __m128i __DEFAULT_FN_ATTRS128
2291{
2292 return (__m128i) __builtin_ia32_loaddquqi128_mask ((const __v16qi *) __P,
2293 (__v16qi)
2295 (__mmask16) __U);
2296}
2297
2298static __inline __m256i __DEFAULT_FN_ATTRS256
2300{
2301 struct __loadu_epi8 {
2302 __m256i_u __v;
2303 } __attribute__((__packed__, __may_alias__));
2304 return ((const struct __loadu_epi8*)__P)->__v;
2305}
2306
2307static __inline__ __m256i __DEFAULT_FN_ATTRS256
2308_mm256_mask_loadu_epi8 (__m256i __W, __mmask32 __U, void const *__P)
2309{
2310 return (__m256i) __builtin_ia32_loaddquqi256_mask ((const __v32qi *) __P,
2311 (__v32qi) __W,
2312 (__mmask32) __U);
2313}
2314
2315static __inline__ __m256i __DEFAULT_FN_ATTRS256
2317{
2318 return (__m256i) __builtin_ia32_loaddquqi256_mask ((const __v32qi *) __P,
2319 (__v32qi)
2321 (__mmask32) __U);
2322}
2323
2324static __inline void __DEFAULT_FN_ATTRS128
2325_mm_storeu_epi16 (void *__P, __m128i __A)
2326{
2327 struct __storeu_epi16 {
2328 __m128i_u __v;
2329 } __attribute__((__packed__, __may_alias__));
2330 ((struct __storeu_epi16*)__P)->__v = __A;
2331}
2332
2333static __inline__ void __DEFAULT_FN_ATTRS128
2334_mm_mask_storeu_epi16 (void *__P, __mmask8 __U, __m128i __A)
2335{
2336 __builtin_ia32_storedquhi128_mask ((__v8hi *) __P,
2337 (__v8hi) __A,
2338 (__mmask8) __U);
2339}
2340
2341static __inline void __DEFAULT_FN_ATTRS256
2342_mm256_storeu_epi16 (void *__P, __m256i __A)
2343{
2344 struct __storeu_epi16 {
2345 __m256i_u __v;
2346 } __attribute__((__packed__, __may_alias__));
2347 ((struct __storeu_epi16*)__P)->__v = __A;
2348}
2349
2350static __inline__ void __DEFAULT_FN_ATTRS256
2351_mm256_mask_storeu_epi16 (void *__P, __mmask16 __U, __m256i __A)
2352{
2353 __builtin_ia32_storedquhi256_mask ((__v16hi *) __P,
2354 (__v16hi) __A,
2355 (__mmask16) __U);
2356}
2357
2358static __inline void __DEFAULT_FN_ATTRS128
2359_mm_storeu_epi8 (void *__P, __m128i __A)
2360{
2361 struct __storeu_epi8 {
2362 __m128i_u __v;
2363 } __attribute__((__packed__, __may_alias__));
2364 ((struct __storeu_epi8*)__P)->__v = __A;
2365}
2366
2367static __inline__ void __DEFAULT_FN_ATTRS128
2368_mm_mask_storeu_epi8 (void *__P, __mmask16 __U, __m128i __A)
2369{
2370 __builtin_ia32_storedquqi128_mask ((__v16qi *) __P,
2371 (__v16qi) __A,
2372 (__mmask16) __U);
2373}
2374
2375static __inline void __DEFAULT_FN_ATTRS256
2376_mm256_storeu_epi8 (void *__P, __m256i __A)
2377{
2378 struct __storeu_epi8 {
2379 __m256i_u __v;
2380 } __attribute__((__packed__, __may_alias__));
2381 ((struct __storeu_epi8*)__P)->__v = __A;
2382}
2383
2384static __inline__ void __DEFAULT_FN_ATTRS256
2385_mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A)
2386{
2387 __builtin_ia32_storedquqi256_mask ((__v32qi *) __P,
2388 (__v32qi) __A,
2389 (__mmask32) __U);
2390}
2391
2392static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2393_mm_test_epi8_mask (__m128i __A, __m128i __B)
2394{
2396}
2397
2398static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2399_mm_mask_test_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
2400{
2401 return _mm_mask_cmpneq_epi8_mask (__U, _mm_and_si128 (__A, __B),
2403}
2404
2405static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2406_mm256_test_epi8_mask (__m256i __A, __m256i __B)
2407{
2408 return _mm256_cmpneq_epi8_mask (_mm256_and_si256(__A, __B),
2410}
2411
2412static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2413_mm256_mask_test_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
2414{
2415 return _mm256_mask_cmpneq_epi8_mask (__U, _mm256_and_si256(__A, __B),
2417}
2418
2419static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
2420_mm_test_epi16_mask (__m128i __A, __m128i __B)
2421{
2423}
2424
2425static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
2426_mm_mask_test_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
2427{
2428 return _mm_mask_cmpneq_epi16_mask (__U, _mm_and_si128 (__A, __B),
2430}
2431
2432static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2433_mm256_test_epi16_mask (__m256i __A, __m256i __B)
2434{
2435 return _mm256_cmpneq_epi16_mask (_mm256_and_si256 (__A, __B),
2437}
2438
2439static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2440_mm256_mask_test_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
2441{
2442 return _mm256_mask_cmpneq_epi16_mask (__U, _mm256_and_si256(__A, __B),
2444}
2445
2446static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2447_mm_testn_epi8_mask (__m128i __A, __m128i __B)
2448{
2450}
2451
2452static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2453_mm_mask_testn_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
2454{
2455 return _mm_mask_cmpeq_epi8_mask (__U, _mm_and_si128 (__A, __B),
2457}
2458
2459static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2460_mm256_testn_epi8_mask (__m256i __A, __m256i __B)
2461{
2462 return _mm256_cmpeq_epi8_mask (_mm256_and_si256 (__A, __B),
2464}
2465
2466static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2467_mm256_mask_testn_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
2468{
2469 return _mm256_mask_cmpeq_epi8_mask (__U, _mm256_and_si256 (__A, __B),
2471}
2472
2473static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
2474_mm_testn_epi16_mask (__m128i __A, __m128i __B)
2475{
2477}
2478
2479static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
2480_mm_mask_testn_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
2481{
2483}
2484
2485static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2486_mm256_testn_epi16_mask (__m256i __A, __m256i __B)
2487{
2488 return _mm256_cmpeq_epi16_mask (_mm256_and_si256(__A, __B),
2490}
2491
2492static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2493_mm256_mask_testn_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
2494{
2495 return _mm256_mask_cmpeq_epi16_mask (__U, _mm256_and_si256 (__A, __B),
2497}
2498
2499static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2500_mm_movepi8_mask (__m128i __A)
2501{
2502 return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A);
2503}
2504
2505static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2507{
2508 return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A);
2509}
2510
2511static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
2513{
2514 return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A);
2515}
2516
2517static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2519{
2520 return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A);
2521}
2522
2523static __inline__ __m128i __DEFAULT_FN_ATTRS128
2525{
2526 return (__m128i) __builtin_ia32_cvtmask2b128 (__A);
2527}
2528
2529static __inline__ __m256i __DEFAULT_FN_ATTRS256
2531{
2532 return (__m256i) __builtin_ia32_cvtmask2b256 (__A);
2533}
2534
2535static __inline__ __m128i __DEFAULT_FN_ATTRS128
2537{
2538 return (__m128i) __builtin_ia32_cvtmask2w128 (__A);
2539}
2540
2541static __inline__ __m256i __DEFAULT_FN_ATTRS256
2543{
2544 return (__m256i) __builtin_ia32_cvtmask2w256 (__A);
2545}
2546
2547static __inline__ __m128i __DEFAULT_FN_ATTRS128
2548_mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A)
2549{
2550 return (__m128i)__builtin_ia32_selectb_128(__M,
2551 (__v16qi) _mm_broadcastb_epi8(__A),
2552 (__v16qi) __O);
2553}
2554
2555static __inline__ __m128i __DEFAULT_FN_ATTRS128
2557{
2558 return (__m128i)__builtin_ia32_selectb_128(__M,
2559 (__v16qi) _mm_broadcastb_epi8(__A),
2560 (__v16qi) _mm_setzero_si128());
2561}
2562
2563static __inline__ __m256i __DEFAULT_FN_ATTRS256
2564_mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A)
2565{
2566 return (__m256i)__builtin_ia32_selectb_256(__M,
2567 (__v32qi) _mm256_broadcastb_epi8(__A),
2568 (__v32qi) __O);
2569}
2570
2571static __inline__ __m256i __DEFAULT_FN_ATTRS256
2573{
2574 return (__m256i)__builtin_ia32_selectb_256(__M,
2575 (__v32qi) _mm256_broadcastb_epi8(__A),
2576 (__v32qi) _mm256_setzero_si256());
2577}
2578
2579static __inline__ __m128i __DEFAULT_FN_ATTRS128
2580_mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
2581{
2582 return (__m128i)__builtin_ia32_selectw_128(__M,
2583 (__v8hi) _mm_broadcastw_epi16(__A),
2584 (__v8hi) __O);
2585}
2586
2587static __inline__ __m128i __DEFAULT_FN_ATTRS128
2589{
2590 return (__m128i)__builtin_ia32_selectw_128(__M,
2591 (__v8hi) _mm_broadcastw_epi16(__A),
2592 (__v8hi) _mm_setzero_si128());
2593}
2594
2595static __inline__ __m256i __DEFAULT_FN_ATTRS256
2596_mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A)
2597{
2598 return (__m256i)__builtin_ia32_selectw_256(__M,
2599 (__v16hi) _mm256_broadcastw_epi16(__A),
2600 (__v16hi) __O);
2601}
2602
2603static __inline__ __m256i __DEFAULT_FN_ATTRS256
2605{
2606 return (__m256i)__builtin_ia32_selectw_256(__M,
2607 (__v16hi) _mm256_broadcastw_epi16(__A),
2608 (__v16hi) _mm256_setzero_si256());
2609}
2610
2611static __inline__ __m256i __DEFAULT_FN_ATTRS256
2612_mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A)
2613{
2614 return (__m256i) __builtin_ia32_selectw_256 (__M,
2615 (__v16hi) _mm256_set1_epi16(__A),
2616 (__v16hi) __O);
2617}
2618
2619static __inline__ __m256i __DEFAULT_FN_ATTRS256
2621{
2622 return (__m256i) __builtin_ia32_selectw_256(__M,
2623 (__v16hi)_mm256_set1_epi16(__A),
2624 (__v16hi) _mm256_setzero_si256());
2625}
2626
2627static __inline__ __m128i __DEFAULT_FN_ATTRS128
2628_mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A)
2629{
2630 return (__m128i) __builtin_ia32_selectw_128(__M,
2631 (__v8hi) _mm_set1_epi16(__A),
2632 (__v8hi) __O);
2633}
2634
2635static __inline__ __m128i __DEFAULT_FN_ATTRS128
2637{
2638 return (__m128i) __builtin_ia32_selectw_128(__M,
2639 (__v8hi) _mm_set1_epi16(__A),
2640 (__v8hi) _mm_setzero_si128());
2641}
2642
2643static __inline__ __m128i __DEFAULT_FN_ATTRS128
2644_mm_permutexvar_epi16 (__m128i __A, __m128i __B)
2645{
2646 return (__m128i)__builtin_ia32_permvarhi128((__v8hi) __B, (__v8hi) __A);
2647}
2648
2649static __inline__ __m128i __DEFAULT_FN_ATTRS128
2650_mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
2651{
2652 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
2653 (__v8hi)_mm_permutexvar_epi16(__A, __B),
2654 (__v8hi) _mm_setzero_si128());
2655}
2656
2657static __inline__ __m128i __DEFAULT_FN_ATTRS128
2658_mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
2659 __m128i __B)
2660{
2661 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
2662 (__v8hi)_mm_permutexvar_epi16(__A, __B),
2663 (__v8hi)__W);
2664}
2665
2666static __inline__ __m256i __DEFAULT_FN_ATTRS256
2667_mm256_permutexvar_epi16 (__m256i __A, __m256i __B)
2668{
2669 return (__m256i)__builtin_ia32_permvarhi256((__v16hi) __B, (__v16hi) __A);
2670}
2671
2672static __inline__ __m256i __DEFAULT_FN_ATTRS256
2674 __m256i __B)
2675{
2676 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
2677 (__v16hi)_mm256_permutexvar_epi16(__A, __B),
2678 (__v16hi)_mm256_setzero_si256());
2679}
2680
2681static __inline__ __m256i __DEFAULT_FN_ATTRS256
2682_mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
2683 __m256i __B)
2684{
2685 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
2686 (__v16hi)_mm256_permutexvar_epi16(__A, __B),
2687 (__v16hi)__W);
2688}
2689
2690#define _mm_mask_alignr_epi8(W, U, A, B, N) \
2691 ((__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
2692 (__v16qi)_mm_alignr_epi8((A), (B), (int)(N)), \
2693 (__v16qi)(__m128i)(W)))
2694
2695#define _mm_maskz_alignr_epi8(U, A, B, N) \
2696 ((__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
2697 (__v16qi)_mm_alignr_epi8((A), (B), (int)(N)), \
2698 (__v16qi)_mm_setzero_si128()))
2699
2700#define _mm256_mask_alignr_epi8(W, U, A, B, N) \
2701 ((__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
2702 (__v32qi)_mm256_alignr_epi8((A), (B), (int)(N)), \
2703 (__v32qi)(__m256i)(W)))
2704
2705#define _mm256_maskz_alignr_epi8(U, A, B, N) \
2706 ((__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
2707 (__v32qi)_mm256_alignr_epi8((A), (B), (int)(N)), \
2708 (__v32qi)_mm256_setzero_si256()))
2709
2710#define _mm_dbsad_epu8(A, B, imm) \
2711 ((__m128i)__builtin_ia32_dbpsadbw128((__v16qi)(__m128i)(A), \
2712 (__v16qi)(__m128i)(B), (int)(imm)))
2713
2714#define _mm_mask_dbsad_epu8(W, U, A, B, imm) \
2715 ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2716 (__v8hi)_mm_dbsad_epu8((A), (B), (imm)), \
2717 (__v8hi)(__m128i)(W)))
2718
2719#define _mm_maskz_dbsad_epu8(U, A, B, imm) \
2720 ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2721 (__v8hi)_mm_dbsad_epu8((A), (B), (imm)), \
2722 (__v8hi)_mm_setzero_si128()))
2723
2724#define _mm256_dbsad_epu8(A, B, imm) \
2725 ((__m256i)__builtin_ia32_dbpsadbw256((__v32qi)(__m256i)(A), \
2726 (__v32qi)(__m256i)(B), (int)(imm)))
2727
2728#define _mm256_mask_dbsad_epu8(W, U, A, B, imm) \
2729 ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2730 (__v16hi)_mm256_dbsad_epu8((A), (B), (imm)), \
2731 (__v16hi)(__m256i)(W)))
2732
2733#define _mm256_maskz_dbsad_epu8(U, A, B, imm) \
2734 ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2735 (__v16hi)_mm256_dbsad_epu8((A), (B), (imm)), \
2736 (__v16hi)_mm256_setzero_si256()))
2737
2738static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2740 return __builtin_reduce_add((__v8hi)__W);
2741}
2742
2743static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2745 return __builtin_reduce_mul((__v8hi)__W);
2746}
2747
2748static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2750 return __builtin_reduce_and((__v8hi)__W);
2751}
2752
2753static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2755 return __builtin_reduce_or((__v8hi)__W);
2756}
2757
2758static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2760 __W = _mm_maskz_mov_epi16(__M, __W);
2761 return __builtin_reduce_add((__v8hi)__W);
2762}
2763
2764static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2766 __W = _mm_mask_mov_epi16(_mm_set1_epi16(1), __M, __W);
2767 return __builtin_reduce_mul((__v8hi)__W);
2768}
2769
2770static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2772 __W = _mm_mask_mov_epi16(_mm_set1_epi16(-1), __M, __W);
2773 return __builtin_reduce_and((__v8hi)__W);
2774}
2775
2776static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2778 __W = _mm_maskz_mov_epi16(__M, __W);
2779 return __builtin_reduce_or((__v8hi)__W);
2780}
2781
2782static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2784 return __builtin_reduce_max((__v8hi)__V);
2785}
2786
2787static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
2789 return __builtin_reduce_max((__v8hu)__V);
2790}
2791
2792static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2794 return __builtin_reduce_min((__v8hi)__V);
2795}
2796
2797static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
2799 return __builtin_reduce_min((__v8hu)__V);
2800}
2801
2802static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2804 __V = _mm_mask_mov_epi16(_mm_set1_epi16(-32767-1), __M, __V);
2805 return __builtin_reduce_max((__v8hi)__V);
2806}
2807
2808static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
2810 __V = _mm_maskz_mov_epi16(__M, __V);
2811 return __builtin_reduce_max((__v8hu)__V);
2812}
2813
2814static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2816 __V = _mm_mask_mov_epi16(_mm_set1_epi16(32767), __M, __V);
2817 return __builtin_reduce_min((__v8hi)__V);
2818}
2819
2820static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
2822 __V = _mm_mask_mov_epi16(_mm_set1_epi16(-1), __M, __V);
2823 return __builtin_reduce_min((__v8hu)__V);
2824}
2825
2826static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2828 return __builtin_reduce_add((__v16hi)__W);
2829}
2830
2831static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2833 return __builtin_reduce_mul((__v16hi)__W);
2834}
2835
2836static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2838 return __builtin_reduce_and((__v16hi)__W);
2839}
2840
2841static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2843 return __builtin_reduce_or((__v16hi)__W);
2844}
2845
2846static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2848 __W = _mm256_maskz_mov_epi16(__M, __W);
2849 return __builtin_reduce_add((__v16hi)__W);
2850}
2851
2852static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2854 __W = _mm256_mask_mov_epi16(_mm256_set1_epi16(1), __M, __W);
2855 return __builtin_reduce_mul((__v16hi)__W);
2856}
2857
2858static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2860 __W = _mm256_mask_mov_epi16(_mm256_set1_epi16(-1), __M, __W);
2861 return __builtin_reduce_and((__v16hi)__W);
2862}
2863
2864static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2866 __W = _mm256_maskz_mov_epi16(__M, __W);
2867 return __builtin_reduce_or((__v16hi)__W);
2868}
2869
2870static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2872 return __builtin_reduce_max((__v16hi)__V);
2873}
2874
2875static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
2877 return __builtin_reduce_max((__v16hu)__V);
2878}
2879
2880static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2882 return __builtin_reduce_min((__v16hi)__V);
2883}
2884
2885static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
2887 return __builtin_reduce_min((__v16hu)__V);
2888}
2889
2890static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2892 __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(-32767-1), __M, __V);
2893 return __builtin_reduce_max((__v16hi)__V);
2894}
2895
2896static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
2898 __V = _mm256_maskz_mov_epi16(__M, __V);
2899 return __builtin_reduce_max((__v16hu)__V);
2900}
2901
2902static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2904 __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(32767), __M, __V);
2905 return __builtin_reduce_min((__v16hi)__V);
2906}
2907
2908static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
2910 __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(-1), __M, __V);
2911 return __builtin_reduce_min((__v16hu)__V);
2912}
2913
2914static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2916 return __builtin_reduce_add((__v16qs)__W);
2917}
2918
2919static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2921 return __builtin_reduce_mul((__v16qs)__W);
2922}
2923
2924static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2926 return __builtin_reduce_and((__v16qs)__W);
2927}
2928
2929static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2931 return __builtin_reduce_or((__v16qs)__W);
2932}
2933
2934static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2936 __W = _mm_maskz_mov_epi8(__M, __W);
2937 return __builtin_reduce_add((__v16qs)__W);
2938}
2939
2940static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2942 __W = _mm_mask_mov_epi8(_mm_set1_epi8(1), __M, __W);
2943 return __builtin_reduce_mul((__v16qs)__W);
2944}
2945
2946static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2948 __W = _mm_mask_mov_epi8(_mm_set1_epi8(-1), __M, __W);
2949 return __builtin_reduce_and((__v16qs)__W);
2950}
2951
2952static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2954 __W = _mm_maskz_mov_epi8(__M, __W);
2955 return __builtin_reduce_or((__v16qs)__W);
2956}
2957
2958static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2960 return __builtin_reduce_max((__v16qs)__V);
2961}
2962
2963static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
2965 return __builtin_reduce_max((__v16qu)__V);
2966}
2967
2968static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2970 return __builtin_reduce_min((__v16qs)__V);
2971}
2972
2973static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
2975 return __builtin_reduce_min((__v16qu)__V);
2976}
2977
2978static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2980 __V = _mm_mask_mov_epi8(_mm_set1_epi8(-127-1), __M, __V);
2981 return __builtin_reduce_max((__v16qs)__V);
2982}
2983
2984static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
2986 __V = _mm_maskz_mov_epi8(__M, __V);
2987 return __builtin_reduce_max((__v16qu)__V);
2988}
2989
2990static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
2992 __V = _mm_mask_mov_epi8(_mm_set1_epi8(127), __M, __V);
2993 return __builtin_reduce_min((__v16qs)__V);
2994}
2995
2996static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
2998 __V = _mm_mask_mov_epi8(_mm_set1_epi8(-1), __M, __V);
2999 return __builtin_reduce_min((__v16qu)__V);
3000}
3001
3002static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3004 return __builtin_reduce_add((__v32qs)__W);
3005}
3006
3007static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3009 return __builtin_reduce_mul((__v32qs)__W);
3010}
3011
3012static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3014 return __builtin_reduce_and((__v32qs)__W);
3015}
3016
3017static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3019 return __builtin_reduce_or((__v32qs)__W);
3020}
3021
3022static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3024 __W = _mm256_maskz_mov_epi8(__M, __W);
3025 return __builtin_reduce_add((__v32qs)__W);
3026}
3027
3028static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3030 __W = _mm256_mask_mov_epi8(_mm256_set1_epi8(1), __M, __W);
3031 return __builtin_reduce_mul((__v32qs)__W);
3032}
3033
3034static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3036 __W = _mm256_mask_mov_epi8(_mm256_set1_epi8(-1), __M, __W);
3037 return __builtin_reduce_and((__v32qs)__W);
3038}
3039
3040static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3042 __W = _mm256_maskz_mov_epi8(__M, __W);
3043 return __builtin_reduce_or((__v32qs)__W);
3044}
3045
3046static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3048 return __builtin_reduce_max((__v32qs)__V);
3049}
3050
3051static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
3053 return __builtin_reduce_max((__v32qu)__V);
3054}
3055
3056static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3058 return __builtin_reduce_min((__v32qs)__V);
3059}
3060
3061static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
3063 return __builtin_reduce_min((__v32qu)__V);
3064}
3065
3066static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3068 __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(-127-1), __M, __V);
3069 return __builtin_reduce_max((__v32qs)__V);
3070}
3071
3072static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
3074 __V = _mm256_maskz_mov_epi8(__M, __V);
3075 return __builtin_reduce_max((__v32qu)__V);
3076}
3077
3078static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
3080 __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(127), __M, __V);
3081 return __builtin_reduce_min((__v32qs)__V);
3082}
3083
3084static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
3086 __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(-1), __M, __V);
3087 return __builtin_reduce_min((__v32qu)__V);
3088}
3089
3090#undef __DEFAULT_FN_ATTRS128
3091#undef __DEFAULT_FN_ATTRS256
3092#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
3093#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
3094
3095#endif /* __AVX512VLBWINTRIN_H */
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
return __v
Definition arm_acle.h:88
#define __DEFAULT_FN_ATTRS128
#define __DEFAULT_FN_ATTRS256
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_srl_epi16(__m256i __a, __m128i __count)
Shifts each 16-bit element of the 256-bit vector of [16 x i16] in __a right by the number of bits giv...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_max_epu16(__m256i __a, __m256i __b)
Compares the corresponding unsigned 16-bit integers in the two 256-bit vectors of [16 x i16] in __a a...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mulhi_epi16(__m256i __a, __m256i __b)
Multiplies signed 16-bit integer elements of two 256-bit vectors of [16 x i16], and returns the upper...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_adds_epu8(__m256i __a, __m256i __b)
Adds 8-bit integers from corresponding bytes of two 256-bit integer vectors using unsigned saturation...
Definition avx2intrin.h:394
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packs_epi32(__m256i __a, __m256i __b)
Converts the elements of two 256-bit vectors of [8 x i32] to 16-bit integers using signed saturation,...
Definition avx2intrin.h:201
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mulhi_epu16(__m256i __a, __m256i __b)
Multiplies unsigned 16-bit integer elements of two 256-bit vectors of [16 x i16], and returns the upp...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_shuffle_epi8(__m256i __a, __m256i __b)
Shuffles 8-bit integers in the 256-bit integer vector __a according to control information in the 256...
#define __DEFAULT_FN_ATTRS128_CONSTEXPR
Definition avx2intrin.h:30
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_broadcastb_epi8(__m128i __X)
Broadcasts the low byte from the 128-bit integer vector in __X to all bytes of the 128-bit result.
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_cvtepu8_epi16(__m128i __V)
Zero-extends bytes from the 128-bit integer vector in __V and returns the 16-bit values in the corres...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_subs_epu16(__m256i __a, __m256i __b)
Subtracts 16-bit integers from corresponding elements of two 256-bit vectors of [16 x i16] using unsi...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_broadcastb_epi8(__m128i __X)
Broadcasts the low byte from the 128-bit integer vector in __X to all bytes of the 256-bit result.
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sub_epi16(__m256i __a, __m256i __b)
Subtracts 16-bit integers from corresponding elements of two 256-bit vectors of [16 x i16].
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_unpacklo_epi16(__m256i __a, __m256i __b)
Unpacks and interleaves 16-bit integers from parts of the 256-bit vectors of [16 x i16] in __a and __...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maddubs_epi16(__m256i __a, __m256i __b)
Multiplies each unsigned byte from the 256-bit integer vector in __a with the corresponding signed by...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mullo_epi16(__m256i __a, __m256i __b)
Multiplies signed 16-bit integer elements of two 256-bit vectors of [16 x i16], and returns the lower...
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_broadcastw_epi16(__m128i __X)
Broadcasts the low element from the 128-bit vector of [8 x i16] in __X to all elements of the result'...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_adds_epi16(__m256i __a, __m256i __b)
Adds 16-bit integers from corresponding elements of two 256-bit vectors of [16 x i16] using signed sa...
Definition avx2intrin.h:376
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mulhrs_epi16(__m256i __a, __m256i __b)
Multiplies signed 16-bit integer elements of two 256-bit vectors of [16 x i16], truncates the 32-bit ...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_min_epi8(__m256i __a, __m256i __b)
Compares the corresponding signed bytes in the two 256-bit integer vectors in __a and __b and returns...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sll_epi16(__m256i __a, __m128i __count)
Shifts each 16-bit element of the 256-bit vector of [16 x i16] in __a left by the number of bits spec...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_add_epi8(__m256i __a, __m256i __b)
Adds 8-bit integers from corresponding bytes of two 256-bit integer vectors and returns the lower 8 b...
Definition avx2intrin.h:283
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_srli_epi16(__m256i __a, int __count)
Shifts each 16-bit element of the 256-bit vector of [16 x i16] in __a right by __count bits,...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_add_epi16(__m256i __a, __m256i __b)
Adds 16-bit integers from corresponding elements of two 256-bit vectors of [16 x i16] and returns the...
Definition avx2intrin.h:302
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_max_epi16(__m256i __a, __m256i __b)
Compares the corresponding signed 16-bit integers in the two 256-bit vectors of [16 x i16] in __a and...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_cvtepi8_epi16(__m128i __V)
Sign-extends bytes from the 128-bit integer vector in __V and returns the 16-bit values in the corres...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_unpacklo_epi8(__m256i __a, __m256i __b)
Unpacks and interleaves 8-bit integers from parts of the 256-bit integer vectors in __a and __b to fo...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_broadcastw_epi16(__m128i __X)
Broadcasts the low element from the 128-bit vector of [8 x i16] in __X to all elements of the result'...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_srai_epi16(__m256i __a, int __count)
Shifts each 16-bit element of the 256-bit vector of [16 x i16] in __a right by __count bits,...
#define __DEFAULT_FN_ATTRS256_CONSTEXPR
Definition avx2intrin.h:29
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_min_epu16(__m256i __a, __m256i __b)
Compares the corresponding unsigned 16-bit integers in the two 256-bit vectors of [16 x i16] in __a a...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packs_epi16(__m256i __a, __m256i __b)
Converts the elements of two 256-bit vectors of [16 x i16] to 8-bit integers using signed saturation,...
Definition avx2intrin.h:169
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_subs_epu8(__m256i __a, __m256i __b)
Subtracts 8-bit integers from corresponding bytes of two 256-bit integer vectors using unsigned satur...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sub_epi8(__m256i __a, __m256i __b)
Subtracts 8-bit integers from corresponding bytes of two 256-bit integer vectors.
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_subs_epi16(__m256i __a, __m256i __b)
Subtracts 16-bit integers from corresponding elements of two 256-bit vectors of [16 x i16] using sign...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_abs_epi8(__m256i __a)
Computes the absolute value of each signed byte in the 256-bit integer vector __a and returns each va...
Definition avx2intrin.h:107
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_madd_epi16(__m256i __a, __m256i __b)
Multiplies corresponding 16-bit elements of two 256-bit vectors of [16 x i16], forming 32-bit interme...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packus_epi32(__m256i __V1, __m256i __V2)
Converts elements from two 256-bit vectors of [8 x i32] to 16-bit integers using unsigned saturation,...
Definition avx2intrin.h:264
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_unpackhi_epi8(__m256i __a, __m256i __b)
Unpacks and interleaves 8-bit integers from parts of the 256-bit integer vectors in __a and __b to fo...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_and_si256(__m256i __a, __m256i __b)
Computes the bitwise AND of the 256-bit integer vectors in __a and __b.
Definition avx2intrin.h:456
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_abs_epi16(__m256i __a)
Computes the absolute value of each signed 16-bit element in the 256-bit vector of [16 x i16] in __a ...
Definition avx2intrin.h:123
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_max_epu8(__m256i __a, __m256i __b)
Compares the corresponding unsigned bytes in the two 256-bit integer vectors in __a and __b and retur...
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packus_epi16(__m256i __a, __m256i __b)
Converts elements from two 256-bit vectors of [16 x i16] to 8-bit integers using unsigned saturation,...
Definition avx2intrin.h:232
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_min_epu8(__m256i __a, __m256i __b)
Compares the corresponding unsigned bytes in the two 256-bit integer vectors in __a and __b and retur...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_min_epi16(__m256i __a, __m256i __b)
Compares the corresponding signed 16-bit integers in the two 256-bit vectors of [16 x i16] in __a and...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_avg_epu16(__m256i __a, __m256i __b)
Computes the averages of the corresponding unsigned 16-bit integers in the two 256-bit vectors of [16...
Definition avx2intrin.h:525
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sra_epi16(__m256i __a, __m128i __count)
Shifts each 16-bit element of the 256-bit vector of [16 x i16] in __a right by the number of bits giv...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_adds_epu16(__m256i __a, __m256i __b)
Adds 16-bit integers from corresponding elements of two 256-bit vectors of [16 x i16] using unsigned ...
Definition avx2intrin.h:411
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_max_epi8(__m256i __a, __m256i __b)
Compares the corresponding signed bytes in the two 256-bit integer vectors in __a and __b and returns...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_unpackhi_epi16(__m256i __a, __m256i __b)
Unpacks and interleaves 16-bit integers from parts of the 256-bit vectors of [16 x i16] in __a and __...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_subs_epi8(__m256i __a, __m256i __b)
Subtracts 8-bit integers from corresponding bytes of two 256-bit integer vectors using signed saturat...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_adds_epi8(__m256i __a, __m256i __b)
Adds 8-bit integers from corresponding bytes of two 256-bit integer vectors using signed saturation,...
Definition avx2intrin.h:359
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_slli_epi16(__m256i __a, int __count)
Shifts each 16-bit element of the 256-bit vector of [16 x i16] in __a left by __count bits,...
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_avg_epu8(__m256i __a, __m256i __b)
Computes the averages of the corresponding unsigned bytes in the two 256-bit integer vectors in __a a...
Definition avx2intrin.h:500
unsigned int __mmask32
unsigned char __mmask8
unsigned short __mmask16
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sra_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_add_epi8(__mmask32 __M, __m256i __W)
static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_max_epu16(__m128i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd_epi16(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
#define _mm256_mask_cmpeq_epi16_mask(k, A, B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_mul_epi8(__m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_slli_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_min_epi8(__m256i __V)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_mask_test_epi8_mask(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_srav_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline void __DEFAULT_FN_ATTRS128 _mm_storeu_epi16(void *__P, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtepu8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_broadcastb_epi8(__m128i __O, __mmask16 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtsepi16_epi8(__mmask8 __M, __m128i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_movepi8_mask(__m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_loadu_epi8(__m128i __W, __mmask16 __U, void const *__P)
static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_min_epu8(__mmask16 __M, __m128i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A)
static __inline __m128i __DEFAULT_FN_ATTRS128 _mm_loadu_epi8(void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_broadcastb_epi8(__m256i __O, __mmask32 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_mulhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
#define _mm256_cmpeq_epi8_mask(A, B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_movepi16_mask(__m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask2_permutex2var_epi16(__m128i __A, __m128i __I, __mmask8 __U, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A)
#define _mm_cmpneq_epi16_mask(A, B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_maddubs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpackhi_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_abs_epi8(__m256i __W, __mmask32 __U, __m256i __A)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_and_epi16(__m128i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpackhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_add_epi8(__mmask16 __U, __m128i __A, __m128i __B)
#define _mm_mask_cmpeq_epi8_mask(k, A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sub_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sub_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_srai_epi16(__mmask16 __U, __m256i __A, unsigned int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpackhi_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpackhi_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_testn_epi8_mask(__m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_abs_epi8(__mmask32 __U, __m256i __A)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_and_epi8(__m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_srav_epi16(__m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_min_epi8(__mmask32 __M, __m256i __V)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_mul_epi16(__mmask16 __M, __m256i __W)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_mask_testn_epi16_mask(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_broadcastb_epi8(__mmask32 __M, __m128i __A)
#define _mm_cmpneq_epi8_mask(A, B)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_or_epi8(__mmask16 __M, __m128i __W)
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_cvtusepi16_storeu_epi8(void *__P, __mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_add_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_testn_epi16_mask(__m128i __A, __m128i __B)
#define _mm256_mask_cmpneq_epi8_mask(k, A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sll_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_permutexvar_epi16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_min_epi16(__m256i __V)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_mask_test_epi16_mask(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_and_epi8(__mmask32 __M, __m256i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_mulhi_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_add_epi8(__m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline __m256i __DEFAULT_FN_ATTRS256 _mm256_loadu_epi16(void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_storeu_epi16(void *__P, __mmask16 __U, __m256i __A)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_mul_epi16(__m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtusepi16_epi8(__mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_add_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sub_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_srav_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_min_epu16(__mmask16 __M, __m256i __V)
#define _mm256_cmpneq_epi8_mask(A, B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutexvar_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_blend_epi8(__mmask32 __U, __m256i __A, __m256i __W)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_and_epi16(__mmask8 __M, __m128i __W)
static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_max_epu8(__mmask32 __M, __m256i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_max_epi16(__m128i __V)
static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_min_epu16(__m256i __V)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_mask_testn_epi8_mask(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_or_epi8(__mmask32 __M, __m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpackhi_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_mask_test_epi16_mask(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_add_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_set1_epi16(__mmask8 __M, short __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_srlv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_add_epi8(__mmask16 __M, __m128i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_set1_epi8(__m256i __O, __mmask32 __M, char __A)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_min_epi8(__mmask16 __M, __m128i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_loadu_epi8(__mmask16 __U, void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_or_epi16(__m128i __W)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_max_epi8(__mmask16 __M, __m128i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_test_epi16_mask(__m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtsepi16_epi8(__mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_set1_epi8(__m128i __O, __mmask16 __M, char __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_abs_epi8(__m128i __W, __mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_srlv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_and_epi16(__m256i __W)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_mask_testn_epi8_mask(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_mulhrs_epi16(__mmask8 __U, __m128i __X, __m128i __Y)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sub_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_movepi8_mask(__m256i __A)
#define _mm_cmpeq_epi8_mask(A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_srli_epi16(__mmask16 __U, __m256i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_madd_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtepi16_epi8(__mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packus_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_add_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline void __DEFAULT_FN_ATTRS256 _mm256_storeu_epi16(void *__P, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sll_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sub_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_set1_epi8(__mmask32 __M, char __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtsepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_testn_epi8_mask(__m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_mulhi_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_mulhi_epu16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sub_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtepu8_epi16(__mmask16 __U, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_loadu_epi8(__m256i __W, __mmask32 __U, void const *__P)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_mul_epi8(__m128i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_permutex2var_epi16(__m256i __A, __m256i __I, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sub_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_add_epi8(__m128i __W)
static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_min_epu16(__m128i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_slli_epi16(__mmask16 __U, __m256i __A, unsigned int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_permutex2var_epi16(__mmask8 __U, __m128i __A, __m128i __I, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sub_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_storeu_epi8(void *__P, __mmask32 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_srai_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_test_epi8_mask(__m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_set1_epi16(__mmask16 __M, short __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_srav_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_max_epi8(__m256i __V)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_add_epi16(__m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_storeu_epi16(void *__P, __mmask8 __U, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_cvtepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_or_epi16(__mmask16 __M, __m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_movm_epi8(__mmask16 __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_max_epu8(__mmask16 __M, __m128i __V)
#define _mm256_cmpeq_epi16_mask(A, B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_max_epi8(__mmask32 __M, __m256i __V)
static __inline void __DEFAULT_FN_ATTRS128 _mm_storeu_epi8(void *__P, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutex2var_epi16(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_blend_epi16(__mmask8 __U, __m128i __A, __m128i __W)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_and_epi8(__mmask16 __M, __m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_srlv_epi16(__m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sra_epi16(__mmask16 __U, __m256i __A, __m128i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_max_epu8(__m128i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_or_epi16(__mmask8 __M, __m128i __W)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_mul_epi8(__mmask16 __M, __m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtusepi16_epi8(__m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_movepi16_mask(__m256i __A)
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_cvtsepi16_storeu_epi8(void *__P, __mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_set1_epi16(__m128i __O, __mmask8 __M, short __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_mov_epi16(__mmask16 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_abs_epi16(__mmask16 __U, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_loadu_epi16(__m256i __W, __mmask16 __U, void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_permutexvar_epi16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_srl_epi16(__mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_mulhi_epu16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtepi8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_mov_epi8(__m256i __W, __mmask32 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_broadcastw_epi16(__mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_mul_epi16(__mmask8 __M, __m128i __W)
static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_max_epu8(__m256i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_cvtsepi16_storeu_epi8(void *__P, __mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_blend_epi8(__mmask16 __U, __m128i __A, __m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_srai_epi16(__mmask8 __U, __m128i __A, unsigned int __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_sllv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_mulhi_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_mulhrs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_mov_epi16(__m256i __W, __mmask16 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_set1_epi8(__mmask16 __M, char __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpackhi_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_loadu_epi8(__mmask32 __U, void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutex2var_epi16(__m256i __A, __mmask16 __U, __m256i __I, __m256i __B)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_cvtepi16_storeu_epi8(void *__P, __mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_test_epi8_mask(__m128i __A, __m128i __B)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_cvtusepi16_storeu_epi8(void *__P, __mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_cvtepi16_storeu_epi8(void *__P, __mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_permutex2var_epi16(__mmask16 __U, __m256i __A, __m256i __I, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packs_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
#define _mm_mask_cmpneq_epi16_mask(k, A, B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_mask_test_epi8_mask(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_srlv_epi16(__m256i __A, __m256i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_test_epi16_mask(__m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtusepi16_epi8(__mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_sllv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_min_epi16(__mmask16 __M, __m128i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_srlv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_maddubs_epi16(__mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_srav_epi16(__m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_add_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_movm_epi8(__mmask32 __A)
#define _mm_cmpeq_epi16_mask(A, B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_sllv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
#define _mm_mask_cmpeq_epi16_mask(k, A, B)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_max_epi16(__m256i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_mov_epi16(__mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_max_epu16(__mmask16 __M, __m128i __V)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_max_epi8(__m128i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtsepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline void __DEFAULT_FN_ATTRS256 _mm256_storeu_epi8(void *__P, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_movm_epi16(__mmask16 __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_permutexvar_epi16(__m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_or_epi8(__m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_mov_epi8(__m128i __W, __mmask16 __U, __m128i __A)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_storeu_epi8(void *__P, __mmask16 __U, __m128i __A)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_add_epi16(__m256i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutexvar_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sra_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpacklo_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_max_epi16(__mmask16 __M, __m128i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_min_epu8(__mmask32 __M, __m256i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_srli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_loadu_epi16(__mmask8 __U, void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_mullo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_or_epi16(__m256i __W)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_add_epi16(__mmask16 __M, __m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_abs_epi8(__mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_maddubs_epi16(__mmask8 __U, __m128i __X, __m128i __Y)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_srli_epi16(__mmask8 __U, __m128i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_mullo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_min_epi16(__m128i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_mov_epi8(__mmask32 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_permutex2var_epi16(__m128i __A, __m128i __I, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_broadcastw_epi16(__m256i __O, __mmask16 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtusepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_testn_epi16_mask(__m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_cvtepi16_epi8(__mmask16 __M, __m256i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_mask_testn_epi16_mask(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpacklo_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_min_epi16(__mmask16 __M, __m256i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_unpackhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_mullo_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_srav_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_slli_epi16(__mmask8 __U, __m128i __A, unsigned int __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline __m256i __DEFAULT_FN_ATTRS256 _mm256_loadu_epi8(void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtusepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_mulhrs_epi16(__mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_sllv_epi16(__m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_sllv_epi16(__m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_avg_epu16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_add_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_unpacklo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B)
#define _mm256_mask_cmpeq_epi8_mask(k, A, B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_add_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_srli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtsepi16_epi8(__m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_cvtepi16_epi8(__m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_unpacklo_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_max_epu16(__mmask16 __M, __m256i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_cvtsepi16_epi8(__m256i __A)
static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_min_epu8(__m128i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_broadcastw_epi16(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_mulhrs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_min_epu8(__m256i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_broadcastb_epi8(__mmask16 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_mullo_epi16(__mmask16 __U, __m256i __A, __m256i __B)
#define _mm256_mask_cmpneq_epi16_mask(k, A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd_epi16(__mmask8 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sll_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_abs_epi16(__m256i __W, __mmask16 __U, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpacklo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_srlv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_mul_epi8(__mmask32 __M, __m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_srai_epi16(__m256i __W, __mmask16 __U, __m256i __A, unsigned int __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_set1_epi16(__m256i __O, __mmask16 __M, short __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sra_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_abs_epi16(__m128i __W, __mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sll_epi16(__mmask16 __U, __m256i __A, __m128i __B)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_max_epi16(__mmask16 __M, __m256i __V)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpacklo_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_min_epu8(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_mov_epi8(__mmask16 __U, __m128i __A)
static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_max_epu16(__m256i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_loadu_epi16(__m128i __W, __mmask8 __U, void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_movm_epi16(__mmask8 __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_madd_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_mulhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_reduce_and_epi16(__mmask16 __M, __m256i __W)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_or_epi8(__m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_cvtusepi16_epi8(__m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_srl_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_blend_epi16(__mmask16 __U, __m256i __A, __m256i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_srl_epi16(__mmask8 __U, __m128i __A, __m128i __B)
#define _mm_mask_cmpneq_epi8_mask(k, A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_maddubs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_broadcastw_epi16(__mmask16 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask2_permutex2var_epi16(__m256i __A, __m256i __I, __mmask16 __U, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtepu8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_mul_epi16(__m256i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_maskz_max_epu8(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_mov_epi16(__m128i __W, __mmask8 __U, __m128i __A)
#define _mm256_cmpneq_epi16_mask(A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_loadu_epi16(__mmask16 __U, void const *__P)
static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_min_epu16(__mmask16 __M, __m128i __V)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_cvtepi16_epi8(__m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_sllv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_mulhi_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_permutexvar_epi16(__m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpacklo_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_unpackhi_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_srl_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_reduce_and_epi8(__m256i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtepi8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline __m128i __DEFAULT_FN_ATTRS128 _mm_loadu_epi16(void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_mask_slli_epi16(__m256i __W, __mmask16 __U, __m256i __A, unsigned int __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_maskz_abs_epi16(__mmask8 __U, __m128i __A)
static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_reduce_add_epi16(__mmask8 __M, __m128i __W)
static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_reduce_min_epi8(__m128i __V)
static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_setzero_si256(void)
Constructs a 256-bit integer vector initialized to zero.
Definition avxintrin.h:4340
static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_set1_epi16(short __w)
Constructs a 256-bit integer vector of [16 x i16], with each of the 16-bit integral vector elements s...
Definition avxintrin.h:4263
static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_set1_epi8(char __b)
Constructs a 256-bit integer vector of [32 x i8], with each of the 8-bit integral vector elements set...
Definition avxintrin.h:4281
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_subs_epu16(__m128i __a, __m128i __b)
Subtracts, with saturation, corresponding 16-bit unsigned integer values in the input and returns the...
Definition emmintrin.h:2657
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_epu8(__m128i __a, __m128i __b)
Compares corresponding elements of two 128-bit unsigned [16 x i8] vectors, saving the smaller value f...
Definition emmintrin.h:2370
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi16(__m128i __a, __m128i __b)
Converts, with saturation, 16-bit signed integers from both 128-bit integer vector operands into 8-bi...
Definition emmintrin.h:4208
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_avg_epu8(__m128i __a, __m128i __b)
Computes the rounded averages of corresponding elements of two 128-bit unsigned [16 x i8] vectors,...
Definition emmintrin.h:2250
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_srai_epi16(__m128i __a, int __count)
Right-shifts each 16-bit value in the 128-bit integer vector operand by the specified number of bits.
Definition emmintrin.h:2878
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_epu8(__m128i __a, __m128i __b)
Compares corresponding elements of two 128-bit unsigned [16 x i8] vectors, saving the greater value f...
Definition emmintrin.h:2332
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_unpacklo_epi8(__m128i __a, __m128i __b)
Unpacks the low-order (index 0-7) values from two 128-bit vectors of [16 x i8] and interleaves them i...
Definition emmintrin.h:4523
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi16(__m128i __a, __m128i __b)
Subtracts the corresponding 16-bit integer values in the operands.
Definition emmintrin.h:2518
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_avg_epu16(__m128i __a, __m128i __b)
Computes the rounded averages of corresponding elements of two 128-bit unsigned [8 x i16] vectors,...
Definition emmintrin.h:2269
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_unpacklo_epi16(__m128i __a, __m128i __b)
Unpacks the low-order (index 0-3) values from each of the two 128-bit vectors of [8 x i16] and interl...
Definition emmintrin.h:4552
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_set1_epi16(short __w)
Initializes all values in a 128-bit vector of [8 x i16] with the specified 16-bit value.
Definition emmintrin.h:3727
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_mullo_epi16(__m128i __a, __m128i __b)
Multiplies the corresponding elements of two signed [8 x i16] vectors, saving the lower 16 bits of ea...
Definition emmintrin.h:2427
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi16(__m128i __a, __m128i __count)
Right-shifts each of 16-bit values in the 128-bit integer vector operand by the specified number of b...
Definition emmintrin.h:2995
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_setzero_si128(void)
Creates a 128-bit integer vector initialized to zero.
Definition emmintrin.h:3878
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_epi16(__m128i __a, __m128i __b)
Compares corresponding elements of two 128-bit signed [8 x i16] vectors, saving the smaller value fro...
Definition emmintrin.h:2351
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_subs_epi8(__m128i __a, __m128i __b)
Subtracts, with saturation, corresponding 8-bit signed integer values in the input and returns the di...
Definition emmintrin.h:2593
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_madd_epi16(__m128i __a, __m128i __b)
Multiplies the corresponding elements of two 128-bit signed [8 x i16] vectors, producing eight interm...
Definition emmintrin.h:2293
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_adds_epu8(__m128i __a, __m128i __b)
Adds, with saturation, the corresponding elements of two 128-bit unsigned [16 x i8] vectors,...
Definition emmintrin.h:2209
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_slli_epi16(__m128i __a, int __count)
Left-shifts each 16-bit value in the 128-bit integer vector operand by the specified number of bits.
Definition emmintrin.h:2769
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi8(__m128i __a, __m128i __b)
Subtracts the corresponding 8-bit integer values in the operands.
Definition emmintrin.h:2501
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_adds_epu16(__m128i __a, __m128i __b)
Adds, with saturation, the corresponding elements of two 128-bit unsigned [8 x i16] vectors,...
Definition emmintrin.h:2231
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_srli_epi16(__m128i __a, int __count)
Right-shifts each of 16-bit values in the 128-bit integer vector operand by the specified number of b...
Definition emmintrin.h:2978
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi16(__m128i __a, __m128i __b)
Converts, with saturation, 16-bit signed integers from both 128-bit integer vector operands into 8-bi...
Definition emmintrin.h:4162
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi16(__m128i __a, __m128i __count)
Right-shifts each 16-bit value in the 128-bit integer vector operand by the specified number of bits.
Definition emmintrin.h:2896
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_unpackhi_epi8(__m128i __a, __m128i __b)
Unpacks the high-order (index 8-15) values from two 128-bit vectors of [16 x i8] and interleaves them...
Definition emmintrin.h:4417
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_adds_epi8(__m128i __a, __m128i __b)
Adds, with saturation, the corresponding elements of two 128-bit signed [16 x i8] vectors,...
Definition emmintrin.h:2165
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi32(__m128i __a, __m128i __b)
Converts, with saturation, 32-bit signed integers from both 128-bit integer vector operands into 16-b...
Definition emmintrin.h:4185
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi16(__m128i __a, __m128i __count)
Left-shifts each 16-bit value in the 128-bit integer vector operand by the specified number of bits.
Definition emmintrin.h:2786
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi8(__m128i __a, __m128i __b)
Adds the corresponding elements of two 128-bit vectors of [16 x i8], saving the lower 8 bits of each ...
Definition emmintrin.h:2062
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_mulhi_epi16(__m128i __a, __m128i __b)
Multiplies the corresponding elements of two signed [8 x i16] vectors, saving the upper 16 bits of ea...
Definition emmintrin.h:2389
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_unpackhi_epi16(__m128i __a, __m128i __b)
Unpacks the high-order (index 4-7) values from two 128-bit vectors of [8 x i16] and interleaves them ...
Definition emmintrin.h:4445
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_and_si128(__m128i __a, __m128i __b)
Performs a bitwise AND of two 128-bit integer vectors.
Definition emmintrin.h:2674
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_mulhi_epu16(__m128i __a, __m128i __b)
Multiplies the corresponding elements of two unsigned [8 x i16] vectors, saving the upper 16 bits of ...
Definition emmintrin.h:2408
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_epi16(__m128i __a, __m128i __b)
Compares corresponding elements of two 128-bit signed [8 x i16] vectors, saving the greater value fro...
Definition emmintrin.h:2313
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_subs_epi16(__m128i __a, __m128i __b)
Subtracts, with saturation, corresponding 16-bit signed integer values in the input and returns the d...
Definition emmintrin.h:2615
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi16(__m128i __a, __m128i __b)
Adds the corresponding elements of two 128-bit vectors of [8 x i16], saving the lower 16 bits of each...
Definition emmintrin.h:2083
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_adds_epi16(__m128i __a, __m128i __b)
Adds, with saturation, the corresponding elements of two 128-bit signed [8 x i16] vectors,...
Definition emmintrin.h:2187
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_subs_epu8(__m128i __a, __m128i __b)
Subtracts, with saturation, corresponding 8-bit unsigned integer values in the input and returns the ...
Definition emmintrin.h:2636
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_set1_epi8(char __b)
Initializes all values in a 128-bit vector of [16 x i8] with the specified 8-bit value.
Definition emmintrin.h:3744
__inline unsigned int unsigned int unsigned int * __P
Definition bmi2intrin.h:25
__inline unsigned int unsigned int __Y
Definition bmi2intrin.h:19
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_epu16(__m128i __V1, __m128i __V2)
Compares the corresponding elements of two 128-bit vectors of [8 x u16] and returns a 128-bit vector ...
Definition smmintrin.h:706
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_epi8(__m128i __V1, __m128i __V2)
Compares the corresponding elements of two 128-bit vectors of [16 x i8] and returns a 128-bit vector ...
Definition smmintrin.h:688
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvtepu8_epi16(__m128i __V)
Zero-extends each of the lower eight 8-bit integer elements of a 128-bit vector of [16 x i8] to 16-bi...
Definition smmintrin.h:1348
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi32(__m128i __V1, __m128i __V2)
Converts, with saturation, 32-bit signed integers from both 128-bit integer vector operands into 16-b...
Definition smmintrin.h:1469
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_epu16(__m128i __V1, __m128i __V2)
Compares the corresponding elements of two 128-bit vectors of [8 x u16] and returns a 128-bit vector ...
Definition smmintrin.h:724
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvtepi8_epi16(__m128i __V)
Sign-extends each of the lower eight 8-bit integer elements of a 128-bit vector of [16 x i8] to 16-bi...
Definition smmintrin.h:1225
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_epi8(__m128i __V1, __m128i __V2)
Compares the corresponding elements of two 128-bit vectors of [16 x i8] and returns a 128-bit vector ...
Definition smmintrin.h:670
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_abs_epi16(__m128i __a)
Computes the absolute value of each of the packed 16-bit signed integers in the source operand and st...
Definition tmmintrin.h:98
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mulhrs_epi16(__m128i __a, __m128i __b)
Multiplies packed 16-bit signed integer values, truncates the 32-bit products to the 18 most signific...
Definition tmmintrin.h:559
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_maddubs_epi16(__m128i __a, __m128i __b)
Multiplies corresponding pairs of packed 8-bit unsigned integer values contained in the first source ...
Definition tmmintrin.h:508
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_shuffle_epi8(__m128i __a, __m128i __b)
Copies the 8-bit integers from a 128-bit integer vector to the destination or clears 8-bit values in ...
Definition tmmintrin.h:606
static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR _mm_abs_epi8(__m128i __a)
Computes the absolute value of each of the packed 8-bit signed integers in the source operand and sto...
Definition tmmintrin.h:65