xref: /aosp_15_r20/prebuilts/sdk/renderscript/clang-include/avx512vldqintrin.h (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1*344a7f5eSAndroid Build Coastguard Worker /*===---- avx512vldqintrin.h - AVX512VL and AVX512DQ intrinsics ------------===
2*344a7f5eSAndroid Build Coastguard Worker  *
3*344a7f5eSAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a copy
4*344a7f5eSAndroid Build Coastguard Worker  * of this software and associated documentation files (the "Software"), to deal
5*344a7f5eSAndroid Build Coastguard Worker  * in the Software without restriction, including without limitation the rights
6*344a7f5eSAndroid Build Coastguard Worker  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7*344a7f5eSAndroid Build Coastguard Worker  * copies of the Software, and to permit persons to whom the Software is
8*344a7f5eSAndroid Build Coastguard Worker  * furnished to do so, subject to the following conditions:
9*344a7f5eSAndroid Build Coastguard Worker  *
10*344a7f5eSAndroid Build Coastguard Worker  * The above copyright notice and this permission notice shall be included in
11*344a7f5eSAndroid Build Coastguard Worker  * all copies or substantial portions of the Software.
12*344a7f5eSAndroid Build Coastguard Worker  *
13*344a7f5eSAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14*344a7f5eSAndroid Build Coastguard Worker  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15*344a7f5eSAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16*344a7f5eSAndroid Build Coastguard Worker  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17*344a7f5eSAndroid Build Coastguard Worker  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18*344a7f5eSAndroid Build Coastguard Worker  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19*344a7f5eSAndroid Build Coastguard Worker  * THE SOFTWARE.
20*344a7f5eSAndroid Build Coastguard Worker  *
21*344a7f5eSAndroid Build Coastguard Worker  *===-----------------------------------------------------------------------===
22*344a7f5eSAndroid Build Coastguard Worker  */
23*344a7f5eSAndroid Build Coastguard Worker 
24*344a7f5eSAndroid Build Coastguard Worker #ifndef __IMMINTRIN_H
25*344a7f5eSAndroid Build Coastguard Worker #error "Never use <avx512vldqintrin.h> directly; include <immintrin.h> instead."
26*344a7f5eSAndroid Build Coastguard Worker #endif
27*344a7f5eSAndroid Build Coastguard Worker 
28*344a7f5eSAndroid Build Coastguard Worker #ifndef __AVX512VLDQINTRIN_H
29*344a7f5eSAndroid Build Coastguard Worker #define __AVX512VLDQINTRIN_H
30*344a7f5eSAndroid Build Coastguard Worker 
31*344a7f5eSAndroid Build Coastguard Worker /* Define the default attributes for the functions in this file. */
32*344a7f5eSAndroid Build Coastguard Worker #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512dq")))
33*344a7f5eSAndroid Build Coastguard Worker 
34*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mullo_epi64(__m256i __A,__m256i __B)35*344a7f5eSAndroid Build Coastguard Worker _mm256_mullo_epi64 (__m256i __A, __m256i __B) {
36*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) ((__v4du) __A * (__v4du) __B);
37*344a7f5eSAndroid Build Coastguard Worker }
38*344a7f5eSAndroid Build Coastguard Worker 
39*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_mullo_epi64(__m256i __W,__mmask8 __U,__m256i __A,__m256i __B)40*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
41*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
42*344a7f5eSAndroid Build Coastguard Worker               (__v4di) __B,
43*344a7f5eSAndroid Build Coastguard Worker               (__v4di) __W,
44*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
45*344a7f5eSAndroid Build Coastguard Worker }
46*344a7f5eSAndroid Build Coastguard Worker 
47*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_mullo_epi64(__mmask8 __U,__m256i __A,__m256i __B)48*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
49*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
50*344a7f5eSAndroid Build Coastguard Worker               (__v4di) __B,
51*344a7f5eSAndroid Build Coastguard Worker               (__v4di)
52*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_si256 (),
53*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
54*344a7f5eSAndroid Build Coastguard Worker }
55*344a7f5eSAndroid Build Coastguard Worker 
56*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mullo_epi64(__m128i __A,__m128i __B)57*344a7f5eSAndroid Build Coastguard Worker _mm_mullo_epi64 (__m128i __A, __m128i __B) {
58*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) ((__v2du) __A * (__v2du) __B);
59*344a7f5eSAndroid Build Coastguard Worker }
60*344a7f5eSAndroid Build Coastguard Worker 
61*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_mullo_epi64(__m128i __W,__mmask8 __U,__m128i __A,__m128i __B)62*344a7f5eSAndroid Build Coastguard Worker _mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
63*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
64*344a7f5eSAndroid Build Coastguard Worker               (__v2di) __B,
65*344a7f5eSAndroid Build Coastguard Worker               (__v2di) __W,
66*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
67*344a7f5eSAndroid Build Coastguard Worker }
68*344a7f5eSAndroid Build Coastguard Worker 
69*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_mullo_epi64(__mmask8 __U,__m128i __A,__m128i __B)70*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
71*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
72*344a7f5eSAndroid Build Coastguard Worker               (__v2di) __B,
73*344a7f5eSAndroid Build Coastguard Worker               (__v2di)
74*344a7f5eSAndroid Build Coastguard Worker               _mm_setzero_si128 (),
75*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
76*344a7f5eSAndroid Build Coastguard Worker }
77*344a7f5eSAndroid Build Coastguard Worker 
78*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_mask_andnot_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)79*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_andnot_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
80*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
81*344a7f5eSAndroid Build Coastguard Worker               (__v4df) __B,
82*344a7f5eSAndroid Build Coastguard Worker               (__v4df) __W,
83*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
84*344a7f5eSAndroid Build Coastguard Worker }
85*344a7f5eSAndroid Build Coastguard Worker 
86*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_maskz_andnot_pd(__mmask8 __U,__m256d __A,__m256d __B)87*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_andnot_pd (__mmask8 __U, __m256d __A, __m256d __B) {
88*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
89*344a7f5eSAndroid Build Coastguard Worker               (__v4df) __B,
90*344a7f5eSAndroid Build Coastguard Worker               (__v4df)
91*344a7f5eSAndroid Build Coastguard Worker               _mm256_setzero_pd (),
92*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
93*344a7f5eSAndroid Build Coastguard Worker }
94*344a7f5eSAndroid Build Coastguard Worker 
95*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_mask_andnot_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)96*344a7f5eSAndroid Build Coastguard Worker _mm_mask_andnot_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
97*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
98*344a7f5eSAndroid Build Coastguard Worker               (__v2df) __B,
99*344a7f5eSAndroid Build Coastguard Worker               (__v2df) __W,
100*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
101*344a7f5eSAndroid Build Coastguard Worker }
102*344a7f5eSAndroid Build Coastguard Worker 
103*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_maskz_andnot_pd(__mmask8 __U,__m128d __A,__m128d __B)104*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_andnot_pd (__mmask8 __U, __m128d __A, __m128d __B) {
105*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
106*344a7f5eSAndroid Build Coastguard Worker               (__v2df) __B,
107*344a7f5eSAndroid Build Coastguard Worker               (__v2df)
108*344a7f5eSAndroid Build Coastguard Worker               _mm_setzero_pd (),
109*344a7f5eSAndroid Build Coastguard Worker               (__mmask8) __U);
110*344a7f5eSAndroid Build Coastguard Worker }
111*344a7f5eSAndroid Build Coastguard Worker 
112*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_mask_andnot_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)113*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_andnot_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
114*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
115*344a7f5eSAndroid Build Coastguard Worker              (__v8sf) __B,
116*344a7f5eSAndroid Build Coastguard Worker              (__v8sf) __W,
117*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
118*344a7f5eSAndroid Build Coastguard Worker }
119*344a7f5eSAndroid Build Coastguard Worker 
120*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_maskz_andnot_ps(__mmask8 __U,__m256 __A,__m256 __B)121*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_andnot_ps (__mmask8 __U, __m256 __A, __m256 __B) {
122*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
123*344a7f5eSAndroid Build Coastguard Worker              (__v8sf) __B,
124*344a7f5eSAndroid Build Coastguard Worker              (__v8sf)
125*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_ps (),
126*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
127*344a7f5eSAndroid Build Coastguard Worker }
128*344a7f5eSAndroid Build Coastguard Worker 
129*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_mask_andnot_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)130*344a7f5eSAndroid Build Coastguard Worker _mm_mask_andnot_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
131*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
132*344a7f5eSAndroid Build Coastguard Worker              (__v4sf) __B,
133*344a7f5eSAndroid Build Coastguard Worker              (__v4sf) __W,
134*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
135*344a7f5eSAndroid Build Coastguard Worker }
136*344a7f5eSAndroid Build Coastguard Worker 
137*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_maskz_andnot_ps(__mmask8 __U,__m128 __A,__m128 __B)138*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_andnot_ps (__mmask8 __U, __m128 __A, __m128 __B) {
139*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
140*344a7f5eSAndroid Build Coastguard Worker              (__v4sf) __B,
141*344a7f5eSAndroid Build Coastguard Worker              (__v4sf)
142*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_ps (),
143*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
144*344a7f5eSAndroid Build Coastguard Worker }
145*344a7f5eSAndroid Build Coastguard Worker 
146*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_mask_and_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)147*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_and_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
148*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
149*344a7f5eSAndroid Build Coastguard Worker              (__v4df) __B,
150*344a7f5eSAndroid Build Coastguard Worker              (__v4df) __W,
151*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
152*344a7f5eSAndroid Build Coastguard Worker }
153*344a7f5eSAndroid Build Coastguard Worker 
154*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_maskz_and_pd(__mmask8 __U,__m256d __A,__m256d __B)155*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_and_pd (__mmask8 __U, __m256d __A, __m256d __B) {
156*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
157*344a7f5eSAndroid Build Coastguard Worker              (__v4df) __B,
158*344a7f5eSAndroid Build Coastguard Worker              (__v4df)
159*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_pd (),
160*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
161*344a7f5eSAndroid Build Coastguard Worker }
162*344a7f5eSAndroid Build Coastguard Worker 
163*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_mask_and_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)164*344a7f5eSAndroid Build Coastguard Worker _mm_mask_and_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
165*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
166*344a7f5eSAndroid Build Coastguard Worker              (__v2df) __B,
167*344a7f5eSAndroid Build Coastguard Worker              (__v2df) __W,
168*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
169*344a7f5eSAndroid Build Coastguard Worker }
170*344a7f5eSAndroid Build Coastguard Worker 
171*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_maskz_and_pd(__mmask8 __U,__m128d __A,__m128d __B)172*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_and_pd (__mmask8 __U, __m128d __A, __m128d __B) {
173*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
174*344a7f5eSAndroid Build Coastguard Worker              (__v2df) __B,
175*344a7f5eSAndroid Build Coastguard Worker              (__v2df)
176*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_pd (),
177*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
178*344a7f5eSAndroid Build Coastguard Worker }
179*344a7f5eSAndroid Build Coastguard Worker 
180*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_mask_and_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)181*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_and_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
182*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
183*344a7f5eSAndroid Build Coastguard Worker             (__v8sf) __B,
184*344a7f5eSAndroid Build Coastguard Worker             (__v8sf) __W,
185*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
186*344a7f5eSAndroid Build Coastguard Worker }
187*344a7f5eSAndroid Build Coastguard Worker 
188*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_maskz_and_ps(__mmask8 __U,__m256 __A,__m256 __B)189*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_and_ps (__mmask8 __U, __m256 __A, __m256 __B) {
190*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
191*344a7f5eSAndroid Build Coastguard Worker             (__v8sf) __B,
192*344a7f5eSAndroid Build Coastguard Worker             (__v8sf)
193*344a7f5eSAndroid Build Coastguard Worker             _mm256_setzero_ps (),
194*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
195*344a7f5eSAndroid Build Coastguard Worker }
196*344a7f5eSAndroid Build Coastguard Worker 
197*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_mask_and_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)198*344a7f5eSAndroid Build Coastguard Worker _mm_mask_and_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
199*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
200*344a7f5eSAndroid Build Coastguard Worker             (__v4sf) __B,
201*344a7f5eSAndroid Build Coastguard Worker             (__v4sf) __W,
202*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
203*344a7f5eSAndroid Build Coastguard Worker }
204*344a7f5eSAndroid Build Coastguard Worker 
205*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_maskz_and_ps(__mmask8 __U,__m128 __A,__m128 __B)206*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_and_ps (__mmask8 __U, __m128 __A, __m128 __B) {
207*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
208*344a7f5eSAndroid Build Coastguard Worker             (__v4sf) __B,
209*344a7f5eSAndroid Build Coastguard Worker             (__v4sf)
210*344a7f5eSAndroid Build Coastguard Worker             _mm_setzero_ps (),
211*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
212*344a7f5eSAndroid Build Coastguard Worker }
213*344a7f5eSAndroid Build Coastguard Worker 
214*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_mask_xor_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)215*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_xor_pd (__m256d __W, __mmask8 __U, __m256d __A,
216*344a7f5eSAndroid Build Coastguard Worker         __m256d __B) {
217*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
218*344a7f5eSAndroid Build Coastguard Worker              (__v4df) __B,
219*344a7f5eSAndroid Build Coastguard Worker              (__v4df) __W,
220*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
221*344a7f5eSAndroid Build Coastguard Worker }
222*344a7f5eSAndroid Build Coastguard Worker 
223*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_maskz_xor_pd(__mmask8 __U,__m256d __A,__m256d __B)224*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_xor_pd (__mmask8 __U, __m256d __A, __m256d __B) {
225*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
226*344a7f5eSAndroid Build Coastguard Worker              (__v4df) __B,
227*344a7f5eSAndroid Build Coastguard Worker              (__v4df)
228*344a7f5eSAndroid Build Coastguard Worker              _mm256_setzero_pd (),
229*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
230*344a7f5eSAndroid Build Coastguard Worker }
231*344a7f5eSAndroid Build Coastguard Worker 
232*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_mask_xor_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)233*344a7f5eSAndroid Build Coastguard Worker _mm_mask_xor_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
234*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
235*344a7f5eSAndroid Build Coastguard Worker              (__v2df) __B,
236*344a7f5eSAndroid Build Coastguard Worker              (__v2df) __W,
237*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
238*344a7f5eSAndroid Build Coastguard Worker }
239*344a7f5eSAndroid Build Coastguard Worker 
240*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_maskz_xor_pd(__mmask8 __U,__m128d __A,__m128d __B)241*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B) {
242*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
243*344a7f5eSAndroid Build Coastguard Worker              (__v2df) __B,
244*344a7f5eSAndroid Build Coastguard Worker              (__v2df)
245*344a7f5eSAndroid Build Coastguard Worker              _mm_setzero_pd (),
246*344a7f5eSAndroid Build Coastguard Worker              (__mmask8) __U);
247*344a7f5eSAndroid Build Coastguard Worker }
248*344a7f5eSAndroid Build Coastguard Worker 
249*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_mask_xor_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)250*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_xor_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
251*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
252*344a7f5eSAndroid Build Coastguard Worker             (__v8sf) __B,
253*344a7f5eSAndroid Build Coastguard Worker             (__v8sf) __W,
254*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
255*344a7f5eSAndroid Build Coastguard Worker }
256*344a7f5eSAndroid Build Coastguard Worker 
257*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_maskz_xor_ps(__mmask8 __U,__m256 __A,__m256 __B)258*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_xor_ps (__mmask8 __U, __m256 __A, __m256 __B) {
259*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
260*344a7f5eSAndroid Build Coastguard Worker             (__v8sf) __B,
261*344a7f5eSAndroid Build Coastguard Worker             (__v8sf)
262*344a7f5eSAndroid Build Coastguard Worker             _mm256_setzero_ps (),
263*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
264*344a7f5eSAndroid Build Coastguard Worker }
265*344a7f5eSAndroid Build Coastguard Worker 
266*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_mask_xor_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)267*344a7f5eSAndroid Build Coastguard Worker _mm_mask_xor_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
268*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
269*344a7f5eSAndroid Build Coastguard Worker             (__v4sf) __B,
270*344a7f5eSAndroid Build Coastguard Worker             (__v4sf) __W,
271*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
272*344a7f5eSAndroid Build Coastguard Worker }
273*344a7f5eSAndroid Build Coastguard Worker 
274*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_maskz_xor_ps(__mmask8 __U,__m128 __A,__m128 __B)275*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_xor_ps (__mmask8 __U, __m128 __A, __m128 __B) {
276*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
277*344a7f5eSAndroid Build Coastguard Worker             (__v4sf) __B,
278*344a7f5eSAndroid Build Coastguard Worker             (__v4sf)
279*344a7f5eSAndroid Build Coastguard Worker             _mm_setzero_ps (),
280*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
281*344a7f5eSAndroid Build Coastguard Worker }
282*344a7f5eSAndroid Build Coastguard Worker 
283*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_mask_or_pd(__m256d __W,__mmask8 __U,__m256d __A,__m256d __B)284*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_or_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
285*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
286*344a7f5eSAndroid Build Coastguard Worker             (__v4df) __B,
287*344a7f5eSAndroid Build Coastguard Worker             (__v4df) __W,
288*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
289*344a7f5eSAndroid Build Coastguard Worker }
290*344a7f5eSAndroid Build Coastguard Worker 
291*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_maskz_or_pd(__mmask8 __U,__m256d __A,__m256d __B)292*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_or_pd (__mmask8 __U, __m256d __A, __m256d __B) {
293*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
294*344a7f5eSAndroid Build Coastguard Worker             (__v4df) __B,
295*344a7f5eSAndroid Build Coastguard Worker             (__v4df)
296*344a7f5eSAndroid Build Coastguard Worker             _mm256_setzero_pd (),
297*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
298*344a7f5eSAndroid Build Coastguard Worker }
299*344a7f5eSAndroid Build Coastguard Worker 
300*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_mask_or_pd(__m128d __W,__mmask8 __U,__m128d __A,__m128d __B)301*344a7f5eSAndroid Build Coastguard Worker _mm_mask_or_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
302*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
303*344a7f5eSAndroid Build Coastguard Worker             (__v2df) __B,
304*344a7f5eSAndroid Build Coastguard Worker             (__v2df) __W,
305*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
306*344a7f5eSAndroid Build Coastguard Worker }
307*344a7f5eSAndroid Build Coastguard Worker 
308*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_maskz_or_pd(__mmask8 __U,__m128d __A,__m128d __B)309*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_or_pd (__mmask8 __U, __m128d __A, __m128d __B) {
310*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
311*344a7f5eSAndroid Build Coastguard Worker             (__v2df) __B,
312*344a7f5eSAndroid Build Coastguard Worker             (__v2df)
313*344a7f5eSAndroid Build Coastguard Worker             _mm_setzero_pd (),
314*344a7f5eSAndroid Build Coastguard Worker             (__mmask8) __U);
315*344a7f5eSAndroid Build Coastguard Worker }
316*344a7f5eSAndroid Build Coastguard Worker 
317*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_mask_or_ps(__m256 __W,__mmask8 __U,__m256 __A,__m256 __B)318*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_or_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
319*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
320*344a7f5eSAndroid Build Coastguard Worker                  (__v8sf) __B,
321*344a7f5eSAndroid Build Coastguard Worker                  (__v8sf) __W,
322*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __U);
323*344a7f5eSAndroid Build Coastguard Worker }
324*344a7f5eSAndroid Build Coastguard Worker 
325*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_maskz_or_ps(__mmask8 __U,__m256 __A,__m256 __B)326*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_or_ps (__mmask8 __U, __m256 __A, __m256 __B) {
327*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
328*344a7f5eSAndroid Build Coastguard Worker                  (__v8sf) __B,
329*344a7f5eSAndroid Build Coastguard Worker                  (__v8sf)
330*344a7f5eSAndroid Build Coastguard Worker                  _mm256_setzero_ps (),
331*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __U);
332*344a7f5eSAndroid Build Coastguard Worker }
333*344a7f5eSAndroid Build Coastguard Worker 
334*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_mask_or_ps(__m128 __W,__mmask8 __U,__m128 __A,__m128 __B)335*344a7f5eSAndroid Build Coastguard Worker _mm_mask_or_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
336*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
337*344a7f5eSAndroid Build Coastguard Worker                  (__v4sf) __B,
338*344a7f5eSAndroid Build Coastguard Worker                  (__v4sf) __W,
339*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __U);
340*344a7f5eSAndroid Build Coastguard Worker }
341*344a7f5eSAndroid Build Coastguard Worker 
342*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_maskz_or_ps(__mmask8 __U,__m128 __A,__m128 __B)343*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_or_ps (__mmask8 __U, __m128 __A, __m128 __B) {
344*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
345*344a7f5eSAndroid Build Coastguard Worker                  (__v4sf) __B,
346*344a7f5eSAndroid Build Coastguard Worker                  (__v4sf)
347*344a7f5eSAndroid Build Coastguard Worker                  _mm_setzero_ps (),
348*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) __U);
349*344a7f5eSAndroid Build Coastguard Worker }
350*344a7f5eSAndroid Build Coastguard Worker 
351*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvtpd_epi64(__m128d __A)352*344a7f5eSAndroid Build Coastguard Worker _mm_cvtpd_epi64 (__m128d __A) {
353*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
354*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
355*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
356*344a7f5eSAndroid Build Coastguard Worker }
357*344a7f5eSAndroid Build Coastguard Worker 
358*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtpd_epi64(__m128i __W,__mmask8 __U,__m128d __A)359*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
360*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
361*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
362*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
363*344a7f5eSAndroid Build Coastguard Worker }
364*344a7f5eSAndroid Build Coastguard Worker 
365*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtpd_epi64(__mmask8 __U,__m128d __A)366*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A) {
367*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
368*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
369*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
370*344a7f5eSAndroid Build Coastguard Worker }
371*344a7f5eSAndroid Build Coastguard Worker 
372*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvtpd_epi64(__m256d __A)373*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtpd_epi64 (__m256d __A) {
374*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
375*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
376*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
377*344a7f5eSAndroid Build Coastguard Worker }
378*344a7f5eSAndroid Build Coastguard Worker 
379*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvtpd_epi64(__m256i __W,__mmask8 __U,__m256d __A)380*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
381*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
382*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
383*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
384*344a7f5eSAndroid Build Coastguard Worker }
385*344a7f5eSAndroid Build Coastguard Worker 
386*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtpd_epi64(__mmask8 __U,__m256d __A)387*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A) {
388*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
389*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
390*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
391*344a7f5eSAndroid Build Coastguard Worker }
392*344a7f5eSAndroid Build Coastguard Worker 
393*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvtpd_epu64(__m128d __A)394*344a7f5eSAndroid Build Coastguard Worker _mm_cvtpd_epu64 (__m128d __A) {
395*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
396*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
397*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
398*344a7f5eSAndroid Build Coastguard Worker }
399*344a7f5eSAndroid Build Coastguard Worker 
400*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtpd_epu64(__m128i __W,__mmask8 __U,__m128d __A)401*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
402*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
403*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
404*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
405*344a7f5eSAndroid Build Coastguard Worker }
406*344a7f5eSAndroid Build Coastguard Worker 
407*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtpd_epu64(__mmask8 __U,__m128d __A)408*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A) {
409*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
410*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
411*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
412*344a7f5eSAndroid Build Coastguard Worker }
413*344a7f5eSAndroid Build Coastguard Worker 
414*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvtpd_epu64(__m256d __A)415*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtpd_epu64 (__m256d __A) {
416*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
417*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
418*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
419*344a7f5eSAndroid Build Coastguard Worker }
420*344a7f5eSAndroid Build Coastguard Worker 
421*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvtpd_epu64(__m256i __W,__mmask8 __U,__m256d __A)422*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
423*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
424*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
425*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
426*344a7f5eSAndroid Build Coastguard Worker }
427*344a7f5eSAndroid Build Coastguard Worker 
428*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtpd_epu64(__mmask8 __U,__m256d __A)429*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A) {
430*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
431*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
432*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
433*344a7f5eSAndroid Build Coastguard Worker }
434*344a7f5eSAndroid Build Coastguard Worker 
435*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvtps_epi64(__m128 __A)436*344a7f5eSAndroid Build Coastguard Worker _mm_cvtps_epi64 (__m128 __A) {
437*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
438*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
439*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
440*344a7f5eSAndroid Build Coastguard Worker }
441*344a7f5eSAndroid Build Coastguard Worker 
442*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtps_epi64(__m128i __W,__mmask8 __U,__m128 __A)443*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
444*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
445*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
446*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
447*344a7f5eSAndroid Build Coastguard Worker }
448*344a7f5eSAndroid Build Coastguard Worker 
449*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtps_epi64(__mmask8 __U,__m128 __A)450*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
451*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
452*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
453*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
454*344a7f5eSAndroid Build Coastguard Worker }
455*344a7f5eSAndroid Build Coastguard Worker 
456*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvtps_epi64(__m128 __A)457*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtps_epi64 (__m128 __A) {
458*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
459*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
460*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
461*344a7f5eSAndroid Build Coastguard Worker }
462*344a7f5eSAndroid Build Coastguard Worker 
463*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvtps_epi64(__m256i __W,__mmask8 __U,__m128 __A)464*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
465*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
466*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
467*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
468*344a7f5eSAndroid Build Coastguard Worker }
469*344a7f5eSAndroid Build Coastguard Worker 
470*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtps_epi64(__mmask8 __U,__m128 __A)471*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
472*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
473*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
474*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
475*344a7f5eSAndroid Build Coastguard Worker }
476*344a7f5eSAndroid Build Coastguard Worker 
477*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvtps_epu64(__m128 __A)478*344a7f5eSAndroid Build Coastguard Worker _mm_cvtps_epu64 (__m128 __A) {
479*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
480*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
481*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
482*344a7f5eSAndroid Build Coastguard Worker }
483*344a7f5eSAndroid Build Coastguard Worker 
484*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvtps_epu64(__m128i __W,__mmask8 __U,__m128 __A)485*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
486*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
487*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
488*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
489*344a7f5eSAndroid Build Coastguard Worker }
490*344a7f5eSAndroid Build Coastguard Worker 
491*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvtps_epu64(__mmask8 __U,__m128 __A)492*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
493*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
494*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
495*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
496*344a7f5eSAndroid Build Coastguard Worker }
497*344a7f5eSAndroid Build Coastguard Worker 
498*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvtps_epu64(__m128 __A)499*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtps_epu64 (__m128 __A) {
500*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
501*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
502*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
503*344a7f5eSAndroid Build Coastguard Worker }
504*344a7f5eSAndroid Build Coastguard Worker 
505*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvtps_epu64(__m256i __W,__mmask8 __U,__m128 __A)506*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
507*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
508*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
509*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
510*344a7f5eSAndroid Build Coastguard Worker }
511*344a7f5eSAndroid Build Coastguard Worker 
512*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvtps_epu64(__mmask8 __U,__m128 __A)513*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
514*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
515*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
516*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
517*344a7f5eSAndroid Build Coastguard Worker }
518*344a7f5eSAndroid Build Coastguard Worker 
519*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_cvtepi64_pd(__m128i __A)520*344a7f5eSAndroid Build Coastguard Worker _mm_cvtepi64_pd (__m128i __A) {
521*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
522*344a7f5eSAndroid Build Coastguard Worker                 (__v2df) _mm_setzero_pd(),
523*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
524*344a7f5eSAndroid Build Coastguard Worker }
525*344a7f5eSAndroid Build Coastguard Worker 
526*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_mask_cvtepi64_pd(__m128d __W,__mmask8 __U,__m128i __A)527*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
528*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
529*344a7f5eSAndroid Build Coastguard Worker                 (__v2df) __W,
530*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
531*344a7f5eSAndroid Build Coastguard Worker }
532*344a7f5eSAndroid Build Coastguard Worker 
533*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_maskz_cvtepi64_pd(__mmask8 __U,__m128i __A)534*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A) {
535*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
536*344a7f5eSAndroid Build Coastguard Worker                 (__v2df) _mm_setzero_pd(),
537*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
538*344a7f5eSAndroid Build Coastguard Worker }
539*344a7f5eSAndroid Build Coastguard Worker 
540*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_cvtepi64_pd(__m256i __A)541*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtepi64_pd (__m256i __A) {
542*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
543*344a7f5eSAndroid Build Coastguard Worker                 (__v4df) _mm256_setzero_pd(),
544*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
545*344a7f5eSAndroid Build Coastguard Worker }
546*344a7f5eSAndroid Build Coastguard Worker 
547*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_mask_cvtepi64_pd(__m256d __W,__mmask8 __U,__m256i __A)548*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
549*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
550*344a7f5eSAndroid Build Coastguard Worker                 (__v4df) __W,
551*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
552*344a7f5eSAndroid Build Coastguard Worker }
553*344a7f5eSAndroid Build Coastguard Worker 
554*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_maskz_cvtepi64_pd(__mmask8 __U,__m256i __A)555*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A) {
556*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
557*344a7f5eSAndroid Build Coastguard Worker                 (__v4df) _mm256_setzero_pd(),
558*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
559*344a7f5eSAndroid Build Coastguard Worker }
560*344a7f5eSAndroid Build Coastguard Worker 
561*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_cvtepi64_ps(__m128i __A)562*344a7f5eSAndroid Build Coastguard Worker _mm_cvtepi64_ps (__m128i __A) {
563*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
564*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
565*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
566*344a7f5eSAndroid Build Coastguard Worker }
567*344a7f5eSAndroid Build Coastguard Worker 
568*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_mask_cvtepi64_ps(__m128 __W,__mmask8 __U,__m128i __A)569*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
570*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
571*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) __W,
572*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
573*344a7f5eSAndroid Build Coastguard Worker }
574*344a7f5eSAndroid Build Coastguard Worker 
575*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_maskz_cvtepi64_ps(__mmask8 __U,__m128i __A)576*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) {
577*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
578*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
579*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
580*344a7f5eSAndroid Build Coastguard Worker }
581*344a7f5eSAndroid Build Coastguard Worker 
582*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm256_cvtepi64_ps(__m256i __A)583*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtepi64_ps (__m256i __A) {
584*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
585*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
586*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
587*344a7f5eSAndroid Build Coastguard Worker }
588*344a7f5eSAndroid Build Coastguard Worker 
589*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm256_mask_cvtepi64_ps(__m128 __W,__mmask8 __U,__m256i __A)590*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
591*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
592*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) __W,
593*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
594*344a7f5eSAndroid Build Coastguard Worker }
595*344a7f5eSAndroid Build Coastguard Worker 
596*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm256_maskz_cvtepi64_ps(__mmask8 __U,__m256i __A)597*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A) {
598*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
599*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
600*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
601*344a7f5eSAndroid Build Coastguard Worker }
602*344a7f5eSAndroid Build Coastguard Worker 
603*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvttpd_epi64(__m128d __A)604*344a7f5eSAndroid Build Coastguard Worker _mm_cvttpd_epi64 (__m128d __A) {
605*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
606*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
607*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
608*344a7f5eSAndroid Build Coastguard Worker }
609*344a7f5eSAndroid Build Coastguard Worker 
610*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvttpd_epi64(__m128i __W,__mmask8 __U,__m128d __A)611*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
612*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
613*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
614*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
615*344a7f5eSAndroid Build Coastguard Worker }
616*344a7f5eSAndroid Build Coastguard Worker 
617*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvttpd_epi64(__mmask8 __U,__m128d __A)618*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A) {
619*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
620*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
621*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
622*344a7f5eSAndroid Build Coastguard Worker }
623*344a7f5eSAndroid Build Coastguard Worker 
624*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvttpd_epi64(__m256d __A)625*344a7f5eSAndroid Build Coastguard Worker _mm256_cvttpd_epi64 (__m256d __A) {
626*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
627*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
628*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
629*344a7f5eSAndroid Build Coastguard Worker }
630*344a7f5eSAndroid Build Coastguard Worker 
631*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvttpd_epi64(__m256i __W,__mmask8 __U,__m256d __A)632*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
633*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
634*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
635*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
636*344a7f5eSAndroid Build Coastguard Worker }
637*344a7f5eSAndroid Build Coastguard Worker 
638*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvttpd_epi64(__mmask8 __U,__m256d __A)639*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A) {
640*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
641*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
642*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
643*344a7f5eSAndroid Build Coastguard Worker }
644*344a7f5eSAndroid Build Coastguard Worker 
645*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvttpd_epu64(__m128d __A)646*344a7f5eSAndroid Build Coastguard Worker _mm_cvttpd_epu64 (__m128d __A) {
647*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
648*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
649*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
650*344a7f5eSAndroid Build Coastguard Worker }
651*344a7f5eSAndroid Build Coastguard Worker 
652*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvttpd_epu64(__m128i __W,__mmask8 __U,__m128d __A)653*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
654*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
655*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
656*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
657*344a7f5eSAndroid Build Coastguard Worker }
658*344a7f5eSAndroid Build Coastguard Worker 
659*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvttpd_epu64(__mmask8 __U,__m128d __A)660*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A) {
661*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
662*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
663*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
664*344a7f5eSAndroid Build Coastguard Worker }
665*344a7f5eSAndroid Build Coastguard Worker 
666*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvttpd_epu64(__m256d __A)667*344a7f5eSAndroid Build Coastguard Worker _mm256_cvttpd_epu64 (__m256d __A) {
668*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
669*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
670*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
671*344a7f5eSAndroid Build Coastguard Worker }
672*344a7f5eSAndroid Build Coastguard Worker 
673*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvttpd_epu64(__m256i __W,__mmask8 __U,__m256d __A)674*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
675*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
676*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
677*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
678*344a7f5eSAndroid Build Coastguard Worker }
679*344a7f5eSAndroid Build Coastguard Worker 
680*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvttpd_epu64(__mmask8 __U,__m256d __A)681*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A) {
682*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
683*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
684*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
685*344a7f5eSAndroid Build Coastguard Worker }
686*344a7f5eSAndroid Build Coastguard Worker 
687*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvttps_epi64(__m128 __A)688*344a7f5eSAndroid Build Coastguard Worker _mm_cvttps_epi64 (__m128 __A) {
689*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
690*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
691*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
692*344a7f5eSAndroid Build Coastguard Worker }
693*344a7f5eSAndroid Build Coastguard Worker 
694*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvttps_epi64(__m128i __W,__mmask8 __U,__m128 __A)695*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
696*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
697*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
698*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
699*344a7f5eSAndroid Build Coastguard Worker }
700*344a7f5eSAndroid Build Coastguard Worker 
701*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvttps_epi64(__mmask8 __U,__m128 __A)702*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
703*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
704*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
705*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
706*344a7f5eSAndroid Build Coastguard Worker }
707*344a7f5eSAndroid Build Coastguard Worker 
708*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvttps_epi64(__m128 __A)709*344a7f5eSAndroid Build Coastguard Worker _mm256_cvttps_epi64 (__m128 __A) {
710*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
711*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
712*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
713*344a7f5eSAndroid Build Coastguard Worker }
714*344a7f5eSAndroid Build Coastguard Worker 
715*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvttps_epi64(__m256i __W,__mmask8 __U,__m128 __A)716*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
717*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
718*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
719*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
720*344a7f5eSAndroid Build Coastguard Worker }
721*344a7f5eSAndroid Build Coastguard Worker 
722*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvttps_epi64(__mmask8 __U,__m128 __A)723*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
724*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
725*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
726*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
727*344a7f5eSAndroid Build Coastguard Worker }
728*344a7f5eSAndroid Build Coastguard Worker 
729*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_cvttps_epu64(__m128 __A)730*344a7f5eSAndroid Build Coastguard Worker _mm_cvttps_epu64 (__m128 __A) {
731*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
732*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
733*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
734*344a7f5eSAndroid Build Coastguard Worker }
735*344a7f5eSAndroid Build Coastguard Worker 
736*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_cvttps_epu64(__m128i __W,__mmask8 __U,__m128 __A)737*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
738*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
739*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) __W,
740*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
741*344a7f5eSAndroid Build Coastguard Worker }
742*344a7f5eSAndroid Build Coastguard Worker 
743*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_cvttps_epu64(__mmask8 __U,__m128 __A)744*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
745*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
746*344a7f5eSAndroid Build Coastguard Worker                 (__v2di) _mm_setzero_si128(),
747*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
748*344a7f5eSAndroid Build Coastguard Worker }
749*344a7f5eSAndroid Build Coastguard Worker 
750*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_cvttps_epu64(__m128 __A)751*344a7f5eSAndroid Build Coastguard Worker _mm256_cvttps_epu64 (__m128 __A) {
752*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
753*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
754*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
755*344a7f5eSAndroid Build Coastguard Worker }
756*344a7f5eSAndroid Build Coastguard Worker 
757*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_cvttps_epu64(__m256i __W,__mmask8 __U,__m128 __A)758*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
759*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
760*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) __W,
761*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
762*344a7f5eSAndroid Build Coastguard Worker }
763*344a7f5eSAndroid Build Coastguard Worker 
764*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_cvttps_epu64(__mmask8 __U,__m128 __A)765*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
766*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
767*344a7f5eSAndroid Build Coastguard Worker                 (__v4di) _mm256_setzero_si256(),
768*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
769*344a7f5eSAndroid Build Coastguard Worker }
770*344a7f5eSAndroid Build Coastguard Worker 
771*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_cvtepu64_pd(__m128i __A)772*344a7f5eSAndroid Build Coastguard Worker _mm_cvtepu64_pd (__m128i __A) {
773*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
774*344a7f5eSAndroid Build Coastguard Worker                 (__v2df) _mm_setzero_pd(),
775*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
776*344a7f5eSAndroid Build Coastguard Worker }
777*344a7f5eSAndroid Build Coastguard Worker 
778*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_mask_cvtepu64_pd(__m128d __W,__mmask8 __U,__m128i __A)779*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
780*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
781*344a7f5eSAndroid Build Coastguard Worker                 (__v2df) __W,
782*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
783*344a7f5eSAndroid Build Coastguard Worker }
784*344a7f5eSAndroid Build Coastguard Worker 
785*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128d __DEFAULT_FN_ATTRS
_mm_maskz_cvtepu64_pd(__mmask8 __U,__m128i __A)786*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A) {
787*344a7f5eSAndroid Build Coastguard Worker   return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
788*344a7f5eSAndroid Build Coastguard Worker                 (__v2df) _mm_setzero_pd(),
789*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
790*344a7f5eSAndroid Build Coastguard Worker }
791*344a7f5eSAndroid Build Coastguard Worker 
792*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_cvtepu64_pd(__m256i __A)793*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtepu64_pd (__m256i __A) {
794*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
795*344a7f5eSAndroid Build Coastguard Worker                 (__v4df) _mm256_setzero_pd(),
796*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
797*344a7f5eSAndroid Build Coastguard Worker }
798*344a7f5eSAndroid Build Coastguard Worker 
799*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_mask_cvtepu64_pd(__m256d __W,__mmask8 __U,__m256i __A)800*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
801*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
802*344a7f5eSAndroid Build Coastguard Worker                 (__v4df) __W,
803*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
804*344a7f5eSAndroid Build Coastguard Worker }
805*344a7f5eSAndroid Build Coastguard Worker 
806*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_maskz_cvtepu64_pd(__mmask8 __U,__m256i __A)807*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A) {
808*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
809*344a7f5eSAndroid Build Coastguard Worker                 (__v4df) _mm256_setzero_pd(),
810*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
811*344a7f5eSAndroid Build Coastguard Worker }
812*344a7f5eSAndroid Build Coastguard Worker 
813*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_cvtepu64_ps(__m128i __A)814*344a7f5eSAndroid Build Coastguard Worker _mm_cvtepu64_ps (__m128i __A) {
815*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
816*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
817*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
818*344a7f5eSAndroid Build Coastguard Worker }
819*344a7f5eSAndroid Build Coastguard Worker 
820*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_mask_cvtepu64_ps(__m128 __W,__mmask8 __U,__m128i __A)821*344a7f5eSAndroid Build Coastguard Worker _mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
822*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
823*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) __W,
824*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
825*344a7f5eSAndroid Build Coastguard Worker }
826*344a7f5eSAndroid Build Coastguard Worker 
827*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_maskz_cvtepu64_ps(__mmask8 __U,__m128i __A)828*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) {
829*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
830*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
831*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
832*344a7f5eSAndroid Build Coastguard Worker }
833*344a7f5eSAndroid Build Coastguard Worker 
834*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm256_cvtepu64_ps(__m256i __A)835*344a7f5eSAndroid Build Coastguard Worker _mm256_cvtepu64_ps (__m256i __A) {
836*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
837*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
838*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
839*344a7f5eSAndroid Build Coastguard Worker }
840*344a7f5eSAndroid Build Coastguard Worker 
841*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm256_mask_cvtepu64_ps(__m128 __W,__mmask8 __U,__m256i __A)842*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
843*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
844*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) __W,
845*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
846*344a7f5eSAndroid Build Coastguard Worker }
847*344a7f5eSAndroid Build Coastguard Worker 
848*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm256_maskz_cvtepu64_ps(__mmask8 __U,__m256i __A)849*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) {
850*344a7f5eSAndroid Build Coastguard Worker   return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
851*344a7f5eSAndroid Build Coastguard Worker                 (__v4sf) _mm_setzero_ps(),
852*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) __U);
853*344a7f5eSAndroid Build Coastguard Worker }
854*344a7f5eSAndroid Build Coastguard Worker 
855*344a7f5eSAndroid Build Coastguard Worker #define _mm_range_pd(A, B, C) __extension__ ({                         \
856*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_rangepd128_mask((__v2df)(__m128d)(A), \
857*344a7f5eSAndroid Build Coastguard Worker                                           (__v2df)(__m128d)(B), (int)(C), \
858*344a7f5eSAndroid Build Coastguard Worker                                           (__v2df)_mm_setzero_pd(), \
859*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)-1); })
860*344a7f5eSAndroid Build Coastguard Worker 
861*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_range_pd(W, U, A, B, C) __extension__ ({          \
862*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_rangepd128_mask((__v2df)(__m128d)(A), \
863*344a7f5eSAndroid Build Coastguard Worker                                           (__v2df)(__m128d)(B), (int)(C), \
864*344a7f5eSAndroid Build Coastguard Worker                                           (__v2df)(__m128d)(W), \
865*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
866*344a7f5eSAndroid Build Coastguard Worker 
867*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_range_pd(U, A, B, C) __extension__ ({              \
868*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_rangepd128_mask((__v2df)(__m128d)(A), \
869*344a7f5eSAndroid Build Coastguard Worker                                           (__v2df)(__m128d)(B), (int)(C), \
870*344a7f5eSAndroid Build Coastguard Worker                                           (__v2df)_mm_setzero_pd(), \
871*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
872*344a7f5eSAndroid Build Coastguard Worker 
873*344a7f5eSAndroid Build Coastguard Worker #define _mm256_range_pd(A, B, C) __extension__ ({                      \
874*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_rangepd256_mask((__v4df)(__m256d)(A), \
875*344a7f5eSAndroid Build Coastguard Worker                                           (__v4df)(__m256d)(B), (int)(C), \
876*344a7f5eSAndroid Build Coastguard Worker                                           (__v4df)_mm256_setzero_pd(), \
877*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)-1); })
878*344a7f5eSAndroid Build Coastguard Worker 
879*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_range_pd(W, U, A, B, C) __extension__ ({       \
880*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_rangepd256_mask((__v4df)(__m256d)(A), \
881*344a7f5eSAndroid Build Coastguard Worker                                           (__v4df)(__m256d)(B), (int)(C), \
882*344a7f5eSAndroid Build Coastguard Worker                                           (__v4df)(__m256d)(W), \
883*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
884*344a7f5eSAndroid Build Coastguard Worker 
885*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_range_pd(U, A, B, C) __extension__ ({           \
886*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_rangepd256_mask((__v4df)(__m256d)(A), \
887*344a7f5eSAndroid Build Coastguard Worker                                           (__v4df)(__m256d)(B), (int)(C), \
888*344a7f5eSAndroid Build Coastguard Worker                                           (__v4df)_mm256_setzero_pd(), \
889*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
890*344a7f5eSAndroid Build Coastguard Worker 
891*344a7f5eSAndroid Build Coastguard Worker #define _mm_range_ps(A, B, C) __extension__ ({                         \
892*344a7f5eSAndroid Build Coastguard Worker   (__m128)__builtin_ia32_rangeps128_mask((__v4sf)(__m128)(A), \
893*344a7f5eSAndroid Build Coastguard Worker                                          (__v4sf)(__m128)(B), (int)(C), \
894*344a7f5eSAndroid Build Coastguard Worker                                          (__v4sf)_mm_setzero_ps(), \
895*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)-1); })
896*344a7f5eSAndroid Build Coastguard Worker 
897*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_range_ps(W, U, A, B, C) __extension__ ({          \
898*344a7f5eSAndroid Build Coastguard Worker   (__m128)__builtin_ia32_rangeps128_mask((__v4sf)(__m128)(A), \
899*344a7f5eSAndroid Build Coastguard Worker                                          (__v4sf)(__m128)(B), (int)(C), \
900*344a7f5eSAndroid Build Coastguard Worker                                          (__v4sf)(__m128)(W), (__mmask8)(U)); })
901*344a7f5eSAndroid Build Coastguard Worker 
902*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_range_ps(U, A, B, C) __extension__ ({              \
903*344a7f5eSAndroid Build Coastguard Worker   (__m128)__builtin_ia32_rangeps128_mask((__v4sf)(__m128)(A), \
904*344a7f5eSAndroid Build Coastguard Worker                                          (__v4sf)(__m128)(B), (int)(C), \
905*344a7f5eSAndroid Build Coastguard Worker                                          (__v4sf)_mm_setzero_ps(), \
906*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
907*344a7f5eSAndroid Build Coastguard Worker 
908*344a7f5eSAndroid Build Coastguard Worker #define _mm256_range_ps(A, B, C) __extension__ ({                      \
909*344a7f5eSAndroid Build Coastguard Worker   (__m256)__builtin_ia32_rangeps256_mask((__v8sf)(__m256)(A), \
910*344a7f5eSAndroid Build Coastguard Worker                                          (__v8sf)(__m256)(B), (int)(C), \
911*344a7f5eSAndroid Build Coastguard Worker                                          (__v8sf)_mm256_setzero_ps(), \
912*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)-1); })
913*344a7f5eSAndroid Build Coastguard Worker 
914*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_range_ps(W, U, A, B, C) __extension__ ({       \
915*344a7f5eSAndroid Build Coastguard Worker   (__m256)__builtin_ia32_rangeps256_mask((__v8sf)(__m256)(A), \
916*344a7f5eSAndroid Build Coastguard Worker                                          (__v8sf)(__m256)(B), (int)(C), \
917*344a7f5eSAndroid Build Coastguard Worker                                          (__v8sf)(__m256)(W), (__mmask8)(U)); })
918*344a7f5eSAndroid Build Coastguard Worker 
919*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_range_ps(U, A, B, C) __extension__ ({           \
920*344a7f5eSAndroid Build Coastguard Worker   (__m256)__builtin_ia32_rangeps256_mask((__v8sf)(__m256)(A), \
921*344a7f5eSAndroid Build Coastguard Worker                                          (__v8sf)(__m256)(B), (int)(C), \
922*344a7f5eSAndroid Build Coastguard Worker                                          (__v8sf)_mm256_setzero_ps(), \
923*344a7f5eSAndroid Build Coastguard Worker                                          (__mmask8)(U)); })
924*344a7f5eSAndroid Build Coastguard Worker 
925*344a7f5eSAndroid Build Coastguard Worker #define _mm_reduce_pd(A, B) __extension__ ({                \
926*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_reducepd128_mask((__v2df)(__m128d)(A), (int)(B), \
927*344a7f5eSAndroid Build Coastguard Worker                                            (__v2df)_mm_setzero_pd(), \
928*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)-1); })
929*344a7f5eSAndroid Build Coastguard Worker 
930*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_reduce_pd(W, U, A, B) __extension__ ({ \
931*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_reducepd128_mask((__v2df)(__m128d)(A), (int)(B), \
932*344a7f5eSAndroid Build Coastguard Worker                                            (__v2df)(__m128d)(W), \
933*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)(U)); })
934*344a7f5eSAndroid Build Coastguard Worker 
935*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_reduce_pd(U, A, B) __extension__ ({     \
936*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_reducepd128_mask((__v2df)(__m128d)(A), (int)(B), \
937*344a7f5eSAndroid Build Coastguard Worker                                            (__v2df)_mm_setzero_pd(), \
938*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)(U)); })
939*344a7f5eSAndroid Build Coastguard Worker 
940*344a7f5eSAndroid Build Coastguard Worker #define _mm256_reduce_pd(A, B) __extension__ ({                \
941*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_reducepd256_mask((__v4df)(__m256d)(A), (int)(B), \
942*344a7f5eSAndroid Build Coastguard Worker                                            (__v4df)_mm256_setzero_pd(), \
943*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)-1); })
944*344a7f5eSAndroid Build Coastguard Worker 
945*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_reduce_pd(W, U, A, B) __extension__ ({ \
946*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_reducepd256_mask((__v4df)(__m256d)(A), (int)(B), \
947*344a7f5eSAndroid Build Coastguard Worker                                            (__v4df)(__m256d)(W), \
948*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)(U)); })
949*344a7f5eSAndroid Build Coastguard Worker 
950*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_reduce_pd(U, A, B) __extension__ ({     \
951*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_reducepd256_mask((__v4df)(__m256d)(A), (int)(B), \
952*344a7f5eSAndroid Build Coastguard Worker                                            (__v4df)_mm256_setzero_pd(), \
953*344a7f5eSAndroid Build Coastguard Worker                                            (__mmask8)(U)); })
954*344a7f5eSAndroid Build Coastguard Worker 
955*344a7f5eSAndroid Build Coastguard Worker #define _mm_reduce_ps(A, B) __extension__ ({                   \
956*344a7f5eSAndroid Build Coastguard Worker   (__m128)__builtin_ia32_reduceps128_mask((__v4sf)(__m128)(A), (int)(B), \
957*344a7f5eSAndroid Build Coastguard Worker                                           (__v4sf)_mm_setzero_ps(), \
958*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)-1); })
959*344a7f5eSAndroid Build Coastguard Worker 
960*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_reduce_ps(W, U, A, B) __extension__ ({    \
961*344a7f5eSAndroid Build Coastguard Worker   (__m128)__builtin_ia32_reduceps128_mask((__v4sf)(__m128)(A), (int)(B), \
962*344a7f5eSAndroid Build Coastguard Worker                                           (__v4sf)(__m128)(W), \
963*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
964*344a7f5eSAndroid Build Coastguard Worker 
965*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_reduce_ps(U, A, B) __extension__ ({        \
966*344a7f5eSAndroid Build Coastguard Worker   (__m128)__builtin_ia32_reduceps128_mask((__v4sf)(__m128)(A), (int)(B), \
967*344a7f5eSAndroid Build Coastguard Worker                                           (__v4sf)_mm_setzero_ps(), \
968*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
969*344a7f5eSAndroid Build Coastguard Worker 
970*344a7f5eSAndroid Build Coastguard Worker #define _mm256_reduce_ps(A, B) __extension__ ({                \
971*344a7f5eSAndroid Build Coastguard Worker   (__m256)__builtin_ia32_reduceps256_mask((__v8sf)(__m256)(A), (int)(B), \
972*344a7f5eSAndroid Build Coastguard Worker                                           (__v8sf)_mm256_setzero_ps(), \
973*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)-1); })
974*344a7f5eSAndroid Build Coastguard Worker 
975*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_reduce_ps(W, U, A, B) __extension__ ({ \
976*344a7f5eSAndroid Build Coastguard Worker   (__m256)__builtin_ia32_reduceps256_mask((__v8sf)(__m256)(A), (int)(B), \
977*344a7f5eSAndroid Build Coastguard Worker                                           (__v8sf)(__m256)(W), \
978*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
979*344a7f5eSAndroid Build Coastguard Worker 
980*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_reduce_ps(U, A, B) __extension__ ({     \
981*344a7f5eSAndroid Build Coastguard Worker   (__m256)__builtin_ia32_reduceps256_mask((__v8sf)(__m256)(A), (int)(B), \
982*344a7f5eSAndroid Build Coastguard Worker                                           (__v8sf)_mm256_setzero_ps(), \
983*344a7f5eSAndroid Build Coastguard Worker                                           (__mmask8)(U)); })
984*344a7f5eSAndroid Build Coastguard Worker 
985*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_movepi32_mask(__m128i __A)986*344a7f5eSAndroid Build Coastguard Worker _mm_movepi32_mask (__m128i __A)
987*344a7f5eSAndroid Build Coastguard Worker {
988*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_cvtd2mask128 ((__v4si) __A);
989*344a7f5eSAndroid Build Coastguard Worker }
990*344a7f5eSAndroid Build Coastguard Worker 
991*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm256_movepi32_mask(__m256i __A)992*344a7f5eSAndroid Build Coastguard Worker _mm256_movepi32_mask (__m256i __A)
993*344a7f5eSAndroid Build Coastguard Worker {
994*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_cvtd2mask256 ((__v8si) __A);
995*344a7f5eSAndroid Build Coastguard Worker }
996*344a7f5eSAndroid Build Coastguard Worker 
997*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_movm_epi32(__mmask8 __A)998*344a7f5eSAndroid Build Coastguard Worker _mm_movm_epi32 (__mmask8 __A)
999*344a7f5eSAndroid Build Coastguard Worker {
1000*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtmask2d128 (__A);
1001*344a7f5eSAndroid Build Coastguard Worker }
1002*344a7f5eSAndroid Build Coastguard Worker 
1003*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_movm_epi32(__mmask8 __A)1004*344a7f5eSAndroid Build Coastguard Worker _mm256_movm_epi32 (__mmask8 __A)
1005*344a7f5eSAndroid Build Coastguard Worker {
1006*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtmask2d256 (__A);
1007*344a7f5eSAndroid Build Coastguard Worker }
1008*344a7f5eSAndroid Build Coastguard Worker 
1009*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_movm_epi64(__mmask8 __A)1010*344a7f5eSAndroid Build Coastguard Worker _mm_movm_epi64 (__mmask8 __A)
1011*344a7f5eSAndroid Build Coastguard Worker {
1012*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_cvtmask2q128 (__A);
1013*344a7f5eSAndroid Build Coastguard Worker }
1014*344a7f5eSAndroid Build Coastguard Worker 
1015*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_movm_epi64(__mmask8 __A)1016*344a7f5eSAndroid Build Coastguard Worker _mm256_movm_epi64 (__mmask8 __A)
1017*344a7f5eSAndroid Build Coastguard Worker {
1018*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_cvtmask2q256 (__A);
1019*344a7f5eSAndroid Build Coastguard Worker }
1020*344a7f5eSAndroid Build Coastguard Worker 
1021*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm_movepi64_mask(__m128i __A)1022*344a7f5eSAndroid Build Coastguard Worker _mm_movepi64_mask (__m128i __A)
1023*344a7f5eSAndroid Build Coastguard Worker {
1024*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_cvtq2mask128 ((__v2di) __A);
1025*344a7f5eSAndroid Build Coastguard Worker }
1026*344a7f5eSAndroid Build Coastguard Worker 
1027*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm256_movepi64_mask(__m256i __A)1028*344a7f5eSAndroid Build Coastguard Worker _mm256_movepi64_mask (__m256i __A)
1029*344a7f5eSAndroid Build Coastguard Worker {
1030*344a7f5eSAndroid Build Coastguard Worker   return (__mmask8) __builtin_ia32_cvtq2mask256 ((__v4di) __A);
1031*344a7f5eSAndroid Build Coastguard Worker }
1032*344a7f5eSAndroid Build Coastguard Worker 
1033*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_broadcast_f32x2(__m128 __A)1034*344a7f5eSAndroid Build Coastguard Worker _mm256_broadcast_f32x2 (__m128 __A)
1035*344a7f5eSAndroid Build Coastguard Worker {
1036*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
1037*344a7f5eSAndroid Build Coastguard Worker                 (__v8sf)_mm256_undefined_ps(),
1038*344a7f5eSAndroid Build Coastguard Worker                 (__mmask8) -1);
1039*344a7f5eSAndroid Build Coastguard Worker }
1040*344a7f5eSAndroid Build Coastguard Worker 
1041*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_mask_broadcast_f32x2(__m256 __O,__mmask8 __M,__m128 __A)1042*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_broadcast_f32x2 (__m256 __O, __mmask8 __M, __m128 __A)
1043*344a7f5eSAndroid Build Coastguard Worker {
1044*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
1045*344a7f5eSAndroid Build Coastguard Worker                 (__v8sf) __O,
1046*344a7f5eSAndroid Build Coastguard Worker                 __M);
1047*344a7f5eSAndroid Build Coastguard Worker }
1048*344a7f5eSAndroid Build Coastguard Worker 
1049*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm256_maskz_broadcast_f32x2(__mmask8 __M,__m128 __A)1050*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_broadcast_f32x2 (__mmask8 __M, __m128 __A)
1051*344a7f5eSAndroid Build Coastguard Worker {
1052*344a7f5eSAndroid Build Coastguard Worker   return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
1053*344a7f5eSAndroid Build Coastguard Worker                 (__v8sf) _mm256_setzero_ps (),
1054*344a7f5eSAndroid Build Coastguard Worker                 __M);
1055*344a7f5eSAndroid Build Coastguard Worker }
1056*344a7f5eSAndroid Build Coastguard Worker 
1057*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_broadcast_f64x2(__m128d __A)1058*344a7f5eSAndroid Build Coastguard Worker _mm256_broadcast_f64x2 (__m128d __A)
1059*344a7f5eSAndroid Build Coastguard Worker {
1060*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df) __A,
1061*344a7f5eSAndroid Build Coastguard Worker                  (__v4df)_mm256_undefined_pd(),
1062*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) -1);
1063*344a7f5eSAndroid Build Coastguard Worker }
1064*344a7f5eSAndroid Build Coastguard Worker 
1065*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_mask_broadcast_f64x2(__m256d __O,__mmask8 __M,__m128d __A)1066*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_broadcast_f64x2 (__m256d __O, __mmask8 __M, __m128d __A)
1067*344a7f5eSAndroid Build Coastguard Worker {
1068*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df) __A,
1069*344a7f5eSAndroid Build Coastguard Worker                  (__v4df) __O,
1070*344a7f5eSAndroid Build Coastguard Worker                  __M);
1071*344a7f5eSAndroid Build Coastguard Worker }
1072*344a7f5eSAndroid Build Coastguard Worker 
1073*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256d __DEFAULT_FN_ATTRS
_mm256_maskz_broadcast_f64x2(__mmask8 __M,__m128d __A)1074*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
1075*344a7f5eSAndroid Build Coastguard Worker {
1076*344a7f5eSAndroid Build Coastguard Worker   return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df) __A,
1077*344a7f5eSAndroid Build Coastguard Worker                  (__v4df) _mm256_setzero_ps (),
1078*344a7f5eSAndroid Build Coastguard Worker                  __M);
1079*344a7f5eSAndroid Build Coastguard Worker }
1080*344a7f5eSAndroid Build Coastguard Worker 
1081*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_broadcast_i32x2(__m128i __A)1082*344a7f5eSAndroid Build Coastguard Worker _mm_broadcast_i32x2 (__m128i __A)
1083*344a7f5eSAndroid Build Coastguard Worker {
1084*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si) __A,
1085*344a7f5eSAndroid Build Coastguard Worker                  (__v4si)_mm_undefined_si128(),
1086*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) -1);
1087*344a7f5eSAndroid Build Coastguard Worker }
1088*344a7f5eSAndroid Build Coastguard Worker 
1089*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_mask_broadcast_i32x2(__m128i __O,__mmask8 __M,__m128i __A)1090*344a7f5eSAndroid Build Coastguard Worker _mm_mask_broadcast_i32x2 (__m128i __O, __mmask8 __M, __m128i __A)
1091*344a7f5eSAndroid Build Coastguard Worker {
1092*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si) __A,
1093*344a7f5eSAndroid Build Coastguard Worker                  (__v4si) __O,
1094*344a7f5eSAndroid Build Coastguard Worker                  __M);
1095*344a7f5eSAndroid Build Coastguard Worker }
1096*344a7f5eSAndroid Build Coastguard Worker 
1097*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m128i __DEFAULT_FN_ATTRS
_mm_maskz_broadcast_i32x2(__mmask8 __M,__m128i __A)1098*344a7f5eSAndroid Build Coastguard Worker _mm_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
1099*344a7f5eSAndroid Build Coastguard Worker {
1100*344a7f5eSAndroid Build Coastguard Worker   return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si) __A,
1101*344a7f5eSAndroid Build Coastguard Worker                  (__v4si) _mm_setzero_si128 (),
1102*344a7f5eSAndroid Build Coastguard Worker                  __M);
1103*344a7f5eSAndroid Build Coastguard Worker }
1104*344a7f5eSAndroid Build Coastguard Worker 
1105*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_broadcast_i32x2(__m128i __A)1106*344a7f5eSAndroid Build Coastguard Worker _mm256_broadcast_i32x2 (__m128i __A)
1107*344a7f5eSAndroid Build Coastguard Worker {
1108*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si) __A,
1109*344a7f5eSAndroid Build Coastguard Worker                  (__v8si)_mm256_undefined_si256(),
1110*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) -1);
1111*344a7f5eSAndroid Build Coastguard Worker }
1112*344a7f5eSAndroid Build Coastguard Worker 
1113*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_broadcast_i32x2(__m256i __O,__mmask8 __M,__m128i __A)1114*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_broadcast_i32x2 (__m256i __O, __mmask8 __M, __m128i __A)
1115*344a7f5eSAndroid Build Coastguard Worker {
1116*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si) __A,
1117*344a7f5eSAndroid Build Coastguard Worker                  (__v8si) __O,
1118*344a7f5eSAndroid Build Coastguard Worker                  __M);
1119*344a7f5eSAndroid Build Coastguard Worker }
1120*344a7f5eSAndroid Build Coastguard Worker 
1121*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_broadcast_i32x2(__mmask8 __M,__m128i __A)1122*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
1123*344a7f5eSAndroid Build Coastguard Worker {
1124*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si) __A,
1125*344a7f5eSAndroid Build Coastguard Worker                  (__v8si) _mm256_setzero_si256 (),
1126*344a7f5eSAndroid Build Coastguard Worker                  __M);
1127*344a7f5eSAndroid Build Coastguard Worker }
1128*344a7f5eSAndroid Build Coastguard Worker 
1129*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_broadcast_i64x2(__m128i __A)1130*344a7f5eSAndroid Build Coastguard Worker _mm256_broadcast_i64x2 (__m128i __A)
1131*344a7f5eSAndroid Build Coastguard Worker {
1132*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di) __A,
1133*344a7f5eSAndroid Build Coastguard Worker                  (__v4di)_mm256_undefined_si256(),
1134*344a7f5eSAndroid Build Coastguard Worker                  (__mmask8) -1);
1135*344a7f5eSAndroid Build Coastguard Worker }
1136*344a7f5eSAndroid Build Coastguard Worker 
1137*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_mask_broadcast_i64x2(__m256i __O,__mmask8 __M,__m128i __A)1138*344a7f5eSAndroid Build Coastguard Worker _mm256_mask_broadcast_i64x2 (__m256i __O, __mmask8 __M, __m128i __A)
1139*344a7f5eSAndroid Build Coastguard Worker {
1140*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di) __A,
1141*344a7f5eSAndroid Build Coastguard Worker                  (__v4di) __O,
1142*344a7f5eSAndroid Build Coastguard Worker                  __M);
1143*344a7f5eSAndroid Build Coastguard Worker }
1144*344a7f5eSAndroid Build Coastguard Worker 
1145*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256i __DEFAULT_FN_ATTRS
_mm256_maskz_broadcast_i64x2(__mmask8 __M,__m128i __A)1146*344a7f5eSAndroid Build Coastguard Worker _mm256_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
1147*344a7f5eSAndroid Build Coastguard Worker {
1148*344a7f5eSAndroid Build Coastguard Worker   return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di) __A,
1149*344a7f5eSAndroid Build Coastguard Worker                  (__v4di) _mm256_setzero_si256 (),
1150*344a7f5eSAndroid Build Coastguard Worker                  __M);
1151*344a7f5eSAndroid Build Coastguard Worker }
1152*344a7f5eSAndroid Build Coastguard Worker 
1153*344a7f5eSAndroid Build Coastguard Worker #define _mm256_extractf64x2_pd(A, imm) __extension__ ({ \
1154*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_extractf64x2_256_mask((__v4df)(__m256d)(A), \
1155*344a7f5eSAndroid Build Coastguard Worker                                                 (int)(imm), \
1156*344a7f5eSAndroid Build Coastguard Worker                                                 (__v2df)_mm_setzero_pd(), \
1157*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1); })
1158*344a7f5eSAndroid Build Coastguard Worker 
1159*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_extractf64x2_pd(W, U, A, imm) __extension__ ({ \
1160*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_extractf64x2_256_mask((__v4df)(__m256d)(A), \
1161*344a7f5eSAndroid Build Coastguard Worker                                                 (int)(imm), \
1162*344a7f5eSAndroid Build Coastguard Worker                                                 (__v2df)(__m128d)(W), \
1163*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)(U)); })
1164*344a7f5eSAndroid Build Coastguard Worker 
1165*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_extractf64x2_pd(U, A, imm) __extension__ ({ \
1166*344a7f5eSAndroid Build Coastguard Worker   (__m128d)__builtin_ia32_extractf64x2_256_mask((__v4df)(__m256d)(A), \
1167*344a7f5eSAndroid Build Coastguard Worker                                                 (int)(imm), \
1168*344a7f5eSAndroid Build Coastguard Worker                                                 (__v2df)_mm_setzero_pd(), \
1169*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)(U)); })
1170*344a7f5eSAndroid Build Coastguard Worker 
1171*344a7f5eSAndroid Build Coastguard Worker #define _mm256_extracti64x2_epi64(A, imm) __extension__ ({ \
1172*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_extracti64x2_256_mask((__v4di)(__m256i)(A), \
1173*344a7f5eSAndroid Build Coastguard Worker                                                 (int)(imm), \
1174*344a7f5eSAndroid Build Coastguard Worker                                                 (__v2di)_mm_setzero_di(), \
1175*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)-1); })
1176*344a7f5eSAndroid Build Coastguard Worker 
1177*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_extracti64x2_epi64(W, U, A, imm) __extension__ ({ \
1178*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_extracti64x2_256_mask((__v4di)(__m256i)(A), \
1179*344a7f5eSAndroid Build Coastguard Worker                                                 (int)(imm), \
1180*344a7f5eSAndroid Build Coastguard Worker                                                 (__v2di)(__m128i)(W), \
1181*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)(U)); })
1182*344a7f5eSAndroid Build Coastguard Worker 
1183*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_extracti64x2_epi64(U, A, imm) __extension__ ({ \
1184*344a7f5eSAndroid Build Coastguard Worker   (__m128i)__builtin_ia32_extracti64x2_256_mask((__v4di)(__m256i)(A), \
1185*344a7f5eSAndroid Build Coastguard Worker                                                 (int)(imm), \
1186*344a7f5eSAndroid Build Coastguard Worker                                                 (__v2di)_mm_setzero_di(), \
1187*344a7f5eSAndroid Build Coastguard Worker                                                 (__mmask8)(U)); })
1188*344a7f5eSAndroid Build Coastguard Worker 
1189*344a7f5eSAndroid Build Coastguard Worker #define _mm256_insertf64x2(A, B, imm) __extension__ ({ \
1190*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_insertf64x2_256_mask((__v4df)(__m256d)(A), \
1191*344a7f5eSAndroid Build Coastguard Worker                                                (__v2df)(__m128d)(B), \
1192*344a7f5eSAndroid Build Coastguard Worker                                                (int)(imm), \
1193*344a7f5eSAndroid Build Coastguard Worker                                                (__v4df)_mm256_setzero_pd(), \
1194*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)-1); })
1195*344a7f5eSAndroid Build Coastguard Worker 
1196*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_insertf64x2(W, U, A, B, imm) __extension__ ({ \
1197*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_insertf64x2_256_mask((__v4df)(__m256d)(A), \
1198*344a7f5eSAndroid Build Coastguard Worker                                                (__v2df)(__m128d)(B), \
1199*344a7f5eSAndroid Build Coastguard Worker                                                (int)(imm), \
1200*344a7f5eSAndroid Build Coastguard Worker                                                (__v4df)(__m256d)(W), \
1201*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)(U)); })
1202*344a7f5eSAndroid Build Coastguard Worker 
1203*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_insertf64x2(U, A, B, imm) __extension__ ({ \
1204*344a7f5eSAndroid Build Coastguard Worker   (__m256d)__builtin_ia32_insertf64x2_256_mask((__v4df)(__m256d)(A), \
1205*344a7f5eSAndroid Build Coastguard Worker                                                (__v2df)(__m128d)(B), \
1206*344a7f5eSAndroid Build Coastguard Worker                                                (int)(imm), \
1207*344a7f5eSAndroid Build Coastguard Worker                                                (__v4df)_mm256_setzero_pd(), \
1208*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)(U)); })
1209*344a7f5eSAndroid Build Coastguard Worker 
1210*344a7f5eSAndroid Build Coastguard Worker #define _mm256_inserti64x2(A, B, imm) __extension__ ({ \
1211*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_inserti64x2_256_mask((__v4di)(__m256i)(A), \
1212*344a7f5eSAndroid Build Coastguard Worker                                                (__v2di)(__m128i)(B), \
1213*344a7f5eSAndroid Build Coastguard Worker                                                (int)(imm), \
1214*344a7f5eSAndroid Build Coastguard Worker                                                (__v4di)_mm256_setzero_si256(), \
1215*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)-1); })
1216*344a7f5eSAndroid Build Coastguard Worker 
1217*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_inserti64x2(W, U, A, B, imm) __extension__ ({ \
1218*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_inserti64x2_256_mask((__v4di)(__m256i)(A), \
1219*344a7f5eSAndroid Build Coastguard Worker                                                (__v2di)(__m128i)(B), \
1220*344a7f5eSAndroid Build Coastguard Worker                                                (int)(imm), \
1221*344a7f5eSAndroid Build Coastguard Worker                                                (__v4di)(__m256i)(W), \
1222*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)(U)); })
1223*344a7f5eSAndroid Build Coastguard Worker 
1224*344a7f5eSAndroid Build Coastguard Worker #define _mm256_maskz_inserti64x2(U, A, B, imm) __extension__ ({ \
1225*344a7f5eSAndroid Build Coastguard Worker   (__m256i)__builtin_ia32_inserti64x2_256_mask((__v4di)(__m256i)(A), \
1226*344a7f5eSAndroid Build Coastguard Worker                                                (__v2di)(__m128i)(B), \
1227*344a7f5eSAndroid Build Coastguard Worker                                                (int)(imm), \
1228*344a7f5eSAndroid Build Coastguard Worker                                                (__v4di)_mm256_setzero_si256(), \
1229*344a7f5eSAndroid Build Coastguard Worker                                                (__mmask8)(U)); })
1230*344a7f5eSAndroid Build Coastguard Worker 
1231*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_fpclass_pd_mask(U, A, imm) __extension__ ({ \
1232*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclasspd128_mask((__v2df)(__m128d)(A), (int)(imm), \
1233*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)(U)); })
1234*344a7f5eSAndroid Build Coastguard Worker 
1235*344a7f5eSAndroid Build Coastguard Worker #define _mm_fpclass_pd_mask(A, imm) __extension__ ({ \
1236*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclasspd128_mask((__v2df)(__m128d)(A), (int)(imm), \
1237*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)-1); })
1238*344a7f5eSAndroid Build Coastguard Worker 
1239*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_fpclass_pd_mask(U, A, imm) __extension__ ({ \
1240*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclasspd256_mask((__v4df)(__m256d)(A), (int)(imm), \
1241*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)(U)); })
1242*344a7f5eSAndroid Build Coastguard Worker 
1243*344a7f5eSAndroid Build Coastguard Worker #define _mm256_fpclass_pd_mask(A, imm) __extension__ ({ \
1244*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclasspd256_mask((__v4df)(__m256d)(A), (int)(imm), \
1245*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)-1); })
1246*344a7f5eSAndroid Build Coastguard Worker 
1247*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_fpclass_ps_mask(U, A, imm) __extension__ ({ \
1248*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclassps128_mask((__v4sf)(__m128)(A), (int)(imm), \
1249*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)(U)); })
1250*344a7f5eSAndroid Build Coastguard Worker 
1251*344a7f5eSAndroid Build Coastguard Worker #define _mm_fpclass_ps_mask(A, imm) __extension__ ({ \
1252*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclassps128_mask((__v4sf)(__m128)(A), (int)(imm), \
1253*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)-1); })
1254*344a7f5eSAndroid Build Coastguard Worker 
1255*344a7f5eSAndroid Build Coastguard Worker #define _mm256_mask_fpclass_ps_mask(U, A, imm) __extension__ ({ \
1256*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclassps256_mask((__v8sf)(__m256)(A), (int)(imm), \
1257*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)(U)); })
1258*344a7f5eSAndroid Build Coastguard Worker 
1259*344a7f5eSAndroid Build Coastguard Worker #define _mm256_fpclass_ps_mask(A, imm) __extension__ ({ \
1260*344a7f5eSAndroid Build Coastguard Worker   (__mmask8)__builtin_ia32_fpclassps256_mask((__v8sf)(__m256)(A), (int)(imm), \
1261*344a7f5eSAndroid Build Coastguard Worker                                              (__mmask8)-1); })
1262*344a7f5eSAndroid Build Coastguard Worker 
1263*344a7f5eSAndroid Build Coastguard Worker #undef __DEFAULT_FN_ATTRS
1264*344a7f5eSAndroid Build Coastguard Worker 
1265*344a7f5eSAndroid Build Coastguard Worker #endif
1266