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