1*344a7f5eSAndroid Build Coastguard Worker /*===---- avx512dqintrin.h - 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 <avx512dqintrin.h> directly; include <immintrin.h> instead."
26*344a7f5eSAndroid Build Coastguard Worker #endif
27*344a7f5eSAndroid Build Coastguard Worker
28*344a7f5eSAndroid Build Coastguard Worker #ifndef __AVX512DQINTRIN_H
29*344a7f5eSAndroid Build Coastguard Worker #define __AVX512DQINTRIN_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__("avx512dq")))
33*344a7f5eSAndroid Build Coastguard Worker
34*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mullo_epi64(__m512i __A,__m512i __B)35*344a7f5eSAndroid Build Coastguard Worker _mm512_mullo_epi64 (__m512i __A, __m512i __B) {
36*344a7f5eSAndroid Build Coastguard Worker return (__m512i) ((__v8du) __A * (__v8du) __B);
37*344a7f5eSAndroid Build Coastguard Worker }
38*344a7f5eSAndroid Build Coastguard Worker
39*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_mullo_epi64(__m512i __W,__mmask8 __U,__m512i __A,__m512i __B)40*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
41*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
42*344a7f5eSAndroid Build Coastguard Worker (__v8di) __B,
43*344a7f5eSAndroid Build Coastguard Worker (__v8di) __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__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_mullo_epi64(__mmask8 __U,__m512i __A,__m512i __B)48*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B) {
49*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
50*344a7f5eSAndroid Build Coastguard Worker (__v8di) __B,
51*344a7f5eSAndroid Build Coastguard Worker (__v8di)
52*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_si512 (),
53*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U);
54*344a7f5eSAndroid Build Coastguard Worker }
55*344a7f5eSAndroid Build Coastguard Worker
56*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_xor_pd(__m512d __A,__m512d __B)57*344a7f5eSAndroid Build Coastguard Worker _mm512_xor_pd (__m512d __A, __m512d __B) {
58*344a7f5eSAndroid Build Coastguard Worker return (__m512d) ((__v8du) __A ^ (__v8du) __B);
59*344a7f5eSAndroid Build Coastguard Worker }
60*344a7f5eSAndroid Build Coastguard Worker
61*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_mask_xor_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)62*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
63*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
64*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
65*344a7f5eSAndroid Build Coastguard Worker (__v8df) __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__ __m512d __DEFAULT_FN_ATTRS
_mm512_maskz_xor_pd(__mmask8 __U,__m512d __A,__m512d __B)70*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B) {
71*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
72*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
73*344a7f5eSAndroid Build Coastguard Worker (__v8df)
74*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_pd (),
75*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U);
76*344a7f5eSAndroid Build Coastguard Worker }
77*344a7f5eSAndroid Build Coastguard Worker
78*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_xor_ps(__m512 __A,__m512 __B)79*344a7f5eSAndroid Build Coastguard Worker _mm512_xor_ps (__m512 __A, __m512 __B) {
80*344a7f5eSAndroid Build Coastguard Worker return (__m512) ((__v16su) __A ^ (__v16su) __B);
81*344a7f5eSAndroid Build Coastguard Worker }
82*344a7f5eSAndroid Build Coastguard Worker
83*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_mask_xor_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)84*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
85*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
86*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
87*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __W,
88*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
89*344a7f5eSAndroid Build Coastguard Worker }
90*344a7f5eSAndroid Build Coastguard Worker
91*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_maskz_xor_ps(__mmask16 __U,__m512 __A,__m512 __B)92*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B) {
93*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
94*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
95*344a7f5eSAndroid Build Coastguard Worker (__v16sf)
96*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_ps (),
97*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
98*344a7f5eSAndroid Build Coastguard Worker }
99*344a7f5eSAndroid Build Coastguard Worker
100*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_or_pd(__m512d __A,__m512d __B)101*344a7f5eSAndroid Build Coastguard Worker _mm512_or_pd (__m512d __A, __m512d __B) {
102*344a7f5eSAndroid Build Coastguard Worker return (__m512d) ((__v8du) __A | (__v8du) __B);
103*344a7f5eSAndroid Build Coastguard Worker }
104*344a7f5eSAndroid Build Coastguard Worker
105*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_mask_or_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)106*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
107*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
108*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
109*344a7f5eSAndroid Build Coastguard Worker (__v8df) __W,
110*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U);
111*344a7f5eSAndroid Build Coastguard Worker }
112*344a7f5eSAndroid Build Coastguard Worker
113*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_maskz_or_pd(__mmask8 __U,__m512d __A,__m512d __B)114*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B) {
115*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
116*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
117*344a7f5eSAndroid Build Coastguard Worker (__v8df)
118*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_pd (),
119*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U);
120*344a7f5eSAndroid Build Coastguard Worker }
121*344a7f5eSAndroid Build Coastguard Worker
122*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_or_ps(__m512 __A,__m512 __B)123*344a7f5eSAndroid Build Coastguard Worker _mm512_or_ps (__m512 __A, __m512 __B) {
124*344a7f5eSAndroid Build Coastguard Worker return (__m512) ((__v16su) __A | (__v16su) __B);
125*344a7f5eSAndroid Build Coastguard Worker }
126*344a7f5eSAndroid Build Coastguard Worker
127*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_mask_or_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)128*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
129*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
130*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
131*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __W,
132*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
133*344a7f5eSAndroid Build Coastguard Worker }
134*344a7f5eSAndroid Build Coastguard Worker
135*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_maskz_or_ps(__mmask16 __U,__m512 __A,__m512 __B)136*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B) {
137*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
138*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
139*344a7f5eSAndroid Build Coastguard Worker (__v16sf)
140*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_ps (),
141*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
142*344a7f5eSAndroid Build Coastguard Worker }
143*344a7f5eSAndroid Build Coastguard Worker
144*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_and_pd(__m512d __A,__m512d __B)145*344a7f5eSAndroid Build Coastguard Worker _mm512_and_pd (__m512d __A, __m512d __B) {
146*344a7f5eSAndroid Build Coastguard Worker return (__m512d) ((__v8du) __A & (__v8du) __B);
147*344a7f5eSAndroid Build Coastguard Worker }
148*344a7f5eSAndroid Build Coastguard Worker
149*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_mask_and_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)150*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
151*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
152*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
153*344a7f5eSAndroid Build Coastguard Worker (__v8df) __W,
154*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U);
155*344a7f5eSAndroid Build Coastguard Worker }
156*344a7f5eSAndroid Build Coastguard Worker
157*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_maskz_and_pd(__mmask8 __U,__m512d __A,__m512d __B)158*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B) {
159*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
160*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
161*344a7f5eSAndroid Build Coastguard Worker (__v8df)
162*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_pd (),
163*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U);
164*344a7f5eSAndroid Build Coastguard Worker }
165*344a7f5eSAndroid Build Coastguard Worker
166*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_and_ps(__m512 __A,__m512 __B)167*344a7f5eSAndroid Build Coastguard Worker _mm512_and_ps (__m512 __A, __m512 __B) {
168*344a7f5eSAndroid Build Coastguard Worker return (__m512) ((__v16su) __A & (__v16su) __B);
169*344a7f5eSAndroid Build Coastguard Worker }
170*344a7f5eSAndroid Build Coastguard Worker
171*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_mask_and_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)172*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
173*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
174*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
175*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __W,
176*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
177*344a7f5eSAndroid Build Coastguard Worker }
178*344a7f5eSAndroid Build Coastguard Worker
179*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_maskz_and_ps(__mmask16 __U,__m512 __A,__m512 __B)180*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B) {
181*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
182*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
183*344a7f5eSAndroid Build Coastguard Worker (__v16sf)
184*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_ps (),
185*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
186*344a7f5eSAndroid Build Coastguard Worker }
187*344a7f5eSAndroid Build Coastguard Worker
188*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_andnot_pd(__m512d __A,__m512d __B)189*344a7f5eSAndroid Build Coastguard Worker _mm512_andnot_pd (__m512d __A, __m512d __B) {
190*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
191*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
192*344a7f5eSAndroid Build Coastguard Worker (__v8df)
193*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_pd (),
194*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1);
195*344a7f5eSAndroid Build Coastguard Worker }
196*344a7f5eSAndroid Build Coastguard Worker
197*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_mask_andnot_pd(__m512d __W,__mmask8 __U,__m512d __A,__m512d __B)198*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
199*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
200*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
201*344a7f5eSAndroid Build Coastguard Worker (__v8df) __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__ __m512d __DEFAULT_FN_ATTRS
_mm512_maskz_andnot_pd(__mmask8 __U,__m512d __A,__m512d __B)206*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B) {
207*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
208*344a7f5eSAndroid Build Coastguard Worker (__v8df) __B,
209*344a7f5eSAndroid Build Coastguard Worker (__v8df)
210*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_pd (),
211*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U);
212*344a7f5eSAndroid Build Coastguard Worker }
213*344a7f5eSAndroid Build Coastguard Worker
214*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_andnot_ps(__m512 __A,__m512 __B)215*344a7f5eSAndroid Build Coastguard Worker _mm512_andnot_ps (__m512 __A, __m512 __B) {
216*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
217*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
218*344a7f5eSAndroid Build Coastguard Worker (__v16sf)
219*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_ps (),
220*344a7f5eSAndroid Build Coastguard Worker (__mmask16) -1);
221*344a7f5eSAndroid Build Coastguard Worker }
222*344a7f5eSAndroid Build Coastguard Worker
223*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_mask_andnot_ps(__m512 __W,__mmask16 __U,__m512 __A,__m512 __B)224*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
225*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
226*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
227*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __W,
228*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
229*344a7f5eSAndroid Build Coastguard Worker }
230*344a7f5eSAndroid Build Coastguard Worker
231*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_maskz_andnot_ps(__mmask16 __U,__m512 __A,__m512 __B)232*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B) {
233*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
234*344a7f5eSAndroid Build Coastguard Worker (__v16sf) __B,
235*344a7f5eSAndroid Build Coastguard Worker (__v16sf)
236*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_ps (),
237*344a7f5eSAndroid Build Coastguard Worker (__mmask16) __U);
238*344a7f5eSAndroid Build Coastguard Worker }
239*344a7f5eSAndroid Build Coastguard Worker
240*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvtpd_epi64(__m512d __A)241*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtpd_epi64 (__m512d __A) {
242*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
243*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
244*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
245*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
246*344a7f5eSAndroid Build Coastguard Worker }
247*344a7f5eSAndroid Build Coastguard Worker
248*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvtpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)249*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A) {
250*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
251*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
252*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
253*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
254*344a7f5eSAndroid Build Coastguard Worker }
255*344a7f5eSAndroid Build Coastguard Worker
256*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvtpd_epi64(__mmask8 __U,__m512d __A)257*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtpd_epi64 (__mmask8 __U, __m512d __A) {
258*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
259*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
260*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
261*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
262*344a7f5eSAndroid Build Coastguard Worker }
263*344a7f5eSAndroid Build Coastguard Worker
264*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundpd_epi64(A, R) __extension__ ({ \
265*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtpd2qq512_mask((__v8df)(__m512d)(A), \
266*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
267*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
268*344a7f5eSAndroid Build Coastguard Worker
269*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundpd_epi64(W, U, A, R) __extension__ ({ \
270*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtpd2qq512_mask((__v8df)(__m512d)(A), \
271*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
272*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
273*344a7f5eSAndroid Build Coastguard Worker
274*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundpd_epi64(U, A, R) __extension__ ({ \
275*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtpd2qq512_mask((__v8df)(__m512d)(A), \
276*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
277*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
278*344a7f5eSAndroid Build Coastguard Worker
279*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvtpd_epu64(__m512d __A)280*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtpd_epu64 (__m512d __A) {
281*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
282*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
283*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
284*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
285*344a7f5eSAndroid Build Coastguard Worker }
286*344a7f5eSAndroid Build Coastguard Worker
287*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvtpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)288*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A) {
289*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
290*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
291*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
292*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
293*344a7f5eSAndroid Build Coastguard Worker }
294*344a7f5eSAndroid Build Coastguard Worker
295*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvtpd_epu64(__mmask8 __U,__m512d __A)296*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtpd_epu64 (__mmask8 __U, __m512d __A) {
297*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
298*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
299*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
300*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
301*344a7f5eSAndroid Build Coastguard Worker }
302*344a7f5eSAndroid Build Coastguard Worker
303*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundpd_epu64(A, R) __extension__ ({ \
304*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtpd2uqq512_mask((__v8df)(__m512d)(A), \
305*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
306*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
307*344a7f5eSAndroid Build Coastguard Worker
308*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundpd_epu64(W, U, A, R) __extension__ ({ \
309*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtpd2uqq512_mask((__v8df)(__m512d)(A), \
310*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
311*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
312*344a7f5eSAndroid Build Coastguard Worker
313*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundpd_epu64(U, A, R) __extension__ ({ \
314*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtpd2uqq512_mask((__v8df)(__m512d)(A), \
315*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
316*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
317*344a7f5eSAndroid Build Coastguard Worker
318*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvtps_epi64(__m256 __A)319*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtps_epi64 (__m256 __A) {
320*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
321*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
322*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
323*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
324*344a7f5eSAndroid Build Coastguard Worker }
325*344a7f5eSAndroid Build Coastguard Worker
326*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvtps_epi64(__m512i __W,__mmask8 __U,__m256 __A)327*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtps_epi64 (__m512i __W, __mmask8 __U, __m256 __A) {
328*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
329*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
330*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
331*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
332*344a7f5eSAndroid Build Coastguard Worker }
333*344a7f5eSAndroid Build Coastguard Worker
334*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvtps_epi64(__mmask8 __U,__m256 __A)335*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtps_epi64 (__mmask8 __U, __m256 __A) {
336*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
337*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
338*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
339*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
340*344a7f5eSAndroid Build Coastguard Worker }
341*344a7f5eSAndroid Build Coastguard Worker
342*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundps_epi64(A, R) __extension__ ({ \
343*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtps2qq512_mask((__v8sf)(__m256)(A), \
344*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
345*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
346*344a7f5eSAndroid Build Coastguard Worker
347*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundps_epi64(W, U, A, R) __extension__ ({ \
348*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtps2qq512_mask((__v8sf)(__m256)(A), \
349*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
350*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
351*344a7f5eSAndroid Build Coastguard Worker
352*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundps_epi64(U, A, R) __extension__ ({ \
353*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtps2qq512_mask((__v8sf)(__m256)(A), \
354*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
355*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
356*344a7f5eSAndroid Build Coastguard Worker
357*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvtps_epu64(__m256 __A)358*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtps_epu64 (__m256 __A) {
359*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
360*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
361*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
362*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
363*344a7f5eSAndroid Build Coastguard Worker }
364*344a7f5eSAndroid Build Coastguard Worker
365*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvtps_epu64(__m512i __W,__mmask8 __U,__m256 __A)366*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtps_epu64 (__m512i __W, __mmask8 __U, __m256 __A) {
367*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
368*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
369*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
370*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
371*344a7f5eSAndroid Build Coastguard Worker }
372*344a7f5eSAndroid Build Coastguard Worker
373*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvtps_epu64(__mmask8 __U,__m256 __A)374*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtps_epu64 (__mmask8 __U, __m256 __A) {
375*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
376*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
377*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
378*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
379*344a7f5eSAndroid Build Coastguard Worker }
380*344a7f5eSAndroid Build Coastguard Worker
381*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundps_epu64(A, R) __extension__ ({ \
382*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtps2uqq512_mask((__v8sf)(__m256)(A), \
383*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
384*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
385*344a7f5eSAndroid Build Coastguard Worker
386*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundps_epu64(W, U, A, R) __extension__ ({ \
387*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtps2uqq512_mask((__v8sf)(__m256)(A), \
388*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
389*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
390*344a7f5eSAndroid Build Coastguard Worker
391*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundps_epu64(U, A, R) __extension__ ({ \
392*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvtps2uqq512_mask((__v8sf)(__m256)(A), \
393*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
394*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
395*344a7f5eSAndroid Build Coastguard Worker
396*344a7f5eSAndroid Build Coastguard Worker
397*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_cvtepi64_pd(__m512i __A)398*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtepi64_pd (__m512i __A) {
399*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
400*344a7f5eSAndroid Build Coastguard Worker (__v8df) _mm512_setzero_pd(),
401*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
402*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
403*344a7f5eSAndroid Build Coastguard Worker }
404*344a7f5eSAndroid Build Coastguard Worker
405*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_mask_cvtepi64_pd(__m512d __W,__mmask8 __U,__m512i __A)406*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtepi64_pd (__m512d __W, __mmask8 __U, __m512i __A) {
407*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
408*344a7f5eSAndroid Build Coastguard Worker (__v8df) __W,
409*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
410*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
411*344a7f5eSAndroid Build Coastguard Worker }
412*344a7f5eSAndroid Build Coastguard Worker
413*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_maskz_cvtepi64_pd(__mmask8 __U,__m512i __A)414*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtepi64_pd (__mmask8 __U, __m512i __A) {
415*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
416*344a7f5eSAndroid Build Coastguard Worker (__v8df) _mm512_setzero_pd(),
417*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
418*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
419*344a7f5eSAndroid Build Coastguard Worker }
420*344a7f5eSAndroid Build Coastguard Worker
421*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundepi64_pd(A, R) __extension__ ({ \
422*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(__m512i)(A), \
423*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
424*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
425*344a7f5eSAndroid Build Coastguard Worker
426*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundepi64_pd(W, U, A, R) __extension__ ({ \
427*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(__m512i)(A), \
428*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(W), \
429*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
430*344a7f5eSAndroid Build Coastguard Worker
431*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundepi64_pd(U, A, R) __extension__ ({ \
432*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(__m512i)(A), \
433*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
434*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
435*344a7f5eSAndroid Build Coastguard Worker
436*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm512_cvtepi64_ps(__m512i __A)437*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtepi64_ps (__m512i __A) {
438*344a7f5eSAndroid Build Coastguard Worker return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
439*344a7f5eSAndroid Build Coastguard Worker (__v8sf) _mm256_setzero_ps(),
440*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
441*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
442*344a7f5eSAndroid Build Coastguard Worker }
443*344a7f5eSAndroid Build Coastguard Worker
444*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm512_mask_cvtepi64_ps(__m256 __W,__mmask8 __U,__m512i __A)445*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtepi64_ps (__m256 __W, __mmask8 __U, __m512i __A) {
446*344a7f5eSAndroid Build Coastguard Worker return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
447*344a7f5eSAndroid Build Coastguard Worker (__v8sf) __W,
448*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
449*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
450*344a7f5eSAndroid Build Coastguard Worker }
451*344a7f5eSAndroid Build Coastguard Worker
452*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm512_maskz_cvtepi64_ps(__mmask8 __U,__m512i __A)453*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtepi64_ps (__mmask8 __U, __m512i __A) {
454*344a7f5eSAndroid Build Coastguard Worker return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
455*344a7f5eSAndroid Build Coastguard Worker (__v8sf) _mm256_setzero_ps(),
456*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
457*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
458*344a7f5eSAndroid Build Coastguard Worker }
459*344a7f5eSAndroid Build Coastguard Worker
460*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundepi64_ps(A, R) __extension__ ({ \
461*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(__m512i)(A), \
462*344a7f5eSAndroid Build Coastguard Worker (__v8sf)_mm256_setzero_ps(), \
463*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
464*344a7f5eSAndroid Build Coastguard Worker
465*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundepi64_ps(W, U, A, R) __extension__ ({ \
466*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(__m512i)(A), \
467*344a7f5eSAndroid Build Coastguard Worker (__v8sf)(__m256)(W), (__mmask8)(U), \
468*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
469*344a7f5eSAndroid Build Coastguard Worker
470*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundepi64_ps(U, A, R) __extension__ ({ \
471*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(__m512i)(A), \
472*344a7f5eSAndroid Build Coastguard Worker (__v8sf)_mm256_setzero_ps(), \
473*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
474*344a7f5eSAndroid Build Coastguard Worker
475*344a7f5eSAndroid Build Coastguard Worker
476*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvttpd_epi64(__m512d __A)477*344a7f5eSAndroid Build Coastguard Worker _mm512_cvttpd_epi64 (__m512d __A) {
478*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
479*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
480*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
481*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
482*344a7f5eSAndroid Build Coastguard Worker }
483*344a7f5eSAndroid Build Coastguard Worker
484*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvttpd_epi64(__m512i __W,__mmask8 __U,__m512d __A)485*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvttpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A) {
486*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
487*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
488*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
489*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
490*344a7f5eSAndroid Build Coastguard Worker }
491*344a7f5eSAndroid Build Coastguard Worker
492*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvttpd_epi64(__mmask8 __U,__m512d __A)493*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvttpd_epi64 (__mmask8 __U, __m512d __A) {
494*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
495*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
496*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
497*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
498*344a7f5eSAndroid Build Coastguard Worker }
499*344a7f5eSAndroid Build Coastguard Worker
500*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvtt_roundpd_epi64(A, R) __extension__ ({ \
501*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttpd2qq512_mask((__v8df)(__m512d)(A), \
502*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
503*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
504*344a7f5eSAndroid Build Coastguard Worker
505*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvtt_roundpd_epi64(W, U, A, R) __extension__ ({ \
506*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttpd2qq512_mask((__v8df)(__m512d)(A), \
507*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
508*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
509*344a7f5eSAndroid Build Coastguard Worker
510*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvtt_roundpd_epi64(U, A, R) __extension__ ({ \
511*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttpd2qq512_mask((__v8df)(__m512d)(A), \
512*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
513*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
514*344a7f5eSAndroid Build Coastguard Worker
515*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvttpd_epu64(__m512d __A)516*344a7f5eSAndroid Build Coastguard Worker _mm512_cvttpd_epu64 (__m512d __A) {
517*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
518*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
519*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
520*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
521*344a7f5eSAndroid Build Coastguard Worker }
522*344a7f5eSAndroid Build Coastguard Worker
523*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvttpd_epu64(__m512i __W,__mmask8 __U,__m512d __A)524*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvttpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A) {
525*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
526*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
527*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
528*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
529*344a7f5eSAndroid Build Coastguard Worker }
530*344a7f5eSAndroid Build Coastguard Worker
531*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvttpd_epu64(__mmask8 __U,__m512d __A)532*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvttpd_epu64 (__mmask8 __U, __m512d __A) {
533*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
534*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
535*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
536*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
537*344a7f5eSAndroid Build Coastguard Worker }
538*344a7f5eSAndroid Build Coastguard Worker
539*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvtt_roundpd_epu64(A, R) __extension__ ({ \
540*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttpd2uqq512_mask((__v8df)(__m512d)(A), \
541*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
542*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
543*344a7f5eSAndroid Build Coastguard Worker
544*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvtt_roundpd_epu64(W, U, A, R) __extension__ ({ \
545*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttpd2uqq512_mask((__v8df)(__m512d)(A), \
546*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
547*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
548*344a7f5eSAndroid Build Coastguard Worker
549*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvtt_roundpd_epu64(U, A, R) __extension__ ({ \
550*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttpd2uqq512_mask((__v8df)(__m512d)(A), \
551*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
552*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
553*344a7f5eSAndroid Build Coastguard Worker
554*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvttps_epi64(__m256 __A)555*344a7f5eSAndroid Build Coastguard Worker _mm512_cvttps_epi64 (__m256 __A) {
556*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
557*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
558*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
559*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
560*344a7f5eSAndroid Build Coastguard Worker }
561*344a7f5eSAndroid Build Coastguard Worker
562*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvttps_epi64(__m512i __W,__mmask8 __U,__m256 __A)563*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvttps_epi64 (__m512i __W, __mmask8 __U, __m256 __A) {
564*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
565*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
566*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
567*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
568*344a7f5eSAndroid Build Coastguard Worker }
569*344a7f5eSAndroid Build Coastguard Worker
570*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvttps_epi64(__mmask8 __U,__m256 __A)571*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvttps_epi64 (__mmask8 __U, __m256 __A) {
572*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
573*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
574*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
575*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
576*344a7f5eSAndroid Build Coastguard Worker }
577*344a7f5eSAndroid Build Coastguard Worker
578*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvtt_roundps_epi64(A, R) __extension__ ({ \
579*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttps2qq512_mask((__v8sf)(__m256)(A), \
580*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
581*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
582*344a7f5eSAndroid Build Coastguard Worker
583*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvtt_roundps_epi64(W, U, A, R) __extension__ ({ \
584*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttps2qq512_mask((__v8sf)(__m256)(A), \
585*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
586*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
587*344a7f5eSAndroid Build Coastguard Worker
588*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvtt_roundps_epi64(U, A, R) __extension__ ({ \
589*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttps2qq512_mask((__v8sf)(__m256)(A), \
590*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
591*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
592*344a7f5eSAndroid Build Coastguard Worker
593*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_cvttps_epu64(__m256 __A)594*344a7f5eSAndroid Build Coastguard Worker _mm512_cvttps_epu64 (__m256 __A) {
595*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
596*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
597*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
598*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
599*344a7f5eSAndroid Build Coastguard Worker }
600*344a7f5eSAndroid Build Coastguard Worker
601*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_cvttps_epu64(__m512i __W,__mmask8 __U,__m256 __A)602*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvttps_epu64 (__m512i __W, __mmask8 __U, __m256 __A) {
603*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
604*344a7f5eSAndroid Build Coastguard Worker (__v8di) __W,
605*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
606*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
607*344a7f5eSAndroid Build Coastguard Worker }
608*344a7f5eSAndroid Build Coastguard Worker
609*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_cvttps_epu64(__mmask8 __U,__m256 __A)610*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvttps_epu64 (__mmask8 __U, __m256 __A) {
611*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
612*344a7f5eSAndroid Build Coastguard Worker (__v8di) _mm512_setzero_si512(),
613*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
614*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
615*344a7f5eSAndroid Build Coastguard Worker }
616*344a7f5eSAndroid Build Coastguard Worker
617*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvtt_roundps_epu64(A, R) __extension__ ({ \
618*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttps2uqq512_mask((__v8sf)(__m256)(A), \
619*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
620*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
621*344a7f5eSAndroid Build Coastguard Worker
622*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvtt_roundps_epu64(W, U, A, R) __extension__ ({ \
623*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttps2uqq512_mask((__v8sf)(__m256)(A), \
624*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
625*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
626*344a7f5eSAndroid Build Coastguard Worker
627*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvtt_roundps_epu64(U, A, R) __extension__ ({ \
628*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_cvttps2uqq512_mask((__v8sf)(__m256)(A), \
629*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
630*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
631*344a7f5eSAndroid Build Coastguard Worker
632*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_cvtepu64_pd(__m512i __A)633*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtepu64_pd (__m512i __A) {
634*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
635*344a7f5eSAndroid Build Coastguard Worker (__v8df) _mm512_setzero_pd(),
636*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
637*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
638*344a7f5eSAndroid Build Coastguard Worker }
639*344a7f5eSAndroid Build Coastguard Worker
640*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_mask_cvtepu64_pd(__m512d __W,__mmask8 __U,__m512i __A)641*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtepu64_pd (__m512d __W, __mmask8 __U, __m512i __A) {
642*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
643*344a7f5eSAndroid Build Coastguard Worker (__v8df) __W,
644*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
645*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
646*344a7f5eSAndroid Build Coastguard Worker }
647*344a7f5eSAndroid Build Coastguard Worker
648*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_maskz_cvtepu64_pd(__mmask8 __U,__m512i __A)649*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtepu64_pd (__mmask8 __U, __m512i __A) {
650*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
651*344a7f5eSAndroid Build Coastguard Worker (__v8df) _mm512_setzero_pd(),
652*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
653*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
654*344a7f5eSAndroid Build Coastguard Worker }
655*344a7f5eSAndroid Build Coastguard Worker
656*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundepu64_pd(A, R) __extension__ ({ \
657*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(__m512i)(A), \
658*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
659*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
660*344a7f5eSAndroid Build Coastguard Worker
661*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundepu64_pd(W, U, A, R) __extension__ ({ \
662*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(__m512i)(A), \
663*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(W), \
664*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
665*344a7f5eSAndroid Build Coastguard Worker
666*344a7f5eSAndroid Build Coastguard Worker
667*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundepu64_pd(U, A, R) __extension__ ({ \
668*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(__m512i)(A), \
669*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
670*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
671*344a7f5eSAndroid Build Coastguard Worker
672*344a7f5eSAndroid Build Coastguard Worker
673*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm512_cvtepu64_ps(__m512i __A)674*344a7f5eSAndroid Build Coastguard Worker _mm512_cvtepu64_ps (__m512i __A) {
675*344a7f5eSAndroid Build Coastguard Worker return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
676*344a7f5eSAndroid Build Coastguard Worker (__v8sf) _mm256_setzero_ps(),
677*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1,
678*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
679*344a7f5eSAndroid Build Coastguard Worker }
680*344a7f5eSAndroid Build Coastguard Worker
681*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm512_mask_cvtepu64_ps(__m256 __W,__mmask8 __U,__m512i __A)682*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_cvtepu64_ps (__m256 __W, __mmask8 __U, __m512i __A) {
683*344a7f5eSAndroid Build Coastguard Worker return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
684*344a7f5eSAndroid Build Coastguard Worker (__v8sf) __W,
685*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
686*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
687*344a7f5eSAndroid Build Coastguard Worker }
688*344a7f5eSAndroid Build Coastguard Worker
689*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m256 __DEFAULT_FN_ATTRS
_mm512_maskz_cvtepu64_ps(__mmask8 __U,__m512i __A)690*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_cvtepu64_ps (__mmask8 __U, __m512i __A) {
691*344a7f5eSAndroid Build Coastguard Worker return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
692*344a7f5eSAndroid Build Coastguard Worker (__v8sf) _mm256_setzero_ps(),
693*344a7f5eSAndroid Build Coastguard Worker (__mmask8) __U,
694*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION);
695*344a7f5eSAndroid Build Coastguard Worker }
696*344a7f5eSAndroid Build Coastguard Worker
697*344a7f5eSAndroid Build Coastguard Worker #define _mm512_cvt_roundepu64_ps(A, R) __extension__ ({ \
698*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(__m512i)(A), \
699*344a7f5eSAndroid Build Coastguard Worker (__v8sf)_mm256_setzero_ps(), \
700*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
701*344a7f5eSAndroid Build Coastguard Worker
702*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_cvt_roundepu64_ps(W, U, A, R) __extension__ ({ \
703*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(__m512i)(A), \
704*344a7f5eSAndroid Build Coastguard Worker (__v8sf)(__m256)(W), (__mmask8)(U), \
705*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
706*344a7f5eSAndroid Build Coastguard Worker
707*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_cvt_roundepu64_ps(U, A, R) __extension__ ({ \
708*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(__m512i)(A), \
709*344a7f5eSAndroid Build Coastguard Worker (__v8sf)_mm256_setzero_ps(), \
710*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
711*344a7f5eSAndroid Build Coastguard Worker
712*344a7f5eSAndroid Build Coastguard Worker #define _mm512_range_pd(A, B, C) __extension__ ({ \
713*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
714*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(B), (int)(C), \
715*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
716*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, \
717*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
718*344a7f5eSAndroid Build Coastguard Worker
719*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_range_pd(W, U, A, B, C) __extension__ ({ \
720*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
721*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(B), (int)(C), \
722*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(W), (__mmask8)(U), \
723*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
724*344a7f5eSAndroid Build Coastguard Worker
725*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_range_pd(U, A, B, C) __extension__ ({ \
726*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
727*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(B), (int)(C), \
728*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
729*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), \
730*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
731*344a7f5eSAndroid Build Coastguard Worker
732*344a7f5eSAndroid Build Coastguard Worker #define _mm512_range_round_pd(A, B, C, R) __extension__ ({ \
733*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
734*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(B), (int)(C), \
735*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
736*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
737*344a7f5eSAndroid Build Coastguard Worker
738*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_range_round_pd(W, U, A, B, C, R) __extension__ ({ \
739*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
740*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(B), (int)(C), \
741*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(W), (__mmask8)(U), \
742*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
743*344a7f5eSAndroid Build Coastguard Worker
744*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_range_round_pd(U, A, B, C, R) __extension__ ({ \
745*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_rangepd512_mask((__v8df)(__m512d)(A), \
746*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(B), (int)(C), \
747*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
748*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
749*344a7f5eSAndroid Build Coastguard Worker
750*344a7f5eSAndroid Build Coastguard Worker #define _mm512_range_ps(A, B, C) __extension__ ({ \
751*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
752*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(B), (int)(C), \
753*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
754*344a7f5eSAndroid Build Coastguard Worker (__mmask16)-1, \
755*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
756*344a7f5eSAndroid Build Coastguard Worker
757*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_range_ps(W, U, A, B, C) __extension__ ({ \
758*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
759*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(B), (int)(C), \
760*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(W), (__mmask16)(U), \
761*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
762*344a7f5eSAndroid Build Coastguard Worker
763*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_range_ps(U, A, B, C) __extension__ ({ \
764*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
765*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(B), (int)(C), \
766*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
767*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U), \
768*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
769*344a7f5eSAndroid Build Coastguard Worker
770*344a7f5eSAndroid Build Coastguard Worker #define _mm512_range_round_ps(A, B, C, R) __extension__ ({ \
771*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
772*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(B), (int)(C), \
773*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
774*344a7f5eSAndroid Build Coastguard Worker (__mmask16)-1, (int)(R)); })
775*344a7f5eSAndroid Build Coastguard Worker
776*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_range_round_ps(W, U, A, B, C, R) __extension__ ({ \
777*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
778*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(B), (int)(C), \
779*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(W), (__mmask16)(U), \
780*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
781*344a7f5eSAndroid Build Coastguard Worker
782*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_range_round_ps(U, A, B, C, R) __extension__ ({ \
783*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_rangeps512_mask((__v16sf)(__m512)(A), \
784*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(B), (int)(C), \
785*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
786*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U), (int)(R)); })
787*344a7f5eSAndroid Build Coastguard Worker
788*344a7f5eSAndroid Build Coastguard Worker #define _mm_range_round_ss(A, B, C, R) __extension__ ({ \
789*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_rangess128_round_mask((__v4sf)(__m128)(A), \
790*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
791*344a7f5eSAndroid Build Coastguard Worker (__v4sf)_mm_setzero_ps(), \
792*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1, (int)(C),\
793*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
794*344a7f5eSAndroid Build Coastguard Worker
795*344a7f5eSAndroid Build Coastguard Worker #define _mm_range_ss(A ,B , C) _mm_range_round_ss(A, B, C ,_MM_FROUND_CUR_DIRECTION)
796*344a7f5eSAndroid Build Coastguard Worker
797*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_range_round_ss(W, U, A, B, C, R) __extension__ ({ \
798*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_rangess128_round_mask((__v4sf)(__m128)(A), \
799*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
800*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(W),\
801*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C),\
802*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
803*344a7f5eSAndroid Build Coastguard Worker
804*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_range_ss(W , U, A, B, C) _mm_mask_range_round_ss(W, U, A, B, C , _MM_FROUND_CUR_DIRECTION)
805*344a7f5eSAndroid Build Coastguard Worker
806*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_range_round_ss(U, A, B, C, R) __extension__ ({ \
807*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_rangess128_round_mask((__v4sf)(__m128)(A), \
808*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
809*344a7f5eSAndroid Build Coastguard Worker (__v4sf)_mm_setzero_ps(), \
810*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C),\
811*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
812*344a7f5eSAndroid Build Coastguard Worker
813*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_range_ss(U, A ,B , C) _mm_maskz_range_round_ss(U, A, B, C ,_MM_FROUND_CUR_DIRECTION)
814*344a7f5eSAndroid Build Coastguard Worker
815*344a7f5eSAndroid Build Coastguard Worker #define _mm_range_round_sd(A, B, C, R) __extension__ ({ \
816*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_rangesd128_round_mask((__v2df)(__m128d)(A), \
817*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
818*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
819*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1, (int)(C),\
820*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
821*344a7f5eSAndroid Build Coastguard Worker
822*344a7f5eSAndroid Build Coastguard Worker #define _mm_range_sd(A ,B , C) _mm_range_round_sd(A, B, C ,_MM_FROUND_CUR_DIRECTION)
823*344a7f5eSAndroid Build Coastguard Worker
824*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_range_round_sd(W, U, A, B, C, R) __extension__ ({ \
825*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_rangesd128_round_mask((__v2df)(__m128d)(A), \
826*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
827*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(W),\
828*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C),\
829*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
830*344a7f5eSAndroid Build Coastguard Worker
831*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_range_sd(W, U, A, B, C) _mm_mask_range_round_sd(W, U, A, B, C ,_MM_FROUND_CUR_DIRECTION)
832*344a7f5eSAndroid Build Coastguard Worker
833*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_range_round_sd(U, A, B, C, R) __extension__ ({ \
834*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_rangesd128_round_mask((__v2df)(__m128d)(A), \
835*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
836*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
837*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C),\
838*344a7f5eSAndroid Build Coastguard Worker (int)(R)); })
839*344a7f5eSAndroid Build Coastguard Worker
840*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_range_sd(U, A, B, C) _mm_maskz_range_round_sd(U, A, B, C ,_MM_FROUND_CUR_DIRECTION)
841*344a7f5eSAndroid Build Coastguard Worker
842*344a7f5eSAndroid Build Coastguard Worker #define _mm512_reduce_pd(A, B) __extension__ ({ \
843*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
844*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
845*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, \
846*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
847*344a7f5eSAndroid Build Coastguard Worker
848*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_reduce_pd(W, U, A, B) __extension__ ({ \
849*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
850*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(W), \
851*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), \
852*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
853*344a7f5eSAndroid Build Coastguard Worker
854*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_reduce_pd(U, A, B) __extension__ ({ \
855*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
856*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
857*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), \
858*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
859*344a7f5eSAndroid Build Coastguard Worker
860*344a7f5eSAndroid Build Coastguard Worker #define _mm512_reduce_ps(A, B) __extension__ ({ \
861*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
862*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
863*344a7f5eSAndroid Build Coastguard Worker (__mmask16)-1, \
864*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
865*344a7f5eSAndroid Build Coastguard Worker
866*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_reduce_ps(W, U, A, B) __extension__ ({ \
867*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
868*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(W), \
869*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U), \
870*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
871*344a7f5eSAndroid Build Coastguard Worker
872*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_reduce_ps(U, A, B) __extension__ ({ \
873*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
874*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
875*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U), \
876*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
877*344a7f5eSAndroid Build Coastguard Worker
878*344a7f5eSAndroid Build Coastguard Worker #define _mm512_reduce_round_pd(A, B, R) __extension__ ({\
879*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
880*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
881*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(R)); })
882*344a7f5eSAndroid Build Coastguard Worker
883*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_reduce_round_pd(W, U, A, B, R) __extension__ ({\
884*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
885*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(W), \
886*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
887*344a7f5eSAndroid Build Coastguard Worker
888*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_reduce_round_pd(U, A, B, R) __extension__ ({\
889*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_reducepd512_mask((__v8df)(__m512d)(A), (int)(B), \
890*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
891*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(R)); })
892*344a7f5eSAndroid Build Coastguard Worker
893*344a7f5eSAndroid Build Coastguard Worker #define _mm512_reduce_round_ps(A, B, R) __extension__ ({\
894*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
895*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
896*344a7f5eSAndroid Build Coastguard Worker (__mmask16)-1, (int)(R)); })
897*344a7f5eSAndroid Build Coastguard Worker
898*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_reduce_round_ps(W, U, A, B, R) __extension__ ({\
899*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
900*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(W), \
901*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U), (int)(R)); })
902*344a7f5eSAndroid Build Coastguard Worker
903*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_reduce_round_ps(U, A, B, R) __extension__ ({\
904*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_reduceps512_mask((__v16sf)(__m512)(A), (int)(B), \
905*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
906*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U), (int)(R)); })
907*344a7f5eSAndroid Build Coastguard Worker
908*344a7f5eSAndroid Build Coastguard Worker #define _mm_reduce_ss(A, B, C) __extension__ ({ \
909*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
910*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
911*344a7f5eSAndroid Build Coastguard Worker (__v4sf)_mm_setzero_ps(), (__mmask8)-1, \
912*344a7f5eSAndroid Build Coastguard Worker (int)(C), _MM_FROUND_CUR_DIRECTION); })
913*344a7f5eSAndroid Build Coastguard Worker
914*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_reduce_ss(W, U, A, B, C) __extension__ ({ \
915*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
916*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
917*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(W), (__mmask8)(U), \
918*344a7f5eSAndroid Build Coastguard Worker (int)(C), _MM_FROUND_CUR_DIRECTION); })
919*344a7f5eSAndroid Build Coastguard Worker
920*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_reduce_ss(U, A, B, C) __extension__ ({ \
921*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
922*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
923*344a7f5eSAndroid Build Coastguard Worker (__v4sf)_mm_setzero_ps(), \
924*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C), \
925*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
926*344a7f5eSAndroid Build Coastguard Worker
927*344a7f5eSAndroid Build Coastguard Worker #define _mm_reduce_round_ss(A, B, C, R) __extension__ ({ \
928*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
929*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
930*344a7f5eSAndroid Build Coastguard Worker (__v4sf)_mm_setzero_ps(), (__mmask8)-1, \
931*344a7f5eSAndroid Build Coastguard Worker (int)(C), (int)(R)); })
932*344a7f5eSAndroid Build Coastguard Worker
933*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_reduce_round_ss(W, U, A, B, C, R) __extension__ ({ \
934*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
935*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
936*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(W), (__mmask8)(U), \
937*344a7f5eSAndroid Build Coastguard Worker (int)(C), (int)(R)); })
938*344a7f5eSAndroid Build Coastguard Worker
939*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_reduce_round_ss(U, A, B, C, R) __extension__ ({ \
940*344a7f5eSAndroid Build Coastguard Worker (__m128)__builtin_ia32_reducess_mask((__v4sf)(__m128)(A), \
941*344a7f5eSAndroid Build Coastguard Worker (__v4sf)(__m128)(B), \
942*344a7f5eSAndroid Build Coastguard Worker (__v4sf)_mm_setzero_ps(), \
943*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C), (int)(R)); })
944*344a7f5eSAndroid Build Coastguard Worker
945*344a7f5eSAndroid Build Coastguard Worker #define _mm_reduce_sd(A, B, C) __extension__ ({ \
946*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
947*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
948*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
949*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(C), \
950*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
951*344a7f5eSAndroid Build Coastguard Worker
952*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_reduce_sd(W, U, A, B, C) __extension__ ({ \
953*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
954*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
955*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(W), (__mmask8)(U), \
956*344a7f5eSAndroid Build Coastguard Worker (int)(C), _MM_FROUND_CUR_DIRECTION); })
957*344a7f5eSAndroid Build Coastguard Worker
958*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_reduce_sd(U, A, B, C) __extension__ ({ \
959*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
960*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
961*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
962*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C), \
963*344a7f5eSAndroid Build Coastguard Worker _MM_FROUND_CUR_DIRECTION); })
964*344a7f5eSAndroid Build Coastguard Worker
965*344a7f5eSAndroid Build Coastguard Worker #define _mm_reduce_round_sd(A, B, C, R) __extension__ ({ \
966*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
967*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
968*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
969*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1, (int)(C), (int)(R)); })
970*344a7f5eSAndroid Build Coastguard Worker
971*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_reduce_round_sd(W, U, A, B, C, R) __extension__ ({ \
972*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
973*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
974*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(W), (__mmask8)(U), \
975*344a7f5eSAndroid Build Coastguard Worker (int)(C), (int)(R)); })
976*344a7f5eSAndroid Build Coastguard Worker
977*344a7f5eSAndroid Build Coastguard Worker #define _mm_maskz_reduce_round_sd(U, A, B, C, R) __extension__ ({ \
978*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_reducesd_mask((__v2df)(__m128d)(A), \
979*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
980*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
981*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U), (int)(C), (int)(R)); })
982*344a7f5eSAndroid Build Coastguard Worker
983*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask16 __DEFAULT_FN_ATTRS
_mm512_movepi32_mask(__m512i __A)984*344a7f5eSAndroid Build Coastguard Worker _mm512_movepi32_mask (__m512i __A)
985*344a7f5eSAndroid Build Coastguard Worker {
986*344a7f5eSAndroid Build Coastguard Worker return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A);
987*344a7f5eSAndroid Build Coastguard Worker }
988*344a7f5eSAndroid Build Coastguard Worker
989*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_movm_epi32(__mmask16 __A)990*344a7f5eSAndroid Build Coastguard Worker _mm512_movm_epi32 (__mmask16 __A)
991*344a7f5eSAndroid Build Coastguard Worker {
992*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtmask2d512 (__A);
993*344a7f5eSAndroid Build Coastguard Worker }
994*344a7f5eSAndroid Build Coastguard Worker
995*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_movm_epi64(__mmask8 __A)996*344a7f5eSAndroid Build Coastguard Worker _mm512_movm_epi64 (__mmask8 __A)
997*344a7f5eSAndroid Build Coastguard Worker {
998*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
999*344a7f5eSAndroid Build Coastguard Worker }
1000*344a7f5eSAndroid Build Coastguard Worker
1001*344a7f5eSAndroid Build Coastguard Worker static __inline__ __mmask8 __DEFAULT_FN_ATTRS
_mm512_movepi64_mask(__m512i __A)1002*344a7f5eSAndroid Build Coastguard Worker _mm512_movepi64_mask (__m512i __A)
1003*344a7f5eSAndroid Build Coastguard Worker {
1004*344a7f5eSAndroid Build Coastguard Worker return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A);
1005*344a7f5eSAndroid Build Coastguard Worker }
1006*344a7f5eSAndroid Build Coastguard Worker
1007*344a7f5eSAndroid Build Coastguard Worker
1008*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_broadcast_f32x2(__m128 __A)1009*344a7f5eSAndroid Build Coastguard Worker _mm512_broadcast_f32x2 (__m128 __A)
1010*344a7f5eSAndroid Build Coastguard Worker {
1011*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
1012*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_undefined_ps(),
1013*344a7f5eSAndroid Build Coastguard Worker (__mmask16) -1);
1014*344a7f5eSAndroid Build Coastguard Worker }
1015*344a7f5eSAndroid Build Coastguard Worker
1016*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_mask_broadcast_f32x2(__m512 __O,__mmask16 __M,__m128 __A)1017*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_broadcast_f32x2 (__m512 __O, __mmask16 __M, __m128 __A)
1018*344a7f5eSAndroid Build Coastguard Worker {
1019*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
1020*344a7f5eSAndroid Build Coastguard Worker (__v16sf)
1021*344a7f5eSAndroid Build Coastguard Worker __O, __M);
1022*344a7f5eSAndroid Build Coastguard Worker }
1023*344a7f5eSAndroid Build Coastguard Worker
1024*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_maskz_broadcast_f32x2(__mmask16 __M,__m128 __A)1025*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_broadcast_f32x2 (__mmask16 __M, __m128 __A)
1026*344a7f5eSAndroid Build Coastguard Worker {
1027*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
1028*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps (),
1029*344a7f5eSAndroid Build Coastguard Worker __M);
1030*344a7f5eSAndroid Build Coastguard Worker }
1031*344a7f5eSAndroid Build Coastguard Worker
1032*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_broadcast_f32x8(__m256 __A)1033*344a7f5eSAndroid Build Coastguard Worker _mm512_broadcast_f32x8 (__m256 __A)
1034*344a7f5eSAndroid Build Coastguard Worker {
1035*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
1036*344a7f5eSAndroid Build Coastguard Worker _mm512_undefined_ps(),
1037*344a7f5eSAndroid Build Coastguard Worker (__mmask16) -1);
1038*344a7f5eSAndroid Build Coastguard Worker }
1039*344a7f5eSAndroid Build Coastguard Worker
1040*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_mask_broadcast_f32x8(__m512 __O,__mmask16 __M,__m256 __A)1041*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_broadcast_f32x8 (__m512 __O, __mmask16 __M, __m256 __A)
1042*344a7f5eSAndroid Build Coastguard Worker {
1043*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
1044*344a7f5eSAndroid Build Coastguard Worker (__v16sf)__O,
1045*344a7f5eSAndroid Build Coastguard Worker __M);
1046*344a7f5eSAndroid Build Coastguard Worker }
1047*344a7f5eSAndroid Build Coastguard Worker
1048*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_maskz_broadcast_f32x8(__mmask16 __M,__m256 __A)1049*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_broadcast_f32x8 (__mmask16 __M, __m256 __A)
1050*344a7f5eSAndroid Build Coastguard Worker {
1051*344a7f5eSAndroid Build Coastguard Worker return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
1052*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps (),
1053*344a7f5eSAndroid Build Coastguard Worker __M);
1054*344a7f5eSAndroid Build Coastguard Worker }
1055*344a7f5eSAndroid Build Coastguard Worker
1056*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_broadcast_f64x2(__m128d __A)1057*344a7f5eSAndroid Build Coastguard Worker _mm512_broadcast_f64x2 (__m128d __A)
1058*344a7f5eSAndroid Build Coastguard Worker {
1059*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df) __A,
1060*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_undefined_pd(),
1061*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1);
1062*344a7f5eSAndroid Build Coastguard Worker }
1063*344a7f5eSAndroid Build Coastguard Worker
1064*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_mask_broadcast_f64x2(__m512d __O,__mmask8 __M,__m128d __A)1065*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_broadcast_f64x2 (__m512d __O, __mmask8 __M, __m128d __A)
1066*344a7f5eSAndroid Build Coastguard Worker {
1067*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df) __A,
1068*344a7f5eSAndroid Build Coastguard Worker (__v8df)
1069*344a7f5eSAndroid Build Coastguard Worker __O, __M);
1070*344a7f5eSAndroid Build Coastguard Worker }
1071*344a7f5eSAndroid Build Coastguard Worker
1072*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_maskz_broadcast_f64x2(__mmask8 __M,__m128d __A)1073*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
1074*344a7f5eSAndroid Build Coastguard Worker {
1075*344a7f5eSAndroid Build Coastguard Worker return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df) __A,
1076*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_ps (),
1077*344a7f5eSAndroid Build Coastguard Worker __M);
1078*344a7f5eSAndroid Build Coastguard Worker }
1079*344a7f5eSAndroid Build Coastguard Worker
1080*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_broadcast_i32x2(__m128i __A)1081*344a7f5eSAndroid Build Coastguard Worker _mm512_broadcast_i32x2 (__m128i __A)
1082*344a7f5eSAndroid Build Coastguard Worker {
1083*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si) __A,
1084*344a7f5eSAndroid Build Coastguard Worker (__v16si)_mm512_setzero_si512(),
1085*344a7f5eSAndroid Build Coastguard Worker (__mmask16) -1);
1086*344a7f5eSAndroid Build Coastguard Worker }
1087*344a7f5eSAndroid Build Coastguard Worker
1088*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_broadcast_i32x2(__m512i __O,__mmask16 __M,__m128i __A)1089*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_broadcast_i32x2 (__m512i __O, __mmask16 __M, __m128i __A)
1090*344a7f5eSAndroid Build Coastguard Worker {
1091*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si) __A,
1092*344a7f5eSAndroid Build Coastguard Worker (__v16si)
1093*344a7f5eSAndroid Build Coastguard Worker __O, __M);
1094*344a7f5eSAndroid Build Coastguard Worker }
1095*344a7f5eSAndroid Build Coastguard Worker
1096*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_broadcast_i32x2(__mmask16 __M,__m128i __A)1097*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_broadcast_i32x2 (__mmask16 __M, __m128i __A)
1098*344a7f5eSAndroid Build Coastguard Worker {
1099*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si) __A,
1100*344a7f5eSAndroid Build Coastguard Worker (__v16si)_mm512_setzero_si512 (),
1101*344a7f5eSAndroid Build Coastguard Worker __M);
1102*344a7f5eSAndroid Build Coastguard Worker }
1103*344a7f5eSAndroid Build Coastguard Worker
1104*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_broadcast_i32x8(__m256i __A)1105*344a7f5eSAndroid Build Coastguard Worker _mm512_broadcast_i32x8 (__m256i __A)
1106*344a7f5eSAndroid Build Coastguard Worker {
1107*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si) __A,
1108*344a7f5eSAndroid Build Coastguard Worker (__v16si)_mm512_setzero_si512(),
1109*344a7f5eSAndroid Build Coastguard Worker (__mmask16) -1);
1110*344a7f5eSAndroid Build Coastguard Worker }
1111*344a7f5eSAndroid Build Coastguard Worker
1112*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_broadcast_i32x8(__m512i __O,__mmask16 __M,__m256i __A)1113*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_broadcast_i32x8 (__m512i __O, __mmask16 __M, __m256i __A)
1114*344a7f5eSAndroid Build Coastguard Worker {
1115*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si) __A,
1116*344a7f5eSAndroid Build Coastguard Worker (__v16si)__O,
1117*344a7f5eSAndroid Build Coastguard Worker __M);
1118*344a7f5eSAndroid Build Coastguard Worker }
1119*344a7f5eSAndroid Build Coastguard Worker
1120*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_broadcast_i32x8(__mmask16 __M,__m256i __A)1121*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_broadcast_i32x8 (__mmask16 __M, __m256i __A)
1122*344a7f5eSAndroid Build Coastguard Worker {
1123*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si) __A,
1124*344a7f5eSAndroid Build Coastguard Worker (__v16si)
1125*344a7f5eSAndroid Build Coastguard Worker _mm512_setzero_si512 (),
1126*344a7f5eSAndroid Build Coastguard Worker __M);
1127*344a7f5eSAndroid Build Coastguard Worker }
1128*344a7f5eSAndroid Build Coastguard Worker
1129*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_broadcast_i64x2(__m128i __A)1130*344a7f5eSAndroid Build Coastguard Worker _mm512_broadcast_i64x2 (__m128i __A)
1131*344a7f5eSAndroid Build Coastguard Worker {
1132*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di) __A,
1133*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(),
1134*344a7f5eSAndroid Build Coastguard Worker (__mmask8) -1);
1135*344a7f5eSAndroid Build Coastguard Worker }
1136*344a7f5eSAndroid Build Coastguard Worker
1137*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_mask_broadcast_i64x2(__m512i __O,__mmask8 __M,__m128i __A)1138*344a7f5eSAndroid Build Coastguard Worker _mm512_mask_broadcast_i64x2 (__m512i __O, __mmask8 __M, __m128i __A)
1139*344a7f5eSAndroid Build Coastguard Worker {
1140*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di) __A,
1141*344a7f5eSAndroid Build Coastguard Worker (__v8di)
1142*344a7f5eSAndroid Build Coastguard Worker __O, __M);
1143*344a7f5eSAndroid Build Coastguard Worker }
1144*344a7f5eSAndroid Build Coastguard Worker
1145*344a7f5eSAndroid Build Coastguard Worker static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_maskz_broadcast_i64x2(__mmask8 __M,__m128i __A)1146*344a7f5eSAndroid Build Coastguard Worker _mm512_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
1147*344a7f5eSAndroid Build Coastguard Worker {
1148*344a7f5eSAndroid Build Coastguard Worker return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di) __A,
1149*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512 (),
1150*344a7f5eSAndroid Build Coastguard Worker __M);
1151*344a7f5eSAndroid Build Coastguard Worker }
1152*344a7f5eSAndroid Build Coastguard Worker
1153*344a7f5eSAndroid Build Coastguard Worker #define _mm512_extractf32x8_ps(A, imm) __extension__ ({ \
1154*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1155*344a7f5eSAndroid Build Coastguard Worker (__v8sf)_mm256_setzero_ps(), \
1156*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1157*344a7f5eSAndroid Build Coastguard Worker
1158*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_extractf32x8_ps(W, U, A, imm) __extension__ ({ \
1159*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1160*344a7f5eSAndroid Build Coastguard Worker (__v8sf)(__m256)(W), \
1161*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1162*344a7f5eSAndroid Build Coastguard Worker
1163*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_extractf32x8_ps(U, A, imm) __extension__ ({ \
1164*344a7f5eSAndroid Build Coastguard Worker (__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1165*344a7f5eSAndroid Build Coastguard Worker (__v8sf)_mm256_setzero_ps(), \
1166*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1167*344a7f5eSAndroid Build Coastguard Worker
1168*344a7f5eSAndroid Build Coastguard Worker #define _mm512_extractf64x2_pd(A, imm) __extension__ ({ \
1169*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1170*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1171*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
1172*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1173*344a7f5eSAndroid Build Coastguard Worker
1174*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_extractf64x2_pd(W, U, A, imm) __extension__ ({ \
1175*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1176*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1177*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(W), \
1178*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1179*344a7f5eSAndroid Build Coastguard Worker
1180*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_extractf64x2_pd(U, A, imm) __extension__ ({ \
1181*344a7f5eSAndroid Build Coastguard Worker (__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1182*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1183*344a7f5eSAndroid Build Coastguard Worker (__v2df)_mm_setzero_pd(), \
1184*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1185*344a7f5eSAndroid Build Coastguard Worker
1186*344a7f5eSAndroid Build Coastguard Worker #define _mm512_extracti32x8_epi32(A, imm) __extension__ ({ \
1187*344a7f5eSAndroid Build Coastguard Worker (__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1188*344a7f5eSAndroid Build Coastguard Worker (__v8si)_mm256_setzero_si256(), \
1189*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1190*344a7f5eSAndroid Build Coastguard Worker
1191*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_extracti32x8_epi32(W, U, A, imm) __extension__ ({ \
1192*344a7f5eSAndroid Build Coastguard Worker (__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1193*344a7f5eSAndroid Build Coastguard Worker (__v8si)(__m256i)(W), \
1194*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1195*344a7f5eSAndroid Build Coastguard Worker
1196*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_extracti32x8_epi32(U, A, imm) __extension__ ({ \
1197*344a7f5eSAndroid Build Coastguard Worker (__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1198*344a7f5eSAndroid Build Coastguard Worker (__v8si)_mm256_setzero_si256(), \
1199*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1200*344a7f5eSAndroid Build Coastguard Worker
1201*344a7f5eSAndroid Build Coastguard Worker #define _mm512_extracti64x2_epi64(A, imm) __extension__ ({ \
1202*344a7f5eSAndroid Build Coastguard Worker (__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1203*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1204*344a7f5eSAndroid Build Coastguard Worker (__v2di)_mm_setzero_di(), \
1205*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1206*344a7f5eSAndroid Build Coastguard Worker
1207*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_extracti64x2_epi64(W, U, A, imm) __extension__ ({ \
1208*344a7f5eSAndroid Build Coastguard Worker (__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1209*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1210*344a7f5eSAndroid Build Coastguard Worker (__v2di)(__m128i)(W), \
1211*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1212*344a7f5eSAndroid Build Coastguard Worker
1213*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_extracti64x2_epi64(U, A, imm) __extension__ ({ \
1214*344a7f5eSAndroid Build Coastguard Worker (__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1215*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1216*344a7f5eSAndroid Build Coastguard Worker (__v2di)_mm_setzero_di(), \
1217*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1218*344a7f5eSAndroid Build Coastguard Worker
1219*344a7f5eSAndroid Build Coastguard Worker #define _mm512_insertf32x8(A, B, imm) __extension__ ({ \
1220*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_insertf32x8_mask((__v16sf)(__m512)(A), \
1221*344a7f5eSAndroid Build Coastguard Worker (__v8sf)(__m256)(B), (int)(imm), \
1222*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
1223*344a7f5eSAndroid Build Coastguard Worker (__mmask16)-1); })
1224*344a7f5eSAndroid Build Coastguard Worker
1225*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_insertf32x8(W, U, A, B, imm) __extension__ ({ \
1226*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_insertf32x8_mask((__v16sf)(__m512)(A), \
1227*344a7f5eSAndroid Build Coastguard Worker (__v8sf)(__m256)(B), (int)(imm), \
1228*344a7f5eSAndroid Build Coastguard Worker (__v16sf)(__m512)(W), \
1229*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U)); })
1230*344a7f5eSAndroid Build Coastguard Worker
1231*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_insertf32x8(U, A, B, imm) __extension__ ({ \
1232*344a7f5eSAndroid Build Coastguard Worker (__m512)__builtin_ia32_insertf32x8_mask((__v16sf)(__m512)(A), \
1233*344a7f5eSAndroid Build Coastguard Worker (__v8sf)(__m256)(B), (int)(imm), \
1234*344a7f5eSAndroid Build Coastguard Worker (__v16sf)_mm512_setzero_ps(), \
1235*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U)); })
1236*344a7f5eSAndroid Build Coastguard Worker
1237*344a7f5eSAndroid Build Coastguard Worker #define _mm512_insertf64x2(A, B, imm) __extension__ ({ \
1238*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_insertf64x2_512_mask((__v8df)(__m512d)(A), \
1239*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
1240*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1241*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
1242*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1243*344a7f5eSAndroid Build Coastguard Worker
1244*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_insertf64x2(W, U, A, B, imm) __extension__ ({ \
1245*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_insertf64x2_512_mask((__v8df)(__m512d)(A), \
1246*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
1247*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1248*344a7f5eSAndroid Build Coastguard Worker (__v8df)(__m512d)(W), \
1249*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1250*344a7f5eSAndroid Build Coastguard Worker
1251*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_insertf64x2(U, A, B, imm) __extension__ ({ \
1252*344a7f5eSAndroid Build Coastguard Worker (__m512d)__builtin_ia32_insertf64x2_512_mask((__v8df)(__m512d)(A), \
1253*344a7f5eSAndroid Build Coastguard Worker (__v2df)(__m128d)(B), \
1254*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1255*344a7f5eSAndroid Build Coastguard Worker (__v8df)_mm512_setzero_pd(), \
1256*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1257*344a7f5eSAndroid Build Coastguard Worker
1258*344a7f5eSAndroid Build Coastguard Worker #define _mm512_inserti32x8(A, B, imm) __extension__ ({ \
1259*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_inserti32x8_mask((__v16si)(__m512i)(A), \
1260*344a7f5eSAndroid Build Coastguard Worker (__v8si)(__m256i)(B), (int)(imm), \
1261*344a7f5eSAndroid Build Coastguard Worker (__v16si)_mm512_setzero_si512(), \
1262*344a7f5eSAndroid Build Coastguard Worker (__mmask16)-1); })
1263*344a7f5eSAndroid Build Coastguard Worker
1264*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_inserti32x8(W, U, A, B, imm) __extension__ ({ \
1265*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_inserti32x8_mask((__v16si)(__m512i)(A), \
1266*344a7f5eSAndroid Build Coastguard Worker (__v8si)(__m256i)(B), (int)(imm), \
1267*344a7f5eSAndroid Build Coastguard Worker (__v16si)(__m512i)(W), \
1268*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U)); })
1269*344a7f5eSAndroid Build Coastguard Worker
1270*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_inserti32x8(U, A, B, imm) __extension__ ({ \
1271*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_inserti32x8_mask((__v16si)(__m512i)(A), \
1272*344a7f5eSAndroid Build Coastguard Worker (__v8si)(__m256i)(B), (int)(imm), \
1273*344a7f5eSAndroid Build Coastguard Worker (__v16si)_mm512_setzero_si512(), \
1274*344a7f5eSAndroid Build Coastguard Worker (__mmask16)(U)); })
1275*344a7f5eSAndroid Build Coastguard Worker
1276*344a7f5eSAndroid Build Coastguard Worker #define _mm512_inserti64x2(A, B, imm) __extension__ ({ \
1277*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_inserti64x2_512_mask((__v8di)(__m512i)(A), \
1278*344a7f5eSAndroid Build Coastguard Worker (__v2di)(__m128i)(B), \
1279*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1280*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
1281*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1282*344a7f5eSAndroid Build Coastguard Worker
1283*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_inserti64x2(W, U, A, B, imm) __extension__ ({ \
1284*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_inserti64x2_512_mask((__v8di)(__m512i)(A), \
1285*344a7f5eSAndroid Build Coastguard Worker (__v2di)(__m128i)(B), \
1286*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1287*344a7f5eSAndroid Build Coastguard Worker (__v8di)(__m512i)(W), \
1288*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1289*344a7f5eSAndroid Build Coastguard Worker
1290*344a7f5eSAndroid Build Coastguard Worker #define _mm512_maskz_inserti64x2(U, A, B, imm) __extension__ ({ \
1291*344a7f5eSAndroid Build Coastguard Worker (__m512i)__builtin_ia32_inserti64x2_512_mask((__v8di)(__m512i)(A), \
1292*344a7f5eSAndroid Build Coastguard Worker (__v2di)(__m128i)(B), \
1293*344a7f5eSAndroid Build Coastguard Worker (int)(imm), \
1294*344a7f5eSAndroid Build Coastguard Worker (__v8di)_mm512_setzero_si512(), \
1295*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1296*344a7f5eSAndroid Build Coastguard Worker
1297*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_fpclass_ps_mask(U, A, imm) __extension__ ({ \
1298*344a7f5eSAndroid Build Coastguard Worker (__mmask16)__builtin_ia32_fpclassps512_mask((__v16sf)(__m512)(A), \
1299*344a7f5eSAndroid Build Coastguard Worker (int)(imm), (__mmask16)(U)); })
1300*344a7f5eSAndroid Build Coastguard Worker
1301*344a7f5eSAndroid Build Coastguard Worker #define _mm512_fpclass_ps_mask(A, imm) __extension__ ({ \
1302*344a7f5eSAndroid Build Coastguard Worker (__mmask16)__builtin_ia32_fpclassps512_mask((__v16sf)(__m512)(A), \
1303*344a7f5eSAndroid Build Coastguard Worker (int)(imm), (__mmask16)-1); })
1304*344a7f5eSAndroid Build Coastguard Worker
1305*344a7f5eSAndroid Build Coastguard Worker #define _mm512_mask_fpclass_pd_mask(U, A, imm) __extension__ ({ \
1306*344a7f5eSAndroid Build Coastguard Worker (__mmask8)__builtin_ia32_fpclasspd512_mask((__v8df)(__m512d)(A), (int)(imm), \
1307*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1308*344a7f5eSAndroid Build Coastguard Worker
1309*344a7f5eSAndroid Build Coastguard Worker #define _mm512_fpclass_pd_mask(A, imm) __extension__ ({ \
1310*344a7f5eSAndroid Build Coastguard Worker (__mmask8)__builtin_ia32_fpclasspd512_mask((__v8df)(__m512d)(A), (int)(imm), \
1311*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1312*344a7f5eSAndroid Build Coastguard Worker
1313*344a7f5eSAndroid Build Coastguard Worker #define _mm_fpclass_sd_mask(A, imm) __extension__ ({ \
1314*344a7f5eSAndroid Build Coastguard Worker (__mmask8)__builtin_ia32_fpclasssd_mask((__v2df)(__m128d)(A), (int)(imm), \
1315*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1316*344a7f5eSAndroid Build Coastguard Worker
1317*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_fpclass_sd_mask(U, A, imm) __extension__ ({ \
1318*344a7f5eSAndroid Build Coastguard Worker (__mmask8)__builtin_ia32_fpclasssd_mask((__v2df)(__m128d)(A), (int)(imm), \
1319*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1320*344a7f5eSAndroid Build Coastguard Worker
1321*344a7f5eSAndroid Build Coastguard Worker #define _mm_fpclass_ss_mask(A, imm) __extension__ ({ \
1322*344a7f5eSAndroid Build Coastguard Worker (__mmask8)__builtin_ia32_fpclassss_mask((__v4sf)(__m128)(A), (int)(imm), \
1323*344a7f5eSAndroid Build Coastguard Worker (__mmask8)-1); })
1324*344a7f5eSAndroid Build Coastguard Worker
1325*344a7f5eSAndroid Build Coastguard Worker #define _mm_mask_fpclass_ss_mask(U, A, imm) __extension__ ({ \
1326*344a7f5eSAndroid Build Coastguard Worker (__mmask8)__builtin_ia32_fpclassss_mask((__v4sf)(__m128)(A), (int)(imm), \
1327*344a7f5eSAndroid Build Coastguard Worker (__mmask8)(U)); })
1328*344a7f5eSAndroid Build Coastguard Worker
1329*344a7f5eSAndroid Build Coastguard Worker #undef __DEFAULT_FN_ATTRS
1330*344a7f5eSAndroid Build Coastguard Worker
1331*344a7f5eSAndroid Build Coastguard Worker #endif
1332