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