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 36 static __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 42 static __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 48 static __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 54 static __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 60 static __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 66 static __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 72 static __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 78 static __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 84 static __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 90 static __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 96 static __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 102 static __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 108 static __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 114 static __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 120 static __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 126 static __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 133 static __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 139 static __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 145 static __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 151 static __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 157 static __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 163 static __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 169 static __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 175 static __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 181 static __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 187 static __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 193 static __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 199 static __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 205 static __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 211 static __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 217 static __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 223 static __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 229 static __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 235 static __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 241 static __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 247 static __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 253 static __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 259 static __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 265 static __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 271 static __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 277 static __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 283 static __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 289 static __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 295 static __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 301 static __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 307 static __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 313 static __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 319 static __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 325 static __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 331 static __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 337 static __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 343 static __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 349 static __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 355 static __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 361 static __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 367 static __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 373 static __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 379 static __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 385 static __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 391 static __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 397 static __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 403 static __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 409 static __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 415 static __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 421 static __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 427 static __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 433 static __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 439 static __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 445 static __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 451 static __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 457 static __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 463 static __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 469 static __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 475 static __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 481 static __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 487 static __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 493 static __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 499 static __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 505 static __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 511 static __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 517 static __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 523 static __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 529 static __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 535 static __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 541 static __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 547 static __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 553 static __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 559 static __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 565 static __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 571 static __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 577 static __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 583 static __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 589 static __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 595 static __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 601 static __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 607 static __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 613 static __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 623 static __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 633 static __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 643 static __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 653 static __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 663 static __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 673 static __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 683 static __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 693 static __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 703 static __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 713 static __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 723 static __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 733 static __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 743 static __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 753 static __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 763 static __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 773 static __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 782 static __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 792 static __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 801 static __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 811 static __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 820 static __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 830 static __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 839 static __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 849 static __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 859 static __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 868 static __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 878 static __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 887 static __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 897 static __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 907 static __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 916 static __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 926 static __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 936 static __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 946 static __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 956 static __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 966 static __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 976 static __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 986 static __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 995 static __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 1005 static __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 1015 static __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 1025 static __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 1035 static __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 1045 static __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 1054 static __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 1064 static __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 1073 static __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 1083 static __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 1092 static __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 1102 static __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 1111 static __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 1121 static __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 1131 static __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 1141 static __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 1150 static __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 1160 static __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 1170 static __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 1180 static __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 1190 static __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 1320 static __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 1329 static __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 1338 static __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 1347 static __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 1356 static __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 1365 static __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 1374 static __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 1383 static __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 1392 static __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 1401 static __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 1410 static __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 1419 static __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 1428 static __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 1437 static __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 1446 static __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 1455 static __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 1464 static __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 1473 static __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 1482 static __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 1491 static __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 1500 static __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 1509 static __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 1518 static __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 1527 static __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 1536 static __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 1545 static __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 1554 static __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 1563 static __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 1572 static __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 1581 static __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 1590 static __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 1599 static __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 1608 static __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 1617 static __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 1627 static __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 1637 static __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 1646 static __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 1656 static __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 1665 static __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 1675 static __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 1685 static __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 1694 static __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 1704 static __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 1713 static __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 1722 static __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 1731 static __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 1740 static __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 1749 static __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 1759 static __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 1768 static __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 1777 static __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 1786 static __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 1795 static __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 1804 static __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 1813 static __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 1822 static __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 1831 static __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 1841 static __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 1851 static __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 1860 static __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 1869 static __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 1878 static __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 1887 static __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 1896 static __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 1905 static __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 1914 static __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 1923 static __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 1932 static __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 1941 static __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 1950 static __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 1959 static __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 1968 static __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 1977 static __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 1985 static __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 1994 static __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 2002 static __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 2011 static __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 2019 static __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 2028 static __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 2036 static __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 2045 static __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 2052 static __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 2059 static __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 2066 static __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 2073 static __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 2080 static __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 2087 static __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 2094 static __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 2101 static __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 2108 static __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 2116 static __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 2123 static __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 2131 static __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 2138 static __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 2146 static __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 2153 static __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 2161 static __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 2168 static __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 2176 static __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 2183 static __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 2191 static __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 2198 static __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 2206 static __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 2213 static __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 2221 static __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 2228 static __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 2235 static __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 2242 static __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 2249 static __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 2256 static __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 2263 static __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 2270 static __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 2277 static __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 2284 static __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 2292 static __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 2299 static __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 2307 static __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 2314 static __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 2322 static __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 2329 static __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 2337 static __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 2344 static __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 2352 static __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 2359 static __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 2367 static __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 2374 static __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 2382 static __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 2389 static __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 2397 static __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 2405 static __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 2412 static __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 2420 static __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 2428 static __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 2435 static __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 2443 static __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 2450 static __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 2458 static __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 2465 static __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 2473 static __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 2480 static __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 2488 static __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 2495 static __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 2503 static __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 2511 static __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 2518 static __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 2526 static __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 2534 static __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 2541 static __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 2549 static __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 2556 static __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 2564 static __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 2571 static __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 2579 static __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 2587 static __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 2594 static __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 2602 static __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 2610 static __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 2617 static __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 2625 static __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 2632 static __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 2640 static __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 2647 static __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 2655 static __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 2663 static __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 2670 static __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 2678 static __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 2686 static __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 2693 static __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 2701 static __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 2709 static __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 2716 static __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 2724 static __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 2732 static __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 2739 static __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 2747 static __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 2755 static __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 2762 static __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 2770 static __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 2778 static __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 2785 static __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 2793 static __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 2801 static __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 2810 static __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 2819 static __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 2828 static __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 2836 static __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 2845 static __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 2853 static __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 2862 static __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 2869 static __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 2877 static __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 2884 static __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 2892 static __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 2899 static __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 2907 static __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 2914 static __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 2922 static __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 2930 static __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 2939 static __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 2947 static __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 2956 static __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 2964 static __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 2973 static __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 2982 static __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 2991 static __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 2998 static __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 3007 static __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 3014 static __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 3023 static __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 3031 static __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 3039 static __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 3048 static __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 3057 static __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 3064 static __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 3072 static __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 3079 static __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 3087 static __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 3094 static __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 3102 static __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 3109 static __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 3117 static __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 3125 static __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 3132 static __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 3140 static __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 3148 static __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 3155 static __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 3163 static __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 3171 static __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 3178 static __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 3186 static __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 3194 static __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 3201 static __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 3209 static __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 3217 static __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 3226 static __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 3235 static __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 3244 static __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 3252 static __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 3261 static __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 3269 static __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 3278 static __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 3286 static __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 3295 static __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 3304 static __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 3313 static __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 3321 static __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 3330 static __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 3338 static __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 3347 static __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 3355 static __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 3364 static __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 3373 static __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 3382 static __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 3390 static __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 3399 static __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 3407 static __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 3416 static __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 3423 static __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 3431 static __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 3438 static __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 3446 static __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 3454 static __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 3461 static __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 3469 static __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 3477 static __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 3484 static __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 3492 static __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 3501 static __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 3509 static __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 3518 static __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 3526 static __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 3535 static __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 3543 static __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 3552 static __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 3561 static __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 3569 static __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 3578 static __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 3587 static __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 3595 static __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 3604 static __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 3612 static __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 3621 static __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 3630 static __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 3638 static __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 3647 static __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 3656 static __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 3664 static __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 3673 static __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 3681 static __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 3690 static __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 3698 static __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 3707 static __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 3715 static __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 3724 static __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 3733 static __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 3741 static __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 3750 static __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 3759 static __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 3767 static __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 3776 static __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 3784 static __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 3793 static __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 3801 static __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 3810 static __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 3819 static __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 3827 static __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 3892 static __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 3901 static __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 3910 static __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 3919 static __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 3928 static __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 3937 static __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 3946 static __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 3955 static __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 3963 static __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 3972 static __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 3981 static __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 3990 static __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 4147 static __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 4154 static __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 4162 static __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 4169 static __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 4177 static __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 4184 static __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 4192 static __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 4199 static __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 4207 static __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 4215 static __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 4224 static __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 4233 static __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 4242 static __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 4250 static __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 4259 static __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 4267 static __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 4276 static __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 4286 static __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 4296 static __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 4307 static __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 4318 static __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 4328 static __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 4338 static __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 4348 static __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 4358 static __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 4367 static __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 4377 static __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 4388 static __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 4397 static __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 4407 static __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 4418 static __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 4428 static __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 4439 static __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 4450 static __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 4460 static __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 4471 static __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 4482 static __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 4491 static __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 4501 static __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 4512 static __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 4521 static __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 4531 static __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 4542 static __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 4551 static __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 4561 static __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 4573 static __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 4582 static __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 4592 static __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