xref: /aosp_15_r20/prebuilts/sdk/renderscript/clang-include/avx512vlbwintrin.h (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1*344a7f5eSAndroid Build Coastguard Worker /*===---- avx512vlbwintrin.h - AVX512VL and AVX512BW intrinsics ------------===
2*344a7f5eSAndroid Build Coastguard Worker  *
3*344a7f5eSAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a copy
4*344a7f5eSAndroid Build Coastguard Worker  * of this software and associated documentation files (the "Software"), to deal
5*344a7f5eSAndroid Build Coastguard Worker  * in the Software without restriction, including without limitation the rights
6*344a7f5eSAndroid Build Coastguard Worker  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7*344a7f5eSAndroid Build Coastguard Worker  * copies of the Software, and to permit persons to whom the Software is
8*344a7f5eSAndroid Build Coastguard Worker  * furnished to do so, subject to the following conditions:
9*344a7f5eSAndroid Build Coastguard Worker  *
10*344a7f5eSAndroid Build Coastguard Worker  * The above copyright notice and this permission notice shall be included in
11*344a7f5eSAndroid Build Coastguard Worker  * all copies or substantial portions of the Software.
12*344a7f5eSAndroid Build Coastguard Worker  *
13*344a7f5eSAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14*344a7f5eSAndroid Build Coastguard Worker  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15*344a7f5eSAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16*344a7f5eSAndroid Build Coastguard Worker  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17*344a7f5eSAndroid Build Coastguard Worker  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18*344a7f5eSAndroid Build Coastguard Worker  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19*344a7f5eSAndroid Build Coastguard Worker  * THE SOFTWARE.
20*344a7f5eSAndroid Build Coastguard Worker  *
21*344a7f5eSAndroid Build Coastguard Worker  *===-----------------------------------------------------------------------===
22*344a7f5eSAndroid Build Coastguard Worker  */
23*344a7f5eSAndroid Build Coastguard Worker 
24*344a7f5eSAndroid Build Coastguard Worker #ifndef __IMMINTRIN_H
25*344a7f5eSAndroid Build Coastguard Worker #error "Never use <avx512vlbwintrin.h> directly; include <immintrin.h> instead."
26*344a7f5eSAndroid Build Coastguard Worker #endif
27*344a7f5eSAndroid Build Coastguard Worker 
28*344a7f5eSAndroid Build Coastguard Worker #ifndef __AVX512VLBWINTRIN_H
29*344a7f5eSAndroid Build Coastguard Worker #define __AVX512VLBWINTRIN_H
30*344a7f5eSAndroid Build Coastguard Worker 
31*344a7f5eSAndroid Build Coastguard Worker /* Define the default attributes for the functions in this file. */
32*344a7f5eSAndroid Build Coastguard Worker #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512bw")))
33*344a7f5eSAndroid Build Coastguard Worker 
34*344a7f5eSAndroid Build Coastguard Worker static  __inline __m128i __DEFAULT_FN_ATTRS
_mm_setzero_hi(void)35*344a7f5eSAndroid Build Coastguard Worker _mm_setzero_hi(void){
36*344a7f5eSAndroid Build Coastguard Worker     return (__m128i)(__v8hi){ 0, 0, 0, 0, 0, 0, 0, 0 };
37*344a7f5eSAndroid Build Coastguard Worker }
38*344a7f5eSAndroid Build Coastguard Worker 
39*344a7f5eSAndroid Build Coastguard Worker /* Integer compare */
40*344a7f5eSAndroid Build Coastguard Worker 
41*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpeq_epi8_mask(__m128i __a,__m128i __b)42*344a7f5eSAndroid Build Coastguard Worker _mm_cmpeq_epi8_mask(__m128i __a, __m128i __b) {
43*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
44*344a7f5eSAndroid Build Coastguard Worker                                                    (__mmask16)-1);
45*344a7f5eSAndroid Build Coastguard Worker }
46*344a7f5eSAndroid Build Coastguard Worker 
47*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpeq_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)48*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpeq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
49*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
50*344a7f5eSAndroid Build Coastguard Worker                                                    __u);
51*344a7f5eSAndroid Build Coastguard Worker }
52*344a7f5eSAndroid Build Coastguard Worker 
53*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpeq_epu8_mask(__m128i __a,__m128i __b)54*344a7f5eSAndroid Build Coastguard Worker _mm_cmpeq_epu8_mask(__m128i __a, __m128i __b) {
55*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
56*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
57*344a7f5eSAndroid Build Coastguard Worker }
58*344a7f5eSAndroid Build Coastguard Worker 
59*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpeq_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)60*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpeq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
61*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
62*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
63*344a7f5eSAndroid Build Coastguard Worker }
64*344a7f5eSAndroid Build Coastguard Worker 
65*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpeq_epi8_mask(__m256i __a,__m256i __b)66*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpeq_epi8_mask(__m256i __a, __m256i __b) {
67*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
68*344a7f5eSAndroid Build Coastguard Worker                                                    (__mmask32)-1);
69*344a7f5eSAndroid Build Coastguard Worker }
70*344a7f5eSAndroid Build Coastguard Worker 
71*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpeq_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)72*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpeq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
73*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
74*344a7f5eSAndroid Build Coastguard Worker                                                    __u);
75*344a7f5eSAndroid Build Coastguard Worker }
76*344a7f5eSAndroid Build Coastguard Worker 
77*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpeq_epu8_mask(__m256i __a,__m256i __b)78*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpeq_epu8_mask(__m256i __a, __m256i __b) {
79*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
80*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask32)-1);
81*344a7f5eSAndroid Build Coastguard Worker }
82*344a7f5eSAndroid Build Coastguard Worker 
83*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpeq_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)84*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpeq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
85*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
86*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
87*344a7f5eSAndroid Build Coastguard Worker }
88*344a7f5eSAndroid Build Coastguard Worker 
89*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpeq_epi16_mask(__m128i __a,__m128i __b)90*344a7f5eSAndroid Build Coastguard Worker _mm_cmpeq_epi16_mask(__m128i __a, __m128i __b) {
91*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
92*344a7f5eSAndroid Build Coastguard Worker                                                   (__mmask8)-1);
93*344a7f5eSAndroid Build Coastguard Worker }
94*344a7f5eSAndroid Build Coastguard Worker 
95*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpeq_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)96*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpeq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
97*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
98*344a7f5eSAndroid Build Coastguard Worker                                                   __u);
99*344a7f5eSAndroid Build Coastguard Worker }
100*344a7f5eSAndroid Build Coastguard Worker 
101*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpeq_epu16_mask(__m128i __a,__m128i __b)102*344a7f5eSAndroid Build Coastguard Worker _mm_cmpeq_epu16_mask(__m128i __a, __m128i __b) {
103*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
104*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1);
105*344a7f5eSAndroid Build Coastguard Worker }
106*344a7f5eSAndroid Build Coastguard Worker 
107*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpeq_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)108*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpeq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
109*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
110*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
111*344a7f5eSAndroid Build Coastguard Worker }
112*344a7f5eSAndroid Build Coastguard Worker 
113*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpeq_epi16_mask(__m256i __a,__m256i __b)114*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpeq_epi16_mask(__m256i __a, __m256i __b) {
115*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
116*344a7f5eSAndroid Build Coastguard Worker                                                    (__mmask16)-1);
117*344a7f5eSAndroid Build Coastguard Worker }
118*344a7f5eSAndroid Build Coastguard Worker 
119*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpeq_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)120*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpeq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
121*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
122*344a7f5eSAndroid Build Coastguard Worker                                                    __u);
123*344a7f5eSAndroid Build Coastguard Worker }
124*344a7f5eSAndroid Build Coastguard Worker 
125*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpeq_epu16_mask(__m256i __a,__m256i __b)126*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpeq_epu16_mask(__m256i __a, __m256i __b) {
127*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
128*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
129*344a7f5eSAndroid Build Coastguard Worker }
130*344a7f5eSAndroid Build Coastguard Worker 
131*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpeq_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)132*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpeq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
133*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
134*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
135*344a7f5eSAndroid Build Coastguard Worker }
136*344a7f5eSAndroid Build Coastguard Worker 
137*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpge_epi8_mask(__m128i __a,__m128i __b)138*344a7f5eSAndroid Build Coastguard Worker _mm_cmpge_epi8_mask(__m128i __a, __m128i __b) {
139*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
140*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
141*344a7f5eSAndroid Build Coastguard Worker }
142*344a7f5eSAndroid Build Coastguard Worker 
143*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpge_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)144*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpge_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
145*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
146*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
147*344a7f5eSAndroid Build Coastguard Worker }
148*344a7f5eSAndroid Build Coastguard Worker 
149*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpge_epu8_mask(__m128i __a,__m128i __b)150*344a7f5eSAndroid Build Coastguard Worker _mm_cmpge_epu8_mask(__m128i __a, __m128i __b) {
151*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
152*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
153*344a7f5eSAndroid Build Coastguard Worker }
154*344a7f5eSAndroid Build Coastguard Worker 
155*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpge_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)156*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpge_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
157*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
158*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
159*344a7f5eSAndroid Build Coastguard Worker }
160*344a7f5eSAndroid Build Coastguard Worker 
161*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpge_epi8_mask(__m256i __a,__m256i __b)162*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpge_epi8_mask(__m256i __a, __m256i __b) {
163*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
164*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask32)-1);
165*344a7f5eSAndroid Build Coastguard Worker }
166*344a7f5eSAndroid Build Coastguard Worker 
167*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpge_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)168*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpge_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
169*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
170*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
171*344a7f5eSAndroid Build Coastguard Worker }
172*344a7f5eSAndroid Build Coastguard Worker 
173*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpge_epu8_mask(__m256i __a,__m256i __b)174*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpge_epu8_mask(__m256i __a, __m256i __b) {
175*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
176*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask32)-1);
177*344a7f5eSAndroid Build Coastguard Worker }
178*344a7f5eSAndroid Build Coastguard Worker 
179*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpge_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)180*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpge_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
181*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
182*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
183*344a7f5eSAndroid Build Coastguard Worker }
184*344a7f5eSAndroid Build Coastguard Worker 
185*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpge_epi16_mask(__m128i __a,__m128i __b)186*344a7f5eSAndroid Build Coastguard Worker _mm_cmpge_epi16_mask(__m128i __a, __m128i __b) {
187*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
188*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)-1);
189*344a7f5eSAndroid Build Coastguard Worker }
190*344a7f5eSAndroid Build Coastguard Worker 
191*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpge_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)192*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpge_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
193*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
194*344a7f5eSAndroid Build Coastguard Worker                                                __u);
195*344a7f5eSAndroid Build Coastguard Worker }
196*344a7f5eSAndroid Build Coastguard Worker 
197*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpge_epu16_mask(__m128i __a,__m128i __b)198*344a7f5eSAndroid Build Coastguard Worker _mm_cmpge_epu16_mask(__m128i __a, __m128i __b) {
199*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
200*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1);
201*344a7f5eSAndroid Build Coastguard Worker }
202*344a7f5eSAndroid Build Coastguard Worker 
203*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpge_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)204*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpge_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
205*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
206*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
207*344a7f5eSAndroid Build Coastguard Worker }
208*344a7f5eSAndroid Build Coastguard Worker 
209*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpge_epi16_mask(__m256i __a,__m256i __b)210*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpge_epi16_mask(__m256i __a, __m256i __b) {
211*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
212*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
213*344a7f5eSAndroid Build Coastguard Worker }
214*344a7f5eSAndroid Build Coastguard Worker 
215*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpge_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)216*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpge_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
217*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
218*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
219*344a7f5eSAndroid Build Coastguard Worker }
220*344a7f5eSAndroid Build Coastguard Worker 
221*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpge_epu16_mask(__m256i __a,__m256i __b)222*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpge_epu16_mask(__m256i __a, __m256i __b) {
223*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
224*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
225*344a7f5eSAndroid Build Coastguard Worker }
226*344a7f5eSAndroid Build Coastguard Worker 
227*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpge_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)228*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpge_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
229*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
230*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
231*344a7f5eSAndroid Build Coastguard Worker }
232*344a7f5eSAndroid Build Coastguard Worker 
233*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpgt_epi8_mask(__m128i __a,__m128i __b)234*344a7f5eSAndroid Build Coastguard Worker _mm_cmpgt_epi8_mask(__m128i __a, __m128i __b) {
235*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
236*344a7f5eSAndroid Build Coastguard Worker                                                    (__mmask16)-1);
237*344a7f5eSAndroid Build Coastguard Worker }
238*344a7f5eSAndroid Build Coastguard Worker 
239*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpgt_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)240*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpgt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
241*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
242*344a7f5eSAndroid Build Coastguard Worker                                                    __u);
243*344a7f5eSAndroid Build Coastguard Worker }
244*344a7f5eSAndroid Build Coastguard Worker 
245*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpgt_epu8_mask(__m128i __a,__m128i __b)246*344a7f5eSAndroid Build Coastguard Worker _mm_cmpgt_epu8_mask(__m128i __a, __m128i __b) {
247*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
248*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
249*344a7f5eSAndroid Build Coastguard Worker }
250*344a7f5eSAndroid Build Coastguard Worker 
251*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpgt_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)252*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpgt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
253*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
254*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
255*344a7f5eSAndroid Build Coastguard Worker }
256*344a7f5eSAndroid Build Coastguard Worker 
257*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpgt_epi8_mask(__m256i __a,__m256i __b)258*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpgt_epi8_mask(__m256i __a, __m256i __b) {
259*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
260*344a7f5eSAndroid Build Coastguard Worker                                                    (__mmask32)-1);
261*344a7f5eSAndroid Build Coastguard Worker }
262*344a7f5eSAndroid Build Coastguard Worker 
263*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpgt_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)264*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpgt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
265*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
266*344a7f5eSAndroid Build Coastguard Worker                                                    __u);
267*344a7f5eSAndroid Build Coastguard Worker }
268*344a7f5eSAndroid Build Coastguard Worker 
269*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpgt_epu8_mask(__m256i __a,__m256i __b)270*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpgt_epu8_mask(__m256i __a, __m256i __b) {
271*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
272*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask32)-1);
273*344a7f5eSAndroid Build Coastguard Worker }
274*344a7f5eSAndroid Build Coastguard Worker 
275*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpgt_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)276*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpgt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
277*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
278*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
279*344a7f5eSAndroid Build Coastguard Worker }
280*344a7f5eSAndroid Build Coastguard Worker 
281*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpgt_epi16_mask(__m128i __a,__m128i __b)282*344a7f5eSAndroid Build Coastguard Worker _mm_cmpgt_epi16_mask(__m128i __a, __m128i __b) {
283*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
284*344a7f5eSAndroid Build Coastguard Worker                                                   (__mmask8)-1);
285*344a7f5eSAndroid Build Coastguard Worker }
286*344a7f5eSAndroid Build Coastguard Worker 
287*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpgt_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)288*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpgt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
289*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
290*344a7f5eSAndroid Build Coastguard Worker                                                   __u);
291*344a7f5eSAndroid Build Coastguard Worker }
292*344a7f5eSAndroid Build Coastguard Worker 
293*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpgt_epu16_mask(__m128i __a,__m128i __b)294*344a7f5eSAndroid Build Coastguard Worker _mm_cmpgt_epu16_mask(__m128i __a, __m128i __b) {
295*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
296*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1);
297*344a7f5eSAndroid Build Coastguard Worker }
298*344a7f5eSAndroid Build Coastguard Worker 
299*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpgt_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)300*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpgt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
301*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
302*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
303*344a7f5eSAndroid Build Coastguard Worker }
304*344a7f5eSAndroid Build Coastguard Worker 
305*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpgt_epi16_mask(__m256i __a,__m256i __b)306*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpgt_epi16_mask(__m256i __a, __m256i __b) {
307*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
308*344a7f5eSAndroid Build Coastguard Worker                                                    (__mmask16)-1);
309*344a7f5eSAndroid Build Coastguard Worker }
310*344a7f5eSAndroid Build Coastguard Worker 
311*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpgt_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)312*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpgt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
313*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
314*344a7f5eSAndroid Build Coastguard Worker                                                    __u);
315*344a7f5eSAndroid Build Coastguard Worker }
316*344a7f5eSAndroid Build Coastguard Worker 
317*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpgt_epu16_mask(__m256i __a,__m256i __b)318*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpgt_epu16_mask(__m256i __a, __m256i __b) {
319*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
320*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
321*344a7f5eSAndroid Build Coastguard Worker }
322*344a7f5eSAndroid Build Coastguard Worker 
323*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpgt_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)324*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpgt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
325*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
326*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
327*344a7f5eSAndroid Build Coastguard Worker }
328*344a7f5eSAndroid Build Coastguard Worker 
329*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmple_epi8_mask(__m128i __a,__m128i __b)330*344a7f5eSAndroid Build Coastguard Worker _mm_cmple_epi8_mask(__m128i __a, __m128i __b) {
331*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
332*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
333*344a7f5eSAndroid Build Coastguard Worker }
334*344a7f5eSAndroid Build Coastguard Worker 
335*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmple_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)336*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmple_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
337*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
338*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
339*344a7f5eSAndroid Build Coastguard Worker }
340*344a7f5eSAndroid Build Coastguard Worker 
341*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmple_epu8_mask(__m128i __a,__m128i __b)342*344a7f5eSAndroid Build Coastguard Worker _mm_cmple_epu8_mask(__m128i __a, __m128i __b) {
343*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
344*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
345*344a7f5eSAndroid Build Coastguard Worker }
346*344a7f5eSAndroid Build Coastguard Worker 
347*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmple_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)348*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmple_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
349*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
350*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
351*344a7f5eSAndroid Build Coastguard Worker }
352*344a7f5eSAndroid Build Coastguard Worker 
353*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmple_epi8_mask(__m256i __a,__m256i __b)354*344a7f5eSAndroid Build Coastguard Worker _mm256_cmple_epi8_mask(__m256i __a, __m256i __b) {
355*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
356*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask32)-1);
357*344a7f5eSAndroid Build Coastguard Worker }
358*344a7f5eSAndroid Build Coastguard Worker 
359*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmple_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)360*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmple_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
361*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
362*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
363*344a7f5eSAndroid Build Coastguard Worker }
364*344a7f5eSAndroid Build Coastguard Worker 
365*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmple_epu8_mask(__m256i __a,__m256i __b)366*344a7f5eSAndroid Build Coastguard Worker _mm256_cmple_epu8_mask(__m256i __a, __m256i __b) {
367*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
368*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask32)-1);
369*344a7f5eSAndroid Build Coastguard Worker }
370*344a7f5eSAndroid Build Coastguard Worker 
371*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmple_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)372*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmple_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
373*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
374*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
375*344a7f5eSAndroid Build Coastguard Worker }
376*344a7f5eSAndroid Build Coastguard Worker 
377*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmple_epi16_mask(__m128i __a,__m128i __b)378*344a7f5eSAndroid Build Coastguard Worker _mm_cmple_epi16_mask(__m128i __a, __m128i __b) {
379*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
380*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)-1);
381*344a7f5eSAndroid Build Coastguard Worker }
382*344a7f5eSAndroid Build Coastguard Worker 
383*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmple_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)384*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmple_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
385*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
386*344a7f5eSAndroid Build Coastguard Worker                                                __u);
387*344a7f5eSAndroid Build Coastguard Worker }
388*344a7f5eSAndroid Build Coastguard Worker 
389*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmple_epu16_mask(__m128i __a,__m128i __b)390*344a7f5eSAndroid Build Coastguard Worker _mm_cmple_epu16_mask(__m128i __a, __m128i __b) {
391*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
392*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1);
393*344a7f5eSAndroid Build Coastguard Worker }
394*344a7f5eSAndroid Build Coastguard Worker 
395*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmple_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)396*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmple_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
397*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
398*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
399*344a7f5eSAndroid Build Coastguard Worker }
400*344a7f5eSAndroid Build Coastguard Worker 
401*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmple_epi16_mask(__m256i __a,__m256i __b)402*344a7f5eSAndroid Build Coastguard Worker _mm256_cmple_epi16_mask(__m256i __a, __m256i __b) {
403*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
404*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
405*344a7f5eSAndroid Build Coastguard Worker }
406*344a7f5eSAndroid Build Coastguard Worker 
407*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmple_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)408*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmple_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
409*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
410*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
411*344a7f5eSAndroid Build Coastguard Worker }
412*344a7f5eSAndroid Build Coastguard Worker 
413*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmple_epu16_mask(__m256i __a,__m256i __b)414*344a7f5eSAndroid Build Coastguard Worker _mm256_cmple_epu16_mask(__m256i __a, __m256i __b) {
415*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
416*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
417*344a7f5eSAndroid Build Coastguard Worker }
418*344a7f5eSAndroid Build Coastguard Worker 
419*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmple_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)420*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmple_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
421*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
422*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
423*344a7f5eSAndroid Build Coastguard Worker }
424*344a7f5eSAndroid Build Coastguard Worker 
425*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmplt_epi8_mask(__m128i __a,__m128i __b)426*344a7f5eSAndroid Build Coastguard Worker _mm_cmplt_epi8_mask(__m128i __a, __m128i __b) {
427*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
428*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
429*344a7f5eSAndroid Build Coastguard Worker }
430*344a7f5eSAndroid Build Coastguard Worker 
431*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmplt_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)432*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmplt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
433*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
434*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
435*344a7f5eSAndroid Build Coastguard Worker }
436*344a7f5eSAndroid Build Coastguard Worker 
437*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmplt_epu8_mask(__m128i __a,__m128i __b)438*344a7f5eSAndroid Build Coastguard Worker _mm_cmplt_epu8_mask(__m128i __a, __m128i __b) {
439*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
440*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
441*344a7f5eSAndroid Build Coastguard Worker }
442*344a7f5eSAndroid Build Coastguard Worker 
443*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmplt_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)444*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmplt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
445*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
446*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
447*344a7f5eSAndroid Build Coastguard Worker }
448*344a7f5eSAndroid Build Coastguard Worker 
449*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmplt_epi8_mask(__m256i __a,__m256i __b)450*344a7f5eSAndroid Build Coastguard Worker _mm256_cmplt_epi8_mask(__m256i __a, __m256i __b) {
451*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
452*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask32)-1);
453*344a7f5eSAndroid Build Coastguard Worker }
454*344a7f5eSAndroid Build Coastguard Worker 
455*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmplt_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)456*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmplt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
457*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
458*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
459*344a7f5eSAndroid Build Coastguard Worker }
460*344a7f5eSAndroid Build Coastguard Worker 
461*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmplt_epu8_mask(__m256i __a,__m256i __b)462*344a7f5eSAndroid Build Coastguard Worker _mm256_cmplt_epu8_mask(__m256i __a, __m256i __b) {
463*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
464*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask32)-1);
465*344a7f5eSAndroid Build Coastguard Worker }
466*344a7f5eSAndroid Build Coastguard Worker 
467*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmplt_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)468*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmplt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
469*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
470*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
471*344a7f5eSAndroid Build Coastguard Worker }
472*344a7f5eSAndroid Build Coastguard Worker 
473*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmplt_epi16_mask(__m128i __a,__m128i __b)474*344a7f5eSAndroid Build Coastguard Worker _mm_cmplt_epi16_mask(__m128i __a, __m128i __b) {
475*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
476*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)-1);
477*344a7f5eSAndroid Build Coastguard Worker }
478*344a7f5eSAndroid Build Coastguard Worker 
479*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmplt_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)480*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmplt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
481*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
482*344a7f5eSAndroid Build Coastguard Worker                                                __u);
483*344a7f5eSAndroid Build Coastguard Worker }
484*344a7f5eSAndroid Build Coastguard Worker 
485*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmplt_epu16_mask(__m128i __a,__m128i __b)486*344a7f5eSAndroid Build Coastguard Worker _mm_cmplt_epu16_mask(__m128i __a, __m128i __b) {
487*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
488*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1);
489*344a7f5eSAndroid Build Coastguard Worker }
490*344a7f5eSAndroid Build Coastguard Worker 
491*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmplt_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)492*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmplt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
493*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
494*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
495*344a7f5eSAndroid Build Coastguard Worker }
496*344a7f5eSAndroid Build Coastguard Worker 
497*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmplt_epi16_mask(__m256i __a,__m256i __b)498*344a7f5eSAndroid Build Coastguard Worker _mm256_cmplt_epi16_mask(__m256i __a, __m256i __b) {
499*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
500*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
501*344a7f5eSAndroid Build Coastguard Worker }
502*344a7f5eSAndroid Build Coastguard Worker 
503*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmplt_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)504*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmplt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
505*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
506*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
507*344a7f5eSAndroid Build Coastguard Worker }
508*344a7f5eSAndroid Build Coastguard Worker 
509*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmplt_epu16_mask(__m256i __a,__m256i __b)510*344a7f5eSAndroid Build Coastguard Worker _mm256_cmplt_epu16_mask(__m256i __a, __m256i __b) {
511*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
512*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
513*344a7f5eSAndroid Build Coastguard Worker }
514*344a7f5eSAndroid Build Coastguard Worker 
515*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmplt_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)516*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmplt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
517*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
518*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
519*344a7f5eSAndroid Build Coastguard Worker }
520*344a7f5eSAndroid Build Coastguard Worker 
521*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpneq_epi8_mask(__m128i __a,__m128i __b)522*344a7f5eSAndroid Build Coastguard Worker _mm_cmpneq_epi8_mask(__m128i __a, __m128i __b) {
523*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
524*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
525*344a7f5eSAndroid Build Coastguard Worker }
526*344a7f5eSAndroid Build Coastguard Worker 
527*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpneq_epi8_mask(__mmask16 __u,__m128i __a,__m128i __b)528*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpneq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
529*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
530*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
531*344a7f5eSAndroid Build Coastguard Worker }
532*344a7f5eSAndroid Build Coastguard Worker 
533*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_cmpneq_epu8_mask(__m128i __a,__m128i __b)534*344a7f5eSAndroid Build Coastguard Worker _mm_cmpneq_epu8_mask(__m128i __a, __m128i __b) {
535*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
536*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
537*344a7f5eSAndroid Build Coastguard Worker }
538*344a7f5eSAndroid Build Coastguard Worker 
539*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_cmpneq_epu8_mask(__mmask16 __u,__m128i __a,__m128i __b)540*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpneq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
541*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
542*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
543*344a7f5eSAndroid Build Coastguard Worker }
544*344a7f5eSAndroid Build Coastguard Worker 
545*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpneq_epi8_mask(__m256i __a,__m256i __b)546*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpneq_epi8_mask(__m256i __a, __m256i __b) {
547*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
548*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask32)-1);
549*344a7f5eSAndroid Build Coastguard Worker }
550*344a7f5eSAndroid Build Coastguard Worker 
551*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpneq_epi8_mask(__mmask32 __u,__m256i __a,__m256i __b)552*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpneq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
553*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
554*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
555*344a7f5eSAndroid Build Coastguard Worker }
556*344a7f5eSAndroid Build Coastguard Worker 
557*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_cmpneq_epu8_mask(__m256i __a,__m256i __b)558*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpneq_epu8_mask(__m256i __a, __m256i __b) {
559*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
560*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask32)-1);
561*344a7f5eSAndroid Build Coastguard Worker }
562*344a7f5eSAndroid Build Coastguard Worker 
563*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_cmpneq_epu8_mask(__mmask32 __u,__m256i __a,__m256i __b)564*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpneq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
565*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
566*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
567*344a7f5eSAndroid Build Coastguard Worker }
568*344a7f5eSAndroid Build Coastguard Worker 
569*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpneq_epi16_mask(__m128i __a,__m128i __b)570*344a7f5eSAndroid Build Coastguard Worker _mm_cmpneq_epi16_mask(__m128i __a, __m128i __b) {
571*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
572*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)-1);
573*344a7f5eSAndroid Build Coastguard Worker }
574*344a7f5eSAndroid Build Coastguard Worker 
575*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpneq_epi16_mask(__mmask8 __u,__m128i __a,__m128i __b)576*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpneq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
577*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
578*344a7f5eSAndroid Build Coastguard Worker                                                __u);
579*344a7f5eSAndroid Build Coastguard Worker }
580*344a7f5eSAndroid Build Coastguard Worker 
581*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_cmpneq_epu16_mask(__m128i __a,__m128i __b)582*344a7f5eSAndroid Build Coastguard Worker _mm_cmpneq_epu16_mask(__m128i __a, __m128i __b) {
583*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
584*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1);
585*344a7f5eSAndroid Build Coastguard Worker }
586*344a7f5eSAndroid Build Coastguard Worker 
587*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_cmpneq_epu16_mask(__mmask8 __u,__m128i __a,__m128i __b)588*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cmpneq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
589*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
590*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
591*344a7f5eSAndroid Build Coastguard Worker }
592*344a7f5eSAndroid Build Coastguard Worker 
593*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpneq_epi16_mask(__m256i __a,__m256i __b)594*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpneq_epi16_mask(__m256i __a, __m256i __b) {
595*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
596*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask16)-1);
597*344a7f5eSAndroid Build Coastguard Worker }
598*344a7f5eSAndroid Build Coastguard Worker 
599*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpneq_epi16_mask(__mmask16 __u,__m256i __a,__m256i __b)600*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpneq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
601*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
602*344a7f5eSAndroid Build Coastguard Worker                                                 __u);
603*344a7f5eSAndroid Build Coastguard Worker }
604*344a7f5eSAndroid Build Coastguard Worker 
605*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_cmpneq_epu16_mask(__m256i __a,__m256i __b)606*344a7f5eSAndroid Build Coastguard Worker _mm256_cmpneq_epu16_mask(__m256i __a, __m256i __b) {
607*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
608*344a7f5eSAndroid Build Coastguard Worker                                                  (__mmask16)-1);
609*344a7f5eSAndroid Build Coastguard Worker }
610*344a7f5eSAndroid Build Coastguard Worker 
611*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_cmpneq_epu16_mask(__mmask16 __u,__m256i __a,__m256i __b)612*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cmpneq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
613*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
614*344a7f5eSAndroid Build Coastguard Worker                                                  __u);
615*344a7f5eSAndroid Build Coastguard Worker }
616*344a7f5eSAndroid Build Coastguard Worker 
617*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_add_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)618*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_add_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B){
619*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
620*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __B,
621*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __W,
622*344a7f5eSAndroid Build Coastguard Worker              (__mmask32) __U);
623*344a7f5eSAndroid Build Coastguard Worker }
624*344a7f5eSAndroid Build Coastguard Worker 
625*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_add_epi8(__mmask32 __U,__m256i __A,__m256i __B)626*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_add_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
627*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
628*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __B,
629*344a7f5eSAndroid Build Coastguard Worker              (__v32qi)
630*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_si256 (),
631*344a7f5eSAndroid Build Coastguard Worker              (__mmask32) __U);
632*344a7f5eSAndroid Build Coastguard Worker }
633*344a7f5eSAndroid Build Coastguard Worker 
634*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_add_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)635*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_add_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
636*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
637*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __B,
638*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __W,
639*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
640*344a7f5eSAndroid Build Coastguard Worker }
641*344a7f5eSAndroid Build Coastguard Worker 
642*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_add_epi16(__mmask16 __U,__m256i __A,__m256i __B)643*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_add_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
644*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
645*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __B,
646*344a7f5eSAndroid Build Coastguard Worker              (__v16hi)
647*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_si256 (),
648*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
649*344a7f5eSAndroid Build Coastguard Worker }
650*344a7f5eSAndroid Build Coastguard Worker 
651*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_sub_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)652*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_sub_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
653*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
654*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __B,
655*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __W,
656*344a7f5eSAndroid Build Coastguard Worker              (__mmask32) __U);
657*344a7f5eSAndroid Build Coastguard Worker }
658*344a7f5eSAndroid Build Coastguard Worker 
659*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_sub_epi8(__mmask32 __U,__m256i __A,__m256i __B)660*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_sub_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
661*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
662*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __B,
663*344a7f5eSAndroid Build Coastguard Worker              (__v32qi)
664*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_si256 (),
665*344a7f5eSAndroid Build Coastguard Worker              (__mmask32) __U);
666*344a7f5eSAndroid Build Coastguard Worker }
667*344a7f5eSAndroid Build Coastguard Worker 
668*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_sub_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)669*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_sub_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
670*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
671*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __B,
672*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __W,
673*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
674*344a7f5eSAndroid Build Coastguard Worker }
675*344a7f5eSAndroid Build Coastguard Worker 
676*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_sub_epi16(__mmask16 __U,__m256i __A,__m256i __B)677*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_sub_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
678*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
679*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __B,
680*344a7f5eSAndroid Build Coastguard Worker              (__v16hi)
681*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_si256 (),
682*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
683*344a7f5eSAndroid Build Coastguard Worker }
684*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_add_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)685*344a7f5eSAndroid Build Coastguard Worker _mm_mask_add_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
686*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
687*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __B,
688*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __W,
689*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
690*344a7f5eSAndroid Build Coastguard Worker }
691*344a7f5eSAndroid Build Coastguard Worker 
692*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_add_epi8(__mmask16 __U,__m128i __A,__m128i __B)693*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_add_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
694*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
695*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __B,
696*344a7f5eSAndroid Build Coastguard Worker              (__v16qi)
697*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
698*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
699*344a7f5eSAndroid Build Coastguard Worker }
700*344a7f5eSAndroid Build Coastguard Worker 
701*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_add_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)702*344a7f5eSAndroid Build Coastguard Worker _mm_mask_add_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
703*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
704*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
705*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
706*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
707*344a7f5eSAndroid Build Coastguard Worker }
708*344a7f5eSAndroid Build Coastguard Worker 
709*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_add_epi16(__mmask8 __U,__m128i __A,__m128i __B)710*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_add_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
711*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
712*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
713*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
714*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
715*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
716*344a7f5eSAndroid Build Coastguard Worker }
717*344a7f5eSAndroid Build Coastguard Worker 
718*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_sub_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)719*344a7f5eSAndroid Build Coastguard Worker _mm_mask_sub_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
720*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
721*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __B,
722*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __W,
723*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
724*344a7f5eSAndroid Build Coastguard Worker }
725*344a7f5eSAndroid Build Coastguard Worker 
726*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_sub_epi8(__mmask16 __U,__m128i __A,__m128i __B)727*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_sub_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
728*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
729*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __B,
730*344a7f5eSAndroid Build Coastguard Worker              (__v16qi)
731*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
732*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
733*344a7f5eSAndroid Build Coastguard Worker }
734*344a7f5eSAndroid Build Coastguard Worker 
735*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_sub_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)736*344a7f5eSAndroid Build Coastguard Worker _mm_mask_sub_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
737*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
738*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
739*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
740*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
741*344a7f5eSAndroid Build Coastguard Worker }
742*344a7f5eSAndroid Build Coastguard Worker 
743*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_sub_epi16(__mmask8 __U,__m128i __A,__m128i __B)744*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
745*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
746*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
747*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
748*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
749*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
750*344a7f5eSAndroid Build Coastguard Worker }
751*344a7f5eSAndroid Build Coastguard Worker 
752*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_mullo_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)753*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_mullo_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
754*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
755*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
756*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __W,
757*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
758*344a7f5eSAndroid Build Coastguard Worker }
759*344a7f5eSAndroid Build Coastguard Worker 
760*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_mullo_epi16(__mmask16 __U,__m256i __A,__m256i __B)761*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_mullo_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
762*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
763*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
764*344a7f5eSAndroid Build Coastguard Worker               (__v16hi)
765*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
766*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
767*344a7f5eSAndroid Build Coastguard Worker }
768*344a7f5eSAndroid Build Coastguard Worker 
769*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_mullo_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)770*344a7f5eSAndroid Build Coastguard Worker _mm_mask_mullo_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
771*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
772*344a7f5eSAndroid Build Coastguard Worker               (__v8hi) __B,
773*344a7f5eSAndroid Build Coastguard Worker               (__v8hi) __W,
774*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
775*344a7f5eSAndroid Build Coastguard Worker }
776*344a7f5eSAndroid Build Coastguard Worker 
777*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_mullo_epi16(__mmask8 __U,__m128i __A,__m128i __B)778*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
779*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
780*344a7f5eSAndroid Build Coastguard Worker               (__v8hi) __B,
781*344a7f5eSAndroid Build Coastguard Worker               (__v8hi)
782*344a7f5eSAndroid Build Coastguard Worker               _mm_setzero_si128 (),
783*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
784*344a7f5eSAndroid Build Coastguard Worker }
785*344a7f5eSAndroid Build Coastguard Worker 
786*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_blend_epi8(__mmask16 __U,__m128i __A,__m128i __W)787*344a7f5eSAndroid Build Coastguard Worker _mm_mask_blend_epi8 (__mmask16 __U, __m128i __A, __m128i __W)
788*344a7f5eSAndroid Build Coastguard Worker {
789*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
790*344a7f5eSAndroid Build Coastguard Worker               (__v16qi) __W,
791*344a7f5eSAndroid Build Coastguard Worker               (__v16qi) __A);
792*344a7f5eSAndroid Build Coastguard Worker }
793*344a7f5eSAndroid Build Coastguard Worker 
794*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_blend_epi8(__mmask32 __U,__m256i __A,__m256i __W)795*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_blend_epi8 (__mmask32 __U, __m256i __A, __m256i __W)
796*344a7f5eSAndroid Build Coastguard Worker {
797*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
798*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
799*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __A);
800*344a7f5eSAndroid Build Coastguard Worker }
801*344a7f5eSAndroid Build Coastguard Worker 
802*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_blend_epi16(__mmask8 __U,__m128i __A,__m128i __W)803*344a7f5eSAndroid Build Coastguard Worker _mm_mask_blend_epi16 (__mmask8 __U, __m128i __A, __m128i __W)
804*344a7f5eSAndroid Build Coastguard Worker {
805*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
806*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
807*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __A);
808*344a7f5eSAndroid Build Coastguard Worker }
809*344a7f5eSAndroid Build Coastguard Worker 
810*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_blend_epi16(__mmask16 __U,__m256i __A,__m256i __W)811*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_blend_epi16 (__mmask16 __U, __m256i __A, __m256i __W)
812*344a7f5eSAndroid Build Coastguard Worker {
813*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
814*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
815*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __A);
816*344a7f5eSAndroid Build Coastguard Worker }
817*344a7f5eSAndroid Build Coastguard Worker 
818*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_abs_epi8(__m128i __W,__mmask16 __U,__m128i __A)819*344a7f5eSAndroid Build Coastguard Worker _mm_mask_abs_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
820*344a7f5eSAndroid Build Coastguard Worker {
821*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
822*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
823*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
824*344a7f5eSAndroid Build Coastguard Worker }
825*344a7f5eSAndroid Build Coastguard Worker 
826*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_abs_epi8(__mmask16 __U,__m128i __A)827*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_abs_epi8 (__mmask16 __U, __m128i __A)
828*344a7f5eSAndroid Build Coastguard Worker {
829*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
830*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
831*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
832*344a7f5eSAndroid Build Coastguard Worker }
833*344a7f5eSAndroid Build Coastguard Worker 
834*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_abs_epi8(__m256i __W,__mmask32 __U,__m256i __A)835*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_abs_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
836*344a7f5eSAndroid Build Coastguard Worker {
837*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
838*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
839*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
840*344a7f5eSAndroid Build Coastguard Worker }
841*344a7f5eSAndroid Build Coastguard Worker 
842*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_abs_epi8(__mmask32 __U,__m256i __A)843*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_abs_epi8 (__mmask32 __U, __m256i __A)
844*344a7f5eSAndroid Build Coastguard Worker {
845*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
846*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
847*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
848*344a7f5eSAndroid Build Coastguard Worker }
849*344a7f5eSAndroid Build Coastguard Worker 
850*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_abs_epi16(__m128i __W,__mmask8 __U,__m128i __A)851*344a7f5eSAndroid Build Coastguard Worker _mm_mask_abs_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
852*344a7f5eSAndroid Build Coastguard Worker {
853*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
854*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
855*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
856*344a7f5eSAndroid Build Coastguard Worker }
857*344a7f5eSAndroid Build Coastguard Worker 
858*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_abs_epi16(__mmask8 __U,__m128i __A)859*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_abs_epi16 (__mmask8 __U, __m128i __A)
860*344a7f5eSAndroid Build Coastguard Worker {
861*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
862*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
863*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
864*344a7f5eSAndroid Build Coastguard Worker }
865*344a7f5eSAndroid Build Coastguard Worker 
866*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_abs_epi16(__m256i __W,__mmask16 __U,__m256i __A)867*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_abs_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
868*344a7f5eSAndroid Build Coastguard Worker {
869*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
870*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
871*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
872*344a7f5eSAndroid Build Coastguard Worker }
873*344a7f5eSAndroid Build Coastguard Worker 
874*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_abs_epi16(__mmask16 __U,__m256i __A)875*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_abs_epi16 (__mmask16 __U, __m256i __A)
876*344a7f5eSAndroid Build Coastguard Worker {
877*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
878*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
879*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
880*344a7f5eSAndroid Build Coastguard Worker }
881*344a7f5eSAndroid Build Coastguard Worker 
882*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_packs_epi32(__mmask8 __M,__m128i __A,__m128i __B)883*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_packs_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
884*344a7f5eSAndroid Build Coastguard Worker {
885*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
886*344a7f5eSAndroid Build Coastguard Worker                (__v4si) __B,
887*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (), __M);
888*344a7f5eSAndroid Build Coastguard Worker }
889*344a7f5eSAndroid Build Coastguard Worker 
890*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_packs_epi32(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)891*344a7f5eSAndroid Build Coastguard Worker _mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
892*344a7f5eSAndroid Build Coastguard Worker           __m128i __B)
893*344a7f5eSAndroid Build Coastguard Worker {
894*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
895*344a7f5eSAndroid Build Coastguard Worker                (__v4si) __B,
896*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W, __M);
897*344a7f5eSAndroid Build Coastguard Worker }
898*344a7f5eSAndroid Build Coastguard Worker 
899*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_packs_epi32(__mmask16 __M,__m256i __A,__m256i __B)900*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_packs_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
901*344a7f5eSAndroid Build Coastguard Worker {
902*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
903*344a7f5eSAndroid Build Coastguard Worker                (__v8si) __B,
904*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
905*344a7f5eSAndroid Build Coastguard Worker                __M);
906*344a7f5eSAndroid Build Coastguard Worker }
907*344a7f5eSAndroid Build Coastguard Worker 
908*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_packs_epi32(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)909*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_packs_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
910*344a7f5eSAndroid Build Coastguard Worker        __m256i __B)
911*344a7f5eSAndroid Build Coastguard Worker {
912*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
913*344a7f5eSAndroid Build Coastguard Worker                (__v8si) __B,
914*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W, __M);
915*344a7f5eSAndroid Build Coastguard Worker }
916*344a7f5eSAndroid Build Coastguard Worker 
917*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_packs_epi16(__mmask16 __M,__m128i __A,__m128i __B)918*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_packs_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
919*344a7f5eSAndroid Build Coastguard Worker {
920*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
921*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
922*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
923*344a7f5eSAndroid Build Coastguard Worker                __M);
924*344a7f5eSAndroid Build Coastguard Worker }
925*344a7f5eSAndroid Build Coastguard Worker 
926*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_packs_epi16(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)927*344a7f5eSAndroid Build Coastguard Worker _mm_mask_packs_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
928*344a7f5eSAndroid Build Coastguard Worker           __m128i __B)
929*344a7f5eSAndroid Build Coastguard Worker {
930*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
931*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
932*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
933*344a7f5eSAndroid Build Coastguard Worker                __M);
934*344a7f5eSAndroid Build Coastguard Worker }
935*344a7f5eSAndroid Build Coastguard Worker 
936*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_packs_epi16(__mmask32 __M,__m256i __A,__m256i __B)937*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_packs_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
938*344a7f5eSAndroid Build Coastguard Worker {
939*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
940*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
941*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
942*344a7f5eSAndroid Build Coastguard Worker                __M);
943*344a7f5eSAndroid Build Coastguard Worker }
944*344a7f5eSAndroid Build Coastguard Worker 
945*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_packs_epi16(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)946*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_packs_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
947*344a7f5eSAndroid Build Coastguard Worker        __m256i __B)
948*344a7f5eSAndroid Build Coastguard Worker {
949*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
950*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
951*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
952*344a7f5eSAndroid Build Coastguard Worker                __M);
953*344a7f5eSAndroid Build Coastguard Worker }
954*344a7f5eSAndroid Build Coastguard Worker 
955*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_packus_epi32(__mmask8 __M,__m128i __A,__m128i __B)956*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_packus_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
957*344a7f5eSAndroid Build Coastguard Worker {
958*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
959*344a7f5eSAndroid Build Coastguard Worker                (__v4si) __B,
960*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
961*344a7f5eSAndroid Build Coastguard Worker                __M);
962*344a7f5eSAndroid Build Coastguard Worker }
963*344a7f5eSAndroid Build Coastguard Worker 
964*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_packus_epi32(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)965*344a7f5eSAndroid Build Coastguard Worker _mm_mask_packus_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
966*344a7f5eSAndroid Build Coastguard Worker            __m128i __B)
967*344a7f5eSAndroid Build Coastguard Worker {
968*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
969*344a7f5eSAndroid Build Coastguard Worker                (__v4si) __B,
970*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W, __M);
971*344a7f5eSAndroid Build Coastguard Worker }
972*344a7f5eSAndroid Build Coastguard Worker 
973*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_packus_epi32(__mmask16 __M,__m256i __A,__m256i __B)974*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_packus_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
975*344a7f5eSAndroid Build Coastguard Worker {
976*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
977*344a7f5eSAndroid Build Coastguard Worker                (__v8si) __B,
978*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
979*344a7f5eSAndroid Build Coastguard Worker                __M);
980*344a7f5eSAndroid Build Coastguard Worker }
981*344a7f5eSAndroid Build Coastguard Worker 
982*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_packus_epi32(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)983*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_packus_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
984*344a7f5eSAndroid Build Coastguard Worker         __m256i __B)
985*344a7f5eSAndroid Build Coastguard Worker {
986*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
987*344a7f5eSAndroid Build Coastguard Worker                (__v8si) __B,
988*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
989*344a7f5eSAndroid Build Coastguard Worker                __M);
990*344a7f5eSAndroid Build Coastguard Worker }
991*344a7f5eSAndroid Build Coastguard Worker 
992*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_packus_epi16(__mmask16 __M,__m128i __A,__m128i __B)993*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_packus_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
994*344a7f5eSAndroid Build Coastguard Worker {
995*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
996*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
997*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
998*344a7f5eSAndroid Build Coastguard Worker                __M);
999*344a7f5eSAndroid Build Coastguard Worker }
1000*344a7f5eSAndroid Build Coastguard Worker 
1001*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_packus_epi16(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1002*344a7f5eSAndroid Build Coastguard Worker _mm_mask_packus_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
1003*344a7f5eSAndroid Build Coastguard Worker            __m128i __B)
1004*344a7f5eSAndroid Build Coastguard Worker {
1005*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
1006*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1007*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1008*344a7f5eSAndroid Build Coastguard Worker                __M);
1009*344a7f5eSAndroid Build Coastguard Worker }
1010*344a7f5eSAndroid Build Coastguard Worker 
1011*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_packus_epi16(__mmask32 __M,__m256i __A,__m256i __B)1012*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_packus_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
1013*344a7f5eSAndroid Build Coastguard Worker {
1014*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
1015*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1016*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1017*344a7f5eSAndroid Build Coastguard Worker                __M);
1018*344a7f5eSAndroid Build Coastguard Worker }
1019*344a7f5eSAndroid Build Coastguard Worker 
1020*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_packus_epi16(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1021*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_packus_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
1022*344a7f5eSAndroid Build Coastguard Worker         __m256i __B)
1023*344a7f5eSAndroid Build Coastguard Worker {
1024*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
1025*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1026*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1027*344a7f5eSAndroid Build Coastguard Worker                __M);
1028*344a7f5eSAndroid Build Coastguard Worker }
1029*344a7f5eSAndroid Build Coastguard Worker 
1030*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_adds_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1031*344a7f5eSAndroid Build Coastguard Worker _mm_mask_adds_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
1032*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1033*344a7f5eSAndroid Build Coastguard Worker {
1034*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
1035*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1036*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1037*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1038*344a7f5eSAndroid Build Coastguard Worker }
1039*344a7f5eSAndroid Build Coastguard Worker 
1040*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_adds_epi8(__mmask16 __U,__m128i __A,__m128i __B)1041*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_adds_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
1042*344a7f5eSAndroid Build Coastguard Worker {
1043*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
1044*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1045*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1046*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1047*344a7f5eSAndroid Build Coastguard Worker }
1048*344a7f5eSAndroid Build Coastguard Worker 
1049*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_adds_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1050*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_adds_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
1051*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1052*344a7f5eSAndroid Build Coastguard Worker {
1053*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
1054*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1055*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1056*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1057*344a7f5eSAndroid Build Coastguard Worker }
1058*344a7f5eSAndroid Build Coastguard Worker 
1059*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_adds_epi8(__mmask32 __U,__m256i __A,__m256i __B)1060*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_adds_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
1061*344a7f5eSAndroid Build Coastguard Worker {
1062*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
1063*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1064*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1065*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1066*344a7f5eSAndroid Build Coastguard Worker }
1067*344a7f5eSAndroid Build Coastguard Worker 
1068*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_adds_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1069*344a7f5eSAndroid Build Coastguard Worker _mm_mask_adds_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
1070*344a7f5eSAndroid Build Coastguard Worker          __m128i __B)
1071*344a7f5eSAndroid Build Coastguard Worker {
1072*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
1073*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1074*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1075*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1076*344a7f5eSAndroid Build Coastguard Worker }
1077*344a7f5eSAndroid Build Coastguard Worker 
1078*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_adds_epi16(__mmask8 __U,__m128i __A,__m128i __B)1079*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_adds_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
1080*344a7f5eSAndroid Build Coastguard Worker {
1081*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
1082*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1083*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1084*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1085*344a7f5eSAndroid Build Coastguard Worker }
1086*344a7f5eSAndroid Build Coastguard Worker 
1087*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_adds_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1088*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_adds_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
1089*344a7f5eSAndroid Build Coastguard Worker       __m256i __B)
1090*344a7f5eSAndroid Build Coastguard Worker {
1091*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
1092*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1093*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1094*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1095*344a7f5eSAndroid Build Coastguard Worker }
1096*344a7f5eSAndroid Build Coastguard Worker 
1097*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_adds_epi16(__mmask16 __U,__m256i __A,__m256i __B)1098*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_adds_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
1099*344a7f5eSAndroid Build Coastguard Worker {
1100*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
1101*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1102*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1103*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1104*344a7f5eSAndroid Build Coastguard Worker }
1105*344a7f5eSAndroid Build Coastguard Worker 
1106*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_adds_epu8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1107*344a7f5eSAndroid Build Coastguard Worker _mm_mask_adds_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
1108*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1109*344a7f5eSAndroid Build Coastguard Worker {
1110*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
1111*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1112*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1113*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1114*344a7f5eSAndroid Build Coastguard Worker }
1115*344a7f5eSAndroid Build Coastguard Worker 
1116*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_adds_epu8(__mmask16 __U,__m128i __A,__m128i __B)1117*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_adds_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
1118*344a7f5eSAndroid Build Coastguard Worker {
1119*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
1120*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1121*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1122*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1123*344a7f5eSAndroid Build Coastguard Worker }
1124*344a7f5eSAndroid Build Coastguard Worker 
1125*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_adds_epu8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1126*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_adds_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
1127*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1128*344a7f5eSAndroid Build Coastguard Worker {
1129*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
1130*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1131*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1132*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1133*344a7f5eSAndroid Build Coastguard Worker }
1134*344a7f5eSAndroid Build Coastguard Worker 
1135*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_adds_epu8(__mmask32 __U,__m256i __A,__m256i __B)1136*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_adds_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
1137*344a7f5eSAndroid Build Coastguard Worker {
1138*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
1139*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1140*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1141*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1142*344a7f5eSAndroid Build Coastguard Worker }
1143*344a7f5eSAndroid Build Coastguard Worker 
1144*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_adds_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1145*344a7f5eSAndroid Build Coastguard Worker _mm_mask_adds_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
1146*344a7f5eSAndroid Build Coastguard Worker          __m128i __B)
1147*344a7f5eSAndroid Build Coastguard Worker {
1148*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
1149*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1150*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1151*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1152*344a7f5eSAndroid Build Coastguard Worker }
1153*344a7f5eSAndroid Build Coastguard Worker 
1154*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_adds_epu16(__mmask8 __U,__m128i __A,__m128i __B)1155*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_adds_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
1156*344a7f5eSAndroid Build Coastguard Worker {
1157*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
1158*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1159*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1160*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1161*344a7f5eSAndroid Build Coastguard Worker }
1162*344a7f5eSAndroid Build Coastguard Worker 
1163*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_adds_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1164*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_adds_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
1165*344a7f5eSAndroid Build Coastguard Worker       __m256i __B)
1166*344a7f5eSAndroid Build Coastguard Worker {
1167*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
1168*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1169*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1170*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1171*344a7f5eSAndroid Build Coastguard Worker }
1172*344a7f5eSAndroid Build Coastguard Worker 
1173*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_adds_epu16(__mmask16 __U,__m256i __A,__m256i __B)1174*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_adds_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
1175*344a7f5eSAndroid Build Coastguard Worker {
1176*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
1177*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1178*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1179*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1180*344a7f5eSAndroid Build Coastguard Worker }
1181*344a7f5eSAndroid Build Coastguard Worker 
1182*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_avg_epu8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1183*344a7f5eSAndroid Build Coastguard Worker _mm_mask_avg_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
1184*344a7f5eSAndroid Build Coastguard Worker        __m128i __B)
1185*344a7f5eSAndroid Build Coastguard Worker {
1186*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
1187*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1188*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1189*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1190*344a7f5eSAndroid Build Coastguard Worker }
1191*344a7f5eSAndroid Build Coastguard Worker 
1192*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_avg_epu8(__mmask16 __U,__m128i __A,__m128i __B)1193*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_avg_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
1194*344a7f5eSAndroid Build Coastguard Worker {
1195*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
1196*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1197*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1198*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1199*344a7f5eSAndroid Build Coastguard Worker }
1200*344a7f5eSAndroid Build Coastguard Worker 
1201*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_avg_epu8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1202*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_avg_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
1203*344a7f5eSAndroid Build Coastguard Worker           __m256i __B)
1204*344a7f5eSAndroid Build Coastguard Worker {
1205*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
1206*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1207*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1208*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1209*344a7f5eSAndroid Build Coastguard Worker }
1210*344a7f5eSAndroid Build Coastguard Worker 
1211*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_avg_epu8(__mmask32 __U,__m256i __A,__m256i __B)1212*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_avg_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
1213*344a7f5eSAndroid Build Coastguard Worker {
1214*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
1215*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1216*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1217*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1218*344a7f5eSAndroid Build Coastguard Worker }
1219*344a7f5eSAndroid Build Coastguard Worker 
1220*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_avg_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1221*344a7f5eSAndroid Build Coastguard Worker _mm_mask_avg_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
1222*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1223*344a7f5eSAndroid Build Coastguard Worker {
1224*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
1225*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1226*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1227*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1228*344a7f5eSAndroid Build Coastguard Worker }
1229*344a7f5eSAndroid Build Coastguard Worker 
1230*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_avg_epu16(__mmask8 __U,__m128i __A,__m128i __B)1231*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_avg_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
1232*344a7f5eSAndroid Build Coastguard Worker {
1233*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
1234*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1235*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1236*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1237*344a7f5eSAndroid Build Coastguard Worker }
1238*344a7f5eSAndroid Build Coastguard Worker 
1239*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_avg_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1240*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_avg_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
1241*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1242*344a7f5eSAndroid Build Coastguard Worker {
1243*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
1244*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1245*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1246*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1247*344a7f5eSAndroid Build Coastguard Worker }
1248*344a7f5eSAndroid Build Coastguard Worker 
1249*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_avg_epu16(__mmask16 __U,__m256i __A,__m256i __B)1250*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_avg_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
1251*344a7f5eSAndroid Build Coastguard Worker {
1252*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
1253*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1254*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1255*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1256*344a7f5eSAndroid Build Coastguard Worker }
1257*344a7f5eSAndroid Build Coastguard Worker 
1258*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_max_epi8(__mmask16 __M,__m128i __A,__m128i __B)1259*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_max_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
1260*344a7f5eSAndroid Build Coastguard Worker {
1261*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
1262*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1263*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1264*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1265*344a7f5eSAndroid Build Coastguard Worker }
1266*344a7f5eSAndroid Build Coastguard Worker 
1267*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_max_epi8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1268*344a7f5eSAndroid Build Coastguard Worker _mm_mask_max_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
1269*344a7f5eSAndroid Build Coastguard Worker        __m128i __B)
1270*344a7f5eSAndroid Build Coastguard Worker {
1271*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
1272*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1273*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1274*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1275*344a7f5eSAndroid Build Coastguard Worker }
1276*344a7f5eSAndroid Build Coastguard Worker 
1277*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_max_epi8(__mmask32 __M,__m256i __A,__m256i __B)1278*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_max_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
1279*344a7f5eSAndroid Build Coastguard Worker {
1280*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
1281*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1282*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1283*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1284*344a7f5eSAndroid Build Coastguard Worker }
1285*344a7f5eSAndroid Build Coastguard Worker 
1286*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_max_epi8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1287*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_max_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
1288*344a7f5eSAndroid Build Coastguard Worker           __m256i __B)
1289*344a7f5eSAndroid Build Coastguard Worker {
1290*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
1291*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1292*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1293*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1294*344a7f5eSAndroid Build Coastguard Worker }
1295*344a7f5eSAndroid Build Coastguard Worker 
1296*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_max_epi16(__mmask8 __M,__m128i __A,__m128i __B)1297*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_max_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
1298*344a7f5eSAndroid Build Coastguard Worker {
1299*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
1300*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1301*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1302*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1303*344a7f5eSAndroid Build Coastguard Worker }
1304*344a7f5eSAndroid Build Coastguard Worker 
1305*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_max_epi16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1306*344a7f5eSAndroid Build Coastguard Worker _mm_mask_max_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
1307*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1308*344a7f5eSAndroid Build Coastguard Worker {
1309*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
1310*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1311*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1312*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1313*344a7f5eSAndroid Build Coastguard Worker }
1314*344a7f5eSAndroid Build Coastguard Worker 
1315*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_max_epi16(__mmask16 __M,__m256i __A,__m256i __B)1316*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_max_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
1317*344a7f5eSAndroid Build Coastguard Worker {
1318*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
1319*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1320*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1321*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1322*344a7f5eSAndroid Build Coastguard Worker }
1323*344a7f5eSAndroid Build Coastguard Worker 
1324*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_max_epi16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1325*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_max_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
1326*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1327*344a7f5eSAndroid Build Coastguard Worker {
1328*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
1329*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1330*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1331*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1332*344a7f5eSAndroid Build Coastguard Worker }
1333*344a7f5eSAndroid Build Coastguard Worker 
1334*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_max_epu8(__mmask16 __M,__m128i __A,__m128i __B)1335*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_max_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
1336*344a7f5eSAndroid Build Coastguard Worker {
1337*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
1338*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1339*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1340*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1341*344a7f5eSAndroid Build Coastguard Worker }
1342*344a7f5eSAndroid Build Coastguard Worker 
1343*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_max_epu8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1344*344a7f5eSAndroid Build Coastguard Worker _mm_mask_max_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
1345*344a7f5eSAndroid Build Coastguard Worker        __m128i __B)
1346*344a7f5eSAndroid Build Coastguard Worker {
1347*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
1348*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1349*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1350*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1351*344a7f5eSAndroid Build Coastguard Worker }
1352*344a7f5eSAndroid Build Coastguard Worker 
1353*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_max_epu8(__mmask32 __M,__m256i __A,__m256i __B)1354*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_max_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
1355*344a7f5eSAndroid Build Coastguard Worker {
1356*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
1357*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1358*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1359*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1360*344a7f5eSAndroid Build Coastguard Worker }
1361*344a7f5eSAndroid Build Coastguard Worker 
1362*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_max_epu8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1363*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_max_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
1364*344a7f5eSAndroid Build Coastguard Worker           __m256i __B)
1365*344a7f5eSAndroid Build Coastguard Worker {
1366*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
1367*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1368*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1369*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1370*344a7f5eSAndroid Build Coastguard Worker }
1371*344a7f5eSAndroid Build Coastguard Worker 
1372*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_max_epu16(__mmask8 __M,__m128i __A,__m128i __B)1373*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_max_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
1374*344a7f5eSAndroid Build Coastguard Worker {
1375*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
1376*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1377*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1378*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1379*344a7f5eSAndroid Build Coastguard Worker }
1380*344a7f5eSAndroid Build Coastguard Worker 
1381*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_max_epu16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1382*344a7f5eSAndroid Build Coastguard Worker _mm_mask_max_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
1383*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1384*344a7f5eSAndroid Build Coastguard Worker {
1385*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
1386*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1387*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1388*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1389*344a7f5eSAndroid Build Coastguard Worker }
1390*344a7f5eSAndroid Build Coastguard Worker 
1391*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_max_epu16(__mmask16 __M,__m256i __A,__m256i __B)1392*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_max_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
1393*344a7f5eSAndroid Build Coastguard Worker {
1394*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
1395*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1396*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1397*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1398*344a7f5eSAndroid Build Coastguard Worker }
1399*344a7f5eSAndroid Build Coastguard Worker 
1400*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_max_epu16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1401*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_max_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
1402*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1403*344a7f5eSAndroid Build Coastguard Worker {
1404*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
1405*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1406*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1407*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1408*344a7f5eSAndroid Build Coastguard Worker }
1409*344a7f5eSAndroid Build Coastguard Worker 
1410*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_min_epi8(__mmask16 __M,__m128i __A,__m128i __B)1411*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_min_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
1412*344a7f5eSAndroid Build Coastguard Worker {
1413*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
1414*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1415*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1416*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1417*344a7f5eSAndroid Build Coastguard Worker }
1418*344a7f5eSAndroid Build Coastguard Worker 
1419*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_min_epi8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1420*344a7f5eSAndroid Build Coastguard Worker _mm_mask_min_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
1421*344a7f5eSAndroid Build Coastguard Worker        __m128i __B)
1422*344a7f5eSAndroid Build Coastguard Worker {
1423*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
1424*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1425*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1426*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1427*344a7f5eSAndroid Build Coastguard Worker }
1428*344a7f5eSAndroid Build Coastguard Worker 
1429*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_min_epi8(__mmask32 __M,__m256i __A,__m256i __B)1430*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_min_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
1431*344a7f5eSAndroid Build Coastguard Worker {
1432*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
1433*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1434*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1435*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1436*344a7f5eSAndroid Build Coastguard Worker }
1437*344a7f5eSAndroid Build Coastguard Worker 
1438*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_min_epi8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1439*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_min_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
1440*344a7f5eSAndroid Build Coastguard Worker           __m256i __B)
1441*344a7f5eSAndroid Build Coastguard Worker {
1442*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
1443*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1444*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1445*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1446*344a7f5eSAndroid Build Coastguard Worker }
1447*344a7f5eSAndroid Build Coastguard Worker 
1448*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_min_epi16(__mmask8 __M,__m128i __A,__m128i __B)1449*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_min_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
1450*344a7f5eSAndroid Build Coastguard Worker {
1451*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
1452*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1453*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1454*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1455*344a7f5eSAndroid Build Coastguard Worker }
1456*344a7f5eSAndroid Build Coastguard Worker 
1457*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_min_epi16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1458*344a7f5eSAndroid Build Coastguard Worker _mm_mask_min_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
1459*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1460*344a7f5eSAndroid Build Coastguard Worker {
1461*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
1462*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1463*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1464*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1465*344a7f5eSAndroid Build Coastguard Worker }
1466*344a7f5eSAndroid Build Coastguard Worker 
1467*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_min_epi16(__mmask16 __M,__m256i __A,__m256i __B)1468*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_min_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
1469*344a7f5eSAndroid Build Coastguard Worker {
1470*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
1471*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1472*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1473*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1474*344a7f5eSAndroid Build Coastguard Worker }
1475*344a7f5eSAndroid Build Coastguard Worker 
1476*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_min_epi16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1477*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_min_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
1478*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1479*344a7f5eSAndroid Build Coastguard Worker {
1480*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
1481*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1482*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1483*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1484*344a7f5eSAndroid Build Coastguard Worker }
1485*344a7f5eSAndroid Build Coastguard Worker 
1486*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_min_epu8(__mmask16 __M,__m128i __A,__m128i __B)1487*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_min_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
1488*344a7f5eSAndroid Build Coastguard Worker {
1489*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
1490*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1491*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1492*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1493*344a7f5eSAndroid Build Coastguard Worker }
1494*344a7f5eSAndroid Build Coastguard Worker 
1495*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_min_epu8(__m128i __W,__mmask16 __M,__m128i __A,__m128i __B)1496*344a7f5eSAndroid Build Coastguard Worker _mm_mask_min_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
1497*344a7f5eSAndroid Build Coastguard Worker        __m128i __B)
1498*344a7f5eSAndroid Build Coastguard Worker {
1499*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
1500*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1501*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1502*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1503*344a7f5eSAndroid Build Coastguard Worker }
1504*344a7f5eSAndroid Build Coastguard Worker 
1505*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_min_epu8(__mmask32 __M,__m256i __A,__m256i __B)1506*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_min_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
1507*344a7f5eSAndroid Build Coastguard Worker {
1508*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
1509*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1510*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1511*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1512*344a7f5eSAndroid Build Coastguard Worker }
1513*344a7f5eSAndroid Build Coastguard Worker 
1514*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_min_epu8(__m256i __W,__mmask32 __M,__m256i __A,__m256i __B)1515*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_min_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
1516*344a7f5eSAndroid Build Coastguard Worker           __m256i __B)
1517*344a7f5eSAndroid Build Coastguard Worker {
1518*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
1519*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1520*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1521*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __M);
1522*344a7f5eSAndroid Build Coastguard Worker }
1523*344a7f5eSAndroid Build Coastguard Worker 
1524*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_min_epu16(__mmask8 __M,__m128i __A,__m128i __B)1525*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_min_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
1526*344a7f5eSAndroid Build Coastguard Worker {
1527*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
1528*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1529*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1530*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1531*344a7f5eSAndroid Build Coastguard Worker }
1532*344a7f5eSAndroid Build Coastguard Worker 
1533*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_min_epu16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)1534*344a7f5eSAndroid Build Coastguard Worker _mm_mask_min_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
1535*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1536*344a7f5eSAndroid Build Coastguard Worker {
1537*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
1538*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1539*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1540*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __M);
1541*344a7f5eSAndroid Build Coastguard Worker }
1542*344a7f5eSAndroid Build Coastguard Worker 
1543*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_min_epu16(__mmask16 __M,__m256i __A,__m256i __B)1544*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_min_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
1545*344a7f5eSAndroid Build Coastguard Worker {
1546*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
1547*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1548*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1549*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1550*344a7f5eSAndroid Build Coastguard Worker }
1551*344a7f5eSAndroid Build Coastguard Worker 
1552*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_min_epu16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)1553*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_min_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
1554*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1555*344a7f5eSAndroid Build Coastguard Worker {
1556*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
1557*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1558*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1559*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __M);
1560*344a7f5eSAndroid Build Coastguard Worker }
1561*344a7f5eSAndroid Build Coastguard Worker 
1562*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_shuffle_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1563*344a7f5eSAndroid Build Coastguard Worker _mm_mask_shuffle_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
1564*344a7f5eSAndroid Build Coastguard Worker            __m128i __B)
1565*344a7f5eSAndroid Build Coastguard Worker {
1566*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
1567*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1568*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1569*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1570*344a7f5eSAndroid Build Coastguard Worker }
1571*344a7f5eSAndroid Build Coastguard Worker 
1572*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_shuffle_epi8(__mmask16 __U,__m128i __A,__m128i __B)1573*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_shuffle_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
1574*344a7f5eSAndroid Build Coastguard Worker {
1575*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
1576*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1577*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1578*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1579*344a7f5eSAndroid Build Coastguard Worker }
1580*344a7f5eSAndroid Build Coastguard Worker 
1581*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_shuffle_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1582*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_shuffle_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
1583*344a7f5eSAndroid Build Coastguard Worker         __m256i __B)
1584*344a7f5eSAndroid Build Coastguard Worker {
1585*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
1586*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1587*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1588*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1589*344a7f5eSAndroid Build Coastguard Worker }
1590*344a7f5eSAndroid Build Coastguard Worker 
1591*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_shuffle_epi8(__mmask32 __U,__m256i __A,__m256i __B)1592*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_shuffle_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
1593*344a7f5eSAndroid Build Coastguard Worker {
1594*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
1595*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1596*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1597*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1598*344a7f5eSAndroid Build Coastguard Worker }
1599*344a7f5eSAndroid Build Coastguard Worker 
1600*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_subs_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1601*344a7f5eSAndroid Build Coastguard Worker _mm_mask_subs_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
1602*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1603*344a7f5eSAndroid Build Coastguard Worker {
1604*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
1605*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1606*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1607*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1608*344a7f5eSAndroid Build Coastguard Worker }
1609*344a7f5eSAndroid Build Coastguard Worker 
1610*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_subs_epi8(__mmask16 __U,__m128i __A,__m128i __B)1611*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_subs_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
1612*344a7f5eSAndroid Build Coastguard Worker {
1613*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
1614*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1615*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1616*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1617*344a7f5eSAndroid Build Coastguard Worker }
1618*344a7f5eSAndroid Build Coastguard Worker 
1619*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_subs_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1620*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_subs_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
1621*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1622*344a7f5eSAndroid Build Coastguard Worker {
1623*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
1624*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1625*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1626*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1627*344a7f5eSAndroid Build Coastguard Worker }
1628*344a7f5eSAndroid Build Coastguard Worker 
1629*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_subs_epi8(__mmask32 __U,__m256i __A,__m256i __B)1630*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_subs_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
1631*344a7f5eSAndroid Build Coastguard Worker {
1632*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
1633*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1634*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1635*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1636*344a7f5eSAndroid Build Coastguard Worker }
1637*344a7f5eSAndroid Build Coastguard Worker 
1638*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_subs_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1639*344a7f5eSAndroid Build Coastguard Worker _mm_mask_subs_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
1640*344a7f5eSAndroid Build Coastguard Worker          __m128i __B)
1641*344a7f5eSAndroid Build Coastguard Worker {
1642*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
1643*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1644*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1645*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1646*344a7f5eSAndroid Build Coastguard Worker }
1647*344a7f5eSAndroid Build Coastguard Worker 
1648*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_subs_epi16(__mmask8 __U,__m128i __A,__m128i __B)1649*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_subs_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
1650*344a7f5eSAndroid Build Coastguard Worker {
1651*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
1652*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1653*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1654*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1655*344a7f5eSAndroid Build Coastguard Worker }
1656*344a7f5eSAndroid Build Coastguard Worker 
1657*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_subs_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1658*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_subs_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
1659*344a7f5eSAndroid Build Coastguard Worker       __m256i __B)
1660*344a7f5eSAndroid Build Coastguard Worker {
1661*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
1662*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1663*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1664*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1665*344a7f5eSAndroid Build Coastguard Worker }
1666*344a7f5eSAndroid Build Coastguard Worker 
1667*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_subs_epi16(__mmask16 __U,__m256i __A,__m256i __B)1668*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_subs_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
1669*344a7f5eSAndroid Build Coastguard Worker {
1670*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
1671*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1672*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1673*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1674*344a7f5eSAndroid Build Coastguard Worker }
1675*344a7f5eSAndroid Build Coastguard Worker 
1676*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_subs_epu8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)1677*344a7f5eSAndroid Build Coastguard Worker _mm_mask_subs_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
1678*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
1679*344a7f5eSAndroid Build Coastguard Worker {
1680*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
1681*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1682*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __W,
1683*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1684*344a7f5eSAndroid Build Coastguard Worker }
1685*344a7f5eSAndroid Build Coastguard Worker 
1686*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_subs_epu8(__mmask16 __U,__m128i __A,__m128i __B)1687*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_subs_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
1688*344a7f5eSAndroid Build Coastguard Worker {
1689*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
1690*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __B,
1691*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128 (),
1692*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1693*344a7f5eSAndroid Build Coastguard Worker }
1694*344a7f5eSAndroid Build Coastguard Worker 
1695*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_subs_epu8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)1696*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_subs_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
1697*344a7f5eSAndroid Build Coastguard Worker            __m256i __B)
1698*344a7f5eSAndroid Build Coastguard Worker {
1699*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
1700*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1701*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __W,
1702*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1703*344a7f5eSAndroid Build Coastguard Worker }
1704*344a7f5eSAndroid Build Coastguard Worker 
1705*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_subs_epu8(__mmask32 __U,__m256i __A,__m256i __B)1706*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_subs_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
1707*344a7f5eSAndroid Build Coastguard Worker {
1708*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
1709*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __B,
1710*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) _mm256_setzero_si256 (),
1711*344a7f5eSAndroid Build Coastguard Worker                (__mmask32) __U);
1712*344a7f5eSAndroid Build Coastguard Worker }
1713*344a7f5eSAndroid Build Coastguard Worker 
1714*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_subs_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1715*344a7f5eSAndroid Build Coastguard Worker _mm_mask_subs_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
1716*344a7f5eSAndroid Build Coastguard Worker          __m128i __B)
1717*344a7f5eSAndroid Build Coastguard Worker {
1718*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
1719*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1720*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1721*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1722*344a7f5eSAndroid Build Coastguard Worker }
1723*344a7f5eSAndroid Build Coastguard Worker 
1724*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_subs_epu16(__mmask8 __U,__m128i __A,__m128i __B)1725*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_subs_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
1726*344a7f5eSAndroid Build Coastguard Worker {
1727*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
1728*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1729*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) _mm_setzero_si128 (),
1730*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1731*344a7f5eSAndroid Build Coastguard Worker }
1732*344a7f5eSAndroid Build Coastguard Worker 
1733*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_subs_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)1734*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_subs_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
1735*344a7f5eSAndroid Build Coastguard Worker       __m256i __B)
1736*344a7f5eSAndroid Build Coastguard Worker {
1737*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
1738*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1739*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1740*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1741*344a7f5eSAndroid Build Coastguard Worker }
1742*344a7f5eSAndroid Build Coastguard Worker 
1743*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_subs_epu16(__mmask16 __U,__m256i __A,__m256i __B)1744*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_subs_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
1745*344a7f5eSAndroid Build Coastguard Worker {
1746*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
1747*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1748*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256 (),
1749*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1750*344a7f5eSAndroid Build Coastguard Worker }
1751*344a7f5eSAndroid Build Coastguard Worker 
1752*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask2_permutex2var_epi16(__m128i __A,__m128i __I,__mmask8 __U,__m128i __B)1753*344a7f5eSAndroid Build Coastguard Worker _mm_mask2_permutex2var_epi16 (__m128i __A, __m128i __I, __mmask8 __U,
1754*344a7f5eSAndroid Build Coastguard Worker             __m128i __B)
1755*344a7f5eSAndroid Build Coastguard Worker {
1756*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_vpermi2varhi128_mask ((__v8hi) __A,
1757*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __I /* idx */ ,
1758*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1759*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1760*344a7f5eSAndroid Build Coastguard Worker }
1761*344a7f5eSAndroid Build Coastguard Worker 
1762*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask2_permutex2var_epi16(__m256i __A,__m256i __I,__mmask16 __U,__m256i __B)1763*344a7f5eSAndroid Build Coastguard Worker _mm256_mask2_permutex2var_epi16 (__m256i __A, __m256i __I,
1764*344a7f5eSAndroid Build Coastguard Worker          __mmask16 __U, __m256i __B)
1765*344a7f5eSAndroid Build Coastguard Worker {
1766*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_vpermi2varhi256_mask ((__v16hi) __A,
1767*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __I /* idx */ ,
1768*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1769*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1770*344a7f5eSAndroid Build Coastguard Worker }
1771*344a7f5eSAndroid Build Coastguard Worker 
1772*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_permutex2var_epi16(__m128i __A,__m128i __I,__m128i __B)1773*344a7f5eSAndroid Build Coastguard Worker _mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B)
1774*344a7f5eSAndroid Build Coastguard Worker {
1775*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I/* idx */,
1776*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __A,
1777*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1778*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) -1);
1779*344a7f5eSAndroid Build Coastguard Worker }
1780*344a7f5eSAndroid Build Coastguard Worker 
1781*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_permutex2var_epi16(__m128i __A,__mmask8 __U,__m128i __I,__m128i __B)1782*344a7f5eSAndroid Build Coastguard Worker _mm_mask_permutex2var_epi16 (__m128i __A, __mmask8 __U, __m128i __I,
1783*344a7f5eSAndroid Build Coastguard Worker            __m128i __B)
1784*344a7f5eSAndroid Build Coastguard Worker {
1785*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I/* idx */,
1786*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __A,
1787*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1788*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1789*344a7f5eSAndroid Build Coastguard Worker }
1790*344a7f5eSAndroid Build Coastguard Worker 
1791*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_permutex2var_epi16(__mmask8 __U,__m128i __A,__m128i __I,__m128i __B)1792*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I,
1793*344a7f5eSAndroid Build Coastguard Worker             __m128i __B)
1794*344a7f5eSAndroid Build Coastguard Worker {
1795*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi) __I/* idx */,
1796*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __A,
1797*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1798*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1799*344a7f5eSAndroid Build Coastguard Worker }
1800*344a7f5eSAndroid Build Coastguard Worker 
1801*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_permutex2var_epi16(__m256i __A,__m256i __I,__m256i __B)1802*344a7f5eSAndroid Build Coastguard Worker _mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B)
1803*344a7f5eSAndroid Build Coastguard Worker {
1804*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I/* idx */,
1805*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __A,
1806*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1807*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) -1);
1808*344a7f5eSAndroid Build Coastguard Worker }
1809*344a7f5eSAndroid Build Coastguard Worker 
1810*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_permutex2var_epi16(__m256i __A,__mmask16 __U,__m256i __I,__m256i __B)1811*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_permutex2var_epi16 (__m256i __A, __mmask16 __U,
1812*344a7f5eSAndroid Build Coastguard Worker         __m256i __I, __m256i __B)
1813*344a7f5eSAndroid Build Coastguard Worker {
1814*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I/* idx */,
1815*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __A,
1816*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1817*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1818*344a7f5eSAndroid Build Coastguard Worker }
1819*344a7f5eSAndroid Build Coastguard Worker 
1820*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_permutex2var_epi16(__mmask16 __U,__m256i __A,__m256i __I,__m256i __B)1821*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A,
1822*344a7f5eSAndroid Build Coastguard Worker          __m256i __I, __m256i __B)
1823*344a7f5eSAndroid Build Coastguard Worker {
1824*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi) __I/* idx */,
1825*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __A,
1826*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1827*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1828*344a7f5eSAndroid Build Coastguard Worker }
1829*344a7f5eSAndroid Build Coastguard Worker 
1830*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_maddubs_epi16(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)1831*344a7f5eSAndroid Build Coastguard Worker _mm_mask_maddubs_epi16 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
1832*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
1833*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __Y,
1834*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
1835*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1836*344a7f5eSAndroid Build Coastguard Worker }
1837*344a7f5eSAndroid Build Coastguard Worker 
1838*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_maddubs_epi16(__mmask8 __U,__m128i __X,__m128i __Y)1839*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_maddubs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y) {
1840*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
1841*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __Y,
1842*344a7f5eSAndroid Build Coastguard Worker               (__v8hi) _mm_setzero_si128(),
1843*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1844*344a7f5eSAndroid Build Coastguard Worker }
1845*344a7f5eSAndroid Build Coastguard Worker 
1846*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_maddubs_epi16(__m256i __W,__mmask16 __U,__m256i __X,__m256i __Y)1847*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_maddubs_epi16 (__m256i __W, __mmask16 __U, __m256i __X,
1848*344a7f5eSAndroid Build Coastguard Worker          __m256i __Y) {
1849*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
1850*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __Y,
1851*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
1852*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1853*344a7f5eSAndroid Build Coastguard Worker }
1854*344a7f5eSAndroid Build Coastguard Worker 
1855*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_maddubs_epi16(__mmask16 __U,__m256i __X,__m256i __Y)1856*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_maddubs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y) {
1857*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
1858*344a7f5eSAndroid Build Coastguard Worker                (__v32qi) __Y,
1859*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256(),
1860*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
1861*344a7f5eSAndroid Build Coastguard Worker }
1862*344a7f5eSAndroid Build Coastguard Worker 
1863*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_madd_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)1864*344a7f5eSAndroid Build Coastguard Worker _mm_mask_madd_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
1865*344a7f5eSAndroid Build Coastguard Worker          __m128i __B) {
1866*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
1867*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1868*344a7f5eSAndroid Build Coastguard Worker                (__v4si) __W,
1869*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1870*344a7f5eSAndroid Build Coastguard Worker }
1871*344a7f5eSAndroid Build Coastguard Worker 
1872*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_madd_epi16(__mmask8 __U,__m128i __A,__m128i __B)1873*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_madd_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
1874*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
1875*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
1876*344a7f5eSAndroid Build Coastguard Worker                (__v4si) _mm_setzero_si128(),
1877*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1878*344a7f5eSAndroid Build Coastguard Worker }
1879*344a7f5eSAndroid Build Coastguard Worker 
1880*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_madd_epi16(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)1881*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_madd_epi16 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
1882*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
1883*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1884*344a7f5eSAndroid Build Coastguard Worker                (__v8si) __W,
1885*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1886*344a7f5eSAndroid Build Coastguard Worker }
1887*344a7f5eSAndroid Build Coastguard Worker 
1888*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_madd_epi16(__mmask8 __U,__m256i __A,__m256i __B)1889*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_madd_epi16 (__mmask8 __U, __m256i __A, __m256i __B) {
1890*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
1891*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
1892*344a7f5eSAndroid Build Coastguard Worker                (__v8si) _mm256_setzero_si256(),
1893*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
1894*344a7f5eSAndroid Build Coastguard Worker }
1895*344a7f5eSAndroid Build Coastguard Worker 
1896*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvtsepi16_epi8(__m128i __A)1897*344a7f5eSAndroid Build Coastguard Worker _mm_cvtsepi16_epi8 (__m128i __A) {
1898*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1899*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
1900*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) -1);
1901*344a7f5eSAndroid Build Coastguard Worker }
1902*344a7f5eSAndroid Build Coastguard Worker 
1903*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtsepi16_epi8(__m128i __O,__mmask8 __M,__m128i __A)1904*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtsepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1905*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1906*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __O,
1907*344a7f5eSAndroid Build Coastguard Worker                 __M);
1908*344a7f5eSAndroid Build Coastguard Worker }
1909*344a7f5eSAndroid Build Coastguard Worker 
1910*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtsepi16_epi8(__mmask8 __M,__m128i __A)1911*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtsepi16_epi8 (__mmask8 __M, __m128i __A) {
1912*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
1913*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
1914*344a7f5eSAndroid Build Coastguard Worker                __M);
1915*344a7f5eSAndroid Build Coastguard Worker }
1916*344a7f5eSAndroid Build Coastguard Worker 
1917*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_cvtsepi16_epi8(__m256i __A)1918*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtsepi16_epi8 (__m256i __A) {
1919*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1920*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
1921*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) -1);
1922*344a7f5eSAndroid Build Coastguard Worker }
1923*344a7f5eSAndroid Build Coastguard Worker 
1924*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_mask_cvtsepi16_epi8(__m128i __O,__mmask16 __M,__m256i __A)1925*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtsepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1926*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1927*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __O,
1928*344a7f5eSAndroid Build Coastguard Worker                 __M);
1929*344a7f5eSAndroid Build Coastguard Worker }
1930*344a7f5eSAndroid Build Coastguard Worker 
1931*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtsepi16_epi8(__mmask16 __M,__m256i __A)1932*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtsepi16_epi8 (__mmask16 __M, __m256i __A) {
1933*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
1934*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
1935*344a7f5eSAndroid Build Coastguard Worker                __M);
1936*344a7f5eSAndroid Build Coastguard Worker }
1937*344a7f5eSAndroid Build Coastguard Worker 
1938*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvtusepi16_epi8(__m128i __A)1939*344a7f5eSAndroid Build Coastguard Worker _mm_cvtusepi16_epi8 (__m128i __A) {
1940*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1941*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) _mm_setzero_si128(),
1942*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
1943*344a7f5eSAndroid Build Coastguard Worker }
1944*344a7f5eSAndroid Build Coastguard Worker 
1945*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtusepi16_epi8(__m128i __O,__mmask8 __M,__m128i __A)1946*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtusepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1947*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1948*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) __O,
1949*344a7f5eSAndroid Build Coastguard Worker                 __M);
1950*344a7f5eSAndroid Build Coastguard Worker }
1951*344a7f5eSAndroid Build Coastguard Worker 
1952*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtusepi16_epi8(__mmask8 __M,__m128i __A)1953*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtusepi16_epi8 (__mmask8 __M, __m128i __A) {
1954*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
1955*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) _mm_setzero_si128(),
1956*344a7f5eSAndroid Build Coastguard Worker                 __M);
1957*344a7f5eSAndroid Build Coastguard Worker }
1958*344a7f5eSAndroid Build Coastguard Worker 
1959*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_cvtusepi16_epi8(__m256i __A)1960*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtusepi16_epi8 (__m256i __A) {
1961*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1962*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) _mm_setzero_si128(),
1963*344a7f5eSAndroid Build Coastguard Worker                 (__mmask16) -1);
1964*344a7f5eSAndroid Build Coastguard Worker }
1965*344a7f5eSAndroid Build Coastguard Worker 
1966*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_mask_cvtusepi16_epi8(__m128i __O,__mmask16 __M,__m256i __A)1967*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtusepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1968*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1969*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) __O,
1970*344a7f5eSAndroid Build Coastguard Worker                 __M);
1971*344a7f5eSAndroid Build Coastguard Worker }
1972*344a7f5eSAndroid Build Coastguard Worker 
1973*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtusepi16_epi8(__mmask16 __M,__m256i __A)1974*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtusepi16_epi8 (__mmask16 __M, __m256i __A) {
1975*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
1976*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) _mm_setzero_si128(),
1977*344a7f5eSAndroid Build Coastguard Worker                 __M);
1978*344a7f5eSAndroid Build Coastguard Worker }
1979*344a7f5eSAndroid Build Coastguard Worker 
1980*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvtepi16_epi8(__m128i __A)1981*344a7f5eSAndroid Build Coastguard Worker _mm_cvtepi16_epi8 (__m128i __A) {
1982*344a7f5eSAndroid Build Coastguard Worker 
1983*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1984*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
1985*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) -1);
1986*344a7f5eSAndroid Build Coastguard Worker }
1987*344a7f5eSAndroid Build Coastguard Worker 
1988*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtepi16_epi8(__m128i __O,__mmask8 __M,__m128i __A)1989*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A) {
1990*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1991*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __O,
1992*344a7f5eSAndroid Build Coastguard Worker                __M);
1993*344a7f5eSAndroid Build Coastguard Worker }
1994*344a7f5eSAndroid Build Coastguard Worker 
1995*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtepi16_epi8(__mmask8 __M,__m128i __A)1996*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtepi16_epi8 (__mmask8 __M, __m128i __A) {
1997*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
1998*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
1999*344a7f5eSAndroid Build Coastguard Worker                __M);
2000*344a7f5eSAndroid Build Coastguard Worker }
2001*344a7f5eSAndroid Build Coastguard Worker 
2002*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm_mask_cvtepi16_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2003*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2004*344a7f5eSAndroid Build Coastguard Worker {
2005*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_pmovwb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
2006*344a7f5eSAndroid Build Coastguard Worker }
2007*344a7f5eSAndroid Build Coastguard Worker 
2008*344a7f5eSAndroid Build Coastguard Worker 
2009*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm_mask_cvtsepi16_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2010*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2011*344a7f5eSAndroid Build Coastguard Worker {
2012*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_pmovswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
2013*344a7f5eSAndroid Build Coastguard Worker }
2014*344a7f5eSAndroid Build Coastguard Worker 
2015*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm_mask_cvtusepi16_storeu_epi8(void * __P,__mmask8 __M,__m128i __A)2016*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
2017*344a7f5eSAndroid Build Coastguard Worker {
2018*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_pmovuswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
2019*344a7f5eSAndroid Build Coastguard Worker }
2020*344a7f5eSAndroid Build Coastguard Worker 
2021*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_cvtepi16_epi8(__m256i __A)2022*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtepi16_epi8 (__m256i __A) {
2023*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
2024*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
2025*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) -1);
2026*344a7f5eSAndroid Build Coastguard Worker }
2027*344a7f5eSAndroid Build Coastguard Worker 
2028*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_mask_cvtepi16_epi8(__m128i __O,__mmask16 __M,__m256i __A)2029*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
2030*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
2031*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) __O,
2032*344a7f5eSAndroid Build Coastguard Worker                __M);
2033*344a7f5eSAndroid Build Coastguard Worker }
2034*344a7f5eSAndroid Build Coastguard Worker 
2035*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtepi16_epi8(__mmask16 __M,__m256i __A)2036*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtepi16_epi8 (__mmask16 __M, __m256i __A) {
2037*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
2038*344a7f5eSAndroid Build Coastguard Worker                (__v16qi) _mm_setzero_si128(),
2039*344a7f5eSAndroid Build Coastguard Worker                __M);
2040*344a7f5eSAndroid Build Coastguard Worker }
2041*344a7f5eSAndroid Build Coastguard Worker 
2042*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm256_mask_cvtepi16_storeu_epi8(void * __P,__mmask16 __M,__m256i __A)2043*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
2044*344a7f5eSAndroid Build Coastguard Worker {
2045*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_pmovwb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
2046*344a7f5eSAndroid Build Coastguard Worker }
2047*344a7f5eSAndroid Build Coastguard Worker 
2048*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm256_mask_cvtsepi16_storeu_epi8(void * __P,__mmask16 __M,__m256i __A)2049*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
2050*344a7f5eSAndroid Build Coastguard Worker {
2051*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_pmovswb256mem_mask ((__v16qi *) __P, (__v16hi) __A, __M);
2052*344a7f5eSAndroid Build Coastguard Worker }
2053*344a7f5eSAndroid Build Coastguard Worker 
2054*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm256_mask_cvtusepi16_storeu_epi8(void * __P,__mmask8 __M,__m256i __A)2055*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
2056*344a7f5eSAndroid Build Coastguard Worker {
2057*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_pmovuswb256mem_mask ((__v16qi*) __P, (__v16hi) __A, __M);
2058*344a7f5eSAndroid Build Coastguard Worker }
2059*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_mulhrs_epi16(__m128i __W,__mmask8 __U,__m128i __X,__m128i __Y)2060*344a7f5eSAndroid Build Coastguard Worker _mm_mask_mulhrs_epi16 (__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
2061*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
2062*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __Y,
2063*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
2064*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
2065*344a7f5eSAndroid Build Coastguard Worker }
2066*344a7f5eSAndroid Build Coastguard Worker 
2067*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_mulhrs_epi16(__mmask8 __U,__m128i __X,__m128i __Y)2068*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_mulhrs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y) {
2069*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
2070*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __Y,
2071*344a7f5eSAndroid Build Coastguard Worker               (__v8hi) _mm_setzero_si128(),
2072*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
2073*344a7f5eSAndroid Build Coastguard Worker }
2074*344a7f5eSAndroid Build Coastguard Worker 
2075*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_mulhrs_epi16(__m256i __W,__mmask16 __U,__m256i __X,__m256i __Y)2076*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_mulhrs_epi16 (__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) {
2077*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
2078*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __Y,
2079*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
2080*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
2081*344a7f5eSAndroid Build Coastguard Worker }
2082*344a7f5eSAndroid Build Coastguard Worker 
2083*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_mulhrs_epi16(__mmask16 __U,__m256i __X,__m256i __Y)2084*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_mulhrs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y) {
2085*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
2086*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __Y,
2087*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256(),
2088*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
2089*344a7f5eSAndroid Build Coastguard Worker }
2090*344a7f5eSAndroid Build Coastguard Worker 
2091*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_mulhi_epu16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2092*344a7f5eSAndroid Build Coastguard Worker _mm_mask_mulhi_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
2093*344a7f5eSAndroid Build Coastguard Worker           __m128i __B) {
2094*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
2095*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
2096*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
2097*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
2098*344a7f5eSAndroid Build Coastguard Worker }
2099*344a7f5eSAndroid Build Coastguard Worker 
2100*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_mulhi_epu16(__mmask8 __U,__m128i __A,__m128i __B)2101*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_mulhi_epu16 (__mmask8 __U, __m128i __A, __m128i __B) {
2102*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
2103*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
2104*344a7f5eSAndroid Build Coastguard Worker               (__v8hi) _mm_setzero_si128(),
2105*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
2106*344a7f5eSAndroid Build Coastguard Worker }
2107*344a7f5eSAndroid Build Coastguard Worker 
2108*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_mulhi_epu16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2109*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_mulhi_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
2110*344a7f5eSAndroid Build Coastguard Worker        __m256i __B) {
2111*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
2112*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
2113*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
2114*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
2115*344a7f5eSAndroid Build Coastguard Worker }
2116*344a7f5eSAndroid Build Coastguard Worker 
2117*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_mulhi_epu16(__mmask16 __U,__m256i __A,__m256i __B)2118*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_mulhi_epu16 (__mmask16 __U, __m256i __A, __m256i __B) {
2119*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
2120*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
2121*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256(),
2122*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
2123*344a7f5eSAndroid Build Coastguard Worker }
2124*344a7f5eSAndroid Build Coastguard Worker 
2125*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_mulhi_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2126*344a7f5eSAndroid Build Coastguard Worker _mm_mask_mulhi_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
2127*344a7f5eSAndroid Build Coastguard Worker           __m128i __B) {
2128*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
2129*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
2130*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __W,
2131*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
2132*344a7f5eSAndroid Build Coastguard Worker }
2133*344a7f5eSAndroid Build Coastguard Worker 
2134*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_mulhi_epi16(__mmask8 __U,__m128i __A,__m128i __B)2135*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_mulhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
2136*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
2137*344a7f5eSAndroid Build Coastguard Worker                (__v8hi) __B,
2138*344a7f5eSAndroid Build Coastguard Worker               (__v8hi) _mm_setzero_si128(),
2139*344a7f5eSAndroid Build Coastguard Worker                (__mmask8) __U);
2140*344a7f5eSAndroid Build Coastguard Worker }
2141*344a7f5eSAndroid Build Coastguard Worker 
2142*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_mulhi_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2143*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_mulhi_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
2144*344a7f5eSAndroid Build Coastguard Worker        __m256i __B) {
2145*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
2146*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
2147*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __W,
2148*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
2149*344a7f5eSAndroid Build Coastguard Worker }
2150*344a7f5eSAndroid Build Coastguard Worker 
2151*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_mulhi_epi16(__mmask16 __U,__m256i __A,__m256i __B)2152*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_mulhi_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
2153*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
2154*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) __B,
2155*344a7f5eSAndroid Build Coastguard Worker                (__v16hi) _mm256_setzero_si256(),
2156*344a7f5eSAndroid Build Coastguard Worker                (__mmask16) __U);
2157*344a7f5eSAndroid Build Coastguard Worker }
2158*344a7f5eSAndroid Build Coastguard Worker 
2159*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_unpackhi_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)2160*344a7f5eSAndroid Build Coastguard Worker _mm_mask_unpackhi_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
2161*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
2162*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)_mm_unpackhi_epi8(__A, __B),
2163*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)__W);
2164*344a7f5eSAndroid Build Coastguard Worker }
2165*344a7f5eSAndroid Build Coastguard Worker 
2166*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_unpackhi_epi8(__mmask16 __U,__m128i __A,__m128i __B)2167*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_unpackhi_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
2168*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
2169*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)_mm_unpackhi_epi8(__A, __B),
2170*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)_mm_setzero_si128());
2171*344a7f5eSAndroid Build Coastguard Worker }
2172*344a7f5eSAndroid Build Coastguard Worker 
2173*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_unpackhi_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)2174*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_unpackhi_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
2175*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
2176*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)_mm256_unpackhi_epi8(__A, __B),
2177*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)__W);
2178*344a7f5eSAndroid Build Coastguard Worker }
2179*344a7f5eSAndroid Build Coastguard Worker 
2180*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_unpackhi_epi8(__mmask32 __U,__m256i __A,__m256i __B)2181*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_unpackhi_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
2182*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
2183*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)_mm256_unpackhi_epi8(__A, __B),
2184*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)_mm256_setzero_si256());
2185*344a7f5eSAndroid Build Coastguard Worker }
2186*344a7f5eSAndroid Build Coastguard Worker 
2187*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_unpackhi_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2188*344a7f5eSAndroid Build Coastguard Worker _mm_mask_unpackhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
2189*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2190*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)_mm_unpackhi_epi16(__A, __B),
2191*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)__W);
2192*344a7f5eSAndroid Build Coastguard Worker }
2193*344a7f5eSAndroid Build Coastguard Worker 
2194*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_unpackhi_epi16(__mmask8 __U,__m128i __A,__m128i __B)2195*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_unpackhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
2196*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2197*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)_mm_unpackhi_epi16(__A, __B),
2198*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi) _mm_setzero_si128());
2199*344a7f5eSAndroid Build Coastguard Worker }
2200*344a7f5eSAndroid Build Coastguard Worker 
2201*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_unpackhi_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2202*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_unpackhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
2203*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2204*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)_mm256_unpackhi_epi16(__A, __B),
2205*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)__W);
2206*344a7f5eSAndroid Build Coastguard Worker }
2207*344a7f5eSAndroid Build Coastguard Worker 
2208*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_unpackhi_epi16(__mmask16 __U,__m256i __A,__m256i __B)2209*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_unpackhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
2210*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2211*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)_mm256_unpackhi_epi16(__A, __B),
2212*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)_mm256_setzero_si256());
2213*344a7f5eSAndroid Build Coastguard Worker }
2214*344a7f5eSAndroid Build Coastguard Worker 
2215*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_unpacklo_epi8(__m128i __W,__mmask16 __U,__m128i __A,__m128i __B)2216*344a7f5eSAndroid Build Coastguard Worker _mm_mask_unpacklo_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
2217*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
2218*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)_mm_unpacklo_epi8(__A, __B),
2219*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)__W);
2220*344a7f5eSAndroid Build Coastguard Worker }
2221*344a7f5eSAndroid Build Coastguard Worker 
2222*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_unpacklo_epi8(__mmask16 __U,__m128i __A,__m128i __B)2223*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_unpacklo_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
2224*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
2225*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)_mm_unpacklo_epi8(__A, __B),
2226*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)_mm_setzero_si128());
2227*344a7f5eSAndroid Build Coastguard Worker }
2228*344a7f5eSAndroid Build Coastguard Worker 
2229*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_unpacklo_epi8(__m256i __W,__mmask32 __U,__m256i __A,__m256i __B)2230*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_unpacklo_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
2231*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
2232*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)_mm256_unpacklo_epi8(__A, __B),
2233*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)__W);
2234*344a7f5eSAndroid Build Coastguard Worker }
2235*344a7f5eSAndroid Build Coastguard Worker 
2236*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_unpacklo_epi8(__mmask32 __U,__m256i __A,__m256i __B)2237*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_unpacklo_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
2238*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
2239*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)_mm256_unpacklo_epi8(__A, __B),
2240*344a7f5eSAndroid Build Coastguard Worker                                         (__v32qi)_mm256_setzero_si256());
2241*344a7f5eSAndroid Build Coastguard Worker }
2242*344a7f5eSAndroid Build Coastguard Worker 
2243*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_unpacklo_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2244*344a7f5eSAndroid Build Coastguard Worker _mm_mask_unpacklo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
2245*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2246*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)_mm_unpacklo_epi16(__A, __B),
2247*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)__W);
2248*344a7f5eSAndroid Build Coastguard Worker }
2249*344a7f5eSAndroid Build Coastguard Worker 
2250*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_unpacklo_epi16(__mmask8 __U,__m128i __A,__m128i __B)2251*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_unpacklo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
2252*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
2253*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)_mm_unpacklo_epi16(__A, __B),
2254*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi) _mm_setzero_si128());
2255*344a7f5eSAndroid Build Coastguard Worker }
2256*344a7f5eSAndroid Build Coastguard Worker 
2257*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_unpacklo_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2258*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_unpacklo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
2259*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2260*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)_mm256_unpacklo_epi16(__A, __B),
2261*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)__W);
2262*344a7f5eSAndroid Build Coastguard Worker }
2263*344a7f5eSAndroid Build Coastguard Worker 
2264*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_unpacklo_epi16(__mmask16 __U,__m256i __A,__m256i __B)2265*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
2266*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
2267*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)_mm256_unpacklo_epi16(__A, __B),
2268*344a7f5eSAndroid Build Coastguard Worker                                        (__v16hi)_mm256_setzero_si256());
2269*344a7f5eSAndroid Build Coastguard Worker }
2270*344a7f5eSAndroid Build Coastguard Worker 
2271*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtepi8_epi16(__m128i __W,__mmask32 __U,__m128i __A)2272*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepi8_epi16 (__m128i __W, __mmask32 __U, __m128i __A)
2273*344a7f5eSAndroid Build Coastguard Worker {
2274*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
2275*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi) __W,
2276*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
2277*344a7f5eSAndroid Build Coastguard Worker }
2278*344a7f5eSAndroid Build Coastguard Worker 
2279*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtepi8_epi16(__mmask8 __U,__m128i __A)2280*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtepi8_epi16 (__mmask8 __U, __m128i __A)
2281*344a7f5eSAndroid Build Coastguard Worker {
2282*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
2283*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi)
2284*344a7f5eSAndroid Build Coastguard Worker                 _mm_setzero_si128 (),
2285*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
2286*344a7f5eSAndroid Build Coastguard Worker }
2287*344a7f5eSAndroid Build Coastguard Worker 
2288*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvtepi8_epi16(__m256i __W,__mmask32 __U,__m128i __A)2289*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask32 __U, __m128i __A)
2290*344a7f5eSAndroid Build Coastguard Worker {
2291*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
2292*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi) __W,
2293*344a7f5eSAndroid Build Coastguard Worker                 (__mmask16) __U);
2294*344a7f5eSAndroid Build Coastguard Worker }
2295*344a7f5eSAndroid Build Coastguard Worker 
2296*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtepi8_epi16(__mmask16 __U,__m128i __A)2297*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtepi8_epi16 (__mmask16 __U, __m128i __A)
2298*344a7f5eSAndroid Build Coastguard Worker {
2299*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
2300*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi)
2301*344a7f5eSAndroid Build Coastguard Worker                 _mm256_setzero_si256 (),
2302*344a7f5eSAndroid Build Coastguard Worker                 (__mmask16) __U);
2303*344a7f5eSAndroid Build Coastguard Worker }
2304*344a7f5eSAndroid Build Coastguard Worker 
2305*344a7f5eSAndroid Build Coastguard Worker 
2306*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtepu8_epi16(__m128i __W,__mmask32 __U,__m128i __A)2307*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepu8_epi16 (__m128i __W, __mmask32 __U, __m128i __A)
2308*344a7f5eSAndroid Build Coastguard Worker {
2309*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
2310*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi) __W,
2311*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
2312*344a7f5eSAndroid Build Coastguard Worker }
2313*344a7f5eSAndroid Build Coastguard Worker 
2314*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtepu8_epi16(__mmask8 __U,__m128i __A)2315*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtepu8_epi16 (__mmask8 __U, __m128i __A)
2316*344a7f5eSAndroid Build Coastguard Worker {
2317*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
2318*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi)
2319*344a7f5eSAndroid Build Coastguard Worker                 _mm_setzero_si128 (),
2320*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
2321*344a7f5eSAndroid Build Coastguard Worker }
2322*344a7f5eSAndroid Build Coastguard Worker 
2323*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvtepu8_epi16(__m256i __W,__mmask32 __U,__m128i __A)2324*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask32 __U, __m128i __A)
2325*344a7f5eSAndroid Build Coastguard Worker {
2326*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
2327*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi) __W,
2328*344a7f5eSAndroid Build Coastguard Worker                 (__mmask16) __U);
2329*344a7f5eSAndroid Build Coastguard Worker }
2330*344a7f5eSAndroid Build Coastguard Worker 
2331*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtepu8_epi16(__mmask16 __U,__m128i __A)2332*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A)
2333*344a7f5eSAndroid Build Coastguard Worker {
2334*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
2335*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi)
2336*344a7f5eSAndroid Build Coastguard Worker                 _mm256_setzero_si256 (),
2337*344a7f5eSAndroid Build Coastguard Worker                 (__mmask16) __U);
2338*344a7f5eSAndroid Build Coastguard Worker }
2339*344a7f5eSAndroid Build Coastguard Worker 
2340*344a7f5eSAndroid Build Coastguard Worker 
2341*344a7f5eSAndroid Build Coastguard Worker #define _mm_cmp_epi8_mask(a, b, p) __extension__ ({ \
2342*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
2343*344a7f5eSAndroid Build Coastguard Worker                                          (__v16qi)(__m128i)(b), (int)(p), \
2344*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)-1); })
2345*344a7f5eSAndroid Build Coastguard Worker 
2346*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
2347*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
2348*344a7f5eSAndroid Build Coastguard Worker                                          (__v16qi)(__m128i)(b), (int)(p), \
2349*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(m)); })
2350*344a7f5eSAndroid Build Coastguard Worker 
2351*344a7f5eSAndroid Build Coastguard Worker #define _mm_cmp_epu8_mask(a, b, p) __extension__ ({ \
2352*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
2353*344a7f5eSAndroid Build Coastguard Worker                                           (__v16qi)(__m128i)(b), (int)(p), \
2354*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask16)-1); })
2355*344a7f5eSAndroid Build Coastguard Worker 
2356*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
2357*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
2358*344a7f5eSAndroid Build Coastguard Worker                                           (__v16qi)(__m128i)(b), (int)(p), \
2359*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask16)(m)); })
2360*344a7f5eSAndroid Build Coastguard Worker 
2361*344a7f5eSAndroid Build Coastguard Worker #define _mm256_cmp_epi8_mask(a, b, p) __extension__ ({ \
2362*344a7f5eSAndroid Build Coastguard Worker   (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
2363*344a7f5eSAndroid Build Coastguard Worker                                          (__v32qi)(__m256i)(b), (int)(p), \
2364*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask32)-1); })
2365*344a7f5eSAndroid Build Coastguard Worker 
2366*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
2367*344a7f5eSAndroid Build Coastguard Worker   (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
2368*344a7f5eSAndroid Build Coastguard Worker                                          (__v32qi)(__m256i)(b), (int)(p), \
2369*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask32)(m)); })
2370*344a7f5eSAndroid Build Coastguard Worker 
2371*344a7f5eSAndroid Build Coastguard Worker #define _mm256_cmp_epu8_mask(a, b, p) __extension__ ({ \
2372*344a7f5eSAndroid Build Coastguard Worker   (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
2373*344a7f5eSAndroid Build Coastguard Worker                                           (__v32qi)(__m256i)(b), (int)(p), \
2374*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask32)-1); })
2375*344a7f5eSAndroid Build Coastguard Worker 
2376*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
2377*344a7f5eSAndroid Build Coastguard Worker   (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
2378*344a7f5eSAndroid Build Coastguard Worker                                           (__v32qi)(__m256i)(b), (int)(p), \
2379*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask32)(m)); })
2380*344a7f5eSAndroid Build Coastguard Worker 
2381*344a7f5eSAndroid Build Coastguard Worker #define _mm_cmp_epi16_mask(a, b, p) __extension__ ({ \
2382*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
2383*344a7f5eSAndroid Build Coastguard Worker                                         (__v8hi)(__m128i)(b), (int)(p), \
2384*344a7f5eSAndroid Build Coastguard Worker                                         (__mmask8)-1); })
2385*344a7f5eSAndroid Build Coastguard Worker 
2386*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
2387*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
2388*344a7f5eSAndroid Build Coastguard Worker                                         (__v8hi)(__m128i)(b), (int)(p), \
2389*344a7f5eSAndroid Build Coastguard Worker                                         (__mmask8)(m)); })
2390*344a7f5eSAndroid Build Coastguard Worker 
2391*344a7f5eSAndroid Build Coastguard Worker #define _mm_cmp_epu16_mask(a, b, p) __extension__ ({ \
2392*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
2393*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)(__m128i)(b), (int)(p), \
2394*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)-1); })
2395*344a7f5eSAndroid Build Coastguard Worker 
2396*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
2397*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
2398*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)(__m128i)(b), (int)(p), \
2399*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(m)); })
2400*344a7f5eSAndroid Build Coastguard Worker 
2401*344a7f5eSAndroid Build Coastguard Worker #define _mm256_cmp_epi16_mask(a, b, p) __extension__ ({ \
2402*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
2403*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)(__m256i)(b), (int)(p), \
2404*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)-1); })
2405*344a7f5eSAndroid Build Coastguard Worker 
2406*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
2407*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
2408*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)(__m256i)(b), (int)(p), \
2409*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(m)); })
2410*344a7f5eSAndroid Build Coastguard Worker 
2411*344a7f5eSAndroid Build Coastguard Worker #define _mm256_cmp_epu16_mask(a, b, p) __extension__ ({ \
2412*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
2413*344a7f5eSAndroid Build Coastguard Worker                                           (__v16hi)(__m256i)(b), (int)(p), \
2414*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask16)-1); })
2415*344a7f5eSAndroid Build Coastguard Worker 
2416*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
2417*344a7f5eSAndroid Build Coastguard Worker   (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
2418*344a7f5eSAndroid Build Coastguard Worker                                           (__v16hi)(__m256i)(b), (int)(p), \
2419*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask16)(m)); })
2420*344a7f5eSAndroid Build Coastguard Worker 
2421*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_shufflehi_epi16(W, U, A, imm) __extension__ ({ \
2422*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2423*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)_mm_shufflehi_epi16((A), (imm)), \
2424*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)(__m128i)(W)); })
2425*344a7f5eSAndroid Build Coastguard Worker 
2426*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_shufflehi_epi16(U, A, imm) __extension__ ({ \
2427*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2428*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)_mm_shufflehi_epi16((A), (imm)), \
2429*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)_mm_setzero_hi()); })
2430*344a7f5eSAndroid Build Coastguard Worker 
2431*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_shufflehi_epi16(W, U, A, imm) __extension__ ({ \
2432*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2433*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)_mm256_shufflehi_epi16((A), (imm)), \
2434*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)(__m256i)(W)); })
2435*344a7f5eSAndroid Build Coastguard Worker 
2436*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_shufflehi_epi16(U, A, imm) __extension__ ({ \
2437*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2438*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)_mm256_shufflehi_epi16((A), (imm)), \
2439*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)_mm256_setzero_si256()); })
2440*344a7f5eSAndroid Build Coastguard Worker 
2441*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_shufflelo_epi16(W, U, A, imm) __extension__ ({ \
2442*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2443*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)_mm_shufflelo_epi16((A), (imm)), \
2444*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)(__m128i)(W)); })
2445*344a7f5eSAndroid Build Coastguard Worker 
2446*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_shufflelo_epi16(U, A, imm) __extension__ ({ \
2447*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
2448*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)_mm_shufflelo_epi16((A), (imm)), \
2449*344a7f5eSAndroid Build Coastguard Worker                                       (__v8hi)_mm_setzero_hi()); })
2450*344a7f5eSAndroid Build Coastguard Worker 
2451*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_shufflelo_epi16(W, U, A, imm) __extension__ ({ \
2452*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2453*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)_mm256_shufflelo_epi16((A), \
2454*344a7f5eSAndroid Build Coastguard Worker                                                                       (imm)), \
2455*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)(__m256i)(W)); })
2456*344a7f5eSAndroid Build Coastguard Worker 
2457*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_shufflelo_epi16(U, A, imm) __extension__ ({ \
2458*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
2459*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)_mm256_shufflelo_epi16((A), \
2460*344a7f5eSAndroid Build Coastguard Worker                                                                       (imm)), \
2461*344a7f5eSAndroid Build Coastguard Worker                                       (__v16hi)_mm256_setzero_si256()); })
2462*344a7f5eSAndroid Build Coastguard Worker 
2463*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_sllv_epi16(__m256i __A,__m256i __B)2464*344a7f5eSAndroid Build Coastguard Worker _mm256_sllv_epi16 (__m256i __A, __m256i __B)
2465*344a7f5eSAndroid Build Coastguard Worker {
2466*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
2467*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2468*344a7f5eSAndroid Build Coastguard Worker               (__v16hi)
2469*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
2470*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) -1);
2471*344a7f5eSAndroid Build Coastguard Worker }
2472*344a7f5eSAndroid Build Coastguard Worker 
2473*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_sllv_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2474*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_sllv_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
2475*344a7f5eSAndroid Build Coastguard Worker       __m256i __B)
2476*344a7f5eSAndroid Build Coastguard Worker {
2477*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
2478*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2479*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __W,
2480*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
2481*344a7f5eSAndroid Build Coastguard Worker }
2482*344a7f5eSAndroid Build Coastguard Worker 
2483*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_sllv_epi16(__mmask16 __U,__m256i __A,__m256i __B)2484*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_sllv_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
2485*344a7f5eSAndroid Build Coastguard Worker {
2486*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
2487*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2488*344a7f5eSAndroid Build Coastguard Worker               (__v16hi)
2489*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
2490*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
2491*344a7f5eSAndroid Build Coastguard Worker }
2492*344a7f5eSAndroid Build Coastguard Worker 
2493*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_sllv_epi16(__m128i __A,__m128i __B)2494*344a7f5eSAndroid Build Coastguard Worker _mm_sllv_epi16 (__m128i __A, __m128i __B)
2495*344a7f5eSAndroid Build Coastguard Worker {
2496*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
2497*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2498*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2499*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_hi (),
2500*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) -1);
2501*344a7f5eSAndroid Build Coastguard Worker }
2502*344a7f5eSAndroid Build Coastguard Worker 
2503*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_sllv_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2504*344a7f5eSAndroid Build Coastguard Worker _mm_mask_sllv_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
2505*344a7f5eSAndroid Build Coastguard Worker          __m128i __B)
2506*344a7f5eSAndroid Build Coastguard Worker {
2507*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
2508*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2509*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
2510*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2511*344a7f5eSAndroid Build Coastguard Worker }
2512*344a7f5eSAndroid Build Coastguard Worker 
2513*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_sllv_epi16(__mmask8 __U,__m128i __A,__m128i __B)2514*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_sllv_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2515*344a7f5eSAndroid Build Coastguard Worker {
2516*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
2517*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2518*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2519*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
2520*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2521*344a7f5eSAndroid Build Coastguard Worker }
2522*344a7f5eSAndroid Build Coastguard Worker 
2523*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_sll_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2524*344a7f5eSAndroid Build Coastguard Worker _mm_mask_sll_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
2525*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
2526*344a7f5eSAndroid Build Coastguard Worker {
2527*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A,
2528*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2529*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
2530*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2531*344a7f5eSAndroid Build Coastguard Worker }
2532*344a7f5eSAndroid Build Coastguard Worker 
2533*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_sll_epi16(__mmask8 __U,__m128i __A,__m128i __B)2534*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_sll_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2535*344a7f5eSAndroid Build Coastguard Worker {
2536*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A,
2537*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2538*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2539*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
2540*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2541*344a7f5eSAndroid Build Coastguard Worker }
2542*344a7f5eSAndroid Build Coastguard Worker 
2543*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_sll_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m128i __B)2544*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_sll_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
2545*344a7f5eSAndroid Build Coastguard Worker            __m128i __B)
2546*344a7f5eSAndroid Build Coastguard Worker {
2547*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A,
2548*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2549*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __W,
2550*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
2551*344a7f5eSAndroid Build Coastguard Worker }
2552*344a7f5eSAndroid Build Coastguard Worker 
2553*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_sll_epi16(__mmask16 __U,__m256i __A,__m128i __B)2554*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_sll_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
2555*344a7f5eSAndroid Build Coastguard Worker {
2556*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A,
2557*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2558*344a7f5eSAndroid Build Coastguard Worker              (__v16hi)
2559*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_si256 (),
2560*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
2561*344a7f5eSAndroid Build Coastguard Worker }
2562*344a7f5eSAndroid Build Coastguard Worker 
2563*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_slli_epi16(W, U, A, B) __extension__ ({ \
2564*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_psllwi128_mask((__v8hi)(__m128i)(A), (int)(B), \
2565*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)(__m128i)(W), \
2566*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
2567*344a7f5eSAndroid Build Coastguard Worker 
2568*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_slli_epi16(U, A, B) __extension__ ({ \
2569*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_psllwi128_mask((__v8hi)(__m128i)(A), (int)(B), \
2570*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)_mm_setzero_si128(), \
2571*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
2572*344a7f5eSAndroid Build Coastguard Worker 
2573*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_slli_epi16(W, U, A, B) __extension__ ({ \
2574*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_psllwi256_mask((__v16hi)(__m256i)(A), (int)(B), \
2575*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)(__m256i)(W), \
2576*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(U)); })
2577*344a7f5eSAndroid Build Coastguard Worker 
2578*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_slli_epi16(U, A, B) __extension__ ({ \
2579*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_psllwi256_mask((__v16hi)(__m256i)(A), (int)(B), \
2580*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)_mm256_setzero_si256(), \
2581*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(U)); })
2582*344a7f5eSAndroid Build Coastguard Worker 
2583*344a7f5eSAndroid Build Coastguard Worker 
2584*344a7f5eSAndroid Build Coastguard Worker 
2585*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_srlv_epi16(__m256i __A,__m256i __B)2586*344a7f5eSAndroid Build Coastguard Worker _mm256_srlv_epi16 (__m256i __A, __m256i __B)
2587*344a7f5eSAndroid Build Coastguard Worker {
2588*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
2589*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2590*344a7f5eSAndroid Build Coastguard Worker               (__v16hi)
2591*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
2592*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) -1);
2593*344a7f5eSAndroid Build Coastguard Worker }
2594*344a7f5eSAndroid Build Coastguard Worker 
2595*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_srlv_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2596*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_srlv_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
2597*344a7f5eSAndroid Build Coastguard Worker       __m256i __B)
2598*344a7f5eSAndroid Build Coastguard Worker {
2599*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
2600*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2601*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __W,
2602*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
2603*344a7f5eSAndroid Build Coastguard Worker }
2604*344a7f5eSAndroid Build Coastguard Worker 
2605*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_srlv_epi16(__mmask16 __U,__m256i __A,__m256i __B)2606*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_srlv_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
2607*344a7f5eSAndroid Build Coastguard Worker {
2608*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
2609*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2610*344a7f5eSAndroid Build Coastguard Worker               (__v16hi)
2611*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
2612*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
2613*344a7f5eSAndroid Build Coastguard Worker }
2614*344a7f5eSAndroid Build Coastguard Worker 
2615*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_srlv_epi16(__m128i __A,__m128i __B)2616*344a7f5eSAndroid Build Coastguard Worker _mm_srlv_epi16 (__m128i __A, __m128i __B)
2617*344a7f5eSAndroid Build Coastguard Worker {
2618*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
2619*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2620*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2621*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_hi (),
2622*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) -1);
2623*344a7f5eSAndroid Build Coastguard Worker }
2624*344a7f5eSAndroid Build Coastguard Worker 
2625*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_srlv_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2626*344a7f5eSAndroid Build Coastguard Worker _mm_mask_srlv_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
2627*344a7f5eSAndroid Build Coastguard Worker          __m128i __B)
2628*344a7f5eSAndroid Build Coastguard Worker {
2629*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
2630*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2631*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
2632*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2633*344a7f5eSAndroid Build Coastguard Worker }
2634*344a7f5eSAndroid Build Coastguard Worker 
2635*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_srlv_epi16(__mmask8 __U,__m128i __A,__m128i __B)2636*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_srlv_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2637*344a7f5eSAndroid Build Coastguard Worker {
2638*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
2639*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2640*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2641*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
2642*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2643*344a7f5eSAndroid Build Coastguard Worker }
2644*344a7f5eSAndroid Build Coastguard Worker 
2645*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_srav_epi16(__m256i __A,__m256i __B)2646*344a7f5eSAndroid Build Coastguard Worker _mm256_srav_epi16 (__m256i __A, __m256i __B)
2647*344a7f5eSAndroid Build Coastguard Worker {
2648*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
2649*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2650*344a7f5eSAndroid Build Coastguard Worker               (__v16hi)
2651*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
2652*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) -1);
2653*344a7f5eSAndroid Build Coastguard Worker }
2654*344a7f5eSAndroid Build Coastguard Worker 
2655*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_srav_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m256i __B)2656*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_srav_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
2657*344a7f5eSAndroid Build Coastguard Worker       __m256i __B)
2658*344a7f5eSAndroid Build Coastguard Worker {
2659*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
2660*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2661*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __W,
2662*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
2663*344a7f5eSAndroid Build Coastguard Worker }
2664*344a7f5eSAndroid Build Coastguard Worker 
2665*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_srav_epi16(__mmask16 __U,__m256i __A,__m256i __B)2666*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_srav_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
2667*344a7f5eSAndroid Build Coastguard Worker {
2668*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
2669*344a7f5eSAndroid Build Coastguard Worker               (__v16hi) __B,
2670*344a7f5eSAndroid Build Coastguard Worker               (__v16hi)
2671*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
2672*344a7f5eSAndroid Build Coastguard Worker               (__mmask16) __U);
2673*344a7f5eSAndroid Build Coastguard Worker }
2674*344a7f5eSAndroid Build Coastguard Worker 
2675*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_srav_epi16(__m128i __A,__m128i __B)2676*344a7f5eSAndroid Build Coastguard Worker _mm_srav_epi16 (__m128i __A, __m128i __B)
2677*344a7f5eSAndroid Build Coastguard Worker {
2678*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
2679*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2680*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2681*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_hi (),
2682*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) -1);
2683*344a7f5eSAndroid Build Coastguard Worker }
2684*344a7f5eSAndroid Build Coastguard Worker 
2685*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_srav_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2686*344a7f5eSAndroid Build Coastguard Worker _mm_mask_srav_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
2687*344a7f5eSAndroid Build Coastguard Worker          __m128i __B)
2688*344a7f5eSAndroid Build Coastguard Worker {
2689*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
2690*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2691*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
2692*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2693*344a7f5eSAndroid Build Coastguard Worker }
2694*344a7f5eSAndroid Build Coastguard Worker 
2695*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_srav_epi16(__mmask8 __U,__m128i __A,__m128i __B)2696*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_srav_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2697*344a7f5eSAndroid Build Coastguard Worker {
2698*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
2699*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2700*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2701*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
2702*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2703*344a7f5eSAndroid Build Coastguard Worker }
2704*344a7f5eSAndroid Build Coastguard Worker 
2705*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_sra_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2706*344a7f5eSAndroid Build Coastguard Worker _mm_mask_sra_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
2707*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
2708*344a7f5eSAndroid Build Coastguard Worker {
2709*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A,
2710*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2711*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
2712*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2713*344a7f5eSAndroid Build Coastguard Worker }
2714*344a7f5eSAndroid Build Coastguard Worker 
2715*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_sra_epi16(__mmask8 __U,__m128i __A,__m128i __B)2716*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_sra_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2717*344a7f5eSAndroid Build Coastguard Worker {
2718*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A,
2719*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2720*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2721*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
2722*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2723*344a7f5eSAndroid Build Coastguard Worker }
2724*344a7f5eSAndroid Build Coastguard Worker 
2725*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_sra_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m128i __B)2726*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_sra_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
2727*344a7f5eSAndroid Build Coastguard Worker            __m128i __B)
2728*344a7f5eSAndroid Build Coastguard Worker {
2729*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A,
2730*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2731*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __W,
2732*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
2733*344a7f5eSAndroid Build Coastguard Worker }
2734*344a7f5eSAndroid Build Coastguard Worker 
2735*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_sra_epi16(__mmask16 __U,__m256i __A,__m128i __B)2736*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_sra_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
2737*344a7f5eSAndroid Build Coastguard Worker {
2738*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A,
2739*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2740*344a7f5eSAndroid Build Coastguard Worker              (__v16hi)
2741*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_si256 (),
2742*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
2743*344a7f5eSAndroid Build Coastguard Worker }
2744*344a7f5eSAndroid Build Coastguard Worker 
2745*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_srai_epi16(W, U, A, imm) __extension__ ({ \
2746*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_psrawi128_mask((__v8hi)(__m128i)(A), (int)(imm), \
2747*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)(__m128i)(W), \
2748*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
2749*344a7f5eSAndroid Build Coastguard Worker 
2750*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_srai_epi16(U, A, imm) __extension__ ({ \
2751*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_psrawi128_mask((__v8hi)(__m128i)(A), (int)(imm), \
2752*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)_mm_setzero_si128(), \
2753*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
2754*344a7f5eSAndroid Build Coastguard Worker 
2755*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_srai_epi16(W, U, A, imm) __extension__ ({ \
2756*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_psrawi256_mask((__v16hi)(__m256i)(A), (int)(imm), \
2757*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)(__m256i)(W), \
2758*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(U)); })
2759*344a7f5eSAndroid Build Coastguard Worker 
2760*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_srai_epi16(U, A, imm) __extension__ ({ \
2761*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_psrawi256_mask((__v16hi)(__m256i)(A), (int)(imm), \
2762*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)_mm256_setzero_si256(), \
2763*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(U)); })
2764*344a7f5eSAndroid Build Coastguard Worker 
2765*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_srl_epi16(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)2766*344a7f5eSAndroid Build Coastguard Worker _mm_mask_srl_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
2767*344a7f5eSAndroid Build Coastguard Worker         __m128i __B)
2768*344a7f5eSAndroid Build Coastguard Worker {
2769*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A,
2770*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2771*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __W,
2772*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2773*344a7f5eSAndroid Build Coastguard Worker }
2774*344a7f5eSAndroid Build Coastguard Worker 
2775*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_srl_epi16(__mmask8 __U,__m128i __A,__m128i __B)2776*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_srl_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
2777*344a7f5eSAndroid Build Coastguard Worker {
2778*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A,
2779*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2780*344a7f5eSAndroid Build Coastguard Worker              (__v8hi)
2781*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_si128 (),
2782*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2783*344a7f5eSAndroid Build Coastguard Worker }
2784*344a7f5eSAndroid Build Coastguard Worker 
2785*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_srl_epi16(__m256i __W,__mmask16 __U,__m256i __A,__m128i __B)2786*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_srl_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
2787*344a7f5eSAndroid Build Coastguard Worker            __m128i __B)
2788*344a7f5eSAndroid Build Coastguard Worker {
2789*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A,
2790*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2791*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __W,
2792*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
2793*344a7f5eSAndroid Build Coastguard Worker }
2794*344a7f5eSAndroid Build Coastguard Worker 
2795*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_srl_epi16(__mmask16 __U,__m256i __A,__m128i __B)2796*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_srl_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
2797*344a7f5eSAndroid Build Coastguard Worker {
2798*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A,
2799*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __B,
2800*344a7f5eSAndroid Build Coastguard Worker              (__v16hi)
2801*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_si256 (),
2802*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
2803*344a7f5eSAndroid Build Coastguard Worker }
2804*344a7f5eSAndroid Build Coastguard Worker 
2805*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_srli_epi16(W, U, A, imm) __extension__ ({ \
2806*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_psrlwi128_mask((__v8hi)(__m128i)(A), (int)(imm), \
2807*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)(__m128i)(W), \
2808*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
2809*344a7f5eSAndroid Build Coastguard Worker 
2810*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_srli_epi16(U, A, imm) __extension__ ({ \
2811*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_psrlwi128_mask((__v8hi)(__m128i)(A), (int)(imm), \
2812*344a7f5eSAndroid Build Coastguard Worker                                          (__v8hi)_mm_setzero_si128(), \
2813*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
2814*344a7f5eSAndroid Build Coastguard Worker 
2815*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_srli_epi16(W, U, A, imm) __extension__ ({ \
2816*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_psrlwi256_mask((__v16hi)(__m256i)(A), (int)(imm), \
2817*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)(__m256i)(W), \
2818*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(U)); })
2819*344a7f5eSAndroid Build Coastguard Worker 
2820*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_srli_epi16(U, A, imm) __extension__ ({ \
2821*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_psrlwi256_mask((__v16hi)(__m256i)(A), (int)(imm), \
2822*344a7f5eSAndroid Build Coastguard Worker                                          (__v16hi)_mm256_setzero_si256(), \
2823*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask16)(U)); })
2824*344a7f5eSAndroid Build Coastguard Worker 
2825*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_mov_epi16(__m128i __W,__mmask8 __U,__m128i __A)2826*344a7f5eSAndroid Build Coastguard Worker _mm_mask_mov_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
2827*344a7f5eSAndroid Build Coastguard Worker {
2828*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
2829*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi) __A,
2830*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi) __W);
2831*344a7f5eSAndroid Build Coastguard Worker }
2832*344a7f5eSAndroid Build Coastguard Worker 
2833*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_mov_epi16(__mmask8 __U,__m128i __A)2834*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_mov_epi16 (__mmask8 __U, __m128i __A)
2835*344a7f5eSAndroid Build Coastguard Worker {
2836*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
2837*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi) __A,
2838*344a7f5eSAndroid Build Coastguard Worker                 (__v8hi) _mm_setzero_hi ());
2839*344a7f5eSAndroid Build Coastguard Worker }
2840*344a7f5eSAndroid Build Coastguard Worker 
2841*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_mov_epi16(__m256i __W,__mmask16 __U,__m256i __A)2842*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_mov_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
2843*344a7f5eSAndroid Build Coastguard Worker {
2844*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
2845*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi) __A,
2846*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi) __W);
2847*344a7f5eSAndroid Build Coastguard Worker }
2848*344a7f5eSAndroid Build Coastguard Worker 
2849*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_mov_epi16(__mmask16 __U,__m256i __A)2850*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_mov_epi16 (__mmask16 __U, __m256i __A)
2851*344a7f5eSAndroid Build Coastguard Worker {
2852*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
2853*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi) __A,
2854*344a7f5eSAndroid Build Coastguard Worker                 (__v16hi) _mm256_setzero_si256 ());
2855*344a7f5eSAndroid Build Coastguard Worker }
2856*344a7f5eSAndroid Build Coastguard Worker 
2857*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_mov_epi8(__m128i __W,__mmask16 __U,__m128i __A)2858*344a7f5eSAndroid Build Coastguard Worker _mm_mask_mov_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
2859*344a7f5eSAndroid Build Coastguard Worker {
2860*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
2861*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) __A,
2862*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) __W);
2863*344a7f5eSAndroid Build Coastguard Worker }
2864*344a7f5eSAndroid Build Coastguard Worker 
2865*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_mov_epi8(__mmask16 __U,__m128i __A)2866*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_mov_epi8 (__mmask16 __U, __m128i __A)
2867*344a7f5eSAndroid Build Coastguard Worker {
2868*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
2869*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) __A,
2870*344a7f5eSAndroid Build Coastguard Worker                 (__v16qi) _mm_setzero_hi ());
2871*344a7f5eSAndroid Build Coastguard Worker }
2872*344a7f5eSAndroid Build Coastguard Worker 
2873*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_mov_epi8(__m256i __W,__mmask32 __U,__m256i __A)2874*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_mov_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
2875*344a7f5eSAndroid Build Coastguard Worker {
2876*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
2877*344a7f5eSAndroid Build Coastguard Worker                 (__v32qi) __A,
2878*344a7f5eSAndroid Build Coastguard Worker                 (__v32qi) __W);
2879*344a7f5eSAndroid Build Coastguard Worker }
2880*344a7f5eSAndroid Build Coastguard Worker 
2881*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_mov_epi8(__mmask32 __U,__m256i __A)2882*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_mov_epi8 (__mmask32 __U, __m256i __A)
2883*344a7f5eSAndroid Build Coastguard Worker {
2884*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
2885*344a7f5eSAndroid Build Coastguard Worker                 (__v32qi) __A,
2886*344a7f5eSAndroid Build Coastguard Worker                 (__v32qi) _mm256_setzero_si256 ());
2887*344a7f5eSAndroid Build Coastguard Worker }
2888*344a7f5eSAndroid Build Coastguard Worker 
2889*344a7f5eSAndroid Build Coastguard Worker 
2890*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_set1_epi8(__m128i __O,__mmask16 __M,char __A)2891*344a7f5eSAndroid Build Coastguard Worker _mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A)
2892*344a7f5eSAndroid Build Coastguard Worker {
2893*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
2894*344a7f5eSAndroid Build Coastguard Worker                  (__v16qi) __O,
2895*344a7f5eSAndroid Build Coastguard Worker                  __M);
2896*344a7f5eSAndroid Build Coastguard Worker }
2897*344a7f5eSAndroid Build Coastguard Worker 
2898*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_set1_epi8(__mmask16 __M,char __A)2899*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_set1_epi8 (__mmask16 __M, char __A)
2900*344a7f5eSAndroid Build Coastguard Worker {
2901*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
2902*344a7f5eSAndroid Build Coastguard Worker                  (__v16qi)
2903*344a7f5eSAndroid Build Coastguard Worker                  _mm_setzero_si128 (),
2904*344a7f5eSAndroid Build Coastguard Worker                  __M);
2905*344a7f5eSAndroid Build Coastguard Worker }
2906*344a7f5eSAndroid Build Coastguard Worker 
2907*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_set1_epi8(__m256i __O,__mmask32 __M,char __A)2908*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A)
2909*344a7f5eSAndroid Build Coastguard Worker {
2910*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
2911*344a7f5eSAndroid Build Coastguard Worker                  (__v32qi) __O,
2912*344a7f5eSAndroid Build Coastguard Worker                  __M);
2913*344a7f5eSAndroid Build Coastguard Worker }
2914*344a7f5eSAndroid Build Coastguard Worker 
2915*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_set1_epi8(__mmask32 __M,char __A)2916*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_set1_epi8 (__mmask32 __M, char __A)
2917*344a7f5eSAndroid Build Coastguard Worker {
2918*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
2919*344a7f5eSAndroid Build Coastguard Worker                  (__v32qi)
2920*344a7f5eSAndroid Build Coastguard Worker                  _mm256_setzero_si256 (),
2921*344a7f5eSAndroid Build Coastguard Worker                  __M);
2922*344a7f5eSAndroid Build Coastguard Worker }
2923*344a7f5eSAndroid Build Coastguard Worker 
2924*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_loadu_epi16(__m128i __W,__mmask8 __U,void const * __P)2925*344a7f5eSAndroid Build Coastguard Worker _mm_mask_loadu_epi16 (__m128i __W, __mmask8 __U, void const *__P)
2926*344a7f5eSAndroid Build Coastguard Worker {
2927*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
2928*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __W,
2929*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __U);
2930*344a7f5eSAndroid Build Coastguard Worker }
2931*344a7f5eSAndroid Build Coastguard Worker 
2932*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_loadu_epi16(__mmask8 __U,void const * __P)2933*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_loadu_epi16 (__mmask8 __U, void const *__P)
2934*344a7f5eSAndroid Build Coastguard Worker {
2935*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
2936*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi)
2937*344a7f5eSAndroid Build Coastguard Worker                  _mm_setzero_hi (),
2938*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __U);
2939*344a7f5eSAndroid Build Coastguard Worker }
2940*344a7f5eSAndroid Build Coastguard Worker 
2941*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_loadu_epi16(__m256i __W,__mmask16 __U,void const * __P)2942*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_loadu_epi16 (__m256i __W, __mmask16 __U, void const *__P)
2943*344a7f5eSAndroid Build Coastguard Worker {
2944*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
2945*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) __W,
2946*344a7f5eSAndroid Build Coastguard Worker                  (__mmask16) __U);
2947*344a7f5eSAndroid Build Coastguard Worker }
2948*344a7f5eSAndroid Build Coastguard Worker 
2949*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_loadu_epi16(__mmask16 __U,void const * __P)2950*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_loadu_epi16 (__mmask16 __U, void const *__P)
2951*344a7f5eSAndroid Build Coastguard Worker {
2952*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
2953*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi)
2954*344a7f5eSAndroid Build Coastguard Worker                  _mm256_setzero_si256 (),
2955*344a7f5eSAndroid Build Coastguard Worker                  (__mmask16) __U);
2956*344a7f5eSAndroid Build Coastguard Worker }
2957*344a7f5eSAndroid Build Coastguard Worker 
2958*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_loadu_epi8(__m128i __W,__mmask16 __U,void const * __P)2959*344a7f5eSAndroid Build Coastguard Worker _mm_mask_loadu_epi8 (__m128i __W, __mmask16 __U, void const *__P)
2960*344a7f5eSAndroid Build Coastguard Worker {
2961*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
2962*344a7f5eSAndroid Build Coastguard Worker                  (__v16qi) __W,
2963*344a7f5eSAndroid Build Coastguard Worker                  (__mmask16) __U);
2964*344a7f5eSAndroid Build Coastguard Worker }
2965*344a7f5eSAndroid Build Coastguard Worker 
2966*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_loadu_epi8(__mmask16 __U,void const * __P)2967*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_loadu_epi8 (__mmask16 __U, void const *__P)
2968*344a7f5eSAndroid Build Coastguard Worker {
2969*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
2970*344a7f5eSAndroid Build Coastguard Worker                  (__v16qi)
2971*344a7f5eSAndroid Build Coastguard Worker                  _mm_setzero_si128 (),
2972*344a7f5eSAndroid Build Coastguard Worker                  (__mmask16) __U);
2973*344a7f5eSAndroid Build Coastguard Worker }
2974*344a7f5eSAndroid Build Coastguard Worker 
2975*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_loadu_epi8(__m256i __W,__mmask32 __U,void const * __P)2976*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_loadu_epi8 (__m256i __W, __mmask32 __U, void const *__P)
2977*344a7f5eSAndroid Build Coastguard Worker {
2978*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
2979*344a7f5eSAndroid Build Coastguard Worker                  (__v32qi) __W,
2980*344a7f5eSAndroid Build Coastguard Worker                  (__mmask32) __U);
2981*344a7f5eSAndroid Build Coastguard Worker }
2982*344a7f5eSAndroid Build Coastguard Worker 
2983*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_loadu_epi8(__mmask32 __U,void const * __P)2984*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_loadu_epi8 (__mmask32 __U, void const *__P)
2985*344a7f5eSAndroid Build Coastguard Worker {
2986*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
2987*344a7f5eSAndroid Build Coastguard Worker                  (__v32qi)
2988*344a7f5eSAndroid Build Coastguard Worker                  _mm256_setzero_si256 (),
2989*344a7f5eSAndroid Build Coastguard Worker                  (__mmask32) __U);
2990*344a7f5eSAndroid Build Coastguard Worker }
2991*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm_mask_storeu_epi16(void * __P,__mmask8 __U,__m128i __A)2992*344a7f5eSAndroid Build Coastguard Worker _mm_mask_storeu_epi16 (void *__P, __mmask8 __U, __m128i __A)
2993*344a7f5eSAndroid Build Coastguard Worker {
2994*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_storedquhi128_mask ((__v8hi *) __P,
2995*344a7f5eSAndroid Build Coastguard Worker              (__v8hi) __A,
2996*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
2997*344a7f5eSAndroid Build Coastguard Worker }
2998*344a7f5eSAndroid Build Coastguard Worker 
2999*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm256_mask_storeu_epi16(void * __P,__mmask16 __U,__m256i __A)3000*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_storeu_epi16 (void *__P, __mmask16 __U, __m256i __A)
3001*344a7f5eSAndroid Build Coastguard Worker {
3002*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_storedquhi256_mask ((__v16hi *) __P,
3003*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __A,
3004*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
3005*344a7f5eSAndroid Build Coastguard Worker }
3006*344a7f5eSAndroid Build Coastguard Worker 
3007*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm_mask_storeu_epi8(void * __P,__mmask16 __U,__m128i __A)3008*344a7f5eSAndroid Build Coastguard Worker _mm_mask_storeu_epi8 (void *__P, __mmask16 __U, __m128i __A)
3009*344a7f5eSAndroid Build Coastguard Worker {
3010*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_storedquqi128_mask ((__v16qi *) __P,
3011*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __A,
3012*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) __U);
3013*344a7f5eSAndroid Build Coastguard Worker }
3014*344a7f5eSAndroid Build Coastguard Worker 
3015*344a7f5eSAndroid Build Coastguard Worker static __inline__ void __DEFAULT_FN_ATTRS
_mm256_mask_storeu_epi8(void * __P,__mmask32 __U,__m256i __A)3016*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A)
3017*344a7f5eSAndroid Build Coastguard Worker {
3018*344a7f5eSAndroid Build Coastguard Worker   __builtin_ia32_storedquqi256_mask ((__v32qi *) __P,
3019*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __A,
3020*344a7f5eSAndroid Build Coastguard Worker              (__mmask32) __U);
3021*344a7f5eSAndroid Build Coastguard Worker }
3022*344a7f5eSAndroid Build Coastguard Worker 
3023*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_test_epi8_mask(__m128i __A,__m128i __B)3024*344a7f5eSAndroid Build Coastguard Worker _mm_test_epi8_mask (__m128i __A, __m128i __B)
3025*344a7f5eSAndroid Build Coastguard Worker {
3026*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
3027*344a7f5eSAndroid Build Coastguard Worker             (__v16qi) __B,
3028*344a7f5eSAndroid Build Coastguard Worker             (__mmask16) -1);
3029*344a7f5eSAndroid Build Coastguard Worker }
3030*344a7f5eSAndroid Build Coastguard Worker 
3031*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_test_epi8_mask(__mmask16 __U,__m128i __A,__m128i __B)3032*344a7f5eSAndroid Build Coastguard Worker _mm_mask_test_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
3033*344a7f5eSAndroid Build Coastguard Worker {
3034*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
3035*344a7f5eSAndroid Build Coastguard Worker             (__v16qi) __B, __U);
3036*344a7f5eSAndroid Build Coastguard Worker }
3037*344a7f5eSAndroid Build Coastguard Worker 
3038*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_test_epi8_mask(__m256i __A,__m256i __B)3039*344a7f5eSAndroid Build Coastguard Worker _mm256_test_epi8_mask (__m256i __A, __m256i __B)
3040*344a7f5eSAndroid Build Coastguard Worker {
3041*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
3042*344a7f5eSAndroid Build Coastguard Worker             (__v32qi) __B,
3043*344a7f5eSAndroid Build Coastguard Worker             (__mmask32) -1);
3044*344a7f5eSAndroid Build Coastguard Worker }
3045*344a7f5eSAndroid Build Coastguard Worker 
3046*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_test_epi8_mask(__mmask32 __U,__m256i __A,__m256i __B)3047*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_test_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
3048*344a7f5eSAndroid Build Coastguard Worker {
3049*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
3050*344a7f5eSAndroid Build Coastguard Worker             (__v32qi) __B, __U);
3051*344a7f5eSAndroid Build Coastguard Worker }
3052*344a7f5eSAndroid Build Coastguard Worker 
3053*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_test_epi16_mask(__m128i __A,__m128i __B)3054*344a7f5eSAndroid Build Coastguard Worker _mm_test_epi16_mask (__m128i __A, __m128i __B)
3055*344a7f5eSAndroid Build Coastguard Worker {
3056*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
3057*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __B,
3058*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) -1);
3059*344a7f5eSAndroid Build Coastguard Worker }
3060*344a7f5eSAndroid Build Coastguard Worker 
3061*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_test_epi16_mask(__mmask8 __U,__m128i __A,__m128i __B)3062*344a7f5eSAndroid Build Coastguard Worker _mm_mask_test_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
3063*344a7f5eSAndroid Build Coastguard Worker {
3064*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
3065*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __B, __U);
3066*344a7f5eSAndroid Build Coastguard Worker }
3067*344a7f5eSAndroid Build Coastguard Worker 
3068*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_test_epi16_mask(__m256i __A,__m256i __B)3069*344a7f5eSAndroid Build Coastguard Worker _mm256_test_epi16_mask (__m256i __A, __m256i __B)
3070*344a7f5eSAndroid Build Coastguard Worker {
3071*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
3072*344a7f5eSAndroid Build Coastguard Worker             (__v16hi) __B,
3073*344a7f5eSAndroid Build Coastguard Worker             (__mmask16) -1);
3074*344a7f5eSAndroid Build Coastguard Worker }
3075*344a7f5eSAndroid Build Coastguard Worker 
3076*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_test_epi16_mask(__mmask16 __U,__m256i __A,__m256i __B)3077*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_test_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
3078*344a7f5eSAndroid Build Coastguard Worker {
3079*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
3080*344a7f5eSAndroid Build Coastguard Worker             (__v16hi) __B, __U);
3081*344a7f5eSAndroid Build Coastguard Worker }
3082*344a7f5eSAndroid Build Coastguard Worker 
3083*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_testn_epi8_mask(__m128i __A,__m128i __B)3084*344a7f5eSAndroid Build Coastguard Worker _mm_testn_epi8_mask (__m128i __A, __m128i __B)
3085*344a7f5eSAndroid Build Coastguard Worker {
3086*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
3087*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __B,
3088*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) -1);
3089*344a7f5eSAndroid Build Coastguard Worker }
3090*344a7f5eSAndroid Build Coastguard Worker 
3091*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_mask_testn_epi8_mask(__mmask16 __U,__m128i __A,__m128i __B)3092*344a7f5eSAndroid Build Coastguard Worker _mm_mask_testn_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
3093*344a7f5eSAndroid Build Coastguard Worker {
3094*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
3095*344a7f5eSAndroid Build Coastguard Worker              (__v16qi) __B, __U);
3096*344a7f5eSAndroid Build Coastguard Worker }
3097*344a7f5eSAndroid Build Coastguard Worker 
3098*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_testn_epi8_mask(__m256i __A,__m256i __B)3099*344a7f5eSAndroid Build Coastguard Worker _mm256_testn_epi8_mask (__m256i __A, __m256i __B)
3100*344a7f5eSAndroid Build Coastguard Worker {
3101*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
3102*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __B,
3103*344a7f5eSAndroid Build Coastguard Worker              (__mmask32) -1);
3104*344a7f5eSAndroid Build Coastguard Worker }
3105*344a7f5eSAndroid Build Coastguard Worker 
3106*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_mask_testn_epi8_mask(__mmask32 __U,__m256i __A,__m256i __B)3107*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_testn_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
3108*344a7f5eSAndroid Build Coastguard Worker {
3109*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
3110*344a7f5eSAndroid Build Coastguard Worker              (__v32qi) __B, __U);
3111*344a7f5eSAndroid Build Coastguard Worker }
3112*344a7f5eSAndroid Build Coastguard Worker 
3113*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_testn_epi16_mask(__m128i __A,__m128i __B)3114*344a7f5eSAndroid Build Coastguard Worker _mm_testn_epi16_mask (__m128i __A, __m128i __B)
3115*344a7f5eSAndroid Build Coastguard Worker {
3116*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
3117*344a7f5eSAndroid Build Coastguard Worker             (__v8hi) __B,
3118*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) -1);
3119*344a7f5eSAndroid Build Coastguard Worker }
3120*344a7f5eSAndroid Build Coastguard Worker 
3121*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_mask_testn_epi16_mask(__mmask8 __U,__m128i __A,__m128i __B)3122*344a7f5eSAndroid Build Coastguard Worker _mm_mask_testn_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
3123*344a7f5eSAndroid Build Coastguard Worker {
3124*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
3125*344a7f5eSAndroid Build Coastguard Worker             (__v8hi) __B, __U);
3126*344a7f5eSAndroid Build Coastguard Worker }
3127*344a7f5eSAndroid Build Coastguard Worker 
3128*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_testn_epi16_mask(__m256i __A,__m256i __B)3129*344a7f5eSAndroid Build Coastguard Worker _mm256_testn_epi16_mask (__m256i __A, __m256i __B)
3130*344a7f5eSAndroid Build Coastguard Worker {
3131*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
3132*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __B,
3133*344a7f5eSAndroid Build Coastguard Worker              (__mmask16) -1);
3134*344a7f5eSAndroid Build Coastguard Worker }
3135*344a7f5eSAndroid Build Coastguard Worker 
3136*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_mask_testn_epi16_mask(__mmask16 __U,__m256i __A,__m256i __B)3137*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_testn_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
3138*344a7f5eSAndroid Build Coastguard Worker {
3139*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
3140*344a7f5eSAndroid Build Coastguard Worker              (__v16hi) __B, __U);
3141*344a7f5eSAndroid Build Coastguard Worker }
3142*344a7f5eSAndroid Build Coastguard Worker 
3143*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm_movepi8_mask(__m128i __A)3144*344a7f5eSAndroid Build Coastguard Worker _mm_movepi8_mask (__m128i __A)
3145*344a7f5eSAndroid Build Coastguard Worker {
3146*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A);
3147*344a7f5eSAndroid Build Coastguard Worker }
3148*344a7f5eSAndroid Build Coastguard Worker 
3149*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask32 __DEFAULT_FN_ATTRS
_mm256_movepi8_mask(__m256i __A)3150*344a7f5eSAndroid Build Coastguard Worker _mm256_movepi8_mask (__m256i __A)
3151*344a7f5eSAndroid Build Coastguard Worker {
3152*344a7f5eSAndroid Build Coastguard Worker   return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A);
3153*344a7f5eSAndroid Build Coastguard Worker }
3154*344a7f5eSAndroid Build Coastguard Worker 
3155*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_movepi16_mask(__m128i __A)3156*344a7f5eSAndroid Build Coastguard Worker _mm_movepi16_mask (__m128i __A)
3157*344a7f5eSAndroid Build Coastguard Worker {
3158*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A);
3159*344a7f5eSAndroid Build Coastguard Worker }
3160*344a7f5eSAndroid Build Coastguard Worker 
3161*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm256_movepi16_mask(__m256i __A)3162*344a7f5eSAndroid Build Coastguard Worker _mm256_movepi16_mask (__m256i __A)
3163*344a7f5eSAndroid Build Coastguard Worker {
3164*344a7f5eSAndroid Build Coastguard Worker   return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A);
3165*344a7f5eSAndroid Build Coastguard Worker }
3166*344a7f5eSAndroid Build Coastguard Worker 
3167*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_movm_epi8(__mmask16 __A)3168*344a7f5eSAndroid Build Coastguard Worker _mm_movm_epi8 (__mmask16 __A)
3169*344a7f5eSAndroid Build Coastguard Worker {
3170*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtmask2b128 (__A);
3171*344a7f5eSAndroid Build Coastguard Worker }
3172*344a7f5eSAndroid Build Coastguard Worker 
3173*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_movm_epi8(__mmask32 __A)3174*344a7f5eSAndroid Build Coastguard Worker _mm256_movm_epi8 (__mmask32 __A)
3175*344a7f5eSAndroid Build Coastguard Worker {
3176*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtmask2b256 (__A);
3177*344a7f5eSAndroid Build Coastguard Worker }
3178*344a7f5eSAndroid Build Coastguard Worker 
3179*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_movm_epi16(__mmask8 __A)3180*344a7f5eSAndroid Build Coastguard Worker _mm_movm_epi16 (__mmask8 __A)
3181*344a7f5eSAndroid Build Coastguard Worker {
3182*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtmask2w128 (__A);
3183*344a7f5eSAndroid Build Coastguard Worker }
3184*344a7f5eSAndroid Build Coastguard Worker 
3185*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_movm_epi16(__mmask16 __A)3186*344a7f5eSAndroid Build Coastguard Worker _mm256_movm_epi16 (__mmask16 __A)
3187*344a7f5eSAndroid Build Coastguard Worker {
3188*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtmask2w256 (__A);
3189*344a7f5eSAndroid Build Coastguard Worker }
3190*344a7f5eSAndroid Build Coastguard Worker 
3191*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_broadcastb_epi8(__m128i __O,__mmask16 __M,__m128i __A)3192*344a7f5eSAndroid Build Coastguard Worker _mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A)
3193*344a7f5eSAndroid Build Coastguard Worker {
3194*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectb_128(__M,
3195*344a7f5eSAndroid Build Coastguard Worker                                              (__v16qi) _mm_broadcastb_epi8(__A),
3196*344a7f5eSAndroid Build Coastguard Worker                                              (__v16qi) __O);
3197*344a7f5eSAndroid Build Coastguard Worker }
3198*344a7f5eSAndroid Build Coastguard Worker 
3199*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_broadcastb_epi8(__mmask16 __M,__m128i __A)3200*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_broadcastb_epi8 (__mmask16 __M, __m128i __A)
3201*344a7f5eSAndroid Build Coastguard Worker {
3202*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectb_128(__M,
3203*344a7f5eSAndroid Build Coastguard Worker                                              (__v16qi) _mm_broadcastb_epi8(__A),
3204*344a7f5eSAndroid Build Coastguard Worker                                              (__v16qi) _mm_setzero_si128());
3205*344a7f5eSAndroid Build Coastguard Worker }
3206*344a7f5eSAndroid Build Coastguard Worker 
3207*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_broadcastb_epi8(__m256i __O,__mmask32 __M,__m128i __A)3208*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A)
3209*344a7f5eSAndroid Build Coastguard Worker {
3210*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectb_256(__M,
3211*344a7f5eSAndroid Build Coastguard Worker                                              (__v32qi) _mm256_broadcastb_epi8(__A),
3212*344a7f5eSAndroid Build Coastguard Worker                                              (__v32qi) __O);
3213*344a7f5eSAndroid Build Coastguard Worker }
3214*344a7f5eSAndroid Build Coastguard Worker 
3215*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_broadcastb_epi8(__mmask32 __M,__m128i __A)3216*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_broadcastb_epi8 (__mmask32 __M, __m128i __A)
3217*344a7f5eSAndroid Build Coastguard Worker {
3218*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectb_256(__M,
3219*344a7f5eSAndroid Build Coastguard Worker                                              (__v32qi) _mm256_broadcastb_epi8(__A),
3220*344a7f5eSAndroid Build Coastguard Worker                                              (__v32qi) _mm256_setzero_si256());
3221*344a7f5eSAndroid Build Coastguard Worker }
3222*344a7f5eSAndroid Build Coastguard Worker 
3223*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_broadcastw_epi16(__m128i __O,__mmask8 __M,__m128i __A)3224*344a7f5eSAndroid Build Coastguard Worker _mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
3225*344a7f5eSAndroid Build Coastguard Worker {
3226*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectw_128(__M,
3227*344a7f5eSAndroid Build Coastguard Worker                                              (__v8hi) _mm_broadcastw_epi16(__A),
3228*344a7f5eSAndroid Build Coastguard Worker                                              (__v8hi) __O);
3229*344a7f5eSAndroid Build Coastguard Worker }
3230*344a7f5eSAndroid Build Coastguard Worker 
3231*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_broadcastw_epi16(__mmask8 __M,__m128i __A)3232*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_broadcastw_epi16 (__mmask8 __M, __m128i __A)
3233*344a7f5eSAndroid Build Coastguard Worker {
3234*344a7f5eSAndroid Build Coastguard Worker   return (__m128i)__builtin_ia32_selectw_128(__M,
3235*344a7f5eSAndroid Build Coastguard Worker                                              (__v8hi) _mm_broadcastw_epi16(__A),
3236*344a7f5eSAndroid Build Coastguard Worker                                              (__v8hi) _mm_setzero_si128());
3237*344a7f5eSAndroid Build Coastguard Worker }
3238*344a7f5eSAndroid Build Coastguard Worker 
3239*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_broadcastw_epi16(__m256i __O,__mmask16 __M,__m128i __A)3240*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A)
3241*344a7f5eSAndroid Build Coastguard Worker {
3242*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectw_256(__M,
3243*344a7f5eSAndroid Build Coastguard Worker                                              (__v16hi) _mm256_broadcastw_epi16(__A),
3244*344a7f5eSAndroid Build Coastguard Worker                                              (__v16hi) __O);
3245*344a7f5eSAndroid Build Coastguard Worker }
3246*344a7f5eSAndroid Build Coastguard Worker 
3247*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_broadcastw_epi16(__mmask16 __M,__m128i __A)3248*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_broadcastw_epi16 (__mmask16 __M, __m128i __A)
3249*344a7f5eSAndroid Build Coastguard Worker {
3250*344a7f5eSAndroid Build Coastguard Worker   return (__m256i)__builtin_ia32_selectw_256(__M,
3251*344a7f5eSAndroid Build Coastguard Worker                                              (__v16hi) _mm256_broadcastw_epi16(__A),
3252*344a7f5eSAndroid Build Coastguard Worker                                              (__v16hi) _mm256_setzero_si256());
3253*344a7f5eSAndroid Build Coastguard Worker }
3254*344a7f5eSAndroid Build Coastguard Worker 
3255*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_set1_epi16(__m256i __O,__mmask16 __M,short __A)3256*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A)
3257*344a7f5eSAndroid Build Coastguard Worker {
3258*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
3259*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) __O,
3260*344a7f5eSAndroid Build Coastguard Worker                  __M);
3261*344a7f5eSAndroid Build Coastguard Worker }
3262*344a7f5eSAndroid Build Coastguard Worker 
3263*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_set1_epi16(__mmask16 __M,short __A)3264*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_set1_epi16 (__mmask16 __M, short __A)
3265*344a7f5eSAndroid Build Coastguard Worker {
3266*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
3267*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) _mm256_setzero_si256 (),
3268*344a7f5eSAndroid Build Coastguard Worker                  __M);
3269*344a7f5eSAndroid Build Coastguard Worker }
3270*344a7f5eSAndroid Build Coastguard Worker 
3271*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_set1_epi16(__m128i __O,__mmask8 __M,short __A)3272*344a7f5eSAndroid Build Coastguard Worker _mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A)
3273*344a7f5eSAndroid Build Coastguard Worker {
3274*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
3275*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __O,
3276*344a7f5eSAndroid Build Coastguard Worker                  __M);
3277*344a7f5eSAndroid Build Coastguard Worker }
3278*344a7f5eSAndroid Build Coastguard Worker 
3279*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_set1_epi16(__mmask8 __M,short __A)3280*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_set1_epi16 (__mmask8 __M, short __A)
3281*344a7f5eSAndroid Build Coastguard Worker {
3282*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
3283*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) _mm_setzero_si128 (),
3284*344a7f5eSAndroid Build Coastguard Worker                  __M);
3285*344a7f5eSAndroid Build Coastguard Worker }
3286*344a7f5eSAndroid Build Coastguard Worker 
3287*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_permutexvar_epi16(__m128i __A,__m128i __B)3288*344a7f5eSAndroid Build Coastguard Worker _mm_permutexvar_epi16 (__m128i __A, __m128i __B)
3289*344a7f5eSAndroid Build Coastguard Worker {
3290*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
3291*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __A,
3292*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) _mm_undefined_si128 (),
3293*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) -1);
3294*344a7f5eSAndroid Build Coastguard Worker }
3295*344a7f5eSAndroid Build Coastguard Worker 
3296*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_permutexvar_epi16(__mmask8 __M,__m128i __A,__m128i __B)3297*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
3298*344a7f5eSAndroid Build Coastguard Worker {
3299*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
3300*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __A,
3301*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) _mm_setzero_si128 (),
3302*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __M);
3303*344a7f5eSAndroid Build Coastguard Worker }
3304*344a7f5eSAndroid Build Coastguard Worker 
3305*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_permutexvar_epi16(__m128i __W,__mmask8 __M,__m128i __A,__m128i __B)3306*344a7f5eSAndroid Build Coastguard Worker _mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
3307*344a7f5eSAndroid Build Coastguard Worker           __m128i __B)
3308*344a7f5eSAndroid Build Coastguard Worker {
3309*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
3310*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __A,
3311*344a7f5eSAndroid Build Coastguard Worker                  (__v8hi) __W,
3312*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __M);
3313*344a7f5eSAndroid Build Coastguard Worker }
3314*344a7f5eSAndroid Build Coastguard Worker 
3315*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_permutexvar_epi16(__m256i __A,__m256i __B)3316*344a7f5eSAndroid Build Coastguard Worker _mm256_permutexvar_epi16 (__m256i __A, __m256i __B)
3317*344a7f5eSAndroid Build Coastguard Worker {
3318*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
3319*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) __A,
3320*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) _mm256_undefined_si256 (),
3321*344a7f5eSAndroid Build Coastguard Worker                  (__mmask16) -1);
3322*344a7f5eSAndroid Build Coastguard Worker }
3323*344a7f5eSAndroid Build Coastguard Worker 
3324*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_permutexvar_epi16(__mmask16 __M,__m256i __A,__m256i __B)3325*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_permutexvar_epi16 (__mmask16 __M, __m256i __A,
3326*344a7f5eSAndroid Build Coastguard Worker         __m256i __B)
3327*344a7f5eSAndroid Build Coastguard Worker {
3328*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
3329*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) __A,
3330*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) _mm256_setzero_si256 (),
3331*344a7f5eSAndroid Build Coastguard Worker                  (__mmask16) __M);
3332*344a7f5eSAndroid Build Coastguard Worker }
3333*344a7f5eSAndroid Build Coastguard Worker 
3334*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_permutexvar_epi16(__m256i __W,__mmask16 __M,__m256i __A,__m256i __B)3335*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
3336*344a7f5eSAndroid Build Coastguard Worker              __m256i __B)
3337*344a7f5eSAndroid Build Coastguard Worker {
3338*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
3339*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) __A,
3340*344a7f5eSAndroid Build Coastguard Worker                  (__v16hi) __W,
3341*344a7f5eSAndroid Build Coastguard Worker                  (__mmask16) __M);
3342*344a7f5eSAndroid Build Coastguard Worker }
3343*344a7f5eSAndroid Build Coastguard Worker 
3344*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_alignr_epi8(W, U, A, B, N) __extension__ ({ \
3345*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_palignr128_mask((__v16qi)(__m128i)(A), \
3346*344a7f5eSAndroid Build Coastguard Worker                                           (__v16qi)(__m128i)(B), (int)(N), \
3347*344a7f5eSAndroid Build Coastguard Worker                                           (__v16qi)(__m128i)(W), \
3348*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask16)(U)); })
3349*344a7f5eSAndroid Build Coastguard Worker 
3350*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_alignr_epi8(U, A, B, N) __extension__ ({ \
3351*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_palignr128_mask((__v16qi)(__m128i)(A), \
3352*344a7f5eSAndroid Build Coastguard Worker                                           (__v16qi)(__m128i)(B), (int)(N), \
3353*344a7f5eSAndroid Build Coastguard Worker                                           (__v16qi)_mm_setzero_si128(), \
3354*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask16)(U)); })
3355*344a7f5eSAndroid Build Coastguard Worker 
3356*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_alignr_epi8(W, U, A, B, N) __extension__ ({ \
3357*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_palignr256_mask((__v32qi)(__m256i)(A), \
3358*344a7f5eSAndroid Build Coastguard Worker                                           (__v32qi)(__m256i)(B), (int)(N), \
3359*344a7f5eSAndroid Build Coastguard Worker                                           (__v32qi)(__m256i)(W), \
3360*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask32)(U)); })
3361*344a7f5eSAndroid Build Coastguard Worker 
3362*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_alignr_epi8(U, A, B, N) __extension__ ({ \
3363*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_palignr256_mask((__v32qi)(__m256i)(A), \
3364*344a7f5eSAndroid Build Coastguard Worker                                           (__v32qi)(__m256i)(B), (int)(N), \
3365*344a7f5eSAndroid Build Coastguard Worker                                           (__v32qi)_mm256_setzero_si256(), \
3366*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask32)(U)); })
3367*344a7f5eSAndroid Build Coastguard Worker 
3368*344a7f5eSAndroid Build Coastguard Worker #define _mm_dbsad_epu8(A, B, imm) __extension__ ({ \
3369*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_dbpsadbw128_mask((__v16qi)(__m128i)(A), \
3370*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)(__m128i)(B), (int)(imm), \
3371*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)_mm_setzero_hi(), \
3372*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)-1); })
3373*344a7f5eSAndroid Build Coastguard Worker 
3374*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_dbsad_epu8(W, U, A, B, imm) __extension__ ({ \
3375*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_dbpsadbw128_mask((__v16qi)(__m128i)(A), \
3376*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)(__m128i)(B), (int)(imm), \
3377*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)(__m128i)(W), \
3378*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)(U)); })
3379*344a7f5eSAndroid Build Coastguard Worker 
3380*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_dbsad_epu8(U, A, B, imm) __extension__ ({ \
3381*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_dbpsadbw128_mask((__v16qi)(__m128i)(A), \
3382*344a7f5eSAndroid Build Coastguard Worker                                            (__v16qi)(__m128i)(B), (int)(imm), \
3383*344a7f5eSAndroid Build Coastguard Worker                                            (__v8hi)_mm_setzero_si128(), \
3384*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)(U)); })
3385*344a7f5eSAndroid Build Coastguard Worker 
3386*344a7f5eSAndroid Build Coastguard Worker #define _mm256_dbsad_epu8(A, B, imm) __extension__ ({ \
3387*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_dbpsadbw256_mask((__v32qi)(__m256i)(A), \
3388*344a7f5eSAndroid Build Coastguard Worker                                            (__v32qi)(__m256i)(B), (int)(imm), \
3389*344a7f5eSAndroid Build Coastguard Worker                                            (__v16hi)_mm256_setzero_si256(), \
3390*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask16)-1); })
3391*344a7f5eSAndroid Build Coastguard Worker 
3392*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_dbsad_epu8(W, U, A, B, imm) __extension__ ({ \
3393*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_dbpsadbw256_mask((__v32qi)(__m256i)(A), \
3394*344a7f5eSAndroid Build Coastguard Worker                                            (__v32qi)(__m256i)(B), (int)(imm), \
3395*344a7f5eSAndroid Build Coastguard Worker                                            (__v16hi)(__m256i)(W), \
3396*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask16)(U)); })
3397*344a7f5eSAndroid Build Coastguard Worker 
3398*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_dbsad_epu8(U, A, B, imm) __extension__ ({ \
3399*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_dbpsadbw256_mask((__v32qi)(__m256i)(A), \
3400*344a7f5eSAndroid Build Coastguard Worker                                            (__v32qi)(__m256i)(B), (int)(imm), \
3401*344a7f5eSAndroid Build Coastguard Worker                                            (__v16hi)_mm256_setzero_si256(), \
3402*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask16)(U)); })
3403*344a7f5eSAndroid Build Coastguard Worker 
3404*344a7f5eSAndroid Build Coastguard Worker #undef __DEFAULT_FN_ATTRS
3405*344a7f5eSAndroid Build Coastguard Worker 
3406*344a7f5eSAndroid Build Coastguard Worker #endif /* __AVX512VLBWINTRIN_H */
3407