1296417Sdim/*===---- avx512vldqintrin.h - AVX512VL and AVX512DQ intrinsics ------------===
2283627Sdim *
3283627Sdim * Permission is hereby granted, free of charge, to any person obtaining a copy
4283627Sdim * of this software and associated documentation files (the "Software"), to deal
5283627Sdim * in the Software without restriction, including without limitation the rights
6283627Sdim * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7283627Sdim * copies of the Software, and to permit persons to whom the Software is
8283627Sdim * furnished to do so, subject to the following conditions:
9283627Sdim *
10283627Sdim * The above copyright notice and this permission notice shall be included in
11283627Sdim * all copies or substantial portions of the Software.
12283627Sdim *
13283627Sdim * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14283627Sdim * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15283627Sdim * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16283627Sdim * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17283627Sdim * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18283627Sdim * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19283627Sdim * THE SOFTWARE.
20283627Sdim *
21283627Sdim *===-----------------------------------------------------------------------===
22283627Sdim */
23296417Sdim
24283627Sdim#ifndef __IMMINTRIN_H
25283627Sdim#error "Never use <avx512vldqintrin.h> directly; include <immintrin.h> instead."
26283627Sdim#endif
27283627Sdim
28283627Sdim#ifndef __AVX512VLDQINTRIN_H
29283627Sdim#define __AVX512VLDQINTRIN_H
30283627Sdim
31284734Sdim/* Define the default attributes for the functions in this file. */
32296417Sdim#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512dq")))
33283627Sdim
34285181Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
35283627Sdim_mm256_mullo_epi64 (__m256i __A, __m256i __B) {
36283627Sdim  return (__m256i) ((__v4di) __A * (__v4di) __B);
37283627Sdim}
38283627Sdim
39285181Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
40283627Sdim_mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
41283627Sdim  return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
42283627Sdim              (__v4di) __B,
43283627Sdim              (__v4di) __W,
44283627Sdim              (__mmask8) __U);
45283627Sdim}
46283627Sdim
47285181Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
48283627Sdim_mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
49283627Sdim  return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
50283627Sdim              (__v4di) __B,
51283627Sdim              (__v4di)
52283627Sdim              _mm256_setzero_si256 (),
53283627Sdim              (__mmask8) __U);
54283627Sdim}
55283627Sdim
56285181Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
57283627Sdim_mm_mullo_epi64 (__m128i __A, __m128i __B) {
58283627Sdim  return (__m128i) ((__v2di) __A * (__v2di) __B);
59283627Sdim}
60283627Sdim
61285181Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
62283627Sdim_mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
63283627Sdim  return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
64283627Sdim              (__v2di) __B,
65283627Sdim              (__v2di) __W,
66283627Sdim              (__mmask8) __U);
67283627Sdim}
68283627Sdim
69285181Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
70283627Sdim_mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
71283627Sdim  return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
72283627Sdim              (__v2di) __B,
73283627Sdim              (__v2di)
74283627Sdim              _mm_setzero_si128 (),
75283627Sdim              (__mmask8) __U);
76283627Sdim}
77283627Sdim
78285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
79283627Sdim_mm256_mask_andnot_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
80283627Sdim  return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
81283627Sdim              (__v4df) __B,
82283627Sdim              (__v4df) __W,
83283627Sdim              (__mmask8) __U);
84283627Sdim}
85283627Sdim
86285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
87283627Sdim_mm256_maskz_andnot_pd (__mmask8 __U, __m256d __A, __m256d __B) {
88283627Sdim  return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
89283627Sdim              (__v4df) __B,
90283627Sdim              (__v4df)
91283627Sdim              _mm256_setzero_pd (),
92283627Sdim              (__mmask8) __U);
93283627Sdim}
94283627Sdim
95285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
96283627Sdim_mm_mask_andnot_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
97283627Sdim  return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
98283627Sdim              (__v2df) __B,
99283627Sdim              (__v2df) __W,
100283627Sdim              (__mmask8) __U);
101283627Sdim}
102283627Sdim
103285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
104283627Sdim_mm_maskz_andnot_pd (__mmask8 __U, __m128d __A, __m128d __B) {
105283627Sdim  return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
106283627Sdim              (__v2df) __B,
107283627Sdim              (__v2df)
108283627Sdim              _mm_setzero_pd (),
109283627Sdim              (__mmask8) __U);
110283627Sdim}
111283627Sdim
112285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
113283627Sdim_mm256_mask_andnot_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
114283627Sdim  return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
115283627Sdim             (__v8sf) __B,
116283627Sdim             (__v8sf) __W,
117283627Sdim             (__mmask8) __U);
118283627Sdim}
119283627Sdim
120285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
121283627Sdim_mm256_maskz_andnot_ps (__mmask8 __U, __m256 __A, __m256 __B) {
122283627Sdim  return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
123283627Sdim             (__v8sf) __B,
124283627Sdim             (__v8sf)
125283627Sdim             _mm256_setzero_ps (),
126283627Sdim             (__mmask8) __U);
127283627Sdim}
128283627Sdim
129285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
130283627Sdim_mm_mask_andnot_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
131283627Sdim  return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
132283627Sdim             (__v4sf) __B,
133283627Sdim             (__v4sf) __W,
134283627Sdim             (__mmask8) __U);
135283627Sdim}
136283627Sdim
137285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
138283627Sdim_mm_maskz_andnot_ps (__mmask8 __U, __m128 __A, __m128 __B) {
139283627Sdim  return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
140283627Sdim             (__v4sf) __B,
141283627Sdim             (__v4sf)
142283627Sdim             _mm_setzero_ps (),
143283627Sdim             (__mmask8) __U);
144283627Sdim}
145283627Sdim
146285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
147283627Sdim_mm256_mask_and_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
148283627Sdim  return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
149283627Sdim             (__v4df) __B,
150283627Sdim             (__v4df) __W,
151283627Sdim             (__mmask8) __U);
152283627Sdim}
153283627Sdim
154285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
155283627Sdim_mm256_maskz_and_pd (__mmask8 __U, __m256d __A, __m256d __B) {
156283627Sdim  return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
157283627Sdim             (__v4df) __B,
158283627Sdim             (__v4df)
159283627Sdim             _mm256_setzero_pd (),
160283627Sdim             (__mmask8) __U);
161283627Sdim}
162283627Sdim
163285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
164283627Sdim_mm_mask_and_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
165283627Sdim  return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
166283627Sdim             (__v2df) __B,
167283627Sdim             (__v2df) __W,
168283627Sdim             (__mmask8) __U);
169283627Sdim}
170283627Sdim
171285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
172283627Sdim_mm_maskz_and_pd (__mmask8 __U, __m128d __A, __m128d __B) {
173283627Sdim  return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
174283627Sdim             (__v2df) __B,
175283627Sdim             (__v2df)
176283627Sdim             _mm_setzero_pd (),
177283627Sdim             (__mmask8) __U);
178283627Sdim}
179283627Sdim
180285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
181283627Sdim_mm256_mask_and_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
182283627Sdim  return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
183283627Sdim            (__v8sf) __B,
184283627Sdim            (__v8sf) __W,
185283627Sdim            (__mmask8) __U);
186283627Sdim}
187283627Sdim
188285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
189283627Sdim_mm256_maskz_and_ps (__mmask8 __U, __m256 __A, __m256 __B) {
190283627Sdim  return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
191283627Sdim            (__v8sf) __B,
192283627Sdim            (__v8sf)
193283627Sdim            _mm256_setzero_ps (),
194283627Sdim            (__mmask8) __U);
195283627Sdim}
196283627Sdim
197285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
198283627Sdim_mm_mask_and_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
199283627Sdim  return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
200283627Sdim            (__v4sf) __B,
201283627Sdim            (__v4sf) __W,
202283627Sdim            (__mmask8) __U);
203283627Sdim}
204283627Sdim
205285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
206283627Sdim_mm_maskz_and_ps (__mmask8 __U, __m128 __A, __m128 __B) {
207283627Sdim  return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
208283627Sdim            (__v4sf) __B,
209283627Sdim            (__v4sf)
210283627Sdim            _mm_setzero_ps (),
211283627Sdim            (__mmask8) __U);
212283627Sdim}
213283627Sdim
214285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
215283627Sdim_mm256_mask_xor_pd (__m256d __W, __mmask8 __U, __m256d __A,
216283627Sdim        __m256d __B) {
217283627Sdim  return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
218283627Sdim             (__v4df) __B,
219283627Sdim             (__v4df) __W,
220283627Sdim             (__mmask8) __U);
221283627Sdim}
222283627Sdim
223285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
224283627Sdim_mm256_maskz_xor_pd (__mmask8 __U, __m256d __A, __m256d __B) {
225283627Sdim  return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
226283627Sdim             (__v4df) __B,
227283627Sdim             (__v4df)
228283627Sdim             _mm256_setzero_pd (),
229283627Sdim             (__mmask8) __U);
230283627Sdim}
231283627Sdim
232285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
233283627Sdim_mm_mask_xor_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
234283627Sdim  return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
235283627Sdim             (__v2df) __B,
236283627Sdim             (__v2df) __W,
237283627Sdim             (__mmask8) __U);
238283627Sdim}
239283627Sdim
240285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
241283627Sdim_mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B) {
242283627Sdim  return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
243283627Sdim             (__v2df) __B,
244283627Sdim             (__v2df)
245283627Sdim             _mm_setzero_pd (),
246283627Sdim             (__mmask8) __U);
247283627Sdim}
248283627Sdim
249285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
250283627Sdim_mm256_mask_xor_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
251283627Sdim  return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
252283627Sdim            (__v8sf) __B,
253283627Sdim            (__v8sf) __W,
254283627Sdim            (__mmask8) __U);
255283627Sdim}
256283627Sdim
257285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
258283627Sdim_mm256_maskz_xor_ps (__mmask8 __U, __m256 __A, __m256 __B) {
259283627Sdim  return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
260283627Sdim            (__v8sf) __B,
261283627Sdim            (__v8sf)
262283627Sdim            _mm256_setzero_ps (),
263283627Sdim            (__mmask8) __U);
264283627Sdim}
265283627Sdim
266285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
267283627Sdim_mm_mask_xor_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
268283627Sdim  return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
269283627Sdim            (__v4sf) __B,
270283627Sdim            (__v4sf) __W,
271283627Sdim            (__mmask8) __U);
272283627Sdim}
273283627Sdim
274285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
275283627Sdim_mm_maskz_xor_ps (__mmask8 __U, __m128 __A, __m128 __B) {
276283627Sdim  return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
277283627Sdim            (__v4sf) __B,
278283627Sdim            (__v4sf)
279283627Sdim            _mm_setzero_ps (),
280283627Sdim            (__mmask8) __U);
281283627Sdim}
282283627Sdim
283285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
284283627Sdim_mm256_mask_or_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
285283627Sdim  return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
286283627Sdim            (__v4df) __B,
287283627Sdim            (__v4df) __W,
288283627Sdim            (__mmask8) __U);
289283627Sdim}
290283627Sdim
291285181Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
292283627Sdim_mm256_maskz_or_pd (__mmask8 __U, __m256d __A, __m256d __B) {
293283627Sdim  return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
294283627Sdim            (__v4df) __B,
295283627Sdim            (__v4df)
296283627Sdim            _mm256_setzero_pd (),
297283627Sdim            (__mmask8) __U);
298283627Sdim}
299283627Sdim
300285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
301283627Sdim_mm_mask_or_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
302283627Sdim  return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
303283627Sdim            (__v2df) __B,
304283627Sdim            (__v2df) __W,
305283627Sdim            (__mmask8) __U);
306283627Sdim}
307283627Sdim
308285181Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
309283627Sdim_mm_maskz_or_pd (__mmask8 __U, __m128d __A, __m128d __B) {
310283627Sdim  return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
311283627Sdim            (__v2df) __B,
312283627Sdim            (__v2df)
313283627Sdim            _mm_setzero_pd (),
314283627Sdim            (__mmask8) __U);
315283627Sdim}
316283627Sdim
317285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
318283627Sdim_mm256_mask_or_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
319283627Sdim  return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
320283627Sdim                 (__v8sf) __B,
321283627Sdim                 (__v8sf) __W,
322283627Sdim                 (__mmask8) __U);
323283627Sdim}
324283627Sdim
325285181Sdimstatic __inline__ __m256 __DEFAULT_FN_ATTRS
326283627Sdim_mm256_maskz_or_ps (__mmask8 __U, __m256 __A, __m256 __B) {
327283627Sdim  return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
328283627Sdim                 (__v8sf) __B,
329283627Sdim                 (__v8sf)
330283627Sdim                 _mm256_setzero_ps (),
331283627Sdim                 (__mmask8) __U);
332283627Sdim}
333283627Sdim
334285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
335283627Sdim_mm_mask_or_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
336283627Sdim  return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
337283627Sdim                 (__v4sf) __B,
338283627Sdim                 (__v4sf) __W,
339283627Sdim                 (__mmask8) __U);
340283627Sdim}
341283627Sdim
342285181Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
343283627Sdim_mm_maskz_or_ps (__mmask8 __U, __m128 __A, __m128 __B) {
344283627Sdim  return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
345283627Sdim                 (__v4sf) __B,
346283627Sdim                 (__v4sf)
347283627Sdim                 _mm_setzero_ps (),
348283627Sdim                 (__mmask8) __U);
349283627Sdim}
350283627Sdim
351296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
352296417Sdim_mm_cvtpd_epi64 (__m128d __A) {
353296417Sdim  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
354296417Sdim                (__v2di) _mm_setzero_si128(),
355296417Sdim                (__mmask8) -1);
356296417Sdim}
357296417Sdim
358296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
359296417Sdim_mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
360296417Sdim  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
361296417Sdim                (__v2di) __W,
362296417Sdim                (__mmask8) __U);
363296417Sdim}
364296417Sdim
365296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
366296417Sdim_mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A) {
367296417Sdim  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
368296417Sdim                (__v2di) _mm_setzero_si128(),
369296417Sdim                (__mmask8) __U);
370296417Sdim}
371296417Sdim
372296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
373296417Sdim_mm256_cvtpd_epi64 (__m256d __A) {
374296417Sdim  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
375296417Sdim                (__v4di) _mm256_setzero_si256(),
376296417Sdim                (__mmask8) -1);
377296417Sdim}
378296417Sdim
379296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
380296417Sdim_mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
381296417Sdim  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
382296417Sdim                (__v4di) __W,
383296417Sdim                (__mmask8) __U);
384296417Sdim}
385296417Sdim
386296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
387296417Sdim_mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A) {
388296417Sdim  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
389296417Sdim                (__v4di) _mm256_setzero_si256(),
390296417Sdim                (__mmask8) __U);
391296417Sdim}
392296417Sdim
393296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
394296417Sdim_mm_cvtpd_epu64 (__m128d __A) {
395296417Sdim  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
396296417Sdim                (__v2di) _mm_setzero_si128(),
397296417Sdim                (__mmask8) -1);
398296417Sdim}
399296417Sdim
400296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
401296417Sdim_mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
402296417Sdim  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
403296417Sdim                (__v2di) __W,
404296417Sdim                (__mmask8) __U);
405296417Sdim}
406296417Sdim
407296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
408296417Sdim_mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A) {
409296417Sdim  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
410296417Sdim                (__v2di) _mm_setzero_si128(),
411296417Sdim                (__mmask8) __U);
412296417Sdim}
413296417Sdim
414296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
415296417Sdim_mm256_cvtpd_epu64 (__m256d __A) {
416296417Sdim  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
417296417Sdim                (__v4di) _mm256_setzero_si256(),
418296417Sdim                (__mmask8) -1);
419296417Sdim}
420296417Sdim
421296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
422296417Sdim_mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
423296417Sdim  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
424296417Sdim                (__v4di) __W,
425296417Sdim                (__mmask8) __U);
426296417Sdim}
427296417Sdim
428296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
429296417Sdim_mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A) {
430296417Sdim  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
431296417Sdim                (__v4di) _mm256_setzero_si256(),
432296417Sdim                (__mmask8) __U);
433296417Sdim}
434296417Sdim
435296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
436296417Sdim_mm_cvtps_epi64 (__m128 __A) {
437296417Sdim  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
438296417Sdim                (__v2di) _mm_setzero_si128(),
439296417Sdim                (__mmask8) -1);
440296417Sdim}
441296417Sdim
442296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
443296417Sdim_mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
444296417Sdim  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
445296417Sdim                (__v2di) __W,
446296417Sdim                (__mmask8) __U);
447296417Sdim}
448296417Sdim
449296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
450296417Sdim_mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
451296417Sdim  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
452296417Sdim                (__v2di) _mm_setzero_si128(),
453296417Sdim                (__mmask8) __U);
454296417Sdim}
455296417Sdim
456296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
457296417Sdim_mm256_cvtps_epi64 (__m128 __A) {
458296417Sdim  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
459296417Sdim                (__v4di) _mm256_setzero_si256(),
460296417Sdim                (__mmask8) -1);
461296417Sdim}
462296417Sdim
463296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
464296417Sdim_mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
465296417Sdim  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
466296417Sdim                (__v4di) __W,
467296417Sdim                (__mmask8) __U);
468296417Sdim}
469296417Sdim
470296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
471296417Sdim_mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
472296417Sdim  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
473296417Sdim                (__v4di) _mm256_setzero_si256(),
474296417Sdim                (__mmask8) __U);
475296417Sdim}
476296417Sdim
477296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
478296417Sdim_mm_cvtps_epu64 (__m128 __A) {
479296417Sdim  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
480296417Sdim                (__v2di) _mm_setzero_si128(),
481296417Sdim                (__mmask8) -1);
482296417Sdim}
483296417Sdim
484296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
485296417Sdim_mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
486296417Sdim  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
487296417Sdim                (__v2di) __W,
488296417Sdim                (__mmask8) __U);
489296417Sdim}
490296417Sdim
491296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
492296417Sdim_mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
493296417Sdim  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
494296417Sdim                (__v2di) _mm_setzero_si128(),
495296417Sdim                (__mmask8) __U);
496296417Sdim}
497296417Sdim
498296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
499296417Sdim_mm256_cvtps_epu64 (__m128 __A) {
500296417Sdim  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
501296417Sdim                (__v4di) _mm256_setzero_si256(),
502296417Sdim                (__mmask8) -1);
503296417Sdim}
504296417Sdim
505296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
506296417Sdim_mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
507296417Sdim  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
508296417Sdim                (__v4di) __W,
509296417Sdim                (__mmask8) __U);
510296417Sdim}
511296417Sdim
512296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
513296417Sdim_mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
514296417Sdim  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
515296417Sdim                (__v4di) _mm256_setzero_si256(),
516296417Sdim                (__mmask8) __U);
517296417Sdim}
518296417Sdim
519296417Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
520296417Sdim_mm_cvtepi64_pd (__m128i __A) {
521296417Sdim  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
522296417Sdim                (__v2df) _mm_setzero_pd(),
523296417Sdim                (__mmask8) -1);
524296417Sdim}
525296417Sdim
526296417Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
527296417Sdim_mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
528296417Sdim  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
529296417Sdim                (__v2df) __W,
530296417Sdim                (__mmask8) __U);
531296417Sdim}
532296417Sdim
533296417Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
534296417Sdim_mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A) {
535296417Sdim  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
536296417Sdim                (__v2df) _mm_setzero_pd(),
537296417Sdim                (__mmask8) __U);
538296417Sdim}
539296417Sdim
540296417Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
541296417Sdim_mm256_cvtepi64_pd (__m256i __A) {
542296417Sdim  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
543296417Sdim                (__v4df) _mm256_setzero_pd(),
544296417Sdim                (__mmask8) -1);
545296417Sdim}
546296417Sdim
547296417Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
548296417Sdim_mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
549296417Sdim  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
550296417Sdim                (__v4df) __W,
551296417Sdim                (__mmask8) __U);
552296417Sdim}
553296417Sdim
554296417Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
555296417Sdim_mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A) {
556296417Sdim  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
557296417Sdim                (__v4df) _mm256_setzero_pd(),
558296417Sdim                (__mmask8) __U);
559296417Sdim}
560296417Sdim
561296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
562296417Sdim_mm_cvtepi64_ps (__m128i __A) {
563296417Sdim  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
564296417Sdim                (__v4sf) _mm_setzero_ps(),
565296417Sdim                (__mmask8) -1);
566296417Sdim}
567296417Sdim
568296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
569296417Sdim_mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
570296417Sdim  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
571296417Sdim                (__v4sf) __W,
572296417Sdim                (__mmask8) __U);
573296417Sdim}
574296417Sdim
575296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
576296417Sdim_mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) {
577296417Sdim  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
578296417Sdim                (__v4sf) _mm_setzero_ps(),
579296417Sdim                (__mmask8) __U);
580296417Sdim}
581296417Sdim
582296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
583296417Sdim_mm256_cvtepi64_ps (__m256i __A) {
584296417Sdim  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
585296417Sdim                (__v4sf) _mm_setzero_ps(),
586296417Sdim                (__mmask8) -1);
587296417Sdim}
588296417Sdim
589296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
590296417Sdim_mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
591296417Sdim  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
592296417Sdim                (__v4sf) __W,
593296417Sdim                (__mmask8) __U);
594296417Sdim}
595296417Sdim
596296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
597296417Sdim_mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A) {
598296417Sdim  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
599296417Sdim                (__v4sf) _mm_setzero_ps(),
600296417Sdim                (__mmask8) __U);
601296417Sdim}
602296417Sdim
603296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
604296417Sdim_mm_cvttpd_epi64 (__m128d __A) {
605296417Sdim  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
606296417Sdim                (__v2di) _mm_setzero_si128(),
607296417Sdim                (__mmask8) -1);
608296417Sdim}
609296417Sdim
610296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
611296417Sdim_mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
612296417Sdim  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
613296417Sdim                (__v2di) __W,
614296417Sdim                (__mmask8) __U);
615296417Sdim}
616296417Sdim
617296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
618296417Sdim_mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A) {
619296417Sdim  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
620296417Sdim                (__v2di) _mm_setzero_si128(),
621296417Sdim                (__mmask8) __U);
622296417Sdim}
623296417Sdim
624296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
625296417Sdim_mm256_cvttpd_epi64 (__m256d __A) {
626296417Sdim  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
627296417Sdim                (__v4di) _mm256_setzero_si256(),
628296417Sdim                (__mmask8) -1);
629296417Sdim}
630296417Sdim
631296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
632296417Sdim_mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
633296417Sdim  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
634296417Sdim                (__v4di) __W,
635296417Sdim                (__mmask8) __U);
636296417Sdim}
637296417Sdim
638296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
639296417Sdim_mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A) {
640296417Sdim  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
641296417Sdim                (__v4di) _mm256_setzero_si256(),
642296417Sdim                (__mmask8) __U);
643296417Sdim}
644296417Sdim
645296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
646296417Sdim_mm_cvttpd_epu64 (__m128d __A) {
647296417Sdim  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
648296417Sdim                (__v2di) _mm_setzero_si128(),
649296417Sdim                (__mmask8) -1);
650296417Sdim}
651296417Sdim
652296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
653296417Sdim_mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
654296417Sdim  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
655296417Sdim                (__v2di) __W,
656296417Sdim                (__mmask8) __U);
657296417Sdim}
658296417Sdim
659296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
660296417Sdim_mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A) {
661296417Sdim  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
662296417Sdim                (__v2di) _mm_setzero_si128(),
663296417Sdim                (__mmask8) __U);
664296417Sdim}
665296417Sdim
666296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
667296417Sdim_mm256_cvttpd_epu64 (__m256d __A) {
668296417Sdim  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
669296417Sdim                (__v4di) _mm256_setzero_si256(),
670296417Sdim                (__mmask8) -1);
671296417Sdim}
672296417Sdim
673296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
674296417Sdim_mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
675296417Sdim  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
676296417Sdim                (__v4di) __W,
677296417Sdim                (__mmask8) __U);
678296417Sdim}
679296417Sdim
680296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
681296417Sdim_mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A) {
682296417Sdim  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
683296417Sdim                (__v4di) _mm256_setzero_si256(),
684296417Sdim                (__mmask8) __U);
685296417Sdim}
686296417Sdim
687296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
688296417Sdim_mm_cvttps_epi64 (__m128 __A) {
689296417Sdim  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
690296417Sdim                (__v2di) _mm_setzero_si128(),
691296417Sdim                (__mmask8) -1);
692296417Sdim}
693296417Sdim
694296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
695296417Sdim_mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
696296417Sdim  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
697296417Sdim                (__v2di) __W,
698296417Sdim                (__mmask8) __U);
699296417Sdim}
700296417Sdim
701296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
702296417Sdim_mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
703296417Sdim  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
704296417Sdim                (__v2di) _mm_setzero_si128(),
705296417Sdim                (__mmask8) __U);
706296417Sdim}
707296417Sdim
708296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
709296417Sdim_mm256_cvttps_epi64 (__m128 __A) {
710296417Sdim  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
711296417Sdim                (__v4di) _mm256_setzero_si256(),
712296417Sdim                (__mmask8) -1);
713296417Sdim}
714296417Sdim
715296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
716296417Sdim_mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
717296417Sdim  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
718296417Sdim                (__v4di) __W,
719296417Sdim                (__mmask8) __U);
720296417Sdim}
721296417Sdim
722296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
723296417Sdim_mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
724296417Sdim  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
725296417Sdim                (__v4di) _mm256_setzero_si256(),
726296417Sdim                (__mmask8) __U);
727296417Sdim}
728296417Sdim
729296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
730296417Sdim_mm_cvttps_epu64 (__m128 __A) {
731296417Sdim  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
732296417Sdim                (__v2di) _mm_setzero_si128(),
733296417Sdim                (__mmask8) -1);
734296417Sdim}
735296417Sdim
736296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
737296417Sdim_mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
738296417Sdim  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
739296417Sdim                (__v2di) __W,
740296417Sdim                (__mmask8) __U);
741296417Sdim}
742296417Sdim
743296417Sdimstatic __inline__ __m128i __DEFAULT_FN_ATTRS
744296417Sdim_mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
745296417Sdim  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
746296417Sdim                (__v2di) _mm_setzero_si128(),
747296417Sdim                (__mmask8) __U);
748296417Sdim}
749296417Sdim
750296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
751296417Sdim_mm256_cvttps_epu64 (__m128 __A) {
752296417Sdim  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
753296417Sdim                (__v4di) _mm256_setzero_si256(),
754296417Sdim                (__mmask8) -1);
755296417Sdim}
756296417Sdim
757296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
758296417Sdim_mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
759296417Sdim  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
760296417Sdim                (__v4di) __W,
761296417Sdim                (__mmask8) __U);
762296417Sdim}
763296417Sdim
764296417Sdimstatic __inline__ __m256i __DEFAULT_FN_ATTRS
765296417Sdim_mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
766296417Sdim  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
767296417Sdim                (__v4di) _mm256_setzero_si256(),
768296417Sdim                (__mmask8) __U);
769296417Sdim}
770296417Sdim
771296417Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
772296417Sdim_mm_cvtepu64_pd (__m128i __A) {
773296417Sdim  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
774296417Sdim                (__v2df) _mm_setzero_pd(),
775296417Sdim                (__mmask8) -1);
776296417Sdim}
777296417Sdim
778296417Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
779296417Sdim_mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
780296417Sdim  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
781296417Sdim                (__v2df) __W,
782296417Sdim                (__mmask8) __U);
783296417Sdim}
784296417Sdim
785296417Sdimstatic __inline__ __m128d __DEFAULT_FN_ATTRS
786296417Sdim_mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A) {
787296417Sdim  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
788296417Sdim                (__v2df) _mm_setzero_pd(),
789296417Sdim                (__mmask8) __U);
790296417Sdim}
791296417Sdim
792296417Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
793296417Sdim_mm256_cvtepu64_pd (__m256i __A) {
794296417Sdim  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
795296417Sdim                (__v4df) _mm256_setzero_pd(),
796296417Sdim                (__mmask8) -1);
797296417Sdim}
798296417Sdim
799296417Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
800296417Sdim_mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
801296417Sdim  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
802296417Sdim                (__v4df) __W,
803296417Sdim                (__mmask8) __U);
804296417Sdim}
805296417Sdim
806296417Sdimstatic __inline__ __m256d __DEFAULT_FN_ATTRS
807296417Sdim_mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A) {
808296417Sdim  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
809296417Sdim                (__v4df) _mm256_setzero_pd(),
810296417Sdim                (__mmask8) __U);
811296417Sdim}
812296417Sdim
813296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
814296417Sdim_mm_cvtepu64_ps (__m128i __A) {
815296417Sdim  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
816296417Sdim                (__v4sf) _mm_setzero_ps(),
817296417Sdim                (__mmask8) -1);
818296417Sdim}
819296417Sdim
820296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
821296417Sdim_mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
822296417Sdim  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
823296417Sdim                (__v4sf) __W,
824296417Sdim                (__mmask8) __U);
825296417Sdim}
826296417Sdim
827296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
828296417Sdim_mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) {
829296417Sdim  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
830296417Sdim                (__v4sf) _mm_setzero_ps(),
831296417Sdim                (__mmask8) __U);
832296417Sdim}
833296417Sdim
834296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
835296417Sdim_mm256_cvtepu64_ps (__m256i __A) {
836296417Sdim  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
837296417Sdim                (__v4sf) _mm_setzero_ps(),
838296417Sdim                (__mmask8) -1);
839296417Sdim}
840296417Sdim
841296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
842296417Sdim_mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
843296417Sdim  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
844296417Sdim                (__v4sf) __W,
845296417Sdim                (__mmask8) __U);
846296417Sdim}
847296417Sdim
848296417Sdimstatic __inline__ __m128 __DEFAULT_FN_ATTRS
849296417Sdim_mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) {
850296417Sdim  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
851296417Sdim                (__v4sf) _mm_setzero_ps(),
852296417Sdim                (__mmask8) __U);
853296417Sdim}
854296417Sdim
855296417Sdim#define _mm_range_pd(__A, __B, __C) __extension__ ({                         \
856296417Sdim  (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
857296417Sdim                (__v2df) _mm_setzero_pd(), (__mmask8) -1); })
858296417Sdim
859296417Sdim#define _mm_mask_range_pd(__W, __U, __A, __B, __C) __extension__ ({          \
860296417Sdim  (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
861296417Sdim                (__v2df) __W, (__mmask8) __U); })
862296417Sdim
863296417Sdim#define _mm_maskz_range_pd(__U, __A, __B, __C) __extension__ ({              \
864296417Sdim  (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
865296417Sdim                (__v2df) _mm_setzero_pd(), (__mmask8) __U); })
866296417Sdim
867296417Sdim#define _mm256_range_pd(__A, __B, __C) __extension__ ({                      \
868296417Sdim  (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
869296417Sdim                (__v4df) _mm256_setzero_pd(), (__mmask8) -1); })
870296417Sdim
871296417Sdim#define _mm256_mask_range_pd(__W, __U, __A, __B, __C) __extension__ ({       \
872296417Sdim  (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
873296417Sdim                (__v4df) __W, (__mmask8) __U); })
874296417Sdim
875296417Sdim#define _mm256_maskz_range_pd(__U, __A, __B, __C) __extension__ ({           \
876296417Sdim  (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
877296417Sdim                (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
878296417Sdim
879296417Sdim#define _mm_range_ps(__A, __B, __C) __extension__ ({                         \
880296417Sdim  (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C,  \
881296417Sdim                (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
882296417Sdim
883296417Sdim#define _mm_mask_range_ps(__W, __U, __A, __B, __C) __extension__ ({          \
884296417Sdim  (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C,  \
885296417Sdim                (__v4sf) __W, (__mmask8) __U); })
886296417Sdim
887296417Sdim#define _mm_maskz_range_ps(__U, __A, __B, __C) __extension__ ({              \
888296417Sdim  (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C,  \
889296417Sdim                (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
890296417Sdim
891296417Sdim#define _mm256_range_ps(__A, __B, __C) __extension__ ({                      \
892296417Sdim  (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C,  \
893296417Sdim                (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
894296417Sdim
895296417Sdim#define _mm256_mask_range_ps(__W, __U, __A, __B, __C) __extension__ ({       \
896296417Sdim  (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C,  \
897296417Sdim                (__v8sf) __W, (__mmask8) __U); })
898296417Sdim
899296417Sdim#define _mm256_maskz_range_ps(__U, __A, __B, __C) __extension__ ({           \
900296417Sdim  (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C,  \
901296417Sdim                (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
902296417Sdim
903296417Sdim#define _mm_reduce_pd(__A, __B) __extension__ ({                \
904296417Sdim  (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
905296417Sdim                (__v2df) _mm_setzero_pd(), (__mmask8) -1); })
906296417Sdim
907296417Sdim#define _mm_mask_reduce_pd(__W, __U, __A, __B) __extension__ ({ \
908296417Sdim  (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
909296417Sdim                (__v2df) __W, (__mmask8) __U); })
910296417Sdim
911296417Sdim#define _mm_maskz_reduce_pd(__U, __A, __B) __extension__ ({     \
912296417Sdim  (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
913296417Sdim                (__v2df) _mm_setzero_pd(), (__mmask8) __U); })
914296417Sdim
915296417Sdim#define _mm256_reduce_pd(__A, __B) __extension__ ({                \
916296417Sdim  (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,    \
917296417Sdim                (__v4df) _mm256_setzero_pd(), (__mmask8) -1); })
918296417Sdim
919296417Sdim#define _mm256_mask_reduce_pd(__W, __U, __A, __B) __extension__ ({ \
920296417Sdim  (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,    \
921296417Sdim                (__v4df) __W, (__mmask8) __U); })
922296417Sdim
923296417Sdim#define _mm256_maskz_reduce_pd(__U, __A, __B) __extension__ ({     \
924296417Sdim  (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,    \
925296417Sdim                (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
926296417Sdim
927296417Sdim#define _mm_reduce_ps(__A, __B) __extension__ ({                   \
928296417Sdim  (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,     \
929296417Sdim                (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
930296417Sdim
931296417Sdim#define _mm_mask_reduce_ps(__W, __U, __A, __B) __extension__ ({    \
932296417Sdim  (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,     \
933296417Sdim                (__v4sf) __W, (__mmask8) __U); })
934296417Sdim
935296417Sdim#define _mm_maskz_reduce_ps(__U, __A, __B) __extension__ ({        \
936296417Sdim  (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,     \
937296417Sdim                (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
938296417Sdim
939296417Sdim#define _mm256_reduce_ps(__A, __B) __extension__ ({                \
940296417Sdim  (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,     \
941296417Sdim                (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
942296417Sdim
943296417Sdim#define _mm256_mask_reduce_ps(__W, __U, __A, __B) __extension__ ({ \
944296417Sdim  (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,     \
945296417Sdim                (__v8sf) __W, (__mmask8) __U); })
946296417Sdim
947296417Sdim#define _mm256_maskz_reduce_ps(__U, __A, __B) __extension__ ({     \
948296417Sdim  (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,     \
949296417Sdim                (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
950296417Sdim
951285181Sdim#undef __DEFAULT_FN_ATTRS
952284734Sdim
953283627Sdim#endif
954