clang  9.0.0
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),
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),
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),
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),
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),
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
485 {
486  return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
487  (__v16qi)_mm_abs_epi8(__A),
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
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
517 {
518  return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
519  (__v8hi)_mm_abs_epi16(__A),
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
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),
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
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),
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
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),
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
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),
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
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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),
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
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),
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),
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
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),
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),
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
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
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
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
1301  __m128i __B)
1302 {
1303  return (__m128i)__builtin_ia32_selectw_128(__U,
1304  (__v8hi)_mm_permutex2var_epi16(__A, __I, __B),
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
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
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
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),
1354 }
1355 
1356 static __inline__ __m256i __DEFAULT_FN_ATTRS256
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
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),
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
1401  return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
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
1415  return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1417  __M);
1418 }
1419 
1420 static __inline__ __m128i __DEFAULT_FN_ATTRS256
1422  return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
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
1436  return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1438  __M);
1439 }
1440 
1441 static __inline__ __m128i __DEFAULT_FN_ATTRS128
1443  return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
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
1457  return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1459  __M);
1460 }
1461 
1462 static __inline__ __m128i __DEFAULT_FN_ATTRS256
1464  return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
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
1478  return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1480  __M);
1481 }
1482 
1483 static __inline__ __m128i __DEFAULT_FN_ATTRS128
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
1500  return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1502  __M);
1503 }
1504 
1505 static __inline__ void __DEFAULT_FN_ATTRS128
1507 {
1508  __builtin_ia32_pmovwb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1509 }
1510 
1511 
1512 static __inline__ void __DEFAULT_FN_ATTRS128
1514 {
1515  __builtin_ia32_pmovswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1516 }
1517 
1518 static __inline__ void __DEFAULT_FN_ATTRS128
1520 {
1521  __builtin_ia32_pmovuswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
1522 }
1523 
1524 static __inline__ __m128i __DEFAULT_FN_ATTRS256
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,
1533  (__v16qi)__O);
1534 }
1535 
1536 static __inline__ __m128i __DEFAULT_FN_ATTRS256
1538  return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1541 }
1542 
1543 static __inline__ void __DEFAULT_FN_ATTRS256
1545 {
1546  __builtin_ia32_pmovwb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
1547 }
1548 
1549 static __inline__ void __DEFAULT_FN_ATTRS256
1551 {
1552  __builtin_ia32_pmovswb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
1553 }
1554 
1555 static __inline__ void __DEFAULT_FN_ATTRS256
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),
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),
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),
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),
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
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),
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
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),
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
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),
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
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
1767 {
1768  return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1769  (__v8hi)_mm_cvtepi8_epi16(__A),
1771 }
1772 
1773 static __inline__ __m256i __DEFAULT_FN_ATTRS256
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
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
1800 {
1801  return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1802  (__v8hi)_mm_cvtepu8_epi16(__A),
1804 }
1805 
1806 static __inline__ __m256i __DEFAULT_FN_ATTRS256
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
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
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),
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),
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
1951 {
1952  return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1953  (__v8hi)_mm_slli_epi16(__A, __B),
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
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
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),
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
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),
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),
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
2103 {
2104  return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2105  (__v8hi)_mm_srai_epi16(__A, __B),
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
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),
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
2167 {
2168  return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2169  (__v8hi)_mm_srli_epi16(__A, __B),
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
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
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
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
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
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
2264 {
2265  return (__m128i) __builtin_ia32_selectb_128(__M,
2266  (__v16qi) _mm_set1_epi8(__A),
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
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 ((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 ((__v8hi *) __P,
2299  (__v8hi) __W,
2300  (__mmask8) __U);
2301 }
2302 
2303 static __inline__ __m128i __DEFAULT_FN_ATTRS128
2305 {
2306  return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
2307  (__v8hi)
2308  _mm_setzero_si128 (),
2309  (__mmask8) __U);
2310 }
2311 
2312 static __inline __m256i __DEFAULT_FN_ATTRS256
2314 {
2315  struct __loadu_epi16 {
2316  __m256i_u __v;
2317  } __attribute__((__packed__, __may_alias__));
2318  return ((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 ((__v16hi *) __P,
2325  (__v16hi) __W,
2326  (__mmask16) __U);
2327 }
2328 
2329 static __inline__ __m256i __DEFAULT_FN_ATTRS256
2331 {
2332  return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
2333  (__v16hi)
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 ((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 ((__v16qi *) __P,
2351  (__v16qi) __W,
2352  (__mmask16) __U);
2353 }
2354 
2355 static __inline__ __m128i __DEFAULT_FN_ATTRS128
2357 {
2358  return (__m128i) __builtin_ia32_loaddquqi128_mask ((__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 ((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 ((__v32qi *) __P,
2377  (__v32qi) __W,
2378  (__mmask32) __U);
2379 }
2380 
2381 static __inline__ __m256i __DEFAULT_FN_ATTRS256
2383 {
2384  return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
2385  (__v32qi)
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
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
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 {
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),
2476 }
2477 
2478 static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2480 {
2481  return _mm256_mask_cmpneq_epi8_mask (__U, _mm256_and_si256(__A, __B),
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),
2503 }
2504 
2505 static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2507 {
2508  return _mm256_mask_cmpneq_epi16_mask (__U, _mm256_and_si256(__A, __B),
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
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),
2530 }
2531 
2532 static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2534 {
2535  return _mm256_mask_cmpeq_epi8_mask (__U, _mm256_and_si256 (__A, __B),
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
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),
2556 }
2557 
2558 static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2560 {
2561  return _mm256_mask_cmpeq_epi16_mask (__U, _mm256_and_si256 (__A, __B),
2563 }
2564 
2565 static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2567 {
2568  return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A);
2569 }
2570 
2571 static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2573 {
2574  return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A);
2575 }
2576 
2577 static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
2579 {
2580  return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A);
2581 }
2582 
2583 static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2585 {
2586  return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A);
2587 }
2588 
2589 static __inline__ __m128i __DEFAULT_FN_ATTRS128
2591 {
2592  return (__m128i) __builtin_ia32_cvtmask2b128 (__A);
2593 }
2594 
2595 static __inline__ __m256i __DEFAULT_FN_ATTRS256
2597 {
2598  return (__m256i) __builtin_ia32_cvtmask2b256 (__A);
2599 }
2600 
2601 static __inline__ __m128i __DEFAULT_FN_ATTRS128
2603 {
2604  return (__m128i) __builtin_ia32_cvtmask2w128 (__A);
2605 }
2606 
2607 static __inline__ __m256i __DEFAULT_FN_ATTRS256
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,
2618  (__v16qi) __O);
2619 }
2620 
2621 static __inline__ __m128i __DEFAULT_FN_ATTRS128
2623 {
2624  return (__m128i)__builtin_ia32_selectb_128(__M,
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
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,
2650  (__v8hi) __O);
2651 }
2652 
2653 static __inline__ __m128i __DEFAULT_FN_ATTRS128
2655 {
2656  return (__m128i)__builtin_ia32_selectw_128(__M,
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
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
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
2703 {
2704  return (__m128i) __builtin_ia32_selectw_128(__M,
2705  (__v8hi) _mm_set1_epi16(__A),
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
2717 {
2718  return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
2719  (__v8hi)_mm_permutexvar_epi16(__A, __B),
2721 }
2722 
2723 static __inline__ __m128i __DEFAULT_FN_ATTRS128
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
2734 {
2735  return (__m256i)__builtin_ia32_permvarhi256((__v16hi) __B, (__v16hi) __A);
2736 }
2737 
2738 static __inline__ __m256i __DEFAULT_FN_ATTRS256
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
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 */
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_srlv_epi16(__m256i __A, __m256i __B)
#define _mm_mask_cmpneq_epi16_mask(k, A, B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_broadcastw_epi16(__mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_broadcastw_epi16(__m128i __X)
Definition: avx2intrin.h:782
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_srl_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_test_epi16_mask(__m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_mask_testn_epi16_mask(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_movepi16_mask(__m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_adds_epu8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:105
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
struct __storeu_i16 *__P __v
Definition: immintrin.h:313
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpacklo_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtepi16_epi8(__mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sra_epi16(__m256i __a, __m128i __count)
Definition: avx2intrin.h:545
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_movepi16_mask(__m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sllv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_broadcastw_epi16(__m256i __O, __mmask16 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_loadu_epi16(__m128i __W, __mmask8 __U, void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpacklo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_mask_test_epi8_mask(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mulhi_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:428
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_broadcastw_epi16(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_abs_epi16(__mmask16 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_min_epu8(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mullo_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:434
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
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_cvtusepi16_storeu_epi8(void *__P, __mmask16 __M, __m256i __A)
vector signed char unaligned_vec_schar __attribute__((aligned(1)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
Definition: altivec.h:16344
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
unsigned char __mmask8
Definition: avx512fintrin.h:37
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_srlv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_mov_epi8(__mmask32 __U, __m256i __A)
static __inline __m128i __DEFAULT_FN_ATTRS128 _mm_loadu_epi8(void const *__P)
__vector signed char __v16qi
Definition: emmintrin.h:51
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtepi8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_unpackhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtsepi16_epi8(__m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_add_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_mask_testn_epi8_mask(__mmask16 __U, __m128i __A, __m128i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_broadcastb_epi8(__mmask16 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_unpacklo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_mulhi_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_subs_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:629
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_broadcastb_epi8(__m128i __X)
Definition: avx2intrin.h:776
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
unsigned int __mmask32
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_mulhrs_epi16(__mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_slli_epi16(__m256i __a, int __count)
Definition: avx2intrin.h:503
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_srav_epi16(__m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_abs_epi16(__mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sllv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_mulhi_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_madd_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_blend_epi8(__mmask16 __U, __m128i __A, __m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_mov_epi16(__m128i __W, __mmask8 __U, __m128i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_test_epi8_mask(__m128i __A, __m128i __B)
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
__inline __m128 const float __Y
Definition: xmmintrin.h:131
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_mullo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_mullo_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpackhi_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packs_epi32(__m256i __a, __m256i __b)
Definition: avx2intrin.h:51
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_add_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:69
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_storeu_epi8(void *__P, __mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_abs_epi8(__m256i __W, __mmask32 __U, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_permutexvar_epi16(__m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_add_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_permutexvar_epi16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline __m256i __DEFAULT_FN_ATTRS256 _mm256_loadu_epi8(void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_slli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtusepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A)
__inline __m128 __m64 const * __P
Definition: xmmintrin.h:1269
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_srai_epi16(__m256i __a, int __count)
Definition: avx2intrin.h:539
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtusepi16_epi8(__mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packus_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtepu8_epi16(__mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_srai_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
#define _mm256_mask_cmpeq_epi16_mask(k, A, B)
#define _mm_cmpeq_epi16_mask(A, B)
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
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_permutex2var_epi16(__mmask16 __U, __m256i __A, __m256i __I, __m256i __B)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_cvtepi16_storeu_epi8(void *__P, __mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd_epi16(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_mov_epi16(__m256i __W, __mmask16 __U, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sll_epi16(__m256i __a, __m128i __count)
Definition: avx2intrin.h:509
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_testn_epi16_mask(__m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_loadu_epi8(__m256i __W, __mmask32 __U, void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_maddubs_epi16(__mmask8 __U, __m128i __X, __m128i __Y)
static __inline void __DEFAULT_FN_ATTRS128 _mm_storeu_epi16(void *__P, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_srai_epi16(__mmask16 __U, __m256i __A, int __B)
#define _mm256_cmpneq_epi16_mask(A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_storeu_epi8(void *__P, __mmask32 __U, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_mulhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_mulhi_epi16(__mmask8 __U, __m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sub_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sub_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
#define _mm_cmpneq_epi16_mask(A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_subs_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:635
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B)
#define __DEFAULT_FN_ATTRS128
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
__inline __m128d double __X
Definition: emmintrin.h:89
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_mov_epi8(__m128i __W, __mmask16 __U, __m128i __A)
#define _mm_mask_cmpeq_epi8_mask(k, A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_srli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_loadu_epi8(__mmask16 __U, void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
__vector int __v4si
Definition: emmintrin.h:47
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_broadcastb_epi8(__mmask32 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_mulhi_epu16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpackhi_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_set1_epi8(__m128i __O, __mmask16 __M, char __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sub_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sll_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_permutex2var_epi16(__m256i __A, __m256i __I, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_max_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:254
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_srl_epi16(__m256i __a, __m128i __count)
Definition: avx2intrin.h:575
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_mulhi_epu16(__mmask8 __U, __m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sra_epi16(__mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sllv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_blend_epi16(__mmask8 __U, __m128i __A, __m128i __W)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_add_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_srl_epi16(__mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_srav_epi16(__m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_add_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packs_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B)
#define _mm256_mask_cmpneq_epi16_mask(k, A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_unpacklo_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:683
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_cvtepi16_storeu_epi8(void *__P, __mmask16 __M, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask2_permutex2var_epi16(__m256i __A, __m256i __I, __mmask16 __U, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_add_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sra_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_permutex2var_epi16(__m128i __A, __m128i __I, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_unpacklo_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:677
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_cvtsepi16_storeu_epi8(void *__P, __mmask16 __M, __m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutex2var_epi16(__m256i __A, __mmask16 __U, __m256i __I, __m256i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
#define _mm256_cmpeq_epi8_mask(A, B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_broadcastw_epi16(__mmask16 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_srav_epi16(__mmask16 __U, __m256i __A, __m256i __B)
__inline void __m128d __A
Definition: emmintrin.h:169
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_testn_epi8_mask(__m128i __A, __m128i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_loadu_epi8(__m128i __W, __mmask16 __U, void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_movm_epi8(__mmask32 __A)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtepu8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_mov_epi16(__mmask16 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_set1_epi16(__mmask8 __M, short __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_set1_epi8(__mmask32 __M, char __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_srli_epi16(__mmask16 __U, __m256i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_loadu_epi16(__mmask8 __U, void const *__P)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_set1_epi16(__mmask16 __M, short __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_mulhrs_epi16(__mmask8 __U, __m128i __X, __m128i __Y)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_abs_epi8(__mmask16 __U, __m128i __A)
__inline __m128d __m128d __B
Definition: emmintrin.h:118
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sllv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_add_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:75
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_avg_epu16(__mmask16 __U, __m256i __A, __m256i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpackhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_srli_epi16(__mmask8 __U, __m128i __A, int __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sll_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtsepi16_epi8(__mmask16 __M, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_movm_epi8(__mmask16 __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_srai_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_cvtsepi16_epi8(__m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_max_epu8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:272
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_srlv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_mask_test_epi16_mask(__mmask16 __U, __m256i __A, __m256i __B)
static __inline void __DEFAULT_FN_ATTRS256 _mm256_storeu_epi8(void *__P, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_mulhrs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtepu8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sub_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtsepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_slli_epi16(__mmask8 __U, __m128i __A, int __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_and_si256(__m256i __a, __m256i __b)
Definition: avx2intrin.h:121
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpackhi_epi8(__mmask16 __U, __m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_loadu_epi16(__m256i __W, __mmask16 __U, void const *__P)
static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_mask_storeu_epi16(void *__P, __mmask16 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_set1_epi8(__mmask16 __M, char __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_unpacklo_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtepi16_epi8(__m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_abs_epi8(__m128i __W, __mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_srli_epi16(__m256i __a, int __count)
Definition: avx2intrin.h:569
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_srli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
__inline __m128 const float const float const float __W
Definition: xmmintrin.h:132
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask2_permutex2var_epi16(__m128i __A, __m128i __I, __mmask8 __U, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_shuffle_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:464
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_permutexvar_epi16(__m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline void __DEFAULT_FN_ATTRS128 _mm_storeu_epi8(void *__P, __m128i __A)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_add_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_srav_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_sll_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
__inline void enum _mm_hint __I
Definition: xmmintrin.h:958
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_set1_epi8(__m256i __O, __mmask32 __M, char __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtsepi16_epi8(__mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packus_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:57
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_add_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_madd_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:248
#define __DEFAULT_FN_ATTRS256
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_srlv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_mulhi_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sra_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutexvar_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpacklo_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_mullo_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_sllv_epi16(__m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_cvtusepi16_epi8(__m128i __O, __mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_srl_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sub_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_loadu_epi16(__mmask16 __U, void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_broadcastb_epi8(__m128i __O, __mmask16 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_mov_epi16(__mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_maddubs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_srlv_epi16(__m128i __A, __m128i __B)
__vector short __v8hi
Definition: emmintrin.h:49
#define _mm_mask_cmpeq_epi16_mask(k, A, B)
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_setzero_si128(void)
Creates a 128-bit integer vector initialized to zero.
Definition: emmintrin.h:3977
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mulhi_epu16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:422
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_set1_epi16(__m128i __O, __mmask8 __M, short __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_subs_epu8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:641
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_min_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:290
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpackhi_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_abs_epi16(__m256i __a)
Definition: avx2intrin.h:33
#define _mm256_cmpeq_epi16_mask(A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_avg_epu16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:139
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sub_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:611
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_mask_testn_epi16_mask(__mmask8 __U, __m128i __A, __m128i __B)
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
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_test_epi8_mask(__m256i __A, __m256i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_min_epu16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:314
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_testn_epi8_mask(__m256i __A, __m256i __B)
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
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sub_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:605
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_broadcastw_epi16(__m128i __X)
Definition: avx2intrin.h:758
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_sllv_epi16(__m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_slli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtepi8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_movm_epi16(__mmask16 __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_unpacklo_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_broadcastb_epi8(__m128i __X)
Definition: avx2intrin.h:752
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A)
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_test_epi16_mask(__m256i __A, __m256i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_sll_epi16(__mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_abs_epi16(__m256i __W, __mmask16 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_maddubs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_mulhrs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sub_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_unpackhi_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_min_epu8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:308
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mulhrs_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:416
static __inline__ __mmask16 __DEFAULT_FN_ATTRS256 _mm256_testn_epi16_mask(__m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_cvtepi16_epi8(__m256i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_avg_epu8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:133
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
#define _mm256_mask_cmpeq_epi8_mask(k, A, B)
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
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
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_cvtsepi16_storeu_epi8(void *__P, __mmask8 __M, __m128i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_permutex2var_epi16(__mmask8 __U, __m128i __A, __m128i __I, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B)
#define _mm_cmpeq_epi8_mask(A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_unpackhi_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __mmask8 __DEFAULT_FN_ATTRS128 _mm_mask_test_epi16_mask(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packs_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:45
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu16(__m128i __a, __m128i __b)
Computes the rounded avarages of corresponding elements of two 128-bit unsigned [8 x i16] vectors...
Definition: emmintrin.h:2326
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_max_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:260
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_unpackhi_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:659
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtepi16_epi8(__mmask16 __M, __m256i __A)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_srav_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_loadu_epi8(__mmask32 __U, void const *__P)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_mask_test_epi8_mask(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_maddubs_epi16(__mmask16 __U, __m256i __X, __m256i __Y)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_max_epu8(__mmask32 __M, __m256i __A, __m256i __B)
static __inline __m128i __DEFAULT_FN_ATTRS128 _mm_loadu_epi16(void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_add_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_unpacklo_epi8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_adds_epu16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:111
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_mullo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_madd_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline __m256i __DEFAULT_FN_ATTRS _mm256_setzero_si256(void)
Constructs a 256-bit integer vector initialized to zero.
Definition: avxintrin.h:4281
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutexvar_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_abs_epi8(__m256i __a)
Definition: avx2intrin.h:27
#define _mm256_mask_cmpneq_epi8_mask(k, A, B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtusepi16_epi8(__m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_cvtepi8_epi16(__m128i __V)
Definition: avx2intrin.h:332
static __inline__ __mmask16 __DEFAULT_FN_ATTRS128 _mm_movepi8_mask(__m128i __A)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_cvtusepi16_storeu_epi8(void *__P, __mmask8 __M, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_movepi8_mask(__m256i __A)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_srai_epi16(__mmask8 __U, __m128i __A, int __B)
static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_storeu_epi16(void *__P, __mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sub_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_sra_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_abs_epi8(__mmask32 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_max_epu16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:278
unsigned short __mmask16
Definition: avx512fintrin.h:38
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_cvtusepi16_epi8(__m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_adds_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:93
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_srlv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_adds_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:99
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_movm_epi16(__mmask8 __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_unpackhi_epi8(__m256i __a, __m256i __b)
Definition: avx2intrin.h:653
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_srav_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_subs_epu16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:647
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_maskz_cvtusepi16_epi8(__mmask16 __M, __m256i __A)
#define _mm256_cmpneq_epi8_mask(A, B)
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
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_blend_epi16(__mmask16 __U, __m256i __A, __m256i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd_epi16(__mmask8 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_blend_epi8(__mmask32 __U, __m256i __A, __m256i __W)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maddubs_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:242
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_permutexvar_epi16(__mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __mmask32 __DEFAULT_FN_ATTRS256 _mm256_mask_testn_epi8_mask(__mmask32 __U, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_srl_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu8(__m128i __a, __m128i __b)
Computes the rounded avarages of corresponding elements of two 128-bit unsigned [16 x i8] vectors...
Definition: emmintrin.h:2306
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_packus_epi32(__m256i __V1, __m256i __V2)
Definition: avx2intrin.h:63
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_broadcastb_epi8(__m256i __O, __mmask32 __M, __m128i __A)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_mulhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
static __inline __m256i __DEFAULT_FN_ATTRS256 _mm256_loadu_epi16(void const *__P)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_abs_epi16(__m128i __W, __mmask8 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_set1_epi16(__m256i __O, __mmask16 __M, short __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_mov_epi8(__mmask16 __U, __m128i __A)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_mov_epi8(__m256i __W, __mmask32 __U, __m256i __A)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline void __DEFAULT_FN_ATTRS256 _mm256_storeu_epi16(void *__P, __m256i __A)
#define _mm_mask_cmpneq_epi8_mask(k, A, B)
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
static __inline__ __m128i __DEFAULT_FN_ATTRS256 _mm256_mask_cvtsepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A)
#define _mm_cmpneq_epi8_mask(A, B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_cvtepu8_epi16(__m128i __V)
Definition: avx2intrin.h:374
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_slli_epi16(__mmask16 __U, __m256i __A, int __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutex2var_epi16(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B)
static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_sub_epi16(__mmask8 __U, __m128i __A, __m128i __B)
static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_min_epi16(__m256i __a, __m256i __b)
Definition: avx2intrin.h:296