Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
screetsec
GitHub Repository: screetsec/TheFatRat
Path: blob/master/tools/android-sdk/renderscript/clang-include/avx512vlintrin.h
496 views
1
/*===---- avx512vlintrin.h - AVX512VL intrinsics ---------------------------===
2
*
3
* Permission is hereby granted, free of charge, to any person obtaining a copy
4
* of this software and associated documentation files (the "Software"), to deal
5
* in the Software without restriction, including without limitation the rights
6
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
* copies of the Software, and to permit persons to whom the Software is
8
* furnished to do so, subject to the following conditions:
9
*
10
* The above copyright notice and this permission notice shall be included in
11
* all copies or substantial portions of the Software.
12
*
13
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
* THE SOFTWARE.
20
*
21
*===-----------------------------------------------------------------------===
22
*/
23
24
#ifndef __IMMINTRIN_H
25
#error "Never use <avx512vlintrin.h> directly; include <immintrin.h> instead."
26
#endif
27
28
#ifndef __AVX512VLINTRIN_H
29
#define __AVX512VLINTRIN_H
30
31
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl")))
32
33
/* Doesn't require avx512vl, used in avx512dqintrin.h */
34
static __inline __m128i __attribute__((__always_inline__, __nodebug__, __target__("avx512f")))
35
_mm_setzero_di(void) {
36
return (__m128i)(__v2di){ 0LL, 0LL};
37
}
38
39
/* Integer compare */
40
41
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
42
_mm_cmpeq_epi32_mask(__m128i __a, __m128i __b) {
43
return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b,
44
(__mmask8)-1);
45
}
46
47
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
48
_mm_mask_cmpeq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
49
return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b,
50
__u);
51
}
52
53
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
54
_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {
55
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0,
56
(__mmask8)-1);
57
}
58
59
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
60
_mm_mask_cmpeq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
61
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0,
62
__u);
63
}
64
65
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
66
_mm256_cmpeq_epi32_mask(__m256i __a, __m256i __b) {
67
return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b,
68
(__mmask8)-1);
69
}
70
71
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
72
_mm256_mask_cmpeq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
73
return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b,
74
__u);
75
}
76
77
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
78
_mm256_cmpeq_epu32_mask(__m256i __a, __m256i __b) {
79
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0,
80
(__mmask8)-1);
81
}
82
83
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
84
_mm256_mask_cmpeq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
85
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0,
86
__u);
87
}
88
89
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
90
_mm_cmpeq_epi64_mask(__m128i __a, __m128i __b) {
91
return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b,
92
(__mmask8)-1);
93
}
94
95
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
96
_mm_mask_cmpeq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
97
return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b,
98
__u);
99
}
100
101
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
102
_mm_cmpeq_epu64_mask(__m128i __a, __m128i __b) {
103
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0,
104
(__mmask8)-1);
105
}
106
107
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
108
_mm_mask_cmpeq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
109
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0,
110
__u);
111
}
112
113
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
114
_mm256_cmpeq_epi64_mask(__m256i __a, __m256i __b) {
115
return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b,
116
(__mmask8)-1);
117
}
118
119
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
120
_mm256_mask_cmpeq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
121
return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b,
122
__u);
123
}
124
125
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
126
_mm256_cmpeq_epu64_mask(__m256i __a, __m256i __b) {
127
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0,
128
(__mmask8)-1);
129
}
130
131
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
132
_mm256_mask_cmpeq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
133
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0,
134
__u);
135
}
136
137
138
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
139
_mm_cmpge_epi32_mask(__m128i __a, __m128i __b) {
140
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5,
141
(__mmask8)-1);
142
}
143
144
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
145
_mm_mask_cmpge_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
146
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5,
147
__u);
148
}
149
150
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
151
_mm_cmpge_epu32_mask(__m128i __a, __m128i __b) {
152
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5,
153
(__mmask8)-1);
154
}
155
156
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
157
_mm_mask_cmpge_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
158
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5,
159
__u);
160
}
161
162
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
163
_mm256_cmpge_epi32_mask(__m256i __a, __m256i __b) {
164
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5,
165
(__mmask8)-1);
166
}
167
168
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
169
_mm256_mask_cmpge_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
170
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5,
171
__u);
172
}
173
174
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
175
_mm256_cmpge_epu32_mask(__m256i __a, __m256i __b) {
176
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5,
177
(__mmask8)-1);
178
}
179
180
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
181
_mm256_mask_cmpge_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
182
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5,
183
__u);
184
}
185
186
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
187
_mm_cmpge_epi64_mask(__m128i __a, __m128i __b) {
188
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5,
189
(__mmask8)-1);
190
}
191
192
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
193
_mm_mask_cmpge_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
194
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5,
195
__u);
196
}
197
198
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
199
_mm_cmpge_epu64_mask(__m128i __a, __m128i __b) {
200
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5,
201
(__mmask8)-1);
202
}
203
204
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
205
_mm_mask_cmpge_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
206
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5,
207
__u);
208
}
209
210
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
211
_mm256_cmpge_epi64_mask(__m256i __a, __m256i __b) {
212
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5,
213
(__mmask8)-1);
214
}
215
216
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
217
_mm256_mask_cmpge_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
218
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5,
219
__u);
220
}
221
222
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
223
_mm256_cmpge_epu64_mask(__m256i __a, __m256i __b) {
224
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5,
225
(__mmask8)-1);
226
}
227
228
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
229
_mm256_mask_cmpge_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
230
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5,
231
__u);
232
}
233
234
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
235
_mm_cmpgt_epi32_mask(__m128i __a, __m128i __b) {
236
return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b,
237
(__mmask8)-1);
238
}
239
240
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
241
_mm_mask_cmpgt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
242
return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b,
243
__u);
244
}
245
246
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
247
_mm_cmpgt_epu32_mask(__m128i __a, __m128i __b) {
248
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6,
249
(__mmask8)-1);
250
}
251
252
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
253
_mm_mask_cmpgt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
254
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6,
255
__u);
256
}
257
258
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
259
_mm256_cmpgt_epi32_mask(__m256i __a, __m256i __b) {
260
return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b,
261
(__mmask8)-1);
262
}
263
264
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
265
_mm256_mask_cmpgt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
266
return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b,
267
__u);
268
}
269
270
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
271
_mm256_cmpgt_epu32_mask(__m256i __a, __m256i __b) {
272
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6,
273
(__mmask8)-1);
274
}
275
276
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
277
_mm256_mask_cmpgt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
278
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6,
279
__u);
280
}
281
282
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
283
_mm_cmpgt_epi64_mask(__m128i __a, __m128i __b) {
284
return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b,
285
(__mmask8)-1);
286
}
287
288
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
289
_mm_mask_cmpgt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
290
return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b,
291
__u);
292
}
293
294
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
295
_mm_cmpgt_epu64_mask(__m128i __a, __m128i __b) {
296
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6,
297
(__mmask8)-1);
298
}
299
300
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
301
_mm_mask_cmpgt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
302
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6,
303
__u);
304
}
305
306
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
307
_mm256_cmpgt_epi64_mask(__m256i __a, __m256i __b) {
308
return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b,
309
(__mmask8)-1);
310
}
311
312
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
313
_mm256_mask_cmpgt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
314
return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b,
315
__u);
316
}
317
318
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
319
_mm256_cmpgt_epu64_mask(__m256i __a, __m256i __b) {
320
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6,
321
(__mmask8)-1);
322
}
323
324
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
325
_mm256_mask_cmpgt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
326
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6,
327
__u);
328
}
329
330
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
331
_mm_cmple_epi32_mask(__m128i __a, __m128i __b) {
332
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2,
333
(__mmask8)-1);
334
}
335
336
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
337
_mm_mask_cmple_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
338
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2,
339
__u);
340
}
341
342
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
343
_mm_cmple_epu32_mask(__m128i __a, __m128i __b) {
344
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2,
345
(__mmask8)-1);
346
}
347
348
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
349
_mm_mask_cmple_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
350
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2,
351
__u);
352
}
353
354
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
355
_mm256_cmple_epi32_mask(__m256i __a, __m256i __b) {
356
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2,
357
(__mmask8)-1);
358
}
359
360
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
361
_mm256_mask_cmple_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
362
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2,
363
__u);
364
}
365
366
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
367
_mm256_cmple_epu32_mask(__m256i __a, __m256i __b) {
368
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2,
369
(__mmask8)-1);
370
}
371
372
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
373
_mm256_mask_cmple_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
374
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2,
375
__u);
376
}
377
378
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
379
_mm_cmple_epi64_mask(__m128i __a, __m128i __b) {
380
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2,
381
(__mmask8)-1);
382
}
383
384
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
385
_mm_mask_cmple_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
386
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2,
387
__u);
388
}
389
390
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
391
_mm_cmple_epu64_mask(__m128i __a, __m128i __b) {
392
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2,
393
(__mmask8)-1);
394
}
395
396
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
397
_mm_mask_cmple_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
398
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2,
399
__u);
400
}
401
402
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
403
_mm256_cmple_epi64_mask(__m256i __a, __m256i __b) {
404
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2,
405
(__mmask8)-1);
406
}
407
408
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
409
_mm256_mask_cmple_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
410
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2,
411
__u);
412
}
413
414
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
415
_mm256_cmple_epu64_mask(__m256i __a, __m256i __b) {
416
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2,
417
(__mmask8)-1);
418
}
419
420
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
421
_mm256_mask_cmple_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
422
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2,
423
__u);
424
}
425
426
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
427
_mm_cmplt_epi32_mask(__m128i __a, __m128i __b) {
428
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1,
429
(__mmask8)-1);
430
}
431
432
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
433
_mm_mask_cmplt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
434
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1,
435
__u);
436
}
437
438
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
439
_mm_cmplt_epu32_mask(__m128i __a, __m128i __b) {
440
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1,
441
(__mmask8)-1);
442
}
443
444
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
445
_mm_mask_cmplt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
446
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1,
447
__u);
448
}
449
450
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
451
_mm256_cmplt_epi32_mask(__m256i __a, __m256i __b) {
452
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1,
453
(__mmask8)-1);
454
}
455
456
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
457
_mm256_mask_cmplt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
458
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1,
459
__u);
460
}
461
462
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
463
_mm256_cmplt_epu32_mask(__m256i __a, __m256i __b) {
464
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1,
465
(__mmask8)-1);
466
}
467
468
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
469
_mm256_mask_cmplt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
470
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1,
471
__u);
472
}
473
474
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
475
_mm_cmplt_epi64_mask(__m128i __a, __m128i __b) {
476
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1,
477
(__mmask8)-1);
478
}
479
480
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
481
_mm_mask_cmplt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
482
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1,
483
__u);
484
}
485
486
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
487
_mm_cmplt_epu64_mask(__m128i __a, __m128i __b) {
488
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1,
489
(__mmask8)-1);
490
}
491
492
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
493
_mm_mask_cmplt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
494
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1,
495
__u);
496
}
497
498
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
499
_mm256_cmplt_epi64_mask(__m256i __a, __m256i __b) {
500
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1,
501
(__mmask8)-1);
502
}
503
504
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
505
_mm256_mask_cmplt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
506
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1,
507
__u);
508
}
509
510
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
511
_mm256_cmplt_epu64_mask(__m256i __a, __m256i __b) {
512
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1,
513
(__mmask8)-1);
514
}
515
516
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
517
_mm256_mask_cmplt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
518
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1,
519
__u);
520
}
521
522
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
523
_mm_cmpneq_epi32_mask(__m128i __a, __m128i __b) {
524
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4,
525
(__mmask8)-1);
526
}
527
528
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
529
_mm_mask_cmpneq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
530
return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4,
531
__u);
532
}
533
534
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
535
_mm_cmpneq_epu32_mask(__m128i __a, __m128i __b) {
536
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4,
537
(__mmask8)-1);
538
}
539
540
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
541
_mm_mask_cmpneq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
542
return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4,
543
__u);
544
}
545
546
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
547
_mm256_cmpneq_epi32_mask(__m256i __a, __m256i __b) {
548
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4,
549
(__mmask8)-1);
550
}
551
552
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
553
_mm256_mask_cmpneq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
554
return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4,
555
__u);
556
}
557
558
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
559
_mm256_cmpneq_epu32_mask(__m256i __a, __m256i __b) {
560
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4,
561
(__mmask8)-1);
562
}
563
564
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
565
_mm256_mask_cmpneq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
566
return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4,
567
__u);
568
}
569
570
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
571
_mm_cmpneq_epi64_mask(__m128i __a, __m128i __b) {
572
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4,
573
(__mmask8)-1);
574
}
575
576
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
577
_mm_mask_cmpneq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
578
return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4,
579
__u);
580
}
581
582
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
583
_mm_cmpneq_epu64_mask(__m128i __a, __m128i __b) {
584
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4,
585
(__mmask8)-1);
586
}
587
588
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
589
_mm_mask_cmpneq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
590
return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4,
591
__u);
592
}
593
594
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
595
_mm256_cmpneq_epi64_mask(__m256i __a, __m256i __b) {
596
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4,
597
(__mmask8)-1);
598
}
599
600
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
601
_mm256_mask_cmpneq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
602
return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4,
603
__u);
604
}
605
606
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
607
_mm256_cmpneq_epu64_mask(__m256i __a, __m256i __b) {
608
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4,
609
(__mmask8)-1);
610
}
611
612
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
613
_mm256_mask_cmpneq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
614
return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4,
615
__u);
616
}
617
618
static __inline__ __m256i __DEFAULT_FN_ATTRS
619
_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
620
__m256i __B)
621
{
622
return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
623
(__v8si) __B,
624
(__v8si) __W,
625
(__mmask8) __U);
626
}
627
628
static __inline__ __m256i __DEFAULT_FN_ATTRS
629
_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
630
{
631
return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
632
(__v8si) __B,
633
(__v8si)
634
_mm256_setzero_si256 (),
635
(__mmask8) __U);
636
}
637
638
static __inline__ __m256i __DEFAULT_FN_ATTRS
639
_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
640
__m256i __B)
641
{
642
return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
643
(__v4di) __B,
644
(__v4di) __W,
645
(__mmask8) __U);
646
}
647
648
static __inline__ __m256i __DEFAULT_FN_ATTRS
649
_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
650
{
651
return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
652
(__v4di) __B,
653
(__v4di)
654
_mm256_setzero_si256 (),
655
(__mmask8) __U);
656
}
657
658
static __inline__ __m256i __DEFAULT_FN_ATTRS
659
_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
660
__m256i __B)
661
{
662
return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
663
(__v8si) __B,
664
(__v8si) __W,
665
(__mmask8) __U);
666
}
667
668
static __inline__ __m256i __DEFAULT_FN_ATTRS
669
_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
670
{
671
return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
672
(__v8si) __B,
673
(__v8si)
674
_mm256_setzero_si256 (),
675
(__mmask8) __U);
676
}
677
678
static __inline__ __m256i __DEFAULT_FN_ATTRS
679
_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
680
__m256i __B)
681
{
682
return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
683
(__v4di) __B,
684
(__v4di) __W,
685
(__mmask8) __U);
686
}
687
688
static __inline__ __m256i __DEFAULT_FN_ATTRS
689
_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
690
{
691
return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
692
(__v4di) __B,
693
(__v4di)
694
_mm256_setzero_si256 (),
695
(__mmask8) __U);
696
}
697
698
static __inline__ __m128i __DEFAULT_FN_ATTRS
699
_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
700
__m128i __B)
701
{
702
return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
703
(__v4si) __B,
704
(__v4si) __W,
705
(__mmask8) __U);
706
}
707
708
static __inline__ __m128i __DEFAULT_FN_ATTRS
709
_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
710
{
711
return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
712
(__v4si) __B,
713
(__v4si)
714
_mm_setzero_si128 (),
715
(__mmask8) __U);
716
}
717
718
static __inline__ __m128i __DEFAULT_FN_ATTRS
719
_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
720
__m128i __B)
721
{
722
return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
723
(__v2di) __B,
724
(__v2di) __W,
725
(__mmask8) __U);
726
}
727
728
static __inline__ __m128i __DEFAULT_FN_ATTRS
729
_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
730
{
731
return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
732
(__v2di) __B,
733
(__v2di)
734
_mm_setzero_si128 (),
735
(__mmask8) __U);
736
}
737
738
static __inline__ __m128i __DEFAULT_FN_ATTRS
739
_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
740
__m128i __B)
741
{
742
return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
743
(__v4si) __B,
744
(__v4si) __W,
745
(__mmask8) __U);
746
}
747
748
static __inline__ __m128i __DEFAULT_FN_ATTRS
749
_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
750
{
751
return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
752
(__v4si) __B,
753
(__v4si)
754
_mm_setzero_si128 (),
755
(__mmask8) __U);
756
}
757
758
static __inline__ __m128i __DEFAULT_FN_ATTRS
759
_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
760
__m128i __B)
761
{
762
return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
763
(__v2di) __B,
764
(__v2di) __W,
765
(__mmask8) __U);
766
}
767
768
static __inline__ __m128i __DEFAULT_FN_ATTRS
769
_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
770
{
771
return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
772
(__v2di) __B,
773
(__v2di)
774
_mm_setzero_si128 (),
775
(__mmask8) __U);
776
}
777
778
static __inline__ __m256i __DEFAULT_FN_ATTRS
779
_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
780
__m256i __Y)
781
{
782
return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
783
(__v8si) __Y,
784
(__v4di) __W, __M);
785
}
786
787
static __inline__ __m256i __DEFAULT_FN_ATTRS
788
_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
789
{
790
return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
791
(__v8si) __Y,
792
(__v4di)
793
_mm256_setzero_si256 (),
794
__M);
795
}
796
797
static __inline__ __m128i __DEFAULT_FN_ATTRS
798
_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
799
__m128i __Y)
800
{
801
return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
802
(__v4si) __Y,
803
(__v2di) __W, __M);
804
}
805
806
static __inline__ __m128i __DEFAULT_FN_ATTRS
807
_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
808
{
809
return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
810
(__v4si) __Y,
811
(__v2di)
812
_mm_setzero_si128 (),
813
__M);
814
}
815
816
static __inline__ __m256i __DEFAULT_FN_ATTRS
817
_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
818
__m256i __Y)
819
{
820
return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
821
(__v8si) __Y,
822
(__v4di) __W, __M);
823
}
824
825
static __inline__ __m256i __DEFAULT_FN_ATTRS
826
_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
827
{
828
return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
829
(__v8si) __Y,
830
(__v4di)
831
_mm256_setzero_si256 (),
832
__M);
833
}
834
835
static __inline__ __m128i __DEFAULT_FN_ATTRS
836
_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
837
__m128i __Y)
838
{
839
return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
840
(__v4si) __Y,
841
(__v2di) __W, __M);
842
}
843
844
static __inline__ __m128i __DEFAULT_FN_ATTRS
845
_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
846
{
847
return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
848
(__v4si) __Y,
849
(__v2di)
850
_mm_setzero_si128 (),
851
__M);
852
}
853
854
static __inline__ __m256i __DEFAULT_FN_ATTRS
855
_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
856
{
857
return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
858
(__v8si) __B,
859
(__v8si)
860
_mm256_setzero_si256 (),
861
__M);
862
}
863
864
static __inline__ __m256i __DEFAULT_FN_ATTRS
865
_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
866
__m256i __B)
867
{
868
return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
869
(__v8si) __B,
870
(__v8si) __W, __M);
871
}
872
873
static __inline__ __m128i __DEFAULT_FN_ATTRS
874
_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
875
{
876
return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
877
(__v4si) __B,
878
(__v4si)
879
_mm_setzero_si128 (),
880
__M);
881
}
882
883
static __inline__ __m128i __DEFAULT_FN_ATTRS
884
_mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
885
__m128i __B)
886
{
887
return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
888
(__v4si) __B,
889
(__v4si) __W, __M);
890
}
891
892
static __inline__ __m256i __DEFAULT_FN_ATTRS
893
_mm256_mask_and_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
894
{
895
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
896
(__v8si)_mm256_and_si256(__A, __B),
897
(__v8si)__W);
898
}
899
900
static __inline__ __m256i __DEFAULT_FN_ATTRS
901
_mm256_maskz_and_epi32(__mmask8 __U, __m256i __A, __m256i __B)
902
{
903
return (__m256i)_mm256_mask_and_epi32(_mm256_setzero_si256(), __U, __A, __B);
904
}
905
906
static __inline__ __m128i __DEFAULT_FN_ATTRS
907
_mm_mask_and_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
908
{
909
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
910
(__v4si)_mm_and_si128(__A, __B),
911
(__v4si)__W);
912
}
913
914
static __inline__ __m128i __DEFAULT_FN_ATTRS
915
_mm_maskz_and_epi32(__mmask8 __U, __m128i __A, __m128i __B)
916
{
917
return (__m128i)_mm_mask_and_epi32(_mm_setzero_si128(), __U, __A, __B);
918
}
919
920
static __inline__ __m256i __DEFAULT_FN_ATTRS
921
_mm256_mask_andnot_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
922
{
923
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
924
(__v8si)_mm256_andnot_si256(__A, __B),
925
(__v8si)__W);
926
}
927
928
static __inline__ __m256i __DEFAULT_FN_ATTRS
929
_mm256_maskz_andnot_epi32(__mmask8 __U, __m256i __A, __m256i __B)
930
{
931
return (__m256i)_mm256_mask_andnot_epi32(_mm256_setzero_si256(),
932
__U, __A, __B);
933
}
934
935
static __inline__ __m128i __DEFAULT_FN_ATTRS
936
_mm_mask_andnot_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
937
{
938
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
939
(__v4si)_mm_andnot_si128(__A, __B),
940
(__v4si)__W);
941
}
942
943
static __inline__ __m128i __DEFAULT_FN_ATTRS
944
_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
945
{
946
return (__m128i)_mm_mask_andnot_epi32(_mm_setzero_si128(), __U, __A, __B);
947
}
948
949
static __inline__ __m256i __DEFAULT_FN_ATTRS
950
_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
951
{
952
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
953
(__v8si)_mm256_or_si256(__A, __B),
954
(__v8si)__W);
955
}
956
957
static __inline__ __m256i __DEFAULT_FN_ATTRS
958
_mm256_maskz_or_epi32(__mmask8 __U, __m256i __A, __m256i __B)
959
{
960
return (__m256i)_mm256_mask_or_epi32(_mm256_setzero_si256(), __U, __A, __B);
961
}
962
963
static __inline__ __m128i __DEFAULT_FN_ATTRS
964
_mm_mask_or_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
965
{
966
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
967
(__v4si)_mm_or_si128(__A, __B),
968
(__v4si)__W);
969
}
970
971
static __inline__ __m128i __DEFAULT_FN_ATTRS
972
_mm_maskz_or_epi32(__mmask8 __U, __m128i __A, __m128i __B)
973
{
974
return (__m128i)_mm_mask_or_epi32(_mm_setzero_si128(), __U, __A, __B);
975
}
976
977
static __inline__ __m256i __DEFAULT_FN_ATTRS
978
_mm256_mask_xor_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
979
{
980
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
981
(__v8si)_mm256_xor_si256(__A, __B),
982
(__v8si)__W);
983
}
984
985
static __inline__ __m256i __DEFAULT_FN_ATTRS
986
_mm256_maskz_xor_epi32(__mmask8 __U, __m256i __A, __m256i __B)
987
{
988
return (__m256i)_mm256_mask_xor_epi32(_mm256_setzero_si256(), __U, __A, __B);
989
}
990
991
static __inline__ __m128i __DEFAULT_FN_ATTRS
992
_mm_mask_xor_epi32(__m128i __W, __mmask8 __U, __m128i __A,
993
__m128i __B)
994
{
995
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
996
(__v4si)_mm_xor_si128(__A, __B),
997
(__v4si)__W);
998
}
999
1000
static __inline__ __m128i __DEFAULT_FN_ATTRS
1001
_mm_maskz_xor_epi32(__mmask8 __U, __m128i __A, __m128i __B)
1002
{
1003
return (__m128i)_mm_mask_xor_epi32(_mm_setzero_si128(), __U, __A, __B);
1004
}
1005
1006
static __inline__ __m256i __DEFAULT_FN_ATTRS
1007
_mm256_mask_and_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
1008
{
1009
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
1010
(__v4di)_mm256_and_si256(__A, __B),
1011
(__v4di)__W);
1012
}
1013
1014
static __inline__ __m256i __DEFAULT_FN_ATTRS
1015
_mm256_maskz_and_epi64(__mmask8 __U, __m256i __A, __m256i __B)
1016
{
1017
return (__m256i)_mm256_mask_and_epi64(_mm256_setzero_si256(), __U, __A, __B);
1018
}
1019
1020
static __inline__ __m128i __DEFAULT_FN_ATTRS
1021
_mm_mask_and_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1022
{
1023
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
1024
(__v2di)_mm_and_si128(__A, __B),
1025
(__v2di)__W);
1026
}
1027
1028
static __inline__ __m128i __DEFAULT_FN_ATTRS
1029
_mm_maskz_and_epi64(__mmask8 __U, __m128i __A, __m128i __B)
1030
{
1031
return (__m128i)_mm_mask_and_epi64(_mm_setzero_si128(), __U, __A, __B);
1032
}
1033
1034
static __inline__ __m256i __DEFAULT_FN_ATTRS
1035
_mm256_mask_andnot_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
1036
{
1037
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
1038
(__v4di)_mm256_andnot_si256(__A, __B),
1039
(__v4di)__W);
1040
}
1041
1042
static __inline__ __m256i __DEFAULT_FN_ATTRS
1043
_mm256_maskz_andnot_epi64(__mmask8 __U, __m256i __A, __m256i __B)
1044
{
1045
return (__m256i)_mm256_mask_andnot_epi64(_mm256_setzero_si256(),
1046
__U, __A, __B);
1047
}
1048
1049
static __inline__ __m128i __DEFAULT_FN_ATTRS
1050
_mm_mask_andnot_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1051
{
1052
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
1053
(__v2di)_mm_andnot_si128(__A, __B),
1054
(__v2di)__W);
1055
}
1056
1057
static __inline__ __m128i __DEFAULT_FN_ATTRS
1058
_mm_maskz_andnot_epi64(__mmask8 __U, __m128i __A, __m128i __B)
1059
{
1060
return (__m128i)_mm_mask_andnot_epi64(_mm_setzero_si128(), __U, __A, __B);
1061
}
1062
1063
static __inline__ __m256i __DEFAULT_FN_ATTRS
1064
_mm256_mask_or_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
1065
{
1066
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
1067
(__v4di)_mm256_or_si256(__A, __B),
1068
(__v4di)__W);
1069
}
1070
1071
static __inline__ __m256i __DEFAULT_FN_ATTRS
1072
_mm256_maskz_or_epi64(__mmask8 __U, __m256i __A, __m256i __B)
1073
{
1074
return (__m256i)_mm256_mask_or_epi64(_mm256_setzero_si256(), __U, __A, __B);
1075
}
1076
1077
static __inline__ __m128i __DEFAULT_FN_ATTRS
1078
_mm_mask_or_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
1079
{
1080
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
1081
(__v2di)_mm_or_si128(__A, __B),
1082
(__v2di)__W);
1083
}
1084
1085
static __inline__ __m128i __DEFAULT_FN_ATTRS
1086
_mm_maskz_or_epi64(__mmask8 __U, __m128i __A, __m128i __B)
1087
{
1088
return (__m128i)_mm_mask_or_epi64(_mm_setzero_si128(), __U, __A, __B);
1089
}
1090
1091
static __inline__ __m256i __DEFAULT_FN_ATTRS
1092
_mm256_mask_xor_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
1093
{
1094
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
1095
(__v4di)_mm256_xor_si256(__A, __B),
1096
(__v4di)__W);
1097
}
1098
1099
static __inline__ __m256i __DEFAULT_FN_ATTRS
1100
_mm256_maskz_xor_epi64(__mmask8 __U, __m256i __A, __m256i __B)
1101
{
1102
return (__m256i)_mm256_mask_xor_epi64(_mm256_setzero_si256(), __U, __A, __B);
1103
}
1104
1105
static __inline__ __m128i __DEFAULT_FN_ATTRS
1106
_mm_mask_xor_epi64(__m128i __W, __mmask8 __U, __m128i __A,
1107
__m128i __B)
1108
{
1109
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
1110
(__v2di)_mm_xor_si128(__A, __B),
1111
(__v2di)__W);
1112
}
1113
1114
static __inline__ __m128i __DEFAULT_FN_ATTRS
1115
_mm_maskz_xor_epi64(__mmask8 __U, __m128i __A, __m128i __B)
1116
{
1117
return (__m128i)_mm_mask_xor_epi64(_mm_setzero_si128(), __U, __A, __B);
1118
}
1119
1120
#define _mm_cmp_epi32_mask(a, b, p) __extension__ ({ \
1121
(__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
1122
(__v4si)(__m128i)(b), (int)(p), \
1123
(__mmask8)-1); })
1124
1125
#define _mm_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
1126
(__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \
1127
(__v4si)(__m128i)(b), (int)(p), \
1128
(__mmask8)(m)); })
1129
1130
#define _mm_cmp_epu32_mask(a, b, p) __extension__ ({ \
1131
(__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
1132
(__v4si)(__m128i)(b), (int)(p), \
1133
(__mmask8)-1); })
1134
1135
#define _mm_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
1136
(__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \
1137
(__v4si)(__m128i)(b), (int)(p), \
1138
(__mmask8)(m)); })
1139
1140
#define _mm256_cmp_epi32_mask(a, b, p) __extension__ ({ \
1141
(__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
1142
(__v8si)(__m256i)(b), (int)(p), \
1143
(__mmask8)-1); })
1144
1145
#define _mm256_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \
1146
(__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \
1147
(__v8si)(__m256i)(b), (int)(p), \
1148
(__mmask8)(m)); })
1149
1150
#define _mm256_cmp_epu32_mask(a, b, p) __extension__ ({ \
1151
(__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
1152
(__v8si)(__m256i)(b), (int)(p), \
1153
(__mmask8)-1); })
1154
1155
#define _mm256_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \
1156
(__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \
1157
(__v8si)(__m256i)(b), (int)(p), \
1158
(__mmask8)(m)); })
1159
1160
#define _mm_cmp_epi64_mask(a, b, p) __extension__ ({ \
1161
(__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
1162
(__v2di)(__m128i)(b), (int)(p), \
1163
(__mmask8)-1); })
1164
1165
#define _mm_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
1166
(__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \
1167
(__v2di)(__m128i)(b), (int)(p), \
1168
(__mmask8)(m)); })
1169
1170
#define _mm_cmp_epu64_mask(a, b, p) __extension__ ({ \
1171
(__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
1172
(__v2di)(__m128i)(b), (int)(p), \
1173
(__mmask8)-1); })
1174
1175
#define _mm_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
1176
(__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \
1177
(__v2di)(__m128i)(b), (int)(p), \
1178
(__mmask8)(m)); })
1179
1180
#define _mm256_cmp_epi64_mask(a, b, p) __extension__ ({ \
1181
(__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
1182
(__v4di)(__m256i)(b), (int)(p), \
1183
(__mmask8)-1); })
1184
1185
#define _mm256_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \
1186
(__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \
1187
(__v4di)(__m256i)(b), (int)(p), \
1188
(__mmask8)(m)); })
1189
1190
#define _mm256_cmp_epu64_mask(a, b, p) __extension__ ({ \
1191
(__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
1192
(__v4di)(__m256i)(b), (int)(p), \
1193
(__mmask8)-1); })
1194
1195
#define _mm256_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \
1196
(__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \
1197
(__v4di)(__m256i)(b), (int)(p), \
1198
(__mmask8)(m)); })
1199
1200
#define _mm256_cmp_ps_mask(a, b, p) __extension__ ({ \
1201
(__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
1202
(__v8sf)(__m256)(b), (int)(p), \
1203
(__mmask8)-1); })
1204
1205
#define _mm256_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \
1206
(__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \
1207
(__v8sf)(__m256)(b), (int)(p), \
1208
(__mmask8)(m)); })
1209
1210
#define _mm256_cmp_pd_mask(a, b, p) __extension__ ({ \
1211
(__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256d)(a), \
1212
(__v4df)(__m256d)(b), (int)(p), \
1213
(__mmask8)-1); })
1214
1215
#define _mm256_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \
1216
(__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256d)(a), \
1217
(__v4df)(__m256d)(b), (int)(p), \
1218
(__mmask8)(m)); })
1219
1220
#define _mm_cmp_ps_mask(a, b, p) __extension__ ({ \
1221
(__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
1222
(__v4sf)(__m128)(b), (int)(p), \
1223
(__mmask8)-1); })
1224
1225
#define _mm_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \
1226
(__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \
1227
(__v4sf)(__m128)(b), (int)(p), \
1228
(__mmask8)(m)); })
1229
1230
#define _mm_cmp_pd_mask(a, b, p) __extension__ ({ \
1231
(__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128d)(a), \
1232
(__v2df)(__m128d)(b), (int)(p), \
1233
(__mmask8)-1); })
1234
1235
#define _mm_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \
1236
(__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128d)(a), \
1237
(__v2df)(__m128d)(b), (int)(p), \
1238
(__mmask8)(m)); })
1239
1240
static __inline__ __m128d __DEFAULT_FN_ATTRS
1241
_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1242
{
1243
return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
1244
(__v2df) __B,
1245
(__v2df) __C,
1246
(__mmask8) __U);
1247
}
1248
1249
static __inline__ __m128d __DEFAULT_FN_ATTRS
1250
_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1251
{
1252
return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
1253
(__v2df) __B,
1254
(__v2df) __C,
1255
(__mmask8) __U);
1256
}
1257
1258
static __inline__ __m128d __DEFAULT_FN_ATTRS
1259
_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1260
{
1261
return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
1262
(__v2df) __B,
1263
(__v2df) __C,
1264
(__mmask8) __U);
1265
}
1266
1267
static __inline__ __m128d __DEFAULT_FN_ATTRS
1268
_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1269
{
1270
return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
1271
(__v2df) __B,
1272
-(__v2df) __C,
1273
(__mmask8) __U);
1274
}
1275
1276
static __inline__ __m128d __DEFAULT_FN_ATTRS
1277
_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1278
{
1279
return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
1280
(__v2df) __B,
1281
-(__v2df) __C,
1282
(__mmask8) __U);
1283
}
1284
1285
static __inline__ __m128d __DEFAULT_FN_ATTRS
1286
_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1287
{
1288
return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A,
1289
(__v2df) __B,
1290
(__v2df) __C,
1291
(__mmask8) __U);
1292
}
1293
1294
static __inline__ __m128d __DEFAULT_FN_ATTRS
1295
_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1296
{
1297
return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
1298
(__v2df) __B,
1299
(__v2df) __C,
1300
(__mmask8) __U);
1301
}
1302
1303
static __inline__ __m128d __DEFAULT_FN_ATTRS
1304
_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1305
{
1306
return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
1307
(__v2df) __B,
1308
-(__v2df) __C,
1309
(__mmask8) __U);
1310
}
1311
1312
static __inline__ __m256d __DEFAULT_FN_ATTRS
1313
_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1314
{
1315
return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
1316
(__v4df) __B,
1317
(__v4df) __C,
1318
(__mmask8) __U);
1319
}
1320
1321
static __inline__ __m256d __DEFAULT_FN_ATTRS
1322
_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1323
{
1324
return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
1325
(__v4df) __B,
1326
(__v4df) __C,
1327
(__mmask8) __U);
1328
}
1329
1330
static __inline__ __m256d __DEFAULT_FN_ATTRS
1331
_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1332
{
1333
return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
1334
(__v4df) __B,
1335
(__v4df) __C,
1336
(__mmask8) __U);
1337
}
1338
1339
static __inline__ __m256d __DEFAULT_FN_ATTRS
1340
_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1341
{
1342
return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
1343
(__v4df) __B,
1344
-(__v4df) __C,
1345
(__mmask8) __U);
1346
}
1347
1348
static __inline__ __m256d __DEFAULT_FN_ATTRS
1349
_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1350
{
1351
return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
1352
(__v4df) __B,
1353
-(__v4df) __C,
1354
(__mmask8) __U);
1355
}
1356
1357
static __inline__ __m256d __DEFAULT_FN_ATTRS
1358
_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1359
{
1360
return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A,
1361
(__v4df) __B,
1362
(__v4df) __C,
1363
(__mmask8) __U);
1364
}
1365
1366
static __inline__ __m256d __DEFAULT_FN_ATTRS
1367
_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1368
{
1369
return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
1370
(__v4df) __B,
1371
(__v4df) __C,
1372
(__mmask8) __U);
1373
}
1374
1375
static __inline__ __m256d __DEFAULT_FN_ATTRS
1376
_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1377
{
1378
return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
1379
(__v4df) __B,
1380
-(__v4df) __C,
1381
(__mmask8) __U);
1382
}
1383
1384
static __inline__ __m128 __DEFAULT_FN_ATTRS
1385
_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1386
{
1387
return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
1388
(__v4sf) __B,
1389
(__v4sf) __C,
1390
(__mmask8) __U);
1391
}
1392
1393
static __inline__ __m128 __DEFAULT_FN_ATTRS
1394
_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1395
{
1396
return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
1397
(__v4sf) __B,
1398
(__v4sf) __C,
1399
(__mmask8) __U);
1400
}
1401
1402
static __inline__ __m128 __DEFAULT_FN_ATTRS
1403
_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1404
{
1405
return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
1406
(__v4sf) __B,
1407
(__v4sf) __C,
1408
(__mmask8) __U);
1409
}
1410
1411
static __inline__ __m128 __DEFAULT_FN_ATTRS
1412
_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1413
{
1414
return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
1415
(__v4sf) __B,
1416
-(__v4sf) __C,
1417
(__mmask8) __U);
1418
}
1419
1420
static __inline__ __m128 __DEFAULT_FN_ATTRS
1421
_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1422
{
1423
return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
1424
(__v4sf) __B,
1425
-(__v4sf) __C,
1426
(__mmask8) __U);
1427
}
1428
1429
static __inline__ __m128 __DEFAULT_FN_ATTRS
1430
_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1431
{
1432
return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A,
1433
(__v4sf) __B,
1434
(__v4sf) __C,
1435
(__mmask8) __U);
1436
}
1437
1438
static __inline__ __m128 __DEFAULT_FN_ATTRS
1439
_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1440
{
1441
return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1442
(__v4sf) __B,
1443
(__v4sf) __C,
1444
(__mmask8) __U);
1445
}
1446
1447
static __inline__ __m128 __DEFAULT_FN_ATTRS
1448
_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1449
{
1450
return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
1451
(__v4sf) __B,
1452
-(__v4sf) __C,
1453
(__mmask8) __U);
1454
}
1455
1456
static __inline__ __m256 __DEFAULT_FN_ATTRS
1457
_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1458
{
1459
return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1460
(__v8sf) __B,
1461
(__v8sf) __C,
1462
(__mmask8) __U);
1463
}
1464
1465
static __inline__ __m256 __DEFAULT_FN_ATTRS
1466
_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1467
{
1468
return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
1469
(__v8sf) __B,
1470
(__v8sf) __C,
1471
(__mmask8) __U);
1472
}
1473
1474
static __inline__ __m256 __DEFAULT_FN_ATTRS
1475
_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1476
{
1477
return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1478
(__v8sf) __B,
1479
(__v8sf) __C,
1480
(__mmask8) __U);
1481
}
1482
1483
static __inline__ __m256 __DEFAULT_FN_ATTRS
1484
_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1485
{
1486
return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
1487
(__v8sf) __B,
1488
-(__v8sf) __C,
1489
(__mmask8) __U);
1490
}
1491
1492
static __inline__ __m256 __DEFAULT_FN_ATTRS
1493
_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1494
{
1495
return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
1496
(__v8sf) __B,
1497
-(__v8sf) __C,
1498
(__mmask8) __U);
1499
}
1500
1501
static __inline__ __m256 __DEFAULT_FN_ATTRS
1502
_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1503
{
1504
return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A,
1505
(__v8sf) __B,
1506
(__v8sf) __C,
1507
(__mmask8) __U);
1508
}
1509
1510
static __inline__ __m256 __DEFAULT_FN_ATTRS
1511
_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1512
{
1513
return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1514
(__v8sf) __B,
1515
(__v8sf) __C,
1516
(__mmask8) __U);
1517
}
1518
1519
static __inline__ __m256 __DEFAULT_FN_ATTRS
1520
_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1521
{
1522
return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
1523
(__v8sf) __B,
1524
-(__v8sf) __C,
1525
(__mmask8) __U);
1526
}
1527
1528
static __inline__ __m128d __DEFAULT_FN_ATTRS
1529
_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1530
{
1531
return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1532
(__v2df) __B,
1533
(__v2df) __C,
1534
(__mmask8) __U);
1535
}
1536
1537
static __inline__ __m128d __DEFAULT_FN_ATTRS
1538
_mm_mask3_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1539
{
1540
return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
1541
(__v2df) __B,
1542
(__v2df) __C,
1543
(__mmask8)
1544
__U);
1545
}
1546
1547
static __inline__ __m128d __DEFAULT_FN_ATTRS
1548
_mm_maskz_fmaddsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1549
{
1550
return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1551
(__v2df) __B,
1552
(__v2df) __C,
1553
(__mmask8)
1554
__U);
1555
}
1556
1557
static __inline__ __m128d __DEFAULT_FN_ATTRS
1558
_mm_mask_fmsubadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1559
{
1560
return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
1561
(__v2df) __B,
1562
-(__v2df) __C,
1563
(__mmask8) __U);
1564
}
1565
1566
static __inline__ __m128d __DEFAULT_FN_ATTRS
1567
_mm_maskz_fmsubadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
1568
{
1569
return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
1570
(__v2df) __B,
1571
-(__v2df) __C,
1572
(__mmask8)
1573
__U);
1574
}
1575
1576
static __inline__ __m256d __DEFAULT_FN_ATTRS
1577
_mm256_mask_fmaddsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1578
{
1579
return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1580
(__v4df) __B,
1581
(__v4df) __C,
1582
(__mmask8) __U);
1583
}
1584
1585
static __inline__ __m256d __DEFAULT_FN_ATTRS
1586
_mm256_mask3_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1587
{
1588
return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
1589
(__v4df) __B,
1590
(__v4df) __C,
1591
(__mmask8)
1592
__U);
1593
}
1594
1595
static __inline__ __m256d __DEFAULT_FN_ATTRS
1596
_mm256_maskz_fmaddsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1597
{
1598
return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1599
(__v4df) __B,
1600
(__v4df) __C,
1601
(__mmask8)
1602
__U);
1603
}
1604
1605
static __inline__ __m256d __DEFAULT_FN_ATTRS
1606
_mm256_mask_fmsubadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1607
{
1608
return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
1609
(__v4df) __B,
1610
-(__v4df) __C,
1611
(__mmask8) __U);
1612
}
1613
1614
static __inline__ __m256d __DEFAULT_FN_ATTRS
1615
_mm256_maskz_fmsubadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1616
{
1617
return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
1618
(__v4df) __B,
1619
-(__v4df) __C,
1620
(__mmask8)
1621
__U);
1622
}
1623
1624
static __inline__ __m128 __DEFAULT_FN_ATTRS
1625
_mm_mask_fmaddsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1626
{
1627
return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1628
(__v4sf) __B,
1629
(__v4sf) __C,
1630
(__mmask8) __U);
1631
}
1632
1633
static __inline__ __m128 __DEFAULT_FN_ATTRS
1634
_mm_mask3_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1635
{
1636
return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
1637
(__v4sf) __B,
1638
(__v4sf) __C,
1639
(__mmask8) __U);
1640
}
1641
1642
static __inline__ __m128 __DEFAULT_FN_ATTRS
1643
_mm_maskz_fmaddsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1644
{
1645
return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1646
(__v4sf) __B,
1647
(__v4sf) __C,
1648
(__mmask8) __U);
1649
}
1650
1651
static __inline__ __m128 __DEFAULT_FN_ATTRS
1652
_mm_mask_fmsubadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1653
{
1654
return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
1655
(__v4sf) __B,
1656
-(__v4sf) __C,
1657
(__mmask8) __U);
1658
}
1659
1660
static __inline__ __m128 __DEFAULT_FN_ATTRS
1661
_mm_maskz_fmsubadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1662
{
1663
return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
1664
(__v4sf) __B,
1665
-(__v4sf) __C,
1666
(__mmask8) __U);
1667
}
1668
1669
static __inline__ __m256 __DEFAULT_FN_ATTRS
1670
_mm256_mask_fmaddsub_ps(__m256 __A, __mmask8 __U, __m256 __B,
1671
__m256 __C)
1672
{
1673
return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1674
(__v8sf) __B,
1675
(__v8sf) __C,
1676
(__mmask8) __U);
1677
}
1678
1679
static __inline__ __m256 __DEFAULT_FN_ATTRS
1680
_mm256_mask3_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1681
{
1682
return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
1683
(__v8sf) __B,
1684
(__v8sf) __C,
1685
(__mmask8) __U);
1686
}
1687
1688
static __inline__ __m256 __DEFAULT_FN_ATTRS
1689
_mm256_maskz_fmaddsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1690
{
1691
return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1692
(__v8sf) __B,
1693
(__v8sf) __C,
1694
(__mmask8) __U);
1695
}
1696
1697
static __inline__ __m256 __DEFAULT_FN_ATTRS
1698
_mm256_mask_fmsubadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1699
{
1700
return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
1701
(__v8sf) __B,
1702
-(__v8sf) __C,
1703
(__mmask8) __U);
1704
}
1705
1706
static __inline__ __m256 __DEFAULT_FN_ATTRS
1707
_mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1708
{
1709
return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
1710
(__v8sf) __B,
1711
-(__v8sf) __C,
1712
(__mmask8) __U);
1713
}
1714
1715
static __inline__ __m128d __DEFAULT_FN_ATTRS
1716
_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1717
{
1718
return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
1719
(__v2df) __B,
1720
(__v2df) __C,
1721
(__mmask8) __U);
1722
}
1723
1724
static __inline__ __m256d __DEFAULT_FN_ATTRS
1725
_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1726
{
1727
return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
1728
(__v4df) __B,
1729
(__v4df) __C,
1730
(__mmask8) __U);
1731
}
1732
1733
static __inline__ __m128 __DEFAULT_FN_ATTRS
1734
_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1735
{
1736
return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
1737
(__v4sf) __B,
1738
(__v4sf) __C,
1739
(__mmask8) __U);
1740
}
1741
1742
static __inline__ __m256 __DEFAULT_FN_ATTRS
1743
_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1744
{
1745
return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
1746
(__v8sf) __B,
1747
(__v8sf) __C,
1748
(__mmask8) __U);
1749
}
1750
1751
static __inline__ __m128d __DEFAULT_FN_ATTRS
1752
_mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1753
{
1754
return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
1755
(__v2df) __B,
1756
(__v2df) __C,
1757
(__mmask8)
1758
__U);
1759
}
1760
1761
static __inline__ __m256d __DEFAULT_FN_ATTRS
1762
_mm256_mask3_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1763
{
1764
return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
1765
(__v4df) __B,
1766
(__v4df) __C,
1767
(__mmask8)
1768
__U);
1769
}
1770
1771
static __inline__ __m128 __DEFAULT_FN_ATTRS
1772
_mm_mask3_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1773
{
1774
return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
1775
(__v4sf) __B,
1776
(__v4sf) __C,
1777
(__mmask8) __U);
1778
}
1779
1780
static __inline__ __m256 __DEFAULT_FN_ATTRS
1781
_mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1782
{
1783
return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
1784
(__v8sf) __B,
1785
(__v8sf) __C,
1786
(__mmask8) __U);
1787
}
1788
1789
static __inline__ __m128d __DEFAULT_FN_ATTRS
1790
_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1791
{
1792
return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
1793
(__v2df) __B,
1794
(__v2df) __C,
1795
(__mmask8) __U);
1796
}
1797
1798
static __inline__ __m256d __DEFAULT_FN_ATTRS
1799
_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1800
{
1801
return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
1802
(__v4df) __B,
1803
(__v4df) __C,
1804
(__mmask8) __U);
1805
}
1806
1807
static __inline__ __m128 __DEFAULT_FN_ATTRS
1808
_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1809
{
1810
return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
1811
(__v4sf) __B,
1812
(__v4sf) __C,
1813
(__mmask8) __U);
1814
}
1815
1816
static __inline__ __m256 __DEFAULT_FN_ATTRS
1817
_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1818
{
1819
return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
1820
(__v8sf) __B,
1821
(__v8sf) __C,
1822
(__mmask8) __U);
1823
}
1824
1825
static __inline__ __m128d __DEFAULT_FN_ATTRS
1826
_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1827
{
1828
return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
1829
(__v2df) __B,
1830
(__v2df) __C,
1831
(__mmask8) __U);
1832
}
1833
1834
static __inline__ __m128d __DEFAULT_FN_ATTRS
1835
_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1836
{
1837
return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
1838
(__v2df) __B,
1839
(__v2df) __C,
1840
(__mmask8) __U);
1841
}
1842
1843
static __inline__ __m256d __DEFAULT_FN_ATTRS
1844
_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1845
{
1846
return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
1847
(__v4df) __B,
1848
(__v4df) __C,
1849
(__mmask8) __U);
1850
}
1851
1852
static __inline__ __m256d __DEFAULT_FN_ATTRS
1853
_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1854
{
1855
return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
1856
(__v4df) __B,
1857
(__v4df) __C,
1858
(__mmask8) __U);
1859
}
1860
1861
static __inline__ __m128 __DEFAULT_FN_ATTRS
1862
_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1863
{
1864
return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
1865
(__v4sf) __B,
1866
(__v4sf) __C,
1867
(__mmask8) __U);
1868
}
1869
1870
static __inline__ __m128 __DEFAULT_FN_ATTRS
1871
_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1872
{
1873
return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
1874
(__v4sf) __B,
1875
(__v4sf) __C,
1876
(__mmask8) __U);
1877
}
1878
1879
static __inline__ __m256 __DEFAULT_FN_ATTRS
1880
_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1881
{
1882
return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
1883
(__v8sf) __B,
1884
(__v8sf) __C,
1885
(__mmask8) __U);
1886
}
1887
1888
static __inline__ __m256 __DEFAULT_FN_ATTRS
1889
_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1890
{
1891
return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
1892
(__v8sf) __B,
1893
(__v8sf) __C,
1894
(__mmask8) __U);
1895
}
1896
1897
static __inline__ __m128d __DEFAULT_FN_ATTRS
1898
_mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
1899
return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
1900
(__v2df) __B,
1901
(__v2df) __W,
1902
(__mmask8) __U);
1903
}
1904
1905
static __inline__ __m128d __DEFAULT_FN_ATTRS
1906
_mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B) {
1907
return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
1908
(__v2df) __B,
1909
(__v2df)
1910
_mm_setzero_pd (),
1911
(__mmask8) __U);
1912
}
1913
1914
static __inline__ __m256d __DEFAULT_FN_ATTRS
1915
_mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
1916
return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
1917
(__v4df) __B,
1918
(__v4df) __W,
1919
(__mmask8) __U);
1920
}
1921
1922
static __inline__ __m256d __DEFAULT_FN_ATTRS
1923
_mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B) {
1924
return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
1925
(__v4df) __B,
1926
(__v4df)
1927
_mm256_setzero_pd (),
1928
(__mmask8) __U);
1929
}
1930
1931
static __inline__ __m128 __DEFAULT_FN_ATTRS
1932
_mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
1933
return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
1934
(__v4sf) __B,
1935
(__v4sf) __W,
1936
(__mmask8) __U);
1937
}
1938
1939
static __inline__ __m128 __DEFAULT_FN_ATTRS
1940
_mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B) {
1941
return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
1942
(__v4sf) __B,
1943
(__v4sf)
1944
_mm_setzero_ps (),
1945
(__mmask8) __U);
1946
}
1947
1948
static __inline__ __m256 __DEFAULT_FN_ATTRS
1949
_mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
1950
return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
1951
(__v8sf) __B,
1952
(__v8sf) __W,
1953
(__mmask8) __U);
1954
}
1955
1956
static __inline__ __m256 __DEFAULT_FN_ATTRS
1957
_mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B) {
1958
return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
1959
(__v8sf) __B,
1960
(__v8sf)
1961
_mm256_setzero_ps (),
1962
(__mmask8) __U);
1963
}
1964
1965
static __inline__ __m128i __DEFAULT_FN_ATTRS
1966
_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) {
1967
return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
1968
(__v4si) __W,
1969
(__v4si) __A);
1970
}
1971
1972
static __inline__ __m256i __DEFAULT_FN_ATTRS
1973
_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) {
1974
return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
1975
(__v8si) __W,
1976
(__v8si) __A);
1977
}
1978
1979
static __inline__ __m128d __DEFAULT_FN_ATTRS
1980
_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) {
1981
return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
1982
(__v2df) __W,
1983
(__v2df) __A);
1984
}
1985
1986
static __inline__ __m256d __DEFAULT_FN_ATTRS
1987
_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) {
1988
return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
1989
(__v4df) __W,
1990
(__v4df) __A);
1991
}
1992
1993
static __inline__ __m128 __DEFAULT_FN_ATTRS
1994
_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) {
1995
return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
1996
(__v4sf) __W,
1997
(__v4sf) __A);
1998
}
1999
2000
static __inline__ __m256 __DEFAULT_FN_ATTRS
2001
_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) {
2002
return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
2003
(__v8sf) __W,
2004
(__v8sf) __A);
2005
}
2006
2007
static __inline__ __m128i __DEFAULT_FN_ATTRS
2008
_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) {
2009
return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
2010
(__v2di) __W,
2011
(__v2di) __A);
2012
}
2013
2014
static __inline__ __m256i __DEFAULT_FN_ATTRS
2015
_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) {
2016
return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
2017
(__v4di) __W,
2018
(__v4di) __A);
2019
}
2020
2021
static __inline__ __m128d __DEFAULT_FN_ATTRS
2022
_mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2023
return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
2024
(__v2df) __W,
2025
(__mmask8) __U);
2026
}
2027
2028
static __inline__ __m128d __DEFAULT_FN_ATTRS
2029
_mm_maskz_compress_pd (__mmask8 __U, __m128d __A) {
2030
return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
2031
(__v2df)
2032
_mm_setzero_pd (),
2033
(__mmask8) __U);
2034
}
2035
2036
static __inline__ __m256d __DEFAULT_FN_ATTRS
2037
_mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2038
return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
2039
(__v4df) __W,
2040
(__mmask8) __U);
2041
}
2042
2043
static __inline__ __m256d __DEFAULT_FN_ATTRS
2044
_mm256_maskz_compress_pd (__mmask8 __U, __m256d __A) {
2045
return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
2046
(__v4df)
2047
_mm256_setzero_pd (),
2048
(__mmask8) __U);
2049
}
2050
2051
static __inline__ __m128i __DEFAULT_FN_ATTRS
2052
_mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2053
return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
2054
(__v2di) __W,
2055
(__mmask8) __U);
2056
}
2057
2058
static __inline__ __m128i __DEFAULT_FN_ATTRS
2059
_mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A) {
2060
return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
2061
(__v2di)
2062
_mm_setzero_si128 (),
2063
(__mmask8) __U);
2064
}
2065
2066
static __inline__ __m256i __DEFAULT_FN_ATTRS
2067
_mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2068
return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
2069
(__v4di) __W,
2070
(__mmask8) __U);
2071
}
2072
2073
static __inline__ __m256i __DEFAULT_FN_ATTRS
2074
_mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A) {
2075
return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
2076
(__v4di)
2077
_mm256_setzero_si256 (),
2078
(__mmask8) __U);
2079
}
2080
2081
static __inline__ __m128 __DEFAULT_FN_ATTRS
2082
_mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) {
2083
return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
2084
(__v4sf) __W,
2085
(__mmask8) __U);
2086
}
2087
2088
static __inline__ __m128 __DEFAULT_FN_ATTRS
2089
_mm_maskz_compress_ps (__mmask8 __U, __m128 __A) {
2090
return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
2091
(__v4sf)
2092
_mm_setzero_ps (),
2093
(__mmask8) __U);
2094
}
2095
2096
static __inline__ __m256 __DEFAULT_FN_ATTRS
2097
_mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) {
2098
return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
2099
(__v8sf) __W,
2100
(__mmask8) __U);
2101
}
2102
2103
static __inline__ __m256 __DEFAULT_FN_ATTRS
2104
_mm256_maskz_compress_ps (__mmask8 __U, __m256 __A) {
2105
return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
2106
(__v8sf)
2107
_mm256_setzero_ps (),
2108
(__mmask8) __U);
2109
}
2110
2111
static __inline__ __m128i __DEFAULT_FN_ATTRS
2112
_mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
2113
return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
2114
(__v4si) __W,
2115
(__mmask8) __U);
2116
}
2117
2118
static __inline__ __m128i __DEFAULT_FN_ATTRS
2119
_mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A) {
2120
return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
2121
(__v4si)
2122
_mm_setzero_si128 (),
2123
(__mmask8) __U);
2124
}
2125
2126
static __inline__ __m256i __DEFAULT_FN_ATTRS
2127
_mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
2128
return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
2129
(__v8si) __W,
2130
(__mmask8) __U);
2131
}
2132
2133
static __inline__ __m256i __DEFAULT_FN_ATTRS
2134
_mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A) {
2135
return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
2136
(__v8si)
2137
_mm256_setzero_si256 (),
2138
(__mmask8) __U);
2139
}
2140
2141
static __inline__ void __DEFAULT_FN_ATTRS
2142
_mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) {
2143
__builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
2144
(__v2df) __A,
2145
(__mmask8) __U);
2146
}
2147
2148
static __inline__ void __DEFAULT_FN_ATTRS
2149
_mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) {
2150
__builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
2151
(__v4df) __A,
2152
(__mmask8) __U);
2153
}
2154
2155
static __inline__ void __DEFAULT_FN_ATTRS
2156
_mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) {
2157
__builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
2158
(__v2di) __A,
2159
(__mmask8) __U);
2160
}
2161
2162
static __inline__ void __DEFAULT_FN_ATTRS
2163
_mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) {
2164
__builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
2165
(__v4di) __A,
2166
(__mmask8) __U);
2167
}
2168
2169
static __inline__ void __DEFAULT_FN_ATTRS
2170
_mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) {
2171
__builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
2172
(__v4sf) __A,
2173
(__mmask8) __U);
2174
}
2175
2176
static __inline__ void __DEFAULT_FN_ATTRS
2177
_mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) {
2178
__builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
2179
(__v8sf) __A,
2180
(__mmask8) __U);
2181
}
2182
2183
static __inline__ void __DEFAULT_FN_ATTRS
2184
_mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) {
2185
__builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
2186
(__v4si) __A,
2187
(__mmask8) __U);
2188
}
2189
2190
static __inline__ void __DEFAULT_FN_ATTRS
2191
_mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) {
2192
__builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
2193
(__v8si) __A,
2194
(__mmask8) __U);
2195
}
2196
2197
static __inline__ __m128d __DEFAULT_FN_ATTRS
2198
_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2199
return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
2200
(__v2df) __W,
2201
(__mmask8) __U);
2202
}
2203
2204
static __inline__ __m128d __DEFAULT_FN_ATTRS
2205
_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
2206
return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
2207
(__v2df)
2208
_mm_setzero_pd (),
2209
(__mmask8) __U);
2210
}
2211
2212
static __inline__ __m256d __DEFAULT_FN_ATTRS
2213
_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2214
return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
2215
(__v4df) __W,
2216
(__mmask8) __U);
2217
}
2218
2219
static __inline__ __m256d __DEFAULT_FN_ATTRS
2220
_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
2221
return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
2222
(__v4df)
2223
_mm256_setzero_pd (),
2224
(__mmask8) __U);
2225
}
2226
2227
static __inline__ __m128 __DEFAULT_FN_ATTRS
2228
_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2229
return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
2230
(__v4sf) __W,
2231
(__mmask8) __U);
2232
}
2233
2234
static __inline__ __m128 __DEFAULT_FN_ATTRS
2235
_mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) {
2236
return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
2237
(__v4sf)
2238
_mm_setzero_ps (),
2239
(__mmask8) __U);
2240
}
2241
2242
static __inline__ __m256 __DEFAULT_FN_ATTRS
2243
_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2244
return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
2245
(__v8sf) __W,
2246
(__mmask8) __U);
2247
}
2248
2249
static __inline__ __m256 __DEFAULT_FN_ATTRS
2250
_mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A) {
2251
return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
2252
(__v8sf)
2253
_mm256_setzero_ps (),
2254
(__mmask8) __U);
2255
}
2256
2257
static __inline__ __m128i __DEFAULT_FN_ATTRS
2258
_mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
2259
return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
2260
(__v4si) __W,
2261
(__mmask8) __U);
2262
}
2263
2264
static __inline__ __m128i __DEFAULT_FN_ATTRS
2265
_mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) {
2266
return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
2267
(__v4si)
2268
_mm_setzero_si128 (),
2269
(__mmask8) __U);
2270
}
2271
2272
static __inline__ __m128i __DEFAULT_FN_ATTRS
2273
_mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
2274
return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
2275
(__v4si) __W,
2276
(__mmask8) __U);
2277
}
2278
2279
static __inline__ __m128i __DEFAULT_FN_ATTRS
2280
_mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) {
2281
return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
2282
(__v4si)
2283
_mm_setzero_si128 (),
2284
(__mmask8) __U);
2285
}
2286
2287
static __inline__ __m128 __DEFAULT_FN_ATTRS
2288
_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) {
2289
return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
2290
(__v4sf) __W,
2291
(__mmask8) __U);
2292
}
2293
2294
static __inline__ __m128 __DEFAULT_FN_ATTRS
2295
_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) {
2296
return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
2297
(__v4sf)
2298
_mm_setzero_ps (),
2299
(__mmask8) __U);
2300
}
2301
2302
static __inline__ __m128 __DEFAULT_FN_ATTRS
2303
_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) {
2304
return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
2305
(__v4sf) __W,
2306
(__mmask8) __U);
2307
}
2308
2309
static __inline__ __m128 __DEFAULT_FN_ATTRS
2310
_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) {
2311
return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
2312
(__v4sf)
2313
_mm_setzero_ps (),
2314
(__mmask8) __U);
2315
}
2316
2317
static __inline__ __m128i __DEFAULT_FN_ATTRS
2318
_mm_cvtpd_epu32 (__m128d __A) {
2319
return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2320
(__v4si)
2321
_mm_setzero_si128 (),
2322
(__mmask8) -1);
2323
}
2324
2325
static __inline__ __m128i __DEFAULT_FN_ATTRS
2326
_mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
2327
return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2328
(__v4si) __W,
2329
(__mmask8) __U);
2330
}
2331
2332
static __inline__ __m128i __DEFAULT_FN_ATTRS
2333
_mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) {
2334
return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
2335
(__v4si)
2336
_mm_setzero_si128 (),
2337
(__mmask8) __U);
2338
}
2339
2340
static __inline__ __m128i __DEFAULT_FN_ATTRS
2341
_mm256_cvtpd_epu32 (__m256d __A) {
2342
return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2343
(__v4si)
2344
_mm_setzero_si128 (),
2345
(__mmask8) -1);
2346
}
2347
2348
static __inline__ __m128i __DEFAULT_FN_ATTRS
2349
_mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
2350
return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2351
(__v4si) __W,
2352
(__mmask8) __U);
2353
}
2354
2355
static __inline__ __m128i __DEFAULT_FN_ATTRS
2356
_mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A) {
2357
return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
2358
(__v4si)
2359
_mm_setzero_si128 (),
2360
(__mmask8) __U);
2361
}
2362
2363
static __inline__ __m128i __DEFAULT_FN_ATTRS
2364
_mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
2365
return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
2366
(__v4si) __W,
2367
(__mmask8) __U);
2368
}
2369
2370
static __inline__ __m128i __DEFAULT_FN_ATTRS
2371
_mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) {
2372
return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
2373
(__v4si)
2374
_mm_setzero_si128 (),
2375
(__mmask8) __U);
2376
}
2377
2378
static __inline__ __m256i __DEFAULT_FN_ATTRS
2379
_mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
2380
return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
2381
(__v8si) __W,
2382
(__mmask8) __U);
2383
}
2384
2385
static __inline__ __m256i __DEFAULT_FN_ATTRS
2386
_mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A) {
2387
return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
2388
(__v8si)
2389
_mm256_setzero_si256 (),
2390
(__mmask8) __U);
2391
}
2392
2393
static __inline__ __m128d __DEFAULT_FN_ATTRS
2394
_mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) {
2395
return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
2396
(__v2df) __W,
2397
(__mmask8) __U);
2398
}
2399
2400
static __inline__ __m128d __DEFAULT_FN_ATTRS
2401
_mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
2402
return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
2403
(__v2df)
2404
_mm_setzero_pd (),
2405
(__mmask8) __U);
2406
}
2407
2408
static __inline__ __m256d __DEFAULT_FN_ATTRS
2409
_mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) {
2410
return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
2411
(__v4df) __W,
2412
(__mmask8) __U);
2413
}
2414
2415
static __inline__ __m256d __DEFAULT_FN_ATTRS
2416
_mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) {
2417
return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
2418
(__v4df)
2419
_mm256_setzero_pd (),
2420
(__mmask8) __U);
2421
}
2422
2423
static __inline__ __m128i __DEFAULT_FN_ATTRS
2424
_mm_cvtps_epu32 (__m128 __A) {
2425
return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2426
(__v4si)
2427
_mm_setzero_si128 (),
2428
(__mmask8) -1);
2429
}
2430
2431
static __inline__ __m128i __DEFAULT_FN_ATTRS
2432
_mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
2433
return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2434
(__v4si) __W,
2435
(__mmask8) __U);
2436
}
2437
2438
static __inline__ __m128i __DEFAULT_FN_ATTRS
2439
_mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) {
2440
return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
2441
(__v4si)
2442
_mm_setzero_si128 (),
2443
(__mmask8) __U);
2444
}
2445
2446
static __inline__ __m256i __DEFAULT_FN_ATTRS
2447
_mm256_cvtps_epu32 (__m256 __A) {
2448
return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2449
(__v8si)
2450
_mm256_setzero_si256 (),
2451
(__mmask8) -1);
2452
}
2453
2454
static __inline__ __m256i __DEFAULT_FN_ATTRS
2455
_mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2456
return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2457
(__v8si) __W,
2458
(__mmask8) __U);
2459
}
2460
2461
static __inline__ __m256i __DEFAULT_FN_ATTRS
2462
_mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A) {
2463
return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
2464
(__v8si)
2465
_mm256_setzero_si256 (),
2466
(__mmask8) __U);
2467
}
2468
2469
static __inline__ __m128i __DEFAULT_FN_ATTRS
2470
_mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) {
2471
return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2472
(__v4si) __W,
2473
(__mmask8) __U);
2474
}
2475
2476
static __inline__ __m128i __DEFAULT_FN_ATTRS
2477
_mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) {
2478
return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
2479
(__v4si)
2480
_mm_setzero_si128 (),
2481
(__mmask8) __U);
2482
}
2483
2484
static __inline__ __m128i __DEFAULT_FN_ATTRS
2485
_mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) {
2486
return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2487
(__v4si) __W,
2488
(__mmask8) __U);
2489
}
2490
2491
static __inline__ __m128i __DEFAULT_FN_ATTRS
2492
_mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A) {
2493
return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
2494
(__v4si)
2495
_mm_setzero_si128 (),
2496
(__mmask8) __U);
2497
}
2498
2499
static __inline__ __m128i __DEFAULT_FN_ATTRS
2500
_mm_cvttpd_epu32 (__m128d __A) {
2501
return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2502
(__v4si)
2503
_mm_setzero_si128 (),
2504
(__mmask8) -1);
2505
}
2506
2507
static __inline__ __m128i __DEFAULT_FN_ATTRS
2508
_mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) {
2509
return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2510
(__v4si) __W,
2511
(__mmask8) __U);
2512
}
2513
2514
static __inline__ __m128i __DEFAULT_FN_ATTRS
2515
_mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) {
2516
return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
2517
(__v4si)
2518
_mm_setzero_si128 (),
2519
(__mmask8) __U);
2520
}
2521
2522
static __inline__ __m128i __DEFAULT_FN_ATTRS
2523
_mm256_cvttpd_epu32 (__m256d __A) {
2524
return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2525
(__v4si)
2526
_mm_setzero_si128 (),
2527
(__mmask8) -1);
2528
}
2529
2530
static __inline__ __m128i __DEFAULT_FN_ATTRS
2531
_mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) {
2532
return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2533
(__v4si) __W,
2534
(__mmask8) __U);
2535
}
2536
2537
static __inline__ __m128i __DEFAULT_FN_ATTRS
2538
_mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A) {
2539
return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
2540
(__v4si)
2541
_mm_setzero_si128 (),
2542
(__mmask8) __U);
2543
}
2544
2545
static __inline__ __m128i __DEFAULT_FN_ATTRS
2546
_mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) {
2547
return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2548
(__v4si) __W,
2549
(__mmask8) __U);
2550
}
2551
2552
static __inline__ __m128i __DEFAULT_FN_ATTRS
2553
_mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A) {
2554
return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
2555
(__v4si)
2556
_mm_setzero_si128 (),
2557
(__mmask8) __U);
2558
}
2559
2560
static __inline__ __m256i __DEFAULT_FN_ATTRS
2561
_mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) {
2562
return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2563
(__v8si) __W,
2564
(__mmask8) __U);
2565
}
2566
2567
static __inline__ __m256i __DEFAULT_FN_ATTRS
2568
_mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A) {
2569
return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
2570
(__v8si)
2571
_mm256_setzero_si256 (),
2572
(__mmask8) __U);
2573
}
2574
2575
static __inline__ __m128i __DEFAULT_FN_ATTRS
2576
_mm_cvttps_epu32 (__m128 __A) {
2577
return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2578
(__v4si)
2579
_mm_setzero_si128 (),
2580
(__mmask8) -1);
2581
}
2582
2583
static __inline__ __m128i __DEFAULT_FN_ATTRS
2584
_mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) {
2585
return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2586
(__v4si) __W,
2587
(__mmask8) __U);
2588
}
2589
2590
static __inline__ __m128i __DEFAULT_FN_ATTRS
2591
_mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A) {
2592
return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
2593
(__v4si)
2594
_mm_setzero_si128 (),
2595
(__mmask8) __U);
2596
}
2597
2598
static __inline__ __m256i __DEFAULT_FN_ATTRS
2599
_mm256_cvttps_epu32 (__m256 __A) {
2600
return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2601
(__v8si)
2602
_mm256_setzero_si256 (),
2603
(__mmask8) -1);
2604
}
2605
2606
static __inline__ __m256i __DEFAULT_FN_ATTRS
2607
_mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) {
2608
return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2609
(__v8si) __W,
2610
(__mmask8) __U);
2611
}
2612
2613
static __inline__ __m256i __DEFAULT_FN_ATTRS
2614
_mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) {
2615
return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
2616
(__v8si)
2617
_mm256_setzero_si256 (),
2618
(__mmask8) __U);
2619
}
2620
2621
static __inline__ __m128d __DEFAULT_FN_ATTRS
2622
_mm_cvtepu32_pd (__m128i __A) {
2623
return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2624
(__v2df)
2625
_mm_setzero_pd (),
2626
(__mmask8) -1);
2627
}
2628
2629
static __inline__ __m128d __DEFAULT_FN_ATTRS
2630
_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2631
return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2632
(__v2df) __W,
2633
(__mmask8) __U);
2634
}
2635
2636
static __inline__ __m128d __DEFAULT_FN_ATTRS
2637
_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2638
return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
2639
(__v2df)
2640
_mm_setzero_pd (),
2641
(__mmask8) __U);
2642
}
2643
2644
static __inline__ __m256d __DEFAULT_FN_ATTRS
2645
_mm256_cvtepu32_pd (__m128i __A) {
2646
return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2647
(__v4df)
2648
_mm256_setzero_pd (),
2649
(__mmask8) -1);
2650
}
2651
2652
static __inline__ __m256d __DEFAULT_FN_ATTRS
2653
_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2654
return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2655
(__v4df) __W,
2656
(__mmask8) __U);
2657
}
2658
2659
static __inline__ __m256d __DEFAULT_FN_ATTRS
2660
_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2661
return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
2662
(__v4df)
2663
_mm256_setzero_pd (),
2664
(__mmask8) __U);
2665
}
2666
2667
static __inline__ __m128 __DEFAULT_FN_ATTRS
2668
_mm_cvtepu32_ps (__m128i __A) {
2669
return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2670
(__v4sf)
2671
_mm_setzero_ps (),
2672
(__mmask8) -1);
2673
}
2674
2675
static __inline__ __m128 __DEFAULT_FN_ATTRS
2676
_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2677
return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2678
(__v4sf) __W,
2679
(__mmask8) __U);
2680
}
2681
2682
static __inline__ __m128 __DEFAULT_FN_ATTRS
2683
_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) {
2684
return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
2685
(__v4sf)
2686
_mm_setzero_ps (),
2687
(__mmask8) __U);
2688
}
2689
2690
static __inline__ __m256 __DEFAULT_FN_ATTRS
2691
_mm256_cvtepu32_ps (__m256i __A) {
2692
return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2693
(__v8sf)
2694
_mm256_setzero_ps (),
2695
(__mmask8) -1);
2696
}
2697
2698
static __inline__ __m256 __DEFAULT_FN_ATTRS
2699
_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2700
return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2701
(__v8sf) __W,
2702
(__mmask8) __U);
2703
}
2704
2705
static __inline__ __m256 __DEFAULT_FN_ATTRS
2706
_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) {
2707
return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
2708
(__v8sf)
2709
_mm256_setzero_ps (),
2710
(__mmask8) __U);
2711
}
2712
2713
static __inline__ __m128d __DEFAULT_FN_ATTRS
2714
_mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
2715
return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
2716
(__v2df) __B,
2717
(__v2df) __W,
2718
(__mmask8) __U);
2719
}
2720
2721
static __inline__ __m128d __DEFAULT_FN_ATTRS
2722
_mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B) {
2723
return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
2724
(__v2df) __B,
2725
(__v2df)
2726
_mm_setzero_pd (),
2727
(__mmask8) __U);
2728
}
2729
2730
static __inline__ __m256d __DEFAULT_FN_ATTRS
2731
_mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
2732
__m256d __B) {
2733
return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
2734
(__v4df) __B,
2735
(__v4df) __W,
2736
(__mmask8) __U);
2737
}
2738
2739
static __inline__ __m256d __DEFAULT_FN_ATTRS
2740
_mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B) {
2741
return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
2742
(__v4df) __B,
2743
(__v4df)
2744
_mm256_setzero_pd (),
2745
(__mmask8) __U);
2746
}
2747
2748
static __inline__ __m128 __DEFAULT_FN_ATTRS
2749
_mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
2750
return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
2751
(__v4sf) __B,
2752
(__v4sf) __W,
2753
(__mmask8) __U);
2754
}
2755
2756
static __inline__ __m128 __DEFAULT_FN_ATTRS
2757
_mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B) {
2758
return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
2759
(__v4sf) __B,
2760
(__v4sf)
2761
_mm_setzero_ps (),
2762
(__mmask8) __U);
2763
}
2764
2765
static __inline__ __m256 __DEFAULT_FN_ATTRS
2766
_mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
2767
return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
2768
(__v8sf) __B,
2769
(__v8sf) __W,
2770
(__mmask8) __U);
2771
}
2772
2773
static __inline__ __m256 __DEFAULT_FN_ATTRS
2774
_mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B) {
2775
return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
2776
(__v8sf) __B,
2777
(__v8sf)
2778
_mm256_setzero_ps (),
2779
(__mmask8) __U);
2780
}
2781
2782
static __inline__ __m128d __DEFAULT_FN_ATTRS
2783
_mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A) {
2784
return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2785
(__v2df) __W,
2786
(__mmask8) __U);
2787
}
2788
2789
static __inline__ __m128d __DEFAULT_FN_ATTRS
2790
_mm_maskz_expand_pd (__mmask8 __U, __m128d __A) {
2791
return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
2792
(__v2df)
2793
_mm_setzero_pd (),
2794
(__mmask8) __U);
2795
}
2796
2797
static __inline__ __m256d __DEFAULT_FN_ATTRS
2798
_mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A) {
2799
return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2800
(__v4df) __W,
2801
(__mmask8) __U);
2802
}
2803
2804
static __inline__ __m256d __DEFAULT_FN_ATTRS
2805
_mm256_maskz_expand_pd (__mmask8 __U, __m256d __A) {
2806
return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
2807
(__v4df)
2808
_mm256_setzero_pd (),
2809
(__mmask8) __U);
2810
}
2811
2812
static __inline__ __m128i __DEFAULT_FN_ATTRS
2813
_mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2814
return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2815
(__v2di) __W,
2816
(__mmask8) __U);
2817
}
2818
2819
static __inline__ __m128i __DEFAULT_FN_ATTRS
2820
_mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A) {
2821
return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
2822
(__v2di)
2823
_mm_setzero_si128 (),
2824
(__mmask8) __U);
2825
}
2826
2827
static __inline__ __m256i __DEFAULT_FN_ATTRS
2828
_mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2829
return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2830
(__v4di) __W,
2831
(__mmask8) __U);
2832
}
2833
2834
static __inline__ __m256i __DEFAULT_FN_ATTRS
2835
_mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A) {
2836
return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
2837
(__v4di)
2838
_mm256_setzero_si256 (),
2839
(__mmask8) __U);
2840
}
2841
2842
static __inline__ __m128d __DEFAULT_FN_ATTRS
2843
_mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P) {
2844
return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2845
(__v2df) __W,
2846
(__mmask8)
2847
__U);
2848
}
2849
2850
static __inline__ __m128d __DEFAULT_FN_ATTRS
2851
_mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2852
return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
2853
(__v2df)
2854
_mm_setzero_pd (),
2855
(__mmask8)
2856
__U);
2857
}
2858
2859
static __inline__ __m256d __DEFAULT_FN_ATTRS
2860
_mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P) {
2861
return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2862
(__v4df) __W,
2863
(__mmask8)
2864
__U);
2865
}
2866
2867
static __inline__ __m256d __DEFAULT_FN_ATTRS
2868
_mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P) {
2869
return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
2870
(__v4df)
2871
_mm256_setzero_pd (),
2872
(__mmask8)
2873
__U);
2874
}
2875
2876
static __inline__ __m128i __DEFAULT_FN_ATTRS
2877
_mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) {
2878
return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2879
(__v2di) __W,
2880
(__mmask8)
2881
__U);
2882
}
2883
2884
static __inline__ __m128i __DEFAULT_FN_ATTRS
2885
_mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) {
2886
return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
2887
(__v2di)
2888
_mm_setzero_si128 (),
2889
(__mmask8)
2890
__U);
2891
}
2892
2893
static __inline__ __m256i __DEFAULT_FN_ATTRS
2894
_mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
2895
void const *__P) {
2896
return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2897
(__v4di) __W,
2898
(__mmask8)
2899
__U);
2900
}
2901
2902
static __inline__ __m256i __DEFAULT_FN_ATTRS
2903
_mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) {
2904
return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
2905
(__v4di)
2906
_mm256_setzero_si256 (),
2907
(__mmask8)
2908
__U);
2909
}
2910
2911
static __inline__ __m128 __DEFAULT_FN_ATTRS
2912
_mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P) {
2913
return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
2914
(__v4sf) __W,
2915
(__mmask8) __U);
2916
}
2917
2918
static __inline__ __m128 __DEFAULT_FN_ATTRS
2919
_mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
2920
return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
2921
(__v4sf)
2922
_mm_setzero_ps (),
2923
(__mmask8)
2924
__U);
2925
}
2926
2927
static __inline__ __m256 __DEFAULT_FN_ATTRS
2928
_mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P) {
2929
return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
2930
(__v8sf) __W,
2931
(__mmask8) __U);
2932
}
2933
2934
static __inline__ __m256 __DEFAULT_FN_ATTRS
2935
_mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P) {
2936
return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
2937
(__v8sf)
2938
_mm256_setzero_ps (),
2939
(__mmask8)
2940
__U);
2941
}
2942
2943
static __inline__ __m128i __DEFAULT_FN_ATTRS
2944
_mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) {
2945
return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
2946
(__v4si) __W,
2947
(__mmask8)
2948
__U);
2949
}
2950
2951
static __inline__ __m128i __DEFAULT_FN_ATTRS
2952
_mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) {
2953
return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
2954
(__v4si)
2955
_mm_setzero_si128 (),
2956
(__mmask8) __U);
2957
}
2958
2959
static __inline__ __m256i __DEFAULT_FN_ATTRS
2960
_mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
2961
void const *__P) {
2962
return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
2963
(__v8si) __W,
2964
(__mmask8)
2965
__U);
2966
}
2967
2968
static __inline__ __m256i __DEFAULT_FN_ATTRS
2969
_mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) {
2970
return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
2971
(__v8si)
2972
_mm256_setzero_si256 (),
2973
(__mmask8)
2974
__U);
2975
}
2976
2977
static __inline__ __m128 __DEFAULT_FN_ATTRS
2978
_mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A) {
2979
return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
2980
(__v4sf) __W,
2981
(__mmask8) __U);
2982
}
2983
2984
static __inline__ __m128 __DEFAULT_FN_ATTRS
2985
_mm_maskz_expand_ps (__mmask8 __U, __m128 __A) {
2986
return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
2987
(__v4sf)
2988
_mm_setzero_ps (),
2989
(__mmask8) __U);
2990
}
2991
2992
static __inline__ __m256 __DEFAULT_FN_ATTRS
2993
_mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A) {
2994
return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
2995
(__v8sf) __W,
2996
(__mmask8) __U);
2997
}
2998
2999
static __inline__ __m256 __DEFAULT_FN_ATTRS
3000
_mm256_maskz_expand_ps (__mmask8 __U, __m256 __A) {
3001
return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
3002
(__v8sf)
3003
_mm256_setzero_ps (),
3004
(__mmask8) __U);
3005
}
3006
3007
static __inline__ __m128i __DEFAULT_FN_ATTRS
3008
_mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
3009
return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
3010
(__v4si) __W,
3011
(__mmask8) __U);
3012
}
3013
3014
static __inline__ __m128i __DEFAULT_FN_ATTRS
3015
_mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A) {
3016
return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
3017
(__v4si)
3018
_mm_setzero_si128 (),
3019
(__mmask8) __U);
3020
}
3021
3022
static __inline__ __m256i __DEFAULT_FN_ATTRS
3023
_mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
3024
return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
3025
(__v8si) __W,
3026
(__mmask8) __U);
3027
}
3028
3029
static __inline__ __m256i __DEFAULT_FN_ATTRS
3030
_mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A) {
3031
return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
3032
(__v8si)
3033
_mm256_setzero_si256 (),
3034
(__mmask8) __U);
3035
}
3036
3037
static __inline__ __m128d __DEFAULT_FN_ATTRS
3038
_mm_getexp_pd (__m128d __A) {
3039
return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3040
(__v2df)
3041
_mm_setzero_pd (),
3042
(__mmask8) -1);
3043
}
3044
3045
static __inline__ __m128d __DEFAULT_FN_ATTRS
3046
_mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A) {
3047
return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3048
(__v2df) __W,
3049
(__mmask8) __U);
3050
}
3051
3052
static __inline__ __m128d __DEFAULT_FN_ATTRS
3053
_mm_maskz_getexp_pd (__mmask8 __U, __m128d __A) {
3054
return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
3055
(__v2df)
3056
_mm_setzero_pd (),
3057
(__mmask8) __U);
3058
}
3059
3060
static __inline__ __m256d __DEFAULT_FN_ATTRS
3061
_mm256_getexp_pd (__m256d __A) {
3062
return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3063
(__v4df)
3064
_mm256_setzero_pd (),
3065
(__mmask8) -1);
3066
}
3067
3068
static __inline__ __m256d __DEFAULT_FN_ATTRS
3069
_mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A) {
3070
return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3071
(__v4df) __W,
3072
(__mmask8) __U);
3073
}
3074
3075
static __inline__ __m256d __DEFAULT_FN_ATTRS
3076
_mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A) {
3077
return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
3078
(__v4df)
3079
_mm256_setzero_pd (),
3080
(__mmask8) __U);
3081
}
3082
3083
static __inline__ __m128 __DEFAULT_FN_ATTRS
3084
_mm_getexp_ps (__m128 __A) {
3085
return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3086
(__v4sf)
3087
_mm_setzero_ps (),
3088
(__mmask8) -1);
3089
}
3090
3091
static __inline__ __m128 __DEFAULT_FN_ATTRS
3092
_mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A) {
3093
return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3094
(__v4sf) __W,
3095
(__mmask8) __U);
3096
}
3097
3098
static __inline__ __m128 __DEFAULT_FN_ATTRS
3099
_mm_maskz_getexp_ps (__mmask8 __U, __m128 __A) {
3100
return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
3101
(__v4sf)
3102
_mm_setzero_ps (),
3103
(__mmask8) __U);
3104
}
3105
3106
static __inline__ __m256 __DEFAULT_FN_ATTRS
3107
_mm256_getexp_ps (__m256 __A) {
3108
return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3109
(__v8sf)
3110
_mm256_setzero_ps (),
3111
(__mmask8) -1);
3112
}
3113
3114
static __inline__ __m256 __DEFAULT_FN_ATTRS
3115
_mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A) {
3116
return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3117
(__v8sf) __W,
3118
(__mmask8) __U);
3119
}
3120
3121
static __inline__ __m256 __DEFAULT_FN_ATTRS
3122
_mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A) {
3123
return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
3124
(__v8sf)
3125
_mm256_setzero_ps (),
3126
(__mmask8) __U);
3127
}
3128
3129
static __inline__ __m128d __DEFAULT_FN_ATTRS
3130
_mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3131
return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
3132
(__v2df) __B,
3133
(__v2df) __W,
3134
(__mmask8) __U);
3135
}
3136
3137
static __inline__ __m128d __DEFAULT_FN_ATTRS
3138
_mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3139
return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
3140
(__v2df) __B,
3141
(__v2df)
3142
_mm_setzero_pd (),
3143
(__mmask8) __U);
3144
}
3145
3146
static __inline__ __m256d __DEFAULT_FN_ATTRS
3147
_mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
3148
__m256d __B) {
3149
return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
3150
(__v4df) __B,
3151
(__v4df) __W,
3152
(__mmask8) __U);
3153
}
3154
3155
static __inline__ __m256d __DEFAULT_FN_ATTRS
3156
_mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3157
return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
3158
(__v4df) __B,
3159
(__v4df)
3160
_mm256_setzero_pd (),
3161
(__mmask8) __U);
3162
}
3163
3164
static __inline__ __m128 __DEFAULT_FN_ATTRS
3165
_mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3166
return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
3167
(__v4sf) __B,
3168
(__v4sf) __W,
3169
(__mmask8) __U);
3170
}
3171
3172
static __inline__ __m128 __DEFAULT_FN_ATTRS
3173
_mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3174
return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
3175
(__v4sf) __B,
3176
(__v4sf)
3177
_mm_setzero_ps (),
3178
(__mmask8) __U);
3179
}
3180
3181
static __inline__ __m256 __DEFAULT_FN_ATTRS
3182
_mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3183
return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
3184
(__v8sf) __B,
3185
(__v8sf) __W,
3186
(__mmask8) __U);
3187
}
3188
3189
static __inline__ __m256 __DEFAULT_FN_ATTRS
3190
_mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3191
return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
3192
(__v8sf) __B,
3193
(__v8sf)
3194
_mm256_setzero_ps (),
3195
(__mmask8) __U);
3196
}
3197
3198
static __inline__ __m128d __DEFAULT_FN_ATTRS
3199
_mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3200
return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
3201
(__v2df) __B,
3202
(__v2df) __W,
3203
(__mmask8) __U);
3204
}
3205
3206
static __inline__ __m128d __DEFAULT_FN_ATTRS
3207
_mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3208
return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
3209
(__v2df) __B,
3210
(__v2df)
3211
_mm_setzero_pd (),
3212
(__mmask8) __U);
3213
}
3214
3215
static __inline__ __m256d __DEFAULT_FN_ATTRS
3216
_mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
3217
__m256d __B) {
3218
return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
3219
(__v4df) __B,
3220
(__v4df) __W,
3221
(__mmask8) __U);
3222
}
3223
3224
static __inline__ __m256d __DEFAULT_FN_ATTRS
3225
_mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3226
return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
3227
(__v4df) __B,
3228
(__v4df)
3229
_mm256_setzero_pd (),
3230
(__mmask8) __U);
3231
}
3232
3233
static __inline__ __m128 __DEFAULT_FN_ATTRS
3234
_mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3235
return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
3236
(__v4sf) __B,
3237
(__v4sf) __W,
3238
(__mmask8) __U);
3239
}
3240
3241
static __inline__ __m128 __DEFAULT_FN_ATTRS
3242
_mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3243
return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
3244
(__v4sf) __B,
3245
(__v4sf)
3246
_mm_setzero_ps (),
3247
(__mmask8) __U);
3248
}
3249
3250
static __inline__ __m256 __DEFAULT_FN_ATTRS
3251
_mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3252
return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
3253
(__v8sf) __B,
3254
(__v8sf) __W,
3255
(__mmask8) __U);
3256
}
3257
3258
static __inline__ __m256 __DEFAULT_FN_ATTRS
3259
_mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3260
return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
3261
(__v8sf) __B,
3262
(__v8sf)
3263
_mm256_setzero_ps (),
3264
(__mmask8) __U);
3265
}
3266
3267
static __inline__ __m128d __DEFAULT_FN_ATTRS
3268
_mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
3269
return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
3270
(__v2df) __B,
3271
(__v2df) __W,
3272
(__mmask8) __U);
3273
}
3274
3275
static __inline__ __m128d __DEFAULT_FN_ATTRS
3276
_mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3277
return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
3278
(__v2df) __B,
3279
(__v2df)
3280
_mm_setzero_pd (),
3281
(__mmask8) __U);
3282
}
3283
3284
static __inline__ __m256d __DEFAULT_FN_ATTRS
3285
_mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
3286
__m256d __B) {
3287
return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
3288
(__v4df) __B,
3289
(__v4df) __W,
3290
(__mmask8) __U);
3291
}
3292
3293
static __inline__ __m256d __DEFAULT_FN_ATTRS
3294
_mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3295
return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
3296
(__v4df) __B,
3297
(__v4df)
3298
_mm256_setzero_pd (),
3299
(__mmask8) __U);
3300
}
3301
3302
static __inline__ __m128 __DEFAULT_FN_ATTRS
3303
_mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3304
return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
3305
(__v4sf) __B,
3306
(__v4sf) __W,
3307
(__mmask8) __U);
3308
}
3309
3310
static __inline__ __m128 __DEFAULT_FN_ATTRS
3311
_mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3312
return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
3313
(__v4sf) __B,
3314
(__v4sf)
3315
_mm_setzero_ps (),
3316
(__mmask8) __U);
3317
}
3318
3319
static __inline__ __m256 __DEFAULT_FN_ATTRS
3320
_mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
3321
return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
3322
(__v8sf) __B,
3323
(__v8sf) __W,
3324
(__mmask8) __U);
3325
}
3326
3327
static __inline__ __m256 __DEFAULT_FN_ATTRS
3328
_mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3329
return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
3330
(__v8sf) __B,
3331
(__v8sf)
3332
_mm256_setzero_ps (),
3333
(__mmask8) __U);
3334
}
3335
3336
static __inline__ __m128i __DEFAULT_FN_ATTRS
3337
_mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A) {
3338
return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
3339
(__v4si) __W,
3340
(__mmask8) __U);
3341
}
3342
3343
static __inline__ __m128i __DEFAULT_FN_ATTRS
3344
_mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A) {
3345
return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
3346
(__v4si)
3347
_mm_setzero_si128 (),
3348
(__mmask8) __U);
3349
}
3350
3351
static __inline__ __m256i __DEFAULT_FN_ATTRS
3352
_mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A) {
3353
return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
3354
(__v8si) __W,
3355
(__mmask8) __U);
3356
}
3357
3358
static __inline__ __m256i __DEFAULT_FN_ATTRS
3359
_mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A) {
3360
return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
3361
(__v8si)
3362
_mm256_setzero_si256 (),
3363
(__mmask8) __U);
3364
}
3365
3366
static __inline__ __m128i __DEFAULT_FN_ATTRS
3367
_mm_abs_epi64 (__m128i __A) {
3368
return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3369
(__v2di)
3370
_mm_setzero_si128 (),
3371
(__mmask8) -1);
3372
}
3373
3374
static __inline__ __m128i __DEFAULT_FN_ATTRS
3375
_mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
3376
return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3377
(__v2di) __W,
3378
(__mmask8) __U);
3379
}
3380
3381
static __inline__ __m128i __DEFAULT_FN_ATTRS
3382
_mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) {
3383
return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
3384
(__v2di)
3385
_mm_setzero_si128 (),
3386
(__mmask8) __U);
3387
}
3388
3389
static __inline__ __m256i __DEFAULT_FN_ATTRS
3390
_mm256_abs_epi64 (__m256i __A) {
3391
return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3392
(__v4di)
3393
_mm256_setzero_si256 (),
3394
(__mmask8) -1);
3395
}
3396
3397
static __inline__ __m256i __DEFAULT_FN_ATTRS
3398
_mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
3399
return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3400
(__v4di) __W,
3401
(__mmask8) __U);
3402
}
3403
3404
static __inline__ __m256i __DEFAULT_FN_ATTRS
3405
_mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) {
3406
return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
3407
(__v4di)
3408
_mm256_setzero_si256 (),
3409
(__mmask8) __U);
3410
}
3411
3412
static __inline__ __m128i __DEFAULT_FN_ATTRS
3413
_mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
3414
return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
3415
(__v4si) __B,
3416
(__v4si)
3417
_mm_setzero_si128 (),
3418
__M);
3419
}
3420
3421
static __inline__ __m128i __DEFAULT_FN_ATTRS
3422
_mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
3423
__m128i __B) {
3424
return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
3425
(__v4si) __B,
3426
(__v4si) __W, __M);
3427
}
3428
3429
static __inline__ __m256i __DEFAULT_FN_ATTRS
3430
_mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
3431
return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
3432
(__v8si) __B,
3433
(__v8si)
3434
_mm256_setzero_si256 (),
3435
__M);
3436
}
3437
3438
static __inline__ __m256i __DEFAULT_FN_ATTRS
3439
_mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
3440
__m256i __B) {
3441
return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
3442
(__v8si) __B,
3443
(__v8si) __W, __M);
3444
}
3445
3446
static __inline__ __m128i __DEFAULT_FN_ATTRS
3447
_mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3448
return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3449
(__v2di) __B,
3450
(__v2di)
3451
_mm_setzero_si128 (),
3452
__M);
3453
}
3454
3455
static __inline__ __m128i __DEFAULT_FN_ATTRS
3456
_mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
3457
__m128i __B) {
3458
return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3459
(__v2di) __B,
3460
(__v2di) __W, __M);
3461
}
3462
3463
static __inline__ __m128i __DEFAULT_FN_ATTRS
3464
_mm_max_epi64 (__m128i __A, __m128i __B) {
3465
return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
3466
(__v2di) __B,
3467
(__v2di)
3468
_mm_setzero_si128 (),
3469
(__mmask8) -1);
3470
}
3471
3472
static __inline__ __m256i __DEFAULT_FN_ATTRS
3473
_mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3474
return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3475
(__v4di) __B,
3476
(__v4di)
3477
_mm256_setzero_si256 (),
3478
__M);
3479
}
3480
3481
static __inline__ __m256i __DEFAULT_FN_ATTRS
3482
_mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
3483
__m256i __B) {
3484
return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3485
(__v4di) __B,
3486
(__v4di) __W, __M);
3487
}
3488
3489
static __inline__ __m256i __DEFAULT_FN_ATTRS
3490
_mm256_max_epi64 (__m256i __A, __m256i __B) {
3491
return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
3492
(__v4di) __B,
3493
(__v4di)
3494
_mm256_setzero_si256 (),
3495
(__mmask8) -1);
3496
}
3497
3498
static __inline__ __m128i __DEFAULT_FN_ATTRS
3499
_mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B) {
3500
return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
3501
(__v4si) __B,
3502
(__v4si)
3503
_mm_setzero_si128 (),
3504
__M);
3505
}
3506
3507
static __inline__ __m128i __DEFAULT_FN_ATTRS
3508
_mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
3509
__m128i __B) {
3510
return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
3511
(__v4si) __B,
3512
(__v4si) __W, __M);
3513
}
3514
3515
static __inline__ __m256i __DEFAULT_FN_ATTRS
3516
_mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B) {
3517
return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
3518
(__v8si) __B,
3519
(__v8si)
3520
_mm256_setzero_si256 (),
3521
__M);
3522
}
3523
3524
static __inline__ __m256i __DEFAULT_FN_ATTRS
3525
_mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
3526
__m256i __B) {
3527
return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
3528
(__v8si) __B,
3529
(__v8si) __W, __M);
3530
}
3531
3532
static __inline__ __m128i __DEFAULT_FN_ATTRS
3533
_mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3534
return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3535
(__v2di) __B,
3536
(__v2di)
3537
_mm_setzero_si128 (),
3538
__M);
3539
}
3540
3541
static __inline__ __m128i __DEFAULT_FN_ATTRS
3542
_mm_max_epu64 (__m128i __A, __m128i __B) {
3543
return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3544
(__v2di) __B,
3545
(__v2di)
3546
_mm_setzero_si128 (),
3547
(__mmask8) -1);
3548
}
3549
3550
static __inline__ __m128i __DEFAULT_FN_ATTRS
3551
_mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3552
__m128i __B) {
3553
return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
3554
(__v2di) __B,
3555
(__v2di) __W, __M);
3556
}
3557
3558
static __inline__ __m256i __DEFAULT_FN_ATTRS
3559
_mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3560
return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3561
(__v4di) __B,
3562
(__v4di)
3563
_mm256_setzero_si256 (),
3564
__M);
3565
}
3566
3567
static __inline__ __m256i __DEFAULT_FN_ATTRS
3568
_mm256_max_epu64 (__m256i __A, __m256i __B) {
3569
return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3570
(__v4di) __B,
3571
(__v4di)
3572
_mm256_setzero_si256 (),
3573
(__mmask8) -1);
3574
}
3575
3576
static __inline__ __m256i __DEFAULT_FN_ATTRS
3577
_mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3578
__m256i __B) {
3579
return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
3580
(__v4di) __B,
3581
(__v4di) __W, __M);
3582
}
3583
3584
static __inline__ __m128i __DEFAULT_FN_ATTRS
3585
_mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
3586
return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
3587
(__v4si) __B,
3588
(__v4si)
3589
_mm_setzero_si128 (),
3590
__M);
3591
}
3592
3593
static __inline__ __m128i __DEFAULT_FN_ATTRS
3594
_mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
3595
__m128i __B) {
3596
return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
3597
(__v4si) __B,
3598
(__v4si) __W, __M);
3599
}
3600
3601
static __inline__ __m256i __DEFAULT_FN_ATTRS
3602
_mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
3603
return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
3604
(__v8si) __B,
3605
(__v8si)
3606
_mm256_setzero_si256 (),
3607
__M);
3608
}
3609
3610
static __inline__ __m256i __DEFAULT_FN_ATTRS
3611
_mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
3612
__m256i __B) {
3613
return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
3614
(__v8si) __B,
3615
(__v8si) __W, __M);
3616
}
3617
3618
static __inline__ __m128i __DEFAULT_FN_ATTRS
3619
_mm_min_epi64 (__m128i __A, __m128i __B) {
3620
return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3621
(__v2di) __B,
3622
(__v2di)
3623
_mm_setzero_si128 (),
3624
(__mmask8) -1);
3625
}
3626
3627
static __inline__ __m128i __DEFAULT_FN_ATTRS
3628
_mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
3629
__m128i __B) {
3630
return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3631
(__v2di) __B,
3632
(__v2di) __W, __M);
3633
}
3634
3635
static __inline__ __m128i __DEFAULT_FN_ATTRS
3636
_mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3637
return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
3638
(__v2di) __B,
3639
(__v2di)
3640
_mm_setzero_si128 (),
3641
__M);
3642
}
3643
3644
static __inline__ __m256i __DEFAULT_FN_ATTRS
3645
_mm256_min_epi64 (__m256i __A, __m256i __B) {
3646
return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3647
(__v4di) __B,
3648
(__v4di)
3649
_mm256_setzero_si256 (),
3650
(__mmask8) -1);
3651
}
3652
3653
static __inline__ __m256i __DEFAULT_FN_ATTRS
3654
_mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
3655
__m256i __B) {
3656
return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3657
(__v4di) __B,
3658
(__v4di) __W, __M);
3659
}
3660
3661
static __inline__ __m256i __DEFAULT_FN_ATTRS
3662
_mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3663
return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
3664
(__v4di) __B,
3665
(__v4di)
3666
_mm256_setzero_si256 (),
3667
__M);
3668
}
3669
3670
static __inline__ __m128i __DEFAULT_FN_ATTRS
3671
_mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B) {
3672
return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
3673
(__v4si) __B,
3674
(__v4si)
3675
_mm_setzero_si128 (),
3676
__M);
3677
}
3678
3679
static __inline__ __m128i __DEFAULT_FN_ATTRS
3680
_mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
3681
__m128i __B) {
3682
return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
3683
(__v4si) __B,
3684
(__v4si) __W, __M);
3685
}
3686
3687
static __inline__ __m256i __DEFAULT_FN_ATTRS
3688
_mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B) {
3689
return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
3690
(__v8si) __B,
3691
(__v8si)
3692
_mm256_setzero_si256 (),
3693
__M);
3694
}
3695
3696
static __inline__ __m256i __DEFAULT_FN_ATTRS
3697
_mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
3698
__m256i __B) {
3699
return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
3700
(__v8si) __B,
3701
(__v8si) __W, __M);
3702
}
3703
3704
static __inline__ __m128i __DEFAULT_FN_ATTRS
3705
_mm_min_epu64 (__m128i __A, __m128i __B) {
3706
return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3707
(__v2di) __B,
3708
(__v2di)
3709
_mm_setzero_si128 (),
3710
(__mmask8) -1);
3711
}
3712
3713
static __inline__ __m128i __DEFAULT_FN_ATTRS
3714
_mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
3715
__m128i __B) {
3716
return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3717
(__v2di) __B,
3718
(__v2di) __W, __M);
3719
}
3720
3721
static __inline__ __m128i __DEFAULT_FN_ATTRS
3722
_mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3723
return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
3724
(__v2di) __B,
3725
(__v2di)
3726
_mm_setzero_si128 (),
3727
__M);
3728
}
3729
3730
static __inline__ __m256i __DEFAULT_FN_ATTRS
3731
_mm256_min_epu64 (__m256i __A, __m256i __B) {
3732
return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3733
(__v4di) __B,
3734
(__v4di)
3735
_mm256_setzero_si256 (),
3736
(__mmask8) -1);
3737
}
3738
3739
static __inline__ __m256i __DEFAULT_FN_ATTRS
3740
_mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
3741
__m256i __B) {
3742
return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3743
(__v4di) __B,
3744
(__v4di) __W, __M);
3745
}
3746
3747
static __inline__ __m256i __DEFAULT_FN_ATTRS
3748
_mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3749
return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
3750
(__v4di) __B,
3751
(__v4di)
3752
_mm256_setzero_si256 (),
3753
__M);
3754
}
3755
3756
#define _mm_roundscale_pd(A, imm) __extension__ ({ \
3757
(__m128d)__builtin_ia32_rndscalepd_128_mask((__v2df)(__m128d)(A), \
3758
(int)(imm), \
3759
(__v2df)_mm_setzero_pd(), \
3760
(__mmask8)-1); })
3761
3762
3763
#define _mm_mask_roundscale_pd(W, U, A, imm) __extension__ ({ \
3764
(__m128d)__builtin_ia32_rndscalepd_128_mask((__v2df)(__m128d)(A), \
3765
(int)(imm), \
3766
(__v2df)(__m128d)(W), \
3767
(__mmask8)(U)); })
3768
3769
3770
#define _mm_maskz_roundscale_pd(U, A, imm) __extension__ ({ \
3771
(__m128d)__builtin_ia32_rndscalepd_128_mask((__v2df)(__m128d)(A), \
3772
(int)(imm), \
3773
(__v2df)_mm_setzero_pd(), \
3774
(__mmask8)(U)); })
3775
3776
3777
#define _mm256_roundscale_pd(A, imm) __extension__ ({ \
3778
(__m256d)__builtin_ia32_rndscalepd_256_mask((__v4df)(__m256d)(A), \
3779
(int)(imm), \
3780
(__v4df)_mm256_setzero_pd(), \
3781
(__mmask8)-1); })
3782
3783
3784
#define _mm256_mask_roundscale_pd(W, U, A, imm) __extension__ ({ \
3785
(__m256d)__builtin_ia32_rndscalepd_256_mask((__v4df)(__m256d)(A), \
3786
(int)(imm), \
3787
(__v4df)(__m256d)(W), \
3788
(__mmask8)(U)); })
3789
3790
3791
#define _mm256_maskz_roundscale_pd(U, A, imm) __extension__ ({ \
3792
(__m256d)__builtin_ia32_rndscalepd_256_mask((__v4df)(__m256d)(A), \
3793
(int)(imm), \
3794
(__v4df)_mm256_setzero_pd(), \
3795
(__mmask8)(U)); })
3796
3797
#define _mm_roundscale_ps(A, imm) __extension__ ({ \
3798
(__m128)__builtin_ia32_rndscaleps_128_mask((__v4sf)(__m128)(A), (int)(imm), \
3799
(__v4sf)_mm_setzero_ps(), \
3800
(__mmask8)-1); })
3801
3802
3803
#define _mm_mask_roundscale_ps(W, U, A, imm) __extension__ ({ \
3804
(__m128)__builtin_ia32_rndscaleps_128_mask((__v4sf)(__m128)(A), (int)(imm), \
3805
(__v4sf)(__m128)(W), \
3806
(__mmask8)(U)); })
3807
3808
3809
#define _mm_maskz_roundscale_ps(U, A, imm) __extension__ ({ \
3810
(__m128)__builtin_ia32_rndscaleps_128_mask((__v4sf)(__m128)(A), (int)(imm), \
3811
(__v4sf)_mm_setzero_ps(), \
3812
(__mmask8)(U)); })
3813
3814
#define _mm256_roundscale_ps(A, imm) __extension__ ({ \
3815
(__m256)__builtin_ia32_rndscaleps_256_mask((__v8sf)(__m256)(A), (int)(imm), \
3816
(__v8sf)_mm256_setzero_ps(), \
3817
(__mmask8)-1); })
3818
3819
#define _mm256_mask_roundscale_ps(W, U, A, imm) __extension__ ({ \
3820
(__m256)__builtin_ia32_rndscaleps_256_mask((__v8sf)(__m256)(A), (int)(imm), \
3821
(__v8sf)(__m256)(W), \
3822
(__mmask8)(U)); })
3823
3824
3825
#define _mm256_maskz_roundscale_ps(U, A, imm) __extension__ ({ \
3826
(__m256)__builtin_ia32_rndscaleps_256_mask((__v8sf)(__m256)(A), (int)(imm), \
3827
(__v8sf)_mm256_setzero_ps(), \
3828
(__mmask8)(U)); })
3829
3830
static __inline__ __m128d __DEFAULT_FN_ATTRS
3831
_mm_scalef_pd (__m128d __A, __m128d __B) {
3832
return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3833
(__v2df) __B,
3834
(__v2df)
3835
_mm_setzero_pd (),
3836
(__mmask8) -1);
3837
}
3838
3839
static __inline__ __m128d __DEFAULT_FN_ATTRS
3840
_mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
3841
__m128d __B) {
3842
return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3843
(__v2df) __B,
3844
(__v2df) __W,
3845
(__mmask8) __U);
3846
}
3847
3848
static __inline__ __m128d __DEFAULT_FN_ATTRS
3849
_mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B) {
3850
return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
3851
(__v2df) __B,
3852
(__v2df)
3853
_mm_setzero_pd (),
3854
(__mmask8) __U);
3855
}
3856
3857
static __inline__ __m256d __DEFAULT_FN_ATTRS
3858
_mm256_scalef_pd (__m256d __A, __m256d __B) {
3859
return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3860
(__v4df) __B,
3861
(__v4df)
3862
_mm256_setzero_pd (),
3863
(__mmask8) -1);
3864
}
3865
3866
static __inline__ __m256d __DEFAULT_FN_ATTRS
3867
_mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
3868
__m256d __B) {
3869
return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3870
(__v4df) __B,
3871
(__v4df) __W,
3872
(__mmask8) __U);
3873
}
3874
3875
static __inline__ __m256d __DEFAULT_FN_ATTRS
3876
_mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B) {
3877
return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
3878
(__v4df) __B,
3879
(__v4df)
3880
_mm256_setzero_pd (),
3881
(__mmask8) __U);
3882
}
3883
3884
static __inline__ __m128 __DEFAULT_FN_ATTRS
3885
_mm_scalef_ps (__m128 __A, __m128 __B) {
3886
return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3887
(__v4sf) __B,
3888
(__v4sf)
3889
_mm_setzero_ps (),
3890
(__mmask8) -1);
3891
}
3892
3893
static __inline__ __m128 __DEFAULT_FN_ATTRS
3894
_mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
3895
return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3896
(__v4sf) __B,
3897
(__v4sf) __W,
3898
(__mmask8) __U);
3899
}
3900
3901
static __inline__ __m128 __DEFAULT_FN_ATTRS
3902
_mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B) {
3903
return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
3904
(__v4sf) __B,
3905
(__v4sf)
3906
_mm_setzero_ps (),
3907
(__mmask8) __U);
3908
}
3909
3910
static __inline__ __m256 __DEFAULT_FN_ATTRS
3911
_mm256_scalef_ps (__m256 __A, __m256 __B) {
3912
return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3913
(__v8sf) __B,
3914
(__v8sf)
3915
_mm256_setzero_ps (),
3916
(__mmask8) -1);
3917
}
3918
3919
static __inline__ __m256 __DEFAULT_FN_ATTRS
3920
_mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
3921
__m256 __B) {
3922
return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3923
(__v8sf) __B,
3924
(__v8sf) __W,
3925
(__mmask8) __U);
3926
}
3927
3928
static __inline__ __m256 __DEFAULT_FN_ATTRS
3929
_mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
3930
return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
3931
(__v8sf) __B,
3932
(__v8sf)
3933
_mm256_setzero_ps (),
3934
(__mmask8) __U);
3935
}
3936
3937
#define _mm_i64scatter_pd(addr, index, v1, scale) __extension__ ({ \
3938
__builtin_ia32_scatterdiv2df((double *)(addr), (__mmask8)-1, \
3939
(__v2di)(__m128i)(index), \
3940
(__v2df)(__m128d)(v1), (int)(scale)); })
3941
3942
#define _mm_mask_i64scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
3943
__builtin_ia32_scatterdiv2df((double *)(addr), (__mmask8)(mask), \
3944
(__v2di)(__m128i)(index), \
3945
(__v2df)(__m128d)(v1), (int)(scale)); })
3946
3947
#define _mm_i64scatter_epi64(addr, index, v1, scale) __extension__ ({ \
3948
__builtin_ia32_scatterdiv2di((long long *)(addr), (__mmask8)-1, \
3949
(__v2di)(__m128i)(index), \
3950
(__v2di)(__m128i)(v1), (int)(scale)); })
3951
3952
#define _mm_mask_i64scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
3953
__builtin_ia32_scatterdiv2di((long long *)(addr), (__mmask8)(mask), \
3954
(__v2di)(__m128i)(index), \
3955
(__v2di)(__m128i)(v1), (int)(scale)); })
3956
3957
#define _mm256_i64scatter_pd(addr, index, v1, scale) __extension__ ({ \
3958
__builtin_ia32_scatterdiv4df((double *)(addr), (__mmask8)-1, \
3959
(__v4di)(__m256i)(index), \
3960
(__v4df)(__m256d)(v1), (int)(scale)); })
3961
3962
#define _mm256_mask_i64scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
3963
__builtin_ia32_scatterdiv4df((double *)(addr), (__mmask8)(mask), \
3964
(__v4di)(__m256i)(index), \
3965
(__v4df)(__m256d)(v1), (int)(scale)); })
3966
3967
#define _mm256_i64scatter_epi64(addr, index, v1, scale) __extension__ ({ \
3968
__builtin_ia32_scatterdiv4di((long long *)(addr), (__mmask8)-1, \
3969
(__v4di)(__m256i)(index), \
3970
(__v4di)(__m256i)(v1), (int)(scale)); })
3971
3972
#define _mm256_mask_i64scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
3973
__builtin_ia32_scatterdiv4di((long long *)(addr), (__mmask8)(mask), \
3974
(__v4di)(__m256i)(index), \
3975
(__v4di)(__m256i)(v1), (int)(scale)); })
3976
3977
#define _mm_i64scatter_ps(addr, index, v1, scale) __extension__ ({ \
3978
__builtin_ia32_scatterdiv4sf((float *)(addr), (__mmask8)-1, \
3979
(__v2di)(__m128i)(index), (__v4sf)(__m128)(v1), \
3980
(int)(scale)); })
3981
3982
#define _mm_mask_i64scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
3983
__builtin_ia32_scatterdiv4sf((float *)(addr), (__mmask8)(mask), \
3984
(__v2di)(__m128i)(index), (__v4sf)(__m128)(v1), \
3985
(int)(scale)); })
3986
3987
#define _mm_i64scatter_epi32(addr, index, v1, scale) __extension__ ({ \
3988
__builtin_ia32_scatterdiv4si((int *)(addr), (__mmask8)-1, \
3989
(__v2di)(__m128i)(index), \
3990
(__v4si)(__m128i)(v1), (int)(scale)); })
3991
3992
#define _mm_mask_i64scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
3993
__builtin_ia32_scatterdiv4si((int *)(addr), (__mmask8)(mask), \
3994
(__v2di)(__m128i)(index), \
3995
(__v4si)(__m128i)(v1), (int)(scale)); })
3996
3997
#define _mm256_i64scatter_ps(addr, index, v1, scale) __extension__ ({ \
3998
__builtin_ia32_scatterdiv8sf((float *)(addr), (__mmask8)-1, \
3999
(__v4di)(__m256i)(index), (__v4sf)(__m128)(v1), \
4000
(int)(scale)); })
4001
4002
#define _mm256_mask_i64scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
4003
__builtin_ia32_scatterdiv8sf((float *)(addr), (__mmask8)(mask), \
4004
(__v4di)(__m256i)(index), (__v4sf)(__m128)(v1), \
4005
(int)(scale)); })
4006
4007
#define _mm256_i64scatter_epi32(addr, index, v1, scale) __extension__ ({ \
4008
__builtin_ia32_scatterdiv8si((int *)(addr), (__mmask8)-1, \
4009
(__v4di)(__m256i)(index), \
4010
(__v4si)(__m128i)(v1), (int)(scale)); })
4011
4012
#define _mm256_mask_i64scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
4013
__builtin_ia32_scatterdiv8si((int *)(addr), (__mmask8)(mask), \
4014
(__v4di)(__m256i)(index), \
4015
(__v4si)(__m128i)(v1), (int)(scale)); })
4016
4017
#define _mm_i32scatter_pd(addr, index, v1, scale) __extension__ ({ \
4018
__builtin_ia32_scattersiv2df((double *)(addr), (__mmask8)-1, \
4019
(__v4si)(__m128i)(index), \
4020
(__v2df)(__m128d)(v1), (int)(scale)); })
4021
4022
#define _mm_mask_i32scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
4023
__builtin_ia32_scattersiv2df((double *)(addr), (__mmask8)(mask), \
4024
(__v4si)(__m128i)(index), \
4025
(__v2df)(__m128d)(v1), (int)(scale)); })
4026
4027
#define _mm_i32scatter_epi64(addr, index, v1, scale) __extension__ ({ \
4028
__builtin_ia32_scattersiv2di((long long *)(addr), (__mmask8)-1, \
4029
(__v4si)(__m128i)(index), \
4030
(__v2di)(__m128i)(v1), (int)(scale)); })
4031
4032
#define _mm_mask_i32scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
4033
__builtin_ia32_scattersiv2di((long long *)(addr), (__mmask8)(mask), \
4034
(__v4si)(__m128i)(index), \
4035
(__v2di)(__m128i)(v1), (int)(scale)); })
4036
4037
#define _mm256_i32scatter_pd(addr, index, v1, scale) __extension__ ({ \
4038
__builtin_ia32_scattersiv4df((double *)(addr), (__mmask8)-1, \
4039
(__v4si)(__m128i)(index), \
4040
(__v4df)(__m256d)(v1), (int)(scale)); })
4041
4042
#define _mm256_mask_i32scatter_pd(addr, mask, index, v1, scale) __extension__ ({ \
4043
__builtin_ia32_scattersiv4df((double *)(addr), (__mmask8)(mask), \
4044
(__v4si)(__m128i)(index), \
4045
(__v4df)(__m256d)(v1), (int)(scale)); })
4046
4047
#define _mm256_i32scatter_epi64(addr, index, v1, scale) __extension__ ({ \
4048
__builtin_ia32_scattersiv4di((long long *)(addr), (__mmask8)-1, \
4049
(__v4si)(__m128i)(index), \
4050
(__v4di)(__m256i)(v1), (int)(scale)); })
4051
4052
#define _mm256_mask_i32scatter_epi64(addr, mask, index, v1, scale) __extension__ ({ \
4053
__builtin_ia32_scattersiv4di((long long *)(addr), (__mmask8)(mask), \
4054
(__v4si)(__m128i)(index), \
4055
(__v4di)(__m256i)(v1), (int)(scale)); })
4056
4057
#define _mm_i32scatter_ps(addr, index, v1, scale) __extension__ ({ \
4058
__builtin_ia32_scattersiv4sf((float *)(addr), (__mmask8)-1, \
4059
(__v4si)(__m128i)(index), (__v4sf)(__m128)(v1), \
4060
(int)(scale)); })
4061
4062
#define _mm_mask_i32scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
4063
__builtin_ia32_scattersiv4sf((float *)(addr), (__mmask8)(mask), \
4064
(__v4si)(__m128i)(index), (__v4sf)(__m128)(v1), \
4065
(int)(scale)); })
4066
4067
#define _mm_i32scatter_epi32(addr, index, v1, scale) __extension__ ({ \
4068
__builtin_ia32_scattersiv4si((int *)(addr), (__mmask8)-1, \
4069
(__v4si)(__m128i)(index), \
4070
(__v4si)(__m128i)(v1), (int)(scale)); })
4071
4072
#define _mm_mask_i32scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
4073
__builtin_ia32_scattersiv4si((int *)(addr), (__mmask8)(mask), \
4074
(__v4si)(__m128i)(index), \
4075
(__v4si)(__m128i)(v1), (int)(scale)); })
4076
4077
#define _mm256_i32scatter_ps(addr, index, v1, scale) __extension__ ({ \
4078
__builtin_ia32_scattersiv8sf((float *)(addr), (__mmask8)-1, \
4079
(__v8si)(__m256i)(index), (__v8sf)(__m256)(v1), \
4080
(int)(scale)); })
4081
4082
#define _mm256_mask_i32scatter_ps(addr, mask, index, v1, scale) __extension__ ({ \
4083
__builtin_ia32_scattersiv8sf((float *)(addr), (__mmask8)(mask), \
4084
(__v8si)(__m256i)(index), (__v8sf)(__m256)(v1), \
4085
(int)(scale)); })
4086
4087
#define _mm256_i32scatter_epi32(addr, index, v1, scale) __extension__ ({ \
4088
__builtin_ia32_scattersiv8si((int *)(addr), (__mmask8)-1, \
4089
(__v8si)(__m256i)(index), \
4090
(__v8si)(__m256i)(v1), (int)(scale)); })
4091
4092
#define _mm256_mask_i32scatter_epi32(addr, mask, index, v1, scale) __extension__ ({ \
4093
__builtin_ia32_scattersiv8si((int *)(addr), (__mmask8)(mask), \
4094
(__v8si)(__m256i)(index), \
4095
(__v8si)(__m256i)(v1), (int)(scale)); })
4096
4097
static __inline__ __m128d __DEFAULT_FN_ATTRS
4098
_mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A) {
4099
return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
4100
(__v2df) __W,
4101
(__mmask8) __U);
4102
}
4103
4104
static __inline__ __m128d __DEFAULT_FN_ATTRS
4105
_mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A) {
4106
return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
4107
(__v2df)
4108
_mm_setzero_pd (),
4109
(__mmask8) __U);
4110
}
4111
4112
static __inline__ __m256d __DEFAULT_FN_ATTRS
4113
_mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A) {
4114
return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
4115
(__v4df) __W,
4116
(__mmask8) __U);
4117
}
4118
4119
static __inline__ __m256d __DEFAULT_FN_ATTRS
4120
_mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A) {
4121
return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
4122
(__v4df)
4123
_mm256_setzero_pd (),
4124
(__mmask8) __U);
4125
}
4126
4127
static __inline__ __m128 __DEFAULT_FN_ATTRS
4128
_mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A) {
4129
return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
4130
(__v4sf) __W,
4131
(__mmask8) __U);
4132
}
4133
4134
static __inline__ __m128 __DEFAULT_FN_ATTRS
4135
_mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A) {
4136
return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
4137
(__v4sf)
4138
_mm_setzero_ps (),
4139
(__mmask8) __U);
4140
}
4141
4142
static __inline__ __m256 __DEFAULT_FN_ATTRS
4143
_mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A) {
4144
return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
4145
(__v8sf) __W,
4146
(__mmask8) __U);
4147
}
4148
4149
static __inline__ __m256 __DEFAULT_FN_ATTRS
4150
_mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A) {
4151
return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
4152
(__v8sf)
4153
_mm256_setzero_ps (),
4154
(__mmask8) __U);
4155
}
4156
4157
static __inline__ __m128d __DEFAULT_FN_ATTRS
4158
_mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
4159
return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
4160
(__v2df) __B,
4161
(__v2df) __W,
4162
(__mmask8) __U);
4163
}
4164
4165
static __inline__ __m128d __DEFAULT_FN_ATTRS
4166
_mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B) {
4167
return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
4168
(__v2df) __B,
4169
(__v2df)
4170
_mm_setzero_pd (),
4171
(__mmask8) __U);
4172
}
4173
4174
static __inline__ __m256d __DEFAULT_FN_ATTRS
4175
_mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A,
4176
__m256d __B) {
4177
return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
4178
(__v4df) __B,
4179
(__v4df) __W,
4180
(__mmask8) __U);
4181
}
4182
4183
static __inline__ __m256d __DEFAULT_FN_ATTRS
4184
_mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B) {
4185
return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
4186
(__v4df) __B,
4187
(__v4df)
4188
_mm256_setzero_pd (),
4189
(__mmask8) __U);
4190
}
4191
4192
static __inline__ __m128 __DEFAULT_FN_ATTRS
4193
_mm_mask_sub_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
4194
return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
4195
(__v4sf) __B,
4196
(__v4sf) __W,
4197
(__mmask8) __U);
4198
}
4199
4200
static __inline__ __m128 __DEFAULT_FN_ATTRS
4201
_mm_maskz_sub_ps (__mmask16 __U, __m128 __A, __m128 __B) {
4202
return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
4203
(__v4sf) __B,
4204
(__v4sf)
4205
_mm_setzero_ps (),
4206
(__mmask8) __U);
4207
}
4208
4209
static __inline__ __m256 __DEFAULT_FN_ATTRS
4210
_mm256_mask_sub_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
4211
return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
4212
(__v8sf) __B,
4213
(__v8sf) __W,
4214
(__mmask8) __U);
4215
}
4216
4217
static __inline__ __m256 __DEFAULT_FN_ATTRS
4218
_mm256_maskz_sub_ps (__mmask16 __U, __m256 __A, __m256 __B) {
4219
return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
4220
(__v8sf) __B,
4221
(__v8sf)
4222
_mm256_setzero_ps (),
4223
(__mmask8) __U);
4224
}
4225
4226
static __inline__ __m128i __DEFAULT_FN_ATTRS
4227
_mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
4228
__m128i __B) {
4229
return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
4230
(__v4si) __I
4231
/* idx */ ,
4232
(__v4si) __B,
4233
(__mmask8) __U);
4234
}
4235
4236
static __inline__ __m256i __DEFAULT_FN_ATTRS
4237
_mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
4238
__mmask8 __U, __m256i __B) {
4239
return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
4240
(__v8si) __I
4241
/* idx */ ,
4242
(__v8si) __B,
4243
(__mmask8) __U);
4244
}
4245
4246
static __inline__ __m128d __DEFAULT_FN_ATTRS
4247
_mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
4248
__m128d __B) {
4249
return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
4250
(__v2di) __I
4251
/* idx */ ,
4252
(__v2df) __B,
4253
(__mmask8)
4254
__U);
4255
}
4256
4257
static __inline__ __m256d __DEFAULT_FN_ATTRS
4258
_mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
4259
__m256d __B) {
4260
return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
4261
(__v4di) __I
4262
/* idx */ ,
4263
(__v4df) __B,
4264
(__mmask8)
4265
__U);
4266
}
4267
4268
static __inline__ __m128 __DEFAULT_FN_ATTRS
4269
_mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
4270
__m128 __B) {
4271
return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
4272
(__v4si) __I
4273
/* idx */ ,
4274
(__v4sf) __B,
4275
(__mmask8) __U);
4276
}
4277
4278
static __inline__ __m256 __DEFAULT_FN_ATTRS
4279
_mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
4280
__m256 __B) {
4281
return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
4282
(__v8si) __I
4283
/* idx */ ,
4284
(__v8sf) __B,
4285
(__mmask8) __U);
4286
}
4287
4288
static __inline__ __m128i __DEFAULT_FN_ATTRS
4289
_mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
4290
__m128i __B) {
4291
return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
4292
(__v2di) __I
4293
/* idx */ ,
4294
(__v2di) __B,
4295
(__mmask8) __U);
4296
}
4297
4298
static __inline__ __m256i __DEFAULT_FN_ATTRS
4299
_mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
4300
__mmask8 __U, __m256i __B) {
4301
return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
4302
(__v4di) __I
4303
/* idx */ ,
4304
(__v4di) __B,
4305
(__mmask8) __U);
4306
}
4307
4308
static __inline__ __m128i __DEFAULT_FN_ATTRS
4309
_mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B) {
4310
return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
4311
/* idx */ ,
4312
(__v4si) __A,
4313
(__v4si) __B,
4314
(__mmask8) -1);
4315
}
4316
4317
static __inline__ __m128i __DEFAULT_FN_ATTRS
4318
_mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
4319
__m128i __B) {
4320
return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
4321
/* idx */ ,
4322
(__v4si) __A,
4323
(__v4si) __B,
4324
(__mmask8) __U);
4325
}
4326
4327
static __inline__ __m128i __DEFAULT_FN_ATTRS
4328
_mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
4329
__m128i __B) {
4330
return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
4331
/* idx */ ,
4332
(__v4si) __A,
4333
(__v4si) __B,
4334
(__mmask8)
4335
__U);
4336
}
4337
4338
static __inline__ __m256i __DEFAULT_FN_ATTRS
4339
_mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B) {
4340
return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
4341
/* idx */ ,
4342
(__v8si) __A,
4343
(__v8si) __B,
4344
(__mmask8) -1);
4345
}
4346
4347
static __inline__ __m256i __DEFAULT_FN_ATTRS
4348
_mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
4349
__m256i __B) {
4350
return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
4351
/* idx */ ,
4352
(__v8si) __A,
4353
(__v8si) __B,
4354
(__mmask8) __U);
4355
}
4356
4357
static __inline__ __m256i __DEFAULT_FN_ATTRS
4358
_mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
4359
__m256i __I, __m256i __B) {
4360
return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
4361
/* idx */ ,
4362
(__v8si) __A,
4363
(__v8si) __B,
4364
(__mmask8)
4365
__U);
4366
}
4367
4368
static __inline__ __m128d __DEFAULT_FN_ATTRS
4369
_mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B) {
4370
return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
4371
/* idx */ ,
4372
(__v2df) __A,
4373
(__v2df) __B,
4374
(__mmask8) -
4375
1);
4376
}
4377
4378
static __inline__ __m128d __DEFAULT_FN_ATTRS
4379
_mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
4380
__m128d __B) {
4381
return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
4382
/* idx */ ,
4383
(__v2df) __A,
4384
(__v2df) __B,
4385
(__mmask8)
4386
__U);
4387
}
4388
4389
static __inline__ __m128d __DEFAULT_FN_ATTRS
4390
_mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
4391
__m128d __B) {
4392
return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
4393
/* idx */ ,
4394
(__v2df) __A,
4395
(__v2df) __B,
4396
(__mmask8)
4397
__U);
4398
}
4399
4400
static __inline__ __m256d __DEFAULT_FN_ATTRS
4401
_mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B) {
4402
return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
4403
/* idx */ ,
4404
(__v4df) __A,
4405
(__v4df) __B,
4406
(__mmask8) -
4407
1);
4408
}
4409
4410
static __inline__ __m256d __DEFAULT_FN_ATTRS
4411
_mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
4412
__m256d __B) {
4413
return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
4414
/* idx */ ,
4415
(__v4df) __A,
4416
(__v4df) __B,
4417
(__mmask8)
4418
__U);
4419
}
4420
4421
static __inline__ __m256d __DEFAULT_FN_ATTRS
4422
_mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
4423
__m256d __B) {
4424
return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
4425
/* idx */ ,
4426
(__v4df) __A,
4427
(__v4df) __B,
4428
(__mmask8)
4429
__U);
4430
}
4431
4432
static __inline__ __m128 __DEFAULT_FN_ATTRS
4433
_mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B) {
4434
return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
4435
/* idx */ ,
4436
(__v4sf) __A,
4437
(__v4sf) __B,
4438
(__mmask8) -1);
4439
}
4440
4441
static __inline__ __m128 __DEFAULT_FN_ATTRS
4442
_mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
4443
__m128 __B) {
4444
return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
4445
/* idx */ ,
4446
(__v4sf) __A,
4447
(__v4sf) __B,
4448
(__mmask8) __U);
4449
}
4450
4451
static __inline__ __m128 __DEFAULT_FN_ATTRS
4452
_mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
4453
__m128 __B) {
4454
return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
4455
/* idx */ ,
4456
(__v4sf) __A,
4457
(__v4sf) __B,
4458
(__mmask8)
4459
__U);
4460
}
4461
4462
static __inline__ __m256 __DEFAULT_FN_ATTRS
4463
_mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B) {
4464
return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
4465
/* idx */ ,
4466
(__v8sf) __A,
4467
(__v8sf) __B,
4468
(__mmask8) -1);
4469
}
4470
4471
static __inline__ __m256 __DEFAULT_FN_ATTRS
4472
_mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
4473
__m256 __B) {
4474
return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
4475
/* idx */ ,
4476
(__v8sf) __A,
4477
(__v8sf) __B,
4478
(__mmask8) __U);
4479
}
4480
4481
static __inline__ __m256 __DEFAULT_FN_ATTRS
4482
_mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
4483
__m256 __B) {
4484
return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
4485
/* idx */ ,
4486
(__v8sf) __A,
4487
(__v8sf) __B,
4488
(__mmask8)
4489
__U);
4490
}
4491
4492
static __inline__ __m128i __DEFAULT_FN_ATTRS
4493
_mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B) {
4494
return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
4495
/* idx */ ,
4496
(__v2di) __A,
4497
(__v2di) __B,
4498
(__mmask8) -1);
4499
}
4500
4501
static __inline__ __m128i __DEFAULT_FN_ATTRS
4502
_mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
4503
__m128i __B) {
4504
return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
4505
/* idx */ ,
4506
(__v2di) __A,
4507
(__v2di) __B,
4508
(__mmask8) __U);
4509
}
4510
4511
static __inline__ __m128i __DEFAULT_FN_ATTRS
4512
_mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
4513
__m128i __B) {
4514
return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
4515
/* idx */ ,
4516
(__v2di) __A,
4517
(__v2di) __B,
4518
(__mmask8)
4519
__U);
4520
}
4521
4522
4523
static __inline__ __m256i __DEFAULT_FN_ATTRS
4524
_mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B) {
4525
return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
4526
/* idx */ ,
4527
(__v4di) __A,
4528
(__v4di) __B,
4529
(__mmask8) -1);
4530
}
4531
4532
static __inline__ __m256i __DEFAULT_FN_ATTRS
4533
_mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
4534
__m256i __B) {
4535
return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
4536
/* idx */ ,
4537
(__v4di) __A,
4538
(__v4di) __B,
4539
(__mmask8) __U);
4540
}
4541
4542
static __inline__ __m256i __DEFAULT_FN_ATTRS
4543
_mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
4544
__m256i __I, __m256i __B) {
4545
return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
4546
/* idx */ ,
4547
(__v4di) __A,
4548
(__v4di) __B,
4549
(__mmask8)
4550
__U);
4551
}
4552
4553
static __inline__ __m128i __DEFAULT_FN_ATTRS
4554
_mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4555
{
4556
return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
4557
(__v4si) __W,
4558
(__mmask8) __U);
4559
}
4560
4561
static __inline__ __m128i __DEFAULT_FN_ATTRS
4562
_mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
4563
{
4564
return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
4565
(__v4si)
4566
_mm_setzero_si128 (),
4567
(__mmask8) __U);
4568
}
4569
4570
static __inline__ __m256i __DEFAULT_FN_ATTRS
4571
_mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4572
{
4573
return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
4574
(__v8si) __W,
4575
(__mmask8) __U);
4576
}
4577
4578
static __inline__ __m256i __DEFAULT_FN_ATTRS
4579
_mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
4580
{
4581
return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
4582
(__v8si)
4583
_mm256_setzero_si256 (),
4584
(__mmask8) __U);
4585
}
4586
4587
static __inline__ __m128i __DEFAULT_FN_ATTRS
4588
_mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4589
{
4590
return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
4591
(__v2di) __W,
4592
(__mmask8) __U);
4593
}
4594
4595
static __inline__ __m128i __DEFAULT_FN_ATTRS
4596
_mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
4597
{
4598
return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
4599
(__v2di)
4600
_mm_setzero_si128 (),
4601
(__mmask8) __U);
4602
}
4603
4604
static __inline__ __m256i __DEFAULT_FN_ATTRS
4605
_mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4606
{
4607
return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
4608
(__v4di) __W,
4609
(__mmask8) __U);
4610
}
4611
4612
static __inline__ __m256i __DEFAULT_FN_ATTRS
4613
_mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
4614
{
4615
return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
4616
(__v4di)
4617
_mm256_setzero_si256 (),
4618
(__mmask8) __U);
4619
}
4620
4621
static __inline__ __m128i __DEFAULT_FN_ATTRS
4622
_mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
4623
{
4624
return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
4625
(__v2di) __W,
4626
(__mmask8) __U);
4627
}
4628
4629
static __inline__ __m128i __DEFAULT_FN_ATTRS
4630
_mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
4631
{
4632
return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
4633
(__v2di)
4634
_mm_setzero_si128 (),
4635
(__mmask8) __U);
4636
}
4637
4638
static __inline__ __m256i __DEFAULT_FN_ATTRS
4639
_mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
4640
{
4641
return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
4642
(__v4di) __W,
4643
(__mmask8) __U);
4644
}
4645
4646
static __inline__ __m256i __DEFAULT_FN_ATTRS
4647
_mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
4648
{
4649
return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
4650
(__v4di)
4651
_mm256_setzero_si256 (),
4652
(__mmask8) __U);
4653
}
4654
4655
static __inline__ __m128i __DEFAULT_FN_ATTRS
4656
_mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4657
{
4658
return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
4659
(__v4si) __W,
4660
(__mmask8) __U);
4661
}
4662
4663
static __inline__ __m128i __DEFAULT_FN_ATTRS
4664
_mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
4665
{
4666
return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
4667
(__v4si)
4668
_mm_setzero_si128 (),
4669
(__mmask8) __U);
4670
}
4671
4672
static __inline__ __m256i __DEFAULT_FN_ATTRS
4673
_mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4674
{
4675
return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
4676
(__v8si) __W,
4677
(__mmask8) __U);
4678
}
4679
4680
static __inline__ __m256i __DEFAULT_FN_ATTRS
4681
_mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
4682
{
4683
return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
4684
(__v8si)
4685
_mm256_setzero_si256 (),
4686
(__mmask8) __U);
4687
}
4688
4689
static __inline__ __m128i __DEFAULT_FN_ATTRS
4690
_mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4691
{
4692
return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
4693
(__v2di) __W,
4694
(__mmask8) __U);
4695
}
4696
4697
static __inline__ __m128i __DEFAULT_FN_ATTRS
4698
_mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
4699
{
4700
return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
4701
(__v2di)
4702
_mm_setzero_si128 (),
4703
(__mmask8) __U);
4704
}
4705
4706
static __inline__ __m256i __DEFAULT_FN_ATTRS
4707
_mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4708
{
4709
return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
4710
(__v4di) __W,
4711
(__mmask8) __U);
4712
}
4713
4714
static __inline__ __m256i __DEFAULT_FN_ATTRS
4715
_mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
4716
{
4717
return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
4718
(__v4di)
4719
_mm256_setzero_si256 (),
4720
(__mmask8) __U);
4721
}
4722
4723
4724
static __inline__ __m128i __DEFAULT_FN_ATTRS
4725
_mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4726
{
4727
return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
4728
(__v4si) __W,
4729
(__mmask8) __U);
4730
}
4731
4732
static __inline__ __m128i __DEFAULT_FN_ATTRS
4733
_mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
4734
{
4735
return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
4736
(__v4si)
4737
_mm_setzero_si128 (),
4738
(__mmask8) __U);
4739
}
4740
4741
static __inline__ __m256i __DEFAULT_FN_ATTRS
4742
_mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4743
{
4744
return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
4745
(__v8si) __W,
4746
(__mmask8) __U);
4747
}
4748
4749
static __inline__ __m256i __DEFAULT_FN_ATTRS
4750
_mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
4751
{
4752
return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
4753
(__v8si)
4754
_mm256_setzero_si256 (),
4755
(__mmask8) __U);
4756
}
4757
4758
static __inline__ __m128i __DEFAULT_FN_ATTRS
4759
_mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4760
{
4761
return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
4762
(__v2di) __W,
4763
(__mmask8) __U);
4764
}
4765
4766
static __inline__ __m128i __DEFAULT_FN_ATTRS
4767
_mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
4768
{
4769
return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
4770
(__v2di)
4771
_mm_setzero_si128 (),
4772
(__mmask8) __U);
4773
}
4774
4775
static __inline__ __m256i __DEFAULT_FN_ATTRS
4776
_mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4777
{
4778
return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
4779
(__v4di) __W,
4780
(__mmask8) __U);
4781
}
4782
4783
static __inline__ __m256i __DEFAULT_FN_ATTRS
4784
_mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
4785
{
4786
return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
4787
(__v4di)
4788
_mm256_setzero_si256 (),
4789
(__mmask8) __U);
4790
}
4791
4792
static __inline__ __m128i __DEFAULT_FN_ATTRS
4793
_mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
4794
{
4795
return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
4796
(__v2di) __W,
4797
(__mmask8) __U);
4798
}
4799
4800
static __inline__ __m128i __DEFAULT_FN_ATTRS
4801
_mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
4802
{
4803
return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
4804
(__v2di)
4805
_mm_setzero_si128 (),
4806
(__mmask8) __U);
4807
}
4808
4809
static __inline__ __m256i __DEFAULT_FN_ATTRS
4810
_mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
4811
{
4812
return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
4813
(__v4di) __W,
4814
(__mmask8) __U);
4815
}
4816
4817
static __inline__ __m256i __DEFAULT_FN_ATTRS
4818
_mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
4819
{
4820
return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
4821
(__v4di)
4822
_mm256_setzero_si256 (),
4823
(__mmask8) __U);
4824
}
4825
4826
static __inline__ __m128i __DEFAULT_FN_ATTRS
4827
_mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
4828
{
4829
return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
4830
(__v4si) __W,
4831
(__mmask8) __U);
4832
}
4833
4834
static __inline__ __m128i __DEFAULT_FN_ATTRS
4835
_mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
4836
{
4837
return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
4838
(__v4si)
4839
_mm_setzero_si128 (),
4840
(__mmask8) __U);
4841
}
4842
4843
static __inline__ __m256i __DEFAULT_FN_ATTRS
4844
_mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
4845
{
4846
return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
4847
(__v8si) __W,
4848
(__mmask8) __U);
4849
}
4850
4851
static __inline__ __m256i __DEFAULT_FN_ATTRS
4852
_mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
4853
{
4854
return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
4855
(__v8si)
4856
_mm256_setzero_si256 (),
4857
(__mmask8) __U);
4858
}
4859
4860
static __inline__ __m128i __DEFAULT_FN_ATTRS
4861
_mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
4862
{
4863
return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
4864
(__v2di) __W,
4865
(__mmask8) __U);
4866
}
4867
4868
static __inline__ __m128i __DEFAULT_FN_ATTRS
4869
_mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
4870
{
4871
return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
4872
(__v2di)
4873
_mm_setzero_si128 (),
4874
(__mmask8) __U);
4875
}
4876
4877
static __inline__ __m256i __DEFAULT_FN_ATTRS
4878
_mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
4879
{
4880
return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
4881
(__v4di) __W,
4882
(__mmask8) __U);
4883
}
4884
4885
static __inline__ __m256i __DEFAULT_FN_ATTRS
4886
_mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
4887
{
4888
return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
4889
(__v4di)
4890
_mm256_setzero_si256 (),
4891
(__mmask8) __U);
4892
}
4893
4894
4895
#define _mm_rol_epi32(a, b) __extension__ ({\
4896
(__m128i)__builtin_ia32_prold128_mask((__v4si)(__m128i)(a), (int)(b), \
4897
(__v4si)_mm_setzero_si128(), \
4898
(__mmask8)-1); })
4899
4900
#define _mm_mask_rol_epi32(w, u, a, b) __extension__ ({\
4901
(__m128i)__builtin_ia32_prold128_mask((__v4si)(__m128i)(a), (int)(b), \
4902
(__v4si)(__m128i)(w), (__mmask8)(u)); })
4903
4904
#define _mm_maskz_rol_epi32(u, a, b) __extension__ ({\
4905
(__m128i)__builtin_ia32_prold128_mask((__v4si)(__m128i)(a), (int)(b), \
4906
(__v4si)_mm_setzero_si128(), \
4907
(__mmask8)(u)); })
4908
4909
#define _mm256_rol_epi32(a, b) __extension__ ({\
4910
(__m256i)__builtin_ia32_prold256_mask((__v8si)(__m256i)(a), (int)(b), \
4911
(__v8si)_mm256_setzero_si256(), \
4912
(__mmask8)-1); })
4913
4914
#define _mm256_mask_rol_epi32(w, u, a, b) __extension__ ({\
4915
(__m256i)__builtin_ia32_prold256_mask((__v8si)(__m256i)(a), (int)(b), \
4916
(__v8si)(__m256i)(w), (__mmask8)(u)); })
4917
4918
#define _mm256_maskz_rol_epi32(u, a, b) __extension__ ({\
4919
(__m256i)__builtin_ia32_prold256_mask((__v8si)(__m256i)(a), (int)(b), \
4920
(__v8si)_mm256_setzero_si256(), \
4921
(__mmask8)(u)); })
4922
4923
#define _mm_rol_epi64(a, b) __extension__ ({\
4924
(__m128i)__builtin_ia32_prolq128_mask((__v2di)(__m128i)(a), (int)(b), \
4925
(__v2di)_mm_setzero_di(), \
4926
(__mmask8)-1); })
4927
4928
#define _mm_mask_rol_epi64(w, u, a, b) __extension__ ({\
4929
(__m128i)__builtin_ia32_prolq128_mask((__v2di)(__m128i)(a), (int)(b), \
4930
(__v2di)(__m128i)(w), (__mmask8)(u)); })
4931
4932
#define _mm_maskz_rol_epi64(u, a, b) __extension__ ({\
4933
(__m128i)__builtin_ia32_prolq128_mask((__v2di)(__m128i)(a), (int)(b), \
4934
(__v2di)_mm_setzero_di(), \
4935
(__mmask8)(u)); })
4936
4937
#define _mm256_rol_epi64(a, b) __extension__ ({\
4938
(__m256i)__builtin_ia32_prolq256_mask((__v4di)(__m256i)(a), (int)(b), \
4939
(__v4di)_mm256_setzero_si256(), \
4940
(__mmask8)-1); })
4941
4942
#define _mm256_mask_rol_epi64(w, u, a, b) __extension__ ({\
4943
(__m256i)__builtin_ia32_prolq256_mask((__v4di)(__m256i)(a), (int)(b), \
4944
(__v4di)(__m256i)(w), (__mmask8)(u)); })
4945
4946
#define _mm256_maskz_rol_epi64(u, a, b) __extension__ ({\
4947
(__m256i)__builtin_ia32_prolq256_mask((__v4di)(__m256i)(a), (int)(b), \
4948
(__v4di)_mm256_setzero_si256(), \
4949
(__mmask8)(u)); })
4950
4951
static __inline__ __m128i __DEFAULT_FN_ATTRS
4952
_mm_rolv_epi32 (__m128i __A, __m128i __B)
4953
{
4954
return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
4955
(__v4si) __B,
4956
(__v4si)
4957
_mm_setzero_si128 (),
4958
(__mmask8) -1);
4959
}
4960
4961
static __inline__ __m128i __DEFAULT_FN_ATTRS
4962
_mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
4963
__m128i __B)
4964
{
4965
return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
4966
(__v4si) __B,
4967
(__v4si) __W,
4968
(__mmask8) __U);
4969
}
4970
4971
static __inline__ __m128i __DEFAULT_FN_ATTRS
4972
_mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
4973
{
4974
return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
4975
(__v4si) __B,
4976
(__v4si)
4977
_mm_setzero_si128 (),
4978
(__mmask8) __U);
4979
}
4980
4981
static __inline__ __m256i __DEFAULT_FN_ATTRS
4982
_mm256_rolv_epi32 (__m256i __A, __m256i __B)
4983
{
4984
return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
4985
(__v8si) __B,
4986
(__v8si)
4987
_mm256_setzero_si256 (),
4988
(__mmask8) -1);
4989
}
4990
4991
static __inline__ __m256i __DEFAULT_FN_ATTRS
4992
_mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
4993
__m256i __B)
4994
{
4995
return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
4996
(__v8si) __B,
4997
(__v8si) __W,
4998
(__mmask8) __U);
4999
}
5000
5001
static __inline__ __m256i __DEFAULT_FN_ATTRS
5002
_mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5003
{
5004
return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
5005
(__v8si) __B,
5006
(__v8si)
5007
_mm256_setzero_si256 (),
5008
(__mmask8) __U);
5009
}
5010
5011
static __inline__ __m128i __DEFAULT_FN_ATTRS
5012
_mm_rolv_epi64 (__m128i __A, __m128i __B)
5013
{
5014
return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
5015
(__v2di) __B,
5016
(__v2di)
5017
_mm_setzero_di (),
5018
(__mmask8) -1);
5019
}
5020
5021
static __inline__ __m128i __DEFAULT_FN_ATTRS
5022
_mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5023
__m128i __B)
5024
{
5025
return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
5026
(__v2di) __B,
5027
(__v2di) __W,
5028
(__mmask8) __U);
5029
}
5030
5031
static __inline__ __m128i __DEFAULT_FN_ATTRS
5032
_mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5033
{
5034
return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
5035
(__v2di) __B,
5036
(__v2di)
5037
_mm_setzero_di (),
5038
(__mmask8) __U);
5039
}
5040
5041
static __inline__ __m256i __DEFAULT_FN_ATTRS
5042
_mm256_rolv_epi64 (__m256i __A, __m256i __B)
5043
{
5044
return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
5045
(__v4di) __B,
5046
(__v4di)
5047
_mm256_setzero_si256 (),
5048
(__mmask8) -1);
5049
}
5050
5051
static __inline__ __m256i __DEFAULT_FN_ATTRS
5052
_mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5053
__m256i __B)
5054
{
5055
return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
5056
(__v4di) __B,
5057
(__v4di) __W,
5058
(__mmask8) __U);
5059
}
5060
5061
static __inline__ __m256i __DEFAULT_FN_ATTRS
5062
_mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5063
{
5064
return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
5065
(__v4di) __B,
5066
(__v4di)
5067
_mm256_setzero_si256 (),
5068
(__mmask8) __U);
5069
}
5070
5071
#define _mm_ror_epi32(A, B) __extension__ ({ \
5072
(__m128i)__builtin_ia32_prord128_mask((__v4si)(__m128i)(A), (int)(B), \
5073
(__v4si)_mm_setzero_si128(), \
5074
(__mmask8)-1); })
5075
5076
#define _mm_mask_ror_epi32(W, U, A, B) __extension__ ({ \
5077
(__m128i)__builtin_ia32_prord128_mask((__v4si)(__m128i)(A), (int)(B), \
5078
(__v4si)(__m128i)(W), (__mmask8)(U)); })
5079
5080
#define _mm_maskz_ror_epi32(U, A, B) __extension__ ({ \
5081
(__m128i)__builtin_ia32_prord128_mask((__v4si)(__m128i)(A), (int)(B), \
5082
(__v4si)_mm_setzero_si128(), \
5083
(__mmask8)(U)); })
5084
5085
#define _mm256_ror_epi32(A, B) __extension__ ({ \
5086
(__m256i)__builtin_ia32_prord256_mask((__v8si)(__m256i)(A), (int)(B), \
5087
(__v8si)_mm256_setzero_si256(), \
5088
(__mmask8)-1); })
5089
5090
#define _mm256_mask_ror_epi32(W, U, A, B) __extension__ ({ \
5091
(__m256i)__builtin_ia32_prord256_mask((__v8si)(__m256i)(A), (int)(B), \
5092
(__v8si)(__m256i)(W), (__mmask8)(U)); })
5093
5094
#define _mm256_maskz_ror_epi32(U, A, B) __extension__ ({ \
5095
(__m256i)__builtin_ia32_prord256_mask((__v8si)(__m256i)(A), (int)(B), \
5096
(__v8si)_mm256_setzero_si256(), \
5097
(__mmask8)(U)); })
5098
5099
#define _mm_ror_epi64(A, B) __extension__ ({ \
5100
(__m128i)__builtin_ia32_prorq128_mask((__v2di)(__m128i)(A), (int)(B), \
5101
(__v2di)_mm_setzero_di(), \
5102
(__mmask8)-1); })
5103
5104
#define _mm_mask_ror_epi64(W, U, A, B) __extension__ ({ \
5105
(__m128i)__builtin_ia32_prorq128_mask((__v2di)(__m128i)(A), (int)(B), \
5106
(__v2di)(__m128i)(W), (__mmask8)(U)); })
5107
5108
#define _mm_maskz_ror_epi64(U, A, B) __extension__ ({ \
5109
(__m128i)__builtin_ia32_prorq128_mask((__v2di)(__m128i)(A), (int)(B), \
5110
(__v2di)_mm_setzero_di(), \
5111
(__mmask8)(U)); })
5112
5113
#define _mm256_ror_epi64(A, B) __extension__ ({ \
5114
(__m256i)__builtin_ia32_prorq256_mask((__v4di)(__m256i)(A), (int)(B), \
5115
(__v4di)_mm256_setzero_si256(), \
5116
(__mmask8)-1); })
5117
5118
#define _mm256_mask_ror_epi64(W, U, A, B) __extension__ ({ \
5119
(__m256i)__builtin_ia32_prorq256_mask((__v4di)(__m256i)(A), (int)(B), \
5120
(__v4di)(__m256i)(W), (__mmask8)(U)); })
5121
5122
#define _mm256_maskz_ror_epi64(U, A, B) __extension__ ({ \
5123
(__m256i)__builtin_ia32_prorq256_mask((__v4di)(__m256i)(A), (int)(B), \
5124
(__v4di)_mm256_setzero_si256(), \
5125
(__mmask8)(U)); })
5126
5127
static __inline__ __m128i __DEFAULT_FN_ATTRS
5128
_mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5129
__m128i __B)
5130
{
5131
return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
5132
(__v4si) __B,
5133
(__v4si) __W,
5134
(__mmask8) __U);
5135
}
5136
5137
static __inline__ __m128i __DEFAULT_FN_ATTRS
5138
_mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5139
{
5140
return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
5141
(__v4si) __B,
5142
(__v4si)
5143
_mm_setzero_si128 (),
5144
(__mmask8) __U);
5145
}
5146
5147
static __inline__ __m256i __DEFAULT_FN_ATTRS
5148
_mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5149
__m128i __B)
5150
{
5151
return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
5152
(__v4si) __B,
5153
(__v8si) __W,
5154
(__mmask8) __U);
5155
}
5156
5157
static __inline__ __m256i __DEFAULT_FN_ATTRS
5158
_mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
5159
{
5160
return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
5161
(__v4si) __B,
5162
(__v8si)
5163
_mm256_setzero_si256 (),
5164
(__mmask8) __U);
5165
}
5166
5167
#define _mm_mask_slli_epi32(W, U, A, B) __extension__ ({ \
5168
(__m128i)__builtin_ia32_pslldi128_mask((__v4si)(__m128i)(A), (int)(B), \
5169
(__v4si)(__m128i)(W), \
5170
(__mmask8)(U)); })
5171
5172
#define _mm_maskz_slli_epi32(U, A, B) __extension__ ({ \
5173
(__m128i)__builtin_ia32_pslldi128_mask((__v4si)(__m128i)(A), (int)(B), \
5174
(__v4si)_mm_setzero_si128(), \
5175
(__mmask8)(U)); })
5176
5177
#define _mm256_mask_slli_epi32(W, U, A, B) __extension__ ({ \
5178
(__m256i)__builtin_ia32_pslldi256_mask((__v8si)(__m256i)(A), (int)(B), \
5179
(__v8si)(__m256i)(W), \
5180
(__mmask8)(U)); })
5181
5182
#define _mm256_maskz_slli_epi32(U, A, B) __extension__ ({ \
5183
(__m256i)__builtin_ia32_pslldi256_mask((__v8si)(__m256i)(A), (int)(B), \
5184
(__v8si)_mm256_setzero_si256(), \
5185
(__mmask8)(U)); })
5186
5187
static __inline__ __m128i __DEFAULT_FN_ATTRS
5188
_mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5189
__m128i __B)
5190
{
5191
return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
5192
(__v2di) __B,
5193
(__v2di) __W,
5194
(__mmask8) __U);
5195
}
5196
5197
static __inline__ __m128i __DEFAULT_FN_ATTRS
5198
_mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5199
{
5200
return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
5201
(__v2di) __B,
5202
(__v2di)
5203
_mm_setzero_di (),
5204
(__mmask8) __U);
5205
}
5206
5207
static __inline__ __m256i __DEFAULT_FN_ATTRS
5208
_mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5209
__m128i __B)
5210
{
5211
return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
5212
(__v2di) __B,
5213
(__v4di) __W,
5214
(__mmask8) __U);
5215
}
5216
5217
static __inline__ __m256i __DEFAULT_FN_ATTRS
5218
_mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
5219
{
5220
return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
5221
(__v2di) __B,
5222
(__v4di)
5223
_mm256_setzero_si256 (),
5224
(__mmask8) __U);
5225
}
5226
5227
#define _mm_mask_slli_epi64(W, U, A, B) __extension__ ({ \
5228
(__m128i)__builtin_ia32_psllqi128_mask((__v2di)(__m128i)(A), (int)(B), \
5229
(__v2di)(__m128i)(W), \
5230
(__mmask8)(U)); })
5231
5232
#define _mm_maskz_slli_epi64(U, A, B) __extension__ ({ \
5233
(__m128i)__builtin_ia32_psllqi128_mask((__v2di)(__m128i)(A), (int)(B), \
5234
(__v2di)_mm_setzero_di(), \
5235
(__mmask8)(U)); })
5236
5237
#define _mm256_mask_slli_epi64(W, U, A, B) __extension__ ({ \
5238
(__m256i)__builtin_ia32_psllqi256_mask((__v4di)(__m256i)(A), (int)(B), \
5239
(__v4di)(__m256i)(W), \
5240
(__mmask8)(U)); })
5241
5242
#define _mm256_maskz_slli_epi64(U, A, B) __extension__ ({ \
5243
(__m256i)__builtin_ia32_psllqi256_mask((__v4di)(__m256i)(A), (int)(B), \
5244
(__v4di)_mm256_setzero_si256(), \
5245
(__mmask8)(U)); })
5246
5247
5248
static __inline__ __m128i __DEFAULT_FN_ATTRS
5249
_mm_rorv_epi32 (__m128i __A, __m128i __B)
5250
{
5251
return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
5252
(__v4si) __B,
5253
(__v4si)
5254
_mm_setzero_si128 (),
5255
(__mmask8) -1);
5256
}
5257
5258
static __inline__ __m128i __DEFAULT_FN_ATTRS
5259
_mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5260
__m128i __B)
5261
{
5262
return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
5263
(__v4si) __B,
5264
(__v4si) __W,
5265
(__mmask8) __U);
5266
}
5267
5268
static __inline__ __m128i __DEFAULT_FN_ATTRS
5269
_mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5270
{
5271
return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
5272
(__v4si) __B,
5273
(__v4si)
5274
_mm_setzero_si128 (),
5275
(__mmask8) __U);
5276
}
5277
5278
static __inline__ __m256i __DEFAULT_FN_ATTRS
5279
_mm256_rorv_epi32 (__m256i __A, __m256i __B)
5280
{
5281
return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
5282
(__v8si) __B,
5283
(__v8si)
5284
_mm256_setzero_si256 (),
5285
(__mmask8) -1);
5286
}
5287
5288
static __inline__ __m256i __DEFAULT_FN_ATTRS
5289
_mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5290
__m256i __B)
5291
{
5292
return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
5293
(__v8si) __B,
5294
(__v8si) __W,
5295
(__mmask8) __U);
5296
}
5297
5298
static __inline__ __m256i __DEFAULT_FN_ATTRS
5299
_mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
5300
{
5301
return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
5302
(__v8si) __B,
5303
(__v8si)
5304
_mm256_setzero_si256 (),
5305
(__mmask8) __U);
5306
}
5307
5308
static __inline__ __m128i __DEFAULT_FN_ATTRS
5309
_mm_rorv_epi64 (__m128i __A, __m128i __B)
5310
{
5311
return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
5312
(__v2di) __B,
5313
(__v2di)
5314
_mm_setzero_di (),
5315
(__mmask8) -1);
5316
}
5317
5318
static __inline__ __m128i __DEFAULT_FN_ATTRS
5319
_mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5320
__m128i __B)
5321
{
5322
return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
5323
(__v2di) __B,
5324
(__v2di) __W,
5325
(__mmask8) __U);
5326
}
5327
5328
static __inline__ __m128i __DEFAULT_FN_ATTRS
5329
_mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5330
{
5331
return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
5332
(__v2di) __B,
5333
(__v2di)
5334
_mm_setzero_di (),
5335
(__mmask8) __U);
5336
}
5337
5338
static __inline__ __m256i __DEFAULT_FN_ATTRS
5339
_mm256_rorv_epi64 (__m256i __A, __m256i __B)
5340
{
5341
return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
5342
(__v4di) __B,
5343
(__v4di)
5344
_mm256_setzero_si256 (),
5345
(__mmask8) -1);
5346
}
5347
5348
static __inline__ __m256i __DEFAULT_FN_ATTRS
5349
_mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5350
__m256i __B)
5351
{
5352
return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
5353
(__v4di) __B,
5354
(__v4di) __W,
5355
(__mmask8) __U);
5356
}
5357
5358
static __inline__ __m256i __DEFAULT_FN_ATTRS
5359
_mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
5360
{
5361
return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
5362
(__v4di) __B,
5363
(__v4di)
5364
_mm256_setzero_si256 (),
5365
(__mmask8) __U);
5366
}
5367
5368
static __inline__ __m128i __DEFAULT_FN_ATTRS
5369
_mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
5370
__m128i __Y)
5371
{
5372
return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
5373
(__v2di) __Y,
5374
(__v2di) __W,
5375
(__mmask8) __U);
5376
}
5377
5378
static __inline__ __m128i __DEFAULT_FN_ATTRS
5379
_mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
5380
{
5381
return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
5382
(__v2di) __Y,
5383
(__v2di)
5384
_mm_setzero_di (),
5385
(__mmask8) __U);
5386
}
5387
5388
static __inline__ __m256i __DEFAULT_FN_ATTRS
5389
_mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
5390
__m256i __Y)
5391
{
5392
return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
5393
(__v4di) __Y,
5394
(__v4di) __W,
5395
(__mmask8) __U);
5396
}
5397
5398
static __inline__ __m256i __DEFAULT_FN_ATTRS
5399
_mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
5400
{
5401
return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
5402
(__v4di) __Y,
5403
(__v4di)
5404
_mm256_setzero_si256 (),
5405
(__mmask8) __U);
5406
}
5407
5408
static __inline__ __m128i __DEFAULT_FN_ATTRS
5409
_mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
5410
__m128i __Y)
5411
{
5412
return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
5413
(__v4si) __Y,
5414
(__v4si) __W,
5415
(__mmask8) __U);
5416
}
5417
5418
static __inline__ __m128i __DEFAULT_FN_ATTRS
5419
_mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
5420
{
5421
return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
5422
(__v4si) __Y,
5423
(__v4si)
5424
_mm_setzero_si128 (),
5425
(__mmask8) __U);
5426
}
5427
5428
static __inline__ __m256i __DEFAULT_FN_ATTRS
5429
_mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
5430
__m256i __Y)
5431
{
5432
return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
5433
(__v8si) __Y,
5434
(__v8si) __W,
5435
(__mmask8) __U);
5436
}
5437
5438
static __inline__ __m256i __DEFAULT_FN_ATTRS
5439
_mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
5440
{
5441
return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
5442
(__v8si) __Y,
5443
(__v8si)
5444
_mm256_setzero_si256 (),
5445
(__mmask8) __U);
5446
}
5447
5448
5449
5450
static __inline__ __m128i __DEFAULT_FN_ATTRS
5451
_mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
5452
__m128i __Y)
5453
{
5454
return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
5455
(__v2di) __Y,
5456
(__v2di) __W,
5457
(__mmask8) __U);
5458
}
5459
5460
static __inline__ __m128i __DEFAULT_FN_ATTRS
5461
_mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
5462
{
5463
return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
5464
(__v2di) __Y,
5465
(__v2di)
5466
_mm_setzero_di (),
5467
(__mmask8) __U);
5468
}
5469
5470
static __inline__ __m256i __DEFAULT_FN_ATTRS
5471
_mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
5472
__m256i __Y)
5473
{
5474
return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
5475
(__v4di) __Y,
5476
(__v4di) __W,
5477
(__mmask8) __U);
5478
}
5479
5480
static __inline__ __m256i __DEFAULT_FN_ATTRS
5481
_mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
5482
{
5483
return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
5484
(__v4di) __Y,
5485
(__v4di)
5486
_mm256_setzero_si256 (),
5487
(__mmask8) __U);
5488
}
5489
5490
static __inline__ __m128i __DEFAULT_FN_ATTRS
5491
_mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
5492
__m128i __Y)
5493
{
5494
return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
5495
(__v4si) __Y,
5496
(__v4si) __W,
5497
(__mmask8) __U);
5498
}
5499
5500
static __inline__ __m128i __DEFAULT_FN_ATTRS
5501
_mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
5502
{
5503
return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
5504
(__v4si) __Y,
5505
(__v4si)
5506
_mm_setzero_si128 (),
5507
(__mmask8) __U);
5508
}
5509
5510
static __inline__ __m256i __DEFAULT_FN_ATTRS
5511
_mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
5512
__m256i __Y)
5513
{
5514
return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
5515
(__v8si) __Y,
5516
(__v8si) __W,
5517
(__mmask8) __U);
5518
}
5519
5520
static __inline__ __m256i __DEFAULT_FN_ATTRS
5521
_mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
5522
{
5523
return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
5524
(__v8si) __Y,
5525
(__v8si)
5526
_mm256_setzero_si256 (),
5527
(__mmask8) __U);
5528
}
5529
5530
5531
5532
static __inline__ __m128i __DEFAULT_FN_ATTRS
5533
_mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
5534
__m128i __B)
5535
{
5536
return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
5537
(__v4si) __B,
5538
(__v4si) __W,
5539
(__mmask8) __U);
5540
}
5541
5542
static __inline__ __m128i __DEFAULT_FN_ATTRS
5543
_mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
5544
{
5545
return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
5546
(__v4si) __B,
5547
(__v4si)
5548
_mm_setzero_si128 (),
5549
(__mmask8) __U);
5550
}
5551
5552
static __inline__ __m256i __DEFAULT_FN_ATTRS
5553
_mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
5554
__m128i __B)
5555
{
5556
return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
5557
(__v4si) __B,
5558
(__v8si) __W,
5559
(__mmask8) __U);
5560
}
5561
5562
static __inline__ __m256i __DEFAULT_FN_ATTRS
5563
_mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
5564
{
5565
return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
5566
(__v4si) __B,
5567
(__v8si)
5568
_mm256_setzero_si256 (),
5569
(__mmask8) __U);
5570
}
5571
5572
#define _mm_mask_srli_epi32(W, U, A, imm) __extension__ ({ \
5573
(__m128i)__builtin_ia32_psrldi128_mask((__v4si)(__m128i)(A), (int)(imm), \
5574
(__v4si)(__m128i)(W), \
5575
(__mmask8)(U)); })
5576
5577
#define _mm_maskz_srli_epi32(U, A, imm) __extension__ ({ \
5578
(__m128i)__builtin_ia32_psrldi128_mask((__v4si)(__m128i)(A), (int)(imm), \
5579
(__v4si)_mm_setzero_si128(), \
5580
(__mmask8)(U)); })
5581
5582
#define _mm256_mask_srli_epi32(W, U, A, imm) __extension__ ({ \
5583
(__m256i)__builtin_ia32_psrldi256_mask((__v8si)(__m256i)(A), (int)(imm), \
5584
(__v8si)(__m256i)(W), \
5585
(__mmask8)(U)); })
5586
5587
#define _mm256_maskz_srli_epi32(U, A, imm) __extension__ ({ \
5588
(__m256i)__builtin_ia32_psrldi256_mask((__v8si)(__m256i)(A), (int)(imm), \
5589
(__v8si)_mm256_setzero_si256(), \
5590
(__mmask8)(U)); })
5591
5592
static __inline__ __m128i __DEFAULT_FN_ATTRS
5593
_mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
5594
__m128i __B)
5595
{
5596
return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
5597
(__v2di) __B,
5598
(__v2di) __W,
5599
(__mmask8) __U);
5600
}
5601
5602
static __inline__ __m128i __DEFAULT_FN_ATTRS
5603
_mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
5604
{
5605
return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
5606
(__v2di) __B,
5607
(__v2di)
5608
_mm_setzero_di (),
5609
(__mmask8) __U);
5610
}
5611
5612
static __inline__ __m256i __DEFAULT_FN_ATTRS
5613
_mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
5614
__m128i __B)
5615
{
5616
return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
5617
(__v2di) __B,
5618
(__v4di) __W,
5619
(__mmask8) __U);
5620
}
5621
5622
static __inline__ __m256i __DEFAULT_FN_ATTRS
5623
_mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
5624
{
5625
return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
5626
(__v2di) __B,
5627
(__v4di)
5628
_mm256_setzero_si256 (),
5629
(__mmask8) __U);
5630
}
5631
5632
#define _mm_mask_srli_epi64(W, U, A, imm) __extension__ ({ \
5633
(__m128i)__builtin_ia32_psrlqi128_mask((__v2di)(__m128i)(A), (int)(imm), \
5634
(__v2di)(__m128i)(W), \
5635
(__mmask8)(U)); })
5636
5637
#define _mm_maskz_srli_epi64(U, A, imm) __extension__ ({ \
5638
(__m128i)__builtin_ia32_psrlqi128_mask((__v2di)(__m128i)(A), (int)(imm), \
5639
(__v2di)_mm_setzero_si128(), \
5640
(__mmask8)(U)); })
5641
5642
#define _mm256_mask_srli_epi64(W, U, A, imm) __extension__ ({ \
5643
(__m256i)__builtin_ia32_psrlqi256_mask((__v4di)(__m256i)(A), (int)(imm), \
5644
(__v4di)(__m256i)(W), \
5645
(__mmask8)(U)); })
5646
5647
#define _mm256_maskz_srli_epi64(U, A, imm) __extension__ ({ \
5648
(__m256i)__builtin_ia32_psrlqi256_mask((__v4di)(__m256i)(A), (int)(imm), \
5649
(__v4di)_mm256_setzero_si256(), \
5650
(__mmask8)(U)); })
5651
5652
static __inline__ __m128i __DEFAULT_FN_ATTRS
5653
_mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
5654
__m128i __Y)
5655
{
5656
return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
5657
(__v4si) __Y,
5658
(__v4si) __W,
5659
(__mmask8) __U);
5660
}
5661
5662
static __inline__ __m128i __DEFAULT_FN_ATTRS
5663
_mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
5664
{
5665
return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
5666
(__v4si) __Y,
5667
(__v4si)
5668
_mm_setzero_si128 (),
5669
(__mmask8) __U);
5670
}
5671
5672
static __inline__ __m256i __DEFAULT_FN_ATTRS
5673
_mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
5674
__m256i __Y)
5675
{
5676
return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
5677
(__v8si) __Y,
5678
(__v8si) __W,
5679
(__mmask8) __U);
5680
}
5681
5682
static __inline__ __m256i __DEFAULT_FN_ATTRS
5683
_mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
5684
{
5685
return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
5686
(__v8si) __Y,
5687
(__v8si)
5688
_mm256_setzero_si256 (),
5689
(__mmask8) __U);
5690
}
5691
5692
static __inline__ __m128i __DEFAULT_FN_ATTRS
5693
_mm_srav_epi64 (__m128i __X, __m128i __Y)
5694
{
5695
return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
5696
(__v2di) __Y,
5697
(__v2di)
5698
_mm_setzero_di (),
5699
(__mmask8) -1);
5700
}
5701
5702
static __inline__ __m128i __DEFAULT_FN_ATTRS
5703
_mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
5704
__m128i __Y)
5705
{
5706
return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
5707
(__v2di) __Y,
5708
(__v2di) __W,
5709
(__mmask8) __U);
5710
}
5711
5712
static __inline__ __m128i __DEFAULT_FN_ATTRS
5713
_mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
5714
{
5715
return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
5716
(__v2di) __Y,
5717
(__v2di)
5718
_mm_setzero_di (),
5719
(__mmask8) __U);
5720
}
5721
5722
static __inline__ __m256i __DEFAULT_FN_ATTRS
5723
_mm256_srav_epi64 (__m256i __X, __m256i __Y)
5724
{
5725
return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
5726
(__v4di) __Y,
5727
(__v4di)
5728
_mm256_setzero_si256 (),
5729
(__mmask8) -1);
5730
}
5731
5732
static __inline__ __m256i __DEFAULT_FN_ATTRS
5733
_mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
5734
__m256i __Y)
5735
{
5736
return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
5737
(__v4di) __Y,
5738
(__v4di) __W,
5739
(__mmask8) __U);
5740
}
5741
5742
static __inline__ __m256i __DEFAULT_FN_ATTRS
5743
_mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
5744
{
5745
return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
5746
(__v4di) __Y,
5747
(__v4di)
5748
_mm256_setzero_si256 (),
5749
(__mmask8) __U);
5750
}
5751
5752
static __inline__ __m128i __DEFAULT_FN_ATTRS
5753
_mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
5754
{
5755
return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
5756
(__v4si) __A,
5757
(__v4si) __W);
5758
}
5759
5760
static __inline__ __m128i __DEFAULT_FN_ATTRS
5761
_mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A)
5762
{
5763
return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
5764
(__v4si) __A,
5765
(__v4si) _mm_setzero_si128 ());
5766
}
5767
5768
5769
static __inline__ __m256i __DEFAULT_FN_ATTRS
5770
_mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
5771
{
5772
return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
5773
(__v8si) __A,
5774
(__v8si) __W);
5775
}
5776
5777
static __inline__ __m256i __DEFAULT_FN_ATTRS
5778
_mm256_maskz_mov_epi32 (__mmask8 __U, __m256i __A)
5779
{
5780
return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
5781
(__v8si) __A,
5782
(__v8si) _mm256_setzero_si256 ());
5783
}
5784
5785
static __inline__ __m128i __DEFAULT_FN_ATTRS
5786
_mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P)
5787
{
5788
return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
5789
(__v4si) __W,
5790
(__mmask8)
5791
__U);
5792
}
5793
5794
static __inline__ __m128i __DEFAULT_FN_ATTRS
5795
_mm_maskz_load_epi32 (__mmask8 __U, void const *__P)
5796
{
5797
return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
5798
(__v4si)
5799
_mm_setzero_si128 (),
5800
(__mmask8)
5801
__U);
5802
}
5803
5804
static __inline__ __m256i __DEFAULT_FN_ATTRS
5805
_mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P)
5806
{
5807
return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
5808
(__v8si) __W,
5809
(__mmask8)
5810
__U);
5811
}
5812
5813
static __inline__ __m256i __DEFAULT_FN_ATTRS
5814
_mm256_maskz_load_epi32 (__mmask8 __U, void const *__P)
5815
{
5816
return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
5817
(__v8si)
5818
_mm256_setzero_si256 (),
5819
(__mmask8)
5820
__U);
5821
}
5822
5823
static __inline__ void __DEFAULT_FN_ATTRS
5824
_mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A)
5825
{
5826
__builtin_ia32_movdqa32store128_mask ((__v4si *) __P,
5827
(__v4si) __A,
5828
(__mmask8) __U);
5829
}
5830
5831
static __inline__ void __DEFAULT_FN_ATTRS
5832
_mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A)
5833
{
5834
__builtin_ia32_movdqa32store256_mask ((__v8si *) __P,
5835
(__v8si) __A,
5836
(__mmask8) __U);
5837
}
5838
5839
static __inline__ __m128i __DEFAULT_FN_ATTRS
5840
_mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
5841
{
5842
return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
5843
(__v2di) __A,
5844
(__v2di) __W);
5845
}
5846
5847
static __inline__ __m128i __DEFAULT_FN_ATTRS
5848
_mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A)
5849
{
5850
return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
5851
(__v2di) __A,
5852
(__v2di) _mm_setzero_di ());
5853
}
5854
5855
static __inline__ __m256i __DEFAULT_FN_ATTRS
5856
_mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
5857
{
5858
return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
5859
(__v4di) __A,
5860
(__v4di) __W);
5861
}
5862
5863
static __inline__ __m256i __DEFAULT_FN_ATTRS
5864
_mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A)
5865
{
5866
return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
5867
(__v4di) __A,
5868
(__v4di) _mm256_setzero_si256 ());
5869
}
5870
5871
static __inline__ __m128i __DEFAULT_FN_ATTRS
5872
_mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P)
5873
{
5874
return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
5875
(__v2di) __W,
5876
(__mmask8)
5877
__U);
5878
}
5879
5880
static __inline__ __m128i __DEFAULT_FN_ATTRS
5881
_mm_maskz_load_epi64 (__mmask8 __U, void const *__P)
5882
{
5883
return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
5884
(__v2di)
5885
_mm_setzero_di (),
5886
(__mmask8)
5887
__U);
5888
}
5889
5890
static __inline__ __m256i __DEFAULT_FN_ATTRS
5891
_mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P)
5892
{
5893
return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
5894
(__v4di) __W,
5895
(__mmask8)
5896
__U);
5897
}
5898
5899
static __inline__ __m256i __DEFAULT_FN_ATTRS
5900
_mm256_maskz_load_epi64 (__mmask8 __U, void const *__P)
5901
{
5902
return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
5903
(__v4di)
5904
_mm256_setzero_si256 (),
5905
(__mmask8)
5906
__U);
5907
}
5908
5909
static __inline__ void __DEFAULT_FN_ATTRS
5910
_mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A)
5911
{
5912
__builtin_ia32_movdqa64store128_mask ((__v2di *) __P,
5913
(__v2di) __A,
5914
(__mmask8) __U);
5915
}
5916
5917
static __inline__ void __DEFAULT_FN_ATTRS
5918
_mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A)
5919
{
5920
__builtin_ia32_movdqa64store256_mask ((__v4di *) __P,
5921
(__v4di) __A,
5922
(__mmask8) __U);
5923
}
5924
5925
static __inline__ __m128d __DEFAULT_FN_ATTRS
5926
_mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
5927
{
5928
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
5929
(__v2df)_mm_movedup_pd(__A),
5930
(__v2df)__W);
5931
}
5932
5933
static __inline__ __m128d __DEFAULT_FN_ATTRS
5934
_mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
5935
{
5936
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
5937
(__v2df)_mm_movedup_pd(__A),
5938
(__v2df)_mm_setzero_pd());
5939
}
5940
5941
static __inline__ __m256d __DEFAULT_FN_ATTRS
5942
_mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
5943
{
5944
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
5945
(__v4df)_mm256_movedup_pd(__A),
5946
(__v4df)__W);
5947
}
5948
5949
static __inline__ __m256d __DEFAULT_FN_ATTRS
5950
_mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
5951
{
5952
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
5953
(__v4df)_mm256_movedup_pd(__A),
5954
(__v4df)_mm256_setzero_pd());
5955
}
5956
5957
5958
#define _mm_mask_set1_epi32(O, M, A) __extension__ ({ \
5959
(__m128i)__builtin_ia32_pbroadcastd128_gpr_mask((int)(A), \
5960
(__v4si)(__m128i)(O), \
5961
(__mmask8)(M)); })
5962
5963
#define _mm_maskz_set1_epi32(M, A) __extension__ ({ \
5964
(__m128i)__builtin_ia32_pbroadcastd128_gpr_mask((int)(A), \
5965
(__v4si)_mm_setzero_si128(), \
5966
(__mmask8)(M)); })
5967
5968
#define _mm256_mask_set1_epi32(O, M, A) __extension__ ({ \
5969
(__m256i)__builtin_ia32_pbroadcastd256_gpr_mask((int)(A), \
5970
(__v8si)(__m256i)(O), \
5971
(__mmask8)(M)); })
5972
5973
#define _mm256_maskz_set1_epi32(M, A) __extension__ ({ \
5974
(__m256i)__builtin_ia32_pbroadcastd256_gpr_mask((int)(A), \
5975
(__v8si)_mm256_setzero_si256(), \
5976
(__mmask8)(M)); })
5977
5978
static __inline__ __m128i __DEFAULT_FN_ATTRS
5979
_mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
5980
{
5981
return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O,
5982
__M);
5983
}
5984
5985
static __inline__ __m128i __DEFAULT_FN_ATTRS
5986
_mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
5987
{
5988
return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A,
5989
(__v2di)
5990
_mm_setzero_si128 (),
5991
__M);
5992
}
5993
5994
static __inline__ __m256i __DEFAULT_FN_ATTRS
5995
_mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
5996
{
5997
return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O,
5998
__M);
5999
}
6000
6001
static __inline__ __m256i __DEFAULT_FN_ATTRS
6002
_mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
6003
{
6004
return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A,
6005
(__v4di)
6006
_mm256_setzero_si256 (),
6007
__M);
6008
}
6009
6010
#define _mm_fixupimm_pd(A, B, C, imm) __extension__ ({ \
6011
(__m128d)__builtin_ia32_fixupimmpd128_mask((__v2df)(__m128d)(A), \
6012
(__v2df)(__m128d)(B), \
6013
(__v2di)(__m128i)(C), (int)(imm), \
6014
(__mmask8)-1); })
6015
6016
#define _mm_mask_fixupimm_pd(A, U, B, C, imm) __extension__ ({ \
6017
(__m128d)__builtin_ia32_fixupimmpd128_mask((__v2df)(__m128d)(A), \
6018
(__v2df)(__m128d)(B), \
6019
(__v2di)(__m128i)(C), (int)(imm), \
6020
(__mmask8)(U)); })
6021
6022
#define _mm_maskz_fixupimm_pd(U, A, B, C, imm) __extension__ ({ \
6023
(__m128d)__builtin_ia32_fixupimmpd128_maskz((__v2df)(__m128d)(A), \
6024
(__v2df)(__m128d)(B), \
6025
(__v2di)(__m128i)(C), \
6026
(int)(imm), (__mmask8)(U)); })
6027
6028
#define _mm256_fixupimm_pd(A, B, C, imm) __extension__ ({ \
6029
(__m256d)__builtin_ia32_fixupimmpd256_mask((__v4df)(__m256d)(A), \
6030
(__v4df)(__m256d)(B), \
6031
(__v4di)(__m256i)(C), (int)(imm), \
6032
(__mmask8)-1); })
6033
6034
#define _mm256_mask_fixupimm_pd(A, U, B, C, imm) __extension__ ({ \
6035
(__m256d)__builtin_ia32_fixupimmpd256_mask((__v4df)(__m256d)(A), \
6036
(__v4df)(__m256d)(B), \
6037
(__v4di)(__m256i)(C), (int)(imm), \
6038
(__mmask8)(U)); })
6039
6040
#define _mm256_maskz_fixupimm_pd(U, A, B, C, imm) __extension__ ({ \
6041
(__m256d)__builtin_ia32_fixupimmpd256_maskz((__v4df)(__m256d)(A), \
6042
(__v4df)(__m256d)(B), \
6043
(__v4di)(__m256i)(C), \
6044
(int)(imm), (__mmask8)(U)); })
6045
6046
#define _mm_fixupimm_ps(A, B, C, imm) __extension__ ({ \
6047
(__m128)__builtin_ia32_fixupimmps128_mask((__v4sf)(__m128)(A), \
6048
(__v4sf)(__m128)(B), \
6049
(__v4si)(__m128i)(C), (int)(imm), \
6050
(__mmask8)-1); })
6051
6052
#define _mm_mask_fixupimm_ps(A, U, B, C, imm) __extension__ ({ \
6053
(__m128)__builtin_ia32_fixupimmps128_mask((__v4sf)(__m128)(A), \
6054
(__v4sf)(__m128)(B), \
6055
(__v4si)(__m128i)(C), (int)(imm), \
6056
(__mmask8)(U)); })
6057
6058
#define _mm_maskz_fixupimm_ps(U, A, B, C, imm) __extension__ ({ \
6059
(__m128)__builtin_ia32_fixupimmps128_maskz((__v4sf)(__m128)(A), \
6060
(__v4sf)(__m128)(B), \
6061
(__v4si)(__m128i)(C), (int)(imm), \
6062
(__mmask8)(U)); })
6063
6064
#define _mm256_fixupimm_ps(A, B, C, imm) __extension__ ({ \
6065
(__m256)__builtin_ia32_fixupimmps256_mask((__v8sf)(__m256)(A), \
6066
(__v8sf)(__m256)(B), \
6067
(__v8si)(__m256i)(C), (int)(imm), \
6068
(__mmask8)-1); })
6069
6070
#define _mm256_mask_fixupimm_ps(A, U, B, C, imm) __extension__ ({ \
6071
(__m256)__builtin_ia32_fixupimmps256_mask((__v8sf)(__m256)(A), \
6072
(__v8sf)(__m256)(B), \
6073
(__v8si)(__m256i)(C), (int)(imm), \
6074
(__mmask8)(U)); })
6075
6076
#define _mm256_maskz_fixupimm_ps(U, A, B, C, imm) __extension__ ({ \
6077
(__m256)__builtin_ia32_fixupimmps256_maskz((__v8sf)(__m256)(A), \
6078
(__v8sf)(__m256)(B), \
6079
(__v8si)(__m256i)(C), (int)(imm), \
6080
(__mmask8)(U)); })
6081
6082
static __inline__ __m128d __DEFAULT_FN_ATTRS
6083
_mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P)
6084
{
6085
return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
6086
(__v2df) __W,
6087
(__mmask8) __U);
6088
}
6089
6090
static __inline__ __m128d __DEFAULT_FN_ATTRS
6091
_mm_maskz_load_pd (__mmask8 __U, void const *__P)
6092
{
6093
return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
6094
(__v2df)
6095
_mm_setzero_pd (),
6096
(__mmask8) __U);
6097
}
6098
6099
static __inline__ __m256d __DEFAULT_FN_ATTRS
6100
_mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P)
6101
{
6102
return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
6103
(__v4df) __W,
6104
(__mmask8) __U);
6105
}
6106
6107
static __inline__ __m256d __DEFAULT_FN_ATTRS
6108
_mm256_maskz_load_pd (__mmask8 __U, void const *__P)
6109
{
6110
return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
6111
(__v4df)
6112
_mm256_setzero_pd (),
6113
(__mmask8) __U);
6114
}
6115
6116
static __inline__ __m128 __DEFAULT_FN_ATTRS
6117
_mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P)
6118
{
6119
return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
6120
(__v4sf) __W,
6121
(__mmask8) __U);
6122
}
6123
6124
static __inline__ __m128 __DEFAULT_FN_ATTRS
6125
_mm_maskz_load_ps (__mmask8 __U, void const *__P)
6126
{
6127
return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
6128
(__v4sf)
6129
_mm_setzero_ps (),
6130
(__mmask8) __U);
6131
}
6132
6133
static __inline__ __m256 __DEFAULT_FN_ATTRS
6134
_mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P)
6135
{
6136
return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
6137
(__v8sf) __W,
6138
(__mmask8) __U);
6139
}
6140
6141
static __inline__ __m256 __DEFAULT_FN_ATTRS
6142
_mm256_maskz_load_ps (__mmask8 __U, void const *__P)
6143
{
6144
return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
6145
(__v8sf)
6146
_mm256_setzero_ps (),
6147
(__mmask8) __U);
6148
}
6149
6150
static __inline__ __m128i __DEFAULT_FN_ATTRS
6151
_mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
6152
{
6153
return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
6154
(__v2di) __W,
6155
(__mmask8) __U);
6156
}
6157
6158
static __inline__ __m128i __DEFAULT_FN_ATTRS
6159
_mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
6160
{
6161
return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
6162
(__v2di)
6163
_mm_setzero_si128 (),
6164
(__mmask8) __U);
6165
}
6166
6167
static __inline__ __m256i __DEFAULT_FN_ATTRS
6168
_mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P)
6169
{
6170
return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
6171
(__v4di) __W,
6172
(__mmask8) __U);
6173
}
6174
6175
static __inline__ __m256i __DEFAULT_FN_ATTRS
6176
_mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
6177
{
6178
return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
6179
(__v4di)
6180
_mm256_setzero_si256 (),
6181
(__mmask8) __U);
6182
}
6183
6184
static __inline__ __m128i __DEFAULT_FN_ATTRS
6185
_mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
6186
{
6187
return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
6188
(__v4si) __W,
6189
(__mmask8) __U);
6190
}
6191
6192
static __inline__ __m128i __DEFAULT_FN_ATTRS
6193
_mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
6194
{
6195
return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
6196
(__v4si)
6197
_mm_setzero_si128 (),
6198
(__mmask8) __U);
6199
}
6200
6201
static __inline__ __m256i __DEFAULT_FN_ATTRS
6202
_mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
6203
{
6204
return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
6205
(__v8si) __W,
6206
(__mmask8) __U);
6207
}
6208
6209
static __inline__ __m256i __DEFAULT_FN_ATTRS
6210
_mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
6211
{
6212
return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
6213
(__v8si)
6214
_mm256_setzero_si256 (),
6215
(__mmask8) __U);
6216
}
6217
6218
static __inline__ __m128d __DEFAULT_FN_ATTRS
6219
_mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P)
6220
{
6221
return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
6222
(__v2df) __W,
6223
(__mmask8) __U);
6224
}
6225
6226
static __inline__ __m128d __DEFAULT_FN_ATTRS
6227
_mm_maskz_loadu_pd (__mmask8 __U, void const *__P)
6228
{
6229
return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
6230
(__v2df)
6231
_mm_setzero_pd (),
6232
(__mmask8) __U);
6233
}
6234
6235
static __inline__ __m256d __DEFAULT_FN_ATTRS
6236
_mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P)
6237
{
6238
return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
6239
(__v4df) __W,
6240
(__mmask8) __U);
6241
}
6242
6243
static __inline__ __m256d __DEFAULT_FN_ATTRS
6244
_mm256_maskz_loadu_pd (__mmask8 __U, void const *__P)
6245
{
6246
return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
6247
(__v4df)
6248
_mm256_setzero_pd (),
6249
(__mmask8) __U);
6250
}
6251
6252
static __inline__ __m128 __DEFAULT_FN_ATTRS
6253
_mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P)
6254
{
6255
return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
6256
(__v4sf) __W,
6257
(__mmask8) __U);
6258
}
6259
6260
static __inline__ __m128 __DEFAULT_FN_ATTRS
6261
_mm_maskz_loadu_ps (__mmask8 __U, void const *__P)
6262
{
6263
return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
6264
(__v4sf)
6265
_mm_setzero_ps (),
6266
(__mmask8) __U);
6267
}
6268
6269
static __inline__ __m256 __DEFAULT_FN_ATTRS
6270
_mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P)
6271
{
6272
return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
6273
(__v8sf) __W,
6274
(__mmask8) __U);
6275
}
6276
6277
static __inline__ __m256 __DEFAULT_FN_ATTRS
6278
_mm256_maskz_loadu_ps (__mmask8 __U, void const *__P)
6279
{
6280
return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
6281
(__v8sf)
6282
_mm256_setzero_ps (),
6283
(__mmask8) __U);
6284
}
6285
6286
static __inline__ void __DEFAULT_FN_ATTRS
6287
_mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A)
6288
{
6289
__builtin_ia32_storeapd128_mask ((__v2df *) __P,
6290
(__v2df) __A,
6291
(__mmask8) __U);
6292
}
6293
6294
static __inline__ void __DEFAULT_FN_ATTRS
6295
_mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A)
6296
{
6297
__builtin_ia32_storeapd256_mask ((__v4df *) __P,
6298
(__v4df) __A,
6299
(__mmask8) __U);
6300
}
6301
6302
static __inline__ void __DEFAULT_FN_ATTRS
6303
_mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A)
6304
{
6305
__builtin_ia32_storeaps128_mask ((__v4sf *) __P,
6306
(__v4sf) __A,
6307
(__mmask8) __U);
6308
}
6309
6310
static __inline__ void __DEFAULT_FN_ATTRS
6311
_mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A)
6312
{
6313
__builtin_ia32_storeaps256_mask ((__v8sf *) __P,
6314
(__v8sf) __A,
6315
(__mmask8) __U);
6316
}
6317
6318
static __inline__ void __DEFAULT_FN_ATTRS
6319
_mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A)
6320
{
6321
__builtin_ia32_storedqudi128_mask ((__v2di *) __P,
6322
(__v2di) __A,
6323
(__mmask8) __U);
6324
}
6325
6326
static __inline__ void __DEFAULT_FN_ATTRS
6327
_mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A)
6328
{
6329
__builtin_ia32_storedqudi256_mask ((__v4di *) __P,
6330
(__v4di) __A,
6331
(__mmask8) __U);
6332
}
6333
6334
static __inline__ void __DEFAULT_FN_ATTRS
6335
_mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A)
6336
{
6337
__builtin_ia32_storedqusi128_mask ((__v4si *) __P,
6338
(__v4si) __A,
6339
(__mmask8) __U);
6340
}
6341
6342
static __inline__ void __DEFAULT_FN_ATTRS
6343
_mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A)
6344
{
6345
__builtin_ia32_storedqusi256_mask ((__v8si *) __P,
6346
(__v8si) __A,
6347
(__mmask8) __U);
6348
}
6349
6350
static __inline__ void __DEFAULT_FN_ATTRS
6351
_mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A)
6352
{
6353
__builtin_ia32_storeupd128_mask ((__v2df *) __P,
6354
(__v2df) __A,
6355
(__mmask8) __U);
6356
}
6357
6358
static __inline__ void __DEFAULT_FN_ATTRS
6359
_mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A)
6360
{
6361
__builtin_ia32_storeupd256_mask ((__v4df *) __P,
6362
(__v4df) __A,
6363
(__mmask8) __U);
6364
}
6365
6366
static __inline__ void __DEFAULT_FN_ATTRS
6367
_mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A)
6368
{
6369
__builtin_ia32_storeups128_mask ((__v4sf *) __P,
6370
(__v4sf) __A,
6371
(__mmask8) __U);
6372
}
6373
6374
static __inline__ void __DEFAULT_FN_ATTRS
6375
_mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A)
6376
{
6377
__builtin_ia32_storeups256_mask ((__v8sf *) __P,
6378
(__v8sf) __A,
6379
(__mmask8) __U);
6380
}
6381
6382
6383
static __inline__ __m128d __DEFAULT_FN_ATTRS
6384
_mm_mask_unpackhi_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
6385
{
6386
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
6387
(__v2df)_mm_unpackhi_pd(__A, __B),
6388
(__v2df)__W);
6389
}
6390
6391
static __inline__ __m128d __DEFAULT_FN_ATTRS
6392
_mm_maskz_unpackhi_pd(__mmask8 __U, __m128d __A, __m128d __B)
6393
{
6394
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
6395
(__v2df)_mm_unpackhi_pd(__A, __B),
6396
(__v2df)_mm_setzero_pd());
6397
}
6398
6399
static __inline__ __m256d __DEFAULT_FN_ATTRS
6400
_mm256_mask_unpackhi_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B)
6401
{
6402
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
6403
(__v4df)_mm256_unpackhi_pd(__A, __B),
6404
(__v4df)__W);
6405
}
6406
6407
static __inline__ __m256d __DEFAULT_FN_ATTRS
6408
_mm256_maskz_unpackhi_pd(__mmask8 __U, __m256d __A, __m256d __B)
6409
{
6410
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
6411
(__v4df)_mm256_unpackhi_pd(__A, __B),
6412
(__v4df)_mm256_setzero_pd());
6413
}
6414
6415
static __inline__ __m128 __DEFAULT_FN_ATTRS
6416
_mm_mask_unpackhi_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
6417
{
6418
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
6419
(__v4sf)_mm_unpackhi_ps(__A, __B),
6420
(__v4sf)__W);
6421
}
6422
6423
static __inline__ __m128 __DEFAULT_FN_ATTRS
6424
_mm_maskz_unpackhi_ps(__mmask8 __U, __m128 __A, __m128 __B)
6425
{
6426
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
6427
(__v4sf)_mm_unpackhi_ps(__A, __B),
6428
(__v4sf)_mm_setzero_ps());
6429
}
6430
6431
static __inline__ __m256 __DEFAULT_FN_ATTRS
6432
_mm256_mask_unpackhi_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
6433
{
6434
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
6435
(__v8sf)_mm256_unpackhi_ps(__A, __B),
6436
(__v8sf)__W);
6437
}
6438
6439
static __inline__ __m256 __DEFAULT_FN_ATTRS
6440
_mm256_maskz_unpackhi_ps(__mmask8 __U, __m256 __A, __m256 __B)
6441
{
6442
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
6443
(__v8sf)_mm256_unpackhi_ps(__A, __B),
6444
(__v8sf)_mm256_setzero_ps());
6445
}
6446
6447
static __inline__ __m128d __DEFAULT_FN_ATTRS
6448
_mm_mask_unpacklo_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
6449
{
6450
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
6451
(__v2df)_mm_unpacklo_pd(__A, __B),
6452
(__v2df)__W);
6453
}
6454
6455
static __inline__ __m128d __DEFAULT_FN_ATTRS
6456
_mm_maskz_unpacklo_pd(__mmask8 __U, __m128d __A, __m128d __B)
6457
{
6458
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
6459
(__v2df)_mm_unpacklo_pd(__A, __B),
6460
(__v2df)_mm_setzero_pd());
6461
}
6462
6463
static __inline__ __m256d __DEFAULT_FN_ATTRS
6464
_mm256_mask_unpacklo_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B)
6465
{
6466
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
6467
(__v4df)_mm256_unpacklo_pd(__A, __B),
6468
(__v4df)__W);
6469
}
6470
6471
static __inline__ __m256d __DEFAULT_FN_ATTRS
6472
_mm256_maskz_unpacklo_pd(__mmask8 __U, __m256d __A, __m256d __B)
6473
{
6474
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
6475
(__v4df)_mm256_unpacklo_pd(__A, __B),
6476
(__v4df)_mm256_setzero_pd());
6477
}
6478
6479
static __inline__ __m128 __DEFAULT_FN_ATTRS
6480
_mm_mask_unpacklo_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
6481
{
6482
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
6483
(__v4sf)_mm_unpacklo_ps(__A, __B),
6484
(__v4sf)__W);
6485
}
6486
6487
static __inline__ __m128 __DEFAULT_FN_ATTRS
6488
_mm_maskz_unpacklo_ps(__mmask8 __U, __m128 __A, __m128 __B)
6489
{
6490
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
6491
(__v4sf)_mm_unpacklo_ps(__A, __B),
6492
(__v4sf)_mm_setzero_ps());
6493
}
6494
6495
static __inline__ __m256 __DEFAULT_FN_ATTRS
6496
_mm256_mask_unpacklo_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
6497
{
6498
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
6499
(__v8sf)_mm256_unpacklo_ps(__A, __B),
6500
(__v8sf)__W);
6501
}
6502
6503
static __inline__ __m256 __DEFAULT_FN_ATTRS
6504
_mm256_maskz_unpacklo_ps(__mmask8 __U, __m256 __A, __m256 __B)
6505
{
6506
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
6507
(__v8sf)_mm256_unpacklo_ps(__A, __B),
6508
(__v8sf)_mm256_setzero_ps());
6509
}
6510
6511
static __inline__ __m128d __DEFAULT_FN_ATTRS
6512
_mm_rcp14_pd (__m128d __A)
6513
{
6514
return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
6515
(__v2df)
6516
_mm_setzero_pd (),
6517
(__mmask8) -1);
6518
}
6519
6520
static __inline__ __m128d __DEFAULT_FN_ATTRS
6521
_mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
6522
{
6523
return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
6524
(__v2df) __W,
6525
(__mmask8) __U);
6526
}
6527
6528
static __inline__ __m128d __DEFAULT_FN_ATTRS
6529
_mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
6530
{
6531
return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
6532
(__v2df)
6533
_mm_setzero_pd (),
6534
(__mmask8) __U);
6535
}
6536
6537
static __inline__ __m256d __DEFAULT_FN_ATTRS
6538
_mm256_rcp14_pd (__m256d __A)
6539
{
6540
return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
6541
(__v4df)
6542
_mm256_setzero_pd (),
6543
(__mmask8) -1);
6544
}
6545
6546
static __inline__ __m256d __DEFAULT_FN_ATTRS
6547
_mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
6548
{
6549
return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
6550
(__v4df) __W,
6551
(__mmask8) __U);
6552
}
6553
6554
static __inline__ __m256d __DEFAULT_FN_ATTRS
6555
_mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
6556
{
6557
return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
6558
(__v4df)
6559
_mm256_setzero_pd (),
6560
(__mmask8) __U);
6561
}
6562
6563
static __inline__ __m128 __DEFAULT_FN_ATTRS
6564
_mm_rcp14_ps (__m128 __A)
6565
{
6566
return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
6567
(__v4sf)
6568
_mm_setzero_ps (),
6569
(__mmask8) -1);
6570
}
6571
6572
static __inline__ __m128 __DEFAULT_FN_ATTRS
6573
_mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
6574
{
6575
return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
6576
(__v4sf) __W,
6577
(__mmask8) __U);
6578
}
6579
6580
static __inline__ __m128 __DEFAULT_FN_ATTRS
6581
_mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
6582
{
6583
return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
6584
(__v4sf)
6585
_mm_setzero_ps (),
6586
(__mmask8) __U);
6587
}
6588
6589
static __inline__ __m256 __DEFAULT_FN_ATTRS
6590
_mm256_rcp14_ps (__m256 __A)
6591
{
6592
return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
6593
(__v8sf)
6594
_mm256_setzero_ps (),
6595
(__mmask8) -1);
6596
}
6597
6598
static __inline__ __m256 __DEFAULT_FN_ATTRS
6599
_mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
6600
{
6601
return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
6602
(__v8sf) __W,
6603
(__mmask8) __U);
6604
}
6605
6606
static __inline__ __m256 __DEFAULT_FN_ATTRS
6607
_mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
6608
{
6609
return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
6610
(__v8sf)
6611
_mm256_setzero_ps (),
6612
(__mmask8) __U);
6613
}
6614
6615
#define _mm_mask_permute_pd(W, U, X, C) __extension__ ({ \
6616
(__m128d)__builtin_ia32_selectpd_128((__mmask8)(U), \
6617
(__v2df)_mm_permute_pd((X), (C)), \
6618
(__v2df)(__m128d)(W)); })
6619
6620
#define _mm_maskz_permute_pd(U, X, C) __extension__ ({ \
6621
(__m128d)__builtin_ia32_selectpd_128((__mmask8)(U), \
6622
(__v2df)_mm_permute_pd((X), (C)), \
6623
(__v2df)_mm_setzero_pd()); })
6624
6625
#define _mm256_mask_permute_pd(W, U, X, C) __extension__ ({ \
6626
(__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
6627
(__v4df)_mm256_permute_pd((X), (C)), \
6628
(__v4df)(__m256d)(W)); })
6629
6630
#define _mm256_maskz_permute_pd(U, X, C) __extension__ ({ \
6631
(__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
6632
(__v4df)_mm256_permute_pd((X), (C)), \
6633
(__v4df)_mm256_setzero_pd()); })
6634
6635
#define _mm_mask_permute_ps(W, U, X, C) __extension__ ({ \
6636
(__m128)__builtin_ia32_selectps_128((__mmask8)(U), \
6637
(__v4sf)_mm_permute_ps((X), (C)), \
6638
(__v4sf)(__m128)(W)); })
6639
6640
#define _mm_maskz_permute_ps(U, X, C) __extension__ ({ \
6641
(__m128)__builtin_ia32_selectps_128((__mmask8)(U), \
6642
(__v4sf)_mm_permute_ps((X), (C)), \
6643
(__v4sf)_mm_setzero_ps()); })
6644
6645
#define _mm256_mask_permute_ps(W, U, X, C) __extension__ ({ \
6646
(__m256)__builtin_ia32_selectps_256((__mmask8)(U), \
6647
(__v8sf)_mm256_permute_ps((X), (C)), \
6648
(__v8sf)(__m256)(W)); })
6649
6650
#define _mm256_maskz_permute_ps(U, X, C) __extension__ ({ \
6651
(__m256)__builtin_ia32_selectps_256((__mmask8)(U), \
6652
(__v8sf)_mm256_permute_ps((X), (C)), \
6653
(__v8sf)_mm256_setzero_ps()); })
6654
6655
static __inline__ __m128d __DEFAULT_FN_ATTRS
6656
_mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A,
6657
__m128i __C)
6658
{
6659
return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
6660
(__v2di) __C,
6661
(__v2df) __W,
6662
(__mmask8) __U);
6663
}
6664
6665
static __inline__ __m128d __DEFAULT_FN_ATTRS
6666
_mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C)
6667
{
6668
return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
6669
(__v2di) __C,
6670
(__v2df)
6671
_mm_setzero_pd (),
6672
(__mmask8) __U);
6673
}
6674
6675
static __inline__ __m256d __DEFAULT_FN_ATTRS
6676
_mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A,
6677
__m256i __C)
6678
{
6679
return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
6680
(__v4di) __C,
6681
(__v4df) __W,
6682
(__mmask8)
6683
__U);
6684
}
6685
6686
static __inline__ __m256d __DEFAULT_FN_ATTRS
6687
_mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C)
6688
{
6689
return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
6690
(__v4di) __C,
6691
(__v4df)
6692
_mm256_setzero_pd (),
6693
(__mmask8)
6694
__U);
6695
}
6696
6697
static __inline__ __m128 __DEFAULT_FN_ATTRS
6698
_mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A,
6699
__m128i __C)
6700
{
6701
return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
6702
(__v4si) __C,
6703
(__v4sf) __W,
6704
(__mmask8) __U);
6705
}
6706
6707
static __inline__ __m128 __DEFAULT_FN_ATTRS
6708
_mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C)
6709
{
6710
return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
6711
(__v4si) __C,
6712
(__v4sf)
6713
_mm_setzero_ps (),
6714
(__mmask8) __U);
6715
}
6716
6717
static __inline__ __m256 __DEFAULT_FN_ATTRS
6718
_mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A,
6719
__m256i __C)
6720
{
6721
return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
6722
(__v8si) __C,
6723
(__v8sf) __W,
6724
(__mmask8) __U);
6725
}
6726
6727
static __inline__ __m256 __DEFAULT_FN_ATTRS
6728
_mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C)
6729
{
6730
return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
6731
(__v8si) __C,
6732
(__v8sf)
6733
_mm256_setzero_ps (),
6734
(__mmask8) __U);
6735
}
6736
6737
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6738
_mm_test_epi32_mask (__m128i __A, __m128i __B)
6739
{
6740
return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
6741
(__v4si) __B,
6742
(__mmask8) -1);
6743
}
6744
6745
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6746
_mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
6747
{
6748
return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
6749
(__v4si) __B, __U);
6750
}
6751
6752
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6753
_mm256_test_epi32_mask (__m256i __A, __m256i __B)
6754
{
6755
return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
6756
(__v8si) __B,
6757
(__mmask8) -1);
6758
}
6759
6760
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6761
_mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
6762
{
6763
return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
6764
(__v8si) __B, __U);
6765
}
6766
6767
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6768
_mm_test_epi64_mask (__m128i __A, __m128i __B)
6769
{
6770
return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
6771
(__v2di) __B,
6772
(__mmask8) -1);
6773
}
6774
6775
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6776
_mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
6777
{
6778
return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
6779
(__v2di) __B, __U);
6780
}
6781
6782
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6783
_mm256_test_epi64_mask (__m256i __A, __m256i __B)
6784
{
6785
return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
6786
(__v4di) __B,
6787
(__mmask8) -1);
6788
}
6789
6790
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6791
_mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
6792
{
6793
return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
6794
(__v4di) __B, __U);
6795
}
6796
6797
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6798
_mm_testn_epi32_mask (__m128i __A, __m128i __B)
6799
{
6800
return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
6801
(__v4si) __B,
6802
(__mmask8) -1);
6803
}
6804
6805
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6806
_mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
6807
{
6808
return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
6809
(__v4si) __B, __U);
6810
}
6811
6812
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6813
_mm256_testn_epi32_mask (__m256i __A, __m256i __B)
6814
{
6815
return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
6816
(__v8si) __B,
6817
(__mmask8) -1);
6818
}
6819
6820
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6821
_mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
6822
{
6823
return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
6824
(__v8si) __B, __U);
6825
}
6826
6827
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6828
_mm_testn_epi64_mask (__m128i __A, __m128i __B)
6829
{
6830
return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
6831
(__v2di) __B,
6832
(__mmask8) -1);
6833
}
6834
6835
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6836
_mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
6837
{
6838
return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
6839
(__v2di) __B, __U);
6840
}
6841
6842
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6843
_mm256_testn_epi64_mask (__m256i __A, __m256i __B)
6844
{
6845
return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
6846
(__v4di) __B,
6847
(__mmask8) -1);
6848
}
6849
6850
static __inline__ __mmask8 __DEFAULT_FN_ATTRS
6851
_mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
6852
{
6853
return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
6854
(__v4di) __B, __U);
6855
}
6856
6857
6858
6859
static __inline__ __m128i __DEFAULT_FN_ATTRS
6860
_mm_mask_unpackhi_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6861
{
6862
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
6863
(__v4si)_mm_unpackhi_epi32(__A, __B),
6864
(__v4si)__W);
6865
}
6866
6867
static __inline__ __m128i __DEFAULT_FN_ATTRS
6868
_mm_maskz_unpackhi_epi32(__mmask8 __U, __m128i __A, __m128i __B)
6869
{
6870
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
6871
(__v4si)_mm_unpackhi_epi32(__A, __B),
6872
(__v4si)_mm_setzero_si128());
6873
}
6874
6875
static __inline__ __m256i __DEFAULT_FN_ATTRS
6876
_mm256_mask_unpackhi_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6877
{
6878
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
6879
(__v8si)_mm256_unpackhi_epi32(__A, __B),
6880
(__v8si)__W);
6881
}
6882
6883
static __inline__ __m256i __DEFAULT_FN_ATTRS
6884
_mm256_maskz_unpackhi_epi32(__mmask8 __U, __m256i __A, __m256i __B)
6885
{
6886
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
6887
(__v8si)_mm256_unpackhi_epi32(__A, __B),
6888
(__v8si)_mm256_setzero_si256());
6889
}
6890
6891
static __inline__ __m128i __DEFAULT_FN_ATTRS
6892
_mm_mask_unpackhi_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6893
{
6894
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
6895
(__v2di)_mm_unpackhi_epi64(__A, __B),
6896
(__v2di)__W);
6897
}
6898
6899
static __inline__ __m128i __DEFAULT_FN_ATTRS
6900
_mm_maskz_unpackhi_epi64(__mmask8 __U, __m128i __A, __m128i __B)
6901
{
6902
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
6903
(__v2di)_mm_unpackhi_epi64(__A, __B),
6904
(__v2di)_mm_setzero_di());
6905
}
6906
6907
static __inline__ __m256i __DEFAULT_FN_ATTRS
6908
_mm256_mask_unpackhi_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6909
{
6910
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
6911
(__v4di)_mm256_unpackhi_epi64(__A, __B),
6912
(__v4di)__W);
6913
}
6914
6915
static __inline__ __m256i __DEFAULT_FN_ATTRS
6916
_mm256_maskz_unpackhi_epi64(__mmask8 __U, __m256i __A, __m256i __B)
6917
{
6918
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
6919
(__v4di)_mm256_unpackhi_epi64(__A, __B),
6920
(__v4di)_mm256_setzero_si256());
6921
}
6922
6923
static __inline__ __m128i __DEFAULT_FN_ATTRS
6924
_mm_mask_unpacklo_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6925
{
6926
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
6927
(__v4si)_mm_unpacklo_epi32(__A, __B),
6928
(__v4si)__W);
6929
}
6930
6931
static __inline__ __m128i __DEFAULT_FN_ATTRS
6932
_mm_maskz_unpacklo_epi32(__mmask8 __U, __m128i __A, __m128i __B)
6933
{
6934
return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
6935
(__v4si)_mm_unpacklo_epi32(__A, __B),
6936
(__v4si)_mm_setzero_si128());
6937
}
6938
6939
static __inline__ __m256i __DEFAULT_FN_ATTRS
6940
_mm256_mask_unpacklo_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6941
{
6942
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
6943
(__v8si)_mm256_unpacklo_epi32(__A, __B),
6944
(__v8si)__W);
6945
}
6946
6947
static __inline__ __m256i __DEFAULT_FN_ATTRS
6948
_mm256_maskz_unpacklo_epi32(__mmask8 __U, __m256i __A, __m256i __B)
6949
{
6950
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
6951
(__v8si)_mm256_unpacklo_epi32(__A, __B),
6952
(__v8si)_mm256_setzero_si256());
6953
}
6954
6955
static __inline__ __m128i __DEFAULT_FN_ATTRS
6956
_mm_mask_unpacklo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6957
{
6958
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
6959
(__v2di)_mm_unpacklo_epi64(__A, __B),
6960
(__v2di)__W);
6961
}
6962
6963
static __inline__ __m128i __DEFAULT_FN_ATTRS
6964
_mm_maskz_unpacklo_epi64(__mmask8 __U, __m128i __A, __m128i __B)
6965
{
6966
return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
6967
(__v2di)_mm_unpacklo_epi64(__A, __B),
6968
(__v2di)_mm_setzero_di());
6969
}
6970
6971
static __inline__ __m256i __DEFAULT_FN_ATTRS
6972
_mm256_mask_unpacklo_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6973
{
6974
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
6975
(__v4di)_mm256_unpacklo_epi64(__A, __B),
6976
(__v4di)__W);
6977
}
6978
6979
static __inline__ __m256i __DEFAULT_FN_ATTRS
6980
_mm256_maskz_unpacklo_epi64(__mmask8 __U, __m256i __A, __m256i __B)
6981
{
6982
return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
6983
(__v4di)_mm256_unpacklo_epi64(__A, __B),
6984
(__v4di)_mm256_setzero_si256());
6985
}
6986
6987
static __inline__ __m128i __DEFAULT_FN_ATTRS
6988
_mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
6989
__m128i __B)
6990
{
6991
return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
6992
(__v4si) __B,
6993
(__v4si) __W,
6994
(__mmask8) __U);
6995
}
6996
6997
static __inline__ __m128i __DEFAULT_FN_ATTRS
6998
_mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
6999
{
7000
return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
7001
(__v4si) __B,
7002
(__v4si)
7003
_mm_setzero_si128 (),
7004
(__mmask8) __U);
7005
}
7006
7007
static __inline__ __m256i __DEFAULT_FN_ATTRS
7008
_mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
7009
__m128i __B)
7010
{
7011
return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
7012
(__v4si) __B,
7013
(__v8si) __W,
7014
(__mmask8) __U);
7015
}
7016
7017
static __inline__ __m256i __DEFAULT_FN_ATTRS
7018
_mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
7019
{
7020
return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
7021
(__v4si) __B,
7022
(__v8si)
7023
_mm256_setzero_si256 (),
7024
(__mmask8) __U);
7025
}
7026
7027
#define _mm_mask_srai_epi32(W, U, A, imm) __extension__ ({ \
7028
(__m128i)__builtin_ia32_psradi128_mask((__v4si)(__m128i)(A), (int)(imm), \
7029
(__v4si)(__m128i)(W), \
7030
(__mmask8)(U)); })
7031
7032
#define _mm_maskz_srai_epi32(U, A, imm) __extension__ ({ \
7033
(__m128i)__builtin_ia32_psradi128_mask((__v4si)(__m128i)(A), (int)(imm), \
7034
(__v4si)_mm_setzero_si128(), \
7035
(__mmask8)(U)); })
7036
7037
#define _mm256_mask_srai_epi32(W, U, A, imm) __extension__ ({ \
7038
(__m256i)__builtin_ia32_psradi256_mask((__v8si)(__m256i)(A), (int)(imm), \
7039
(__v8si)(__m256i)(W), \
7040
(__mmask8)(U)); })
7041
7042
#define _mm256_maskz_srai_epi32(U, A, imm) __extension__ ({ \
7043
(__m256i)__builtin_ia32_psradi256_mask((__v8si)(__m256i)(A), (int)(imm), \
7044
(__v8si)_mm256_setzero_si256(), \
7045
(__mmask8)(U)); })
7046
7047
static __inline__ __m128i __DEFAULT_FN_ATTRS
7048
_mm_sra_epi64 (__m128i __A, __m128i __B)
7049
{
7050
return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
7051
(__v2di) __B,
7052
(__v2di)
7053
_mm_setzero_di (),
7054
(__mmask8) -1);
7055
}
7056
7057
static __inline__ __m128i __DEFAULT_FN_ATTRS
7058
_mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
7059
__m128i __B)
7060
{
7061
return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
7062
(__v2di) __B,
7063
(__v2di) __W,
7064
(__mmask8) __U);
7065
}
7066
7067
static __inline__ __m128i __DEFAULT_FN_ATTRS
7068
_mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
7069
{
7070
return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
7071
(__v2di) __B,
7072
(__v2di)
7073
_mm_setzero_di (),
7074
(__mmask8) __U);
7075
}
7076
7077
static __inline__ __m256i __DEFAULT_FN_ATTRS
7078
_mm256_sra_epi64 (__m256i __A, __m128i __B)
7079
{
7080
return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
7081
(__v2di) __B,
7082
(__v4di)
7083
_mm256_setzero_si256 (),
7084
(__mmask8) -1);
7085
}
7086
7087
static __inline__ __m256i __DEFAULT_FN_ATTRS
7088
_mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
7089
__m128i __B)
7090
{
7091
return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
7092
(__v2di) __B,
7093
(__v4di) __W,
7094
(__mmask8) __U);
7095
}
7096
7097
static __inline__ __m256i __DEFAULT_FN_ATTRS
7098
_mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
7099
{
7100
return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
7101
(__v2di) __B,
7102
(__v4di)
7103
_mm256_setzero_si256 (),
7104
(__mmask8) __U);
7105
}
7106
7107
#define _mm_srai_epi64(A, imm) __extension__ ({ \
7108
(__m128i)__builtin_ia32_psraqi128_mask((__v2di)(__m128i)(A), (int)(imm), \
7109
(__v2di)_mm_setzero_di(), \
7110
(__mmask8)-1); })
7111
7112
#define _mm_mask_srai_epi64(W, U, A, imm) __extension__ ({ \
7113
(__m128i)__builtin_ia32_psraqi128_mask((__v2di)(__m128i)(A), (int)(imm), \
7114
(__v2di)(__m128i)(W), \
7115
(__mmask8)(U)); })
7116
7117
#define _mm_maskz_srai_epi64(U, A, imm) __extension__ ({ \
7118
(__m128i)__builtin_ia32_psraqi128_mask((__v2di)(__m128i)(A), (int)(imm), \
7119
(__v2di)_mm_setzero_si128(), \
7120
(__mmask8)(U)); })
7121
7122
#define _mm256_srai_epi64(A, imm) __extension__ ({ \
7123
(__m256i)__builtin_ia32_psraqi256_mask((__v4di)(__m256i)(A), (int)(imm), \
7124
(__v4di)_mm256_setzero_si256(), \
7125
(__mmask8)-1); })
7126
7127
#define _mm256_mask_srai_epi64(W, U, A, imm) __extension__ ({ \
7128
(__m256i)__builtin_ia32_psraqi256_mask((__v4di)(__m256i)(A), (int)(imm), \
7129
(__v4di)(__m256i)(W), \
7130
(__mmask8)(U)); })
7131
7132
#define _mm256_maskz_srai_epi64(U, A, imm) __extension__ ({ \
7133
(__m256i)__builtin_ia32_psraqi256_mask((__v4di)(__m256i)(A), (int)(imm), \
7134
(__v4di)_mm256_setzero_si256(), \
7135
(__mmask8)(U)); })
7136
7137
#define _mm_ternarylogic_epi32(A, B, C, imm) __extension__ ({ \
7138
(__m128i)__builtin_ia32_pternlogd128_mask((__v4si)(__m128i)(A), \
7139
(__v4si)(__m128i)(B), \
7140
(__v4si)(__m128i)(C), (int)(imm), \
7141
(__mmask8)-1); })
7142
7143
#define _mm_mask_ternarylogic_epi32(A, U, B, C, imm) __extension__ ({ \
7144
(__m128i)__builtin_ia32_pternlogd128_mask((__v4si)(__m128i)(A), \
7145
(__v4si)(__m128i)(B), \
7146
(__v4si)(__m128i)(C), (int)(imm), \
7147
(__mmask8)(U)); })
7148
7149
#define _mm_maskz_ternarylogic_epi32(U, A, B, C, imm) __extension__ ({ \
7150
(__m128i)__builtin_ia32_pternlogd128_maskz((__v4si)(__m128i)(A), \
7151
(__v4si)(__m128i)(B), \
7152
(__v4si)(__m128i)(C), (int)(imm), \
7153
(__mmask8)(U)); })
7154
7155
#define _mm256_ternarylogic_epi32(A, B, C, imm) __extension__ ({ \
7156
(__m256i)__builtin_ia32_pternlogd256_mask((__v8si)(__m256i)(A), \
7157
(__v8si)(__m256i)(B), \
7158
(__v8si)(__m256i)(C), (int)(imm), \
7159
(__mmask8)-1); })
7160
7161
#define _mm256_mask_ternarylogic_epi32(A, U, B, C, imm) __extension__ ({ \
7162
(__m256i)__builtin_ia32_pternlogd256_mask((__v8si)(__m256i)(A), \
7163
(__v8si)(__m256i)(B), \
7164
(__v8si)(__m256i)(C), (int)(imm), \
7165
(__mmask8)(U)); })
7166
7167
#define _mm256_maskz_ternarylogic_epi32(U, A, B, C, imm) __extension__ ({ \
7168
(__m256i)__builtin_ia32_pternlogd256_maskz((__v8si)(__m256i)(A), \
7169
(__v8si)(__m256i)(B), \
7170
(__v8si)(__m256i)(C), (int)(imm), \
7171
(__mmask8)(U)); })
7172
7173
#define _mm_ternarylogic_epi64(A, B, C, imm) __extension__ ({ \
7174
(__m128i)__builtin_ia32_pternlogq128_mask((__v2di)(__m128i)(A), \
7175
(__v2di)(__m128i)(B), \
7176
(__v2di)(__m128i)(C), (int)(imm), \
7177
(__mmask8)-1); })
7178
7179
#define _mm_mask_ternarylogic_epi64(A, U, B, C, imm) __extension__ ({ \
7180
(__m128i)__builtin_ia32_pternlogq128_mask((__v2di)(__m128i)(A), \
7181
(__v2di)(__m128i)(B), \
7182
(__v2di)(__m128i)(C), (int)(imm), \
7183
(__mmask8)(U)); })
7184
7185
#define _mm_maskz_ternarylogic_epi64(U, A, B, C, imm) __extension__ ({ \
7186
(__m128i)__builtin_ia32_pternlogq128_maskz((__v2di)(__m128i)(A), \
7187
(__v2di)(__m128i)(B), \
7188
(__v2di)(__m128i)(C), (int)(imm), \
7189
(__mmask8)(U)); })
7190
7191
#define _mm256_ternarylogic_epi64(A, B, C, imm) __extension__ ({ \
7192
(__m256i)__builtin_ia32_pternlogq256_mask((__v4di)(__m256i)(A), \
7193
(__v4di)(__m256i)(B), \
7194
(__v4di)(__m256i)(C), (int)(imm), \
7195
(__mmask8)-1); })
7196
7197
#define _mm256_mask_ternarylogic_epi64(A, U, B, C, imm) __extension__ ({ \
7198
(__m256i)__builtin_ia32_pternlogq256_mask((__v4di)(__m256i)(A), \
7199
(__v4di)(__m256i)(B), \
7200
(__v4di)(__m256i)(C), (int)(imm), \
7201
(__mmask8)(U)); })
7202
7203
#define _mm256_maskz_ternarylogic_epi64(U, A, B, C, imm) __extension__ ({ \
7204
(__m256i)__builtin_ia32_pternlogq256_maskz((__v4di)(__m256i)(A), \
7205
(__v4di)(__m256i)(B), \
7206
(__v4di)(__m256i)(C), (int)(imm), \
7207
(__mmask8)(U)); })
7208
7209
7210
7211
#define _mm256_shuffle_f32x4(A, B, imm) __extension__ ({ \
7212
(__m256)__builtin_ia32_shuf_f32x4_256_mask((__v8sf)(__m256)(A), \
7213
(__v8sf)(__m256)(B), (int)(imm), \
7214
(__v8sf)_mm256_setzero_ps(), \
7215
(__mmask8)-1); })
7216
7217
#define _mm256_mask_shuffle_f32x4(W, U, A, B, imm) __extension__ ({ \
7218
(__m256)__builtin_ia32_shuf_f32x4_256_mask((__v8sf)(__m256)(A), \
7219
(__v8sf)(__m256)(B), (int)(imm), \
7220
(__v8sf)(__m256)(W), \
7221
(__mmask8)(U)); })
7222
7223
#define _mm256_maskz_shuffle_f32x4(U, A, B, imm) __extension__ ({ \
7224
(__m256)__builtin_ia32_shuf_f32x4_256_mask((__v8sf)(__m256)(A), \
7225
(__v8sf)(__m256)(B), (int)(imm), \
7226
(__v8sf)_mm256_setzero_ps(), \
7227
(__mmask8)(U)); })
7228
7229
#define _mm256_shuffle_f64x2(A, B, imm) __extension__ ({ \
7230
(__m256d)__builtin_ia32_shuf_f64x2_256_mask((__v4df)(__m256d)(A), \
7231
(__v4df)(__m256d)(B), \
7232
(int)(imm), \
7233
(__v4df)_mm256_setzero_pd(), \
7234
(__mmask8)-1); })
7235
7236
#define _mm256_mask_shuffle_f64x2(W, U, A, B, imm) __extension__ ({ \
7237
(__m256d)__builtin_ia32_shuf_f64x2_256_mask((__v4df)(__m256d)(A), \
7238
(__v4df)(__m256d)(B), \
7239
(int)(imm), \
7240
(__v4df)(__m256d)(W), \
7241
(__mmask8)(U)); })
7242
7243
#define _mm256_maskz_shuffle_f64x2(U, A, B, imm) __extension__ ({ \
7244
(__m256d)__builtin_ia32_shuf_f64x2_256_mask((__v4df)(__m256d)(A), \
7245
(__v4df)(__m256d)(B), \
7246
(int)(imm), \
7247
(__v4df)_mm256_setzero_pd(), \
7248
(__mmask8)(U)); })
7249
7250
#define _mm256_shuffle_i32x4(A, B, imm) __extension__ ({ \
7251
(__m256i)__builtin_ia32_shuf_i32x4_256_mask((__v8si)(__m256i)(A), \
7252
(__v8si)(__m256i)(B), \
7253
(int)(imm), \
7254
(__v8si)_mm256_setzero_si256(), \
7255
(__mmask8)-1); })
7256
7257
#define _mm256_mask_shuffle_i32x4(W, U, A, B, imm) __extension__ ({ \
7258
(__m256i)__builtin_ia32_shuf_i32x4_256_mask((__v8si)(__m256i)(A), \
7259
(__v8si)(__m256i)(B), \
7260
(int)(imm), \
7261
(__v8si)(__m256i)(W), \
7262
(__mmask8)(U)); })
7263
7264
#define _mm256_maskz_shuffle_i32x4(U, A, B, imm) __extension__ ({ \
7265
(__m256i)__builtin_ia32_shuf_i32x4_256_mask((__v8si)(__m256i)(A), \
7266
(__v8si)(__m256i)(B), \
7267
(int)(imm), \
7268
(__v8si)_mm256_setzero_si256(), \
7269
(__mmask8)(U)); })
7270
7271
#define _mm256_shuffle_i64x2(A, B, imm) __extension__ ({ \
7272
(__m256i)__builtin_ia32_shuf_i64x2_256_mask((__v4di)(__m256i)(A), \
7273
(__v4di)(__m256i)(B), \
7274
(int)(imm), \
7275
(__v4di)_mm256_setzero_si256(), \
7276
(__mmask8)-1); })
7277
7278
#define _mm256_mask_shuffle_i64x2(W, U, A, B, imm) __extension__ ({ \
7279
(__m256i)__builtin_ia32_shuf_i64x2_256_mask((__v4di)(__m256i)(A), \
7280
(__v4di)(__m256i)(B), \
7281
(int)(imm), \
7282
(__v4di)(__m256i)(W), \
7283
(__mmask8)(U)); })
7284
7285
#define _mm256_maskz_shuffle_i64x2(U, A, B, imm) __extension__ ({ \
7286
(__m256i)__builtin_ia32_shuf_i64x2_256_mask((__v4di)(__m256i)(A), \
7287
(__v4di)(__m256i)(B), \
7288
(int)(imm), \
7289
(__v4di)_mm256_setzero_si256(), \
7290
(__mmask8)(U)); })
7291
7292
#define _mm_mask_shuffle_pd(W, U, A, B, M) __extension__ ({ \
7293
(__m128d)__builtin_ia32_selectpd_128((__mmask8)(U), \
7294
(__v2df)_mm_shuffle_pd((A), (B), (M)), \
7295
(__v2df)(__m128d)(W)); })
7296
7297
#define _mm_maskz_shuffle_pd(U, A, B, M) __extension__ ({ \
7298
(__m128d)__builtin_ia32_selectpd_128((__mmask8)(U), \
7299
(__v2df)_mm_shuffle_pd((A), (B), (M)), \
7300
(__v2df)_mm_setzero_pd()); })
7301
7302
#define _mm256_mask_shuffle_pd(W, U, A, B, M) __extension__ ({ \
7303
(__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
7304
(__v4df)_mm256_shuffle_pd((A), (B), (M)), \
7305
(__v4df)(__m256d)(W)); })
7306
7307
#define _mm256_maskz_shuffle_pd(U, A, B, M) __extension__ ({ \
7308
(__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
7309
(__v4df)_mm256_shuffle_pd((A), (B), (M)), \
7310
(__v4df)_mm256_setzero_pd()); })
7311
7312
#define _mm_mask_shuffle_ps(W, U, A, B, M) __extension__ ({ \
7313
(__m128)__builtin_ia32_selectps_128((__mmask8)(U), \
7314
(__v4sf)_mm_shuffle_ps((A), (B), (M)), \
7315
(__v4sf)(__m128)(W)); })
7316
7317
#define _mm_maskz_shuffle_ps(U, A, B, M) __extension__ ({ \
7318
(__m128)__builtin_ia32_selectps_128((__mmask8)(U), \
7319
(__v4sf)_mm_shuffle_ps((A), (B), (M)), \
7320
(__v4sf)_mm_setzero_ps()); })
7321
7322
#define _mm256_mask_shuffle_ps(W, U, A, B, M) __extension__ ({ \
7323
(__m256)__builtin_ia32_selectps_256((__mmask8)(U), \
7324
(__v8sf)_mm256_shuffle_ps((A), (B), (M)), \
7325
(__v8sf)(__m256)(W)); })
7326
7327
#define _mm256_maskz_shuffle_ps(U, A, B, M) __extension__ ({ \
7328
(__m256)__builtin_ia32_selectps_256((__mmask8)(U), \
7329
(__v8sf)_mm256_shuffle_ps((A), (B), (M)), \
7330
(__v8sf)_mm256_setzero_ps()); })
7331
7332
static __inline__ __m128d __DEFAULT_FN_ATTRS
7333
_mm_rsqrt14_pd (__m128d __A)
7334
{
7335
return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
7336
(__v2df)
7337
_mm_setzero_pd (),
7338
(__mmask8) -1);
7339
}
7340
7341
static __inline__ __m128d __DEFAULT_FN_ATTRS
7342
_mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
7343
{
7344
return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
7345
(__v2df) __W,
7346
(__mmask8) __U);
7347
}
7348
7349
static __inline__ __m128d __DEFAULT_FN_ATTRS
7350
_mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
7351
{
7352
return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
7353
(__v2df)
7354
_mm_setzero_pd (),
7355
(__mmask8) __U);
7356
}
7357
7358
static __inline__ __m256d __DEFAULT_FN_ATTRS
7359
_mm256_rsqrt14_pd (__m256d __A)
7360
{
7361
return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
7362
(__v4df)
7363
_mm256_setzero_pd (),
7364
(__mmask8) -1);
7365
}
7366
7367
static __inline__ __m256d __DEFAULT_FN_ATTRS
7368
_mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
7369
{
7370
return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
7371
(__v4df) __W,
7372
(__mmask8) __U);
7373
}
7374
7375
static __inline__ __m256d __DEFAULT_FN_ATTRS
7376
_mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
7377
{
7378
return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
7379
(__v4df)
7380
_mm256_setzero_pd (),
7381
(__mmask8) __U);
7382
}
7383
7384
static __inline__ __m128 __DEFAULT_FN_ATTRS
7385
_mm_rsqrt14_ps (__m128 __A)
7386
{
7387
return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
7388
(__v4sf)
7389
_mm_setzero_ps (),
7390
(__mmask8) -1);
7391
}
7392
7393
static __inline__ __m128 __DEFAULT_FN_ATTRS
7394
_mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
7395
{
7396
return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
7397
(__v4sf) __W,
7398
(__mmask8) __U);
7399
}
7400
7401
static __inline__ __m128 __DEFAULT_FN_ATTRS
7402
_mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
7403
{
7404
return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
7405
(__v4sf)
7406
_mm_setzero_ps (),
7407
(__mmask8) __U);
7408
}
7409
7410
static __inline__ __m256 __DEFAULT_FN_ATTRS
7411
_mm256_rsqrt14_ps (__m256 __A)
7412
{
7413
return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
7414
(__v8sf)
7415
_mm256_setzero_ps (),
7416
(__mmask8) -1);
7417
}
7418
7419
static __inline__ __m256 __DEFAULT_FN_ATTRS
7420
_mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
7421
{
7422
return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
7423
(__v8sf) __W,
7424
(__mmask8) __U);
7425
}
7426
7427
static __inline__ __m256 __DEFAULT_FN_ATTRS
7428
_mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
7429
{
7430
return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
7431
(__v8sf)
7432
_mm256_setzero_ps (),
7433
(__mmask8) __U);
7434
}
7435
7436
static __inline__ __m256 __DEFAULT_FN_ATTRS
7437
_mm256_broadcast_f32x4 (__m128 __A)
7438
{
7439
return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
7440
(__v8sf)_mm256_undefined_pd (),
7441
(__mmask8) -1);
7442
}
7443
7444
static __inline__ __m256 __DEFAULT_FN_ATTRS
7445
_mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
7446
{
7447
return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
7448
(__v8sf) __O,
7449
__M);
7450
}
7451
7452
static __inline__ __m256 __DEFAULT_FN_ATTRS
7453
_mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
7454
{
7455
return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
7456
(__v8sf) _mm256_setzero_ps (),
7457
__M);
7458
}
7459
7460
static __inline__ __m256i __DEFAULT_FN_ATTRS
7461
_mm256_broadcast_i32x4 (__m128i __A)
7462
{
7463
return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) __A,
7464
(__v8si)_mm256_undefined_si256 (),
7465
(__mmask8) -1);
7466
}
7467
7468
static __inline__ __m256i __DEFAULT_FN_ATTRS
7469
_mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
7470
{
7471
return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) __A,
7472
(__v8si)
7473
__O, __M);
7474
}
7475
7476
static __inline__ __m256i __DEFAULT_FN_ATTRS
7477
_mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
7478
{
7479
return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
7480
__A,
7481
(__v8si) _mm256_setzero_si256 (),
7482
__M);
7483
}
7484
7485
static __inline__ __m256d __DEFAULT_FN_ATTRS
7486
_mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
7487
{
7488
return (__m256d)__builtin_ia32_selectpd_256(__M,
7489
(__v4df) _mm256_broadcastsd_pd(__A),
7490
(__v4df) __O);
7491
}
7492
7493
static __inline__ __m256d __DEFAULT_FN_ATTRS
7494
_mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
7495
{
7496
return (__m256d)__builtin_ia32_selectpd_256(__M,
7497
(__v4df) _mm256_broadcastsd_pd(__A),
7498
(__v4df) _mm256_setzero_pd());
7499
}
7500
7501
static __inline__ __m128 __DEFAULT_FN_ATTRS
7502
_mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
7503
{
7504
return (__m128)__builtin_ia32_selectps_128(__M,
7505
(__v4sf) _mm_broadcastss_ps(__A),
7506
(__v4sf) __O);
7507
}
7508
7509
static __inline__ __m128 __DEFAULT_FN_ATTRS
7510
_mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
7511
{
7512
return (__m128)__builtin_ia32_selectps_128(__M,
7513
(__v4sf) _mm_broadcastss_ps(__A),
7514
(__v4sf) _mm_setzero_ps());
7515
}
7516
7517
static __inline__ __m256 __DEFAULT_FN_ATTRS
7518
_mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
7519
{
7520
return (__m256)__builtin_ia32_selectps_256(__M,
7521
(__v8sf) _mm256_broadcastss_ps(__A),
7522
(__v8sf) __O);
7523
}
7524
7525
static __inline__ __m256 __DEFAULT_FN_ATTRS
7526
_mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
7527
{
7528
return (__m256)__builtin_ia32_selectps_256(__M,
7529
(__v8sf) _mm256_broadcastss_ps(__A),
7530
(__v8sf) _mm256_setzero_ps());
7531
}
7532
7533
static __inline__ __m128i __DEFAULT_FN_ATTRS
7534
_mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
7535
{
7536
return (__m128i)__builtin_ia32_selectd_128(__M,
7537
(__v4si) _mm_broadcastd_epi32(__A),
7538
(__v4si) __O);
7539
}
7540
7541
static __inline__ __m128i __DEFAULT_FN_ATTRS
7542
_mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
7543
{
7544
return (__m128i)__builtin_ia32_selectd_128(__M,
7545
(__v4si) _mm_broadcastd_epi32(__A),
7546
(__v4si) _mm_setzero_si128());
7547
}
7548
7549
static __inline__ __m256i __DEFAULT_FN_ATTRS
7550
_mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
7551
{
7552
return (__m256i)__builtin_ia32_selectd_256(__M,
7553
(__v8si) _mm256_broadcastd_epi32(__A),
7554
(__v8si) __O);
7555
}
7556
7557
static __inline__ __m256i __DEFAULT_FN_ATTRS
7558
_mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
7559
{
7560
return (__m256i)__builtin_ia32_selectd_256(__M,
7561
(__v8si) _mm256_broadcastd_epi32(__A),
7562
(__v8si) _mm256_setzero_si256());
7563
}
7564
7565
static __inline__ __m128i __DEFAULT_FN_ATTRS
7566
_mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
7567
{
7568
return (__m128i)__builtin_ia32_selectq_128(__M,
7569
(__v2di) _mm_broadcastq_epi64(__A),
7570
(__v2di) __O);
7571
}
7572
7573
static __inline__ __m128i __DEFAULT_FN_ATTRS
7574
_mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
7575
{
7576
return (__m128i)__builtin_ia32_selectq_128(__M,
7577
(__v2di) _mm_broadcastq_epi64(__A),
7578
(__v2di) _mm_setzero_si128());
7579
}
7580
7581
static __inline__ __m256i __DEFAULT_FN_ATTRS
7582
_mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
7583
{
7584
return (__m256i)__builtin_ia32_selectq_256(__M,
7585
(__v4di) _mm256_broadcastq_epi64(__A),
7586
(__v4di) __O);
7587
}
7588
7589
static __inline__ __m256i __DEFAULT_FN_ATTRS
7590
_mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
7591
{
7592
return (__m256i)__builtin_ia32_selectq_256(__M,
7593
(__v4di) _mm256_broadcastq_epi64(__A),
7594
(__v4di) _mm256_setzero_si256());
7595
}
7596
7597
static __inline__ __m128i __DEFAULT_FN_ATTRS
7598
_mm_cvtsepi32_epi8 (__m128i __A)
7599
{
7600
return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
7601
(__v16qi)_mm_undefined_si128(),
7602
(__mmask8) -1);
7603
}
7604
7605
static __inline__ __m128i __DEFAULT_FN_ATTRS
7606
_mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
7607
{
7608
return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
7609
(__v16qi) __O, __M);
7610
}
7611
7612
static __inline__ __m128i __DEFAULT_FN_ATTRS
7613
_mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A)
7614
{
7615
return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
7616
(__v16qi) _mm_setzero_si128 (),
7617
__M);
7618
}
7619
7620
static __inline__ void __DEFAULT_FN_ATTRS
7621
_mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
7622
{
7623
__builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
7624
}
7625
7626
static __inline__ __m128i __DEFAULT_FN_ATTRS
7627
_mm256_cvtsepi32_epi8 (__m256i __A)
7628
{
7629
return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
7630
(__v16qi)_mm_undefined_si128(),
7631
(__mmask8) -1);
7632
}
7633
7634
static __inline__ __m128i __DEFAULT_FN_ATTRS
7635
_mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
7636
{
7637
return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
7638
(__v16qi) __O, __M);
7639
}
7640
7641
static __inline__ __m128i __DEFAULT_FN_ATTRS
7642
_mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A)
7643
{
7644
return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
7645
(__v16qi) _mm_setzero_si128 (),
7646
__M);
7647
}
7648
7649
static __inline__ void __DEFAULT_FN_ATTRS
7650
_mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
7651
{
7652
__builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
7653
}
7654
7655
static __inline__ __m128i __DEFAULT_FN_ATTRS
7656
_mm_cvtsepi32_epi16 (__m128i __A)
7657
{
7658
return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
7659
(__v8hi)_mm_setzero_si128 (),
7660
(__mmask8) -1);
7661
}
7662
7663
static __inline__ __m128i __DEFAULT_FN_ATTRS
7664
_mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
7665
{
7666
return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
7667
(__v8hi)__O,
7668
__M);
7669
}
7670
7671
static __inline__ __m128i __DEFAULT_FN_ATTRS
7672
_mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A)
7673
{
7674
return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
7675
(__v8hi) _mm_setzero_si128 (),
7676
__M);
7677
}
7678
7679
static __inline__ void __DEFAULT_FN_ATTRS
7680
_mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
7681
{
7682
__builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
7683
}
7684
7685
static __inline__ __m128i __DEFAULT_FN_ATTRS
7686
_mm256_cvtsepi32_epi16 (__m256i __A)
7687
{
7688
return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
7689
(__v8hi)_mm_undefined_si128(),
7690
(__mmask8) -1);
7691
}
7692
7693
static __inline__ __m128i __DEFAULT_FN_ATTRS
7694
_mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
7695
{
7696
return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
7697
(__v8hi) __O, __M);
7698
}
7699
7700
static __inline__ __m128i __DEFAULT_FN_ATTRS
7701
_mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A)
7702
{
7703
return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
7704
(__v8hi) _mm_setzero_si128 (),
7705
__M);
7706
}
7707
7708
static __inline__ void __DEFAULT_FN_ATTRS
7709
_mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
7710
{
7711
__builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
7712
}
7713
7714
static __inline__ __m128i __DEFAULT_FN_ATTRS
7715
_mm_cvtsepi64_epi8 (__m128i __A)
7716
{
7717
return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
7718
(__v16qi)_mm_undefined_si128(),
7719
(__mmask8) -1);
7720
}
7721
7722
static __inline__ __m128i __DEFAULT_FN_ATTRS
7723
_mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
7724
{
7725
return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
7726
(__v16qi) __O, __M);
7727
}
7728
7729
static __inline__ __m128i __DEFAULT_FN_ATTRS
7730
_mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A)
7731
{
7732
return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
7733
(__v16qi) _mm_setzero_si128 (),
7734
__M);
7735
}
7736
7737
static __inline__ void __DEFAULT_FN_ATTRS
7738
_mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
7739
{
7740
__builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
7741
}
7742
7743
static __inline__ __m128i __DEFAULT_FN_ATTRS
7744
_mm256_cvtsepi64_epi8 (__m256i __A)
7745
{
7746
return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
7747
(__v16qi)_mm_undefined_si128(),
7748
(__mmask8) -1);
7749
}
7750
7751
static __inline__ __m128i __DEFAULT_FN_ATTRS
7752
_mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
7753
{
7754
return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
7755
(__v16qi) __O, __M);
7756
}
7757
7758
static __inline__ __m128i __DEFAULT_FN_ATTRS
7759
_mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A)
7760
{
7761
return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
7762
(__v16qi) _mm_setzero_si128 (),
7763
__M);
7764
}
7765
7766
static __inline__ void __DEFAULT_FN_ATTRS
7767
_mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
7768
{
7769
__builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
7770
}
7771
7772
static __inline__ __m128i __DEFAULT_FN_ATTRS
7773
_mm_cvtsepi64_epi32 (__m128i __A)
7774
{
7775
return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
7776
(__v4si)_mm_undefined_si128(),
7777
(__mmask8) -1);
7778
}
7779
7780
static __inline__ __m128i __DEFAULT_FN_ATTRS
7781
_mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
7782
{
7783
return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
7784
(__v4si) __O, __M);
7785
}
7786
7787
static __inline__ __m128i __DEFAULT_FN_ATTRS
7788
_mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A)
7789
{
7790
return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
7791
(__v4si) _mm_setzero_si128 (),
7792
__M);
7793
}
7794
7795
static __inline__ void __DEFAULT_FN_ATTRS
7796
_mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
7797
{
7798
__builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
7799
}
7800
7801
static __inline__ __m128i __DEFAULT_FN_ATTRS
7802
_mm256_cvtsepi64_epi32 (__m256i __A)
7803
{
7804
return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
7805
(__v4si)_mm_undefined_si128(),
7806
(__mmask8) -1);
7807
}
7808
7809
static __inline__ __m128i __DEFAULT_FN_ATTRS
7810
_mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
7811
{
7812
return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
7813
(__v4si)__O,
7814
__M);
7815
}
7816
7817
static __inline__ __m128i __DEFAULT_FN_ATTRS
7818
_mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A)
7819
{
7820
return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
7821
(__v4si) _mm_setzero_si128 (),
7822
__M);
7823
}
7824
7825
static __inline__ void __DEFAULT_FN_ATTRS
7826
_mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
7827
{
7828
__builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
7829
}
7830
7831
static __inline__ __m128i __DEFAULT_FN_ATTRS
7832
_mm_cvtsepi64_epi16 (__m128i __A)
7833
{
7834
return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
7835
(__v8hi)_mm_undefined_si128(),
7836
(__mmask8) -1);
7837
}
7838
7839
static __inline__ __m128i __DEFAULT_FN_ATTRS
7840
_mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
7841
{
7842
return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
7843
(__v8hi) __O, __M);
7844
}
7845
7846
static __inline__ __m128i __DEFAULT_FN_ATTRS
7847
_mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A)
7848
{
7849
return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
7850
(__v8hi) _mm_setzero_si128 (),
7851
__M);
7852
}
7853
7854
static __inline__ void __DEFAULT_FN_ATTRS
7855
_mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
7856
{
7857
__builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
7858
}
7859
7860
static __inline__ __m128i __DEFAULT_FN_ATTRS
7861
_mm256_cvtsepi64_epi16 (__m256i __A)
7862
{
7863
return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
7864
(__v8hi)_mm_undefined_si128(),
7865
(__mmask8) -1);
7866
}
7867
7868
static __inline__ __m128i __DEFAULT_FN_ATTRS
7869
_mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
7870
{
7871
return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
7872
(__v8hi) __O, __M);
7873
}
7874
7875
static __inline__ __m128i __DEFAULT_FN_ATTRS
7876
_mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A)
7877
{
7878
return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
7879
(__v8hi) _mm_setzero_si128 (),
7880
__M);
7881
}
7882
7883
static __inline__ void __DEFAULT_FN_ATTRS
7884
_mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
7885
{
7886
__builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
7887
}
7888
7889
static __inline__ __m128i __DEFAULT_FN_ATTRS
7890
_mm_cvtusepi32_epi8 (__m128i __A)
7891
{
7892
return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
7893
(__v16qi)_mm_undefined_si128(),
7894
(__mmask8) -1);
7895
}
7896
7897
static __inline__ __m128i __DEFAULT_FN_ATTRS
7898
_mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
7899
{
7900
return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
7901
(__v16qi) __O,
7902
__M);
7903
}
7904
7905
static __inline__ __m128i __DEFAULT_FN_ATTRS
7906
_mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A)
7907
{
7908
return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
7909
(__v16qi) _mm_setzero_si128 (),
7910
__M);
7911
}
7912
7913
static __inline__ void __DEFAULT_FN_ATTRS
7914
_mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
7915
{
7916
__builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
7917
}
7918
7919
static __inline__ __m128i __DEFAULT_FN_ATTRS
7920
_mm256_cvtusepi32_epi8 (__m256i __A)
7921
{
7922
return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
7923
(__v16qi)_mm_undefined_si128(),
7924
(__mmask8) -1);
7925
}
7926
7927
static __inline__ __m128i __DEFAULT_FN_ATTRS
7928
_mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
7929
{
7930
return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
7931
(__v16qi) __O,
7932
__M);
7933
}
7934
7935
static __inline__ __m128i __DEFAULT_FN_ATTRS
7936
_mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A)
7937
{
7938
return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
7939
(__v16qi) _mm_setzero_si128 (),
7940
__M);
7941
}
7942
7943
static __inline__ void __DEFAULT_FN_ATTRS
7944
_mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
7945
{
7946
__builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M);
7947
}
7948
7949
static __inline__ __m128i __DEFAULT_FN_ATTRS
7950
_mm_cvtusepi32_epi16 (__m128i __A)
7951
{
7952
return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
7953
(__v8hi)_mm_undefined_si128(),
7954
(__mmask8) -1);
7955
}
7956
7957
static __inline__ __m128i __DEFAULT_FN_ATTRS
7958
_mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
7959
{
7960
return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
7961
(__v8hi) __O, __M);
7962
}
7963
7964
static __inline__ __m128i __DEFAULT_FN_ATTRS
7965
_mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A)
7966
{
7967
return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
7968
(__v8hi) _mm_setzero_si128 (),
7969
__M);
7970
}
7971
7972
static __inline__ void __DEFAULT_FN_ATTRS
7973
_mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
7974
{
7975
__builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
7976
}
7977
7978
static __inline__ __m128i __DEFAULT_FN_ATTRS
7979
_mm256_cvtusepi32_epi16 (__m256i __A)
7980
{
7981
return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
7982
(__v8hi) _mm_undefined_si128(),
7983
(__mmask8) -1);
7984
}
7985
7986
static __inline__ __m128i __DEFAULT_FN_ATTRS
7987
_mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
7988
{
7989
return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
7990
(__v8hi) __O, __M);
7991
}
7992
7993
static __inline__ __m128i __DEFAULT_FN_ATTRS
7994
_mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A)
7995
{
7996
return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
7997
(__v8hi) _mm_setzero_si128 (),
7998
__M);
7999
}
8000
8001
static __inline__ void __DEFAULT_FN_ATTRS
8002
_mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8003
{
8004
__builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
8005
}
8006
8007
static __inline__ __m128i __DEFAULT_FN_ATTRS
8008
_mm_cvtusepi64_epi8 (__m128i __A)
8009
{
8010
return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
8011
(__v16qi)_mm_undefined_si128(),
8012
(__mmask8) -1);
8013
}
8014
8015
static __inline__ __m128i __DEFAULT_FN_ATTRS
8016
_mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8017
{
8018
return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
8019
(__v16qi) __O,
8020
__M);
8021
}
8022
8023
static __inline__ __m128i __DEFAULT_FN_ATTRS
8024
_mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A)
8025
{
8026
return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
8027
(__v16qi) _mm_setzero_si128 (),
8028
__M);
8029
}
8030
8031
static __inline__ void __DEFAULT_FN_ATTRS
8032
_mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8033
{
8034
__builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
8035
}
8036
8037
static __inline__ __m128i __DEFAULT_FN_ATTRS
8038
_mm256_cvtusepi64_epi8 (__m256i __A)
8039
{
8040
return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
8041
(__v16qi)_mm_undefined_si128(),
8042
(__mmask8) -1);
8043
}
8044
8045
static __inline__ __m128i __DEFAULT_FN_ATTRS
8046
_mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8047
{
8048
return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
8049
(__v16qi) __O,
8050
__M);
8051
}
8052
8053
static __inline__ __m128i __DEFAULT_FN_ATTRS
8054
_mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A)
8055
{
8056
return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
8057
(__v16qi) _mm_setzero_si128 (),
8058
__M);
8059
}
8060
8061
static __inline__ void __DEFAULT_FN_ATTRS
8062
_mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8063
{
8064
__builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
8065
}
8066
8067
static __inline__ __m128i __DEFAULT_FN_ATTRS
8068
_mm_cvtusepi64_epi32 (__m128i __A)
8069
{
8070
return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
8071
(__v4si)_mm_undefined_si128(),
8072
(__mmask8) -1);
8073
}
8074
8075
static __inline__ __m128i __DEFAULT_FN_ATTRS
8076
_mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
8077
{
8078
return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
8079
(__v4si) __O, __M);
8080
}
8081
8082
static __inline__ __m128i __DEFAULT_FN_ATTRS
8083
_mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A)
8084
{
8085
return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
8086
(__v4si) _mm_setzero_si128 (),
8087
__M);
8088
}
8089
8090
static __inline__ void __DEFAULT_FN_ATTRS
8091
_mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
8092
{
8093
__builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
8094
}
8095
8096
static __inline__ __m128i __DEFAULT_FN_ATTRS
8097
_mm256_cvtusepi64_epi32 (__m256i __A)
8098
{
8099
return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
8100
(__v4si)_mm_undefined_si128(),
8101
(__mmask8) -1);
8102
}
8103
8104
static __inline__ __m128i __DEFAULT_FN_ATTRS
8105
_mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
8106
{
8107
return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
8108
(__v4si) __O, __M);
8109
}
8110
8111
static __inline__ __m128i __DEFAULT_FN_ATTRS
8112
_mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A)
8113
{
8114
return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
8115
(__v4si) _mm_setzero_si128 (),
8116
__M);
8117
}
8118
8119
static __inline__ void __DEFAULT_FN_ATTRS
8120
_mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
8121
{
8122
__builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
8123
}
8124
8125
static __inline__ __m128i __DEFAULT_FN_ATTRS
8126
_mm_cvtusepi64_epi16 (__m128i __A)
8127
{
8128
return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
8129
(__v8hi)_mm_undefined_si128(),
8130
(__mmask8) -1);
8131
}
8132
8133
static __inline__ __m128i __DEFAULT_FN_ATTRS
8134
_mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8135
{
8136
return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
8137
(__v8hi) __O, __M);
8138
}
8139
8140
static __inline__ __m128i __DEFAULT_FN_ATTRS
8141
_mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A)
8142
{
8143
return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
8144
(__v8hi) _mm_setzero_si128 (),
8145
__M);
8146
}
8147
8148
static __inline__ void __DEFAULT_FN_ATTRS
8149
_mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8150
{
8151
__builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
8152
}
8153
8154
static __inline__ __m128i __DEFAULT_FN_ATTRS
8155
_mm256_cvtusepi64_epi16 (__m256i __A)
8156
{
8157
return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
8158
(__v8hi)_mm_undefined_si128(),
8159
(__mmask8) -1);
8160
}
8161
8162
static __inline__ __m128i __DEFAULT_FN_ATTRS
8163
_mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8164
{
8165
return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
8166
(__v8hi) __O, __M);
8167
}
8168
8169
static __inline__ __m128i __DEFAULT_FN_ATTRS
8170
_mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A)
8171
{
8172
return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
8173
(__v8hi) _mm_setzero_si128 (),
8174
__M);
8175
}
8176
8177
static __inline__ void __DEFAULT_FN_ATTRS
8178
_mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8179
{
8180
return __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
8181
}
8182
8183
static __inline__ __m128i __DEFAULT_FN_ATTRS
8184
_mm_cvtepi32_epi8 (__m128i __A)
8185
{
8186
return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
8187
(__v16qi)_mm_undefined_si128(),
8188
(__mmask8) -1);
8189
}
8190
8191
static __inline__ __m128i __DEFAULT_FN_ATTRS
8192
_mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8193
{
8194
return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
8195
(__v16qi) __O, __M);
8196
}
8197
8198
static __inline__ __m128i __DEFAULT_FN_ATTRS
8199
_mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A)
8200
{
8201
return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
8202
(__v16qi)
8203
_mm_setzero_si128 (),
8204
__M);
8205
}
8206
8207
static __inline__ void __DEFAULT_FN_ATTRS
8208
_mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8209
{
8210
__builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
8211
}
8212
8213
static __inline__ __m128i __DEFAULT_FN_ATTRS
8214
_mm256_cvtepi32_epi8 (__m256i __A)
8215
{
8216
return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
8217
(__v16qi)_mm_undefined_si128(),
8218
(__mmask8) -1);
8219
}
8220
8221
static __inline__ __m128i __DEFAULT_FN_ATTRS
8222
_mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8223
{
8224
return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
8225
(__v16qi) __O, __M);
8226
}
8227
8228
static __inline__ __m128i __DEFAULT_FN_ATTRS
8229
_mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A)
8230
{
8231
return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
8232
(__v16qi) _mm_setzero_si128 (),
8233
__M);
8234
}
8235
8236
static __inline__ void __DEFAULT_FN_ATTRS
8237
_mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8238
{
8239
__builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
8240
}
8241
8242
static __inline__ __m128i __DEFAULT_FN_ATTRS
8243
_mm_cvtepi32_epi16 (__m128i __A)
8244
{
8245
return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
8246
(__v8hi) _mm_setzero_si128 (),
8247
(__mmask8) -1);
8248
}
8249
8250
static __inline__ __m128i __DEFAULT_FN_ATTRS
8251
_mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8252
{
8253
return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
8254
(__v8hi) __O, __M);
8255
}
8256
8257
static __inline__ __m128i __DEFAULT_FN_ATTRS
8258
_mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A)
8259
{
8260
return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
8261
(__v8hi) _mm_setzero_si128 (),
8262
__M);
8263
}
8264
8265
static __inline__ void __DEFAULT_FN_ATTRS
8266
_mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8267
{
8268
__builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
8269
}
8270
8271
static __inline__ __m128i __DEFAULT_FN_ATTRS
8272
_mm256_cvtepi32_epi16 (__m256i __A)
8273
{
8274
return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
8275
(__v8hi)_mm_setzero_si128 (),
8276
(__mmask8) -1);
8277
}
8278
8279
static __inline__ __m128i __DEFAULT_FN_ATTRS
8280
_mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8281
{
8282
return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
8283
(__v8hi) __O, __M);
8284
}
8285
8286
static __inline__ __m128i __DEFAULT_FN_ATTRS
8287
_mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A)
8288
{
8289
return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
8290
(__v8hi) _mm_setzero_si128 (),
8291
__M);
8292
}
8293
8294
static __inline__ void __DEFAULT_FN_ATTRS
8295
_mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8296
{
8297
__builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
8298
}
8299
8300
static __inline__ __m128i __DEFAULT_FN_ATTRS
8301
_mm_cvtepi64_epi8 (__m128i __A)
8302
{
8303
return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
8304
(__v16qi) _mm_undefined_si128(),
8305
(__mmask8) -1);
8306
}
8307
8308
static __inline__ __m128i __DEFAULT_FN_ATTRS
8309
_mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
8310
{
8311
return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
8312
(__v16qi) __O, __M);
8313
}
8314
8315
static __inline__ __m128i __DEFAULT_FN_ATTRS
8316
_mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A)
8317
{
8318
return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
8319
(__v16qi) _mm_setzero_si128 (),
8320
__M);
8321
}
8322
8323
static __inline__ void __DEFAULT_FN_ATTRS
8324
_mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
8325
{
8326
__builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
8327
}
8328
8329
static __inline__ __m128i __DEFAULT_FN_ATTRS
8330
_mm256_cvtepi64_epi8 (__m256i __A)
8331
{
8332
return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
8333
(__v16qi) _mm_undefined_si128(),
8334
(__mmask8) -1);
8335
}
8336
8337
static __inline__ __m128i __DEFAULT_FN_ATTRS
8338
_mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
8339
{
8340
return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
8341
(__v16qi) __O, __M);
8342
}
8343
8344
static __inline__ __m128i __DEFAULT_FN_ATTRS
8345
_mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A)
8346
{
8347
return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
8348
(__v16qi) _mm_setzero_si128 (),
8349
__M);
8350
}
8351
8352
static __inline__ void __DEFAULT_FN_ATTRS
8353
_mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
8354
{
8355
__builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
8356
}
8357
8358
static __inline__ __m128i __DEFAULT_FN_ATTRS
8359
_mm_cvtepi64_epi32 (__m128i __A)
8360
{
8361
return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
8362
(__v4si)_mm_undefined_si128(),
8363
(__mmask8) -1);
8364
}
8365
8366
static __inline__ __m128i __DEFAULT_FN_ATTRS
8367
_mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
8368
{
8369
return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
8370
(__v4si) __O, __M);
8371
}
8372
8373
static __inline__ __m128i __DEFAULT_FN_ATTRS
8374
_mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A)
8375
{
8376
return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
8377
(__v4si) _mm_setzero_si128 (),
8378
__M);
8379
}
8380
8381
static __inline__ void __DEFAULT_FN_ATTRS
8382
_mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
8383
{
8384
__builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
8385
}
8386
8387
static __inline__ __m128i __DEFAULT_FN_ATTRS
8388
_mm256_cvtepi64_epi32 (__m256i __A)
8389
{
8390
return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
8391
(__v4si) _mm_undefined_si128(),
8392
(__mmask8) -1);
8393
}
8394
8395
static __inline__ __m128i __DEFAULT_FN_ATTRS
8396
_mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
8397
{
8398
return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
8399
(__v4si) __O, __M);
8400
}
8401
8402
static __inline__ __m128i __DEFAULT_FN_ATTRS
8403
_mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
8404
{
8405
return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
8406
(__v4si) _mm_setzero_si128 (),
8407
__M);
8408
}
8409
8410
static __inline__ void __DEFAULT_FN_ATTRS
8411
_mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
8412
{
8413
__builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
8414
}
8415
8416
static __inline__ __m128i __DEFAULT_FN_ATTRS
8417
_mm_cvtepi64_epi16 (__m128i __A)
8418
{
8419
return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
8420
(__v8hi) _mm_undefined_si128(),
8421
(__mmask8) -1);
8422
}
8423
8424
static __inline__ __m128i __DEFAULT_FN_ATTRS
8425
_mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
8426
{
8427
return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
8428
(__v8hi)__O,
8429
__M);
8430
}
8431
8432
static __inline__ __m128i __DEFAULT_FN_ATTRS
8433
_mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A)
8434
{
8435
return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
8436
(__v8hi) _mm_setzero_si128 (),
8437
__M);
8438
}
8439
8440
static __inline__ void __DEFAULT_FN_ATTRS
8441
_mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
8442
{
8443
__builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
8444
}
8445
8446
static __inline__ __m128i __DEFAULT_FN_ATTRS
8447
_mm256_cvtepi64_epi16 (__m256i __A)
8448
{
8449
return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
8450
(__v8hi)_mm_undefined_si128(),
8451
(__mmask8) -1);
8452
}
8453
8454
static __inline__ __m128i __DEFAULT_FN_ATTRS
8455
_mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
8456
{
8457
return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
8458
(__v8hi) __O, __M);
8459
}
8460
8461
static __inline__ __m128i __DEFAULT_FN_ATTRS
8462
_mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A)
8463
{
8464
return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
8465
(__v8hi) _mm_setzero_si128 (),
8466
__M);
8467
}
8468
8469
static __inline__ void __DEFAULT_FN_ATTRS
8470
_mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
8471
{
8472
__builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
8473
}
8474
8475
#define _mm256_extractf32x4_ps(A, imm) __extension__ ({ \
8476
(__m128)__builtin_ia32_extractf32x4_256_mask((__v8sf)(__m256)(A), \
8477
(int)(imm), \
8478
(__v4sf)_mm_setzero_ps(), \
8479
(__mmask8)-1); })
8480
8481
#define _mm256_mask_extractf32x4_ps(W, U, A, imm) __extension__ ({ \
8482
(__m128)__builtin_ia32_extractf32x4_256_mask((__v8sf)(__m256)(A), \
8483
(int)(imm), \
8484
(__v4sf)(__m128)(W), \
8485
(__mmask8)(U)); })
8486
8487
#define _mm256_maskz_extractf32x4_ps(U, A, imm) __extension__ ({ \
8488
(__m128)__builtin_ia32_extractf32x4_256_mask((__v8sf)(__m256)(A), \
8489
(int)(imm), \
8490
(__v4sf)_mm_setzero_ps(), \
8491
(__mmask8)(U)); })
8492
8493
#define _mm256_extracti32x4_epi32(A, imm) __extension__ ({ \
8494
(__m128i)__builtin_ia32_extracti32x4_256_mask((__v8si)(__m256i)(A), \
8495
(int)(imm), \
8496
(__v4si)_mm_setzero_si128(), \
8497
(__mmask8)-1); })
8498
8499
#define _mm256_mask_extracti32x4_epi32(W, U, A, imm) __extension__ ({ \
8500
(__m128i)__builtin_ia32_extracti32x4_256_mask((__v8si)(__m256i)(A), \
8501
(int)(imm), \
8502
(__v4si)(__m128i)(W), \
8503
(__mmask8)(U)); })
8504
8505
#define _mm256_maskz_extracti32x4_epi32(U, A, imm) __extension__ ({ \
8506
(__m128i)__builtin_ia32_extracti32x4_256_mask((__v8si)(__m256i)(A), \
8507
(int)(imm), \
8508
(__v4si)_mm_setzero_si128(), \
8509
(__mmask8)(U)); })
8510
8511
#define _mm256_insertf32x4(A, B, imm) __extension__ ({ \
8512
(__m256)__builtin_ia32_insertf32x4_256_mask((__v8sf)(__m256)(A), \
8513
(__v4sf)(__m128)(B), (int)(imm), \
8514
(__v8sf)_mm256_setzero_ps(), \
8515
(__mmask8)-1); })
8516
8517
#define _mm256_mask_insertf32x4(W, U, A, B, imm) __extension__ ({ \
8518
(__m256)__builtin_ia32_insertf32x4_256_mask((__v8sf)(__m256)(A), \
8519
(__v4sf)(__m128)(B), (int)(imm), \
8520
(__v8sf)(__m256)(W), \
8521
(__mmask8)(U)); })
8522
8523
#define _mm256_maskz_insertf32x4(U, A, B, imm) __extension__ ({ \
8524
(__m256)__builtin_ia32_insertf32x4_256_mask((__v8sf)(__m256)(A), \
8525
(__v4sf)(__m128)(B), (int)(imm), \
8526
(__v8sf)_mm256_setzero_ps(), \
8527
(__mmask8)(U)); })
8528
8529
#define _mm256_inserti32x4(A, B, imm) __extension__ ({ \
8530
(__m256i)__builtin_ia32_inserti32x4_256_mask((__v8si)(__m256i)(A), \
8531
(__v4si)(__m128i)(B), \
8532
(int)(imm), \
8533
(__v8si)_mm256_setzero_si256(), \
8534
(__mmask8)-1); })
8535
8536
#define _mm256_mask_inserti32x4(W, U, A, B, imm) __extension__ ({ \
8537
(__m256i)__builtin_ia32_inserti32x4_256_mask((__v8si)(__m256i)(A), \
8538
(__v4si)(__m128i)(B), \
8539
(int)(imm), \
8540
(__v8si)(__m256i)(W), \
8541
(__mmask8)(U)); })
8542
8543
#define _mm256_maskz_inserti32x4(U, A, B, imm) __extension__ ({ \
8544
(__m256i)__builtin_ia32_inserti32x4_256_mask((__v8si)(__m256i)(A), \
8545
(__v4si)(__m128i)(B), \
8546
(int)(imm), \
8547
(__v8si)_mm256_setzero_si256(), \
8548
(__mmask8)(U)); })
8549
8550
#define _mm_getmant_pd(A, B, C) __extension__({\
8551
(__m128d)__builtin_ia32_getmantpd128_mask((__v2df)(__m128d)(A), \
8552
(int)(((C)<<2) | (B)), \
8553
(__v2df)_mm_setzero_pd(), \
8554
(__mmask8)-1); })
8555
8556
#define _mm_mask_getmant_pd(W, U, A, B, C) __extension__({\
8557
(__m128d)__builtin_ia32_getmantpd128_mask((__v2df)(__m128d)(A), \
8558
(int)(((C)<<2) | (B)), \
8559
(__v2df)(__m128d)(W), \
8560
(__mmask8)(U)); })
8561
8562
#define _mm_maskz_getmant_pd(U, A, B, C) __extension__({\
8563
(__m128d)__builtin_ia32_getmantpd128_mask((__v2df)(__m128d)(A), \
8564
(int)(((C)<<2) | (B)), \
8565
(__v2df)_mm_setzero_pd(), \
8566
(__mmask8)(U)); })
8567
8568
#define _mm256_getmant_pd(A, B, C) __extension__ ({ \
8569
(__m256d)__builtin_ia32_getmantpd256_mask((__v4df)(__m256d)(A), \
8570
(int)(((C)<<2) | (B)), \
8571
(__v4df)_mm256_setzero_pd(), \
8572
(__mmask8)-1); })
8573
8574
#define _mm256_mask_getmant_pd(W, U, A, B, C) __extension__ ({ \
8575
(__m256d)__builtin_ia32_getmantpd256_mask((__v4df)(__m256d)(A), \
8576
(int)(((C)<<2) | (B)), \
8577
(__v4df)(__m256d)(W), \
8578
(__mmask8)(U)); })
8579
8580
#define _mm256_maskz_getmant_pd(U, A, B, C) __extension__ ({ \
8581
(__m256d)__builtin_ia32_getmantpd256_mask((__v4df)(__m256d)(A), \
8582
(int)(((C)<<2) | (B)), \
8583
(__v4df)_mm256_setzero_pd(), \
8584
(__mmask8)(U)); })
8585
8586
#define _mm_getmant_ps(A, B, C) __extension__ ({ \
8587
(__m128)__builtin_ia32_getmantps128_mask((__v4sf)(__m128)(A), \
8588
(int)(((C)<<2) | (B)), \
8589
(__v4sf)_mm_setzero_ps(), \
8590
(__mmask8)-1); })
8591
8592
#define _mm_mask_getmant_ps(W, U, A, B, C) __extension__ ({ \
8593
(__m128)__builtin_ia32_getmantps128_mask((__v4sf)(__m128)(A), \
8594
(int)(((C)<<2) | (B)), \
8595
(__v4sf)(__m128)(W), \
8596
(__mmask8)(U)); })
8597
8598
#define _mm_maskz_getmant_ps(U, A, B, C) __extension__ ({ \
8599
(__m128)__builtin_ia32_getmantps128_mask((__v4sf)(__m128)(A), \
8600
(int)(((C)<<2) | (B)), \
8601
(__v4sf)_mm_setzero_ps(), \
8602
(__mmask8)(U)); })
8603
8604
#define _mm256_getmant_ps(A, B, C) __extension__ ({ \
8605
(__m256)__builtin_ia32_getmantps256_mask((__v8sf)(__m256)(A), \
8606
(int)(((C)<<2) | (B)), \
8607
(__v8sf)_mm256_setzero_ps(), \
8608
(__mmask8)-1); })
8609
8610
#define _mm256_mask_getmant_ps(W, U, A, B, C) __extension__ ({ \
8611
(__m256)__builtin_ia32_getmantps256_mask((__v8sf)(__m256)(A), \
8612
(int)(((C)<<2) | (B)), \
8613
(__v8sf)(__m256)(W), \
8614
(__mmask8)(U)); })
8615
8616
#define _mm256_maskz_getmant_ps(U, A, B, C) __extension__ ({ \
8617
(__m256)__builtin_ia32_getmantps256_mask((__v8sf)(__m256)(A), \
8618
(int)(((C)<<2) | (B)), \
8619
(__v8sf)_mm256_setzero_ps(), \
8620
(__mmask8)(U)); })
8621
8622
#define _mm_mmask_i64gather_pd(v1_old, mask, index, addr, scale) __extension__ ({\
8623
(__m128d)__builtin_ia32_gather3div2df((__v2df)(__m128d)(v1_old), \
8624
(double const *)(addr), \
8625
(__v2di)(__m128i)(index), \
8626
(__mmask8)(mask), (int)(scale)); })
8627
8628
#define _mm_mmask_i64gather_epi64(v1_old, mask, index, addr, scale) __extension__ ({\
8629
(__m128i)__builtin_ia32_gather3div2di((__v2di)(__m128i)(v1_old), \
8630
(long long const *)(addr), \
8631
(__v2di)(__m128i)(index), \
8632
(__mmask8)(mask), (int)(scale)); })
8633
8634
#define _mm256_mmask_i64gather_pd(v1_old, mask, index, addr, scale) __extension__ ({\
8635
(__m256d)__builtin_ia32_gather3div4df((__v4df)(__m256d)(v1_old), \
8636
(double const *)(addr), \
8637
(__v4di)(__m256i)(index), \
8638
(__mmask8)(mask), (int)(scale)); })
8639
8640
#define _mm256_mmask_i64gather_epi64(v1_old, mask, index, addr, scale) __extension__ ({\
8641
(__m256i)__builtin_ia32_gather3div4di((__v4di)(__m256i)(v1_old), \
8642
(long long const *)(addr), \
8643
(__v4di)(__m256i)(index), \
8644
(__mmask8)(mask), (int)(scale)); })
8645
8646
#define _mm_mmask_i64gather_ps(v1_old, mask, index, addr, scale) __extension__ ({\
8647
(__m128)__builtin_ia32_gather3div4sf((__v4sf)(__m128)(v1_old), \
8648
(float const *)(addr), \
8649
(__v2di)(__m128i)(index), \
8650
(__mmask8)(mask), (int)(scale)); })
8651
8652
#define _mm_mmask_i64gather_epi32(v1_old, mask, index, addr, scale) __extension__ ({\
8653
(__m128i)__builtin_ia32_gather3div4si((__v4si)(__m128i)(v1_old), \
8654
(int const *)(addr), \
8655
(__v2di)(__m128i)(index), \
8656
(__mmask8)(mask), (int)(scale)); })
8657
8658
#define _mm256_mmask_i64gather_ps(v1_old, mask, index, addr, scale) __extension__ ({\
8659
(__m128)__builtin_ia32_gather3div8sf((__v4sf)(__m128)(v1_old), \
8660
(float const *)(addr), \
8661
(__v4di)(__m256i)(index), \
8662
(__mmask8)(mask), (int)(scale)); })
8663
8664
#define _mm256_mmask_i64gather_epi32(v1_old, mask, index, addr, scale) __extension__ ({\
8665
(__m128i)__builtin_ia32_gather3div8si((__v4si)(__m128i)(v1_old), \
8666
(int const *)(addr), \
8667
(__v4di)(__m256i)(index), \
8668
(__mmask8)(mask), (int)(scale)); })
8669
8670
#define _mm_mmask_i32gather_pd(v1_old, mask, index, addr, scale) __extension__ ({\
8671
(__m128d)__builtin_ia32_gather3siv2df((__v2df)(__m128d)(v1_old), \
8672
(double const *)(addr), \
8673
(__v4si)(__m128i)(index), \
8674
(__mmask8)(mask), (int)(scale)); })
8675
8676
#define _mm_mmask_i32gather_epi64(v1_old, mask, index, addr, scale) __extension__ ({\
8677
(__m128i)__builtin_ia32_gather3siv2di((__v2di)(__m128i)(v1_old), \
8678
(long long const *)(addr), \
8679
(__v4si)(__m128i)(index), \
8680
(__mmask8)(mask), (int)(scale)); })
8681
8682
#define _mm256_mmask_i32gather_pd(v1_old, mask, index, addr, scale) __extension__ ({\
8683
(__m256d)__builtin_ia32_gather3siv4df((__v4df)(__m256d)(v1_old), \
8684
(double const *)(addr), \
8685
(__v4si)(__m128i)(index), \
8686
(__mmask8)(mask), (int)(scale)); })
8687
8688
#define _mm256_mmask_i32gather_epi64(v1_old, mask, index, addr, scale) __extension__ ({\
8689
(__m256i)__builtin_ia32_gather3siv4di((__v4di)(__m256i)(v1_old), \
8690
(long long const *)(addr), \
8691
(__v4si)(__m128i)(index), \
8692
(__mmask8)(mask), (int)(scale)); })
8693
8694
#define _mm_mmask_i32gather_ps(v1_old, mask, index, addr, scale) __extension__ ({\
8695
(__m128)__builtin_ia32_gather3siv4sf((__v4sf)(__m128)(v1_old), \
8696
(float const *)(addr), \
8697
(__v4si)(__m128i)(index), \
8698
(__mmask8)(mask), (int)(scale)); })
8699
8700
#define _mm_mmask_i32gather_epi32(v1_old, mask, index, addr, scale) __extension__ ({\
8701
(__m128i)__builtin_ia32_gather3siv4si((__v4si)(__m128i)(v1_old), \
8702
(int const *)(addr), \
8703
(__v4si)(__m128i)(index), \
8704
(__mmask8)(mask), (int)(scale)); })
8705
8706
#define _mm256_mmask_i32gather_ps(v1_old, mask, index, addr, scale) __extension__ ({\
8707
(__m256)__builtin_ia32_gather3siv8sf((__v8sf)(__m256)(v1_old), \
8708
(float const *)(addr), \
8709
(__v8si)(__m256i)(index), \
8710
(__mmask8)(mask), (int)(scale)); })
8711
8712
#define _mm256_mmask_i32gather_epi32(v1_old, mask, index, addr, scale) __extension__ ({\
8713
(__m256i)__builtin_ia32_gather3siv8si((__v8si)(__m256i)(v1_old), \
8714
(int const *)(addr), \
8715
(__v8si)(__m256i)(index), \
8716
(__mmask8)(mask), (int)(scale)); })
8717
8718
#define _mm256_permutex_pd(X, C) __extension__ ({ \
8719
(__m256d)__builtin_shufflevector((__v4df)(__m256d)(X), \
8720
(__v4df)_mm256_undefined_pd(), \
8721
((C) >> 0) & 0x3, ((C) >> 2) & 0x3, \
8722
((C) >> 4) & 0x3, ((C) >> 6) & 0x3); })
8723
8724
#define _mm256_mask_permutex_pd(W, U, X, C) __extension__ ({ \
8725
(__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
8726
(__v4df)_mm256_permutex_pd((X), (C)), \
8727
(__v4df)(__m256d)(W)); })
8728
8729
#define _mm256_maskz_permutex_pd(U, X, C) __extension__ ({ \
8730
(__m256d)__builtin_ia32_selectpd_256((__mmask8)(U), \
8731
(__v4df)_mm256_permutex_pd((X), (C)), \
8732
(__v4df)_mm256_setzero_pd()); })
8733
8734
#define _mm256_permutex_epi64(X, C) __extension__ ({ \
8735
(__m256i)__builtin_shufflevector((__v4di)(__m256i)(X), \
8736
(__v4di)_mm256_undefined_si256(), \
8737
((C) >> 0) & 0x3, ((C) >> 2) & 0x3, \
8738
((C) >> 4) & 0x3, ((C) >> 6) & 0x3); })
8739
8740
#define _mm256_mask_permutex_epi64(W, U, X, C) __extension__ ({ \
8741
(__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
8742
(__v4di)_mm256_permutex_epi64((X), (C)), \
8743
(__v4di)(__m256i)(W)); })
8744
8745
#define _mm256_maskz_permutex_epi64(U, X, C) __extension__ ({ \
8746
(__m256i)__builtin_ia32_selectq_256((__mmask8)(U), \
8747
(__v4di)_mm256_permutex_epi64((X), (C)), \
8748
(__v4di)_mm256_setzero_si256()); })
8749
8750
static __inline__ __m256d __DEFAULT_FN_ATTRS
8751
_mm256_permutexvar_pd (__m256i __X, __m256d __Y)
8752
{
8753
return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8754
(__v4di) __X,
8755
(__v4df) _mm256_undefined_si256 (),
8756
(__mmask8) -1);
8757
}
8758
8759
static __inline__ __m256d __DEFAULT_FN_ATTRS
8760
_mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
8761
__m256d __Y)
8762
{
8763
return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8764
(__v4di) __X,
8765
(__v4df) __W,
8766
(__mmask8) __U);
8767
}
8768
8769
static __inline__ __m256d __DEFAULT_FN_ATTRS
8770
_mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
8771
{
8772
return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
8773
(__v4di) __X,
8774
(__v4df) _mm256_setzero_pd (),
8775
(__mmask8) __U);
8776
}
8777
8778
static __inline__ __m256i __DEFAULT_FN_ATTRS
8779
_mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
8780
{
8781
return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
8782
(__v4di) __X,
8783
(__v4di) _mm256_setzero_si256 (),
8784
(__mmask8) __M);
8785
}
8786
8787
static __inline__ __m256i __DEFAULT_FN_ATTRS
8788
_mm256_permutexvar_epi64 ( __m256i __X, __m256i __Y)
8789
{
8790
return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
8791
(__v4di) __X,
8792
(__v4di) _mm256_undefined_si256 (),
8793
(__mmask8) -1);
8794
}
8795
8796
static __inline__ __m256i __DEFAULT_FN_ATTRS
8797
_mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
8798
__m256i __Y)
8799
{
8800
return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
8801
(__v4di) __X,
8802
(__v4di) __W,
8803
__M);
8804
}
8805
8806
static __inline__ __m256 __DEFAULT_FN_ATTRS
8807
_mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X,
8808
__m256 __Y)
8809
{
8810
return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8811
(__v8si) __X,
8812
(__v8sf) __W,
8813
(__mmask8) __U);
8814
}
8815
8816
static __inline__ __m256 __DEFAULT_FN_ATTRS
8817
_mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y)
8818
{
8819
return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8820
(__v8si) __X,
8821
(__v8sf) _mm256_setzero_ps (),
8822
(__mmask8) __U);
8823
}
8824
8825
static __inline__ __m256 __DEFAULT_FN_ATTRS
8826
_mm256_permutexvar_ps (__m256i __X, __m256 __Y)
8827
{
8828
return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
8829
(__v8si) __X,
8830
(__v8sf) _mm256_undefined_si256 (),
8831
(__mmask8) -1);
8832
}
8833
8834
static __inline__ __m256i __DEFAULT_FN_ATTRS
8835
_mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
8836
{
8837
return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
8838
(__v8si) __X,
8839
(__v8si) _mm256_setzero_si256 (),
8840
__M);
8841
}
8842
8843
static __inline__ __m256i __DEFAULT_FN_ATTRS
8844
_mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
8845
__m256i __Y)
8846
{
8847
return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
8848
(__v8si) __X,
8849
(__v8si) __W,
8850
(__mmask8) __M);
8851
}
8852
8853
static __inline__ __m256i __DEFAULT_FN_ATTRS
8854
_mm256_permutexvar_epi32 (__m256i __X, __m256i __Y)
8855
{
8856
return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
8857
(__v8si) __X,
8858
(__v8si) _mm256_undefined_si256(),
8859
(__mmask8) -1);
8860
}
8861
8862
#define _mm_alignr_epi32(A, B, imm) __extension__ ({ \
8863
(__m128i)__builtin_ia32_alignd128_mask((__v4si)(__m128i)(A), \
8864
(__v4si)(__m128i)(B), (int)(imm), \
8865
(__v4si)_mm_undefined_si128(), \
8866
(__mmask8)-1); })
8867
8868
#define _mm_mask_alignr_epi32(W, U, A, B, imm) __extension__ ({ \
8869
(__m128i)__builtin_ia32_alignd128_mask((__v4si)(__m128i)(A), \
8870
(__v4si)(__m128i)(B), (int)(imm), \
8871
(__v4si)(__m128i)(W), \
8872
(__mmask8)(U)); })
8873
8874
#define _mm_maskz_alignr_epi32(U, A, B, imm) __extension__ ({ \
8875
(__m128i)__builtin_ia32_alignd128_mask((__v4si)(__m128i)(A), \
8876
(__v4si)(__m128i)(B), (int)(imm), \
8877
(__v4si)_mm_setzero_si128(), \
8878
(__mmask8)(U)); })
8879
8880
#define _mm256_alignr_epi32(A, B, imm) __extension__ ({ \
8881
(__m256i)__builtin_ia32_alignd256_mask((__v8si)(__m256i)(A), \
8882
(__v8si)(__m256i)(B), (int)(imm), \
8883
(__v8si)_mm256_undefined_si256(), \
8884
(__mmask8)-1); })
8885
8886
#define _mm256_mask_alignr_epi32(W, U, A, B, imm) __extension__ ({ \
8887
(__m256i)__builtin_ia32_alignd256_mask((__v8si)(__m256i)(A), \
8888
(__v8si)(__m256i)(B), (int)(imm), \
8889
(__v8si)(__m256i)(W), \
8890
(__mmask8)(U)); })
8891
8892
#define _mm256_maskz_alignr_epi32(U, A, B, imm) __extension__ ({ \
8893
(__m256i)__builtin_ia32_alignd256_mask((__v8si)(__m256i)(A), \
8894
(__v8si)(__m256i)(B), (int)(imm), \
8895
(__v8si)_mm256_setzero_si256(), \
8896
(__mmask8)(U)); })
8897
8898
#define _mm_alignr_epi64(A, B, imm) __extension__ ({ \
8899
(__m128i)__builtin_ia32_alignq128_mask((__v2di)(__m128i)(A), \
8900
(__v2di)(__m128i)(B), (int)(imm), \
8901
(__v2di)_mm_setzero_di(), \
8902
(__mmask8)-1); })
8903
8904
#define _mm_mask_alignr_epi64(W, U, A, B, imm) __extension__ ({ \
8905
(__m128i)__builtin_ia32_alignq128_mask((__v2di)(__m128i)(A), \
8906
(__v2di)(__m128i)(B), (int)(imm), \
8907
(__v2di)(__m128i)(W), \
8908
(__mmask8)(U)); })
8909
8910
#define _mm_maskz_alignr_epi64(U, A, B, imm) __extension__ ({ \
8911
(__m128i)__builtin_ia32_alignq128_mask((__v2di)(__m128i)(A), \
8912
(__v2di)(__m128i)(B), (int)(imm), \
8913
(__v2di)_mm_setzero_di(), \
8914
(__mmask8)(U)); })
8915
8916
#define _mm256_alignr_epi64(A, B, imm) __extension__ ({ \
8917
(__m256i)__builtin_ia32_alignq256_mask((__v4di)(__m256i)(A), \
8918
(__v4di)(__m256i)(B), (int)(imm), \
8919
(__v4di)_mm256_undefined_pd(), \
8920
(__mmask8)-1); })
8921
8922
#define _mm256_mask_alignr_epi64(W, U, A, B, imm) __extension__ ({ \
8923
(__m256i)__builtin_ia32_alignq256_mask((__v4di)(__m256i)(A), \
8924
(__v4di)(__m256i)(B), (int)(imm), \
8925
(__v4di)(__m256i)(W), \
8926
(__mmask8)(U)); })
8927
8928
#define _mm256_maskz_alignr_epi64(U, A, B, imm) __extension__ ({ \
8929
(__m256i)__builtin_ia32_alignq256_mask((__v4di)(__m256i)(A), \
8930
(__v4di)(__m256i)(B), (int)(imm), \
8931
(__v4di)_mm256_setzero_si256(), \
8932
(__mmask8)(U)); })
8933
8934
static __inline__ __m128 __DEFAULT_FN_ATTRS
8935
_mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
8936
{
8937
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
8938
(__v4sf)_mm_movehdup_ps(__A),
8939
(__v4sf)__W);
8940
}
8941
8942
static __inline__ __m128 __DEFAULT_FN_ATTRS
8943
_mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
8944
{
8945
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
8946
(__v4sf)_mm_movehdup_ps(__A),
8947
(__v4sf)_mm_setzero_ps());
8948
}
8949
8950
static __inline__ __m256 __DEFAULT_FN_ATTRS
8951
_mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
8952
{
8953
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
8954
(__v8sf)_mm256_movehdup_ps(__A),
8955
(__v8sf)__W);
8956
}
8957
8958
static __inline__ __m256 __DEFAULT_FN_ATTRS
8959
_mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
8960
{
8961
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
8962
(__v8sf)_mm256_movehdup_ps(__A),
8963
(__v8sf)_mm256_setzero_ps());
8964
}
8965
8966
static __inline__ __m128 __DEFAULT_FN_ATTRS
8967
_mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
8968
{
8969
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
8970
(__v4sf)_mm_moveldup_ps(__A),
8971
(__v4sf)__W);
8972
}
8973
8974
static __inline__ __m128 __DEFAULT_FN_ATTRS
8975
_mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
8976
{
8977
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
8978
(__v4sf)_mm_moveldup_ps(__A),
8979
(__v4sf)_mm_setzero_ps());
8980
}
8981
8982
static __inline__ __m256 __DEFAULT_FN_ATTRS
8983
_mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
8984
{
8985
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
8986
(__v8sf)_mm256_moveldup_ps(__A),
8987
(__v8sf)__W);
8988
}
8989
8990
static __inline__ __m256 __DEFAULT_FN_ATTRS
8991
_mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
8992
{
8993
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
8994
(__v8sf)_mm256_moveldup_ps(__A),
8995
(__v8sf)_mm256_setzero_ps());
8996
}
8997
8998
#define _mm256_mask_shuffle_epi32(W, U, A, I) __extension__({\
8999
(__m256i)__builtin_ia32_selectd_256((__mmask8)(U), \
9000
(__v8si)_mm256_shuffle_epi32((A), (I)), \
9001
(__v8si)(__m256i)(W)); })
9002
9003
#define _mm256_maskz_shuffle_epi32(U, A, I) __extension__({\
9004
(__m256i)__builtin_ia32_selectd_256((__mmask8)(U), \
9005
(__v8si)_mm256_shuffle_epi32((A), (I)), \
9006
(__v8si)_mm256_setzero_si256()); })
9007
9008
#define _mm_mask_shuffle_epi32(W, U, A, I) __extension__({\
9009
(__m128i)__builtin_ia32_selectd_128((__mmask8)(U), \
9010
(__v4si)_mm_shuffle_epi32((A), (I)), \
9011
(__v4si)(__m128i)(W)); })
9012
9013
#define _mm_maskz_shuffle_epi32(U, A, I) __extension__({\
9014
(__m128i)__builtin_ia32_selectd_128((__mmask8)(U), \
9015
(__v4si)_mm_shuffle_epi32((A), (I)), \
9016
(__v4si)_mm_setzero_si128()); })
9017
9018
static __inline__ __m128d __DEFAULT_FN_ATTRS
9019
_mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A)
9020
{
9021
return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
9022
(__v2df) __A,
9023
(__v2df) __W);
9024
}
9025
9026
static __inline__ __m128d __DEFAULT_FN_ATTRS
9027
_mm_maskz_mov_pd (__mmask8 __U, __m128d __A)
9028
{
9029
return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
9030
(__v2df) __A,
9031
(__v2df) _mm_setzero_pd ());
9032
}
9033
9034
static __inline__ __m256d __DEFAULT_FN_ATTRS
9035
_mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A)
9036
{
9037
return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
9038
(__v4df) __A,
9039
(__v4df) __W);
9040
}
9041
9042
static __inline__ __m256d __DEFAULT_FN_ATTRS
9043
_mm256_maskz_mov_pd (__mmask8 __U, __m256d __A)
9044
{
9045
return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
9046
(__v4df) __A,
9047
(__v4df) _mm256_setzero_pd ());
9048
}
9049
9050
static __inline__ __m128 __DEFAULT_FN_ATTRS
9051
_mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A)
9052
{
9053
return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
9054
(__v4sf) __A,
9055
(__v4sf) __W);
9056
}
9057
9058
static __inline__ __m128 __DEFAULT_FN_ATTRS
9059
_mm_maskz_mov_ps (__mmask8 __U, __m128 __A)
9060
{
9061
return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
9062
(__v4sf) __A,
9063
(__v4sf) _mm_setzero_ps ());
9064
}
9065
9066
static __inline__ __m256 __DEFAULT_FN_ATTRS
9067
_mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A)
9068
{
9069
return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
9070
(__v8sf) __A,
9071
(__v8sf) __W);
9072
}
9073
9074
static __inline__ __m256 __DEFAULT_FN_ATTRS
9075
_mm256_maskz_mov_ps (__mmask8 __U, __m256 __A)
9076
{
9077
return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
9078
(__v8sf) __A,
9079
(__v8sf) _mm256_setzero_ps ());
9080
}
9081
9082
static __inline__ __m128 __DEFAULT_FN_ATTRS
9083
_mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A)
9084
{
9085
return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
9086
(__v4sf) __W,
9087
(__mmask8) __U);
9088
}
9089
9090
static __inline__ __m128 __DEFAULT_FN_ATTRS
9091
_mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
9092
{
9093
return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
9094
(__v4sf)
9095
_mm_setzero_ps (),
9096
(__mmask8) __U);
9097
}
9098
9099
static __inline__ __m256 __DEFAULT_FN_ATTRS
9100
_mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A)
9101
{
9102
return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
9103
(__v8sf) __W,
9104
(__mmask8) __U);
9105
}
9106
9107
static __inline__ __m256 __DEFAULT_FN_ATTRS
9108
_mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
9109
{
9110
return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
9111
(__v8sf)
9112
_mm256_setzero_ps (),
9113
(__mmask8) __U);
9114
}
9115
9116
static __inline __m128i __DEFAULT_FN_ATTRS
9117
_mm_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m128 __A)
9118
{
9119
return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, _MM_FROUND_CUR_DIRECTION,
9120
(__v8hi) __W,
9121
(__mmask8) __U);
9122
}
9123
9124
static __inline __m128i __DEFAULT_FN_ATTRS
9125
_mm_maskz_cvtps_ph (__mmask8 __U, __m128 __A)
9126
{
9127
return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, _MM_FROUND_CUR_DIRECTION,
9128
(__v8hi) _mm_setzero_si128 (),
9129
(__mmask8) __U);
9130
}
9131
9132
#define _mm_mask_cvt_roundps_ph(W, U, A, I) __extension__ ({ \
9133
(__m128i)__builtin_ia32_vcvtps2ph_mask((__v4sf)(__m128)(A), (int)(I), \
9134
(__v8hi)(__m128i)(W), \
9135
(__mmask8)(U)); })
9136
9137
#define _mm_maskz_cvt_roundps_ph(U, A, I) __extension__ ({ \
9138
(__m128i)__builtin_ia32_vcvtps2ph_mask((__v4sf)(__m128)(A), (int)(I), \
9139
(__v8hi)_mm_setzero_si128(), \
9140
(__mmask8)(U)); })
9141
9142
static __inline __m128i __DEFAULT_FN_ATTRS
9143
_mm256_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m256 __A)
9144
{
9145
return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, _MM_FROUND_CUR_DIRECTION,
9146
(__v8hi) __W,
9147
(__mmask8) __U);
9148
}
9149
9150
static __inline __m128i __DEFAULT_FN_ATTRS
9151
_mm256_maskz_cvtps_ph ( __mmask8 __U, __m256 __A)
9152
{
9153
return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, _MM_FROUND_CUR_DIRECTION,
9154
(__v8hi) _mm_setzero_si128(),
9155
(__mmask8) __U);
9156
}
9157
#define _mm256_mask_cvt_roundps_ph(W, U, A, I) __extension__ ({ \
9158
(__m128i)__builtin_ia32_vcvtps2ph256_mask((__v8sf)(__m256)(A), (int)(I), \
9159
(__v8hi)(__m128i)(W), \
9160
(__mmask8)(U)); })
9161
9162
#define _mm256_maskz_cvt_roundps_ph(U, A, I) __extension__ ({ \
9163
(__m128i)__builtin_ia32_vcvtps2ph256_mask((__v8sf)(__m256)(A), (int)(I), \
9164
(__v8hi)_mm_setzero_si128(), \
9165
(__mmask8)(U)); })
9166
9167
9168
#undef __DEFAULT_FN_ATTRS
9169
9170
#endif /* __AVX512VLINTRIN_H */
9171
9172