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#define __DEFAULT_FN_ATTRS_BOTH __attribute__((__always_inline__, __nodebug__, __target__("avx512vl, avx512bw"))) 33 34/* Integer compare */ 35 36static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 37_mm_cmpeq_epi32_mask(__m128i __a, __m128i __b) { 38 return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b, 39 (__mmask8)-1); 40} 41 42static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 43_mm_mask_cmpeq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 44 return (__mmask8)__builtin_ia32_pcmpeqd128_mask((__v4si)__a, (__v4si)__b, 45 __u); 46} 47 48static __inline__ __mmask8 __DEFAULT_FN_ATTRS 49_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) { 50 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0, 51 (__mmask8)-1); 52} 53 54static __inline__ __mmask8 __DEFAULT_FN_ATTRS 55_mm_mask_cmpeq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 56 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 0, 57 __u); 58} 59 60static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 61_mm256_cmpeq_epi32_mask(__m256i __a, __m256i __b) { 62 return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b, 63 (__mmask8)-1); 64} 65 66static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 67_mm256_mask_cmpeq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 68 return (__mmask8)__builtin_ia32_pcmpeqd256_mask((__v8si)__a, (__v8si)__b, 69 __u); 70} 71 72static __inline__ __mmask8 __DEFAULT_FN_ATTRS 73_mm256_cmpeq_epu32_mask(__m256i __a, __m256i __b) { 74 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0, 75 (__mmask8)-1); 76} 77 78static __inline__ __mmask8 __DEFAULT_FN_ATTRS 79_mm256_mask_cmpeq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 80 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 0, 81 __u); 82} 83 84static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 85_mm_cmpeq_epi64_mask(__m128i __a, __m128i __b) { 86 return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b, 87 (__mmask8)-1); 88} 89 90static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 91_mm_mask_cmpeq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 92 return (__mmask8)__builtin_ia32_pcmpeqq128_mask((__v2di)__a, (__v2di)__b, 93 __u); 94} 95 96static __inline__ __mmask8 __DEFAULT_FN_ATTRS 97_mm_cmpeq_epu64_mask(__m128i __a, __m128i __b) { 98 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0, 99 (__mmask8)-1); 100} 101 102static __inline__ __mmask8 __DEFAULT_FN_ATTRS 103_mm_mask_cmpeq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 104 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 0, 105 __u); 106} 107 108static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 109_mm256_cmpeq_epi64_mask(__m256i __a, __m256i __b) { 110 return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b, 111 (__mmask8)-1); 112} 113 114static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 115_mm256_mask_cmpeq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 116 return (__mmask8)__builtin_ia32_pcmpeqq256_mask((__v4di)__a, (__v4di)__b, 117 __u); 118} 119 120static __inline__ __mmask8 __DEFAULT_FN_ATTRS 121_mm256_cmpeq_epu64_mask(__m256i __a, __m256i __b) { 122 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0, 123 (__mmask8)-1); 124} 125 126static __inline__ __mmask8 __DEFAULT_FN_ATTRS 127_mm256_mask_cmpeq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 128 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 0, 129 __u); 130} 131 132 133static __inline__ __mmask8 __DEFAULT_FN_ATTRS 134_mm_cmpge_epi32_mask(__m128i __a, __m128i __b) { 135 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5, 136 (__mmask8)-1); 137} 138 139static __inline__ __mmask8 __DEFAULT_FN_ATTRS 140_mm_mask_cmpge_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 141 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 5, 142 __u); 143} 144 145static __inline__ __mmask8 __DEFAULT_FN_ATTRS 146_mm_cmpge_epu32_mask(__m128i __a, __m128i __b) { 147 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5, 148 (__mmask8)-1); 149} 150 151static __inline__ __mmask8 __DEFAULT_FN_ATTRS 152_mm_mask_cmpge_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 153 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 5, 154 __u); 155} 156 157static __inline__ __mmask8 __DEFAULT_FN_ATTRS 158_mm256_cmpge_epi32_mask(__m256i __a, __m256i __b) { 159 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5, 160 (__mmask8)-1); 161} 162 163static __inline__ __mmask8 __DEFAULT_FN_ATTRS 164_mm256_mask_cmpge_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 165 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 5, 166 __u); 167} 168 169static __inline__ __mmask8 __DEFAULT_FN_ATTRS 170_mm256_cmpge_epu32_mask(__m256i __a, __m256i __b) { 171 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5, 172 (__mmask8)-1); 173} 174 175static __inline__ __mmask8 __DEFAULT_FN_ATTRS 176_mm256_mask_cmpge_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 177 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 5, 178 __u); 179} 180 181static __inline__ __mmask8 __DEFAULT_FN_ATTRS 182_mm_cmpge_epi64_mask(__m128i __a, __m128i __b) { 183 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5, 184 (__mmask8)-1); 185} 186 187static __inline__ __mmask8 __DEFAULT_FN_ATTRS 188_mm_mask_cmpge_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 189 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 5, 190 __u); 191} 192 193static __inline__ __mmask8 __DEFAULT_FN_ATTRS 194_mm_cmpge_epu64_mask(__m128i __a, __m128i __b) { 195 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5, 196 (__mmask8)-1); 197} 198 199static __inline__ __mmask8 __DEFAULT_FN_ATTRS 200_mm_mask_cmpge_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 201 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 5, 202 __u); 203} 204 205static __inline__ __mmask8 __DEFAULT_FN_ATTRS 206_mm256_cmpge_epi64_mask(__m256i __a, __m256i __b) { 207 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5, 208 (__mmask8)-1); 209} 210 211static __inline__ __mmask8 __DEFAULT_FN_ATTRS 212_mm256_mask_cmpge_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 213 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 5, 214 __u); 215} 216 217static __inline__ __mmask8 __DEFAULT_FN_ATTRS 218_mm256_cmpge_epu64_mask(__m256i __a, __m256i __b) { 219 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5, 220 (__mmask8)-1); 221} 222 223static __inline__ __mmask8 __DEFAULT_FN_ATTRS 224_mm256_mask_cmpge_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 225 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 5, 226 __u); 227} 228 229static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 230_mm_cmpgt_epi32_mask(__m128i __a, __m128i __b) { 231 return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b, 232 (__mmask8)-1); 233} 234 235static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 236_mm_mask_cmpgt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 237 return (__mmask8)__builtin_ia32_pcmpgtd128_mask((__v4si)__a, (__v4si)__b, 238 __u); 239} 240 241static __inline__ __mmask8 __DEFAULT_FN_ATTRS 242_mm_cmpgt_epu32_mask(__m128i __a, __m128i __b) { 243 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6, 244 (__mmask8)-1); 245} 246 247static __inline__ __mmask8 __DEFAULT_FN_ATTRS 248_mm_mask_cmpgt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 249 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 6, 250 __u); 251} 252 253static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 254_mm256_cmpgt_epi32_mask(__m256i __a, __m256i __b) { 255 return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b, 256 (__mmask8)-1); 257} 258 259static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 260_mm256_mask_cmpgt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 261 return (__mmask8)__builtin_ia32_pcmpgtd256_mask((__v8si)__a, (__v8si)__b, 262 __u); 263} 264 265static __inline__ __mmask8 __DEFAULT_FN_ATTRS 266_mm256_cmpgt_epu32_mask(__m256i __a, __m256i __b) { 267 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6, 268 (__mmask8)-1); 269} 270 271static __inline__ __mmask8 __DEFAULT_FN_ATTRS 272_mm256_mask_cmpgt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 273 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 6, 274 __u); 275} 276 277static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 278_mm_cmpgt_epi64_mask(__m128i __a, __m128i __b) { 279 return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b, 280 (__mmask8)-1); 281} 282 283static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 284_mm_mask_cmpgt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 285 return (__mmask8)__builtin_ia32_pcmpgtq128_mask((__v2di)__a, (__v2di)__b, 286 __u); 287} 288 289static __inline__ __mmask8 __DEFAULT_FN_ATTRS 290_mm_cmpgt_epu64_mask(__m128i __a, __m128i __b) { 291 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6, 292 (__mmask8)-1); 293} 294 295static __inline__ __mmask8 __DEFAULT_FN_ATTRS 296_mm_mask_cmpgt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 297 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 6, 298 __u); 299} 300 301static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 302_mm256_cmpgt_epi64_mask(__m256i __a, __m256i __b) { 303 return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b, 304 (__mmask8)-1); 305} 306 307static __inline__ __mmask8 __DEFAULT_FN_ATTRS_BOTH 308_mm256_mask_cmpgt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 309 return (__mmask8)__builtin_ia32_pcmpgtq256_mask((__v4di)__a, (__v4di)__b, 310 __u); 311} 312 313static __inline__ __mmask8 __DEFAULT_FN_ATTRS 314_mm256_cmpgt_epu64_mask(__m256i __a, __m256i __b) { 315 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6, 316 (__mmask8)-1); 317} 318 319static __inline__ __mmask8 __DEFAULT_FN_ATTRS 320_mm256_mask_cmpgt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 321 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 6, 322 __u); 323} 324 325static __inline__ __mmask8 __DEFAULT_FN_ATTRS 326_mm_cmple_epi32_mask(__m128i __a, __m128i __b) { 327 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2, 328 (__mmask8)-1); 329} 330 331static __inline__ __mmask8 __DEFAULT_FN_ATTRS 332_mm_mask_cmple_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 333 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 2, 334 __u); 335} 336 337static __inline__ __mmask8 __DEFAULT_FN_ATTRS 338_mm_cmple_epu32_mask(__m128i __a, __m128i __b) { 339 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2, 340 (__mmask8)-1); 341} 342 343static __inline__ __mmask8 __DEFAULT_FN_ATTRS 344_mm_mask_cmple_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 345 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 2, 346 __u); 347} 348 349static __inline__ __mmask8 __DEFAULT_FN_ATTRS 350_mm256_cmple_epi32_mask(__m256i __a, __m256i __b) { 351 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2, 352 (__mmask8)-1); 353} 354 355static __inline__ __mmask8 __DEFAULT_FN_ATTRS 356_mm256_mask_cmple_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 357 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 2, 358 __u); 359} 360 361static __inline__ __mmask8 __DEFAULT_FN_ATTRS 362_mm256_cmple_epu32_mask(__m256i __a, __m256i __b) { 363 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2, 364 (__mmask8)-1); 365} 366 367static __inline__ __mmask8 __DEFAULT_FN_ATTRS 368_mm256_mask_cmple_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 369 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 2, 370 __u); 371} 372 373static __inline__ __mmask8 __DEFAULT_FN_ATTRS 374_mm_cmple_epi64_mask(__m128i __a, __m128i __b) { 375 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2, 376 (__mmask8)-1); 377} 378 379static __inline__ __mmask8 __DEFAULT_FN_ATTRS 380_mm_mask_cmple_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 381 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 2, 382 __u); 383} 384 385static __inline__ __mmask8 __DEFAULT_FN_ATTRS 386_mm_cmple_epu64_mask(__m128i __a, __m128i __b) { 387 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2, 388 (__mmask8)-1); 389} 390 391static __inline__ __mmask8 __DEFAULT_FN_ATTRS 392_mm_mask_cmple_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 393 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 2, 394 __u); 395} 396 397static __inline__ __mmask8 __DEFAULT_FN_ATTRS 398_mm256_cmple_epi64_mask(__m256i __a, __m256i __b) { 399 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2, 400 (__mmask8)-1); 401} 402 403static __inline__ __mmask8 __DEFAULT_FN_ATTRS 404_mm256_mask_cmple_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 405 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 2, 406 __u); 407} 408 409static __inline__ __mmask8 __DEFAULT_FN_ATTRS 410_mm256_cmple_epu64_mask(__m256i __a, __m256i __b) { 411 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2, 412 (__mmask8)-1); 413} 414 415static __inline__ __mmask8 __DEFAULT_FN_ATTRS 416_mm256_mask_cmple_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 417 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 2, 418 __u); 419} 420 421static __inline__ __mmask8 __DEFAULT_FN_ATTRS 422_mm_cmplt_epi32_mask(__m128i __a, __m128i __b) { 423 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1, 424 (__mmask8)-1); 425} 426 427static __inline__ __mmask8 __DEFAULT_FN_ATTRS 428_mm_mask_cmplt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 429 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 1, 430 __u); 431} 432 433static __inline__ __mmask8 __DEFAULT_FN_ATTRS 434_mm_cmplt_epu32_mask(__m128i __a, __m128i __b) { 435 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1, 436 (__mmask8)-1); 437} 438 439static __inline__ __mmask8 __DEFAULT_FN_ATTRS 440_mm_mask_cmplt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 441 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 1, 442 __u); 443} 444 445static __inline__ __mmask8 __DEFAULT_FN_ATTRS 446_mm256_cmplt_epi32_mask(__m256i __a, __m256i __b) { 447 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1, 448 (__mmask8)-1); 449} 450 451static __inline__ __mmask8 __DEFAULT_FN_ATTRS 452_mm256_mask_cmplt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 453 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 1, 454 __u); 455} 456 457static __inline__ __mmask8 __DEFAULT_FN_ATTRS 458_mm256_cmplt_epu32_mask(__m256i __a, __m256i __b) { 459 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1, 460 (__mmask8)-1); 461} 462 463static __inline__ __mmask8 __DEFAULT_FN_ATTRS 464_mm256_mask_cmplt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 465 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 1, 466 __u); 467} 468 469static __inline__ __mmask8 __DEFAULT_FN_ATTRS 470_mm_cmplt_epi64_mask(__m128i __a, __m128i __b) { 471 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1, 472 (__mmask8)-1); 473} 474 475static __inline__ __mmask8 __DEFAULT_FN_ATTRS 476_mm_mask_cmplt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 477 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 1, 478 __u); 479} 480 481static __inline__ __mmask8 __DEFAULT_FN_ATTRS 482_mm_cmplt_epu64_mask(__m128i __a, __m128i __b) { 483 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1, 484 (__mmask8)-1); 485} 486 487static __inline__ __mmask8 __DEFAULT_FN_ATTRS 488_mm_mask_cmplt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 489 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 1, 490 __u); 491} 492 493static __inline__ __mmask8 __DEFAULT_FN_ATTRS 494_mm256_cmplt_epi64_mask(__m256i __a, __m256i __b) { 495 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1, 496 (__mmask8)-1); 497} 498 499static __inline__ __mmask8 __DEFAULT_FN_ATTRS 500_mm256_mask_cmplt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 501 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 1, 502 __u); 503} 504 505static __inline__ __mmask8 __DEFAULT_FN_ATTRS 506_mm256_cmplt_epu64_mask(__m256i __a, __m256i __b) { 507 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1, 508 (__mmask8)-1); 509} 510 511static __inline__ __mmask8 __DEFAULT_FN_ATTRS 512_mm256_mask_cmplt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 513 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 1, 514 __u); 515} 516 517static __inline__ __mmask8 __DEFAULT_FN_ATTRS 518_mm_cmpneq_epi32_mask(__m128i __a, __m128i __b) { 519 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4, 520 (__mmask8)-1); 521} 522 523static __inline__ __mmask8 __DEFAULT_FN_ATTRS 524_mm_mask_cmpneq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 525 return (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)__a, (__v4si)__b, 4, 526 __u); 527} 528 529static __inline__ __mmask8 __DEFAULT_FN_ATTRS 530_mm_cmpneq_epu32_mask(__m128i __a, __m128i __b) { 531 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4, 532 (__mmask8)-1); 533} 534 535static __inline__ __mmask8 __DEFAULT_FN_ATTRS 536_mm_mask_cmpneq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) { 537 return (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)__a, (__v4si)__b, 4, 538 __u); 539} 540 541static __inline__ __mmask8 __DEFAULT_FN_ATTRS 542_mm256_cmpneq_epi32_mask(__m256i __a, __m256i __b) { 543 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4, 544 (__mmask8)-1); 545} 546 547static __inline__ __mmask8 __DEFAULT_FN_ATTRS 548_mm256_mask_cmpneq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 549 return (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)__a, (__v8si)__b, 4, 550 __u); 551} 552 553static __inline__ __mmask8 __DEFAULT_FN_ATTRS 554_mm256_cmpneq_epu32_mask(__m256i __a, __m256i __b) { 555 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4, 556 (__mmask8)-1); 557} 558 559static __inline__ __mmask8 __DEFAULT_FN_ATTRS 560_mm256_mask_cmpneq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) { 561 return (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)__a, (__v8si)__b, 4, 562 __u); 563} 564 565static __inline__ __mmask8 __DEFAULT_FN_ATTRS 566_mm_cmpneq_epi64_mask(__m128i __a, __m128i __b) { 567 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4, 568 (__mmask8)-1); 569} 570 571static __inline__ __mmask8 __DEFAULT_FN_ATTRS 572_mm_mask_cmpneq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 573 return (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)__a, (__v2di)__b, 4, 574 __u); 575} 576 577static __inline__ __mmask8 __DEFAULT_FN_ATTRS 578_mm_cmpneq_epu64_mask(__m128i __a, __m128i __b) { 579 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4, 580 (__mmask8)-1); 581} 582 583static __inline__ __mmask8 __DEFAULT_FN_ATTRS 584_mm_mask_cmpneq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) { 585 return (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)__a, (__v2di)__b, 4, 586 __u); 587} 588 589static __inline__ __mmask8 __DEFAULT_FN_ATTRS 590_mm256_cmpneq_epi64_mask(__m256i __a, __m256i __b) { 591 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4, 592 (__mmask8)-1); 593} 594 595static __inline__ __mmask8 __DEFAULT_FN_ATTRS 596_mm256_mask_cmpneq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 597 return (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)__a, (__v4di)__b, 4, 598 __u); 599} 600 601static __inline__ __mmask8 __DEFAULT_FN_ATTRS 602_mm256_cmpneq_epu64_mask(__m256i __a, __m256i __b) { 603 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4, 604 (__mmask8)-1); 605} 606 607static __inline__ __mmask8 __DEFAULT_FN_ATTRS 608_mm256_mask_cmpneq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) { 609 return (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)__a, (__v4di)__b, 4, 610 __u); 611} 612 613static __inline__ __m256i __DEFAULT_FN_ATTRS 614_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 615 __m256i __B) 616{ 617 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A, 618 (__v8si) __B, 619 (__v8si) __W, 620 (__mmask8) __U); 621} 622 623static __inline__ __m256i __DEFAULT_FN_ATTRS 624_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 625{ 626 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A, 627 (__v8si) __B, 628 (__v8si) 629 _mm256_setzero_si256 (), 630 (__mmask8) __U); 631} 632 633static __inline__ __m256i __DEFAULT_FN_ATTRS 634_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 635 __m256i __B) 636{ 637 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A, 638 (__v4di) __B, 639 (__v4di) __W, 640 (__mmask8) __U); 641} 642 643static __inline__ __m256i __DEFAULT_FN_ATTRS 644_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 645{ 646 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A, 647 (__v4di) __B, 648 (__v4di) 649 _mm256_setzero_si256 (), 650 (__mmask8) __U); 651} 652 653static __inline__ __m256i __DEFAULT_FN_ATTRS 654_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 655 __m256i __B) 656{ 657 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A, 658 (__v8si) __B, 659 (__v8si) __W, 660 (__mmask8) __U); 661} 662 663static __inline__ __m256i __DEFAULT_FN_ATTRS 664_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 665{ 666 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A, 667 (__v8si) __B, 668 (__v8si) 669 _mm256_setzero_si256 (), 670 (__mmask8) __U); 671} 672 673static __inline__ __m256i __DEFAULT_FN_ATTRS 674_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 675 __m256i __B) 676{ 677 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A, 678 (__v4di) __B, 679 (__v4di) __W, 680 (__mmask8) __U); 681} 682 683static __inline__ __m256i __DEFAULT_FN_ATTRS 684_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 685{ 686 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A, 687 (__v4di) __B, 688 (__v4di) 689 _mm256_setzero_si256 (), 690 (__mmask8) __U); 691} 692 693static __inline__ __m128i __DEFAULT_FN_ATTRS 694_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 695 __m128i __B) 696{ 697 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A, 698 (__v4si) __B, 699 (__v4si) __W, 700 (__mmask8) __U); 701} 702 703static __inline__ __m128i __DEFAULT_FN_ATTRS 704_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 705{ 706 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A, 707 (__v4si) __B, 708 (__v4si) 709 _mm_setzero_si128 (), 710 (__mmask8) __U); 711} 712 713static __inline__ __m128i __DEFAULT_FN_ATTRS 714_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 715 __m128i __B) 716{ 717 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A, 718 (__v2di) __B, 719 (__v2di) __W, 720 (__mmask8) __U); 721} 722 723static __inline__ __m128i __DEFAULT_FN_ATTRS 724_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 725{ 726 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A, 727 (__v2di) __B, 728 (__v2di) 729 _mm_setzero_si128 (), 730 (__mmask8) __U); 731} 732 733static __inline__ __m128i __DEFAULT_FN_ATTRS 734_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 735 __m128i __B) 736{ 737 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A, 738 (__v4si) __B, 739 (__v4si) __W, 740 (__mmask8) __U); 741} 742 743static __inline__ __m128i __DEFAULT_FN_ATTRS 744_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 745{ 746 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A, 747 (__v4si) __B, 748 (__v4si) 749 _mm_setzero_si128 (), 750 (__mmask8) __U); 751} 752 753static __inline__ __m128i __DEFAULT_FN_ATTRS 754_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 755 __m128i __B) 756{ 757 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A, 758 (__v2di) __B, 759 (__v2di) __W, 760 (__mmask8) __U); 761} 762 763static __inline__ __m128i __DEFAULT_FN_ATTRS 764_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 765{ 766 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A, 767 (__v2di) __B, 768 (__v2di) 769 _mm_setzero_si128 (), 770 (__mmask8) __U); 771} 772 773static __inline__ __m256i __DEFAULT_FN_ATTRS 774_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X, 775 __m256i __Y) 776{ 777 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X, 778 (__v8si) __Y, 779 (__v4di) __W, __M); 780} 781 782static __inline__ __m256i __DEFAULT_FN_ATTRS 783_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) 784{ 785 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X, 786 (__v8si) __Y, 787 (__v4di) 788 _mm256_setzero_si256 (), 789 __M); 790} 791 792static __inline__ __m128i __DEFAULT_FN_ATTRS 793_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X, 794 __m128i __Y) 795{ 796 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X, 797 (__v4si) __Y, 798 (__v2di) __W, __M); 799} 800 801static __inline__ __m128i __DEFAULT_FN_ATTRS 802_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y) 803{ 804 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X, 805 (__v4si) __Y, 806 (__v2di) 807 _mm_setzero_si128 (), 808 __M); 809} 810 811static __inline__ __m256i __DEFAULT_FN_ATTRS 812_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X, 813 __m256i __Y) 814{ 815 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X, 816 (__v8si) __Y, 817 (__v4di) __W, __M); 818} 819 820static __inline__ __m256i __DEFAULT_FN_ATTRS 821_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y) 822{ 823 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X, 824 (__v8si) __Y, 825 (__v4di) 826 _mm256_setzero_si256 (), 827 __M); 828} 829 830static __inline__ __m128i __DEFAULT_FN_ATTRS 831_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X, 832 __m128i __Y) 833{ 834 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X, 835 (__v4si) __Y, 836 (__v2di) __W, __M); 837} 838 839static __inline__ __m128i __DEFAULT_FN_ATTRS 840_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y) 841{ 842 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X, 843 (__v4si) __Y, 844 (__v2di) 845 _mm_setzero_si128 (), 846 __M); 847} 848 849static __inline__ __m256i __DEFAULT_FN_ATTRS 850_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B) 851{ 852 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A, 853 (__v8si) __B, 854 (__v8si) 855 _mm256_setzero_si256 (), 856 __M); 857} 858 859static __inline__ __m256i __DEFAULT_FN_ATTRS 860_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A, 861 __m256i __B) 862{ 863 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A, 864 (__v8si) __B, 865 (__v8si) __W, __M); 866} 867 868static __inline__ __m128i __DEFAULT_FN_ATTRS 869_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B) 870{ 871 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A, 872 (__v4si) __B, 873 (__v4si) 874 _mm_setzero_si128 (), 875 __M); 876} 877 878static __inline__ __m128i __DEFAULT_FN_ATTRS 879_mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A, 880 __m128i __B) 881{ 882 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A, 883 (__v4si) __B, 884 (__v4si) __W, __M); 885} 886 887static __inline__ __m256i __DEFAULT_FN_ATTRS 888_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 889 __m256i __B) 890{ 891 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A, 892 (__v8si) __B, 893 (__v8si) __W, 894 (__mmask8) __U); 895} 896 897static __inline__ __m256i __DEFAULT_FN_ATTRS 898_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 899{ 900 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A, 901 (__v8si) __B, 902 (__v8si) 903 _mm256_setzero_si256 (), 904 (__mmask8) __U); 905} 906 907static __inline__ __m128i __DEFAULT_FN_ATTRS 908_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) 909{ 910 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A, 911 (__v4si) __B, 912 (__v4si) __W, 913 (__mmask8) __U); 914} 915 916static __inline__ __m128i __DEFAULT_FN_ATTRS 917_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 918{ 919 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A, 920 (__v4si) __B, 921 (__v4si) 922 _mm_setzero_si128 (), 923 (__mmask8) __U); 924} 925 926static __inline__ __m256i __DEFAULT_FN_ATTRS 927_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 928 __m256i __B) 929{ 930 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A, 931 (__v8si) __B, 932 (__v8si) __W, 933 (__mmask8) __U); 934} 935 936static __inline__ __m256i __DEFAULT_FN_ATTRS 937_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 938{ 939 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A, 940 (__v8si) __B, 941 (__v8si) 942 _mm256_setzero_si256 (), 943 (__mmask8) __U); 944} 945 946static __inline__ __m128i __DEFAULT_FN_ATTRS 947_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 948 __m128i __B) 949{ 950 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A, 951 (__v4si) __B, 952 (__v4si) __W, 953 (__mmask8) __U); 954} 955 956static __inline__ __m128i __DEFAULT_FN_ATTRS 957_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 958{ 959 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A, 960 (__v4si) __B, 961 (__v4si) 962 _mm_setzero_si128 (), 963 (__mmask8) __U); 964} 965 966static __inline__ __m256i __DEFAULT_FN_ATTRS 967_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 968 __m256i __B) 969{ 970 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A, 971 (__v8si) __B, 972 (__v8si) __W, 973 (__mmask8) __U); 974} 975 976static __inline__ __m256i __DEFAULT_FN_ATTRS 977_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 978{ 979 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A, 980 (__v8si) __B, 981 (__v8si) 982 _mm256_setzero_si256 (), 983 (__mmask8) __U); 984} 985 986static __inline__ __m128i __DEFAULT_FN_ATTRS 987_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) 988{ 989 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A, 990 (__v4si) __B, 991 (__v4si) __W, 992 (__mmask8) __U); 993} 994 995static __inline__ __m128i __DEFAULT_FN_ATTRS 996_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 997{ 998 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A, 999 (__v4si) __B, 1000 (__v4si) 1001 _mm_setzero_si128 (), 1002 (__mmask8) __U); 1003} 1004 1005static __inline__ __m256i __DEFAULT_FN_ATTRS 1006_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 1007 __m256i __B) 1008{ 1009 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A, 1010 (__v8si) __B, 1011 (__v8si) __W, 1012 (__mmask8) __U); 1013} 1014 1015static __inline__ __m256i __DEFAULT_FN_ATTRS 1016_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 1017{ 1018 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A, 1019 (__v8si) __B, 1020 (__v8si) 1021 _mm256_setzero_si256 (), 1022 (__mmask8) __U); 1023} 1024 1025static __inline__ __m128i __DEFAULT_FN_ATTRS 1026_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 1027 __m128i __B) 1028{ 1029 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A, 1030 (__v4si) __B, 1031 (__v4si) __W, 1032 (__mmask8) __U); 1033} 1034 1035static __inline__ __m128i __DEFAULT_FN_ATTRS 1036_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 1037{ 1038 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A, 1039 (__v4si) __B, 1040 (__v4si) 1041 _mm_setzero_si128 (), 1042 (__mmask8) __U); 1043} 1044 1045static __inline__ __m256i __DEFAULT_FN_ATTRS 1046_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 1047 __m256i __B) 1048{ 1049 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A, 1050 (__v4di) __B, 1051 (__v4di) __W, __U); 1052} 1053 1054static __inline__ __m256i __DEFAULT_FN_ATTRS 1055_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 1056{ 1057 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A, 1058 (__v4di) __B, 1059 (__v4di) 1060 _mm256_setzero_pd (), 1061 __U); 1062} 1063 1064static __inline__ __m128i __DEFAULT_FN_ATTRS 1065_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 1066 __m128i __B) 1067{ 1068 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A, 1069 (__v2di) __B, 1070 (__v2di) __W, __U); 1071} 1072 1073static __inline__ __m128i __DEFAULT_FN_ATTRS 1074_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 1075{ 1076 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A, 1077 (__v2di) __B, 1078 (__v2di) 1079 _mm_setzero_pd (), 1080 __U); 1081} 1082 1083static __inline__ __m256i __DEFAULT_FN_ATTRS 1084_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 1085 __m256i __B) 1086{ 1087 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A, 1088 (__v4di) __B, 1089 (__v4di) __W, __U); 1090} 1091 1092static __inline__ __m256i __DEFAULT_FN_ATTRS 1093_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 1094{ 1095 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A, 1096 (__v4di) __B, 1097 (__v4di) 1098 _mm256_setzero_pd (), 1099 __U); 1100} 1101 1102static __inline__ __m128i __DEFAULT_FN_ATTRS 1103_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 1104 __m128i __B) 1105{ 1106 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A, 1107 (__v2di) __B, 1108 (__v2di) __W, __U); 1109} 1110 1111static __inline__ __m128i __DEFAULT_FN_ATTRS 1112_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 1113{ 1114 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A, 1115 (__v2di) __B, 1116 (__v2di) 1117 _mm_setzero_pd (), 1118 __U); 1119} 1120 1121static __inline__ __m256i __DEFAULT_FN_ATTRS 1122_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 1123 __m256i __B) 1124{ 1125 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A, 1126 (__v4di) __B, 1127 (__v4di) __W, 1128 (__mmask8) __U); 1129} 1130 1131static __inline__ __m256i __DEFAULT_FN_ATTRS 1132_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 1133{ 1134 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A, 1135 (__v4di) __B, 1136 (__v4di) 1137 _mm256_setzero_si256 (), 1138 (__mmask8) __U); 1139} 1140 1141static __inline__ __m128i __DEFAULT_FN_ATTRS 1142_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) 1143{ 1144 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A, 1145 (__v2di) __B, 1146 (__v2di) __W, 1147 (__mmask8) __U); 1148} 1149 1150static __inline__ __m128i __DEFAULT_FN_ATTRS 1151_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 1152{ 1153 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A, 1154 (__v2di) __B, 1155 (__v2di) 1156 _mm_setzero_si128 (), 1157 (__mmask8) __U); 1158} 1159 1160static __inline__ __m256i __DEFAULT_FN_ATTRS 1161_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 1162 __m256i __B) 1163{ 1164 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A, 1165 (__v4di) __B, 1166 (__v4di) __W, 1167 (__mmask8) __U); 1168} 1169 1170static __inline__ __m256i __DEFAULT_FN_ATTRS 1171_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 1172{ 1173 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A, 1174 (__v4di) __B, 1175 (__v4di) 1176 _mm256_setzero_si256 (), 1177 (__mmask8) __U); 1178} 1179 1180static __inline__ __m128i __DEFAULT_FN_ATTRS 1181_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 1182 __m128i __B) 1183{ 1184 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A, 1185 (__v2di) __B, 1186 (__v2di) __W, 1187 (__mmask8) __U); 1188} 1189 1190static __inline__ __m128i __DEFAULT_FN_ATTRS 1191_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 1192{ 1193 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A, 1194 (__v2di) __B, 1195 (__v2di) 1196 _mm_setzero_si128 (), 1197 (__mmask8) __U); 1198} 1199 1200#define _mm_cmp_epi32_mask(a, b, p) __extension__ ({ \ 1201 (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \ 1202 (__v4si)(__m128i)(b), \ 1203 (p), (__mmask8)-1); }) 1204 1205#define _mm_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \ 1206 (__mmask8)__builtin_ia32_cmpd128_mask((__v4si)(__m128i)(a), \ 1207 (__v4si)(__m128i)(b), \ 1208 (p), (__mmask8)(m)); }) 1209 1210#define _mm_cmp_epu32_mask(a, b, p) __extension__ ({ \ 1211 (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \ 1212 (__v4si)(__m128i)(b), \ 1213 (p), (__mmask8)-1); }) 1214 1215#define _mm_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \ 1216 (__mmask8)__builtin_ia32_ucmpd128_mask((__v4si)(__m128i)(a), \ 1217 (__v4si)(__m128i)(b), \ 1218 (p), (__mmask8)(m)); }) 1219 1220#define _mm256_cmp_epi32_mask(a, b, p) __extension__ ({ \ 1221 (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \ 1222 (__v8si)(__m256i)(b), \ 1223 (p), (__mmask8)-1); }) 1224 1225#define _mm256_mask_cmp_epi32_mask(m, a, b, p) __extension__ ({ \ 1226 (__mmask8)__builtin_ia32_cmpd256_mask((__v8si)(__m256i)(a), \ 1227 (__v8si)(__m256i)(b), \ 1228 (p), (__mmask8)(m)); }) 1229 1230#define _mm256_cmp_epu32_mask(a, b, p) __extension__ ({ \ 1231 (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \ 1232 (__v8si)(__m256i)(b), \ 1233 (p), (__mmask8)-1); }) 1234 1235#define _mm256_mask_cmp_epu32_mask(m, a, b, p) __extension__ ({ \ 1236 (__mmask8)__builtin_ia32_ucmpd256_mask((__v8si)(__m256i)(a), \ 1237 (__v8si)(__m256i)(b), \ 1238 (p), (__mmask8)(m)); }) 1239 1240#define _mm_cmp_epi64_mask(a, b, p) __extension__ ({ \ 1241 (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \ 1242 (__v2di)(__m128i)(b), \ 1243 (p), (__mmask8)-1); }) 1244 1245#define _mm_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \ 1246 (__mmask8)__builtin_ia32_cmpq128_mask((__v2di)(__m128i)(a), \ 1247 (__v2di)(__m128i)(b), \ 1248 (p), (__mmask8)(m)); }) 1249 1250#define _mm_cmp_epu64_mask(a, b, p) __extension__ ({ \ 1251 (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \ 1252 (__v2di)(__m128i)(b), \ 1253 (p), (__mmask8)-1); }) 1254 1255#define _mm_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \ 1256 (__mmask8)__builtin_ia32_ucmpq128_mask((__v2di)(__m128i)(a), \ 1257 (__v2di)(__m128i)(b), \ 1258 (p), (__mmask8)(m)); }) 1259 1260#define _mm256_cmp_epi64_mask(a, b, p) __extension__ ({ \ 1261 (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \ 1262 (__v4di)(__m256i)(b), \ 1263 (p), (__mmask8)-1); }) 1264 1265#define _mm256_mask_cmp_epi64_mask(m, a, b, p) __extension__ ({ \ 1266 (__mmask8)__builtin_ia32_cmpq256_mask((__v4di)(__m256i)(a), \ 1267 (__v4di)(__m256i)(b), \ 1268 (p), (__mmask8)(m)); }) 1269 1270#define _mm256_cmp_epu64_mask(a, b, p) __extension__ ({ \ 1271 (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \ 1272 (__v4di)(__m256i)(b), \ 1273 (p), (__mmask8)-1); }) 1274 1275#define _mm256_mask_cmp_epu64_mask(m, a, b, p) __extension__ ({ \ 1276 (__mmask8)__builtin_ia32_ucmpq256_mask((__v4di)(__m256i)(a), \ 1277 (__v4di)(__m256i)(b), \ 1278 (p), (__mmask8)(m)); }) 1279 1280#define _mm256_cmp_ps_mask(a, b, p) __extension__ ({ \ 1281 (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \ 1282 (__v8sf)(__m256)(b), \ 1283 (p), (__mmask8)-1); }) 1284 1285#define _mm256_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \ 1286 (__mmask8)__builtin_ia32_cmpps256_mask((__v8sf)(__m256)(a), \ 1287 (__v8sf)(__m256)(b), \ 1288 (p), (__mmask8)(m)); }) 1289 1290#define _mm256_cmp_pd_mask(a, b, p) __extension__ ({ \ 1291 (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256)(a), \ 1292 (__v4df)(__m256)(b), \ 1293 (p), (__mmask8)-1); }) 1294 1295#define _mm256_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \ 1296 (__mmask8)__builtin_ia32_cmppd256_mask((__v4df)(__m256)(a), \ 1297 (__v4df)(__m256)(b), \ 1298 (p), (__mmask8)(m)); }) 1299 1300#define _mm128_cmp_ps_mask(a, b, p) __extension__ ({ \ 1301 (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \ 1302 (__v4sf)(__m128)(b), \ 1303 (p), (__mmask8)-1); }) 1304 1305#define _mm128_mask_cmp_ps_mask(m, a, b, p) __extension__ ({ \ 1306 (__mmask8)__builtin_ia32_cmpps128_mask((__v4sf)(__m128)(a), \ 1307 (__v4sf)(__m128)(b), \ 1308 (p), (__mmask8)(m)); }) 1309 1310#define _mm128_cmp_pd_mask(a, b, p) __extension__ ({ \ 1311 (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128)(a), \ 1312 (__v2df)(__m128)(b), \ 1313 (p), (__mmask8)-1); }) 1314 1315#define _mm128_mask_cmp_pd_mask(m, a, b, p) __extension__ ({ \ 1316 (__mmask8)__builtin_ia32_cmppd128_mask((__v2df)(__m128)(a), \ 1317 (__v2df)(__m128)(b), \ 1318 (p), (__mmask8)(m)); }) 1319 1320static __inline__ __m128d __DEFAULT_FN_ATTRS 1321_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 1322{ 1323 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A, 1324 (__v2df) __B, 1325 (__v2df) __C, 1326 (__mmask8) __U); 1327} 1328 1329static __inline__ __m128d __DEFAULT_FN_ATTRS 1330_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) 1331{ 1332 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A, 1333 (__v2df) __B, 1334 (__v2df) __C, 1335 (__mmask8) __U); 1336} 1337 1338static __inline__ __m128d __DEFAULT_FN_ATTRS 1339_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) 1340{ 1341 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A, 1342 (__v2df) __B, 1343 (__v2df) __C, 1344 (__mmask8) __U); 1345} 1346 1347static __inline__ __m128d __DEFAULT_FN_ATTRS 1348_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 1349{ 1350 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A, 1351 (__v2df) __B, 1352 -(__v2df) __C, 1353 (__mmask8) __U); 1354} 1355 1356static __inline__ __m128d __DEFAULT_FN_ATTRS 1357_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) 1358{ 1359 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A, 1360 (__v2df) __B, 1361 -(__v2df) __C, 1362 (__mmask8) __U); 1363} 1364 1365static __inline__ __m128d __DEFAULT_FN_ATTRS 1366_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) 1367{ 1368 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A, 1369 (__v2df) __B, 1370 (__v2df) __C, 1371 (__mmask8) __U); 1372} 1373 1374static __inline__ __m128d __DEFAULT_FN_ATTRS 1375_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) 1376{ 1377 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A, 1378 (__v2df) __B, 1379 (__v2df) __C, 1380 (__mmask8) __U); 1381} 1382 1383static __inline__ __m128d __DEFAULT_FN_ATTRS 1384_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) 1385{ 1386 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A, 1387 (__v2df) __B, 1388 -(__v2df) __C, 1389 (__mmask8) __U); 1390} 1391 1392static __inline__ __m256d __DEFAULT_FN_ATTRS 1393_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) 1394{ 1395 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A, 1396 (__v4df) __B, 1397 (__v4df) __C, 1398 (__mmask8) __U); 1399} 1400 1401static __inline__ __m256d __DEFAULT_FN_ATTRS 1402_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) 1403{ 1404 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A, 1405 (__v4df) __B, 1406 (__v4df) __C, 1407 (__mmask8) __U); 1408} 1409 1410static __inline__ __m256d __DEFAULT_FN_ATTRS 1411_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) 1412{ 1413 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A, 1414 (__v4df) __B, 1415 (__v4df) __C, 1416 (__mmask8) __U); 1417} 1418 1419static __inline__ __m256d __DEFAULT_FN_ATTRS 1420_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) 1421{ 1422 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A, 1423 (__v4df) __B, 1424 -(__v4df) __C, 1425 (__mmask8) __U); 1426} 1427 1428static __inline__ __m256d __DEFAULT_FN_ATTRS 1429_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) 1430{ 1431 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A, 1432 (__v4df) __B, 1433 -(__v4df) __C, 1434 (__mmask8) __U); 1435} 1436 1437static __inline__ __m256d __DEFAULT_FN_ATTRS 1438_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) 1439{ 1440 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A, 1441 (__v4df) __B, 1442 (__v4df) __C, 1443 (__mmask8) __U); 1444} 1445 1446static __inline__ __m256d __DEFAULT_FN_ATTRS 1447_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) 1448{ 1449 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A, 1450 (__v4df) __B, 1451 (__v4df) __C, 1452 (__mmask8) __U); 1453} 1454 1455static __inline__ __m256d __DEFAULT_FN_ATTRS 1456_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) 1457{ 1458 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A, 1459 (__v4df) __B, 1460 -(__v4df) __C, 1461 (__mmask8) __U); 1462} 1463 1464static __inline__ __m128 __DEFAULT_FN_ATTRS 1465_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 1466{ 1467 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A, 1468 (__v4sf) __B, 1469 (__v4sf) __C, 1470 (__mmask8) __U); 1471} 1472 1473static __inline__ __m128 __DEFAULT_FN_ATTRS 1474_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 1475{ 1476 return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A, 1477 (__v4sf) __B, 1478 (__v4sf) __C, 1479 (__mmask8) __U); 1480} 1481 1482static __inline__ __m128 __DEFAULT_FN_ATTRS 1483_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 1484{ 1485 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A, 1486 (__v4sf) __B, 1487 (__v4sf) __C, 1488 (__mmask8) __U); 1489} 1490 1491static __inline__ __m128 __DEFAULT_FN_ATTRS 1492_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 1493{ 1494 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A, 1495 (__v4sf) __B, 1496 -(__v4sf) __C, 1497 (__mmask8) __U); 1498} 1499 1500static __inline__ __m128 __DEFAULT_FN_ATTRS 1501_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 1502{ 1503 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A, 1504 (__v4sf) __B, 1505 -(__v4sf) __C, 1506 (__mmask8) __U); 1507} 1508 1509static __inline__ __m128 __DEFAULT_FN_ATTRS 1510_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 1511{ 1512 return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A, 1513 (__v4sf) __B, 1514 (__v4sf) __C, 1515 (__mmask8) __U); 1516} 1517 1518static __inline__ __m128 __DEFAULT_FN_ATTRS 1519_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 1520{ 1521 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A, 1522 (__v4sf) __B, 1523 (__v4sf) __C, 1524 (__mmask8) __U); 1525} 1526 1527static __inline__ __m128 __DEFAULT_FN_ATTRS 1528_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 1529{ 1530 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A, 1531 (__v4sf) __B, 1532 -(__v4sf) __C, 1533 (__mmask8) __U); 1534} 1535 1536static __inline__ __m256 __DEFAULT_FN_ATTRS 1537_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) 1538{ 1539 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A, 1540 (__v8sf) __B, 1541 (__v8sf) __C, 1542 (__mmask8) __U); 1543} 1544 1545static __inline__ __m256 __DEFAULT_FN_ATTRS 1546_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) 1547{ 1548 return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A, 1549 (__v8sf) __B, 1550 (__v8sf) __C, 1551 (__mmask8) __U); 1552} 1553 1554static __inline__ __m256 __DEFAULT_FN_ATTRS 1555_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) 1556{ 1557 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A, 1558 (__v8sf) __B, 1559 (__v8sf) __C, 1560 (__mmask8) __U); 1561} 1562 1563static __inline__ __m256 __DEFAULT_FN_ATTRS 1564_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) 1565{ 1566 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A, 1567 (__v8sf) __B, 1568 -(__v8sf) __C, 1569 (__mmask8) __U); 1570} 1571 1572static __inline__ __m256 __DEFAULT_FN_ATTRS 1573_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) 1574{ 1575 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A, 1576 (__v8sf) __B, 1577 -(__v8sf) __C, 1578 (__mmask8) __U); 1579} 1580 1581static __inline__ __m256 __DEFAULT_FN_ATTRS 1582_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) 1583{ 1584 return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A, 1585 (__v8sf) __B, 1586 (__v8sf) __C, 1587 (__mmask8) __U); 1588} 1589 1590static __inline__ __m256 __DEFAULT_FN_ATTRS 1591_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) 1592{ 1593 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A, 1594 (__v8sf) __B, 1595 (__v8sf) __C, 1596 (__mmask8) __U); 1597} 1598 1599static __inline__ __m256 __DEFAULT_FN_ATTRS 1600_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) 1601{ 1602 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A, 1603 (__v8sf) __B, 1604 -(__v8sf) __C, 1605 (__mmask8) __U); 1606} 1607 1608static __inline__ __m128d __DEFAULT_FN_ATTRS 1609_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 1610{ 1611 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A, 1612 (__v2df) __B, 1613 (__v2df) __C, 1614 (__mmask8) __U); 1615} 1616 1617static __inline__ __m128d __DEFAULT_FN_ATTRS 1618_mm_mask3_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) 1619{ 1620 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A, 1621 (__v2df) __B, 1622 (__v2df) __C, 1623 (__mmask8) 1624 __U); 1625} 1626 1627static __inline__ __m128d __DEFAULT_FN_ATTRS 1628_mm_maskz_fmaddsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) 1629{ 1630 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A, 1631 (__v2df) __B, 1632 (__v2df) __C, 1633 (__mmask8) 1634 __U); 1635} 1636 1637static __inline__ __m128d __DEFAULT_FN_ATTRS 1638_mm_mask_fmsubadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 1639{ 1640 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A, 1641 (__v2df) __B, 1642 -(__v2df) __C, 1643 (__mmask8) __U); 1644} 1645 1646static __inline__ __m128d __DEFAULT_FN_ATTRS 1647_mm_maskz_fmsubadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) 1648{ 1649 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A, 1650 (__v2df) __B, 1651 -(__v2df) __C, 1652 (__mmask8) 1653 __U); 1654} 1655 1656static __inline__ __m256d __DEFAULT_FN_ATTRS 1657_mm256_mask_fmaddsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) 1658{ 1659 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A, 1660 (__v4df) __B, 1661 (__v4df) __C, 1662 (__mmask8) __U); 1663} 1664 1665static __inline__ __m256d __DEFAULT_FN_ATTRS 1666_mm256_mask3_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) 1667{ 1668 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A, 1669 (__v4df) __B, 1670 (__v4df) __C, 1671 (__mmask8) 1672 __U); 1673} 1674 1675static __inline__ __m256d __DEFAULT_FN_ATTRS 1676_mm256_maskz_fmaddsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) 1677{ 1678 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A, 1679 (__v4df) __B, 1680 (__v4df) __C, 1681 (__mmask8) 1682 __U); 1683} 1684 1685static __inline__ __m256d __DEFAULT_FN_ATTRS 1686_mm256_mask_fmsubadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) 1687{ 1688 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A, 1689 (__v4df) __B, 1690 -(__v4df) __C, 1691 (__mmask8) __U); 1692} 1693 1694static __inline__ __m256d __DEFAULT_FN_ATTRS 1695_mm256_maskz_fmsubadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) 1696{ 1697 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A, 1698 (__v4df) __B, 1699 -(__v4df) __C, 1700 (__mmask8) 1701 __U); 1702} 1703 1704static __inline__ __m128 __DEFAULT_FN_ATTRS 1705_mm_mask_fmaddsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 1706{ 1707 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A, 1708 (__v4sf) __B, 1709 (__v4sf) __C, 1710 (__mmask8) __U); 1711} 1712 1713static __inline__ __m128 __DEFAULT_FN_ATTRS 1714_mm_mask3_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 1715{ 1716 return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A, 1717 (__v4sf) __B, 1718 (__v4sf) __C, 1719 (__mmask8) __U); 1720} 1721 1722static __inline__ __m128 __DEFAULT_FN_ATTRS 1723_mm_maskz_fmaddsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 1724{ 1725 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A, 1726 (__v4sf) __B, 1727 (__v4sf) __C, 1728 (__mmask8) __U); 1729} 1730 1731static __inline__ __m128 __DEFAULT_FN_ATTRS 1732_mm_mask_fmsubadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 1733{ 1734 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A, 1735 (__v4sf) __B, 1736 -(__v4sf) __C, 1737 (__mmask8) __U); 1738} 1739 1740static __inline__ __m128 __DEFAULT_FN_ATTRS 1741_mm_maskz_fmsubadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 1742{ 1743 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A, 1744 (__v4sf) __B, 1745 -(__v4sf) __C, 1746 (__mmask8) __U); 1747} 1748 1749static __inline__ __m256 __DEFAULT_FN_ATTRS 1750_mm256_mask_fmaddsub_ps(__m256 __A, __mmask8 __U, __m256 __B, 1751 __m256 __C) 1752{ 1753 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A, 1754 (__v8sf) __B, 1755 (__v8sf) __C, 1756 (__mmask8) __U); 1757} 1758 1759static __inline__ __m256 __DEFAULT_FN_ATTRS 1760_mm256_mask3_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) 1761{ 1762 return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A, 1763 (__v8sf) __B, 1764 (__v8sf) __C, 1765 (__mmask8) __U); 1766} 1767 1768static __inline__ __m256 __DEFAULT_FN_ATTRS 1769_mm256_maskz_fmaddsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) 1770{ 1771 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A, 1772 (__v8sf) __B, 1773 (__v8sf) __C, 1774 (__mmask8) __U); 1775} 1776 1777static __inline__ __m256 __DEFAULT_FN_ATTRS 1778_mm256_mask_fmsubadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) 1779{ 1780 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A, 1781 (__v8sf) __B, 1782 -(__v8sf) __C, 1783 (__mmask8) __U); 1784} 1785 1786static __inline__ __m256 __DEFAULT_FN_ATTRS 1787_mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) 1788{ 1789 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A, 1790 (__v8sf) __B, 1791 -(__v8sf) __C, 1792 (__mmask8) __U); 1793} 1794 1795static __inline__ __m128d __DEFAULT_FN_ATTRS 1796_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) 1797{ 1798 return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A, 1799 (__v2df) __B, 1800 (__v2df) __C, 1801 (__mmask8) __U); 1802} 1803 1804static __inline__ __m256d __DEFAULT_FN_ATTRS 1805_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) 1806{ 1807 return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A, 1808 (__v4df) __B, 1809 (__v4df) __C, 1810 (__mmask8) __U); 1811} 1812 1813static __inline__ __m128 __DEFAULT_FN_ATTRS 1814_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 1815{ 1816 return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A, 1817 (__v4sf) __B, 1818 (__v4sf) __C, 1819 (__mmask8) __U); 1820} 1821 1822static __inline__ __m256 __DEFAULT_FN_ATTRS 1823_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) 1824{ 1825 return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A, 1826 (__v8sf) __B, 1827 (__v8sf) __C, 1828 (__mmask8) __U); 1829} 1830 1831static __inline__ __m128d __DEFAULT_FN_ATTRS 1832_mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) 1833{ 1834 return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A, 1835 (__v2df) __B, 1836 (__v2df) __C, 1837 (__mmask8) 1838 __U); 1839} 1840 1841static __inline__ __m256d __DEFAULT_FN_ATTRS 1842_mm256_mask3_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) 1843{ 1844 return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A, 1845 (__v4df) __B, 1846 (__v4df) __C, 1847 (__mmask8) 1848 __U); 1849} 1850 1851static __inline__ __m128 __DEFAULT_FN_ATTRS 1852_mm_mask3_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 1853{ 1854 return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A, 1855 (__v4sf) __B, 1856 (__v4sf) __C, 1857 (__mmask8) __U); 1858} 1859 1860static __inline__ __m256 __DEFAULT_FN_ATTRS 1861_mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) 1862{ 1863 return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A, 1864 (__v8sf) __B, 1865 (__v8sf) __C, 1866 (__mmask8) __U); 1867} 1868 1869static __inline__ __m128d __DEFAULT_FN_ATTRS 1870_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 1871{ 1872 return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A, 1873 (__v2df) __B, 1874 (__v2df) __C, 1875 (__mmask8) __U); 1876} 1877 1878static __inline__ __m256d __DEFAULT_FN_ATTRS 1879_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) 1880{ 1881 return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A, 1882 (__v4df) __B, 1883 (__v4df) __C, 1884 (__mmask8) __U); 1885} 1886 1887static __inline__ __m128 __DEFAULT_FN_ATTRS 1888_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 1889{ 1890 return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A, 1891 (__v4sf) __B, 1892 (__v4sf) __C, 1893 (__mmask8) __U); 1894} 1895 1896static __inline__ __m256 __DEFAULT_FN_ATTRS 1897_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) 1898{ 1899 return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A, 1900 (__v8sf) __B, 1901 (__v8sf) __C, 1902 (__mmask8) __U); 1903} 1904 1905static __inline__ __m128d __DEFAULT_FN_ATTRS 1906_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 1907{ 1908 return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A, 1909 (__v2df) __B, 1910 (__v2df) __C, 1911 (__mmask8) __U); 1912} 1913 1914static __inline__ __m128d __DEFAULT_FN_ATTRS 1915_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) 1916{ 1917 return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A, 1918 (__v2df) __B, 1919 (__v2df) __C, 1920 (__mmask8) __U); 1921} 1922 1923static __inline__ __m256d __DEFAULT_FN_ATTRS 1924_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) 1925{ 1926 return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A, 1927 (__v4df) __B, 1928 (__v4df) __C, 1929 (__mmask8) __U); 1930} 1931 1932static __inline__ __m256d __DEFAULT_FN_ATTRS 1933_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) 1934{ 1935 return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A, 1936 (__v4df) __B, 1937 (__v4df) __C, 1938 (__mmask8) __U); 1939} 1940 1941static __inline__ __m128 __DEFAULT_FN_ATTRS 1942_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 1943{ 1944 return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A, 1945 (__v4sf) __B, 1946 (__v4sf) __C, 1947 (__mmask8) __U); 1948} 1949 1950static __inline__ __m128 __DEFAULT_FN_ATTRS 1951_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 1952{ 1953 return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A, 1954 (__v4sf) __B, 1955 (__v4sf) __C, 1956 (__mmask8) __U); 1957} 1958 1959static __inline__ __m256 __DEFAULT_FN_ATTRS 1960_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) 1961{ 1962 return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A, 1963 (__v8sf) __B, 1964 (__v8sf) __C, 1965 (__mmask8) __U); 1966} 1967 1968static __inline__ __m256 __DEFAULT_FN_ATTRS 1969_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) 1970{ 1971 return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A, 1972 (__v8sf) __B, 1973 (__v8sf) __C, 1974 (__mmask8) __U); 1975} 1976 1977static __inline__ __m128d __DEFAULT_FN_ATTRS 1978_mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { 1979 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, 1980 (__v2df) __B, 1981 (__v2df) __W, 1982 (__mmask8) __U); 1983} 1984 1985static __inline__ __m128d __DEFAULT_FN_ATTRS 1986_mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B) { 1987 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, 1988 (__v2df) __B, 1989 (__v2df) 1990 _mm_setzero_pd (), 1991 (__mmask8) __U); 1992} 1993 1994static __inline__ __m256d __DEFAULT_FN_ATTRS 1995_mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { 1996 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, 1997 (__v4df) __B, 1998 (__v4df) __W, 1999 (__mmask8) __U); 2000} 2001 2002static __inline__ __m256d __DEFAULT_FN_ATTRS 2003_mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B) { 2004 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, 2005 (__v4df) __B, 2006 (__v4df) 2007 _mm256_setzero_pd (), 2008 (__mmask8) __U); 2009} 2010 2011static __inline__ __m128 __DEFAULT_FN_ATTRS 2012_mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) { 2013 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, 2014 (__v4sf) __B, 2015 (__v4sf) __W, 2016 (__mmask8) __U); 2017} 2018 2019static __inline__ __m128 __DEFAULT_FN_ATTRS 2020_mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B) { 2021 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, 2022 (__v4sf) __B, 2023 (__v4sf) 2024 _mm_setzero_ps (), 2025 (__mmask8) __U); 2026} 2027 2028static __inline__ __m256 __DEFAULT_FN_ATTRS 2029_mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) { 2030 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, 2031 (__v8sf) __B, 2032 (__v8sf) __W, 2033 (__mmask8) __U); 2034} 2035 2036static __inline__ __m256 __DEFAULT_FN_ATTRS 2037_mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B) { 2038 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, 2039 (__v8sf) __B, 2040 (__v8sf) 2041 _mm256_setzero_ps (), 2042 (__mmask8) __U); 2043} 2044 2045static __inline__ __m128i __DEFAULT_FN_ATTRS 2046_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) { 2047 return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A, 2048 (__v4si) __W, 2049 (__mmask8) __U); 2050} 2051 2052static __inline__ __m256i __DEFAULT_FN_ATTRS 2053_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) { 2054 return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A, 2055 (__v8si) __W, 2056 (__mmask8) __U); 2057} 2058 2059static __inline__ __m128d __DEFAULT_FN_ATTRS 2060_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) { 2061 return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A, 2062 (__v2df) __W, 2063 (__mmask8) __U); 2064} 2065 2066static __inline__ __m256d __DEFAULT_FN_ATTRS 2067_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) { 2068 return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A, 2069 (__v4df) __W, 2070 (__mmask8) __U); 2071} 2072 2073static __inline__ __m128 __DEFAULT_FN_ATTRS 2074_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) { 2075 return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A, 2076 (__v4sf) __W, 2077 (__mmask8) __U); 2078} 2079 2080static __inline__ __m256 __DEFAULT_FN_ATTRS 2081_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) { 2082 return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A, 2083 (__v8sf) __W, 2084 (__mmask8) __U); 2085} 2086 2087static __inline__ __m128i __DEFAULT_FN_ATTRS 2088_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) { 2089 return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A, 2090 (__v2di) __W, 2091 (__mmask8) __U); 2092} 2093 2094static __inline__ __m256i __DEFAULT_FN_ATTRS 2095_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) { 2096 return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A, 2097 (__v4di) __W, 2098 (__mmask8) __U); 2099} 2100 2101static __inline__ __m128d __DEFAULT_FN_ATTRS 2102_mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) { 2103 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, 2104 (__v2df) __W, 2105 (__mmask8) __U); 2106} 2107 2108static __inline__ __m128d __DEFAULT_FN_ATTRS 2109_mm_maskz_compress_pd (__mmask8 __U, __m128d __A) { 2110 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, 2111 (__v2df) 2112 _mm_setzero_pd (), 2113 (__mmask8) __U); 2114} 2115 2116static __inline__ __m256d __DEFAULT_FN_ATTRS 2117_mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) { 2118 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, 2119 (__v4df) __W, 2120 (__mmask8) __U); 2121} 2122 2123static __inline__ __m256d __DEFAULT_FN_ATTRS 2124_mm256_maskz_compress_pd (__mmask8 __U, __m256d __A) { 2125 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, 2126 (__v4df) 2127 _mm256_setzero_pd (), 2128 (__mmask8) __U); 2129} 2130 2131static __inline__ __m128i __DEFAULT_FN_ATTRS 2132_mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { 2133 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, 2134 (__v2di) __W, 2135 (__mmask8) __U); 2136} 2137 2138static __inline__ __m128i __DEFAULT_FN_ATTRS 2139_mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A) { 2140 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, 2141 (__v2di) 2142 _mm_setzero_si128 (), 2143 (__mmask8) __U); 2144} 2145 2146static __inline__ __m256i __DEFAULT_FN_ATTRS 2147_mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { 2148 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, 2149 (__v4di) __W, 2150 (__mmask8) __U); 2151} 2152 2153static __inline__ __m256i __DEFAULT_FN_ATTRS 2154_mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A) { 2155 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, 2156 (__v4di) 2157 _mm256_setzero_si256 (), 2158 (__mmask8) __U); 2159} 2160 2161static __inline__ __m128 __DEFAULT_FN_ATTRS 2162_mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) { 2163 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, 2164 (__v4sf) __W, 2165 (__mmask8) __U); 2166} 2167 2168static __inline__ __m128 __DEFAULT_FN_ATTRS 2169_mm_maskz_compress_ps (__mmask8 __U, __m128 __A) { 2170 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, 2171 (__v4sf) 2172 _mm_setzero_ps (), 2173 (__mmask8) __U); 2174} 2175 2176static __inline__ __m256 __DEFAULT_FN_ATTRS 2177_mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) { 2178 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, 2179 (__v8sf) __W, 2180 (__mmask8) __U); 2181} 2182 2183static __inline__ __m256 __DEFAULT_FN_ATTRS 2184_mm256_maskz_compress_ps (__mmask8 __U, __m256 __A) { 2185 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, 2186 (__v8sf) 2187 _mm256_setzero_ps (), 2188 (__mmask8) __U); 2189} 2190 2191static __inline__ __m128i __DEFAULT_FN_ATTRS 2192_mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { 2193 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, 2194 (__v4si) __W, 2195 (__mmask8) __U); 2196} 2197 2198static __inline__ __m128i __DEFAULT_FN_ATTRS 2199_mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A) { 2200 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, 2201 (__v4si) 2202 _mm_setzero_si128 (), 2203 (__mmask8) __U); 2204} 2205 2206static __inline__ __m256i __DEFAULT_FN_ATTRS 2207_mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { 2208 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, 2209 (__v8si) __W, 2210 (__mmask8) __U); 2211} 2212 2213static __inline__ __m256i __DEFAULT_FN_ATTRS 2214_mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A) { 2215 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, 2216 (__v8si) 2217 _mm256_setzero_si256 (), 2218 (__mmask8) __U); 2219} 2220 2221static __inline__ void __DEFAULT_FN_ATTRS 2222_mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) { 2223 __builtin_ia32_compressstoredf128_mask ((__v2df *) __P, 2224 (__v2df) __A, 2225 (__mmask8) __U); 2226} 2227 2228static __inline__ void __DEFAULT_FN_ATTRS 2229_mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) { 2230 __builtin_ia32_compressstoredf256_mask ((__v4df *) __P, 2231 (__v4df) __A, 2232 (__mmask8) __U); 2233} 2234 2235static __inline__ void __DEFAULT_FN_ATTRS 2236_mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) { 2237 __builtin_ia32_compressstoredi128_mask ((__v2di *) __P, 2238 (__v2di) __A, 2239 (__mmask8) __U); 2240} 2241 2242static __inline__ void __DEFAULT_FN_ATTRS 2243_mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) { 2244 __builtin_ia32_compressstoredi256_mask ((__v4di *) __P, 2245 (__v4di) __A, 2246 (__mmask8) __U); 2247} 2248 2249static __inline__ void __DEFAULT_FN_ATTRS 2250_mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) { 2251 __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P, 2252 (__v4sf) __A, 2253 (__mmask8) __U); 2254} 2255 2256static __inline__ void __DEFAULT_FN_ATTRS 2257_mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) { 2258 __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P, 2259 (__v8sf) __A, 2260 (__mmask8) __U); 2261} 2262 2263static __inline__ void __DEFAULT_FN_ATTRS 2264_mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) { 2265 __builtin_ia32_compressstoresi128_mask ((__v4si *) __P, 2266 (__v4si) __A, 2267 (__mmask8) __U); 2268} 2269 2270static __inline__ void __DEFAULT_FN_ATTRS 2271_mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) { 2272 __builtin_ia32_compressstoresi256_mask ((__v8si *) __P, 2273 (__v8si) __A, 2274 (__mmask8) __U); 2275} 2276 2277static __inline__ __m128d __DEFAULT_FN_ATTRS 2278_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) { 2279 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, 2280 (__v2df) __W, 2281 (__mmask8) __U); 2282} 2283 2284static __inline__ __m128d __DEFAULT_FN_ATTRS 2285_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) { 2286 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, 2287 (__v2df) 2288 _mm_setzero_pd (), 2289 (__mmask8) __U); 2290} 2291 2292static __inline__ __m256d __DEFAULT_FN_ATTRS 2293_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) { 2294 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, 2295 (__v4df) __W, 2296 (__mmask8) __U); 2297} 2298 2299static __inline__ __m256d __DEFAULT_FN_ATTRS 2300_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) { 2301 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, 2302 (__v4df) 2303 _mm256_setzero_pd (), 2304 (__mmask8) __U); 2305} 2306 2307static __inline__ __m128 __DEFAULT_FN_ATTRS 2308_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) { 2309 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, 2310 (__v4sf) __W, 2311 (__mmask8) __U); 2312} 2313 2314static __inline__ __m128 __DEFAULT_FN_ATTRS 2315_mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) { 2316 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, 2317 (__v4sf) 2318 _mm_setzero_ps (), 2319 (__mmask8) __U); 2320} 2321 2322static __inline__ __m256 __DEFAULT_FN_ATTRS 2323_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) { 2324 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, 2325 (__v8sf) __W, 2326 (__mmask8) __U); 2327} 2328 2329static __inline__ __m256 __DEFAULT_FN_ATTRS 2330_mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A) { 2331 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, 2332 (__v8sf) 2333 _mm256_setzero_ps (), 2334 (__mmask8) __U); 2335} 2336 2337static __inline__ __m128i __DEFAULT_FN_ATTRS 2338_mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) { 2339 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, 2340 (__v4si) __W, 2341 (__mmask8) __U); 2342} 2343 2344static __inline__ __m128i __DEFAULT_FN_ATTRS 2345_mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) { 2346 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, 2347 (__v4si) 2348 _mm_setzero_si128 (), 2349 (__mmask8) __U); 2350} 2351 2352static __inline__ __m128i __DEFAULT_FN_ATTRS 2353_mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) { 2354 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, 2355 (__v4si) __W, 2356 (__mmask8) __U); 2357} 2358 2359static __inline__ __m128i __DEFAULT_FN_ATTRS 2360_mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) { 2361 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, 2362 (__v4si) 2363 _mm_setzero_si128 (), 2364 (__mmask8) __U); 2365} 2366 2367static __inline__ __m128 __DEFAULT_FN_ATTRS 2368_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) { 2369 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, 2370 (__v4sf) __W, 2371 (__mmask8) __U); 2372} 2373 2374static __inline__ __m128 __DEFAULT_FN_ATTRS 2375_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) { 2376 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, 2377 (__v4sf) 2378 _mm_setzero_ps (), 2379 (__mmask8) __U); 2380} 2381 2382static __inline__ __m128 __DEFAULT_FN_ATTRS 2383_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) { 2384 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, 2385 (__v4sf) __W, 2386 (__mmask8) __U); 2387} 2388 2389static __inline__ __m128 __DEFAULT_FN_ATTRS 2390_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) { 2391 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, 2392 (__v4sf) 2393 _mm_setzero_ps (), 2394 (__mmask8) __U); 2395} 2396 2397static __inline__ __m128i __DEFAULT_FN_ATTRS 2398_mm_cvtpd_epu32 (__m128d __A) { 2399 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, 2400 (__v4si) 2401 _mm_setzero_si128 (), 2402 (__mmask8) -1); 2403} 2404 2405static __inline__ __m128i __DEFAULT_FN_ATTRS 2406_mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) { 2407 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, 2408 (__v4si) __W, 2409 (__mmask8) __U); 2410} 2411 2412static __inline__ __m128i __DEFAULT_FN_ATTRS 2413_mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) { 2414 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, 2415 (__v4si) 2416 _mm_setzero_si128 (), 2417 (__mmask8) __U); 2418} 2419 2420static __inline__ __m128i __DEFAULT_FN_ATTRS 2421_mm256_cvtpd_epu32 (__m256d __A) { 2422 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, 2423 (__v4si) 2424 _mm_setzero_si128 (), 2425 (__mmask8) -1); 2426} 2427 2428static __inline__ __m128i __DEFAULT_FN_ATTRS 2429_mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) { 2430 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, 2431 (__v4si) __W, 2432 (__mmask8) __U); 2433} 2434 2435static __inline__ __m128i __DEFAULT_FN_ATTRS 2436_mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A) { 2437 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, 2438 (__v4si) 2439 _mm_setzero_si128 (), 2440 (__mmask8) __U); 2441} 2442 2443static __inline__ __m128i __DEFAULT_FN_ATTRS 2444_mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) { 2445 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, 2446 (__v4si) __W, 2447 (__mmask8) __U); 2448} 2449 2450static __inline__ __m128i __DEFAULT_FN_ATTRS 2451_mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) { 2452 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, 2453 (__v4si) 2454 _mm_setzero_si128 (), 2455 (__mmask8) __U); 2456} 2457 2458static __inline__ __m256i __DEFAULT_FN_ATTRS 2459_mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) { 2460 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, 2461 (__v8si) __W, 2462 (__mmask8) __U); 2463} 2464 2465static __inline__ __m256i __DEFAULT_FN_ATTRS 2466_mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A) { 2467 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, 2468 (__v8si) 2469 _mm256_setzero_si256 (), 2470 (__mmask8) __U); 2471} 2472 2473static __inline__ __m128d __DEFAULT_FN_ATTRS 2474_mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) { 2475 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, 2476 (__v2df) __W, 2477 (__mmask8) __U); 2478} 2479 2480static __inline__ __m128d __DEFAULT_FN_ATTRS 2481_mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) { 2482 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, 2483 (__v2df) 2484 _mm_setzero_pd (), 2485 (__mmask8) __U); 2486} 2487 2488static __inline__ __m256d __DEFAULT_FN_ATTRS 2489_mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) { 2490 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, 2491 (__v4df) __W, 2492 (__mmask8) __U); 2493} 2494 2495static __inline__ __m256d __DEFAULT_FN_ATTRS 2496_mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) { 2497 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, 2498 (__v4df) 2499 _mm256_setzero_pd (), 2500 (__mmask8) __U); 2501} 2502 2503static __inline__ __m128i __DEFAULT_FN_ATTRS 2504_mm_cvtps_epu32 (__m128 __A) { 2505 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, 2506 (__v4si) 2507 _mm_setzero_si128 (), 2508 (__mmask8) -1); 2509} 2510 2511static __inline__ __m128i __DEFAULT_FN_ATTRS 2512_mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) { 2513 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, 2514 (__v4si) __W, 2515 (__mmask8) __U); 2516} 2517 2518static __inline__ __m128i __DEFAULT_FN_ATTRS 2519_mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) { 2520 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, 2521 (__v4si) 2522 _mm_setzero_si128 (), 2523 (__mmask8) __U); 2524} 2525 2526static __inline__ __m256i __DEFAULT_FN_ATTRS 2527_mm256_cvtps_epu32 (__m256 __A) { 2528 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, 2529 (__v8si) 2530 _mm256_setzero_si256 (), 2531 (__mmask8) -1); 2532} 2533 2534static __inline__ __m256i __DEFAULT_FN_ATTRS 2535_mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) { 2536 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, 2537 (__v8si) __W, 2538 (__mmask8) __U); 2539} 2540 2541static __inline__ __m256i __DEFAULT_FN_ATTRS 2542_mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A) { 2543 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, 2544 (__v8si) 2545 _mm256_setzero_si256 (), 2546 (__mmask8) __U); 2547} 2548 2549static __inline__ __m128i __DEFAULT_FN_ATTRS 2550_mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) { 2551 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, 2552 (__v4si) __W, 2553 (__mmask8) __U); 2554} 2555 2556static __inline__ __m128i __DEFAULT_FN_ATTRS 2557_mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) { 2558 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, 2559 (__v4si) 2560 _mm_setzero_si128 (), 2561 (__mmask8) __U); 2562} 2563 2564static __inline__ __m128i __DEFAULT_FN_ATTRS 2565_mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) { 2566 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, 2567 (__v4si) __W, 2568 (__mmask8) __U); 2569} 2570 2571static __inline__ __m128i __DEFAULT_FN_ATTRS 2572_mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A) { 2573 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, 2574 (__v4si) 2575 _mm_setzero_si128 (), 2576 (__mmask8) __U); 2577} 2578 2579static __inline__ __m128i __DEFAULT_FN_ATTRS 2580_mm_cvttpd_epu32 (__m128d __A) { 2581 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, 2582 (__v4si) 2583 _mm_setzero_si128 (), 2584 (__mmask8) -1); 2585} 2586 2587static __inline__ __m128i __DEFAULT_FN_ATTRS 2588_mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) { 2589 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, 2590 (__v4si) __W, 2591 (__mmask8) __U); 2592} 2593 2594static __inline__ __m128i __DEFAULT_FN_ATTRS 2595_mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) { 2596 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, 2597 (__v4si) 2598 _mm_setzero_si128 (), 2599 (__mmask8) __U); 2600} 2601 2602static __inline__ __m128i __DEFAULT_FN_ATTRS 2603_mm256_cvttpd_epu32 (__m256d __A) { 2604 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, 2605 (__v4si) 2606 _mm_setzero_si128 (), 2607 (__mmask8) -1); 2608} 2609 2610static __inline__ __m128i __DEFAULT_FN_ATTRS 2611_mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) { 2612 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, 2613 (__v4si) __W, 2614 (__mmask8) __U); 2615} 2616 2617static __inline__ __m128i __DEFAULT_FN_ATTRS 2618_mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A) { 2619 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, 2620 (__v4si) 2621 _mm_setzero_si128 (), 2622 (__mmask8) __U); 2623} 2624 2625static __inline__ __m128i __DEFAULT_FN_ATTRS 2626_mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) { 2627 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, 2628 (__v4si) __W, 2629 (__mmask8) __U); 2630} 2631 2632static __inline__ __m128i __DEFAULT_FN_ATTRS 2633_mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A) { 2634 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, 2635 (__v4si) 2636 _mm_setzero_si128 (), 2637 (__mmask8) __U); 2638} 2639 2640static __inline__ __m256i __DEFAULT_FN_ATTRS 2641_mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) { 2642 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, 2643 (__v8si) __W, 2644 (__mmask8) __U); 2645} 2646 2647static __inline__ __m256i __DEFAULT_FN_ATTRS 2648_mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A) { 2649 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, 2650 (__v8si) 2651 _mm256_setzero_si256 (), 2652 (__mmask8) __U); 2653} 2654 2655static __inline__ __m128i __DEFAULT_FN_ATTRS 2656_mm_cvttps_epu32 (__m128 __A) { 2657 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, 2658 (__v4si) 2659 _mm_setzero_si128 (), 2660 (__mmask8) -1); 2661} 2662 2663static __inline__ __m128i __DEFAULT_FN_ATTRS 2664_mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) { 2665 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, 2666 (__v4si) __W, 2667 (__mmask8) __U); 2668} 2669 2670static __inline__ __m128i __DEFAULT_FN_ATTRS 2671_mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A) { 2672 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, 2673 (__v4si) 2674 _mm_setzero_si128 (), 2675 (__mmask8) __U); 2676} 2677 2678static __inline__ __m256i __DEFAULT_FN_ATTRS 2679_mm256_cvttps_epu32 (__m256 __A) { 2680 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, 2681 (__v8si) 2682 _mm256_setzero_si256 (), 2683 (__mmask8) -1); 2684} 2685 2686static __inline__ __m256i __DEFAULT_FN_ATTRS 2687_mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) { 2688 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, 2689 (__v8si) __W, 2690 (__mmask8) __U); 2691} 2692 2693static __inline__ __m256i __DEFAULT_FN_ATTRS 2694_mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) { 2695 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, 2696 (__v8si) 2697 _mm256_setzero_si256 (), 2698 (__mmask8) __U); 2699} 2700 2701static __inline__ __m128d __DEFAULT_FN_ATTRS 2702_mm_cvtepu32_pd (__m128i __A) { 2703 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, 2704 (__v2df) 2705 _mm_setzero_pd (), 2706 (__mmask8) -1); 2707} 2708 2709static __inline__ __m128d __DEFAULT_FN_ATTRS 2710_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) { 2711 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, 2712 (__v2df) __W, 2713 (__mmask8) __U); 2714} 2715 2716static __inline__ __m128d __DEFAULT_FN_ATTRS 2717_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) { 2718 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, 2719 (__v2df) 2720 _mm_setzero_pd (), 2721 (__mmask8) __U); 2722} 2723 2724static __inline__ __m256d __DEFAULT_FN_ATTRS 2725_mm256_cvtepu32_pd (__m128i __A) { 2726 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, 2727 (__v4df) 2728 _mm256_setzero_pd (), 2729 (__mmask8) -1); 2730} 2731 2732static __inline__ __m256d __DEFAULT_FN_ATTRS 2733_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) { 2734 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, 2735 (__v4df) __W, 2736 (__mmask8) __U); 2737} 2738 2739static __inline__ __m256d __DEFAULT_FN_ATTRS 2740_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) { 2741 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, 2742 (__v4df) 2743 _mm256_setzero_pd (), 2744 (__mmask8) __U); 2745} 2746 2747static __inline__ __m128 __DEFAULT_FN_ATTRS 2748_mm_cvtepu32_ps (__m128i __A) { 2749 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, 2750 (__v4sf) 2751 _mm_setzero_ps (), 2752 (__mmask8) -1); 2753} 2754 2755static __inline__ __m128 __DEFAULT_FN_ATTRS 2756_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) { 2757 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, 2758 (__v4sf) __W, 2759 (__mmask8) __U); 2760} 2761 2762static __inline__ __m128 __DEFAULT_FN_ATTRS 2763_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) { 2764 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, 2765 (__v4sf) 2766 _mm_setzero_ps (), 2767 (__mmask8) __U); 2768} 2769 2770static __inline__ __m256 __DEFAULT_FN_ATTRS 2771_mm256_cvtepu32_ps (__m256i __A) { 2772 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, 2773 (__v8sf) 2774 _mm256_setzero_ps (), 2775 (__mmask8) -1); 2776} 2777 2778static __inline__ __m256 __DEFAULT_FN_ATTRS 2779_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) { 2780 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, 2781 (__v8sf) __W, 2782 (__mmask8) __U); 2783} 2784 2785static __inline__ __m256 __DEFAULT_FN_ATTRS 2786_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) { 2787 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, 2788 (__v8sf) 2789 _mm256_setzero_ps (), 2790 (__mmask8) __U); 2791} 2792 2793static __inline__ __m128d __DEFAULT_FN_ATTRS 2794_mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { 2795 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A, 2796 (__v2df) __B, 2797 (__v2df) __W, 2798 (__mmask8) __U); 2799} 2800 2801static __inline__ __m128d __DEFAULT_FN_ATTRS 2802_mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B) { 2803 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A, 2804 (__v2df) __B, 2805 (__v2df) 2806 _mm_setzero_pd (), 2807 (__mmask8) __U); 2808} 2809 2810static __inline__ __m256d __DEFAULT_FN_ATTRS 2811_mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A, 2812 __m256d __B) { 2813 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A, 2814 (__v4df) __B, 2815 (__v4df) __W, 2816 (__mmask8) __U); 2817} 2818 2819static __inline__ __m256d __DEFAULT_FN_ATTRS 2820_mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B) { 2821 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A, 2822 (__v4df) __B, 2823 (__v4df) 2824 _mm256_setzero_pd (), 2825 (__mmask8) __U); 2826} 2827 2828static __inline__ __m128 __DEFAULT_FN_ATTRS 2829_mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { 2830 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A, 2831 (__v4sf) __B, 2832 (__v4sf) __W, 2833 (__mmask8) __U); 2834} 2835 2836static __inline__ __m128 __DEFAULT_FN_ATTRS 2837_mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B) { 2838 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A, 2839 (__v4sf) __B, 2840 (__v4sf) 2841 _mm_setzero_ps (), 2842 (__mmask8) __U); 2843} 2844 2845static __inline__ __m256 __DEFAULT_FN_ATTRS 2846_mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { 2847 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A, 2848 (__v8sf) __B, 2849 (__v8sf) __W, 2850 (__mmask8) __U); 2851} 2852 2853static __inline__ __m256 __DEFAULT_FN_ATTRS 2854_mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B) { 2855 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A, 2856 (__v8sf) __B, 2857 (__v8sf) 2858 _mm256_setzero_ps (), 2859 (__mmask8) __U); 2860} 2861 2862static __inline__ __m128d __DEFAULT_FN_ATTRS 2863_mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A) { 2864 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A, 2865 (__v2df) __W, 2866 (__mmask8) __U); 2867} 2868 2869static __inline__ __m128d __DEFAULT_FN_ATTRS 2870_mm_maskz_expand_pd (__mmask8 __U, __m128d __A) { 2871 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A, 2872 (__v2df) 2873 _mm_setzero_pd (), 2874 (__mmask8) __U); 2875} 2876 2877static __inline__ __m256d __DEFAULT_FN_ATTRS 2878_mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A) { 2879 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A, 2880 (__v4df) __W, 2881 (__mmask8) __U); 2882} 2883 2884static __inline__ __m256d __DEFAULT_FN_ATTRS 2885_mm256_maskz_expand_pd (__mmask8 __U, __m256d __A) { 2886 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A, 2887 (__v4df) 2888 _mm256_setzero_pd (), 2889 (__mmask8) __U); 2890} 2891 2892static __inline__ __m128i __DEFAULT_FN_ATTRS 2893_mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { 2894 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A, 2895 (__v2di) __W, 2896 (__mmask8) __U); 2897} 2898 2899static __inline__ __m128i __DEFAULT_FN_ATTRS 2900_mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A) { 2901 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A, 2902 (__v2di) 2903 _mm_setzero_si128 (), 2904 (__mmask8) __U); 2905} 2906 2907static __inline__ __m256i __DEFAULT_FN_ATTRS 2908_mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { 2909 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A, 2910 (__v4di) __W, 2911 (__mmask8) __U); 2912} 2913 2914static __inline__ __m256i __DEFAULT_FN_ATTRS 2915_mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A) { 2916 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A, 2917 (__v4di) 2918 _mm256_setzero_si256 (), 2919 (__mmask8) __U); 2920} 2921 2922static __inline__ __m128d __DEFAULT_FN_ATTRS 2923_mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P) { 2924 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P, 2925 (__v2df) __W, 2926 (__mmask8) 2927 __U); 2928} 2929 2930static __inline__ __m128d __DEFAULT_FN_ATTRS 2931_mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P) { 2932 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P, 2933 (__v2df) 2934 _mm_setzero_pd (), 2935 (__mmask8) 2936 __U); 2937} 2938 2939static __inline__ __m256d __DEFAULT_FN_ATTRS 2940_mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P) { 2941 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P, 2942 (__v4df) __W, 2943 (__mmask8) 2944 __U); 2945} 2946 2947static __inline__ __m256d __DEFAULT_FN_ATTRS 2948_mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P) { 2949 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P, 2950 (__v4df) 2951 _mm256_setzero_pd (), 2952 (__mmask8) 2953 __U); 2954} 2955 2956static __inline__ __m128i __DEFAULT_FN_ATTRS 2957_mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) { 2958 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P, 2959 (__v2di) __W, 2960 (__mmask8) 2961 __U); 2962} 2963 2964static __inline__ __m128i __DEFAULT_FN_ATTRS 2965_mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) { 2966 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P, 2967 (__v2di) 2968 _mm_setzero_si128 (), 2969 (__mmask8) 2970 __U); 2971} 2972 2973static __inline__ __m256i __DEFAULT_FN_ATTRS 2974_mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U, 2975 void const *__P) { 2976 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P, 2977 (__v4di) __W, 2978 (__mmask8) 2979 __U); 2980} 2981 2982static __inline__ __m256i __DEFAULT_FN_ATTRS 2983_mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) { 2984 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P, 2985 (__v4di) 2986 _mm256_setzero_si256 (), 2987 (__mmask8) 2988 __U); 2989} 2990 2991static __inline__ __m128 __DEFAULT_FN_ATTRS 2992_mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P) { 2993 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P, 2994 (__v4sf) __W, 2995 (__mmask8) __U); 2996} 2997 2998static __inline__ __m128 __DEFAULT_FN_ATTRS 2999_mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P) { 3000 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P, 3001 (__v4sf) 3002 _mm_setzero_ps (), 3003 (__mmask8) 3004 __U); 3005} 3006 3007static __inline__ __m256 __DEFAULT_FN_ATTRS 3008_mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P) { 3009 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P, 3010 (__v8sf) __W, 3011 (__mmask8) __U); 3012} 3013 3014static __inline__ __m256 __DEFAULT_FN_ATTRS 3015_mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P) { 3016 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P, 3017 (__v8sf) 3018 _mm256_setzero_ps (), 3019 (__mmask8) 3020 __U); 3021} 3022 3023static __inline__ __m128i __DEFAULT_FN_ATTRS 3024_mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) { 3025 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P, 3026 (__v4si) __W, 3027 (__mmask8) 3028 __U); 3029} 3030 3031static __inline__ __m128i __DEFAULT_FN_ATTRS 3032_mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) { 3033 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P, 3034 (__v4si) 3035 _mm_setzero_si128 (), 3036 (__mmask8) __U); 3037} 3038 3039static __inline__ __m256i __DEFAULT_FN_ATTRS 3040_mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U, 3041 void const *__P) { 3042 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P, 3043 (__v8si) __W, 3044 (__mmask8) 3045 __U); 3046} 3047 3048static __inline__ __m256i __DEFAULT_FN_ATTRS 3049_mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) { 3050 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P, 3051 (__v8si) 3052 _mm256_setzero_si256 (), 3053 (__mmask8) 3054 __U); 3055} 3056 3057static __inline__ __m128 __DEFAULT_FN_ATTRS 3058_mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A) { 3059 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A, 3060 (__v4sf) __W, 3061 (__mmask8) __U); 3062} 3063 3064static __inline__ __m128 __DEFAULT_FN_ATTRS 3065_mm_maskz_expand_ps (__mmask8 __U, __m128 __A) { 3066 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A, 3067 (__v4sf) 3068 _mm_setzero_ps (), 3069 (__mmask8) __U); 3070} 3071 3072static __inline__ __m256 __DEFAULT_FN_ATTRS 3073_mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A) { 3074 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A, 3075 (__v8sf) __W, 3076 (__mmask8) __U); 3077} 3078 3079static __inline__ __m256 __DEFAULT_FN_ATTRS 3080_mm256_maskz_expand_ps (__mmask8 __U, __m256 __A) { 3081 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A, 3082 (__v8sf) 3083 _mm256_setzero_ps (), 3084 (__mmask8) __U); 3085} 3086 3087static __inline__ __m128i __DEFAULT_FN_ATTRS 3088_mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { 3089 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A, 3090 (__v4si) __W, 3091 (__mmask8) __U); 3092} 3093 3094static __inline__ __m128i __DEFAULT_FN_ATTRS 3095_mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A) { 3096 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A, 3097 (__v4si) 3098 _mm_setzero_si128 (), 3099 (__mmask8) __U); 3100} 3101 3102static __inline__ __m256i __DEFAULT_FN_ATTRS 3103_mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { 3104 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A, 3105 (__v8si) __W, 3106 (__mmask8) __U); 3107} 3108 3109static __inline__ __m256i __DEFAULT_FN_ATTRS 3110_mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A) { 3111 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A, 3112 (__v8si) 3113 _mm256_setzero_si256 (), 3114 (__mmask8) __U); 3115} 3116 3117static __inline__ __m128d __DEFAULT_FN_ATTRS 3118_mm_getexp_pd (__m128d __A) { 3119 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, 3120 (__v2df) 3121 _mm_setzero_pd (), 3122 (__mmask8) -1); 3123} 3124 3125static __inline__ __m128d __DEFAULT_FN_ATTRS 3126_mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A) { 3127 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, 3128 (__v2df) __W, 3129 (__mmask8) __U); 3130} 3131 3132static __inline__ __m128d __DEFAULT_FN_ATTRS 3133_mm_maskz_getexp_pd (__mmask8 __U, __m128d __A) { 3134 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, 3135 (__v2df) 3136 _mm_setzero_pd (), 3137 (__mmask8) __U); 3138} 3139 3140static __inline__ __m256d __DEFAULT_FN_ATTRS 3141_mm256_getexp_pd (__m256d __A) { 3142 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, 3143 (__v4df) 3144 _mm256_setzero_pd (), 3145 (__mmask8) -1); 3146} 3147 3148static __inline__ __m256d __DEFAULT_FN_ATTRS 3149_mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A) { 3150 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, 3151 (__v4df) __W, 3152 (__mmask8) __U); 3153} 3154 3155static __inline__ __m256d __DEFAULT_FN_ATTRS 3156_mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A) { 3157 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, 3158 (__v4df) 3159 _mm256_setzero_pd (), 3160 (__mmask8) __U); 3161} 3162 3163static __inline__ __m128 __DEFAULT_FN_ATTRS 3164_mm_getexp_ps (__m128 __A) { 3165 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, 3166 (__v4sf) 3167 _mm_setzero_ps (), 3168 (__mmask8) -1); 3169} 3170 3171static __inline__ __m128 __DEFAULT_FN_ATTRS 3172_mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A) { 3173 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, 3174 (__v4sf) __W, 3175 (__mmask8) __U); 3176} 3177 3178static __inline__ __m128 __DEFAULT_FN_ATTRS 3179_mm_maskz_getexp_ps (__mmask8 __U, __m128 __A) { 3180 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, 3181 (__v4sf) 3182 _mm_setzero_ps (), 3183 (__mmask8) __U); 3184} 3185 3186static __inline__ __m256 __DEFAULT_FN_ATTRS 3187_mm256_getexp_ps (__m256 __A) { 3188 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, 3189 (__v8sf) 3190 _mm256_setzero_ps (), 3191 (__mmask8) -1); 3192} 3193 3194static __inline__ __m256 __DEFAULT_FN_ATTRS 3195_mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A) { 3196 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, 3197 (__v8sf) __W, 3198 (__mmask8) __U); 3199} 3200 3201static __inline__ __m256 __DEFAULT_FN_ATTRS 3202_mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A) { 3203 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, 3204 (__v8sf) 3205 _mm256_setzero_ps (), 3206 (__mmask8) __U); 3207} 3208 3209static __inline__ __m128d __DEFAULT_FN_ATTRS 3210_mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { 3211 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A, 3212 (__v2df) __B, 3213 (__v2df) __W, 3214 (__mmask8) __U); 3215} 3216 3217static __inline__ __m128d __DEFAULT_FN_ATTRS 3218_mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B) { 3219 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A, 3220 (__v2df) __B, 3221 (__v2df) 3222 _mm_setzero_pd (), 3223 (__mmask8) __U); 3224} 3225 3226static __inline__ __m256d __DEFAULT_FN_ATTRS 3227_mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A, 3228 __m256d __B) { 3229 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A, 3230 (__v4df) __B, 3231 (__v4df) __W, 3232 (__mmask8) __U); 3233} 3234 3235static __inline__ __m256d __DEFAULT_FN_ATTRS 3236_mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B) { 3237 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A, 3238 (__v4df) __B, 3239 (__v4df) 3240 _mm256_setzero_pd (), 3241 (__mmask8) __U); 3242} 3243 3244static __inline__ __m128 __DEFAULT_FN_ATTRS 3245_mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { 3246 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A, 3247 (__v4sf) __B, 3248 (__v4sf) __W, 3249 (__mmask8) __U); 3250} 3251 3252static __inline__ __m128 __DEFAULT_FN_ATTRS 3253_mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B) { 3254 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A, 3255 (__v4sf) __B, 3256 (__v4sf) 3257 _mm_setzero_ps (), 3258 (__mmask8) __U); 3259} 3260 3261static __inline__ __m256 __DEFAULT_FN_ATTRS 3262_mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { 3263 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A, 3264 (__v8sf) __B, 3265 (__v8sf) __W, 3266 (__mmask8) __U); 3267} 3268 3269static __inline__ __m256 __DEFAULT_FN_ATTRS 3270_mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B) { 3271 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A, 3272 (__v8sf) __B, 3273 (__v8sf) 3274 _mm256_setzero_ps (), 3275 (__mmask8) __U); 3276} 3277 3278static __inline__ __m128d __DEFAULT_FN_ATTRS 3279_mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { 3280 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A, 3281 (__v2df) __B, 3282 (__v2df) __W, 3283 (__mmask8) __U); 3284} 3285 3286static __inline__ __m128d __DEFAULT_FN_ATTRS 3287_mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B) { 3288 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A, 3289 (__v2df) __B, 3290 (__v2df) 3291 _mm_setzero_pd (), 3292 (__mmask8) __U); 3293} 3294 3295static __inline__ __m256d __DEFAULT_FN_ATTRS 3296_mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A, 3297 __m256d __B) { 3298 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A, 3299 (__v4df) __B, 3300 (__v4df) __W, 3301 (__mmask8) __U); 3302} 3303 3304static __inline__ __m256d __DEFAULT_FN_ATTRS 3305_mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B) { 3306 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A, 3307 (__v4df) __B, 3308 (__v4df) 3309 _mm256_setzero_pd (), 3310 (__mmask8) __U); 3311} 3312 3313static __inline__ __m128 __DEFAULT_FN_ATTRS 3314_mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { 3315 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A, 3316 (__v4sf) __B, 3317 (__v4sf) __W, 3318 (__mmask8) __U); 3319} 3320 3321static __inline__ __m128 __DEFAULT_FN_ATTRS 3322_mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B) { 3323 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A, 3324 (__v4sf) __B, 3325 (__v4sf) 3326 _mm_setzero_ps (), 3327 (__mmask8) __U); 3328} 3329 3330static __inline__ __m256 __DEFAULT_FN_ATTRS 3331_mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { 3332 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A, 3333 (__v8sf) __B, 3334 (__v8sf) __W, 3335 (__mmask8) __U); 3336} 3337 3338static __inline__ __m256 __DEFAULT_FN_ATTRS 3339_mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B) { 3340 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A, 3341 (__v8sf) __B, 3342 (__v8sf) 3343 _mm256_setzero_ps (), 3344 (__mmask8) __U); 3345} 3346 3347static __inline__ __m128d __DEFAULT_FN_ATTRS 3348_mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { 3349 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A, 3350 (__v2df) __B, 3351 (__v2df) __W, 3352 (__mmask8) __U); 3353} 3354 3355static __inline__ __m128d __DEFAULT_FN_ATTRS 3356_mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B) { 3357 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A, 3358 (__v2df) __B, 3359 (__v2df) 3360 _mm_setzero_pd (), 3361 (__mmask8) __U); 3362} 3363 3364static __inline__ __m256d __DEFAULT_FN_ATTRS 3365_mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A, 3366 __m256d __B) { 3367 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A, 3368 (__v4df) __B, 3369 (__v4df) __W, 3370 (__mmask8) __U); 3371} 3372 3373static __inline__ __m256d __DEFAULT_FN_ATTRS 3374_mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B) { 3375 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A, 3376 (__v4df) __B, 3377 (__v4df) 3378 _mm256_setzero_pd (), 3379 (__mmask8) __U); 3380} 3381 3382static __inline__ __m128 __DEFAULT_FN_ATTRS 3383_mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { 3384 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A, 3385 (__v4sf) __B, 3386 (__v4sf) __W, 3387 (__mmask8) __U); 3388} 3389 3390static __inline__ __m128 __DEFAULT_FN_ATTRS 3391_mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B) { 3392 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A, 3393 (__v4sf) __B, 3394 (__v4sf) 3395 _mm_setzero_ps (), 3396 (__mmask8) __U); 3397} 3398 3399static __inline__ __m256 __DEFAULT_FN_ATTRS 3400_mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { 3401 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A, 3402 (__v8sf) __B, 3403 (__v8sf) __W, 3404 (__mmask8) __U); 3405} 3406 3407static __inline__ __m256 __DEFAULT_FN_ATTRS 3408_mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B) { 3409 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A, 3410 (__v8sf) __B, 3411 (__v8sf) 3412 _mm256_setzero_ps (), 3413 (__mmask8) __U); 3414} 3415 3416static __inline__ __m128i __DEFAULT_FN_ATTRS 3417_mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A) { 3418 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A, 3419 (__v4si) __W, 3420 (__mmask8) __U); 3421} 3422 3423static __inline__ __m128i __DEFAULT_FN_ATTRS 3424_mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A) { 3425 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A, 3426 (__v4si) 3427 _mm_setzero_si128 (), 3428 (__mmask8) __U); 3429} 3430 3431static __inline__ __m256i __DEFAULT_FN_ATTRS 3432_mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A) { 3433 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A, 3434 (__v8si) __W, 3435 (__mmask8) __U); 3436} 3437 3438static __inline__ __m256i __DEFAULT_FN_ATTRS 3439_mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A) { 3440 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A, 3441 (__v8si) 3442 _mm256_setzero_si256 (), 3443 (__mmask8) __U); 3444} 3445 3446static __inline__ __m128i __DEFAULT_FN_ATTRS 3447_mm_abs_epi64 (__m128i __A) { 3448 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, 3449 (__v2di) 3450 _mm_setzero_si128 (), 3451 (__mmask8) -1); 3452} 3453 3454static __inline__ __m128i __DEFAULT_FN_ATTRS 3455_mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { 3456 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, 3457 (__v2di) __W, 3458 (__mmask8) __U); 3459} 3460 3461static __inline__ __m128i __DEFAULT_FN_ATTRS 3462_mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) { 3463 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, 3464 (__v2di) 3465 _mm_setzero_si128 (), 3466 (__mmask8) __U); 3467} 3468 3469static __inline__ __m256i __DEFAULT_FN_ATTRS 3470_mm256_abs_epi64 (__m256i __A) { 3471 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, 3472 (__v4di) 3473 _mm256_setzero_si256 (), 3474 (__mmask8) -1); 3475} 3476 3477static __inline__ __m256i __DEFAULT_FN_ATTRS 3478_mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { 3479 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, 3480 (__v4di) __W, 3481 (__mmask8) __U); 3482} 3483 3484static __inline__ __m256i __DEFAULT_FN_ATTRS 3485_mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) { 3486 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, 3487 (__v4di) 3488 _mm256_setzero_si256 (), 3489 (__mmask8) __U); 3490} 3491 3492static __inline__ __m128i __DEFAULT_FN_ATTRS 3493_mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B) { 3494 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A, 3495 (__v4si) __B, 3496 (__v4si) 3497 _mm_setzero_si128 (), 3498 __M); 3499} 3500 3501static __inline__ __m128i __DEFAULT_FN_ATTRS 3502_mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A, 3503 __m128i __B) { 3504 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A, 3505 (__v4si) __B, 3506 (__v4si) __W, __M); 3507} 3508 3509static __inline__ __m256i __DEFAULT_FN_ATTRS 3510_mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B) { 3511 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A, 3512 (__v8si) __B, 3513 (__v8si) 3514 _mm256_setzero_si256 (), 3515 __M); 3516} 3517 3518static __inline__ __m256i __DEFAULT_FN_ATTRS 3519_mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A, 3520 __m256i __B) { 3521 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A, 3522 (__v8si) __B, 3523 (__v8si) __W, __M); 3524} 3525 3526static __inline__ __m128i __DEFAULT_FN_ATTRS 3527_mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) { 3528 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, 3529 (__v2di) __B, 3530 (__v2di) 3531 _mm_setzero_si128 (), 3532 __M); 3533} 3534 3535static __inline__ __m128i __DEFAULT_FN_ATTRS 3536_mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A, 3537 __m128i __B) { 3538 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, 3539 (__v2di) __B, 3540 (__v2di) __W, __M); 3541} 3542 3543static __inline__ __m128i __DEFAULT_FN_ATTRS 3544_mm_max_epi64 (__m128i __A, __m128i __B) { 3545 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, 3546 (__v2di) __B, 3547 (__v2di) 3548 _mm_setzero_si128 (), 3549 (__mmask8) -1); 3550} 3551 3552static __inline__ __m256i __DEFAULT_FN_ATTRS 3553_mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) { 3554 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, 3555 (__v4di) __B, 3556 (__v4di) 3557 _mm256_setzero_si256 (), 3558 __M); 3559} 3560 3561static __inline__ __m256i __DEFAULT_FN_ATTRS 3562_mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A, 3563 __m256i __B) { 3564 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, 3565 (__v4di) __B, 3566 (__v4di) __W, __M); 3567} 3568 3569static __inline__ __m256i __DEFAULT_FN_ATTRS 3570_mm256_max_epi64 (__m256i __A, __m256i __B) { 3571 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, 3572 (__v4di) __B, 3573 (__v4di) 3574 _mm256_setzero_si256 (), 3575 (__mmask8) -1); 3576} 3577 3578static __inline__ __m128i __DEFAULT_FN_ATTRS 3579_mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B) { 3580 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A, 3581 (__v4si) __B, 3582 (__v4si) 3583 _mm_setzero_si128 (), 3584 __M); 3585} 3586 3587static __inline__ __m128i __DEFAULT_FN_ATTRS 3588_mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A, 3589 __m128i __B) { 3590 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A, 3591 (__v4si) __B, 3592 (__v4si) __W, __M); 3593} 3594 3595static __inline__ __m256i __DEFAULT_FN_ATTRS 3596_mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B) { 3597 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A, 3598 (__v8si) __B, 3599 (__v8si) 3600 _mm256_setzero_si256 (), 3601 __M); 3602} 3603 3604static __inline__ __m256i __DEFAULT_FN_ATTRS 3605_mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A, 3606 __m256i __B) { 3607 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A, 3608 (__v8si) __B, 3609 (__v8si) __W, __M); 3610} 3611 3612static __inline__ __m128i __DEFAULT_FN_ATTRS 3613_mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) { 3614 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, 3615 (__v2di) __B, 3616 (__v2di) 3617 _mm_setzero_si128 (), 3618 __M); 3619} 3620 3621static __inline__ __m128i __DEFAULT_FN_ATTRS 3622_mm_max_epu64 (__m128i __A, __m128i __B) { 3623 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, 3624 (__v2di) __B, 3625 (__v2di) 3626 _mm_setzero_si128 (), 3627 (__mmask8) -1); 3628} 3629 3630static __inline__ __m128i __DEFAULT_FN_ATTRS 3631_mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A, 3632 __m128i __B) { 3633 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, 3634 (__v2di) __B, 3635 (__v2di) __W, __M); 3636} 3637 3638static __inline__ __m256i __DEFAULT_FN_ATTRS 3639_mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) { 3640 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, 3641 (__v4di) __B, 3642 (__v4di) 3643 _mm256_setzero_si256 (), 3644 __M); 3645} 3646 3647static __inline__ __m256i __DEFAULT_FN_ATTRS 3648_mm256_max_epu64 (__m256i __A, __m256i __B) { 3649 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, 3650 (__v4di) __B, 3651 (__v4di) 3652 _mm256_setzero_si256 (), 3653 (__mmask8) -1); 3654} 3655 3656static __inline__ __m256i __DEFAULT_FN_ATTRS 3657_mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A, 3658 __m256i __B) { 3659 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, 3660 (__v4di) __B, 3661 (__v4di) __W, __M); 3662} 3663 3664static __inline__ __m128i __DEFAULT_FN_ATTRS 3665_mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B) { 3666 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A, 3667 (__v4si) __B, 3668 (__v4si) 3669 _mm_setzero_si128 (), 3670 __M); 3671} 3672 3673static __inline__ __m128i __DEFAULT_FN_ATTRS 3674_mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A, 3675 __m128i __B) { 3676 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A, 3677 (__v4si) __B, 3678 (__v4si) __W, __M); 3679} 3680 3681static __inline__ __m256i __DEFAULT_FN_ATTRS 3682_mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B) { 3683 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A, 3684 (__v8si) __B, 3685 (__v8si) 3686 _mm256_setzero_si256 (), 3687 __M); 3688} 3689 3690static __inline__ __m256i __DEFAULT_FN_ATTRS 3691_mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A, 3692 __m256i __B) { 3693 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A, 3694 (__v8si) __B, 3695 (__v8si) __W, __M); 3696} 3697 3698static __inline__ __m128i __DEFAULT_FN_ATTRS 3699_mm_min_epi64 (__m128i __A, __m128i __B) { 3700 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, 3701 (__v2di) __B, 3702 (__v2di) 3703 _mm_setzero_si128 (), 3704 (__mmask8) -1); 3705} 3706 3707static __inline__ __m128i __DEFAULT_FN_ATTRS 3708_mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A, 3709 __m128i __B) { 3710 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, 3711 (__v2di) __B, 3712 (__v2di) __W, __M); 3713} 3714 3715static __inline__ __m128i __DEFAULT_FN_ATTRS 3716_mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) { 3717 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, 3718 (__v2di) __B, 3719 (__v2di) 3720 _mm_setzero_si128 (), 3721 __M); 3722} 3723 3724static __inline__ __m256i __DEFAULT_FN_ATTRS 3725_mm256_min_epi64 (__m256i __A, __m256i __B) { 3726 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, 3727 (__v4di) __B, 3728 (__v4di) 3729 _mm256_setzero_si256 (), 3730 (__mmask8) -1); 3731} 3732 3733static __inline__ __m256i __DEFAULT_FN_ATTRS 3734_mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A, 3735 __m256i __B) { 3736 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, 3737 (__v4di) __B, 3738 (__v4di) __W, __M); 3739} 3740 3741static __inline__ __m256i __DEFAULT_FN_ATTRS 3742_mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) { 3743 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, 3744 (__v4di) __B, 3745 (__v4di) 3746 _mm256_setzero_si256 (), 3747 __M); 3748} 3749 3750static __inline__ __m128i __DEFAULT_FN_ATTRS 3751_mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B) { 3752 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A, 3753 (__v4si) __B, 3754 (__v4si) 3755 _mm_setzero_si128 (), 3756 __M); 3757} 3758 3759static __inline__ __m128i __DEFAULT_FN_ATTRS 3760_mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A, 3761 __m128i __B) { 3762 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A, 3763 (__v4si) __B, 3764 (__v4si) __W, __M); 3765} 3766 3767static __inline__ __m256i __DEFAULT_FN_ATTRS 3768_mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B) { 3769 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A, 3770 (__v8si) __B, 3771 (__v8si) 3772 _mm256_setzero_si256 (), 3773 __M); 3774} 3775 3776static __inline__ __m256i __DEFAULT_FN_ATTRS 3777_mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A, 3778 __m256i __B) { 3779 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A, 3780 (__v8si) __B, 3781 (__v8si) __W, __M); 3782} 3783 3784static __inline__ __m128i __DEFAULT_FN_ATTRS 3785_mm_min_epu64 (__m128i __A, __m128i __B) { 3786 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, 3787 (__v2di) __B, 3788 (__v2di) 3789 _mm_setzero_si128 (), 3790 (__mmask8) -1); 3791} 3792 3793static __inline__ __m128i __DEFAULT_FN_ATTRS 3794_mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A, 3795 __m128i __B) { 3796 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, 3797 (__v2di) __B, 3798 (__v2di) __W, __M); 3799} 3800 3801static __inline__ __m128i __DEFAULT_FN_ATTRS 3802_mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) { 3803 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, 3804 (__v2di) __B, 3805 (__v2di) 3806 _mm_setzero_si128 (), 3807 __M); 3808} 3809 3810static __inline__ __m256i __DEFAULT_FN_ATTRS 3811_mm256_min_epu64 (__m256i __A, __m256i __B) { 3812 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, 3813 (__v4di) __B, 3814 (__v4di) 3815 _mm256_setzero_si256 (), 3816 (__mmask8) -1); 3817} 3818 3819static __inline__ __m256i __DEFAULT_FN_ATTRS 3820_mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A, 3821 __m256i __B) { 3822 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, 3823 (__v4di) __B, 3824 (__v4di) __W, __M); 3825} 3826 3827static __inline__ __m256i __DEFAULT_FN_ATTRS 3828_mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) { 3829 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, 3830 (__v4di) __B, 3831 (__v4di) 3832 _mm256_setzero_si256 (), 3833 __M); 3834} 3835 3836#define _mm_roundscale_pd(__A, __imm) __extension__ ({ \ 3837 (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, \ 3838 __imm, (__v2df) _mm_setzero_pd (), (__mmask8) -1); }) 3839 3840 3841#define _mm_mask_roundscale_pd(__W, __U, __A, __imm) __extension__ ({ \ 3842 (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, \ 3843 (__v2df) __W, (__mmask8) __U); }) 3844 3845 3846#define _mm_maskz_roundscale_pd(__U, __A, __imm) __extension__ ({ \ 3847 (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, __imm, \ 3848 (__v2df) _mm_setzero_pd (), (__mmask8) __U); }) 3849 3850 3851#define _mm256_roundscale_pd(__A, __imm) __extension__ ({ \ 3852 (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \ 3853 (__v4df) _mm256_setzero_pd (), (__mmask8) -1); }) 3854 3855 3856#define _mm256_mask_roundscale_pd(__W, __U, __A, __imm) __extension__ ({ \ 3857 (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \ 3858 (__v4df) __W, (__mmask8) __U); }) 3859 3860 3861#define _mm256_maskz_roundscale_pd(__U, __A, __imm) __extension__ ({ \ 3862 (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, __imm, \ 3863 (__v4df) _mm256_setzero_pd(), (__mmask8) __U); }) 3864 3865#define _mm_roundscale_ps(__A, __imm) __extension__ ({ \ 3866 (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \ 3867 (__v4sf) _mm_setzero_ps(), (__mmask8) -1); }) 3868 3869 3870#define _mm_mask_roundscale_ps(__W, __U, __A, __imm) __extension__ ({ \ 3871 (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \ 3872 (__v4sf) __W, (__mmask8) __U); }) 3873 3874 3875#define _mm_maskz_roundscale_ps(__U, __A, __imm) __extension__ ({ \ 3876 (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, __imm, \ 3877 (__v4sf) _mm_setzero_ps(), (__mmask8) __U); }) 3878 3879#define _mm256_roundscale_ps(__A, __imm) __extension__ ({ \ 3880 (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,__imm, \ 3881 (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); }) 3882 3883#define _mm256_mask_roundscale_ps(__W, __U, __A,__imm) __extension__ ({ \ 3884 (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, \ 3885 (__v8sf) __W, (__mmask8) __U); }) 3886 3887 3888#define _mm256_maskz_roundscale_ps(__U, __A, __imm) __extension__ ({ \ 3889 (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, __imm, \ 3890 (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); }) 3891 3892static __inline__ __m128d __DEFAULT_FN_ATTRS 3893_mm_scalef_pd (__m128d __A, __m128d __B) { 3894 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, 3895 (__v2df) __B, 3896 (__v2df) 3897 _mm_setzero_pd (), 3898 (__mmask8) -1); 3899} 3900 3901static __inline__ __m128d __DEFAULT_FN_ATTRS 3902_mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A, 3903 __m128d __B) { 3904 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, 3905 (__v2df) __B, 3906 (__v2df) __W, 3907 (__mmask8) __U); 3908} 3909 3910static __inline__ __m128d __DEFAULT_FN_ATTRS 3911_mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B) { 3912 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, 3913 (__v2df) __B, 3914 (__v2df) 3915 _mm_setzero_pd (), 3916 (__mmask8) __U); 3917} 3918 3919static __inline__ __m256d __DEFAULT_FN_ATTRS 3920_mm256_scalef_pd (__m256d __A, __m256d __B) { 3921 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, 3922 (__v4df) __B, 3923 (__v4df) 3924 _mm256_setzero_pd (), 3925 (__mmask8) -1); 3926} 3927 3928static __inline__ __m256d __DEFAULT_FN_ATTRS 3929_mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A, 3930 __m256d __B) { 3931 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, 3932 (__v4df) __B, 3933 (__v4df) __W, 3934 (__mmask8) __U); 3935} 3936 3937static __inline__ __m256d __DEFAULT_FN_ATTRS 3938_mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B) { 3939 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, 3940 (__v4df) __B, 3941 (__v4df) 3942 _mm256_setzero_pd (), 3943 (__mmask8) __U); 3944} 3945 3946static __inline__ __m128 __DEFAULT_FN_ATTRS 3947_mm_scalef_ps (__m128 __A, __m128 __B) { 3948 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, 3949 (__v4sf) __B, 3950 (__v4sf) 3951 _mm_setzero_ps (), 3952 (__mmask8) -1); 3953} 3954 3955static __inline__ __m128 __DEFAULT_FN_ATTRS 3956_mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { 3957 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, 3958 (__v4sf) __B, 3959 (__v4sf) __W, 3960 (__mmask8) __U); 3961} 3962 3963static __inline__ __m128 __DEFAULT_FN_ATTRS 3964_mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B) { 3965 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, 3966 (__v4sf) __B, 3967 (__v4sf) 3968 _mm_setzero_ps (), 3969 (__mmask8) __U); 3970} 3971 3972static __inline__ __m256 __DEFAULT_FN_ATTRS 3973_mm256_scalef_ps (__m256 __A, __m256 __B) { 3974 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, 3975 (__v8sf) __B, 3976 (__v8sf) 3977 _mm256_setzero_ps (), 3978 (__mmask8) -1); 3979} 3980 3981static __inline__ __m256 __DEFAULT_FN_ATTRS 3982_mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A, 3983 __m256 __B) { 3984 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, 3985 (__v8sf) __B, 3986 (__v8sf) __W, 3987 (__mmask8) __U); 3988} 3989 3990static __inline__ __m256 __DEFAULT_FN_ATTRS 3991_mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) { 3992 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, 3993 (__v8sf) __B, 3994 (__v8sf) 3995 _mm256_setzero_ps (), 3996 (__mmask8) __U); 3997} 3998 3999#define _mm_i64scatter_pd(__addr,__index, __v1, __scale) __extension__ ({ \ 4000 __builtin_ia32_scatterdiv2df(__addr, (__mmask8) 0xFF, (__v2di) __index, \ 4001 (__v2df) __v1, __scale); }) 4002 4003#define _mm_mask_i64scatter_pd(__addr, __mask, __index, __v1, \ 4004 __scale) __extension__ ({ \ 4005 __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index, \ 4006 (__v2df) __v1, __scale); }) 4007 4008 4009#define _mm_i64scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \ 4010 __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF, \ 4011 (__v2di) __index, (__v2di) __v1, __scale); }) 4012 4013#define _mm_mask_i64scatter_epi64(__addr, __mask, __index, __v1,\ 4014 __scale) __extension__ ({ \ 4015 __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index,\ 4016 (__v2di) __v1, __scale); }) 4017 4018#define _mm256_i64scatter_pd(__addr, __index, __v1, __scale) __extension__ ({ \ 4019 __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF,\ 4020 (__v4di) __index, (__v4df) __v1, __scale); }) 4021 4022#define _mm256_mask_i64scatter_pd(__addr, __mask, __index, __v1,\ 4023 __scale) __extension__ ({ \ 4024 __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index,\ 4025 (__v4df) __v1, __scale); }) 4026 4027#define _mm256_i64scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \ 4028 __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF, (__v4di) __index,\ 4029 (__v4di) __v1, __scale); }) 4030 4031#define _mm256_mask_i64scatter_epi64(__addr, __mask, __index, __v1,\ 4032 __scale) __extension__ ({ \ 4033 __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index,\ 4034 (__v4di) __v1, __scale); }) 4035 4036#define _mm_i64scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \ 4037 __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF,\ 4038 (__v2di) __index, (__v4sf) __v1, __scale); }) 4039 4040#define _mm_mask_i64scatter_ps(__addr, __mask, __index, __v1, \ 4041 __scale) __extension__ ({ \ 4042 __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index,\ 4043 (__v4sf) __v1, __scale); }) 4044 4045#define _mm_i64scatter_epi32(__addr, __index, __v1, \ 4046 __scale) __extension__ ({ \ 4047 __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF,\ 4048 (__v2di) __index, (__v4si) __v1, __scale); }) 4049 4050#define _mm_mask_i64scatter_epi32(__addr, __mask, __index, __v1,\ 4051 __scale) __extension__ ({ \ 4052 __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index,\ 4053 (__v4si) __v1, __scale); }) 4054 4055#define _mm256_i64scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \ 4056 __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF, (__v4di) __index, \ 4057 (__v4sf) __v1, __scale); }) 4058 4059#define _mm256_mask_i64scatter_ps(__addr, __mask, __index, __v1, \ 4060 __scale) __extension__ ({ \ 4061 __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index, \ 4062 (__v4sf) __v1, __scale); }) 4063 4064#define _mm256_i64scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \ 4065 __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF, \ 4066 (__v4di) __index, (__v4si) __v1, __scale); }) 4067 4068#define _mm256_mask_i64scatter_epi32(__addr, __mask, __index, __v1, \ 4069 __scale) __extension__ ({ \ 4070 __builtin_ia32_scatterdiv8si(__addr, __mask, (__v4di) __index, \ 4071 (__v4si) __v1, __scale); }) 4072 4073#define _mm_i32scatter_pd(__addr, __index, __v1, \ 4074 __scale) __extension__ ({ \ 4075 __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF, \ 4076 (__v4si) __index, (__v2df) __v1, __scale); }) 4077 4078#define _mm_mask_i32scatter_pd(__addr, __mask, __index, __v1, \ 4079 __scale) __extension__ ({ \ 4080 __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index,\ 4081 (__v2df) __v1, __scale); }) 4082 4083#define _mm_i32scatter_epi64(__addr, __index, __v1, __scale) __extension__ ({ \ 4084 __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF, \ 4085 (__v4si) __index, (__v2di) __v1, __scale); }) 4086 4087#define _mm_mask_i32scatter_epi64(__addr, __mask, __index, __v1, \ 4088 __scale) __extension__ ({ \ 4089 __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index, \ 4090 (__v2di) __v1, __scale); }) 4091 4092#define _mm256_i32scatter_pd(__addr, __index, __v1, __scale) __extension__ ({ \ 4093 __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF, \ 4094 (__v4si) __index, (__v4df) __v1, __scale); }) 4095 4096#define _mm256_mask_i32scatter_pd(__addr, __mask, __index, __v1, \ 4097 __scale) __extension__ ({ \ 4098 __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index, \ 4099 (__v4df) __v1, __scale); }) 4100 4101#define _mm256_i32scatter_epi64(__addr, __index, __v1, \ 4102 __scale) __extension__ ({ \ 4103 __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF, \ 4104 (__v4si) __index, (__v4di) __v1, __scale); }) 4105 4106#define _mm256_mask_i32scatter_epi64(__addr, __mask, __index, __v1, \ 4107 __scale) __extension__ ({ \ 4108 __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index, \ 4109 (__v4di) __v1, __scale); }) 4110 4111#define _mm_i32scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \ 4112 __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF, \ 4113 (__v4si) __index, (__v4sf) __v1, __scale); }) 4114 4115#define _mm_mask_i32scatter_ps(__addr, __mask, __index, __v1, \ 4116 __scale) __extension__ ({ \ 4117 __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index, \ 4118 (__v4sf) __v1, __scale); }) 4119 4120#define _mm_i32scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \ 4121 __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF, \ 4122 (__v4si) __index, (__v4si) __v1, __scale); }) 4123 4124#define _mm_mask_i32scatter_epi32(__addr, __mask, __index, __v1, \ 4125 __scale) __extension__ ({ \ 4126 __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index,\ 4127 (__v4si) __v1, __scale); }) 4128 4129#define _mm256_i32scatter_ps(__addr, __index, __v1, __scale) __extension__ ({ \ 4130 __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF, \ 4131 (__v8si) __index, (__v8sf) __v1, __scale); }) 4132 4133#define _mm256_mask_i32scatter_ps(__addr, __mask, __index, __v1, \ 4134 __scale) __extension__ ({ \ 4135 __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index,\ 4136 (__v8sf) __v1, __scale); }) 4137 4138#define _mm256_i32scatter_epi32(__addr, __index, __v1, __scale) __extension__ ({ \ 4139 __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF, \ 4140 (__v8si) __index, (__v8si) __v1, __scale); }) 4141 4142#define _mm256_mask_i32scatter_epi32(__addr, __mask, __index, __v1, \ 4143 __scale) __extension__ ({ \ 4144 __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index, \ 4145 (__v8si) __v1, __scale); }) 4146 4147static __inline__ __m128d __DEFAULT_FN_ATTRS 4148_mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A) { 4149 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A, 4150 (__v2df) __W, 4151 (__mmask8) __U); 4152} 4153 4154static __inline__ __m128d __DEFAULT_FN_ATTRS 4155_mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A) { 4156 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A, 4157 (__v2df) 4158 _mm_setzero_pd (), 4159 (__mmask8) __U); 4160} 4161 4162static __inline__ __m256d __DEFAULT_FN_ATTRS 4163_mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A) { 4164 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A, 4165 (__v4df) __W, 4166 (__mmask8) __U); 4167} 4168 4169static __inline__ __m256d __DEFAULT_FN_ATTRS 4170_mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A) { 4171 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A, 4172 (__v4df) 4173 _mm256_setzero_pd (), 4174 (__mmask8) __U); 4175} 4176 4177static __inline__ __m128 __DEFAULT_FN_ATTRS 4178_mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A) { 4179 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A, 4180 (__v4sf) __W, 4181 (__mmask8) __U); 4182} 4183 4184static __inline__ __m128 __DEFAULT_FN_ATTRS 4185_mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A) { 4186 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A, 4187 (__v4sf) 4188 _mm_setzero_ps (), 4189 (__mmask8) __U); 4190} 4191 4192static __inline__ __m256 __DEFAULT_FN_ATTRS 4193_mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A) { 4194 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A, 4195 (__v8sf) __W, 4196 (__mmask8) __U); 4197} 4198 4199static __inline__ __m256 __DEFAULT_FN_ATTRS 4200_mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A) { 4201 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A, 4202 (__v8sf) 4203 _mm256_setzero_ps (), 4204 (__mmask8) __U); 4205} 4206 4207static __inline__ __m128d __DEFAULT_FN_ATTRS 4208_mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { 4209 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A, 4210 (__v2df) __B, 4211 (__v2df) __W, 4212 (__mmask8) __U); 4213} 4214 4215static __inline__ __m128d __DEFAULT_FN_ATTRS 4216_mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B) { 4217 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A, 4218 (__v2df) __B, 4219 (__v2df) 4220 _mm_setzero_pd (), 4221 (__mmask8) __U); 4222} 4223 4224static __inline__ __m256d __DEFAULT_FN_ATTRS 4225_mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A, 4226 __m256d __B) { 4227 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A, 4228 (__v4df) __B, 4229 (__v4df) __W, 4230 (__mmask8) __U); 4231} 4232 4233static __inline__ __m256d __DEFAULT_FN_ATTRS 4234_mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B) { 4235 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A, 4236 (__v4df) __B, 4237 (__v4df) 4238 _mm256_setzero_pd (), 4239 (__mmask8) __U); 4240} 4241 4242static __inline__ __m128 __DEFAULT_FN_ATTRS 4243_mm_mask_sub_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) { 4244 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A, 4245 (__v4sf) __B, 4246 (__v4sf) __W, 4247 (__mmask8) __U); 4248} 4249 4250static __inline__ __m128 __DEFAULT_FN_ATTRS 4251_mm_maskz_sub_ps (__mmask16 __U, __m128 __A, __m128 __B) { 4252 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A, 4253 (__v4sf) __B, 4254 (__v4sf) 4255 _mm_setzero_ps (), 4256 (__mmask8) __U); 4257} 4258 4259static __inline__ __m256 __DEFAULT_FN_ATTRS 4260_mm256_mask_sub_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) { 4261 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A, 4262 (__v8sf) __B, 4263 (__v8sf) __W, 4264 (__mmask8) __U); 4265} 4266 4267static __inline__ __m256 __DEFAULT_FN_ATTRS 4268_mm256_maskz_sub_ps (__mmask16 __U, __m256 __A, __m256 __B) { 4269 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A, 4270 (__v8sf) __B, 4271 (__v8sf) 4272 _mm256_setzero_ps (), 4273 (__mmask8) __U); 4274} 4275 4276static __inline__ __m128i __DEFAULT_FN_ATTRS 4277_mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U, 4278 __m128i __B) { 4279 return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A, 4280 (__v4si) __I 4281 /* idx */ , 4282 (__v4si) __B, 4283 (__mmask8) __U); 4284} 4285 4286static __inline__ __m256i __DEFAULT_FN_ATTRS 4287_mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I, 4288 __mmask8 __U, __m256i __B) { 4289 return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A, 4290 (__v8si) __I 4291 /* idx */ , 4292 (__v8si) __B, 4293 (__mmask8) __U); 4294} 4295 4296static __inline__ __m128d __DEFAULT_FN_ATTRS 4297_mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U, 4298 __m128d __B) { 4299 return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A, 4300 (__v2di) __I 4301 /* idx */ , 4302 (__v2df) __B, 4303 (__mmask8) 4304 __U); 4305} 4306 4307static __inline__ __m256d __DEFAULT_FN_ATTRS 4308_mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U, 4309 __m256d __B) { 4310 return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A, 4311 (__v4di) __I 4312 /* idx */ , 4313 (__v4df) __B, 4314 (__mmask8) 4315 __U); 4316} 4317 4318static __inline__ __m128 __DEFAULT_FN_ATTRS 4319_mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U, 4320 __m128 __B) { 4321 return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A, 4322 (__v4si) __I 4323 /* idx */ , 4324 (__v4sf) __B, 4325 (__mmask8) __U); 4326} 4327 4328static __inline__ __m256 __DEFAULT_FN_ATTRS 4329_mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U, 4330 __m256 __B) { 4331 return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A, 4332 (__v8si) __I 4333 /* idx */ , 4334 (__v8sf) __B, 4335 (__mmask8) __U); 4336} 4337 4338static __inline__ __m128i __DEFAULT_FN_ATTRS 4339_mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U, 4340 __m128i __B) { 4341 return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A, 4342 (__v2di) __I 4343 /* idx */ , 4344 (__v2di) __B, 4345 (__mmask8) __U); 4346} 4347 4348static __inline__ __m256i __DEFAULT_FN_ATTRS 4349_mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I, 4350 __mmask8 __U, __m256i __B) { 4351 return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A, 4352 (__v4di) __I 4353 /* idx */ , 4354 (__v4di) __B, 4355 (__mmask8) __U); 4356} 4357 4358static __inline__ __m128i __DEFAULT_FN_ATTRS 4359_mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B) { 4360 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I 4361 /* idx */ , 4362 (__v4si) __A, 4363 (__v4si) __B, 4364 (__mmask8) -1); 4365} 4366 4367static __inline__ __m128i __DEFAULT_FN_ATTRS 4368_mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I, 4369 __m128i __B) { 4370 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I 4371 /* idx */ , 4372 (__v4si) __A, 4373 (__v4si) __B, 4374 (__mmask8) __U); 4375} 4376 4377static __inline__ __m128i __DEFAULT_FN_ATTRS 4378_mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I, 4379 __m128i __B) { 4380 return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I 4381 /* idx */ , 4382 (__v4si) __A, 4383 (__v4si) __B, 4384 (__mmask8) 4385 __U); 4386} 4387 4388static __inline__ __m256i __DEFAULT_FN_ATTRS 4389_mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B) { 4390 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I 4391 /* idx */ , 4392 (__v8si) __A, 4393 (__v8si) __B, 4394 (__mmask8) -1); 4395} 4396 4397static __inline__ __m256i __DEFAULT_FN_ATTRS 4398_mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I, 4399 __m256i __B) { 4400 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I 4401 /* idx */ , 4402 (__v8si) __A, 4403 (__v8si) __B, 4404 (__mmask8) __U); 4405} 4406 4407static __inline__ __m256i __DEFAULT_FN_ATTRS 4408_mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A, 4409 __m256i __I, __m256i __B) { 4410 return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I 4411 /* idx */ , 4412 (__v8si) __A, 4413 (__v8si) __B, 4414 (__mmask8) 4415 __U); 4416} 4417 4418static __inline__ __m128d __DEFAULT_FN_ATTRS 4419_mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B) { 4420 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I 4421 /* idx */ , 4422 (__v2df) __A, 4423 (__v2df) __B, 4424 (__mmask8) - 4425 1); 4426} 4427 4428static __inline__ __m128d __DEFAULT_FN_ATTRS 4429_mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I, 4430 __m128d __B) { 4431 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I 4432 /* idx */ , 4433 (__v2df) __A, 4434 (__v2df) __B, 4435 (__mmask8) 4436 __U); 4437} 4438 4439static __inline__ __m128d __DEFAULT_FN_ATTRS 4440_mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I, 4441 __m128d __B) { 4442 return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I 4443 /* idx */ , 4444 (__v2df) __A, 4445 (__v2df) __B, 4446 (__mmask8) 4447 __U); 4448} 4449 4450static __inline__ __m256d __DEFAULT_FN_ATTRS 4451_mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B) { 4452 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I 4453 /* idx */ , 4454 (__v4df) __A, 4455 (__v4df) __B, 4456 (__mmask8) - 4457 1); 4458} 4459 4460static __inline__ __m256d __DEFAULT_FN_ATTRS 4461_mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I, 4462 __m256d __B) { 4463 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I 4464 /* idx */ , 4465 (__v4df) __A, 4466 (__v4df) __B, 4467 (__mmask8) 4468 __U); 4469} 4470 4471static __inline__ __m256d __DEFAULT_FN_ATTRS 4472_mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I, 4473 __m256d __B) { 4474 return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I 4475 /* idx */ , 4476 (__v4df) __A, 4477 (__v4df) __B, 4478 (__mmask8) 4479 __U); 4480} 4481 4482static __inline__ __m128 __DEFAULT_FN_ATTRS 4483_mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B) { 4484 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I 4485 /* idx */ , 4486 (__v4sf) __A, 4487 (__v4sf) __B, 4488 (__mmask8) -1); 4489} 4490 4491static __inline__ __m128 __DEFAULT_FN_ATTRS 4492_mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I, 4493 __m128 __B) { 4494 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I 4495 /* idx */ , 4496 (__v4sf) __A, 4497 (__v4sf) __B, 4498 (__mmask8) __U); 4499} 4500 4501static __inline__ __m128 __DEFAULT_FN_ATTRS 4502_mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I, 4503 __m128 __B) { 4504 return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I 4505 /* idx */ , 4506 (__v4sf) __A, 4507 (__v4sf) __B, 4508 (__mmask8) 4509 __U); 4510} 4511 4512static __inline__ __m256 __DEFAULT_FN_ATTRS 4513_mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B) { 4514 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I 4515 /* idx */ , 4516 (__v8sf) __A, 4517 (__v8sf) __B, 4518 (__mmask8) -1); 4519} 4520 4521static __inline__ __m256 __DEFAULT_FN_ATTRS 4522_mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I, 4523 __m256 __B) { 4524 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I 4525 /* idx */ , 4526 (__v8sf) __A, 4527 (__v8sf) __B, 4528 (__mmask8) __U); 4529} 4530 4531static __inline__ __m256 __DEFAULT_FN_ATTRS 4532_mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I, 4533 __m256 __B) { 4534 return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I 4535 /* idx */ , 4536 (__v8sf) __A, 4537 (__v8sf) __B, 4538 (__mmask8) 4539 __U); 4540} 4541 4542static __inline__ __m128i __DEFAULT_FN_ATTRS 4543_mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B) { 4544 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I 4545 /* idx */ , 4546 (__v2di) __A, 4547 (__v2di) __B, 4548 (__mmask8) -1); 4549} 4550 4551static __inline__ __m128i __DEFAULT_FN_ATTRS 4552_mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I, 4553 __m128i __B) { 4554 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I 4555 /* idx */ , 4556 (__v2di) __A, 4557 (__v2di) __B, 4558 (__mmask8) __U); 4559} 4560 4561static __inline__ __m128i __DEFAULT_FN_ATTRS 4562_mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I, 4563 __m128i __B) { 4564 return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I 4565 /* idx */ , 4566 (__v2di) __A, 4567 (__v2di) __B, 4568 (__mmask8) 4569 __U); 4570} 4571 4572 4573static __inline__ __m256i __DEFAULT_FN_ATTRS 4574_mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B) { 4575 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I 4576 /* idx */ , 4577 (__v4di) __A, 4578 (__v4di) __B, 4579 (__mmask8) -1); 4580} 4581 4582static __inline__ __m256i __DEFAULT_FN_ATTRS 4583_mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I, 4584 __m256i __B) { 4585 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I 4586 /* idx */ , 4587 (__v4di) __A, 4588 (__v4di) __B, 4589 (__mmask8) __U); 4590} 4591 4592static __inline__ __m256i __DEFAULT_FN_ATTRS 4593_mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A, 4594 __m256i __I, __m256i __B) { 4595 return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I 4596 /* idx */ , 4597 (__v4di) __A, 4598 (__v4di) __B, 4599 (__mmask8) 4600 __U); 4601} 4602 4603#undef __DEFAULT_FN_ATTRS 4604#undef __DEFAULT_FN_ATTRS_BOTH 4605 4606#endif /* __AVX512VLINTRIN_H */ 4607