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