1 /* Copyright (C) 2014-2018 Free Software Foundation, Inc. 2 3 This file is part of GCC. 4 5 GCC is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3, or (at your option) 8 any later version. 9 10 GCC is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 Under Section 7 of GPL version 3, you are granted additional 16 permissions described in the GCC Runtime Library Exception, version 17 3.1, as published by the Free Software Foundation. 18 19 You should have received a copy of the GNU General Public License and 20 a copy of the GCC Runtime Library Exception along with this program; 21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 22 <http://www.gnu.org/licenses/>. */ 23 24 #ifndef _IMMINTRIN_H_INCLUDED 25 #error "Never use <avx512vlintrin.h> directly; include <immintrin.h> instead." 26 #endif 27 28 #ifndef _AVX512VLINTRIN_H_INCLUDED 29 #define _AVX512VLINTRIN_H_INCLUDED 30 31 #ifndef __AVX512VL__ 32 #pragma GCC push_options 33 #pragma GCC target("avx512vl") 34 #define __DISABLE_AVX512VL__ 35 #endif /* __AVX512VL__ */ 36 37 /* Internal data types for implementing the intrinsics. */ 38 typedef unsigned int __mmask32; 39 40 extern __inline __m256d 41 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 42 _mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A) 43 { 44 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A, 45 (__v4df) __W, 46 (__mmask8) __U); 47 } 48 49 extern __inline __m256d 50 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 51 _mm256_maskz_mov_pd (__mmask8 __U, __m256d __A) 52 { 53 return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A, 54 (__v4df) 55 _mm256_setzero_pd (), 56 (__mmask8) __U); 57 } 58 59 extern __inline __m128d 60 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 61 _mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A) 62 { 63 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A, 64 (__v2df) __W, 65 (__mmask8) __U); 66 } 67 68 extern __inline __m128d 69 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 70 _mm_maskz_mov_pd (__mmask8 __U, __m128d __A) 71 { 72 return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A, 73 (__v2df) 74 _mm_setzero_pd (), 75 (__mmask8) __U); 76 } 77 78 extern __inline __m256d 79 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 80 _mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P) 81 { 82 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P, 83 (__v4df) __W, 84 (__mmask8) __U); 85 } 86 87 extern __inline __m256d 88 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 89 _mm256_maskz_load_pd (__mmask8 __U, void const *__P) 90 { 91 return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P, 92 (__v4df) 93 _mm256_setzero_pd (), 94 (__mmask8) __U); 95 } 96 97 extern __inline __m128d 98 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 99 _mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P) 100 { 101 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P, 102 (__v2df) __W, 103 (__mmask8) __U); 104 } 105 106 extern __inline __m128d 107 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 108 _mm_maskz_load_pd (__mmask8 __U, void const *__P) 109 { 110 return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P, 111 (__v2df) 112 _mm_setzero_pd (), 113 (__mmask8) __U); 114 } 115 116 extern __inline void 117 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 118 _mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A) 119 { 120 __builtin_ia32_storeapd256_mask ((__v4df *) __P, 121 (__v4df) __A, 122 (__mmask8) __U); 123 } 124 125 extern __inline void 126 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 127 _mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A) 128 { 129 __builtin_ia32_storeapd128_mask ((__v2df *) __P, 130 (__v2df) __A, 131 (__mmask8) __U); 132 } 133 134 extern __inline __m256 135 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 136 _mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A) 137 { 138 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A, 139 (__v8sf) __W, 140 (__mmask8) __U); 141 } 142 143 extern __inline __m256 144 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 145 _mm256_maskz_mov_ps (__mmask8 __U, __m256 __A) 146 { 147 return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A, 148 (__v8sf) 149 _mm256_setzero_ps (), 150 (__mmask8) __U); 151 } 152 153 extern __inline __m128 154 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 155 _mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A) 156 { 157 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A, 158 (__v4sf) __W, 159 (__mmask8) __U); 160 } 161 162 extern __inline __m128 163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 164 _mm_maskz_mov_ps (__mmask8 __U, __m128 __A) 165 { 166 return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A, 167 (__v4sf) 168 _mm_setzero_ps (), 169 (__mmask8) __U); 170 } 171 172 extern __inline __m256 173 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 174 _mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P) 175 { 176 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P, 177 (__v8sf) __W, 178 (__mmask8) __U); 179 } 180 181 extern __inline __m256 182 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 183 _mm256_maskz_load_ps (__mmask8 __U, void const *__P) 184 { 185 return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P, 186 (__v8sf) 187 _mm256_setzero_ps (), 188 (__mmask8) __U); 189 } 190 191 extern __inline __m128 192 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 193 _mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P) 194 { 195 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P, 196 (__v4sf) __W, 197 (__mmask8) __U); 198 } 199 200 extern __inline __m128 201 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 202 _mm_maskz_load_ps (__mmask8 __U, void const *__P) 203 { 204 return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P, 205 (__v4sf) 206 _mm_setzero_ps (), 207 (__mmask8) __U); 208 } 209 210 extern __inline void 211 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 212 _mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A) 213 { 214 __builtin_ia32_storeaps256_mask ((__v8sf *) __P, 215 (__v8sf) __A, 216 (__mmask8) __U); 217 } 218 219 extern __inline void 220 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 221 _mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A) 222 { 223 __builtin_ia32_storeaps128_mask ((__v4sf *) __P, 224 (__v4sf) __A, 225 (__mmask8) __U); 226 } 227 228 extern __inline __m256i 229 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 230 _mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 231 { 232 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A, 233 (__v4di) __W, 234 (__mmask8) __U); 235 } 236 237 extern __inline __m256i 238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 239 _mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A) 240 { 241 return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A, 242 (__v4di) 243 _mm256_setzero_si256 (), 244 (__mmask8) __U); 245 } 246 247 extern __inline __m128i 248 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 249 _mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 250 { 251 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A, 252 (__v2di) __W, 253 (__mmask8) __U); 254 } 255 256 extern __inline __m128i 257 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 258 _mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A) 259 { 260 return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A, 261 (__v2di) 262 _mm_setzero_si128 (), 263 (__mmask8) __U); 264 } 265 266 extern __inline __m256i 267 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 268 _mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P) 269 { 270 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P, 271 (__v4di) __W, 272 (__mmask8) 273 __U); 274 } 275 276 extern __inline __m256i 277 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 278 _mm256_maskz_load_epi64 (__mmask8 __U, void const *__P) 279 { 280 return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P, 281 (__v4di) 282 _mm256_setzero_si256 (), 283 (__mmask8) 284 __U); 285 } 286 287 extern __inline __m128i 288 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 289 _mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P) 290 { 291 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P, 292 (__v2di) __W, 293 (__mmask8) 294 __U); 295 } 296 297 extern __inline __m128i 298 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 299 _mm_maskz_load_epi64 (__mmask8 __U, void const *__P) 300 { 301 return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P, 302 (__v2di) 303 _mm_setzero_si128 (), 304 (__mmask8) 305 __U); 306 } 307 308 extern __inline void 309 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 310 _mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A) 311 { 312 __builtin_ia32_movdqa64store256_mask ((__v4di *) __P, 313 (__v4di) __A, 314 (__mmask8) __U); 315 } 316 317 extern __inline void 318 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 319 _mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A) 320 { 321 __builtin_ia32_movdqa64store128_mask ((__v2di *) __P, 322 (__v2di) __A, 323 (__mmask8) __U); 324 } 325 326 extern __inline __m256i 327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 328 _mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 329 { 330 return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A, 331 (__v8si) __W, 332 (__mmask8) __U); 333 } 334 335 extern __inline __m256i 336 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 337 _mm256_maskz_mov_epi32 (__mmask8 __U, __m256i __A) 338 { 339 return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A, 340 (__v8si) 341 _mm256_setzero_si256 (), 342 (__mmask8) __U); 343 } 344 345 extern __inline __m128i 346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 347 _mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 348 { 349 return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A, 350 (__v4si) __W, 351 (__mmask8) __U); 352 } 353 354 extern __inline __m128i 355 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 356 _mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A) 357 { 358 return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A, 359 (__v4si) 360 _mm_setzero_si128 (), 361 (__mmask8) __U); 362 } 363 364 extern __inline __m256i 365 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 366 _mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P) 367 { 368 return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P, 369 (__v8si) __W, 370 (__mmask8) 371 __U); 372 } 373 374 extern __inline __m256i 375 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 376 _mm256_maskz_load_epi32 (__mmask8 __U, void const *__P) 377 { 378 return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P, 379 (__v8si) 380 _mm256_setzero_si256 (), 381 (__mmask8) 382 __U); 383 } 384 385 extern __inline __m128i 386 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 387 _mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P) 388 { 389 return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P, 390 (__v4si) __W, 391 (__mmask8) 392 __U); 393 } 394 395 extern __inline __m128i 396 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 397 _mm_maskz_load_epi32 (__mmask8 __U, void const *__P) 398 { 399 return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P, 400 (__v4si) 401 _mm_setzero_si128 (), 402 (__mmask8) 403 __U); 404 } 405 406 extern __inline void 407 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 408 _mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A) 409 { 410 __builtin_ia32_movdqa32store256_mask ((__v8si *) __P, 411 (__v8si) __A, 412 (__mmask8) __U); 413 } 414 415 extern __inline void 416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 417 _mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A) 418 { 419 __builtin_ia32_movdqa32store128_mask ((__v4si *) __P, 420 (__v4si) __A, 421 (__mmask8) __U); 422 } 423 424 extern __inline __m128d 425 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 426 _mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) 427 { 428 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, 429 (__v2df) __B, 430 (__v2df) __W, 431 (__mmask8) __U); 432 } 433 434 extern __inline __m128d 435 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 436 _mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B) 437 { 438 return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A, 439 (__v2df) __B, 440 (__v2df) 441 _mm_setzero_pd (), 442 (__mmask8) __U); 443 } 444 445 extern __inline __m256d 446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 447 _mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A, 448 __m256d __B) 449 { 450 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, 451 (__v4df) __B, 452 (__v4df) __W, 453 (__mmask8) __U); 454 } 455 456 extern __inline __m256d 457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 458 _mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B) 459 { 460 return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A, 461 (__v4df) __B, 462 (__v4df) 463 _mm256_setzero_pd (), 464 (__mmask8) __U); 465 } 466 467 extern __inline __m128 468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 469 _mm_mask_add_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 470 { 471 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, 472 (__v4sf) __B, 473 (__v4sf) __W, 474 (__mmask8) __U); 475 } 476 477 extern __inline __m128 478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 479 _mm_maskz_add_ps (__mmask8 __U, __m128 __A, __m128 __B) 480 { 481 return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A, 482 (__v4sf) __B, 483 (__v4sf) 484 _mm_setzero_ps (), 485 (__mmask8) __U); 486 } 487 488 extern __inline __m256 489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 490 _mm256_mask_add_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) 491 { 492 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, 493 (__v8sf) __B, 494 (__v8sf) __W, 495 (__mmask8) __U); 496 } 497 498 extern __inline __m256 499 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 500 _mm256_maskz_add_ps (__mmask8 __U, __m256 __A, __m256 __B) 501 { 502 return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A, 503 (__v8sf) __B, 504 (__v8sf) 505 _mm256_setzero_ps (), 506 (__mmask8) __U); 507 } 508 509 extern __inline __m128d 510 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 511 _mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) 512 { 513 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A, 514 (__v2df) __B, 515 (__v2df) __W, 516 (__mmask8) __U); 517 } 518 519 extern __inline __m128d 520 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 521 _mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B) 522 { 523 return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A, 524 (__v2df) __B, 525 (__v2df) 526 _mm_setzero_pd (), 527 (__mmask8) __U); 528 } 529 530 extern __inline __m256d 531 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 532 _mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A, 533 __m256d __B) 534 { 535 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A, 536 (__v4df) __B, 537 (__v4df) __W, 538 (__mmask8) __U); 539 } 540 541 extern __inline __m256d 542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 543 _mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B) 544 { 545 return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A, 546 (__v4df) __B, 547 (__v4df) 548 _mm256_setzero_pd (), 549 (__mmask8) __U); 550 } 551 552 extern __inline __m128 553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 554 _mm_mask_sub_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 555 { 556 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A, 557 (__v4sf) __B, 558 (__v4sf) __W, 559 (__mmask8) __U); 560 } 561 562 extern __inline __m128 563 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 564 _mm_maskz_sub_ps (__mmask8 __U, __m128 __A, __m128 __B) 565 { 566 return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A, 567 (__v4sf) __B, 568 (__v4sf) 569 _mm_setzero_ps (), 570 (__mmask8) __U); 571 } 572 573 extern __inline __m256 574 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 575 _mm256_mask_sub_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) 576 { 577 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A, 578 (__v8sf) __B, 579 (__v8sf) __W, 580 (__mmask8) __U); 581 } 582 583 extern __inline __m256 584 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 585 _mm256_maskz_sub_ps (__mmask8 __U, __m256 __A, __m256 __B) 586 { 587 return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A, 588 (__v8sf) __B, 589 (__v8sf) 590 _mm256_setzero_ps (), 591 (__mmask8) __U); 592 } 593 594 extern __inline void 595 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 596 _mm256_store_epi64 (void *__P, __m256i __A) 597 { 598 *(__m256i *) __P = __A; 599 } 600 601 extern __inline void 602 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 603 _mm_store_epi64 (void *__P, __m128i __A) 604 { 605 *(__m128i *) __P = __A; 606 } 607 608 extern __inline __m256d 609 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 610 _mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P) 611 { 612 return (__m256d) __builtin_ia32_loadupd256_mask ((const double *) __P, 613 (__v4df) __W, 614 (__mmask8) __U); 615 } 616 617 extern __inline __m256d 618 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 619 _mm256_maskz_loadu_pd (__mmask8 __U, void const *__P) 620 { 621 return (__m256d) __builtin_ia32_loadupd256_mask ((const double *) __P, 622 (__v4df) 623 _mm256_setzero_pd (), 624 (__mmask8) __U); 625 } 626 627 extern __inline __m128d 628 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 629 _mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P) 630 { 631 return (__m128d) __builtin_ia32_loadupd128_mask ((const double *) __P, 632 (__v2df) __W, 633 (__mmask8) __U); 634 } 635 636 extern __inline __m128d 637 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 638 _mm_maskz_loadu_pd (__mmask8 __U, void const *__P) 639 { 640 return (__m128d) __builtin_ia32_loadupd128_mask ((const double *) __P, 641 (__v2df) 642 _mm_setzero_pd (), 643 (__mmask8) __U); 644 } 645 646 extern __inline void 647 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 648 _mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A) 649 { 650 __builtin_ia32_storeupd256_mask ((double *) __P, 651 (__v4df) __A, 652 (__mmask8) __U); 653 } 654 655 extern __inline void 656 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 657 _mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A) 658 { 659 __builtin_ia32_storeupd128_mask ((double *) __P, 660 (__v2df) __A, 661 (__mmask8) __U); 662 } 663 664 extern __inline __m256 665 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 666 _mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P) 667 { 668 return (__m256) __builtin_ia32_loadups256_mask ((const float *) __P, 669 (__v8sf) __W, 670 (__mmask8) __U); 671 } 672 673 extern __inline __m256 674 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 675 _mm256_maskz_loadu_ps (__mmask8 __U, void const *__P) 676 { 677 return (__m256) __builtin_ia32_loadups256_mask ((const float *) __P, 678 (__v8sf) 679 _mm256_setzero_ps (), 680 (__mmask8) __U); 681 } 682 683 extern __inline __m128 684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 685 _mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P) 686 { 687 return (__m128) __builtin_ia32_loadups128_mask ((const float *) __P, 688 (__v4sf) __W, 689 (__mmask8) __U); 690 } 691 692 extern __inline __m128 693 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 694 _mm_maskz_loadu_ps (__mmask8 __U, void const *__P) 695 { 696 return (__m128) __builtin_ia32_loadups128_mask ((const float *) __P, 697 (__v4sf) 698 _mm_setzero_ps (), 699 (__mmask8) __U); 700 } 701 702 extern __inline void 703 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 704 _mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A) 705 { 706 __builtin_ia32_storeups256_mask ((float *) __P, 707 (__v8sf) __A, 708 (__mmask8) __U); 709 } 710 711 extern __inline void 712 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 713 _mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A) 714 { 715 __builtin_ia32_storeups128_mask ((float *) __P, 716 (__v4sf) __A, 717 (__mmask8) __U); 718 } 719 720 extern __inline __m256i 721 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 722 _mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P) 723 { 724 return (__m256i) __builtin_ia32_loaddqudi256_mask ((const long long *) __P, 725 (__v4di) __W, 726 (__mmask8) __U); 727 } 728 729 extern __inline __m256i 730 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 731 _mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P) 732 { 733 return (__m256i) __builtin_ia32_loaddqudi256_mask ((const long long *) __P, 734 (__v4di) 735 _mm256_setzero_si256 (), 736 (__mmask8) __U); 737 } 738 739 extern __inline __m128i 740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 741 _mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) 742 { 743 return (__m128i) __builtin_ia32_loaddqudi128_mask ((const long long *) __P, 744 (__v2di) __W, 745 (__mmask8) __U); 746 } 747 748 extern __inline __m128i 749 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 750 _mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P) 751 { 752 return (__m128i) __builtin_ia32_loaddqudi128_mask ((const long long *) __P, 753 (__v2di) 754 _mm_setzero_si128 (), 755 (__mmask8) __U); 756 } 757 758 extern __inline void 759 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 760 _mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A) 761 { 762 __builtin_ia32_storedqudi256_mask ((long long *) __P, 763 (__v4di) __A, 764 (__mmask8) __U); 765 } 766 767 extern __inline void 768 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 769 _mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A) 770 { 771 __builtin_ia32_storedqudi128_mask ((long long *) __P, 772 (__v2di) __A, 773 (__mmask8) __U); 774 } 775 776 extern __inline __m256i 777 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 778 _mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P) 779 { 780 return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P, 781 (__v8si) __W, 782 (__mmask8) __U); 783 } 784 785 extern __inline __m256i 786 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 787 _mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P) 788 { 789 return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P, 790 (__v8si) 791 _mm256_setzero_si256 (), 792 (__mmask8) __U); 793 } 794 795 extern __inline __m128i 796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 797 _mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) 798 { 799 return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P, 800 (__v4si) __W, 801 (__mmask8) __U); 802 } 803 804 extern __inline __m128i 805 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 806 _mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P) 807 { 808 return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P, 809 (__v4si) 810 _mm_setzero_si128 (), 811 (__mmask8) __U); 812 } 813 814 extern __inline void 815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 816 _mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A) 817 { 818 __builtin_ia32_storedqusi256_mask ((int *) __P, 819 (__v8si) __A, 820 (__mmask8) __U); 821 } 822 823 extern __inline void 824 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 825 _mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A) 826 { 827 __builtin_ia32_storedqusi128_mask ((int *) __P, 828 (__v4si) __A, 829 (__mmask8) __U); 830 } 831 832 extern __inline __m256i 833 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 834 _mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 835 { 836 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A, 837 (__v8si) __W, 838 (__mmask8) __U); 839 } 840 841 extern __inline __m256i 842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 843 _mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A) 844 { 845 return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A, 846 (__v8si) 847 _mm256_setzero_si256 (), 848 (__mmask8) __U); 849 } 850 851 extern __inline __m128i 852 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 853 _mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 854 { 855 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A, 856 (__v4si) __W, 857 (__mmask8) __U); 858 } 859 860 extern __inline __m128i 861 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 862 _mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A) 863 { 864 return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A, 865 (__v4si) 866 _mm_setzero_si128 (), 867 (__mmask8) __U); 868 } 869 870 extern __inline __m256i 871 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 872 _mm256_abs_epi64 (__m256i __A) 873 { 874 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, 875 (__v4di) 876 _mm256_setzero_si256 (), 877 (__mmask8) -1); 878 } 879 880 extern __inline __m256i 881 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 882 _mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 883 { 884 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, 885 (__v4di) __W, 886 (__mmask8) __U); 887 } 888 889 extern __inline __m256i 890 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 891 _mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) 892 { 893 return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A, 894 (__v4di) 895 _mm256_setzero_si256 (), 896 (__mmask8) __U); 897 } 898 899 extern __inline __m128i 900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 901 _mm_abs_epi64 (__m128i __A) 902 { 903 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, 904 (__v2di) 905 _mm_setzero_si128 (), 906 (__mmask8) -1); 907 } 908 909 extern __inline __m128i 910 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 911 _mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 912 { 913 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, 914 (__v2di) __W, 915 (__mmask8) __U); 916 } 917 918 extern __inline __m128i 919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 920 _mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) 921 { 922 return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A, 923 (__v2di) 924 _mm_setzero_si128 (), 925 (__mmask8) __U); 926 } 927 928 extern __inline __m128i 929 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 930 _mm256_cvtpd_epu32 (__m256d __A) 931 { 932 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, 933 (__v4si) 934 _mm_setzero_si128 (), 935 (__mmask8) -1); 936 } 937 938 extern __inline __m128i 939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 940 _mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) 941 { 942 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, 943 (__v4si) __W, 944 (__mmask8) __U); 945 } 946 947 extern __inline __m128i 948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 949 _mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A) 950 { 951 return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A, 952 (__v4si) 953 _mm_setzero_si128 (), 954 (__mmask8) __U); 955 } 956 957 extern __inline __m128i 958 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 959 _mm_cvtpd_epu32 (__m128d __A) 960 { 961 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, 962 (__v4si) 963 _mm_setzero_si128 (), 964 (__mmask8) -1); 965 } 966 967 extern __inline __m128i 968 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 969 _mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) 970 { 971 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, 972 (__v4si) __W, 973 (__mmask8) __U); 974 } 975 976 extern __inline __m128i 977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 978 _mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A) 979 { 980 return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A, 981 (__v4si) 982 _mm_setzero_si128 (), 983 (__mmask8) __U); 984 } 985 986 extern __inline __m256i 987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 988 _mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) 989 { 990 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, 991 (__v8si) __W, 992 (__mmask8) __U); 993 } 994 995 extern __inline __m256i 996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 997 _mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A) 998 { 999 return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A, 1000 (__v8si) 1001 _mm256_setzero_si256 (), 1002 (__mmask8) __U); 1003 } 1004 1005 extern __inline __m128i 1006 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1007 _mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) 1008 { 1009 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, 1010 (__v4si) __W, 1011 (__mmask8) __U); 1012 } 1013 1014 extern __inline __m128i 1015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1016 _mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A) 1017 { 1018 return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A, 1019 (__v4si) 1020 _mm_setzero_si128 (), 1021 (__mmask8) __U); 1022 } 1023 1024 extern __inline __m256i 1025 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1026 _mm256_cvttps_epu32 (__m256 __A) 1027 { 1028 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, 1029 (__v8si) 1030 _mm256_setzero_si256 (), 1031 (__mmask8) -1); 1032 } 1033 1034 extern __inline __m256i 1035 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1036 _mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) 1037 { 1038 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, 1039 (__v8si) __W, 1040 (__mmask8) __U); 1041 } 1042 1043 extern __inline __m256i 1044 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1045 _mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) 1046 { 1047 return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A, 1048 (__v8si) 1049 _mm256_setzero_si256 (), 1050 (__mmask8) __U); 1051 } 1052 1053 extern __inline __m128i 1054 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1055 _mm_cvttps_epu32 (__m128 __A) 1056 { 1057 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, 1058 (__v4si) 1059 _mm_setzero_si128 (), 1060 (__mmask8) -1); 1061 } 1062 1063 extern __inline __m128i 1064 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1065 _mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) 1066 { 1067 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, 1068 (__v4si) __W, 1069 (__mmask8) __U); 1070 } 1071 1072 extern __inline __m128i 1073 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1074 _mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A) 1075 { 1076 return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A, 1077 (__v4si) 1078 _mm_setzero_si128 (), 1079 (__mmask8) __U); 1080 } 1081 1082 extern __inline __m128i 1083 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1084 _mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) 1085 { 1086 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, 1087 (__v4si) __W, 1088 (__mmask8) __U); 1089 } 1090 1091 extern __inline __m128i 1092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1093 _mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A) 1094 { 1095 return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A, 1096 (__v4si) 1097 _mm_setzero_si128 (), 1098 (__mmask8) __U); 1099 } 1100 1101 extern __inline __m128i 1102 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1103 _mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) 1104 { 1105 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, 1106 (__v4si) __W, 1107 (__mmask8) __U); 1108 } 1109 1110 extern __inline __m128i 1111 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1112 _mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A) 1113 { 1114 return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A, 1115 (__v4si) 1116 _mm_setzero_si128 (), 1117 (__mmask8) __U); 1118 } 1119 1120 extern __inline __m128i 1121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1122 _mm256_cvttpd_epu32 (__m256d __A) 1123 { 1124 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, 1125 (__v4si) 1126 _mm_setzero_si128 (), 1127 (__mmask8) -1); 1128 } 1129 1130 extern __inline __m128i 1131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1132 _mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A) 1133 { 1134 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, 1135 (__v4si) __W, 1136 (__mmask8) __U); 1137 } 1138 1139 extern __inline __m128i 1140 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1141 _mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A) 1142 { 1143 return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A, 1144 (__v4si) 1145 _mm_setzero_si128 (), 1146 (__mmask8) __U); 1147 } 1148 1149 extern __inline __m128i 1150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1151 _mm_cvttpd_epu32 (__m128d __A) 1152 { 1153 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, 1154 (__v4si) 1155 _mm_setzero_si128 (), 1156 (__mmask8) -1); 1157 } 1158 1159 extern __inline __m128i 1160 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1161 _mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A) 1162 { 1163 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, 1164 (__v4si) __W, 1165 (__mmask8) __U); 1166 } 1167 1168 extern __inline __m128i 1169 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1170 _mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A) 1171 { 1172 return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A, 1173 (__v4si) 1174 _mm_setzero_si128 (), 1175 (__mmask8) __U); 1176 } 1177 1178 extern __inline __m128i 1179 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1180 _mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A) 1181 { 1182 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, 1183 (__v4si) __W, 1184 (__mmask8) __U); 1185 } 1186 1187 extern __inline __m128i 1188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1189 _mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) 1190 { 1191 return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A, 1192 (__v4si) 1193 _mm_setzero_si128 (), 1194 (__mmask8) __U); 1195 } 1196 1197 extern __inline __m128i 1198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1199 _mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A) 1200 { 1201 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, 1202 (__v4si) __W, 1203 (__mmask8) __U); 1204 } 1205 1206 extern __inline __m128i 1207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1208 _mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A) 1209 { 1210 return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A, 1211 (__v4si) 1212 _mm_setzero_si128 (), 1213 (__mmask8) __U); 1214 } 1215 1216 extern __inline __m256d 1217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1218 _mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) 1219 { 1220 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, 1221 (__v4df) __W, 1222 (__mmask8) __U); 1223 } 1224 1225 extern __inline __m256d 1226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1227 _mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) 1228 { 1229 return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A, 1230 (__v4df) 1231 _mm256_setzero_pd (), 1232 (__mmask8) __U); 1233 } 1234 1235 extern __inline __m128d 1236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1237 _mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) 1238 { 1239 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, 1240 (__v2df) __W, 1241 (__mmask8) __U); 1242 } 1243 1244 extern __inline __m128d 1245 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1246 _mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) 1247 { 1248 return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A, 1249 (__v2df) 1250 _mm_setzero_pd (), 1251 (__mmask8) __U); 1252 } 1253 1254 extern __inline __m256d 1255 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1256 _mm256_cvtepu32_pd (__m128i __A) 1257 { 1258 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, 1259 (__v4df) 1260 _mm256_setzero_pd (), 1261 (__mmask8) -1); 1262 } 1263 1264 extern __inline __m256d 1265 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1266 _mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) 1267 { 1268 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, 1269 (__v4df) __W, 1270 (__mmask8) __U); 1271 } 1272 1273 extern __inline __m256d 1274 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1275 _mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) 1276 { 1277 return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A, 1278 (__v4df) 1279 _mm256_setzero_pd (), 1280 (__mmask8) __U); 1281 } 1282 1283 extern __inline __m128d 1284 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1285 _mm_cvtepu32_pd (__m128i __A) 1286 { 1287 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, 1288 (__v2df) 1289 _mm_setzero_pd (), 1290 (__mmask8) -1); 1291 } 1292 1293 extern __inline __m128d 1294 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1295 _mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) 1296 { 1297 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, 1298 (__v2df) __W, 1299 (__mmask8) __U); 1300 } 1301 1302 extern __inline __m128d 1303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1304 _mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) 1305 { 1306 return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A, 1307 (__v2df) 1308 _mm_setzero_pd (), 1309 (__mmask8) __U); 1310 } 1311 1312 extern __inline __m256 1313 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1314 _mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) 1315 { 1316 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, 1317 (__v8sf) __W, 1318 (__mmask8) __U); 1319 } 1320 1321 extern __inline __m256 1322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1323 _mm256_maskz_cvtepi32_ps (__mmask8 __U, __m256i __A) 1324 { 1325 return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A, 1326 (__v8sf) 1327 _mm256_setzero_ps (), 1328 (__mmask8) __U); 1329 } 1330 1331 extern __inline __m128 1332 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1333 _mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) 1334 { 1335 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, 1336 (__v4sf) __W, 1337 (__mmask8) __U); 1338 } 1339 1340 extern __inline __m128 1341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1342 _mm_maskz_cvtepi32_ps (__mmask8 __U, __m128i __A) 1343 { 1344 return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A, 1345 (__v4sf) 1346 _mm_setzero_ps (), 1347 (__mmask8) __U); 1348 } 1349 1350 extern __inline __m256 1351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1352 _mm256_cvtepu32_ps (__m256i __A) 1353 { 1354 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, 1355 (__v8sf) 1356 _mm256_setzero_ps (), 1357 (__mmask8) -1); 1358 } 1359 1360 extern __inline __m256 1361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1362 _mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) 1363 { 1364 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, 1365 (__v8sf) __W, 1366 (__mmask8) __U); 1367 } 1368 1369 extern __inline __m256 1370 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1371 _mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) 1372 { 1373 return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A, 1374 (__v8sf) 1375 _mm256_setzero_ps (), 1376 (__mmask8) __U); 1377 } 1378 1379 extern __inline __m128 1380 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1381 _mm_cvtepu32_ps (__m128i __A) 1382 { 1383 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, 1384 (__v4sf) 1385 _mm_setzero_ps (), 1386 (__mmask8) -1); 1387 } 1388 1389 extern __inline __m128 1390 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1391 _mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) 1392 { 1393 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, 1394 (__v4sf) __W, 1395 (__mmask8) __U); 1396 } 1397 1398 extern __inline __m128 1399 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1400 _mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) 1401 { 1402 return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A, 1403 (__v4sf) 1404 _mm_setzero_ps (), 1405 (__mmask8) __U); 1406 } 1407 1408 extern __inline __m256d 1409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1410 _mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A) 1411 { 1412 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, 1413 (__v4df) __W, 1414 (__mmask8) __U); 1415 } 1416 1417 extern __inline __m256d 1418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1419 _mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A) 1420 { 1421 return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A, 1422 (__v4df) 1423 _mm256_setzero_pd (), 1424 (__mmask8) __U); 1425 } 1426 1427 extern __inline __m128d 1428 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1429 _mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A) 1430 { 1431 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, 1432 (__v2df) __W, 1433 (__mmask8) __U); 1434 } 1435 1436 extern __inline __m128d 1437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1438 _mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A) 1439 { 1440 return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A, 1441 (__v2df) 1442 _mm_setzero_pd (), 1443 (__mmask8) __U); 1444 } 1445 1446 extern __inline __m128i 1447 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1448 _mm_cvtepi32_epi8 (__m128i __A) 1449 { 1450 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A, 1451 (__v16qi) 1452 _mm_undefined_si128 (), 1453 (__mmask8) -1); 1454 } 1455 1456 extern __inline void 1457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1458 _mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) 1459 { 1460 __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M); 1461 } 1462 1463 extern __inline __m128i 1464 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1465 _mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A) 1466 { 1467 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A, 1468 (__v16qi) __O, __M); 1469 } 1470 1471 extern __inline __m128i 1472 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1473 _mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A) 1474 { 1475 return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A, 1476 (__v16qi) 1477 _mm_setzero_si128 (), 1478 __M); 1479 } 1480 1481 extern __inline __m128i 1482 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1483 _mm256_cvtepi32_epi8 (__m256i __A) 1484 { 1485 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A, 1486 (__v16qi) 1487 _mm_undefined_si128 (), 1488 (__mmask8) -1); 1489 } 1490 1491 extern __inline __m128i 1492 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1493 _mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A) 1494 { 1495 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A, 1496 (__v16qi) __O, __M); 1497 } 1498 1499 extern __inline void 1500 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1501 _mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) 1502 { 1503 __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M); 1504 } 1505 1506 extern __inline __m128i 1507 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1508 _mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A) 1509 { 1510 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A, 1511 (__v16qi) 1512 _mm_setzero_si128 (), 1513 __M); 1514 } 1515 1516 extern __inline __m128i 1517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1518 _mm_cvtsepi32_epi8 (__m128i __A) 1519 { 1520 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A, 1521 (__v16qi) 1522 _mm_undefined_si128 (), 1523 (__mmask8) -1); 1524 } 1525 1526 extern __inline void 1527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1528 _mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) 1529 { 1530 __builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M); 1531 } 1532 1533 extern __inline __m128i 1534 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1535 _mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A) 1536 { 1537 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A, 1538 (__v16qi) __O, __M); 1539 } 1540 1541 extern __inline __m128i 1542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1543 _mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A) 1544 { 1545 return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A, 1546 (__v16qi) 1547 _mm_setzero_si128 (), 1548 __M); 1549 } 1550 1551 extern __inline __m128i 1552 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1553 _mm256_cvtsepi32_epi8 (__m256i __A) 1554 { 1555 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A, 1556 (__v16qi) 1557 _mm_undefined_si128 (), 1558 (__mmask8) -1); 1559 } 1560 1561 extern __inline void 1562 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1563 _mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) 1564 { 1565 __builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M); 1566 } 1567 1568 extern __inline __m128i 1569 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1570 _mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A) 1571 { 1572 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A, 1573 (__v16qi) __O, __M); 1574 } 1575 1576 extern __inline __m128i 1577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1578 _mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A) 1579 { 1580 return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A, 1581 (__v16qi) 1582 _mm_setzero_si128 (), 1583 __M); 1584 } 1585 1586 extern __inline __m128i 1587 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1588 _mm_cvtusepi32_epi8 (__m128i __A) 1589 { 1590 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A, 1591 (__v16qi) 1592 _mm_undefined_si128 (), 1593 (__mmask8) -1); 1594 } 1595 1596 extern __inline void 1597 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1598 _mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) 1599 { 1600 __builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M); 1601 } 1602 1603 extern __inline __m128i 1604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1605 _mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A) 1606 { 1607 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A, 1608 (__v16qi) __O, 1609 __M); 1610 } 1611 1612 extern __inline __m128i 1613 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1614 _mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A) 1615 { 1616 return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A, 1617 (__v16qi) 1618 _mm_setzero_si128 (), 1619 __M); 1620 } 1621 1622 extern __inline __m128i 1623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1624 _mm256_cvtusepi32_epi8 (__m256i __A) 1625 { 1626 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A, 1627 (__v16qi) 1628 _mm_undefined_si128 (), 1629 (__mmask8) -1); 1630 } 1631 1632 extern __inline void 1633 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1634 _mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) 1635 { 1636 __builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M); 1637 } 1638 1639 extern __inline __m128i 1640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1641 _mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A) 1642 { 1643 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A, 1644 (__v16qi) __O, 1645 __M); 1646 } 1647 1648 extern __inline __m128i 1649 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1650 _mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A) 1651 { 1652 return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A, 1653 (__v16qi) 1654 _mm_setzero_si128 (), 1655 __M); 1656 } 1657 1658 extern __inline __m128i 1659 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1660 _mm_cvtepi32_epi16 (__m128i __A) 1661 { 1662 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A, 1663 (__v8hi) 1664 _mm_setzero_si128 (), 1665 (__mmask8) -1); 1666 } 1667 1668 extern __inline void 1669 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1670 _mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) 1671 { 1672 __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M); 1673 } 1674 1675 extern __inline __m128i 1676 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1677 _mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A) 1678 { 1679 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A, 1680 (__v8hi) __O, __M); 1681 } 1682 1683 extern __inline __m128i 1684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1685 _mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A) 1686 { 1687 return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A, 1688 (__v8hi) 1689 _mm_setzero_si128 (), 1690 __M); 1691 } 1692 1693 extern __inline __m128i 1694 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1695 _mm256_cvtepi32_epi16 (__m256i __A) 1696 { 1697 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A, 1698 (__v8hi) 1699 _mm_setzero_si128 (), 1700 (__mmask8) -1); 1701 } 1702 1703 extern __inline void 1704 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1705 _mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) 1706 { 1707 __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M); 1708 } 1709 1710 extern __inline __m128i 1711 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1712 _mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A) 1713 { 1714 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A, 1715 (__v8hi) __O, __M); 1716 } 1717 1718 extern __inline __m128i 1719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1720 _mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A) 1721 { 1722 return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A, 1723 (__v8hi) 1724 _mm_setzero_si128 (), 1725 __M); 1726 } 1727 1728 extern __inline __m128i 1729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1730 _mm_cvtsepi32_epi16 (__m128i __A) 1731 { 1732 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A, 1733 (__v8hi) 1734 _mm_setzero_si128 (), 1735 (__mmask8) -1); 1736 } 1737 1738 extern __inline void 1739 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1740 _mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) 1741 { 1742 __builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M); 1743 } 1744 1745 extern __inline __m128i 1746 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1747 _mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A) 1748 { 1749 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A, 1750 (__v8hi)__O, 1751 __M); 1752 } 1753 1754 extern __inline __m128i 1755 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1756 _mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A) 1757 { 1758 return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A, 1759 (__v8hi) 1760 _mm_setzero_si128 (), 1761 __M); 1762 } 1763 1764 extern __inline __m128i 1765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1766 _mm256_cvtsepi32_epi16 (__m256i __A) 1767 { 1768 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A, 1769 (__v8hi) 1770 _mm_undefined_si128 (), 1771 (__mmask8) -1); 1772 } 1773 1774 extern __inline void 1775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1776 _mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) 1777 { 1778 __builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M); 1779 } 1780 1781 extern __inline __m128i 1782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1783 _mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A) 1784 { 1785 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A, 1786 (__v8hi) __O, __M); 1787 } 1788 1789 extern __inline __m128i 1790 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1791 _mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A) 1792 { 1793 return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A, 1794 (__v8hi) 1795 _mm_setzero_si128 (), 1796 __M); 1797 } 1798 1799 extern __inline __m128i 1800 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1801 _mm_cvtusepi32_epi16 (__m128i __A) 1802 { 1803 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A, 1804 (__v8hi) 1805 _mm_undefined_si128 (), 1806 (__mmask8) -1); 1807 } 1808 1809 extern __inline void 1810 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1811 _mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) 1812 { 1813 __builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M); 1814 } 1815 1816 extern __inline __m128i 1817 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1818 _mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A) 1819 { 1820 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A, 1821 (__v8hi) __O, __M); 1822 } 1823 1824 extern __inline __m128i 1825 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1826 _mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A) 1827 { 1828 return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A, 1829 (__v8hi) 1830 _mm_setzero_si128 (), 1831 __M); 1832 } 1833 1834 extern __inline __m128i 1835 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1836 _mm256_cvtusepi32_epi16 (__m256i __A) 1837 { 1838 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A, 1839 (__v8hi) 1840 _mm_undefined_si128 (), 1841 (__mmask8) -1); 1842 } 1843 1844 extern __inline void 1845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1846 _mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) 1847 { 1848 __builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M); 1849 } 1850 1851 extern __inline __m128i 1852 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1853 _mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A) 1854 { 1855 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A, 1856 (__v8hi) __O, __M); 1857 } 1858 1859 extern __inline __m128i 1860 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1861 _mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A) 1862 { 1863 return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A, 1864 (__v8hi) 1865 _mm_setzero_si128 (), 1866 __M); 1867 } 1868 1869 extern __inline __m128i 1870 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1871 _mm_cvtepi64_epi8 (__m128i __A) 1872 { 1873 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A, 1874 (__v16qi) 1875 _mm_undefined_si128 (), 1876 (__mmask8) -1); 1877 } 1878 1879 extern __inline void 1880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1881 _mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) 1882 { 1883 __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M); 1884 } 1885 1886 extern __inline __m128i 1887 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1888 _mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A) 1889 { 1890 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A, 1891 (__v16qi) __O, __M); 1892 } 1893 1894 extern __inline __m128i 1895 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1896 _mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A) 1897 { 1898 return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A, 1899 (__v16qi) 1900 _mm_setzero_si128 (), 1901 __M); 1902 } 1903 1904 extern __inline __m128i 1905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1906 _mm256_cvtepi64_epi8 (__m256i __A) 1907 { 1908 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A, 1909 (__v16qi) 1910 _mm_undefined_si128 (), 1911 (__mmask8) -1); 1912 } 1913 1914 extern __inline void 1915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1916 _mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) 1917 { 1918 __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M); 1919 } 1920 1921 extern __inline __m128i 1922 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1923 _mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A) 1924 { 1925 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A, 1926 (__v16qi) __O, __M); 1927 } 1928 1929 extern __inline __m128i 1930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1931 _mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A) 1932 { 1933 return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A, 1934 (__v16qi) 1935 _mm_setzero_si128 (), 1936 __M); 1937 } 1938 1939 extern __inline __m128i 1940 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1941 _mm_cvtsepi64_epi8 (__m128i __A) 1942 { 1943 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A, 1944 (__v16qi) 1945 _mm_undefined_si128 (), 1946 (__mmask8) -1); 1947 } 1948 1949 extern __inline void 1950 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1951 _mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) 1952 { 1953 __builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M); 1954 } 1955 1956 extern __inline __m128i 1957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1958 _mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A) 1959 { 1960 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A, 1961 (__v16qi) __O, __M); 1962 } 1963 1964 extern __inline __m128i 1965 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1966 _mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A) 1967 { 1968 return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A, 1969 (__v16qi) 1970 _mm_setzero_si128 (), 1971 __M); 1972 } 1973 1974 extern __inline __m128i 1975 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1976 _mm256_cvtsepi64_epi8 (__m256i __A) 1977 { 1978 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A, 1979 (__v16qi) 1980 _mm_undefined_si128 (), 1981 (__mmask8) -1); 1982 } 1983 1984 extern __inline void 1985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1986 _mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) 1987 { 1988 __builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M); 1989 } 1990 1991 extern __inline __m128i 1992 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 1993 _mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A) 1994 { 1995 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A, 1996 (__v16qi) __O, __M); 1997 } 1998 1999 extern __inline __m128i 2000 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2001 _mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A) 2002 { 2003 return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A, 2004 (__v16qi) 2005 _mm_setzero_si128 (), 2006 __M); 2007 } 2008 2009 extern __inline __m128i 2010 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2011 _mm_cvtusepi64_epi8 (__m128i __A) 2012 { 2013 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A, 2014 (__v16qi) 2015 _mm_undefined_si128 (), 2016 (__mmask8) -1); 2017 } 2018 2019 extern __inline void 2020 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2021 _mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A) 2022 { 2023 __builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M); 2024 } 2025 2026 extern __inline __m128i 2027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2028 _mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A) 2029 { 2030 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A, 2031 (__v16qi) __O, 2032 __M); 2033 } 2034 2035 extern __inline __m128i 2036 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2037 _mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A) 2038 { 2039 return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A, 2040 (__v16qi) 2041 _mm_setzero_si128 (), 2042 __M); 2043 } 2044 2045 extern __inline __m128i 2046 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2047 _mm256_cvtusepi64_epi8 (__m256i __A) 2048 { 2049 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A, 2050 (__v16qi) 2051 _mm_undefined_si128 (), 2052 (__mmask8) -1); 2053 } 2054 2055 extern __inline void 2056 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2057 _mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A) 2058 { 2059 __builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M); 2060 } 2061 2062 extern __inline __m128i 2063 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2064 _mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A) 2065 { 2066 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A, 2067 (__v16qi) __O, 2068 __M); 2069 } 2070 2071 extern __inline __m128i 2072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2073 _mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A) 2074 { 2075 return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A, 2076 (__v16qi) 2077 _mm_setzero_si128 (), 2078 __M); 2079 } 2080 2081 extern __inline __m128i 2082 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2083 _mm_cvtepi64_epi16 (__m128i __A) 2084 { 2085 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A, 2086 (__v8hi) 2087 _mm_undefined_si128 (), 2088 (__mmask8) -1); 2089 } 2090 2091 extern __inline void 2092 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2093 _mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) 2094 { 2095 __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M); 2096 } 2097 2098 extern __inline __m128i 2099 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2100 _mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A) 2101 { 2102 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A, 2103 (__v8hi)__O, 2104 __M); 2105 } 2106 2107 extern __inline __m128i 2108 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2109 _mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A) 2110 { 2111 return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A, 2112 (__v8hi) 2113 _mm_setzero_si128 (), 2114 __M); 2115 } 2116 2117 extern __inline __m128i 2118 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2119 _mm256_cvtepi64_epi16 (__m256i __A) 2120 { 2121 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A, 2122 (__v8hi) 2123 _mm_undefined_si128 (), 2124 (__mmask8) -1); 2125 } 2126 2127 extern __inline void 2128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2129 _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) 2130 { 2131 __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M); 2132 } 2133 2134 extern __inline __m128i 2135 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2136 _mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A) 2137 { 2138 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A, 2139 (__v8hi) __O, __M); 2140 } 2141 2142 extern __inline __m128i 2143 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2144 _mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A) 2145 { 2146 return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A, 2147 (__v8hi) 2148 _mm_setzero_si128 (), 2149 __M); 2150 } 2151 2152 extern __inline __m128i 2153 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2154 _mm_cvtsepi64_epi16 (__m128i __A) 2155 { 2156 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A, 2157 (__v8hi) 2158 _mm_undefined_si128 (), 2159 (__mmask8) -1); 2160 } 2161 2162 extern __inline void 2163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2164 _mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) 2165 { 2166 __builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M); 2167 } 2168 2169 extern __inline __m128i 2170 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2171 _mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A) 2172 { 2173 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A, 2174 (__v8hi) __O, __M); 2175 } 2176 2177 extern __inline __m128i 2178 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2179 _mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A) 2180 { 2181 return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A, 2182 (__v8hi) 2183 _mm_setzero_si128 (), 2184 __M); 2185 } 2186 2187 extern __inline __m128i 2188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2189 _mm256_cvtsepi64_epi16 (__m256i __A) 2190 { 2191 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A, 2192 (__v8hi) 2193 _mm_undefined_si128 (), 2194 (__mmask8) -1); 2195 } 2196 2197 extern __inline void 2198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2199 _mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) 2200 { 2201 __builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M); 2202 } 2203 2204 extern __inline __m128i 2205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2206 _mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A) 2207 { 2208 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A, 2209 (__v8hi) __O, __M); 2210 } 2211 2212 extern __inline __m128i 2213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2214 _mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A) 2215 { 2216 return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A, 2217 (__v8hi) 2218 _mm_setzero_si128 (), 2219 __M); 2220 } 2221 2222 extern __inline __m128i 2223 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2224 _mm_cvtusepi64_epi16 (__m128i __A) 2225 { 2226 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A, 2227 (__v8hi) 2228 _mm_undefined_si128 (), 2229 (__mmask8) -1); 2230 } 2231 2232 extern __inline void 2233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2234 _mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A) 2235 { 2236 __builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M); 2237 } 2238 2239 extern __inline __m128i 2240 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2241 _mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A) 2242 { 2243 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A, 2244 (__v8hi) __O, __M); 2245 } 2246 2247 extern __inline __m128i 2248 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2249 _mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A) 2250 { 2251 return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A, 2252 (__v8hi) 2253 _mm_setzero_si128 (), 2254 __M); 2255 } 2256 2257 extern __inline __m128i 2258 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2259 _mm256_cvtusepi64_epi16 (__m256i __A) 2260 { 2261 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A, 2262 (__v8hi) 2263 _mm_undefined_si128 (), 2264 (__mmask8) -1); 2265 } 2266 2267 extern __inline void 2268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2269 _mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A) 2270 { 2271 __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M); 2272 } 2273 2274 extern __inline __m128i 2275 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2276 _mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A) 2277 { 2278 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A, 2279 (__v8hi) __O, __M); 2280 } 2281 2282 extern __inline __m128i 2283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2284 _mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A) 2285 { 2286 return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A, 2287 (__v8hi) 2288 _mm_setzero_si128 (), 2289 __M); 2290 } 2291 2292 extern __inline __m128i 2293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2294 _mm_cvtepi64_epi32 (__m128i __A) 2295 { 2296 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A, 2297 (__v4si) 2298 _mm_undefined_si128 (), 2299 (__mmask8) -1); 2300 } 2301 2302 extern __inline void 2303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2304 _mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A) 2305 { 2306 __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M); 2307 } 2308 2309 extern __inline __m128i 2310 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2311 _mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A) 2312 { 2313 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A, 2314 (__v4si) __O, __M); 2315 } 2316 2317 extern __inline __m128i 2318 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2319 _mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A) 2320 { 2321 return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A, 2322 (__v4si) 2323 _mm_setzero_si128 (), 2324 __M); 2325 } 2326 2327 extern __inline __m128i 2328 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2329 _mm256_cvtepi64_epi32 (__m256i __A) 2330 { 2331 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A, 2332 (__v4si) 2333 _mm_undefined_si128 (), 2334 (__mmask8) -1); 2335 } 2336 2337 extern __inline void 2338 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2339 _mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A) 2340 { 2341 __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M); 2342 } 2343 2344 extern __inline __m128i 2345 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2346 _mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A) 2347 { 2348 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A, 2349 (__v4si) __O, __M); 2350 } 2351 2352 extern __inline __m128i 2353 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2354 _mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A) 2355 { 2356 return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A, 2357 (__v4si) 2358 _mm_setzero_si128 (), 2359 __M); 2360 } 2361 2362 extern __inline __m128i 2363 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2364 _mm_cvtsepi64_epi32 (__m128i __A) 2365 { 2366 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A, 2367 (__v4si) 2368 _mm_undefined_si128 (), 2369 (__mmask8) -1); 2370 } 2371 2372 extern __inline void 2373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2374 _mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A) 2375 { 2376 __builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M); 2377 } 2378 2379 extern __inline __m128i 2380 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2381 _mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A) 2382 { 2383 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A, 2384 (__v4si) __O, __M); 2385 } 2386 2387 extern __inline __m128i 2388 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2389 _mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A) 2390 { 2391 return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A, 2392 (__v4si) 2393 _mm_setzero_si128 (), 2394 __M); 2395 } 2396 2397 extern __inline __m128i 2398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2399 _mm256_cvtsepi64_epi32 (__m256i __A) 2400 { 2401 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A, 2402 (__v4si) 2403 _mm_undefined_si128 (), 2404 (__mmask8) -1); 2405 } 2406 2407 extern __inline void 2408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2409 _mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A) 2410 { 2411 __builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M); 2412 } 2413 2414 extern __inline __m128i 2415 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2416 _mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A) 2417 { 2418 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A, 2419 (__v4si)__O, 2420 __M); 2421 } 2422 2423 extern __inline __m128i 2424 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2425 _mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A) 2426 { 2427 return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A, 2428 (__v4si) 2429 _mm_setzero_si128 (), 2430 __M); 2431 } 2432 2433 extern __inline __m128i 2434 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2435 _mm_cvtusepi64_epi32 (__m128i __A) 2436 { 2437 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A, 2438 (__v4si) 2439 _mm_undefined_si128 (), 2440 (__mmask8) -1); 2441 } 2442 2443 extern __inline void 2444 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2445 _mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A) 2446 { 2447 __builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M); 2448 } 2449 2450 extern __inline __m128i 2451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2452 _mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A) 2453 { 2454 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A, 2455 (__v4si) __O, __M); 2456 } 2457 2458 extern __inline __m128i 2459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2460 _mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A) 2461 { 2462 return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A, 2463 (__v4si) 2464 _mm_setzero_si128 (), 2465 __M); 2466 } 2467 2468 extern __inline __m128i 2469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2470 _mm256_cvtusepi64_epi32 (__m256i __A) 2471 { 2472 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A, 2473 (__v4si) 2474 _mm_undefined_si128 (), 2475 (__mmask8) -1); 2476 } 2477 2478 extern __inline void 2479 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2480 _mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A) 2481 { 2482 __builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M); 2483 } 2484 2485 extern __inline __m128i 2486 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2487 _mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A) 2488 { 2489 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A, 2490 (__v4si) __O, __M); 2491 } 2492 2493 extern __inline __m128i 2494 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2495 _mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A) 2496 { 2497 return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A, 2498 (__v4si) 2499 _mm_setzero_si128 (), 2500 __M); 2501 } 2502 2503 extern __inline __m256 2504 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2505 _mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A) 2506 { 2507 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A, 2508 (__v8sf) __O, 2509 __M); 2510 } 2511 2512 extern __inline __m256 2513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2514 _mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A) 2515 { 2516 return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A, 2517 (__v8sf) 2518 _mm256_setzero_ps (), 2519 __M); 2520 } 2521 2522 extern __inline __m128 2523 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2524 _mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A) 2525 { 2526 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A, 2527 (__v4sf) __O, 2528 __M); 2529 } 2530 2531 extern __inline __m128 2532 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2533 _mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A) 2534 { 2535 return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A, 2536 (__v4sf) 2537 _mm_setzero_ps (), 2538 __M); 2539 } 2540 2541 extern __inline __m256d 2542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2543 _mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A) 2544 { 2545 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A, 2546 (__v4df) __O, 2547 __M); 2548 } 2549 2550 extern __inline __m256d 2551 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2552 _mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A) 2553 { 2554 return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A, 2555 (__v4df) 2556 _mm256_setzero_pd (), 2557 __M); 2558 } 2559 2560 extern __inline __m256i 2561 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2562 _mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A) 2563 { 2564 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A, 2565 (__v8si) __O, 2566 __M); 2567 } 2568 2569 extern __inline __m256i 2570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2571 _mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A) 2572 { 2573 return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A, 2574 (__v8si) 2575 _mm256_setzero_si256 (), 2576 __M); 2577 } 2578 2579 extern __inline __m256i 2580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2581 _mm256_mask_set1_epi32 (__m256i __O, __mmask8 __M, int __A) 2582 { 2583 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) __O, 2584 __M); 2585 } 2586 2587 extern __inline __m256i 2588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2589 _mm256_maskz_set1_epi32 (__mmask8 __M, int __A) 2590 { 2591 return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, 2592 (__v8si) 2593 _mm256_setzero_si256 (), 2594 __M); 2595 } 2596 2597 extern __inline __m128i 2598 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2599 _mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A) 2600 { 2601 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A, 2602 (__v4si) __O, 2603 __M); 2604 } 2605 2606 extern __inline __m128i 2607 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2608 _mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A) 2609 { 2610 return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A, 2611 (__v4si) 2612 _mm_setzero_si128 (), 2613 __M); 2614 } 2615 2616 extern __inline __m128i 2617 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2618 _mm_mask_set1_epi32 (__m128i __O, __mmask8 __M, int __A) 2619 { 2620 return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) __O, 2621 __M); 2622 } 2623 2624 extern __inline __m128i 2625 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2626 _mm_maskz_set1_epi32 (__mmask8 __M, int __A) 2627 { 2628 return (__m128i) 2629 __builtin_ia32_pbroadcastd128_gpr_mask (__A, 2630 (__v4si) _mm_setzero_si128 (), 2631 __M); 2632 } 2633 2634 extern __inline __m256i 2635 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2636 _mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A) 2637 { 2638 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A, 2639 (__v4di) __O, 2640 __M); 2641 } 2642 2643 extern __inline __m256i 2644 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2645 _mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A) 2646 { 2647 return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A, 2648 (__v4di) 2649 _mm256_setzero_si256 (), 2650 __M); 2651 } 2652 2653 extern __inline __m256i 2654 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2655 _mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A) 2656 { 2657 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O, 2658 __M); 2659 } 2660 2661 extern __inline __m256i 2662 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2663 _mm256_maskz_set1_epi64 (__mmask8 __M, long long __A) 2664 { 2665 return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, 2666 (__v4di) 2667 _mm256_setzero_si256 (), 2668 __M); 2669 } 2670 2671 extern __inline __m128i 2672 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2673 _mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A) 2674 { 2675 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A, 2676 (__v2di) __O, 2677 __M); 2678 } 2679 2680 extern __inline __m128i 2681 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2682 _mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A) 2683 { 2684 return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A, 2685 (__v2di) 2686 _mm_setzero_si128 (), 2687 __M); 2688 } 2689 2690 extern __inline __m128i 2691 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2692 _mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A) 2693 { 2694 return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O, 2695 __M); 2696 } 2697 2698 extern __inline __m128i 2699 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2700 _mm_maskz_set1_epi64 (__mmask8 __M, long long __A) 2701 { 2702 return (__m128i) 2703 __builtin_ia32_pbroadcastq128_gpr_mask (__A, 2704 (__v2di) _mm_setzero_si128 (), 2705 __M); 2706 } 2707 2708 extern __inline __m256 2709 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2710 _mm256_broadcast_f32x4 (__m128 __A) 2711 { 2712 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A, 2713 (__v8sf)_mm256_undefined_pd (), 2714 (__mmask8) -1); 2715 } 2716 2717 extern __inline __m256 2718 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2719 _mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A) 2720 { 2721 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A, 2722 (__v8sf) __O, 2723 __M); 2724 } 2725 2726 extern __inline __m256 2727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2728 _mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A) 2729 { 2730 return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A, 2731 (__v8sf) 2732 _mm256_setzero_ps (), 2733 __M); 2734 } 2735 2736 extern __inline __m256i 2737 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2738 _mm256_broadcast_i32x4 (__m128i __A) 2739 { 2740 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) 2741 __A, 2742 (__v8si)_mm256_undefined_si256 (), 2743 (__mmask8) -1); 2744 } 2745 2746 extern __inline __m256i 2747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2748 _mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A) 2749 { 2750 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) 2751 __A, 2752 (__v8si) 2753 __O, __M); 2754 } 2755 2756 extern __inline __m256i 2757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2758 _mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A) 2759 { 2760 return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si) 2761 __A, 2762 (__v8si) 2763 _mm256_setzero_si256 (), 2764 __M); 2765 } 2766 2767 extern __inline __m256i 2768 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2769 _mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A) 2770 { 2771 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A, 2772 (__v8si) __W, 2773 (__mmask8) __U); 2774 } 2775 2776 extern __inline __m256i 2777 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2778 _mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A) 2779 { 2780 return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A, 2781 (__v8si) 2782 _mm256_setzero_si256 (), 2783 (__mmask8) __U); 2784 } 2785 2786 extern __inline __m128i 2787 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2788 _mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 2789 { 2790 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A, 2791 (__v4si) __W, 2792 (__mmask8) __U); 2793 } 2794 2795 extern __inline __m128i 2796 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2797 _mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A) 2798 { 2799 return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A, 2800 (__v4si) 2801 _mm_setzero_si128 (), 2802 (__mmask8) __U); 2803 } 2804 2805 extern __inline __m256i 2806 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2807 _mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A) 2808 { 2809 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A, 2810 (__v4di) __W, 2811 (__mmask8) __U); 2812 } 2813 2814 extern __inline __m256i 2815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2816 _mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A) 2817 { 2818 return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A, 2819 (__v4di) 2820 _mm256_setzero_si256 (), 2821 (__mmask8) __U); 2822 } 2823 2824 extern __inline __m128i 2825 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2826 _mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 2827 { 2828 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A, 2829 (__v2di) __W, 2830 (__mmask8) __U); 2831 } 2832 2833 extern __inline __m128i 2834 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2835 _mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A) 2836 { 2837 return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A, 2838 (__v2di) 2839 _mm_setzero_si128 (), 2840 (__mmask8) __U); 2841 } 2842 2843 extern __inline __m256i 2844 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2845 _mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A) 2846 { 2847 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A, 2848 (__v8si) __W, 2849 (__mmask8) __U); 2850 } 2851 2852 extern __inline __m256i 2853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2854 _mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A) 2855 { 2856 return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A, 2857 (__v8si) 2858 _mm256_setzero_si256 (), 2859 (__mmask8) __U); 2860 } 2861 2862 extern __inline __m128i 2863 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2864 _mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 2865 { 2866 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A, 2867 (__v4si) __W, 2868 (__mmask8) __U); 2869 } 2870 2871 extern __inline __m128i 2872 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2873 _mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A) 2874 { 2875 return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A, 2876 (__v4si) 2877 _mm_setzero_si128 (), 2878 (__mmask8) __U); 2879 } 2880 2881 extern __inline __m256i 2882 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2883 _mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A) 2884 { 2885 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A, 2886 (__v4di) __W, 2887 (__mmask8) __U); 2888 } 2889 2890 extern __inline __m256i 2891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2892 _mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A) 2893 { 2894 return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A, 2895 (__v4di) 2896 _mm256_setzero_si256 (), 2897 (__mmask8) __U); 2898 } 2899 2900 extern __inline __m128i 2901 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2902 _mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 2903 { 2904 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A, 2905 (__v2di) __W, 2906 (__mmask8) __U); 2907 } 2908 2909 extern __inline __m128i 2910 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2911 _mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A) 2912 { 2913 return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A, 2914 (__v2di) 2915 _mm_setzero_si128 (), 2916 (__mmask8) __U); 2917 } 2918 2919 extern __inline __m256i 2920 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2921 _mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X) 2922 { 2923 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X, 2924 (__v4di) __W, 2925 (__mmask8) __U); 2926 } 2927 2928 extern __inline __m256i 2929 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2930 _mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X) 2931 { 2932 return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X, 2933 (__v4di) 2934 _mm256_setzero_si256 (), 2935 (__mmask8) __U); 2936 } 2937 2938 extern __inline __m128i 2939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2940 _mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X) 2941 { 2942 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X, 2943 (__v2di) __W, 2944 (__mmask8) __U); 2945 } 2946 2947 extern __inline __m128i 2948 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2949 _mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X) 2950 { 2951 return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X, 2952 (__v2di) 2953 _mm_setzero_si128 (), 2954 (__mmask8) __U); 2955 } 2956 2957 extern __inline __m256i 2958 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2959 _mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A) 2960 { 2961 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A, 2962 (__v8si) __W, 2963 (__mmask8) __U); 2964 } 2965 2966 extern __inline __m256i 2967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2968 _mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A) 2969 { 2970 return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A, 2971 (__v8si) 2972 _mm256_setzero_si256 (), 2973 (__mmask8) __U); 2974 } 2975 2976 extern __inline __m128i 2977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2978 _mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 2979 { 2980 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A, 2981 (__v4si) __W, 2982 (__mmask8) __U); 2983 } 2984 2985 extern __inline __m128i 2986 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2987 _mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A) 2988 { 2989 return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A, 2990 (__v4si) 2991 _mm_setzero_si128 (), 2992 (__mmask8) __U); 2993 } 2994 2995 extern __inline __m256i 2996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 2997 _mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A) 2998 { 2999 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A, 3000 (__v4di) __W, 3001 (__mmask8) __U); 3002 } 3003 3004 extern __inline __m256i 3005 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3006 _mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A) 3007 { 3008 return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A, 3009 (__v4di) 3010 _mm256_setzero_si256 (), 3011 (__mmask8) __U); 3012 } 3013 3014 extern __inline __m128i 3015 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3016 _mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 3017 { 3018 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A, 3019 (__v2di) __W, 3020 (__mmask8) __U); 3021 } 3022 3023 extern __inline __m128i 3024 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3025 _mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A) 3026 { 3027 return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A, 3028 (__v2di) 3029 _mm_setzero_si128 (), 3030 (__mmask8) __U); 3031 } 3032 3033 extern __inline __m256i 3034 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3035 _mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A) 3036 { 3037 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A, 3038 (__v8si) __W, 3039 (__mmask8) __U); 3040 } 3041 3042 extern __inline __m256i 3043 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3044 _mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A) 3045 { 3046 return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A, 3047 (__v8si) 3048 _mm256_setzero_si256 (), 3049 (__mmask8) __U); 3050 } 3051 3052 extern __inline __m128i 3053 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3054 _mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 3055 { 3056 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A, 3057 (__v4si) __W, 3058 (__mmask8) __U); 3059 } 3060 3061 extern __inline __m128i 3062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3063 _mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A) 3064 { 3065 return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A, 3066 (__v4si) 3067 _mm_setzero_si128 (), 3068 (__mmask8) __U); 3069 } 3070 3071 extern __inline __m256i 3072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3073 _mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A) 3074 { 3075 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A, 3076 (__v4di) __W, 3077 (__mmask8) __U); 3078 } 3079 3080 extern __inline __m256i 3081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3082 _mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A) 3083 { 3084 return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A, 3085 (__v4di) 3086 _mm256_setzero_si256 (), 3087 (__mmask8) __U); 3088 } 3089 3090 extern __inline __m128i 3091 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3092 _mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 3093 { 3094 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A, 3095 (__v2di) __W, 3096 (__mmask8) __U); 3097 } 3098 3099 extern __inline __m128i 3100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3101 _mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A) 3102 { 3103 return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A, 3104 (__v2di) 3105 _mm_setzero_si128 (), 3106 (__mmask8) __U); 3107 } 3108 3109 extern __inline __m256i 3110 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3111 _mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X) 3112 { 3113 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X, 3114 (__v4di) __W, 3115 (__mmask8) __U); 3116 } 3117 3118 extern __inline __m256i 3119 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3120 _mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X) 3121 { 3122 return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X, 3123 (__v4di) 3124 _mm256_setzero_si256 (), 3125 (__mmask8) __U); 3126 } 3127 3128 extern __inline __m128i 3129 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3130 _mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X) 3131 { 3132 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X, 3133 (__v2di) __W, 3134 (__mmask8) __U); 3135 } 3136 3137 extern __inline __m128i 3138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3139 _mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X) 3140 { 3141 return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X, 3142 (__v2di) 3143 _mm_setzero_si128 (), 3144 (__mmask8) __U); 3145 } 3146 3147 extern __inline __m256d 3148 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3149 _mm256_rcp14_pd (__m256d __A) 3150 { 3151 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A, 3152 (__v4df) 3153 _mm256_setzero_pd (), 3154 (__mmask8) -1); 3155 } 3156 3157 extern __inline __m256d 3158 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3159 _mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A) 3160 { 3161 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A, 3162 (__v4df) __W, 3163 (__mmask8) __U); 3164 } 3165 3166 extern __inline __m256d 3167 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3168 _mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A) 3169 { 3170 return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A, 3171 (__v4df) 3172 _mm256_setzero_pd (), 3173 (__mmask8) __U); 3174 } 3175 3176 extern __inline __m128d 3177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3178 _mm_rcp14_pd (__m128d __A) 3179 { 3180 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A, 3181 (__v2df) 3182 _mm_setzero_pd (), 3183 (__mmask8) -1); 3184 } 3185 3186 extern __inline __m128d 3187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3188 _mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A) 3189 { 3190 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A, 3191 (__v2df) __W, 3192 (__mmask8) __U); 3193 } 3194 3195 extern __inline __m128d 3196 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3197 _mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A) 3198 { 3199 return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A, 3200 (__v2df) 3201 _mm_setzero_pd (), 3202 (__mmask8) __U); 3203 } 3204 3205 extern __inline __m256 3206 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3207 _mm256_rcp14_ps (__m256 __A) 3208 { 3209 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A, 3210 (__v8sf) 3211 _mm256_setzero_ps (), 3212 (__mmask8) -1); 3213 } 3214 3215 extern __inline __m256 3216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3217 _mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A) 3218 { 3219 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A, 3220 (__v8sf) __W, 3221 (__mmask8) __U); 3222 } 3223 3224 extern __inline __m256 3225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3226 _mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A) 3227 { 3228 return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A, 3229 (__v8sf) 3230 _mm256_setzero_ps (), 3231 (__mmask8) __U); 3232 } 3233 3234 extern __inline __m128 3235 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3236 _mm_rcp14_ps (__m128 __A) 3237 { 3238 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A, 3239 (__v4sf) 3240 _mm_setzero_ps (), 3241 (__mmask8) -1); 3242 } 3243 3244 extern __inline __m128 3245 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3246 _mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A) 3247 { 3248 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A, 3249 (__v4sf) __W, 3250 (__mmask8) __U); 3251 } 3252 3253 extern __inline __m128 3254 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3255 _mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A) 3256 { 3257 return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A, 3258 (__v4sf) 3259 _mm_setzero_ps (), 3260 (__mmask8) __U); 3261 } 3262 3263 extern __inline __m256d 3264 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3265 _mm256_rsqrt14_pd (__m256d __A) 3266 { 3267 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A, 3268 (__v4df) 3269 _mm256_setzero_pd (), 3270 (__mmask8) -1); 3271 } 3272 3273 extern __inline __m256d 3274 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3275 _mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A) 3276 { 3277 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A, 3278 (__v4df) __W, 3279 (__mmask8) __U); 3280 } 3281 3282 extern __inline __m256d 3283 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3284 _mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A) 3285 { 3286 return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A, 3287 (__v4df) 3288 _mm256_setzero_pd (), 3289 (__mmask8) __U); 3290 } 3291 3292 extern __inline __m128d 3293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3294 _mm_rsqrt14_pd (__m128d __A) 3295 { 3296 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A, 3297 (__v2df) 3298 _mm_setzero_pd (), 3299 (__mmask8) -1); 3300 } 3301 3302 extern __inline __m128d 3303 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3304 _mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A) 3305 { 3306 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A, 3307 (__v2df) __W, 3308 (__mmask8) __U); 3309 } 3310 3311 extern __inline __m128d 3312 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3313 _mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A) 3314 { 3315 return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A, 3316 (__v2df) 3317 _mm_setzero_pd (), 3318 (__mmask8) __U); 3319 } 3320 3321 extern __inline __m256 3322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3323 _mm256_rsqrt14_ps (__m256 __A) 3324 { 3325 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A, 3326 (__v8sf) 3327 _mm256_setzero_ps (), 3328 (__mmask8) -1); 3329 } 3330 3331 extern __inline __m256 3332 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3333 _mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A) 3334 { 3335 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A, 3336 (__v8sf) __W, 3337 (__mmask8) __U); 3338 } 3339 3340 extern __inline __m256 3341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3342 _mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A) 3343 { 3344 return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A, 3345 (__v8sf) 3346 _mm256_setzero_ps (), 3347 (__mmask8) __U); 3348 } 3349 3350 extern __inline __m128 3351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3352 _mm_rsqrt14_ps (__m128 __A) 3353 { 3354 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A, 3355 (__v4sf) 3356 _mm_setzero_ps (), 3357 (__mmask8) -1); 3358 } 3359 3360 extern __inline __m128 3361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3362 _mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A) 3363 { 3364 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A, 3365 (__v4sf) __W, 3366 (__mmask8) __U); 3367 } 3368 3369 extern __inline __m128 3370 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3371 _mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A) 3372 { 3373 return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A, 3374 (__v4sf) 3375 _mm_setzero_ps (), 3376 (__mmask8) __U); 3377 } 3378 3379 extern __inline __m256d 3380 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3381 _mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A) 3382 { 3383 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A, 3384 (__v4df) __W, 3385 (__mmask8) __U); 3386 } 3387 3388 extern __inline __m256d 3389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3390 _mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A) 3391 { 3392 return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A, 3393 (__v4df) 3394 _mm256_setzero_pd (), 3395 (__mmask8) __U); 3396 } 3397 3398 extern __inline __m128d 3399 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3400 _mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A) 3401 { 3402 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A, 3403 (__v2df) __W, 3404 (__mmask8) __U); 3405 } 3406 3407 extern __inline __m128d 3408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3409 _mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A) 3410 { 3411 return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A, 3412 (__v2df) 3413 _mm_setzero_pd (), 3414 (__mmask8) __U); 3415 } 3416 3417 extern __inline __m256 3418 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3419 _mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A) 3420 { 3421 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A, 3422 (__v8sf) __W, 3423 (__mmask8) __U); 3424 } 3425 3426 extern __inline __m256 3427 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3428 _mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A) 3429 { 3430 return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A, 3431 (__v8sf) 3432 _mm256_setzero_ps (), 3433 (__mmask8) __U); 3434 } 3435 3436 extern __inline __m128 3437 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3438 _mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A) 3439 { 3440 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A, 3441 (__v4sf) __W, 3442 (__mmask8) __U); 3443 } 3444 3445 extern __inline __m128 3446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3447 _mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A) 3448 { 3449 return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A, 3450 (__v4sf) 3451 _mm_setzero_ps (), 3452 (__mmask8) __U); 3453 } 3454 3455 extern __inline __m256i 3456 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3457 _mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 3458 __m256i __B) 3459 { 3460 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A, 3461 (__v8si) __B, 3462 (__v8si) __W, 3463 (__mmask8) __U); 3464 } 3465 3466 extern __inline __m256i 3467 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3468 _mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 3469 { 3470 return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A, 3471 (__v8si) __B, 3472 (__v8si) 3473 _mm256_setzero_si256 (), 3474 (__mmask8) __U); 3475 } 3476 3477 extern __inline __m256i 3478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3479 _mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 3480 __m256i __B) 3481 { 3482 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A, 3483 (__v4di) __B, 3484 (__v4di) __W, 3485 (__mmask8) __U); 3486 } 3487 3488 extern __inline __m256i 3489 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3490 _mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 3491 { 3492 return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A, 3493 (__v4di) __B, 3494 (__v4di) 3495 _mm256_setzero_si256 (), 3496 (__mmask8) __U); 3497 } 3498 3499 extern __inline __m256i 3500 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3501 _mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 3502 __m256i __B) 3503 { 3504 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A, 3505 (__v8si) __B, 3506 (__v8si) __W, 3507 (__mmask8) __U); 3508 } 3509 3510 extern __inline __m256i 3511 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3512 _mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 3513 { 3514 return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A, 3515 (__v8si) __B, 3516 (__v8si) 3517 _mm256_setzero_si256 (), 3518 (__mmask8) __U); 3519 } 3520 3521 extern __inline __m256i 3522 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3523 _mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 3524 __m256i __B) 3525 { 3526 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A, 3527 (__v4di) __B, 3528 (__v4di) __W, 3529 (__mmask8) __U); 3530 } 3531 3532 extern __inline __m256i 3533 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3534 _mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 3535 { 3536 return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A, 3537 (__v4di) __B, 3538 (__v4di) 3539 _mm256_setzero_si256 (), 3540 (__mmask8) __U); 3541 } 3542 3543 extern __inline __m128i 3544 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3545 _mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 3546 __m128i __B) 3547 { 3548 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A, 3549 (__v4si) __B, 3550 (__v4si) __W, 3551 (__mmask8) __U); 3552 } 3553 3554 extern __inline __m128i 3555 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3556 _mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 3557 { 3558 return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A, 3559 (__v4si) __B, 3560 (__v4si) 3561 _mm_setzero_si128 (), 3562 (__mmask8) __U); 3563 } 3564 3565 extern __inline __m128i 3566 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3567 _mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 3568 __m128i __B) 3569 { 3570 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A, 3571 (__v2di) __B, 3572 (__v2di) __W, 3573 (__mmask8) __U); 3574 } 3575 3576 extern __inline __m128i 3577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3578 _mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 3579 { 3580 return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A, 3581 (__v2di) __B, 3582 (__v2di) 3583 _mm_setzero_si128 (), 3584 (__mmask8) __U); 3585 } 3586 3587 extern __inline __m128i 3588 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3589 _mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 3590 __m128i __B) 3591 { 3592 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A, 3593 (__v4si) __B, 3594 (__v4si) __W, 3595 (__mmask8) __U); 3596 } 3597 3598 extern __inline __m128i 3599 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3600 _mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 3601 { 3602 return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A, 3603 (__v4si) __B, 3604 (__v4si) 3605 _mm_setzero_si128 (), 3606 (__mmask8) __U); 3607 } 3608 3609 extern __inline __m128i 3610 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3611 _mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 3612 __m128i __B) 3613 { 3614 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A, 3615 (__v2di) __B, 3616 (__v2di) __W, 3617 (__mmask8) __U); 3618 } 3619 3620 extern __inline __m128i 3621 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3622 _mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 3623 { 3624 return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A, 3625 (__v2di) __B, 3626 (__v2di) 3627 _mm_setzero_si128 (), 3628 (__mmask8) __U); 3629 } 3630 3631 extern __inline __m256 3632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3633 _mm256_getexp_ps (__m256 __A) 3634 { 3635 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, 3636 (__v8sf) 3637 _mm256_setzero_ps (), 3638 (__mmask8) -1); 3639 } 3640 3641 extern __inline __m256 3642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3643 _mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A) 3644 { 3645 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, 3646 (__v8sf) __W, 3647 (__mmask8) __U); 3648 } 3649 3650 extern __inline __m256 3651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3652 _mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A) 3653 { 3654 return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A, 3655 (__v8sf) 3656 _mm256_setzero_ps (), 3657 (__mmask8) __U); 3658 } 3659 3660 extern __inline __m256d 3661 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3662 _mm256_getexp_pd (__m256d __A) 3663 { 3664 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, 3665 (__v4df) 3666 _mm256_setzero_pd (), 3667 (__mmask8) -1); 3668 } 3669 3670 extern __inline __m256d 3671 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3672 _mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A) 3673 { 3674 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, 3675 (__v4df) __W, 3676 (__mmask8) __U); 3677 } 3678 3679 extern __inline __m256d 3680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3681 _mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A) 3682 { 3683 return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A, 3684 (__v4df) 3685 _mm256_setzero_pd (), 3686 (__mmask8) __U); 3687 } 3688 3689 extern __inline __m128 3690 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3691 _mm_getexp_ps (__m128 __A) 3692 { 3693 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, 3694 (__v4sf) 3695 _mm_setzero_ps (), 3696 (__mmask8) -1); 3697 } 3698 3699 extern __inline __m128 3700 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3701 _mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A) 3702 { 3703 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, 3704 (__v4sf) __W, 3705 (__mmask8) __U); 3706 } 3707 3708 extern __inline __m128 3709 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3710 _mm_maskz_getexp_ps (__mmask8 __U, __m128 __A) 3711 { 3712 return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A, 3713 (__v4sf) 3714 _mm_setzero_ps (), 3715 (__mmask8) __U); 3716 } 3717 3718 extern __inline __m128d 3719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3720 _mm_getexp_pd (__m128d __A) 3721 { 3722 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, 3723 (__v2df) 3724 _mm_setzero_pd (), 3725 (__mmask8) -1); 3726 } 3727 3728 extern __inline __m128d 3729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3730 _mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A) 3731 { 3732 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, 3733 (__v2df) __W, 3734 (__mmask8) __U); 3735 } 3736 3737 extern __inline __m128d 3738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3739 _mm_maskz_getexp_pd (__mmask8 __U, __m128d __A) 3740 { 3741 return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A, 3742 (__v2df) 3743 _mm_setzero_pd (), 3744 (__mmask8) __U); 3745 } 3746 3747 extern __inline __m256i 3748 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3749 _mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 3750 __m128i __B) 3751 { 3752 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A, 3753 (__v4si) __B, 3754 (__v8si) __W, 3755 (__mmask8) __U); 3756 } 3757 3758 extern __inline __m256i 3759 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3760 _mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B) 3761 { 3762 return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A, 3763 (__v4si) __B, 3764 (__v8si) 3765 _mm256_setzero_si256 (), 3766 (__mmask8) __U); 3767 } 3768 3769 extern __inline __m128i 3770 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3771 _mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 3772 __m128i __B) 3773 { 3774 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A, 3775 (__v4si) __B, 3776 (__v4si) __W, 3777 (__mmask8) __U); 3778 } 3779 3780 extern __inline __m128i 3781 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3782 _mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 3783 { 3784 return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A, 3785 (__v4si) __B, 3786 (__v4si) 3787 _mm_setzero_si128 (), 3788 (__mmask8) __U); 3789 } 3790 3791 extern __inline __m256i 3792 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3793 _mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 3794 __m128i __B) 3795 { 3796 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A, 3797 (__v2di) __B, 3798 (__v4di) __W, 3799 (__mmask8) __U); 3800 } 3801 3802 extern __inline __m256i 3803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3804 _mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B) 3805 { 3806 return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A, 3807 (__v2di) __B, 3808 (__v4di) 3809 _mm256_setzero_si256 (), 3810 (__mmask8) __U); 3811 } 3812 3813 extern __inline __m128i 3814 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3815 _mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 3816 __m128i __B) 3817 { 3818 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A, 3819 (__v2di) __B, 3820 (__v2di) __W, 3821 (__mmask8) __U); 3822 } 3823 3824 extern __inline __m128i 3825 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3826 _mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 3827 { 3828 return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A, 3829 (__v2di) __B, 3830 (__v2di) 3831 _mm_setzero_si128 (), 3832 (__mmask8) __U); 3833 } 3834 3835 extern __inline __m256i 3836 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3837 _mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 3838 __m256i __B) 3839 { 3840 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A, 3841 (__v8si) __B, 3842 (__v8si) __W, 3843 (__mmask8) __U); 3844 } 3845 3846 extern __inline __m256i 3847 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3848 _mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 3849 { 3850 return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A, 3851 (__v8si) __B, 3852 (__v8si) 3853 _mm256_setzero_si256 (), 3854 (__mmask8) __U); 3855 } 3856 3857 extern __inline __m256d 3858 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3859 _mm256_scalef_pd (__m256d __A, __m256d __B) 3860 { 3861 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, 3862 (__v4df) __B, 3863 (__v4df) 3864 _mm256_setzero_pd (), 3865 (__mmask8) -1); 3866 } 3867 3868 extern __inline __m256d 3869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3870 _mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A, 3871 __m256d __B) 3872 { 3873 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, 3874 (__v4df) __B, 3875 (__v4df) __W, 3876 (__mmask8) __U); 3877 } 3878 3879 extern __inline __m256d 3880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3881 _mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B) 3882 { 3883 return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A, 3884 (__v4df) __B, 3885 (__v4df) 3886 _mm256_setzero_pd (), 3887 (__mmask8) __U); 3888 } 3889 3890 extern __inline __m256 3891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3892 _mm256_scalef_ps (__m256 __A, __m256 __B) 3893 { 3894 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, 3895 (__v8sf) __B, 3896 (__v8sf) 3897 _mm256_setzero_ps (), 3898 (__mmask8) -1); 3899 } 3900 3901 extern __inline __m256 3902 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3903 _mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A, 3904 __m256 __B) 3905 { 3906 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, 3907 (__v8sf) __B, 3908 (__v8sf) __W, 3909 (__mmask8) __U); 3910 } 3911 3912 extern __inline __m256 3913 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3914 _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) 3915 { 3916 return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A, 3917 (__v8sf) __B, 3918 (__v8sf) 3919 _mm256_setzero_ps (), 3920 (__mmask8) __U); 3921 } 3922 3923 extern __inline __m128d 3924 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3925 _mm_scalef_pd (__m128d __A, __m128d __B) 3926 { 3927 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, 3928 (__v2df) __B, 3929 (__v2df) 3930 _mm_setzero_pd (), 3931 (__mmask8) -1); 3932 } 3933 3934 extern __inline __m128d 3935 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3936 _mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A, 3937 __m128d __B) 3938 { 3939 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, 3940 (__v2df) __B, 3941 (__v2df) __W, 3942 (__mmask8) __U); 3943 } 3944 3945 extern __inline __m128d 3946 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3947 _mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B) 3948 { 3949 return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A, 3950 (__v2df) __B, 3951 (__v2df) 3952 _mm_setzero_pd (), 3953 (__mmask8) __U); 3954 } 3955 3956 extern __inline __m128 3957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3958 _mm_scalef_ps (__m128 __A, __m128 __B) 3959 { 3960 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, 3961 (__v4sf) __B, 3962 (__v4sf) 3963 _mm_setzero_ps (), 3964 (__mmask8) -1); 3965 } 3966 3967 extern __inline __m128 3968 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3969 _mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 3970 { 3971 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, 3972 (__v4sf) __B, 3973 (__v4sf) __W, 3974 (__mmask8) __U); 3975 } 3976 3977 extern __inline __m128 3978 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3979 _mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B) 3980 { 3981 return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A, 3982 (__v4sf) __B, 3983 (__v4sf) 3984 _mm_setzero_ps (), 3985 (__mmask8) __U); 3986 } 3987 3988 extern __inline __m256d 3989 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 3990 _mm256_mask_fmadd_pd (__m256d __A, __mmask8 __U, __m256d __B, 3991 __m256d __C) 3992 { 3993 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A, 3994 (__v4df) __B, 3995 (__v4df) __C, 3996 (__mmask8) __U); 3997 } 3998 3999 extern __inline __m256d 4000 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4001 _mm256_mask3_fmadd_pd (__m256d __A, __m256d __B, __m256d __C, 4002 __mmask8 __U) 4003 { 4004 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A, 4005 (__v4df) __B, 4006 (__v4df) __C, 4007 (__mmask8) __U); 4008 } 4009 4010 extern __inline __m256d 4011 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4012 _mm256_maskz_fmadd_pd (__mmask8 __U, __m256d __A, __m256d __B, 4013 __m256d __C) 4014 { 4015 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A, 4016 (__v4df) __B, 4017 (__v4df) __C, 4018 (__mmask8) __U); 4019 } 4020 4021 extern __inline __m128d 4022 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4023 _mm_mask_fmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 4024 { 4025 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A, 4026 (__v2df) __B, 4027 (__v2df) __C, 4028 (__mmask8) __U); 4029 } 4030 4031 extern __inline __m128d 4032 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4033 _mm_mask3_fmadd_pd (__m128d __A, __m128d __B, __m128d __C, 4034 __mmask8 __U) 4035 { 4036 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A, 4037 (__v2df) __B, 4038 (__v2df) __C, 4039 (__mmask8) __U); 4040 } 4041 4042 extern __inline __m128d 4043 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4044 _mm_maskz_fmadd_pd (__mmask8 __U, __m128d __A, __m128d __B, 4045 __m128d __C) 4046 { 4047 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A, 4048 (__v2df) __B, 4049 (__v2df) __C, 4050 (__mmask8) __U); 4051 } 4052 4053 extern __inline __m256 4054 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4055 _mm256_mask_fmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) 4056 { 4057 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A, 4058 (__v8sf) __B, 4059 (__v8sf) __C, 4060 (__mmask8) __U); 4061 } 4062 4063 extern __inline __m256 4064 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4065 _mm256_mask3_fmadd_ps (__m256 __A, __m256 __B, __m256 __C, 4066 __mmask8 __U) 4067 { 4068 return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A, 4069 (__v8sf) __B, 4070 (__v8sf) __C, 4071 (__mmask8) __U); 4072 } 4073 4074 extern __inline __m256 4075 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4076 _mm256_maskz_fmadd_ps (__mmask8 __U, __m256 __A, __m256 __B, 4077 __m256 __C) 4078 { 4079 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A, 4080 (__v8sf) __B, 4081 (__v8sf) __C, 4082 (__mmask8) __U); 4083 } 4084 4085 extern __inline __m128 4086 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4087 _mm_mask_fmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 4088 { 4089 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A, 4090 (__v4sf) __B, 4091 (__v4sf) __C, 4092 (__mmask8) __U); 4093 } 4094 4095 extern __inline __m128 4096 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4097 _mm_mask3_fmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 4098 { 4099 return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A, 4100 (__v4sf) __B, 4101 (__v4sf) __C, 4102 (__mmask8) __U); 4103 } 4104 4105 extern __inline __m128 4106 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4107 _mm_maskz_fmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 4108 { 4109 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A, 4110 (__v4sf) __B, 4111 (__v4sf) __C, 4112 (__mmask8) __U); 4113 } 4114 4115 extern __inline __m256d 4116 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4117 _mm256_mask_fmsub_pd (__m256d __A, __mmask8 __U, __m256d __B, 4118 __m256d __C) 4119 { 4120 return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A, 4121 (__v4df) __B, 4122 -(__v4df) __C, 4123 (__mmask8) __U); 4124 } 4125 4126 extern __inline __m256d 4127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4128 _mm256_mask3_fmsub_pd (__m256d __A, __m256d __B, __m256d __C, 4129 __mmask8 __U) 4130 { 4131 return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A, 4132 (__v4df) __B, 4133 (__v4df) __C, 4134 (__mmask8) __U); 4135 } 4136 4137 extern __inline __m256d 4138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4139 _mm256_maskz_fmsub_pd (__mmask8 __U, __m256d __A, __m256d __B, 4140 __m256d __C) 4141 { 4142 return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A, 4143 (__v4df) __B, 4144 -(__v4df) __C, 4145 (__mmask8) __U); 4146 } 4147 4148 extern __inline __m128d 4149 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4150 _mm_mask_fmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) 4151 { 4152 return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A, 4153 (__v2df) __B, 4154 -(__v2df) __C, 4155 (__mmask8) __U); 4156 } 4157 4158 extern __inline __m128d 4159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4160 _mm_mask3_fmsub_pd (__m128d __A, __m128d __B, __m128d __C, 4161 __mmask8 __U) 4162 { 4163 return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A, 4164 (__v2df) __B, 4165 (__v2df) __C, 4166 (__mmask8) __U); 4167 } 4168 4169 extern __inline __m128d 4170 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4171 _mm_maskz_fmsub_pd (__mmask8 __U, __m128d __A, __m128d __B, 4172 __m128d __C) 4173 { 4174 return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A, 4175 (__v2df) __B, 4176 -(__v2df) __C, 4177 (__mmask8) __U); 4178 } 4179 4180 extern __inline __m256 4181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4182 _mm256_mask_fmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) 4183 { 4184 return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A, 4185 (__v8sf) __B, 4186 -(__v8sf) __C, 4187 (__mmask8) __U); 4188 } 4189 4190 extern __inline __m256 4191 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4192 _mm256_mask3_fmsub_ps (__m256 __A, __m256 __B, __m256 __C, 4193 __mmask8 __U) 4194 { 4195 return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A, 4196 (__v8sf) __B, 4197 (__v8sf) __C, 4198 (__mmask8) __U); 4199 } 4200 4201 extern __inline __m256 4202 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4203 _mm256_maskz_fmsub_ps (__mmask8 __U, __m256 __A, __m256 __B, 4204 __m256 __C) 4205 { 4206 return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A, 4207 (__v8sf) __B, 4208 -(__v8sf) __C, 4209 (__mmask8) __U); 4210 } 4211 4212 extern __inline __m128 4213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4214 _mm_mask_fmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 4215 { 4216 return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A, 4217 (__v4sf) __B, 4218 -(__v4sf) __C, 4219 (__mmask8) __U); 4220 } 4221 4222 extern __inline __m128 4223 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4224 _mm_mask3_fmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 4225 { 4226 return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A, 4227 (__v4sf) __B, 4228 (__v4sf) __C, 4229 (__mmask8) __U); 4230 } 4231 4232 extern __inline __m128 4233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4234 _mm_maskz_fmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 4235 { 4236 return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A, 4237 (__v4sf) __B, 4238 -(__v4sf) __C, 4239 (__mmask8) __U); 4240 } 4241 4242 extern __inline __m256d 4243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4244 _mm256_mask_fmaddsub_pd (__m256d __A, __mmask8 __U, __m256d __B, 4245 __m256d __C) 4246 { 4247 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A, 4248 (__v4df) __B, 4249 (__v4df) __C, 4250 (__mmask8) __U); 4251 } 4252 4253 extern __inline __m256d 4254 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4255 _mm256_mask3_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C, 4256 __mmask8 __U) 4257 { 4258 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A, 4259 (__v4df) __B, 4260 (__v4df) __C, 4261 (__mmask8) 4262 __U); 4263 } 4264 4265 extern __inline __m256d 4266 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4267 _mm256_maskz_fmaddsub_pd (__mmask8 __U, __m256d __A, __m256d __B, 4268 __m256d __C) 4269 { 4270 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A, 4271 (__v4df) __B, 4272 (__v4df) __C, 4273 (__mmask8) 4274 __U); 4275 } 4276 4277 extern __inline __m128d 4278 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4279 _mm_mask_fmaddsub_pd (__m128d __A, __mmask8 __U, __m128d __B, 4280 __m128d __C) 4281 { 4282 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A, 4283 (__v2df) __B, 4284 (__v2df) __C, 4285 (__mmask8) __U); 4286 } 4287 4288 extern __inline __m128d 4289 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4290 _mm_mask3_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C, 4291 __mmask8 __U) 4292 { 4293 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A, 4294 (__v2df) __B, 4295 (__v2df) __C, 4296 (__mmask8) 4297 __U); 4298 } 4299 4300 extern __inline __m128d 4301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4302 _mm_maskz_fmaddsub_pd (__mmask8 __U, __m128d __A, __m128d __B, 4303 __m128d __C) 4304 { 4305 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A, 4306 (__v2df) __B, 4307 (__v2df) __C, 4308 (__mmask8) 4309 __U); 4310 } 4311 4312 extern __inline __m256 4313 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4314 _mm256_mask_fmaddsub_ps (__m256 __A, __mmask8 __U, __m256 __B, 4315 __m256 __C) 4316 { 4317 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A, 4318 (__v8sf) __B, 4319 (__v8sf) __C, 4320 (__mmask8) __U); 4321 } 4322 4323 extern __inline __m256 4324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4325 _mm256_mask3_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C, 4326 __mmask8 __U) 4327 { 4328 return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A, 4329 (__v8sf) __B, 4330 (__v8sf) __C, 4331 (__mmask8) __U); 4332 } 4333 4334 extern __inline __m256 4335 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4336 _mm256_maskz_fmaddsub_ps (__mmask8 __U, __m256 __A, __m256 __B, 4337 __m256 __C) 4338 { 4339 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A, 4340 (__v8sf) __B, 4341 (__v8sf) __C, 4342 (__mmask8) __U); 4343 } 4344 4345 extern __inline __m128 4346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4347 _mm_mask_fmaddsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 4348 { 4349 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A, 4350 (__v4sf) __B, 4351 (__v4sf) __C, 4352 (__mmask8) __U); 4353 } 4354 4355 extern __inline __m128 4356 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4357 _mm_mask3_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C, 4358 __mmask8 __U) 4359 { 4360 return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A, 4361 (__v4sf) __B, 4362 (__v4sf) __C, 4363 (__mmask8) __U); 4364 } 4365 4366 extern __inline __m128 4367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4368 _mm_maskz_fmaddsub_ps (__mmask8 __U, __m128 __A, __m128 __B, 4369 __m128 __C) 4370 { 4371 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A, 4372 (__v4sf) __B, 4373 (__v4sf) __C, 4374 (__mmask8) __U); 4375 } 4376 4377 extern __inline __m256d 4378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4379 _mm256_mask_fmsubadd_pd (__m256d __A, __mmask8 __U, __m256d __B, 4380 __m256d __C) 4381 { 4382 return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A, 4383 (__v4df) __B, 4384 -(__v4df) __C, 4385 (__mmask8) __U); 4386 } 4387 4388 extern __inline __m256d 4389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4390 _mm256_mask3_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C, 4391 __mmask8 __U) 4392 { 4393 return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A, 4394 (__v4df) __B, 4395 (__v4df) __C, 4396 (__mmask8) 4397 __U); 4398 } 4399 4400 extern __inline __m256d 4401 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4402 _mm256_maskz_fmsubadd_pd (__mmask8 __U, __m256d __A, __m256d __B, 4403 __m256d __C) 4404 { 4405 return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A, 4406 (__v4df) __B, 4407 -(__v4df) __C, 4408 (__mmask8) 4409 __U); 4410 } 4411 4412 extern __inline __m128d 4413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4414 _mm_mask_fmsubadd_pd (__m128d __A, __mmask8 __U, __m128d __B, 4415 __m128d __C) 4416 { 4417 return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A, 4418 (__v2df) __B, 4419 -(__v2df) __C, 4420 (__mmask8) __U); 4421 } 4422 4423 extern __inline __m128d 4424 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4425 _mm_mask3_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C, 4426 __mmask8 __U) 4427 { 4428 return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A, 4429 (__v2df) __B, 4430 (__v2df) __C, 4431 (__mmask8) 4432 __U); 4433 } 4434 4435 extern __inline __m128d 4436 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4437 _mm_maskz_fmsubadd_pd (__mmask8 __U, __m128d __A, __m128d __B, 4438 __m128d __C) 4439 { 4440 return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A, 4441 (__v2df) __B, 4442 -(__v2df) __C, 4443 (__mmask8) 4444 __U); 4445 } 4446 4447 extern __inline __m256 4448 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4449 _mm256_mask_fmsubadd_ps (__m256 __A, __mmask8 __U, __m256 __B, 4450 __m256 __C) 4451 { 4452 return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A, 4453 (__v8sf) __B, 4454 -(__v8sf) __C, 4455 (__mmask8) __U); 4456 } 4457 4458 extern __inline __m256 4459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4460 _mm256_mask3_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C, 4461 __mmask8 __U) 4462 { 4463 return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A, 4464 (__v8sf) __B, 4465 (__v8sf) __C, 4466 (__mmask8) __U); 4467 } 4468 4469 extern __inline __m256 4470 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4471 _mm256_maskz_fmsubadd_ps (__mmask8 __U, __m256 __A, __m256 __B, 4472 __m256 __C) 4473 { 4474 return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A, 4475 (__v8sf) __B, 4476 -(__v8sf) __C, 4477 (__mmask8) __U); 4478 } 4479 4480 extern __inline __m128 4481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4482 _mm_mask_fmsubadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 4483 { 4484 return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A, 4485 (__v4sf) __B, 4486 -(__v4sf) __C, 4487 (__mmask8) __U); 4488 } 4489 4490 extern __inline __m128 4491 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4492 _mm_mask3_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C, 4493 __mmask8 __U) 4494 { 4495 return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A, 4496 (__v4sf) __B, 4497 (__v4sf) __C, 4498 (__mmask8) __U); 4499 } 4500 4501 extern __inline __m128 4502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4503 _mm_maskz_fmsubadd_ps (__mmask8 __U, __m128 __A, __m128 __B, 4504 __m128 __C) 4505 { 4506 return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A, 4507 (__v4sf) __B, 4508 -(__v4sf) __C, 4509 (__mmask8) __U); 4510 } 4511 4512 extern __inline __m256d 4513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4514 _mm256_mask_fnmadd_pd (__m256d __A, __mmask8 __U, __m256d __B, 4515 __m256d __C) 4516 { 4517 return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A, 4518 (__v4df) __B, 4519 (__v4df) __C, 4520 (__mmask8) __U); 4521 } 4522 4523 extern __inline __m256d 4524 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4525 _mm256_mask3_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C, 4526 __mmask8 __U) 4527 { 4528 return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A, 4529 (__v4df) __B, 4530 (__v4df) __C, 4531 (__mmask8) __U); 4532 } 4533 4534 extern __inline __m256d 4535 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4536 _mm256_maskz_fnmadd_pd (__mmask8 __U, __m256d __A, __m256d __B, 4537 __m256d __C) 4538 { 4539 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A, 4540 (__v4df) __B, 4541 (__v4df) __C, 4542 (__mmask8) __U); 4543 } 4544 4545 extern __inline __m128d 4546 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4547 _mm_mask_fnmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, 4548 __m128d __C) 4549 { 4550 return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A, 4551 (__v2df) __B, 4552 (__v2df) __C, 4553 (__mmask8) __U); 4554 } 4555 4556 extern __inline __m128d 4557 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4558 _mm_mask3_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C, 4559 __mmask8 __U) 4560 { 4561 return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A, 4562 (__v2df) __B, 4563 (__v2df) __C, 4564 (__mmask8) __U); 4565 } 4566 4567 extern __inline __m128d 4568 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4569 _mm_maskz_fnmadd_pd (__mmask8 __U, __m128d __A, __m128d __B, 4570 __m128d __C) 4571 { 4572 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A, 4573 (__v2df) __B, 4574 (__v2df) __C, 4575 (__mmask8) __U); 4576 } 4577 4578 extern __inline __m256 4579 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4580 _mm256_mask_fnmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, 4581 __m256 __C) 4582 { 4583 return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A, 4584 (__v8sf) __B, 4585 (__v8sf) __C, 4586 (__mmask8) __U); 4587 } 4588 4589 extern __inline __m256 4590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4591 _mm256_mask3_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C, 4592 __mmask8 __U) 4593 { 4594 return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A, 4595 (__v8sf) __B, 4596 (__v8sf) __C, 4597 (__mmask8) __U); 4598 } 4599 4600 extern __inline __m256 4601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4602 _mm256_maskz_fnmadd_ps (__mmask8 __U, __m256 __A, __m256 __B, 4603 __m256 __C) 4604 { 4605 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A, 4606 (__v8sf) __B, 4607 (__v8sf) __C, 4608 (__mmask8) __U); 4609 } 4610 4611 extern __inline __m128 4612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4613 _mm_mask_fnmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 4614 { 4615 return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A, 4616 (__v4sf) __B, 4617 (__v4sf) __C, 4618 (__mmask8) __U); 4619 } 4620 4621 extern __inline __m128 4622 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4623 _mm_mask3_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 4624 { 4625 return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A, 4626 (__v4sf) __B, 4627 (__v4sf) __C, 4628 (__mmask8) __U); 4629 } 4630 4631 extern __inline __m128 4632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4633 _mm_maskz_fnmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 4634 { 4635 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A, 4636 (__v4sf) __B, 4637 (__v4sf) __C, 4638 (__mmask8) __U); 4639 } 4640 4641 extern __inline __m256d 4642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4643 _mm256_mask_fnmsub_pd (__m256d __A, __mmask8 __U, __m256d __B, 4644 __m256d __C) 4645 { 4646 return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A, 4647 (__v4df) __B, 4648 (__v4df) __C, 4649 (__mmask8) __U); 4650 } 4651 4652 extern __inline __m256d 4653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4654 _mm256_mask3_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C, 4655 __mmask8 __U) 4656 { 4657 return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A, 4658 (__v4df) __B, 4659 (__v4df) __C, 4660 (__mmask8) __U); 4661 } 4662 4663 extern __inline __m256d 4664 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4665 _mm256_maskz_fnmsub_pd (__mmask8 __U, __m256d __A, __m256d __B, 4666 __m256d __C) 4667 { 4668 return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A, 4669 (__v4df) __B, 4670 -(__v4df) __C, 4671 (__mmask8) __U); 4672 } 4673 4674 extern __inline __m128d 4675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4676 _mm_mask_fnmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, 4677 __m128d __C) 4678 { 4679 return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A, 4680 (__v2df) __B, 4681 (__v2df) __C, 4682 (__mmask8) __U); 4683 } 4684 4685 extern __inline __m128d 4686 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4687 _mm_mask3_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C, 4688 __mmask8 __U) 4689 { 4690 return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A, 4691 (__v2df) __B, 4692 (__v2df) __C, 4693 (__mmask8) __U); 4694 } 4695 4696 extern __inline __m128d 4697 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4698 _mm_maskz_fnmsub_pd (__mmask8 __U, __m128d __A, __m128d __B, 4699 __m128d __C) 4700 { 4701 return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A, 4702 (__v2df) __B, 4703 -(__v2df) __C, 4704 (__mmask8) __U); 4705 } 4706 4707 extern __inline __m256 4708 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4709 _mm256_mask_fnmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, 4710 __m256 __C) 4711 { 4712 return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A, 4713 (__v8sf) __B, 4714 (__v8sf) __C, 4715 (__mmask8) __U); 4716 } 4717 4718 extern __inline __m256 4719 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4720 _mm256_mask3_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C, 4721 __mmask8 __U) 4722 { 4723 return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A, 4724 (__v8sf) __B, 4725 (__v8sf) __C, 4726 (__mmask8) __U); 4727 } 4728 4729 extern __inline __m256 4730 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4731 _mm256_maskz_fnmsub_ps (__mmask8 __U, __m256 __A, __m256 __B, 4732 __m256 __C) 4733 { 4734 return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A, 4735 (__v8sf) __B, 4736 -(__v8sf) __C, 4737 (__mmask8) __U); 4738 } 4739 4740 extern __inline __m128 4741 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4742 _mm_mask_fnmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) 4743 { 4744 return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A, 4745 (__v4sf) __B, 4746 (__v4sf) __C, 4747 (__mmask8) __U); 4748 } 4749 4750 extern __inline __m128 4751 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4752 _mm_mask3_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) 4753 { 4754 return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A, 4755 (__v4sf) __B, 4756 (__v4sf) __C, 4757 (__mmask8) __U); 4758 } 4759 4760 extern __inline __m128 4761 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4762 _mm_maskz_fnmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) 4763 { 4764 return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A, 4765 (__v4sf) __B, 4766 -(__v4sf) __C, 4767 (__mmask8) __U); 4768 } 4769 4770 extern __inline __m128i 4771 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4772 _mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 4773 __m128i __B) 4774 { 4775 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A, 4776 (__v4si) __B, 4777 (__v4si) __W, 4778 (__mmask8) __U); 4779 } 4780 4781 extern __inline __m128i 4782 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4783 _mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 4784 { 4785 return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A, 4786 (__v4si) __B, 4787 (__v4si) 4788 _mm_setzero_si128 (), 4789 (__mmask8) __U); 4790 } 4791 4792 extern __inline __m256i 4793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4794 _mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 4795 __m256i __B) 4796 { 4797 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A, 4798 (__v8si) __B, 4799 (__v8si) __W, 4800 (__mmask8) __U); 4801 } 4802 4803 extern __inline __m256i 4804 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4805 _mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 4806 { 4807 return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A, 4808 (__v8si) __B, 4809 (__v8si) 4810 _mm256_setzero_si256 (), 4811 (__mmask8) __U); 4812 } 4813 4814 extern __inline __m128i 4815 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4816 _mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 4817 __m128i __B) 4818 { 4819 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A, 4820 (__v4si) __B, 4821 (__v4si) __W, 4822 (__mmask8) __U); 4823 } 4824 4825 extern __inline __m128i 4826 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4827 _mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 4828 { 4829 return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A, 4830 (__v4si) __B, 4831 (__v4si) 4832 _mm_setzero_si128 (), 4833 (__mmask8) __U); 4834 } 4835 4836 extern __inline __m256i 4837 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4838 _mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 4839 __m256i __B) 4840 { 4841 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A, 4842 (__v8si) __B, 4843 (__v8si) __W, 4844 (__mmask8) __U); 4845 } 4846 4847 extern __inline __m256i 4848 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4849 _mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 4850 { 4851 return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A, 4852 (__v8si) __B, 4853 (__v8si) 4854 _mm256_setzero_si256 (), 4855 (__mmask8) __U); 4856 } 4857 4858 extern __inline __m128i 4859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4860 _mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) 4861 { 4862 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A, 4863 (__v4si) __B, 4864 (__v4si) __W, 4865 (__mmask8) __U); 4866 } 4867 4868 extern __inline __m128i 4869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4870 _mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 4871 { 4872 return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A, 4873 (__v4si) __B, 4874 (__v4si) 4875 _mm_setzero_si128 (), 4876 (__mmask8) __U); 4877 } 4878 4879 extern __inline __m256i 4880 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4881 _mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 4882 __m256i __B) 4883 { 4884 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A, 4885 (__v8si) __B, 4886 (__v8si) __W, 4887 (__mmask8) __U); 4888 } 4889 4890 extern __inline __m256i 4891 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4892 _mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 4893 { 4894 return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A, 4895 (__v8si) __B, 4896 (__v8si) 4897 _mm256_setzero_si256 (), 4898 (__mmask8) __U); 4899 } 4900 4901 extern __inline __m128i 4902 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4903 _mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 4904 __m128i __B) 4905 { 4906 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A, 4907 (__v4si) __B, 4908 (__v4si) __W, 4909 (__mmask8) __U); 4910 } 4911 4912 extern __inline __m128i 4913 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4914 _mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 4915 { 4916 return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A, 4917 (__v4si) __B, 4918 (__v4si) 4919 _mm_setzero_si128 (), 4920 (__mmask8) __U); 4921 } 4922 4923 extern __inline __m128 4924 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4925 _mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) 4926 { 4927 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, 4928 (__v4sf) __W, 4929 (__mmask8) __U); 4930 } 4931 4932 extern __inline __m128 4933 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4934 _mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) 4935 { 4936 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A, 4937 (__v4sf) 4938 _mm_setzero_ps (), 4939 (__mmask8) __U); 4940 } 4941 4942 extern __inline __m128 4943 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4944 _mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) 4945 { 4946 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, 4947 (__v4sf) __W, 4948 (__mmask8) __U); 4949 } 4950 4951 extern __inline __m128 4952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4953 _mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) 4954 { 4955 return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A, 4956 (__v4sf) 4957 _mm_setzero_ps (), 4958 (__mmask8) __U); 4959 } 4960 4961 extern __inline __m256i 4962 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4963 _mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A) 4964 { 4965 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, 4966 (__v8si) __W, 4967 (__mmask8) __U); 4968 } 4969 4970 extern __inline __m256i 4971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4972 _mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A) 4973 { 4974 return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A, 4975 (__v8si) 4976 _mm256_setzero_si256 (), 4977 (__mmask8) __U); 4978 } 4979 4980 extern __inline __m128i 4981 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4982 _mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A) 4983 { 4984 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, 4985 (__v4si) __W, 4986 (__mmask8) __U); 4987 } 4988 4989 extern __inline __m128i 4990 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 4991 _mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A) 4992 { 4993 return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A, 4994 (__v4si) 4995 _mm_setzero_si128 (), 4996 (__mmask8) __U); 4997 } 4998 4999 extern __inline __m256i 5000 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5001 _mm256_cvtps_epu32 (__m256 __A) 5002 { 5003 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, 5004 (__v8si) 5005 _mm256_setzero_si256 (), 5006 (__mmask8) -1); 5007 } 5008 5009 extern __inline __m256i 5010 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5011 _mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A) 5012 { 5013 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, 5014 (__v8si) __W, 5015 (__mmask8) __U); 5016 } 5017 5018 extern __inline __m256i 5019 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5020 _mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A) 5021 { 5022 return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A, 5023 (__v8si) 5024 _mm256_setzero_si256 (), 5025 (__mmask8) __U); 5026 } 5027 5028 extern __inline __m128i 5029 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5030 _mm_cvtps_epu32 (__m128 __A) 5031 { 5032 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, 5033 (__v4si) 5034 _mm_setzero_si128 (), 5035 (__mmask8) -1); 5036 } 5037 5038 extern __inline __m128i 5039 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5040 _mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A) 5041 { 5042 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, 5043 (__v4si) __W, 5044 (__mmask8) __U); 5045 } 5046 5047 extern __inline __m128i 5048 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5049 _mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A) 5050 { 5051 return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A, 5052 (__v4si) 5053 _mm_setzero_si128 (), 5054 (__mmask8) __U); 5055 } 5056 5057 extern __inline __m256d 5058 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5059 _mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A) 5060 { 5061 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A, 5062 (__v4df) __W, 5063 (__mmask8) __U); 5064 } 5065 5066 extern __inline __m256d 5067 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5068 _mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A) 5069 { 5070 return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A, 5071 (__v4df) 5072 _mm256_setzero_pd (), 5073 (__mmask8) __U); 5074 } 5075 5076 extern __inline __m128d 5077 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5078 _mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A) 5079 { 5080 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A, 5081 (__v2df) __W, 5082 (__mmask8) __U); 5083 } 5084 5085 extern __inline __m128d 5086 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5087 _mm_maskz_movedup_pd (__mmask8 __U, __m128d __A) 5088 { 5089 return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A, 5090 (__v2df) 5091 _mm_setzero_pd (), 5092 (__mmask8) __U); 5093 } 5094 5095 extern __inline __m256 5096 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5097 _mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A) 5098 { 5099 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A, 5100 (__v8sf) __W, 5101 (__mmask8) __U); 5102 } 5103 5104 extern __inline __m256 5105 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5106 _mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A) 5107 { 5108 return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A, 5109 (__v8sf) 5110 _mm256_setzero_ps (), 5111 (__mmask8) __U); 5112 } 5113 5114 extern __inline __m128 5115 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5116 _mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A) 5117 { 5118 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A, 5119 (__v4sf) __W, 5120 (__mmask8) __U); 5121 } 5122 5123 extern __inline __m128 5124 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5125 _mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A) 5126 { 5127 return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A, 5128 (__v4sf) 5129 _mm_setzero_ps (), 5130 (__mmask8) __U); 5131 } 5132 5133 extern __inline __m256 5134 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5135 _mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A) 5136 { 5137 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A, 5138 (__v8sf) __W, 5139 (__mmask8) __U); 5140 } 5141 5142 extern __inline __m256 5143 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5144 _mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A) 5145 { 5146 return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A, 5147 (__v8sf) 5148 _mm256_setzero_ps (), 5149 (__mmask8) __U); 5150 } 5151 5152 extern __inline __m128 5153 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5154 _mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A) 5155 { 5156 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A, 5157 (__v4sf) __W, 5158 (__mmask8) __U); 5159 } 5160 5161 extern __inline __m128 5162 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5163 _mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A) 5164 { 5165 return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A, 5166 (__v4sf) 5167 _mm_setzero_ps (), 5168 (__mmask8) __U); 5169 } 5170 5171 extern __inline __m128i 5172 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5173 _mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 5174 __m128i __B) 5175 { 5176 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A, 5177 (__v4si) __B, 5178 (__v4si) __W, 5179 (__mmask8) __U); 5180 } 5181 5182 extern __inline __m128i 5183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5184 _mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 5185 { 5186 return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A, 5187 (__v4si) __B, 5188 (__v4si) 5189 _mm_setzero_si128 (), 5190 (__mmask8) __U); 5191 } 5192 5193 extern __inline __m256i 5194 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5195 _mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 5196 __m256i __B) 5197 { 5198 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A, 5199 (__v8si) __B, 5200 (__v8si) __W, 5201 (__mmask8) __U); 5202 } 5203 5204 extern __inline __m256i 5205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5206 _mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 5207 { 5208 return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A, 5209 (__v8si) __B, 5210 (__v8si) 5211 _mm256_setzero_si256 (), 5212 (__mmask8) __U); 5213 } 5214 5215 extern __inline __m128i 5216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5217 _mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 5218 __m128i __B) 5219 { 5220 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A, 5221 (__v2di) __B, 5222 (__v2di) __W, 5223 (__mmask8) __U); 5224 } 5225 5226 extern __inline __m128i 5227 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5228 _mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 5229 { 5230 return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A, 5231 (__v2di) __B, 5232 (__v2di) 5233 _mm_setzero_si128 (), 5234 (__mmask8) __U); 5235 } 5236 5237 extern __inline __m256i 5238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5239 _mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 5240 __m256i __B) 5241 { 5242 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A, 5243 (__v4di) __B, 5244 (__v4di) __W, 5245 (__mmask8) __U); 5246 } 5247 5248 extern __inline __m256i 5249 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5250 _mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 5251 { 5252 return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A, 5253 (__v4di) __B, 5254 (__v4di) 5255 _mm256_setzero_si256 (), 5256 (__mmask8) __U); 5257 } 5258 5259 extern __inline __m128i 5260 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5261 _mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 5262 __m128i __B) 5263 { 5264 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A, 5265 (__v4si) __B, 5266 (__v4si) __W, 5267 (__mmask8) __U); 5268 } 5269 5270 extern __inline __m128i 5271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5272 _mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 5273 { 5274 return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A, 5275 (__v4si) __B, 5276 (__v4si) 5277 _mm_setzero_si128 (), 5278 (__mmask8) __U); 5279 } 5280 5281 extern __inline __m256i 5282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5283 _mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 5284 __m256i __B) 5285 { 5286 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A, 5287 (__v8si) __B, 5288 (__v8si) __W, 5289 (__mmask8) __U); 5290 } 5291 5292 extern __inline __m256i 5293 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5294 _mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 5295 { 5296 return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A, 5297 (__v8si) __B, 5298 (__v8si) 5299 _mm256_setzero_si256 (), 5300 (__mmask8) __U); 5301 } 5302 5303 extern __inline __m128i 5304 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5305 _mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 5306 __m128i __B) 5307 { 5308 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A, 5309 (__v2di) __B, 5310 (__v2di) __W, 5311 (__mmask8) __U); 5312 } 5313 5314 extern __inline __m128i 5315 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5316 _mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 5317 { 5318 return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A, 5319 (__v2di) __B, 5320 (__v2di) 5321 _mm_setzero_si128 (), 5322 (__mmask8) __U); 5323 } 5324 5325 extern __inline __m256i 5326 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5327 _mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 5328 __m256i __B) 5329 { 5330 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A, 5331 (__v4di) __B, 5332 (__v4di) __W, 5333 (__mmask8) __U); 5334 } 5335 5336 extern __inline __m256i 5337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5338 _mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 5339 { 5340 return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A, 5341 (__v4di) __B, 5342 (__v4di) 5343 _mm256_setzero_si256 (), 5344 (__mmask8) __U); 5345 } 5346 5347 extern __inline __mmask8 5348 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5349 _mm_cmpeq_epu32_mask (__m128i __A, __m128i __B) 5350 { 5351 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, 5352 (__v4si) __B, 0, 5353 (__mmask8) -1); 5354 } 5355 5356 extern __inline __mmask8 5357 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5358 _mm_cmpeq_epi32_mask (__m128i __A, __m128i __B) 5359 { 5360 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A, 5361 (__v4si) __B, 5362 (__mmask8) -1); 5363 } 5364 5365 extern __inline __mmask8 5366 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5367 _mm_mask_cmpeq_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B) 5368 { 5369 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, 5370 (__v4si) __B, 0, __U); 5371 } 5372 5373 extern __inline __mmask8 5374 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5375 _mm_mask_cmpeq_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) 5376 { 5377 return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A, 5378 (__v4si) __B, __U); 5379 } 5380 5381 extern __inline __mmask8 5382 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5383 _mm256_cmpeq_epu32_mask (__m256i __A, __m256i __B) 5384 { 5385 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, 5386 (__v8si) __B, 0, 5387 (__mmask8) -1); 5388 } 5389 5390 extern __inline __mmask8 5391 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5392 _mm256_cmpeq_epi32_mask (__m256i __A, __m256i __B) 5393 { 5394 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A, 5395 (__v8si) __B, 5396 (__mmask8) -1); 5397 } 5398 5399 extern __inline __mmask8 5400 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5401 _mm256_mask_cmpeq_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B) 5402 { 5403 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, 5404 (__v8si) __B, 0, __U); 5405 } 5406 5407 extern __inline __mmask8 5408 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5409 _mm256_mask_cmpeq_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) 5410 { 5411 return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A, 5412 (__v8si) __B, __U); 5413 } 5414 5415 extern __inline __mmask8 5416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5417 _mm_cmpeq_epu64_mask (__m128i __A, __m128i __B) 5418 { 5419 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, 5420 (__v2di) __B, 0, 5421 (__mmask8) -1); 5422 } 5423 5424 extern __inline __mmask8 5425 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5426 _mm_cmpeq_epi64_mask (__m128i __A, __m128i __B) 5427 { 5428 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A, 5429 (__v2di) __B, 5430 (__mmask8) -1); 5431 } 5432 5433 extern __inline __mmask8 5434 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5435 _mm_mask_cmpeq_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B) 5436 { 5437 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, 5438 (__v2di) __B, 0, __U); 5439 } 5440 5441 extern __inline __mmask8 5442 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5443 _mm_mask_cmpeq_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) 5444 { 5445 return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A, 5446 (__v2di) __B, __U); 5447 } 5448 5449 extern __inline __mmask8 5450 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5451 _mm256_cmpeq_epu64_mask (__m256i __A, __m256i __B) 5452 { 5453 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, 5454 (__v4di) __B, 0, 5455 (__mmask8) -1); 5456 } 5457 5458 extern __inline __mmask8 5459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5460 _mm256_cmpeq_epi64_mask (__m256i __A, __m256i __B) 5461 { 5462 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A, 5463 (__v4di) __B, 5464 (__mmask8) -1); 5465 } 5466 5467 extern __inline __mmask8 5468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5469 _mm256_mask_cmpeq_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B) 5470 { 5471 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, 5472 (__v4di) __B, 0, __U); 5473 } 5474 5475 extern __inline __mmask8 5476 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5477 _mm256_mask_cmpeq_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) 5478 { 5479 return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A, 5480 (__v4di) __B, __U); 5481 } 5482 5483 extern __inline __mmask8 5484 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5485 _mm_cmpgt_epu32_mask (__m128i __A, __m128i __B) 5486 { 5487 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, 5488 (__v4si) __B, 6, 5489 (__mmask8) -1); 5490 } 5491 5492 extern __inline __mmask8 5493 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5494 _mm_cmpgt_epi32_mask (__m128i __A, __m128i __B) 5495 { 5496 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A, 5497 (__v4si) __B, 5498 (__mmask8) -1); 5499 } 5500 5501 extern __inline __mmask8 5502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5503 _mm_mask_cmpgt_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B) 5504 { 5505 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A, 5506 (__v4si) __B, 6, __U); 5507 } 5508 5509 extern __inline __mmask8 5510 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5511 _mm_mask_cmpgt_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) 5512 { 5513 return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A, 5514 (__v4si) __B, __U); 5515 } 5516 5517 extern __inline __mmask8 5518 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5519 _mm256_cmpgt_epu32_mask (__m256i __A, __m256i __B) 5520 { 5521 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, 5522 (__v8si) __B, 6, 5523 (__mmask8) -1); 5524 } 5525 5526 extern __inline __mmask8 5527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5528 _mm256_cmpgt_epi32_mask (__m256i __A, __m256i __B) 5529 { 5530 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A, 5531 (__v8si) __B, 5532 (__mmask8) -1); 5533 } 5534 5535 extern __inline __mmask8 5536 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5537 _mm256_mask_cmpgt_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B) 5538 { 5539 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A, 5540 (__v8si) __B, 6, __U); 5541 } 5542 5543 extern __inline __mmask8 5544 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5545 _mm256_mask_cmpgt_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) 5546 { 5547 return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A, 5548 (__v8si) __B, __U); 5549 } 5550 5551 extern __inline __mmask8 5552 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5553 _mm_cmpgt_epu64_mask (__m128i __A, __m128i __B) 5554 { 5555 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, 5556 (__v2di) __B, 6, 5557 (__mmask8) -1); 5558 } 5559 5560 extern __inline __mmask8 5561 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5562 _mm_cmpgt_epi64_mask (__m128i __A, __m128i __B) 5563 { 5564 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A, 5565 (__v2di) __B, 5566 (__mmask8) -1); 5567 } 5568 5569 extern __inline __mmask8 5570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5571 _mm_mask_cmpgt_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B) 5572 { 5573 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A, 5574 (__v2di) __B, 6, __U); 5575 } 5576 5577 extern __inline __mmask8 5578 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5579 _mm_mask_cmpgt_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) 5580 { 5581 return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A, 5582 (__v2di) __B, __U); 5583 } 5584 5585 extern __inline __mmask8 5586 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5587 _mm256_cmpgt_epu64_mask (__m256i __A, __m256i __B) 5588 { 5589 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, 5590 (__v4di) __B, 6, 5591 (__mmask8) -1); 5592 } 5593 5594 extern __inline __mmask8 5595 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5596 _mm256_cmpgt_epi64_mask (__m256i __A, __m256i __B) 5597 { 5598 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A, 5599 (__v4di) __B, 5600 (__mmask8) -1); 5601 } 5602 5603 extern __inline __mmask8 5604 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5605 _mm256_mask_cmpgt_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B) 5606 { 5607 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A, 5608 (__v4di) __B, 6, __U); 5609 } 5610 5611 extern __inline __mmask8 5612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5613 _mm256_mask_cmpgt_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) 5614 { 5615 return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A, 5616 (__v4di) __B, __U); 5617 } 5618 5619 extern __inline __mmask8 5620 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5621 _mm_test_epi32_mask (__m128i __A, __m128i __B) 5622 { 5623 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A, 5624 (__v4si) __B, 5625 (__mmask8) -1); 5626 } 5627 5628 extern __inline __mmask8 5629 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5630 _mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) 5631 { 5632 return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A, 5633 (__v4si) __B, __U); 5634 } 5635 5636 extern __inline __mmask8 5637 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5638 _mm256_test_epi32_mask (__m256i __A, __m256i __B) 5639 { 5640 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A, 5641 (__v8si) __B, 5642 (__mmask8) -1); 5643 } 5644 5645 extern __inline __mmask8 5646 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5647 _mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) 5648 { 5649 return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A, 5650 (__v8si) __B, __U); 5651 } 5652 5653 extern __inline __mmask8 5654 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5655 _mm_test_epi64_mask (__m128i __A, __m128i __B) 5656 { 5657 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A, 5658 (__v2di) __B, 5659 (__mmask8) -1); 5660 } 5661 5662 extern __inline __mmask8 5663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5664 _mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) 5665 { 5666 return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A, 5667 (__v2di) __B, __U); 5668 } 5669 5670 extern __inline __mmask8 5671 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5672 _mm256_test_epi64_mask (__m256i __A, __m256i __B) 5673 { 5674 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A, 5675 (__v4di) __B, 5676 (__mmask8) -1); 5677 } 5678 5679 extern __inline __mmask8 5680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5681 _mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) 5682 { 5683 return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A, 5684 (__v4di) __B, __U); 5685 } 5686 5687 extern __inline __mmask8 5688 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5689 _mm_testn_epi32_mask (__m128i __A, __m128i __B) 5690 { 5691 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A, 5692 (__v4si) __B, 5693 (__mmask8) -1); 5694 } 5695 5696 extern __inline __mmask8 5697 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5698 _mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B) 5699 { 5700 return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A, 5701 (__v4si) __B, __U); 5702 } 5703 5704 extern __inline __mmask8 5705 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5706 _mm256_testn_epi32_mask (__m256i __A, __m256i __B) 5707 { 5708 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A, 5709 (__v8si) __B, 5710 (__mmask8) -1); 5711 } 5712 5713 extern __inline __mmask8 5714 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5715 _mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B) 5716 { 5717 return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A, 5718 (__v8si) __B, __U); 5719 } 5720 5721 extern __inline __mmask8 5722 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5723 _mm_testn_epi64_mask (__m128i __A, __m128i __B) 5724 { 5725 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A, 5726 (__v2di) __B, 5727 (__mmask8) -1); 5728 } 5729 5730 extern __inline __mmask8 5731 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5732 _mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B) 5733 { 5734 return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A, 5735 (__v2di) __B, __U); 5736 } 5737 5738 extern __inline __mmask8 5739 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5740 _mm256_testn_epi64_mask (__m256i __A, __m256i __B) 5741 { 5742 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A, 5743 (__v4di) __B, 5744 (__mmask8) -1); 5745 } 5746 5747 extern __inline __mmask8 5748 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5749 _mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B) 5750 { 5751 return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A, 5752 (__v4di) __B, __U); 5753 } 5754 5755 extern __inline __m256d 5756 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5757 _mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A) 5758 { 5759 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, 5760 (__v4df) __W, 5761 (__mmask8) __U); 5762 } 5763 5764 extern __inline __m256d 5765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5766 _mm256_maskz_compress_pd (__mmask8 __U, __m256d __A) 5767 { 5768 return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A, 5769 (__v4df) 5770 _mm256_setzero_pd (), 5771 (__mmask8) __U); 5772 } 5773 5774 extern __inline void 5775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5776 _mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A) 5777 { 5778 __builtin_ia32_compressstoredf256_mask ((__v4df *) __P, 5779 (__v4df) __A, 5780 (__mmask8) __U); 5781 } 5782 5783 extern __inline __m128d 5784 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5785 _mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A) 5786 { 5787 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, 5788 (__v2df) __W, 5789 (__mmask8) __U); 5790 } 5791 5792 extern __inline __m128d 5793 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5794 _mm_maskz_compress_pd (__mmask8 __U, __m128d __A) 5795 { 5796 return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A, 5797 (__v2df) 5798 _mm_setzero_pd (), 5799 (__mmask8) __U); 5800 } 5801 5802 extern __inline void 5803 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5804 _mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A) 5805 { 5806 __builtin_ia32_compressstoredf128_mask ((__v2df *) __P, 5807 (__v2df) __A, 5808 (__mmask8) __U); 5809 } 5810 5811 extern __inline __m256 5812 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5813 _mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A) 5814 { 5815 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, 5816 (__v8sf) __W, 5817 (__mmask8) __U); 5818 } 5819 5820 extern __inline __m256 5821 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5822 _mm256_maskz_compress_ps (__mmask8 __U, __m256 __A) 5823 { 5824 return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A, 5825 (__v8sf) 5826 _mm256_setzero_ps (), 5827 (__mmask8) __U); 5828 } 5829 5830 extern __inline void 5831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5832 _mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A) 5833 { 5834 __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P, 5835 (__v8sf) __A, 5836 (__mmask8) __U); 5837 } 5838 5839 extern __inline __m128 5840 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5841 _mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A) 5842 { 5843 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, 5844 (__v4sf) __W, 5845 (__mmask8) __U); 5846 } 5847 5848 extern __inline __m128 5849 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5850 _mm_maskz_compress_ps (__mmask8 __U, __m128 __A) 5851 { 5852 return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A, 5853 (__v4sf) 5854 _mm_setzero_ps (), 5855 (__mmask8) __U); 5856 } 5857 5858 extern __inline void 5859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5860 _mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A) 5861 { 5862 __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P, 5863 (__v4sf) __A, 5864 (__mmask8) __U); 5865 } 5866 5867 extern __inline __m256i 5868 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5869 _mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 5870 { 5871 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, 5872 (__v4di) __W, 5873 (__mmask8) __U); 5874 } 5875 5876 extern __inline __m256i 5877 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5878 _mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A) 5879 { 5880 return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A, 5881 (__v4di) 5882 _mm256_setzero_si256 (), 5883 (__mmask8) __U); 5884 } 5885 5886 extern __inline void 5887 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5888 _mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A) 5889 { 5890 __builtin_ia32_compressstoredi256_mask ((__v4di *) __P, 5891 (__v4di) __A, 5892 (__mmask8) __U); 5893 } 5894 5895 extern __inline __m128i 5896 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5897 _mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 5898 { 5899 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, 5900 (__v2di) __W, 5901 (__mmask8) __U); 5902 } 5903 5904 extern __inline __m128i 5905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5906 _mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A) 5907 { 5908 return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A, 5909 (__v2di) 5910 _mm_setzero_si128 (), 5911 (__mmask8) __U); 5912 } 5913 5914 extern __inline void 5915 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5916 _mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A) 5917 { 5918 __builtin_ia32_compressstoredi128_mask ((__v2di *) __P, 5919 (__v2di) __A, 5920 (__mmask8) __U); 5921 } 5922 5923 extern __inline __m256i 5924 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5925 _mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 5926 { 5927 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, 5928 (__v8si) __W, 5929 (__mmask8) __U); 5930 } 5931 5932 extern __inline __m256i 5933 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5934 _mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A) 5935 { 5936 return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A, 5937 (__v8si) 5938 _mm256_setzero_si256 (), 5939 (__mmask8) __U); 5940 } 5941 5942 extern __inline void 5943 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5944 _mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) 5945 { 5946 __builtin_ia32_compressstoresi256_mask ((__v8si *) __P, 5947 (__v8si) __A, 5948 (__mmask8) __U); 5949 } 5950 5951 extern __inline __m128i 5952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5953 _mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 5954 { 5955 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, 5956 (__v4si) __W, 5957 (__mmask8) __U); 5958 } 5959 5960 extern __inline __m128i 5961 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5962 _mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A) 5963 { 5964 return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A, 5965 (__v4si) 5966 _mm_setzero_si128 (), 5967 (__mmask8) __U); 5968 } 5969 5970 extern __inline void 5971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5972 _mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A) 5973 { 5974 __builtin_ia32_compressstoresi128_mask ((__v4si *) __P, 5975 (__v4si) __A, 5976 (__mmask8) __U); 5977 } 5978 5979 extern __inline __m256d 5980 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5981 _mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A) 5982 { 5983 return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A, 5984 (__v4df) __W, 5985 (__mmask8) __U); 5986 } 5987 5988 extern __inline __m256d 5989 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 5990 _mm256_maskz_expand_pd (__mmask8 __U, __m256d __A) 5991 { 5992 return (__m256d) __builtin_ia32_expanddf256_maskz ((__v4df) __A, 5993 (__v4df) 5994 _mm256_setzero_pd (), 5995 (__mmask8) __U); 5996 } 5997 5998 extern __inline __m256d 5999 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6000 _mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P) 6001 { 6002 return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P, 6003 (__v4df) __W, 6004 (__mmask8) 6005 __U); 6006 } 6007 6008 extern __inline __m256d 6009 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6010 _mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P) 6011 { 6012 return (__m256d) __builtin_ia32_expandloaddf256_maskz ((__v4df *) __P, 6013 (__v4df) 6014 _mm256_setzero_pd (), 6015 (__mmask8) 6016 __U); 6017 } 6018 6019 extern __inline __m128d 6020 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6021 _mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A) 6022 { 6023 return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A, 6024 (__v2df) __W, 6025 (__mmask8) __U); 6026 } 6027 6028 extern __inline __m128d 6029 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6030 _mm_maskz_expand_pd (__mmask8 __U, __m128d __A) 6031 { 6032 return (__m128d) __builtin_ia32_expanddf128_maskz ((__v2df) __A, 6033 (__v2df) 6034 _mm_setzero_pd (), 6035 (__mmask8) __U); 6036 } 6037 6038 extern __inline __m128d 6039 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6040 _mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P) 6041 { 6042 return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P, 6043 (__v2df) __W, 6044 (__mmask8) 6045 __U); 6046 } 6047 6048 extern __inline __m128d 6049 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6050 _mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P) 6051 { 6052 return (__m128d) __builtin_ia32_expandloaddf128_maskz ((__v2df *) __P, 6053 (__v2df) 6054 _mm_setzero_pd (), 6055 (__mmask8) 6056 __U); 6057 } 6058 6059 extern __inline __m256 6060 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6061 _mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A) 6062 { 6063 return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A, 6064 (__v8sf) __W, 6065 (__mmask8) __U); 6066 } 6067 6068 extern __inline __m256 6069 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6070 _mm256_maskz_expand_ps (__mmask8 __U, __m256 __A) 6071 { 6072 return (__m256) __builtin_ia32_expandsf256_maskz ((__v8sf) __A, 6073 (__v8sf) 6074 _mm256_setzero_ps (), 6075 (__mmask8) __U); 6076 } 6077 6078 extern __inline __m256 6079 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6080 _mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P) 6081 { 6082 return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P, 6083 (__v8sf) __W, 6084 (__mmask8) __U); 6085 } 6086 6087 extern __inline __m256 6088 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6089 _mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P) 6090 { 6091 return (__m256) __builtin_ia32_expandloadsf256_maskz ((__v8sf *) __P, 6092 (__v8sf) 6093 _mm256_setzero_ps (), 6094 (__mmask8) 6095 __U); 6096 } 6097 6098 extern __inline __m128 6099 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6100 _mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A) 6101 { 6102 return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A, 6103 (__v4sf) __W, 6104 (__mmask8) __U); 6105 } 6106 6107 extern __inline __m128 6108 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6109 _mm_maskz_expand_ps (__mmask8 __U, __m128 __A) 6110 { 6111 return (__m128) __builtin_ia32_expandsf128_maskz ((__v4sf) __A, 6112 (__v4sf) 6113 _mm_setzero_ps (), 6114 (__mmask8) __U); 6115 } 6116 6117 extern __inline __m128 6118 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6119 _mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P) 6120 { 6121 return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P, 6122 (__v4sf) __W, 6123 (__mmask8) __U); 6124 } 6125 6126 extern __inline __m128 6127 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6128 _mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P) 6129 { 6130 return (__m128) __builtin_ia32_expandloadsf128_maskz ((__v4sf *) __P, 6131 (__v4sf) 6132 _mm_setzero_ps (), 6133 (__mmask8) 6134 __U); 6135 } 6136 6137 extern __inline __m256i 6138 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6139 _mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 6140 { 6141 return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A, 6142 (__v4di) __W, 6143 (__mmask8) __U); 6144 } 6145 6146 extern __inline __m256i 6147 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6148 _mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A) 6149 { 6150 return (__m256i) __builtin_ia32_expanddi256_maskz ((__v4di) __A, 6151 (__v4di) 6152 _mm256_setzero_si256 (), 6153 (__mmask8) __U); 6154 } 6155 6156 extern __inline __m256i 6157 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6158 _mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U, 6159 void const *__P) 6160 { 6161 return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P, 6162 (__v4di) __W, 6163 (__mmask8) 6164 __U); 6165 } 6166 6167 extern __inline __m256i 6168 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6169 _mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) 6170 { 6171 return (__m256i) __builtin_ia32_expandloaddi256_maskz ((__v4di *) __P, 6172 (__v4di) 6173 _mm256_setzero_si256 (), 6174 (__mmask8) 6175 __U); 6176 } 6177 6178 extern __inline __m128i 6179 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6180 _mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 6181 { 6182 return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A, 6183 (__v2di) __W, 6184 (__mmask8) __U); 6185 } 6186 6187 extern __inline __m128i 6188 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6189 _mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A) 6190 { 6191 return (__m128i) __builtin_ia32_expanddi128_maskz ((__v2di) __A, 6192 (__v2di) 6193 _mm_setzero_si128 (), 6194 (__mmask8) __U); 6195 } 6196 6197 extern __inline __m128i 6198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6199 _mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P) 6200 { 6201 return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P, 6202 (__v2di) __W, 6203 (__mmask8) 6204 __U); 6205 } 6206 6207 extern __inline __m128i 6208 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6209 _mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P) 6210 { 6211 return (__m128i) __builtin_ia32_expandloaddi128_maskz ((__v2di *) __P, 6212 (__v2di) 6213 _mm_setzero_si128 (), 6214 (__mmask8) 6215 __U); 6216 } 6217 6218 extern __inline __m256i 6219 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6220 _mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 6221 { 6222 return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A, 6223 (__v8si) __W, 6224 (__mmask8) __U); 6225 } 6226 6227 extern __inline __m256i 6228 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6229 _mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A) 6230 { 6231 return (__m256i) __builtin_ia32_expandsi256_maskz ((__v8si) __A, 6232 (__v8si) 6233 _mm256_setzero_si256 (), 6234 (__mmask8) __U); 6235 } 6236 6237 extern __inline __m256i 6238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6239 _mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U, 6240 void const *__P) 6241 { 6242 return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P, 6243 (__v8si) __W, 6244 (__mmask8) 6245 __U); 6246 } 6247 6248 extern __inline __m256i 6249 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6250 _mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) 6251 { 6252 return (__m256i) __builtin_ia32_expandloadsi256_maskz ((__v8si *) __P, 6253 (__v8si) 6254 _mm256_setzero_si256 (), 6255 (__mmask8) 6256 __U); 6257 } 6258 6259 extern __inline __m128i 6260 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6261 _mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 6262 { 6263 return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A, 6264 (__v4si) __W, 6265 (__mmask8) __U); 6266 } 6267 6268 extern __inline __m128i 6269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6270 _mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A) 6271 { 6272 return (__m128i) __builtin_ia32_expandsi128_maskz ((__v4si) __A, 6273 (__v4si) 6274 _mm_setzero_si128 (), 6275 (__mmask8) __U); 6276 } 6277 6278 extern __inline __m128i 6279 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6280 _mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P) 6281 { 6282 return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P, 6283 (__v4si) __W, 6284 (__mmask8) 6285 __U); 6286 } 6287 6288 extern __inline __m128i 6289 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6290 _mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P) 6291 { 6292 return (__m128i) __builtin_ia32_expandloadsi128_maskz ((__v4si *) __P, 6293 (__v4si) 6294 _mm_setzero_si128 (), 6295 (__mmask8) 6296 __U); 6297 } 6298 6299 extern __inline __m256d 6300 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6301 _mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B) 6302 { 6303 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I 6304 /* idx */ , 6305 (__v4df) __A, 6306 (__v4df) __B, 6307 (__mmask8) -1); 6308 } 6309 6310 extern __inline __m256d 6311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6312 _mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I, 6313 __m256d __B) 6314 { 6315 return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I 6316 /* idx */ , 6317 (__v4df) __A, 6318 (__v4df) __B, 6319 (__mmask8) 6320 __U); 6321 } 6322 6323 extern __inline __m256d 6324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6325 _mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U, 6326 __m256d __B) 6327 { 6328 return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A, 6329 (__v4di) __I 6330 /* idx */ , 6331 (__v4df) __B, 6332 (__mmask8) 6333 __U); 6334 } 6335 6336 extern __inline __m256d 6337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6338 _mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I, 6339 __m256d __B) 6340 { 6341 return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I 6342 /* idx */ , 6343 (__v4df) __A, 6344 (__v4df) __B, 6345 (__mmask8) 6346 __U); 6347 } 6348 6349 extern __inline __m256 6350 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6351 _mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B) 6352 { 6353 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I 6354 /* idx */ , 6355 (__v8sf) __A, 6356 (__v8sf) __B, 6357 (__mmask8) -1); 6358 } 6359 6360 extern __inline __m256 6361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6362 _mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I, 6363 __m256 __B) 6364 { 6365 return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I 6366 /* idx */ , 6367 (__v8sf) __A, 6368 (__v8sf) __B, 6369 (__mmask8) __U); 6370 } 6371 6372 extern __inline __m256 6373 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6374 _mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U, 6375 __m256 __B) 6376 { 6377 return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A, 6378 (__v8si) __I 6379 /* idx */ , 6380 (__v8sf) __B, 6381 (__mmask8) __U); 6382 } 6383 6384 extern __inline __m256 6385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6386 _mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I, 6387 __m256 __B) 6388 { 6389 return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I 6390 /* idx */ , 6391 (__v8sf) __A, 6392 (__v8sf) __B, 6393 (__mmask8) 6394 __U); 6395 } 6396 6397 extern __inline __m128i 6398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6399 _mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B) 6400 { 6401 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I 6402 /* idx */ , 6403 (__v2di) __A, 6404 (__v2di) __B, 6405 (__mmask8) -1); 6406 } 6407 6408 extern __inline __m128i 6409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6410 _mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I, 6411 __m128i __B) 6412 { 6413 return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I 6414 /* idx */ , 6415 (__v2di) __A, 6416 (__v2di) __B, 6417 (__mmask8) __U); 6418 } 6419 6420 extern __inline __m128i 6421 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6422 _mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U, 6423 __m128i __B) 6424 { 6425 return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A, 6426 (__v2di) __I 6427 /* idx */ , 6428 (__v2di) __B, 6429 (__mmask8) __U); 6430 } 6431 6432 extern __inline __m128i 6433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6434 _mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I, 6435 __m128i __B) 6436 { 6437 return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I 6438 /* idx */ , 6439 (__v2di) __A, 6440 (__v2di) __B, 6441 (__mmask8) 6442 __U); 6443 } 6444 6445 extern __inline __m128i 6446 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6447 _mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B) 6448 { 6449 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I 6450 /* idx */ , 6451 (__v4si) __A, 6452 (__v4si) __B, 6453 (__mmask8) -1); 6454 } 6455 6456 extern __inline __m128i 6457 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6458 _mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I, 6459 __m128i __B) 6460 { 6461 return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I 6462 /* idx */ , 6463 (__v4si) __A, 6464 (__v4si) __B, 6465 (__mmask8) __U); 6466 } 6467 6468 extern __inline __m128i 6469 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6470 _mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U, 6471 __m128i __B) 6472 { 6473 return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A, 6474 (__v4si) __I 6475 /* idx */ , 6476 (__v4si) __B, 6477 (__mmask8) __U); 6478 } 6479 6480 extern __inline __m128i 6481 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6482 _mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I, 6483 __m128i __B) 6484 { 6485 return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I 6486 /* idx */ , 6487 (__v4si) __A, 6488 (__v4si) __B, 6489 (__mmask8) 6490 __U); 6491 } 6492 6493 extern __inline __m256i 6494 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6495 _mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B) 6496 { 6497 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I 6498 /* idx */ , 6499 (__v4di) __A, 6500 (__v4di) __B, 6501 (__mmask8) -1); 6502 } 6503 6504 extern __inline __m256i 6505 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6506 _mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I, 6507 __m256i __B) 6508 { 6509 return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I 6510 /* idx */ , 6511 (__v4di) __A, 6512 (__v4di) __B, 6513 (__mmask8) __U); 6514 } 6515 6516 extern __inline __m256i 6517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6518 _mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I, 6519 __mmask8 __U, __m256i __B) 6520 { 6521 return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A, 6522 (__v4di) __I 6523 /* idx */ , 6524 (__v4di) __B, 6525 (__mmask8) __U); 6526 } 6527 6528 extern __inline __m256i 6529 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6530 _mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A, 6531 __m256i __I, __m256i __B) 6532 { 6533 return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I 6534 /* idx */ , 6535 (__v4di) __A, 6536 (__v4di) __B, 6537 (__mmask8) 6538 __U); 6539 } 6540 6541 extern __inline __m256i 6542 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6543 _mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B) 6544 { 6545 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I 6546 /* idx */ , 6547 (__v8si) __A, 6548 (__v8si) __B, 6549 (__mmask8) -1); 6550 } 6551 6552 extern __inline __m256i 6553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6554 _mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I, 6555 __m256i __B) 6556 { 6557 return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I 6558 /* idx */ , 6559 (__v8si) __A, 6560 (__v8si) __B, 6561 (__mmask8) __U); 6562 } 6563 6564 extern __inline __m256i 6565 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6566 _mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I, 6567 __mmask8 __U, __m256i __B) 6568 { 6569 return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A, 6570 (__v8si) __I 6571 /* idx */ , 6572 (__v8si) __B, 6573 (__mmask8) __U); 6574 } 6575 6576 extern __inline __m256i 6577 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6578 _mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A, 6579 __m256i __I, __m256i __B) 6580 { 6581 return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I 6582 /* idx */ , 6583 (__v8si) __A, 6584 (__v8si) __B, 6585 (__mmask8) 6586 __U); 6587 } 6588 6589 extern __inline __m128d 6590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6591 _mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B) 6592 { 6593 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I 6594 /* idx */ , 6595 (__v2df) __A, 6596 (__v2df) __B, 6597 (__mmask8) -1); 6598 } 6599 6600 extern __inline __m128d 6601 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6602 _mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I, 6603 __m128d __B) 6604 { 6605 return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I 6606 /* idx */ , 6607 (__v2df) __A, 6608 (__v2df) __B, 6609 (__mmask8) 6610 __U); 6611 } 6612 6613 extern __inline __m128d 6614 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6615 _mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U, 6616 __m128d __B) 6617 { 6618 return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A, 6619 (__v2di) __I 6620 /* idx */ , 6621 (__v2df) __B, 6622 (__mmask8) 6623 __U); 6624 } 6625 6626 extern __inline __m128d 6627 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6628 _mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I, 6629 __m128d __B) 6630 { 6631 return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I 6632 /* idx */ , 6633 (__v2df) __A, 6634 (__v2df) __B, 6635 (__mmask8) 6636 __U); 6637 } 6638 6639 extern __inline __m128 6640 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6641 _mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B) 6642 { 6643 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I 6644 /* idx */ , 6645 (__v4sf) __A, 6646 (__v4sf) __B, 6647 (__mmask8) -1); 6648 } 6649 6650 extern __inline __m128 6651 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6652 _mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I, 6653 __m128 __B) 6654 { 6655 return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I 6656 /* idx */ , 6657 (__v4sf) __A, 6658 (__v4sf) __B, 6659 (__mmask8) __U); 6660 } 6661 6662 extern __inline __m128 6663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6664 _mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U, 6665 __m128 __B) 6666 { 6667 return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A, 6668 (__v4si) __I 6669 /* idx */ , 6670 (__v4sf) __B, 6671 (__mmask8) __U); 6672 } 6673 6674 extern __inline __m128 6675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6676 _mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I, 6677 __m128 __B) 6678 { 6679 return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I 6680 /* idx */ , 6681 (__v4sf) __A, 6682 (__v4sf) __B, 6683 (__mmask8) 6684 __U); 6685 } 6686 6687 extern __inline __m128i 6688 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6689 _mm_srav_epi64 (__m128i __X, __m128i __Y) 6690 { 6691 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X, 6692 (__v2di) __Y, 6693 (__v2di) 6694 _mm_setzero_si128 (), 6695 (__mmask8) -1); 6696 } 6697 6698 extern __inline __m128i 6699 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6700 _mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X, 6701 __m128i __Y) 6702 { 6703 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X, 6704 (__v2di) __Y, 6705 (__v2di) __W, 6706 (__mmask8) __U); 6707 } 6708 6709 extern __inline __m128i 6710 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6711 _mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y) 6712 { 6713 return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X, 6714 (__v2di) __Y, 6715 (__v2di) 6716 _mm_setzero_si128 (), 6717 (__mmask8) __U); 6718 } 6719 6720 extern __inline __m256i 6721 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6722 _mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X, 6723 __m256i __Y) 6724 { 6725 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X, 6726 (__v8si) __Y, 6727 (__v8si) __W, 6728 (__mmask8) __U); 6729 } 6730 6731 extern __inline __m256i 6732 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6733 _mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y) 6734 { 6735 return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X, 6736 (__v8si) __Y, 6737 (__v8si) 6738 _mm256_setzero_si256 (), 6739 (__mmask8) __U); 6740 } 6741 6742 extern __inline __m128i 6743 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6744 _mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X, 6745 __m128i __Y) 6746 { 6747 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X, 6748 (__v4si) __Y, 6749 (__v4si) __W, 6750 (__mmask8) __U); 6751 } 6752 6753 extern __inline __m128i 6754 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6755 _mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y) 6756 { 6757 return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X, 6758 (__v4si) __Y, 6759 (__v4si) 6760 _mm_setzero_si128 (), 6761 (__mmask8) __U); 6762 } 6763 6764 extern __inline __m256i 6765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6766 _mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X, 6767 __m256i __Y) 6768 { 6769 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X, 6770 (__v4di) __Y, 6771 (__v4di) __W, 6772 (__mmask8) __U); 6773 } 6774 6775 extern __inline __m256i 6776 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6777 _mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y) 6778 { 6779 return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X, 6780 (__v4di) __Y, 6781 (__v4di) 6782 _mm256_setzero_si256 (), 6783 (__mmask8) __U); 6784 } 6785 6786 extern __inline __m128i 6787 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6788 _mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X, 6789 __m128i __Y) 6790 { 6791 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X, 6792 (__v2di) __Y, 6793 (__v2di) __W, 6794 (__mmask8) __U); 6795 } 6796 6797 extern __inline __m128i 6798 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6799 _mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y) 6800 { 6801 return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X, 6802 (__v2di) __Y, 6803 (__v2di) 6804 _mm_setzero_si128 (), 6805 (__mmask8) __U); 6806 } 6807 6808 extern __inline __m256i 6809 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6810 _mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X, 6811 __m256i __Y) 6812 { 6813 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X, 6814 (__v8si) __Y, 6815 (__v8si) __W, 6816 (__mmask8) __U); 6817 } 6818 6819 extern __inline __m256i 6820 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6821 _mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y) 6822 { 6823 return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X, 6824 (__v8si) __Y, 6825 (__v8si) 6826 _mm256_setzero_si256 (), 6827 (__mmask8) __U); 6828 } 6829 6830 extern __inline __m128i 6831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6832 _mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X, 6833 __m128i __Y) 6834 { 6835 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X, 6836 (__v4si) __Y, 6837 (__v4si) __W, 6838 (__mmask8) __U); 6839 } 6840 6841 extern __inline __m128i 6842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6843 _mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y) 6844 { 6845 return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X, 6846 (__v4si) __Y, 6847 (__v4si) 6848 _mm_setzero_si128 (), 6849 (__mmask8) __U); 6850 } 6851 6852 extern __inline __m256i 6853 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6854 _mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X, 6855 __m256i __Y) 6856 { 6857 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X, 6858 (__v8si) __Y, 6859 (__v8si) __W, 6860 (__mmask8) __U); 6861 } 6862 6863 extern __inline __m256i 6864 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6865 _mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y) 6866 { 6867 return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X, 6868 (__v8si) __Y, 6869 (__v8si) 6870 _mm256_setzero_si256 (), 6871 (__mmask8) __U); 6872 } 6873 6874 extern __inline __m128i 6875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6876 _mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X, 6877 __m128i __Y) 6878 { 6879 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X, 6880 (__v4si) __Y, 6881 (__v4si) __W, 6882 (__mmask8) __U); 6883 } 6884 6885 extern __inline __m128i 6886 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6887 _mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y) 6888 { 6889 return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X, 6890 (__v4si) __Y, 6891 (__v4si) 6892 _mm_setzero_si128 (), 6893 (__mmask8) __U); 6894 } 6895 6896 extern __inline __m256i 6897 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6898 _mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X, 6899 __m256i __Y) 6900 { 6901 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X, 6902 (__v4di) __Y, 6903 (__v4di) __W, 6904 (__mmask8) __U); 6905 } 6906 6907 extern __inline __m256i 6908 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6909 _mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y) 6910 { 6911 return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X, 6912 (__v4di) __Y, 6913 (__v4di) 6914 _mm256_setzero_si256 (), 6915 (__mmask8) __U); 6916 } 6917 6918 extern __inline __m128i 6919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6920 _mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X, 6921 __m128i __Y) 6922 { 6923 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X, 6924 (__v2di) __Y, 6925 (__v2di) __W, 6926 (__mmask8) __U); 6927 } 6928 6929 extern __inline __m128i 6930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6931 _mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y) 6932 { 6933 return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X, 6934 (__v2di) __Y, 6935 (__v2di) 6936 _mm_setzero_si128 (), 6937 (__mmask8) __U); 6938 } 6939 6940 extern __inline __m256i 6941 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6942 _mm256_rolv_epi32 (__m256i __A, __m256i __B) 6943 { 6944 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A, 6945 (__v8si) __B, 6946 (__v8si) 6947 _mm256_setzero_si256 (), 6948 (__mmask8) -1); 6949 } 6950 6951 extern __inline __m256i 6952 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6953 _mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 6954 __m256i __B) 6955 { 6956 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A, 6957 (__v8si) __B, 6958 (__v8si) __W, 6959 (__mmask8) __U); 6960 } 6961 6962 extern __inline __m256i 6963 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6964 _mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 6965 { 6966 return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A, 6967 (__v8si) __B, 6968 (__v8si) 6969 _mm256_setzero_si256 (), 6970 (__mmask8) __U); 6971 } 6972 6973 extern __inline __m128i 6974 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6975 _mm_rolv_epi32 (__m128i __A, __m128i __B) 6976 { 6977 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A, 6978 (__v4si) __B, 6979 (__v4si) 6980 _mm_setzero_si128 (), 6981 (__mmask8) -1); 6982 } 6983 6984 extern __inline __m128i 6985 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6986 _mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 6987 __m128i __B) 6988 { 6989 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A, 6990 (__v4si) __B, 6991 (__v4si) __W, 6992 (__mmask8) __U); 6993 } 6994 6995 extern __inline __m128i 6996 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 6997 _mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 6998 { 6999 return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A, 7000 (__v4si) __B, 7001 (__v4si) 7002 _mm_setzero_si128 (), 7003 (__mmask8) __U); 7004 } 7005 7006 extern __inline __m256i 7007 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7008 _mm256_rorv_epi32 (__m256i __A, __m256i __B) 7009 { 7010 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A, 7011 (__v8si) __B, 7012 (__v8si) 7013 _mm256_setzero_si256 (), 7014 (__mmask8) -1); 7015 } 7016 7017 extern __inline __m256i 7018 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7019 _mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 7020 __m256i __B) 7021 { 7022 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A, 7023 (__v8si) __B, 7024 (__v8si) __W, 7025 (__mmask8) __U); 7026 } 7027 7028 extern __inline __m256i 7029 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7030 _mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B) 7031 { 7032 return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A, 7033 (__v8si) __B, 7034 (__v8si) 7035 _mm256_setzero_si256 (), 7036 (__mmask8) __U); 7037 } 7038 7039 extern __inline __m128i 7040 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7041 _mm_rorv_epi32 (__m128i __A, __m128i __B) 7042 { 7043 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A, 7044 (__v4si) __B, 7045 (__v4si) 7046 _mm_setzero_si128 (), 7047 (__mmask8) -1); 7048 } 7049 7050 extern __inline __m128i 7051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7052 _mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 7053 __m128i __B) 7054 { 7055 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A, 7056 (__v4si) __B, 7057 (__v4si) __W, 7058 (__mmask8) __U); 7059 } 7060 7061 extern __inline __m128i 7062 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7063 _mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 7064 { 7065 return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A, 7066 (__v4si) __B, 7067 (__v4si) 7068 _mm_setzero_si128 (), 7069 (__mmask8) __U); 7070 } 7071 7072 extern __inline __m256i 7073 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7074 _mm256_rolv_epi64 (__m256i __A, __m256i __B) 7075 { 7076 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A, 7077 (__v4di) __B, 7078 (__v4di) 7079 _mm256_setzero_si256 (), 7080 (__mmask8) -1); 7081 } 7082 7083 extern __inline __m256i 7084 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7085 _mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 7086 __m256i __B) 7087 { 7088 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A, 7089 (__v4di) __B, 7090 (__v4di) __W, 7091 (__mmask8) __U); 7092 } 7093 7094 extern __inline __m256i 7095 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7096 _mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 7097 { 7098 return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A, 7099 (__v4di) __B, 7100 (__v4di) 7101 _mm256_setzero_si256 (), 7102 (__mmask8) __U); 7103 } 7104 7105 extern __inline __m128i 7106 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7107 _mm_rolv_epi64 (__m128i __A, __m128i __B) 7108 { 7109 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A, 7110 (__v2di) __B, 7111 (__v2di) 7112 _mm_setzero_si128 (), 7113 (__mmask8) -1); 7114 } 7115 7116 extern __inline __m128i 7117 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7118 _mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 7119 __m128i __B) 7120 { 7121 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A, 7122 (__v2di) __B, 7123 (__v2di) __W, 7124 (__mmask8) __U); 7125 } 7126 7127 extern __inline __m128i 7128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7129 _mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 7130 { 7131 return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A, 7132 (__v2di) __B, 7133 (__v2di) 7134 _mm_setzero_si128 (), 7135 (__mmask8) __U); 7136 } 7137 7138 extern __inline __m256i 7139 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7140 _mm256_rorv_epi64 (__m256i __A, __m256i __B) 7141 { 7142 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A, 7143 (__v4di) __B, 7144 (__v4di) 7145 _mm256_setzero_si256 (), 7146 (__mmask8) -1); 7147 } 7148 7149 extern __inline __m256i 7150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7151 _mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 7152 __m256i __B) 7153 { 7154 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A, 7155 (__v4di) __B, 7156 (__v4di) __W, 7157 (__mmask8) __U); 7158 } 7159 7160 extern __inline __m256i 7161 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7162 _mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 7163 { 7164 return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A, 7165 (__v4di) __B, 7166 (__v4di) 7167 _mm256_setzero_si256 (), 7168 (__mmask8) __U); 7169 } 7170 7171 extern __inline __m128i 7172 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7173 _mm_rorv_epi64 (__m128i __A, __m128i __B) 7174 { 7175 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A, 7176 (__v2di) __B, 7177 (__v2di) 7178 _mm_setzero_si128 (), 7179 (__mmask8) -1); 7180 } 7181 7182 extern __inline __m128i 7183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7184 _mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 7185 __m128i __B) 7186 { 7187 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A, 7188 (__v2di) __B, 7189 (__v2di) __W, 7190 (__mmask8) __U); 7191 } 7192 7193 extern __inline __m128i 7194 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7195 _mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 7196 { 7197 return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A, 7198 (__v2di) __B, 7199 (__v2di) 7200 _mm_setzero_si128 (), 7201 (__mmask8) __U); 7202 } 7203 7204 extern __inline __m256i 7205 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7206 _mm256_srav_epi64 (__m256i __X, __m256i __Y) 7207 { 7208 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X, 7209 (__v4di) __Y, 7210 (__v4di) 7211 _mm256_setzero_si256 (), 7212 (__mmask8) -1); 7213 } 7214 7215 extern __inline __m256i 7216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7217 _mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X, 7218 __m256i __Y) 7219 { 7220 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X, 7221 (__v4di) __Y, 7222 (__v4di) __W, 7223 (__mmask8) __U); 7224 } 7225 7226 extern __inline __m256i 7227 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7228 _mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y) 7229 { 7230 return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X, 7231 (__v4di) __Y, 7232 (__v4di) 7233 _mm256_setzero_si256 (), 7234 (__mmask8) __U); 7235 } 7236 7237 extern __inline __m256i 7238 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7239 _mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 7240 __m256i __B) 7241 { 7242 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A, 7243 (__v4di) __B, 7244 (__v4di) __W, __U); 7245 } 7246 7247 extern __inline __m256i 7248 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7249 _mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 7250 { 7251 return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A, 7252 (__v4di) __B, 7253 (__v4di) 7254 _mm256_setzero_pd (), 7255 __U); 7256 } 7257 7258 extern __inline __m128i 7259 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7260 _mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 7261 __m128i __B) 7262 { 7263 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A, 7264 (__v2di) __B, 7265 (__v2di) __W, __U); 7266 } 7267 7268 extern __inline __m128i 7269 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7270 _mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 7271 { 7272 return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A, 7273 (__v2di) __B, 7274 (__v2di) 7275 _mm_setzero_pd (), 7276 __U); 7277 } 7278 7279 extern __inline __m256i 7280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7281 _mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 7282 __m256i __B) 7283 { 7284 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A, 7285 (__v4di) __B, 7286 (__v4di) __W, __U); 7287 } 7288 7289 extern __inline __m256i 7290 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7291 _mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 7292 { 7293 return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A, 7294 (__v4di) __B, 7295 (__v4di) 7296 _mm256_setzero_pd (), 7297 __U); 7298 } 7299 7300 extern __inline __m128i 7301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7302 _mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 7303 __m128i __B) 7304 { 7305 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A, 7306 (__v2di) __B, 7307 (__v2di) __W, __U); 7308 } 7309 7310 extern __inline __m128i 7311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7312 _mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 7313 { 7314 return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A, 7315 (__v2di) __B, 7316 (__v2di) 7317 _mm_setzero_pd (), 7318 __U); 7319 } 7320 7321 extern __inline __m256i 7322 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7323 _mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 7324 __m256i __B) 7325 { 7326 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A, 7327 (__v4di) __B, 7328 (__v4di) __W, 7329 (__mmask8) __U); 7330 } 7331 7332 extern __inline __m256i 7333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7334 _mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 7335 { 7336 return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A, 7337 (__v4di) __B, 7338 (__v4di) 7339 _mm256_setzero_si256 (), 7340 (__mmask8) __U); 7341 } 7342 7343 extern __inline __m128i 7344 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7345 _mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) 7346 { 7347 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A, 7348 (__v2di) __B, 7349 (__v2di) __W, 7350 (__mmask8) __U); 7351 } 7352 7353 extern __inline __m128i 7354 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7355 _mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 7356 { 7357 return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A, 7358 (__v2di) __B, 7359 (__v2di) 7360 _mm_setzero_si128 (), 7361 (__mmask8) __U); 7362 } 7363 7364 extern __inline __m256i 7365 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7366 _mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 7367 __m256i __B) 7368 { 7369 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A, 7370 (__v4di) __B, 7371 (__v4di) __W, 7372 (__mmask8) __U); 7373 } 7374 7375 extern __inline __m256i 7376 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7377 _mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B) 7378 { 7379 return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A, 7380 (__v4di) __B, 7381 (__v4di) 7382 _mm256_setzero_si256 (), 7383 (__mmask8) __U); 7384 } 7385 7386 extern __inline __m128i 7387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7388 _mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 7389 __m128i __B) 7390 { 7391 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A, 7392 (__v2di) __B, 7393 (__v2di) __W, 7394 (__mmask8) __U); 7395 } 7396 7397 extern __inline __m128i 7398 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7399 _mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 7400 { 7401 return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A, 7402 (__v2di) __B, 7403 (__v2di) 7404 _mm_setzero_si128 (), 7405 (__mmask8) __U); 7406 } 7407 7408 extern __inline __m256d 7409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7410 _mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A, 7411 __m256d __B) 7412 { 7413 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A, 7414 (__v4df) __B, 7415 (__v4df) __W, 7416 (__mmask8) __U); 7417 } 7418 7419 extern __inline __m256d 7420 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7421 _mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B) 7422 { 7423 return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A, 7424 (__v4df) __B, 7425 (__v4df) 7426 _mm256_setzero_pd (), 7427 (__mmask8) __U); 7428 } 7429 7430 extern __inline __m256 7431 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7432 _mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) 7433 { 7434 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A, 7435 (__v8sf) __B, 7436 (__v8sf) __W, 7437 (__mmask8) __U); 7438 } 7439 7440 extern __inline __m256 7441 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7442 _mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B) 7443 { 7444 return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A, 7445 (__v8sf) __B, 7446 (__v8sf) 7447 _mm256_setzero_ps (), 7448 (__mmask8) __U); 7449 } 7450 7451 extern __inline __m128 7452 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7453 _mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 7454 { 7455 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A, 7456 (__v4sf) __B, 7457 (__v4sf) __W, 7458 (__mmask8) __U); 7459 } 7460 7461 extern __inline __m128 7462 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7463 _mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B) 7464 { 7465 return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A, 7466 (__v4sf) __B, 7467 (__v4sf) 7468 _mm_setzero_ps (), 7469 (__mmask8) __U); 7470 } 7471 7472 extern __inline __m128d 7473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7474 _mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) 7475 { 7476 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A, 7477 (__v2df) __B, 7478 (__v2df) __W, 7479 (__mmask8) __U); 7480 } 7481 7482 extern __inline __m128d 7483 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7484 _mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B) 7485 { 7486 return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A, 7487 (__v2df) __B, 7488 (__v2df) 7489 _mm_setzero_pd (), 7490 (__mmask8) __U); 7491 } 7492 7493 extern __inline __m256d 7494 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7495 _mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A, 7496 __m256d __B) 7497 { 7498 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A, 7499 (__v4df) __B, 7500 (__v4df) __W, 7501 (__mmask8) __U); 7502 } 7503 7504 extern __inline __m256d 7505 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7506 _mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A, 7507 __m256d __B) 7508 { 7509 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A, 7510 (__v4df) __B, 7511 (__v4df) __W, 7512 (__mmask8) __U); 7513 } 7514 7515 extern __inline __m256d 7516 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7517 _mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B) 7518 { 7519 return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A, 7520 (__v4df) __B, 7521 (__v4df) 7522 _mm256_setzero_pd (), 7523 (__mmask8) __U); 7524 } 7525 7526 extern __inline __m256 7527 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7528 _mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) 7529 { 7530 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A, 7531 (__v8sf) __B, 7532 (__v8sf) __W, 7533 (__mmask8) __U); 7534 } 7535 7536 extern __inline __m256d 7537 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7538 _mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B) 7539 { 7540 return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A, 7541 (__v4df) __B, 7542 (__v4df) 7543 _mm256_setzero_pd (), 7544 (__mmask8) __U); 7545 } 7546 7547 extern __inline __m256 7548 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7549 _mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) 7550 { 7551 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A, 7552 (__v8sf) __B, 7553 (__v8sf) __W, 7554 (__mmask8) __U); 7555 } 7556 7557 extern __inline __m256 7558 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7559 _mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B) 7560 { 7561 return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A, 7562 (__v8sf) __B, 7563 (__v8sf) 7564 _mm256_setzero_ps (), 7565 (__mmask8) __U); 7566 } 7567 7568 extern __inline __m256 7569 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7570 _mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B) 7571 { 7572 return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A, 7573 (__v8sf) __B, 7574 (__v8sf) 7575 _mm256_setzero_ps (), 7576 (__mmask8) __U); 7577 } 7578 7579 extern __inline __m128 7580 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7581 _mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 7582 { 7583 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A, 7584 (__v4sf) __B, 7585 (__v4sf) __W, 7586 (__mmask8) __U); 7587 } 7588 7589 extern __inline __m128 7590 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7591 _mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 7592 { 7593 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A, 7594 (__v4sf) __B, 7595 (__v4sf) __W, 7596 (__mmask8) __U); 7597 } 7598 7599 extern __inline __m128 7600 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7601 _mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B) 7602 { 7603 return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A, 7604 (__v4sf) __B, 7605 (__v4sf) 7606 _mm_setzero_ps (), 7607 (__mmask8) __U); 7608 } 7609 7610 extern __inline __m128 7611 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7612 _mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B) 7613 { 7614 return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A, 7615 (__v4sf) __B, 7616 (__v4sf) 7617 _mm_setzero_ps (), 7618 (__mmask8) __U); 7619 } 7620 7621 extern __inline __m128 7622 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7623 _mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 7624 { 7625 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A, 7626 (__v4sf) __B, 7627 (__v4sf) __W, 7628 (__mmask8) __U); 7629 } 7630 7631 extern __inline __m128 7632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7633 _mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B) 7634 { 7635 return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A, 7636 (__v4sf) __B, 7637 (__v4sf) 7638 _mm_setzero_ps (), 7639 (__mmask8) __U); 7640 } 7641 7642 extern __inline __m128d 7643 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7644 _mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) 7645 { 7646 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A, 7647 (__v2df) __B, 7648 (__v2df) __W, 7649 (__mmask8) __U); 7650 } 7651 7652 extern __inline __m128d 7653 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7654 _mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B) 7655 { 7656 return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A, 7657 (__v2df) __B, 7658 (__v2df) 7659 _mm_setzero_pd (), 7660 (__mmask8) __U); 7661 } 7662 7663 extern __inline __m128d 7664 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7665 _mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) 7666 { 7667 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A, 7668 (__v2df) __B, 7669 (__v2df) __W, 7670 (__mmask8) __U); 7671 } 7672 7673 extern __inline __m128d 7674 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7675 _mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B) 7676 { 7677 return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A, 7678 (__v2df) __B, 7679 (__v2df) 7680 _mm_setzero_pd (), 7681 (__mmask8) __U); 7682 } 7683 7684 extern __inline __m128d 7685 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7686 _mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) 7687 { 7688 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A, 7689 (__v2df) __B, 7690 (__v2df) __W, 7691 (__mmask8) __U); 7692 } 7693 7694 extern __inline __m128d 7695 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7696 _mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B) 7697 { 7698 return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A, 7699 (__v2df) __B, 7700 (__v2df) 7701 _mm_setzero_pd (), 7702 (__mmask8) __U); 7703 } 7704 7705 extern __inline __m256 7706 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7707 _mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) 7708 { 7709 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A, 7710 (__v8sf) __B, 7711 (__v8sf) __W, 7712 (__mmask8) __U); 7713 } 7714 7715 extern __inline __m256 7716 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7717 _mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B) 7718 { 7719 return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A, 7720 (__v8sf) __B, 7721 (__v8sf) 7722 _mm256_setzero_ps (), 7723 (__mmask8) __U); 7724 } 7725 7726 extern __inline __m256d 7727 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7728 _mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A, 7729 __m256d __B) 7730 { 7731 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A, 7732 (__v4df) __B, 7733 (__v4df) __W, 7734 (__mmask8) __U); 7735 } 7736 7737 extern __inline __m256d 7738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7739 _mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B) 7740 { 7741 return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A, 7742 (__v4df) __B, 7743 (__v4df) 7744 _mm256_setzero_pd (), 7745 (__mmask8) __U); 7746 } 7747 7748 extern __inline __m256i 7749 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7750 _mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) 7751 { 7752 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, 7753 (__v4di) __B, 7754 (__v4di) 7755 _mm256_setzero_si256 (), 7756 __M); 7757 } 7758 7759 extern __inline __m256i 7760 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7761 _mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A, 7762 __m256i __B) 7763 { 7764 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, 7765 (__v4di) __B, 7766 (__v4di) __W, __M); 7767 } 7768 7769 extern __inline __m256i 7770 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7771 _mm256_min_epi64 (__m256i __A, __m256i __B) 7772 { 7773 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, 7774 (__v4di) __B, 7775 (__v4di) 7776 _mm256_setzero_si256 (), 7777 (__mmask8) -1); 7778 } 7779 7780 extern __inline __m256i 7781 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7782 _mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A, 7783 __m256i __B) 7784 { 7785 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, 7786 (__v4di) __B, 7787 (__v4di) __W, __M); 7788 } 7789 7790 extern __inline __m256i 7791 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7792 _mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) 7793 { 7794 return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A, 7795 (__v4di) __B, 7796 (__v4di) 7797 _mm256_setzero_si256 (), 7798 __M); 7799 } 7800 7801 extern __inline __m256i 7802 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7803 _mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) 7804 { 7805 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, 7806 (__v4di) __B, 7807 (__v4di) 7808 _mm256_setzero_si256 (), 7809 __M); 7810 } 7811 7812 extern __inline __m256i 7813 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7814 _mm256_max_epi64 (__m256i __A, __m256i __B) 7815 { 7816 return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A, 7817 (__v4di) __B, 7818 (__v4di) 7819 _mm256_setzero_si256 (), 7820 (__mmask8) -1); 7821 } 7822 7823 extern __inline __m256i 7824 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7825 _mm256_max_epu64 (__m256i __A, __m256i __B) 7826 { 7827 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, 7828 (__v4di) __B, 7829 (__v4di) 7830 _mm256_setzero_si256 (), 7831 (__mmask8) -1); 7832 } 7833 7834 extern __inline __m256i 7835 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7836 _mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A, 7837 __m256i __B) 7838 { 7839 return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A, 7840 (__v4di) __B, 7841 (__v4di) __W, __M); 7842 } 7843 7844 extern __inline __m256i 7845 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7846 _mm256_min_epu64 (__m256i __A, __m256i __B) 7847 { 7848 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, 7849 (__v4di) __B, 7850 (__v4di) 7851 _mm256_setzero_si256 (), 7852 (__mmask8) -1); 7853 } 7854 7855 extern __inline __m256i 7856 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7857 _mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A, 7858 __m256i __B) 7859 { 7860 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, 7861 (__v4di) __B, 7862 (__v4di) __W, __M); 7863 } 7864 7865 extern __inline __m256i 7866 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7867 _mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) 7868 { 7869 return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A, 7870 (__v4di) __B, 7871 (__v4di) 7872 _mm256_setzero_si256 (), 7873 __M); 7874 } 7875 7876 extern __inline __m256i 7877 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7878 _mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B) 7879 { 7880 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A, 7881 (__v8si) __B, 7882 (__v8si) 7883 _mm256_setzero_si256 (), 7884 __M); 7885 } 7886 7887 extern __inline __m256i 7888 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7889 _mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A, 7890 __m256i __B) 7891 { 7892 return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A, 7893 (__v8si) __B, 7894 (__v8si) __W, __M); 7895 } 7896 7897 extern __inline __m256i 7898 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7899 _mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B) 7900 { 7901 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A, 7902 (__v8si) __B, 7903 (__v8si) 7904 _mm256_setzero_si256 (), 7905 __M); 7906 } 7907 7908 extern __inline __m256i 7909 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7910 _mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A, 7911 __m256i __B) 7912 { 7913 return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A, 7914 (__v8si) __B, 7915 (__v8si) __W, __M); 7916 } 7917 7918 extern __inline __m256i 7919 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7920 _mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B) 7921 { 7922 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A, 7923 (__v8si) __B, 7924 (__v8si) 7925 _mm256_setzero_si256 (), 7926 __M); 7927 } 7928 7929 extern __inline __m256i 7930 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7931 _mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A, 7932 __m256i __B) 7933 { 7934 return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A, 7935 (__v8si) __B, 7936 (__v8si) __W, __M); 7937 } 7938 7939 extern __inline __m256i 7940 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7941 _mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B) 7942 { 7943 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A, 7944 (__v8si) __B, 7945 (__v8si) 7946 _mm256_setzero_si256 (), 7947 __M); 7948 } 7949 7950 extern __inline __m256i 7951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7952 _mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A, 7953 __m256i __B) 7954 { 7955 return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A, 7956 (__v8si) __B, 7957 (__v8si) __W, __M); 7958 } 7959 7960 extern __inline __m128i 7961 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7962 _mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) 7963 { 7964 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, 7965 (__v2di) __B, 7966 (__v2di) 7967 _mm_setzero_si128 (), 7968 __M); 7969 } 7970 7971 extern __inline __m128i 7972 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7973 _mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A, 7974 __m128i __B) 7975 { 7976 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, 7977 (__v2di) __B, 7978 (__v2di) __W, __M); 7979 } 7980 7981 extern __inline __m128i 7982 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7983 _mm_min_epi64 (__m128i __A, __m128i __B) 7984 { 7985 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, 7986 (__v2di) __B, 7987 (__v2di) 7988 _mm_setzero_si128 (), 7989 (__mmask8) -1); 7990 } 7991 7992 extern __inline __m128i 7993 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 7994 _mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A, 7995 __m128i __B) 7996 { 7997 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, 7998 (__v2di) __B, 7999 (__v2di) __W, __M); 8000 } 8001 8002 extern __inline __m128i 8003 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8004 _mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) 8005 { 8006 return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A, 8007 (__v2di) __B, 8008 (__v2di) 8009 _mm_setzero_si128 (), 8010 __M); 8011 } 8012 8013 extern __inline __m128i 8014 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8015 _mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) 8016 { 8017 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, 8018 (__v2di) __B, 8019 (__v2di) 8020 _mm_setzero_si128 (), 8021 __M); 8022 } 8023 8024 extern __inline __m128i 8025 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8026 _mm_max_epi64 (__m128i __A, __m128i __B) 8027 { 8028 return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A, 8029 (__v2di) __B, 8030 (__v2di) 8031 _mm_setzero_si128 (), 8032 (__mmask8) -1); 8033 } 8034 8035 extern __inline __m128i 8036 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8037 _mm_max_epu64 (__m128i __A, __m128i __B) 8038 { 8039 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, 8040 (__v2di) __B, 8041 (__v2di) 8042 _mm_setzero_si128 (), 8043 (__mmask8) -1); 8044 } 8045 8046 extern __inline __m128i 8047 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8048 _mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A, 8049 __m128i __B) 8050 { 8051 return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A, 8052 (__v2di) __B, 8053 (__v2di) __W, __M); 8054 } 8055 8056 extern __inline __m128i 8057 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8058 _mm_min_epu64 (__m128i __A, __m128i __B) 8059 { 8060 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, 8061 (__v2di) __B, 8062 (__v2di) 8063 _mm_setzero_si128 (), 8064 (__mmask8) -1); 8065 } 8066 8067 extern __inline __m128i 8068 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8069 _mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A, 8070 __m128i __B) 8071 { 8072 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, 8073 (__v2di) __B, 8074 (__v2di) __W, __M); 8075 } 8076 8077 extern __inline __m128i 8078 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8079 _mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) 8080 { 8081 return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A, 8082 (__v2di) __B, 8083 (__v2di) 8084 _mm_setzero_si128 (), 8085 __M); 8086 } 8087 8088 extern __inline __m128i 8089 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8090 _mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B) 8091 { 8092 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A, 8093 (__v4si) __B, 8094 (__v4si) 8095 _mm_setzero_si128 (), 8096 __M); 8097 } 8098 8099 extern __inline __m128i 8100 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8101 _mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A, 8102 __m128i __B) 8103 { 8104 return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A, 8105 (__v4si) __B, 8106 (__v4si) __W, __M); 8107 } 8108 8109 extern __inline __m128i 8110 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8111 _mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B) 8112 { 8113 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A, 8114 (__v4si) __B, 8115 (__v4si) 8116 _mm_setzero_si128 (), 8117 __M); 8118 } 8119 8120 extern __inline __m128i 8121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8122 _mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A, 8123 __m128i __B) 8124 { 8125 return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A, 8126 (__v4si) __B, 8127 (__v4si) __W, __M); 8128 } 8129 8130 extern __inline __m128i 8131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8132 _mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B) 8133 { 8134 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A, 8135 (__v4si) __B, 8136 (__v4si) 8137 _mm_setzero_si128 (), 8138 __M); 8139 } 8140 8141 extern __inline __m128i 8142 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8143 _mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A, 8144 __m128i __B) 8145 { 8146 return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A, 8147 (__v4si) __B, 8148 (__v4si) __W, __M); 8149 } 8150 8151 extern __inline __m128i 8152 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8153 _mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B) 8154 { 8155 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A, 8156 (__v4si) __B, 8157 (__v4si) 8158 _mm_setzero_si128 (), 8159 __M); 8160 } 8161 8162 extern __inline __m128i 8163 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8164 _mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A, 8165 __m128i __B) 8166 { 8167 return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A, 8168 (__v4si) __B, 8169 (__v4si) __W, __M); 8170 } 8171 8172 #ifndef __AVX512CD__ 8173 #pragma GCC push_options 8174 #pragma GCC target("avx512vl,avx512cd") 8175 #define __DISABLE_AVX512VLCD__ 8176 #endif 8177 8178 extern __inline __m128i 8179 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8180 _mm_broadcastmb_epi64 (__mmask8 __A) 8181 { 8182 return (__m128i) __builtin_ia32_broadcastmb128 (__A); 8183 } 8184 8185 extern __inline __m256i 8186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8187 _mm256_broadcastmb_epi64 (__mmask8 __A) 8188 { 8189 return (__m256i) __builtin_ia32_broadcastmb256 (__A); 8190 } 8191 8192 extern __inline __m128i 8193 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8194 _mm_broadcastmw_epi32 (__mmask16 __A) 8195 { 8196 return (__m128i) __builtin_ia32_broadcastmw128 (__A); 8197 } 8198 8199 extern __inline __m256i 8200 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8201 _mm256_broadcastmw_epi32 (__mmask16 __A) 8202 { 8203 return (__m256i) __builtin_ia32_broadcastmw256 (__A); 8204 } 8205 8206 extern __inline __m256i 8207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8208 _mm256_lzcnt_epi32 (__m256i __A) 8209 { 8210 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, 8211 (__v8si) 8212 _mm256_setzero_si256 (), 8213 (__mmask8) -1); 8214 } 8215 8216 extern __inline __m256i 8217 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8218 _mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 8219 { 8220 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, 8221 (__v8si) __W, 8222 (__mmask8) __U); 8223 } 8224 8225 extern __inline __m256i 8226 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8227 _mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A) 8228 { 8229 return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, 8230 (__v8si) 8231 _mm256_setzero_si256 (), 8232 (__mmask8) __U); 8233 } 8234 8235 extern __inline __m256i 8236 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8237 _mm256_lzcnt_epi64 (__m256i __A) 8238 { 8239 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, 8240 (__v4di) 8241 _mm256_setzero_si256 (), 8242 (__mmask8) -1); 8243 } 8244 8245 extern __inline __m256i 8246 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8247 _mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 8248 { 8249 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, 8250 (__v4di) __W, 8251 (__mmask8) __U); 8252 } 8253 8254 extern __inline __m256i 8255 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8256 _mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A) 8257 { 8258 return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, 8259 (__v4di) 8260 _mm256_setzero_si256 (), 8261 (__mmask8) __U); 8262 } 8263 8264 extern __inline __m256i 8265 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8266 _mm256_conflict_epi64 (__m256i __A) 8267 { 8268 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, 8269 (__v4di) 8270 _mm256_setzero_si256 (), 8271 (__mmask8) -1); 8272 } 8273 8274 extern __inline __m256i 8275 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8276 _mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 8277 { 8278 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, 8279 (__v4di) __W, 8280 (__mmask8) 8281 __U); 8282 } 8283 8284 extern __inline __m256i 8285 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8286 _mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A) 8287 { 8288 return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, 8289 (__v4di) 8290 _mm256_setzero_si256 (), 8291 (__mmask8) 8292 __U); 8293 } 8294 8295 extern __inline __m256i 8296 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8297 _mm256_conflict_epi32 (__m256i __A) 8298 { 8299 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, 8300 (__v8si) 8301 _mm256_setzero_si256 (), 8302 (__mmask8) -1); 8303 } 8304 8305 extern __inline __m256i 8306 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8307 _mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 8308 { 8309 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, 8310 (__v8si) __W, 8311 (__mmask8) 8312 __U); 8313 } 8314 8315 extern __inline __m256i 8316 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8317 _mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A) 8318 { 8319 return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, 8320 (__v8si) 8321 _mm256_setzero_si256 (), 8322 (__mmask8) 8323 __U); 8324 } 8325 8326 extern __inline __m128i 8327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8328 _mm_lzcnt_epi32 (__m128i __A) 8329 { 8330 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, 8331 (__v4si) 8332 _mm_setzero_si128 (), 8333 (__mmask8) -1); 8334 } 8335 8336 extern __inline __m128i 8337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8338 _mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 8339 { 8340 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, 8341 (__v4si) __W, 8342 (__mmask8) __U); 8343 } 8344 8345 extern __inline __m128i 8346 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8347 _mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A) 8348 { 8349 return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, 8350 (__v4si) 8351 _mm_setzero_si128 (), 8352 (__mmask8) __U); 8353 } 8354 8355 extern __inline __m128i 8356 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8357 _mm_lzcnt_epi64 (__m128i __A) 8358 { 8359 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, 8360 (__v2di) 8361 _mm_setzero_si128 (), 8362 (__mmask8) -1); 8363 } 8364 8365 extern __inline __m128i 8366 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8367 _mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 8368 { 8369 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, 8370 (__v2di) __W, 8371 (__mmask8) __U); 8372 } 8373 8374 extern __inline __m128i 8375 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8376 _mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A) 8377 { 8378 return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, 8379 (__v2di) 8380 _mm_setzero_si128 (), 8381 (__mmask8) __U); 8382 } 8383 8384 extern __inline __m128i 8385 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8386 _mm_conflict_epi64 (__m128i __A) 8387 { 8388 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, 8389 (__v2di) 8390 _mm_setzero_si128 (), 8391 (__mmask8) -1); 8392 } 8393 8394 extern __inline __m128i 8395 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8396 _mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 8397 { 8398 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, 8399 (__v2di) __W, 8400 (__mmask8) 8401 __U); 8402 } 8403 8404 extern __inline __m128i 8405 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8406 _mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A) 8407 { 8408 return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, 8409 (__v2di) 8410 _mm_setzero_si128 (), 8411 (__mmask8) 8412 __U); 8413 } 8414 8415 extern __inline __m128i 8416 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8417 _mm_conflict_epi32 (__m128i __A) 8418 { 8419 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, 8420 (__v4si) 8421 _mm_setzero_si128 (), 8422 (__mmask8) -1); 8423 } 8424 8425 extern __inline __m128i 8426 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8427 _mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 8428 { 8429 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, 8430 (__v4si) __W, 8431 (__mmask8) 8432 __U); 8433 } 8434 8435 extern __inline __m128i 8436 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8437 _mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A) 8438 { 8439 return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, 8440 (__v4si) 8441 _mm_setzero_si128 (), 8442 (__mmask8) 8443 __U); 8444 } 8445 8446 #ifdef __DISABLE_AVX512VLCD__ 8447 #pragma GCC pop_options 8448 #endif 8449 8450 extern __inline __m256d 8451 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8452 _mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A, 8453 __m256d __B) 8454 { 8455 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A, 8456 (__v4df) __B, 8457 (__v4df) __W, 8458 (__mmask8) __U); 8459 } 8460 8461 extern __inline __m256d 8462 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8463 _mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B) 8464 { 8465 return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A, 8466 (__v4df) __B, 8467 (__v4df) 8468 _mm256_setzero_pd (), 8469 (__mmask8) __U); 8470 } 8471 8472 extern __inline __m128d 8473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8474 _mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A, 8475 __m128d __B) 8476 { 8477 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A, 8478 (__v2df) __B, 8479 (__v2df) __W, 8480 (__mmask8) __U); 8481 } 8482 8483 extern __inline __m128d 8484 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8485 _mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B) 8486 { 8487 return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A, 8488 (__v2df) __B, 8489 (__v2df) 8490 _mm_setzero_pd (), 8491 (__mmask8) __U); 8492 } 8493 8494 extern __inline __m256 8495 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8496 _mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A, 8497 __m256 __B) 8498 { 8499 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A, 8500 (__v8sf) __B, 8501 (__v8sf) __W, 8502 (__mmask8) __U); 8503 } 8504 8505 extern __inline __m256d 8506 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8507 _mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A, 8508 __m256d __B) 8509 { 8510 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A, 8511 (__v4df) __B, 8512 (__v4df) __W, 8513 (__mmask8) __U); 8514 } 8515 8516 extern __inline __m256d 8517 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8518 _mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B) 8519 { 8520 return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A, 8521 (__v4df) __B, 8522 (__v4df) 8523 _mm256_setzero_pd (), 8524 (__mmask8) __U); 8525 } 8526 8527 extern __inline __m128d 8528 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8529 _mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A, 8530 __m128d __B) 8531 { 8532 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A, 8533 (__v2df) __B, 8534 (__v2df) __W, 8535 (__mmask8) __U); 8536 } 8537 8538 extern __inline __m128d 8539 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8540 _mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B) 8541 { 8542 return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A, 8543 (__v2df) __B, 8544 (__v2df) 8545 _mm_setzero_pd (), 8546 (__mmask8) __U); 8547 } 8548 8549 extern __inline __m256 8550 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8551 _mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A, 8552 __m256 __B) 8553 { 8554 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A, 8555 (__v8sf) __B, 8556 (__v8sf) __W, 8557 (__mmask8) __U); 8558 } 8559 8560 extern __inline __m256 8561 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8562 _mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B) 8563 { 8564 return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A, 8565 (__v8sf) __B, 8566 (__v8sf) 8567 _mm256_setzero_ps (), 8568 (__mmask8) __U); 8569 } 8570 8571 extern __inline __m128 8572 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8573 _mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 8574 { 8575 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A, 8576 (__v4sf) __B, 8577 (__v4sf) __W, 8578 (__mmask8) __U); 8579 } 8580 8581 extern __inline __m128 8582 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8583 _mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B) 8584 { 8585 return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A, 8586 (__v4sf) __B, 8587 (__v4sf) 8588 _mm_setzero_ps (), 8589 (__mmask8) __U); 8590 } 8591 8592 extern __inline __m128 8593 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8594 _mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A) 8595 { 8596 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A, 8597 (__v4sf) __W, 8598 (__mmask8) __U); 8599 } 8600 8601 extern __inline __m128 8602 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8603 _mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A) 8604 { 8605 return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A, 8606 (__v4sf) 8607 _mm_setzero_ps (), 8608 (__mmask8) __U); 8609 } 8610 8611 extern __inline __m256 8612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8613 _mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B) 8614 { 8615 return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A, 8616 (__v8sf) __B, 8617 (__v8sf) 8618 _mm256_setzero_ps (), 8619 (__mmask8) __U); 8620 } 8621 8622 extern __inline __m256 8623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8624 _mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A) 8625 { 8626 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A, 8627 (__v8sf) __W, 8628 (__mmask8) __U); 8629 } 8630 8631 extern __inline __m256 8632 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8633 _mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A) 8634 { 8635 return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A, 8636 (__v8sf) 8637 _mm256_setzero_ps (), 8638 (__mmask8) __U); 8639 } 8640 8641 extern __inline __m128 8642 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8643 _mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) 8644 { 8645 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A, 8646 (__v4sf) __B, 8647 (__v4sf) __W, 8648 (__mmask8) __U); 8649 } 8650 8651 extern __inline __m128 8652 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8653 _mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B) 8654 { 8655 return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A, 8656 (__v4sf) __B, 8657 (__v4sf) 8658 _mm_setzero_ps (), 8659 (__mmask8) __U); 8660 } 8661 8662 extern __inline __m256i 8663 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8664 _mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 8665 __m128i __B) 8666 { 8667 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A, 8668 (__v4si) __B, 8669 (__v8si) __W, 8670 (__mmask8) __U); 8671 } 8672 8673 extern __inline __m256i 8674 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8675 _mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B) 8676 { 8677 return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A, 8678 (__v4si) __B, 8679 (__v8si) 8680 _mm256_setzero_si256 (), 8681 (__mmask8) __U); 8682 } 8683 8684 extern __inline __m128i 8685 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8686 _mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 8687 __m128i __B) 8688 { 8689 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A, 8690 (__v4si) __B, 8691 (__v4si) __W, 8692 (__mmask8) __U); 8693 } 8694 8695 extern __inline __m128i 8696 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8697 _mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 8698 { 8699 return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A, 8700 (__v4si) __B, 8701 (__v4si) 8702 _mm_setzero_si128 (), 8703 (__mmask8) __U); 8704 } 8705 8706 extern __inline __m256i 8707 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8708 _mm256_sra_epi64 (__m256i __A, __m128i __B) 8709 { 8710 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A, 8711 (__v2di) __B, 8712 (__v4di) 8713 _mm256_setzero_si256 (), 8714 (__mmask8) -1); 8715 } 8716 8717 extern __inline __m256i 8718 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8719 _mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 8720 __m128i __B) 8721 { 8722 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A, 8723 (__v2di) __B, 8724 (__v4di) __W, 8725 (__mmask8) __U); 8726 } 8727 8728 extern __inline __m256i 8729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8730 _mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B) 8731 { 8732 return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A, 8733 (__v2di) __B, 8734 (__v4di) 8735 _mm256_setzero_si256 (), 8736 (__mmask8) __U); 8737 } 8738 8739 extern __inline __m128i 8740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8741 _mm_sra_epi64 (__m128i __A, __m128i __B) 8742 { 8743 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A, 8744 (__v2di) __B, 8745 (__v2di) 8746 _mm_setzero_si128 (), 8747 (__mmask8) -1); 8748 } 8749 8750 extern __inline __m128i 8751 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8752 _mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 8753 __m128i __B) 8754 { 8755 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A, 8756 (__v2di) __B, 8757 (__v2di) __W, 8758 (__mmask8) __U); 8759 } 8760 8761 extern __inline __m128i 8762 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8763 _mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 8764 { 8765 return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A, 8766 (__v2di) __B, 8767 (__v2di) 8768 _mm_setzero_si128 (), 8769 (__mmask8) __U); 8770 } 8771 8772 extern __inline __m128i 8773 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8774 _mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 8775 __m128i __B) 8776 { 8777 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A, 8778 (__v4si) __B, 8779 (__v4si) __W, 8780 (__mmask8) __U); 8781 } 8782 8783 extern __inline __m128i 8784 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8785 _mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B) 8786 { 8787 return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A, 8788 (__v4si) __B, 8789 (__v4si) 8790 _mm_setzero_si128 (), 8791 (__mmask8) __U); 8792 } 8793 8794 extern __inline __m128i 8795 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8796 _mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 8797 __m128i __B) 8798 { 8799 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A, 8800 (__v2di) __B, 8801 (__v2di) __W, 8802 (__mmask8) __U); 8803 } 8804 8805 extern __inline __m128i 8806 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8807 _mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B) 8808 { 8809 return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A, 8810 (__v2di) __B, 8811 (__v2di) 8812 _mm_setzero_si128 (), 8813 (__mmask8) __U); 8814 } 8815 8816 extern __inline __m256i 8817 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8818 _mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 8819 __m128i __B) 8820 { 8821 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A, 8822 (__v4si) __B, 8823 (__v8si) __W, 8824 (__mmask8) __U); 8825 } 8826 8827 extern __inline __m256i 8828 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8829 _mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B) 8830 { 8831 return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A, 8832 (__v4si) __B, 8833 (__v8si) 8834 _mm256_setzero_si256 (), 8835 (__mmask8) __U); 8836 } 8837 8838 extern __inline __m256i 8839 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8840 _mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 8841 __m128i __B) 8842 { 8843 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A, 8844 (__v2di) __B, 8845 (__v4di) __W, 8846 (__mmask8) __U); 8847 } 8848 8849 extern __inline __m256i 8850 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8851 _mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B) 8852 { 8853 return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A, 8854 (__v2di) __B, 8855 (__v4di) 8856 _mm256_setzero_si256 (), 8857 (__mmask8) __U); 8858 } 8859 8860 extern __inline __m256 8861 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8862 _mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X, 8863 __m256 __Y) 8864 { 8865 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y, 8866 (__v8si) __X, 8867 (__v8sf) __W, 8868 (__mmask8) __U); 8869 } 8870 8871 extern __inline __m256 8872 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8873 _mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y) 8874 { 8875 return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y, 8876 (__v8si) __X, 8877 (__v8sf) 8878 _mm256_setzero_ps (), 8879 (__mmask8) __U); 8880 } 8881 8882 extern __inline __m256d 8883 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8884 _mm256_permutexvar_pd (__m256i __X, __m256d __Y) 8885 { 8886 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, 8887 (__v4di) __X, 8888 (__v4df) 8889 _mm256_setzero_pd (), 8890 (__mmask8) -1); 8891 } 8892 8893 extern __inline __m256d 8894 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8895 _mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X, 8896 __m256d __Y) 8897 { 8898 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, 8899 (__v4di) __X, 8900 (__v4df) __W, 8901 (__mmask8) __U); 8902 } 8903 8904 extern __inline __m256d 8905 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8906 _mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y) 8907 { 8908 return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, 8909 (__v4di) __X, 8910 (__v4df) 8911 _mm256_setzero_pd (), 8912 (__mmask8) __U); 8913 } 8914 8915 extern __inline __m256d 8916 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8917 _mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A, 8918 __m256i __C) 8919 { 8920 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A, 8921 (__v4di) __C, 8922 (__v4df) __W, 8923 (__mmask8) 8924 __U); 8925 } 8926 8927 extern __inline __m256d 8928 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8929 _mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C) 8930 { 8931 return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A, 8932 (__v4di) __C, 8933 (__v4df) 8934 _mm256_setzero_pd (), 8935 (__mmask8) 8936 __U); 8937 } 8938 8939 extern __inline __m256 8940 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8941 _mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A, 8942 __m256i __C) 8943 { 8944 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A, 8945 (__v8si) __C, 8946 (__v8sf) __W, 8947 (__mmask8) __U); 8948 } 8949 8950 extern __inline __m256 8951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8952 _mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C) 8953 { 8954 return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A, 8955 (__v8si) __C, 8956 (__v8sf) 8957 _mm256_setzero_ps (), 8958 (__mmask8) __U); 8959 } 8960 8961 extern __inline __m128d 8962 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8963 _mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A, 8964 __m128i __C) 8965 { 8966 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A, 8967 (__v2di) __C, 8968 (__v2df) __W, 8969 (__mmask8) __U); 8970 } 8971 8972 extern __inline __m128d 8973 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8974 _mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C) 8975 { 8976 return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A, 8977 (__v2di) __C, 8978 (__v2df) 8979 _mm_setzero_pd (), 8980 (__mmask8) __U); 8981 } 8982 8983 extern __inline __m128 8984 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8985 _mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A, 8986 __m128i __C) 8987 { 8988 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A, 8989 (__v4si) __C, 8990 (__v4sf) __W, 8991 (__mmask8) __U); 8992 } 8993 8994 extern __inline __m128 8995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 8996 _mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C) 8997 { 8998 return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A, 8999 (__v4si) __C, 9000 (__v4sf) 9001 _mm_setzero_ps (), 9002 (__mmask8) __U); 9003 } 9004 9005 extern __inline __m256i 9006 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9007 _mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B) 9008 { 9009 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A, 9010 (__v8si) __B, 9011 (__v8si) 9012 _mm256_setzero_si256 (), 9013 __M); 9014 } 9015 9016 extern __inline __m256i 9017 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9018 _mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y) 9019 { 9020 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, 9021 (__v4di) __X, 9022 (__v4di) 9023 _mm256_setzero_si256 (), 9024 __M); 9025 } 9026 9027 extern __inline __m256i 9028 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9029 _mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A, 9030 __m256i __B) 9031 { 9032 return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A, 9033 (__v8si) __B, 9034 (__v8si) __W, __M); 9035 } 9036 9037 extern __inline __m128i 9038 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9039 _mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B) 9040 { 9041 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A, 9042 (__v4si) __B, 9043 (__v4si) 9044 _mm_setzero_si128 (), 9045 __M); 9046 } 9047 9048 extern __inline __m128i 9049 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9050 _mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A, 9051 __m128i __B) 9052 { 9053 return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A, 9054 (__v4si) __B, 9055 (__v4si) __W, __M); 9056 } 9057 9058 extern __inline __m256i 9059 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9060 _mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X, 9061 __m256i __Y) 9062 { 9063 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X, 9064 (__v8si) __Y, 9065 (__v4di) __W, __M); 9066 } 9067 9068 extern __inline __m256i 9069 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9070 _mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) 9071 { 9072 return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X, 9073 (__v8si) __Y, 9074 (__v4di) 9075 _mm256_setzero_si256 (), 9076 __M); 9077 } 9078 9079 extern __inline __m128i 9080 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9081 _mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X, 9082 __m128i __Y) 9083 { 9084 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X, 9085 (__v4si) __Y, 9086 (__v2di) __W, __M); 9087 } 9088 9089 extern __inline __m128i 9090 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9091 _mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y) 9092 { 9093 return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X, 9094 (__v4si) __Y, 9095 (__v2di) 9096 _mm_setzero_si128 (), 9097 __M); 9098 } 9099 9100 extern __inline __m256i 9101 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9102 _mm256_permutexvar_epi64 (__m256i __X, __m256i __Y) 9103 { 9104 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, 9105 (__v4di) __X, 9106 (__v4di) 9107 _mm256_setzero_si256 (), 9108 (__mmask8) -1); 9109 } 9110 9111 extern __inline __m256i 9112 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9113 _mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X, 9114 __m256i __Y) 9115 { 9116 return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, 9117 (__v4di) __X, 9118 (__v4di) __W, 9119 __M); 9120 } 9121 9122 extern __inline __m256i 9123 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9124 _mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X, 9125 __m256i __Y) 9126 { 9127 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X, 9128 (__v8si) __Y, 9129 (__v4di) __W, __M); 9130 } 9131 9132 extern __inline __m256i 9133 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9134 _mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) 9135 { 9136 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, 9137 (__v8si) __X, 9138 (__v8si) 9139 _mm256_setzero_si256 (), 9140 __M); 9141 } 9142 9143 extern __inline __m256i 9144 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9145 _mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y) 9146 { 9147 return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X, 9148 (__v8si) __Y, 9149 (__v4di) 9150 _mm256_setzero_si256 (), 9151 __M); 9152 } 9153 9154 extern __inline __m128i 9155 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9156 _mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X, 9157 __m128i __Y) 9158 { 9159 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X, 9160 (__v4si) __Y, 9161 (__v2di) __W, __M); 9162 } 9163 9164 extern __inline __m128i 9165 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9166 _mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y) 9167 { 9168 return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X, 9169 (__v4si) __Y, 9170 (__v2di) 9171 _mm_setzero_si128 (), 9172 __M); 9173 } 9174 9175 extern __inline __m256i 9176 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9177 _mm256_permutexvar_epi32 (__m256i __X, __m256i __Y) 9178 { 9179 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, 9180 (__v8si) __X, 9181 (__v8si) 9182 _mm256_setzero_si256 (), 9183 (__mmask8) -1); 9184 } 9185 9186 extern __inline __m256i 9187 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9188 _mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X, 9189 __m256i __Y) 9190 { 9191 return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, 9192 (__v8si) __X, 9193 (__v8si) __W, 9194 __M); 9195 } 9196 9197 extern __inline __mmask8 9198 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9199 _mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9200 { 9201 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9202 (__v8si) __Y, 4, 9203 (__mmask8) __M); 9204 } 9205 9206 extern __inline __mmask8 9207 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9208 _mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y) 9209 { 9210 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9211 (__v8si) __Y, 4, 9212 (__mmask8) -1); 9213 } 9214 9215 extern __inline __mmask8 9216 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9217 _mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9218 { 9219 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9220 (__v8si) __Y, 1, 9221 (__mmask8) __M); 9222 } 9223 9224 extern __inline __mmask8 9225 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9226 _mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y) 9227 { 9228 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9229 (__v8si) __Y, 1, 9230 (__mmask8) -1); 9231 } 9232 9233 extern __inline __mmask8 9234 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9235 _mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9236 { 9237 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9238 (__v8si) __Y, 5, 9239 (__mmask8) __M); 9240 } 9241 9242 extern __inline __mmask8 9243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9244 _mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y) 9245 { 9246 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9247 (__v8si) __Y, 5, 9248 (__mmask8) -1); 9249 } 9250 9251 extern __inline __mmask8 9252 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9253 _mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9254 { 9255 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9256 (__v8si) __Y, 2, 9257 (__mmask8) __M); 9258 } 9259 9260 extern __inline __mmask8 9261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9262 _mm256_cmple_epu32_mask (__m256i __X, __m256i __Y) 9263 { 9264 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 9265 (__v8si) __Y, 2, 9266 (__mmask8) -1); 9267 } 9268 9269 extern __inline __mmask8 9270 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9271 _mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9272 { 9273 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9274 (__v4di) __Y, 4, 9275 (__mmask8) __M); 9276 } 9277 9278 extern __inline __mmask8 9279 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9280 _mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y) 9281 { 9282 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9283 (__v4di) __Y, 4, 9284 (__mmask8) -1); 9285 } 9286 9287 extern __inline __mmask8 9288 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9289 _mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9290 { 9291 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9292 (__v4di) __Y, 1, 9293 (__mmask8) __M); 9294 } 9295 9296 extern __inline __mmask8 9297 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9298 _mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y) 9299 { 9300 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9301 (__v4di) __Y, 1, 9302 (__mmask8) -1); 9303 } 9304 9305 extern __inline __mmask8 9306 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9307 _mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9308 { 9309 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9310 (__v4di) __Y, 5, 9311 (__mmask8) __M); 9312 } 9313 9314 extern __inline __mmask8 9315 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9316 _mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y) 9317 { 9318 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9319 (__v4di) __Y, 5, 9320 (__mmask8) -1); 9321 } 9322 9323 extern __inline __mmask8 9324 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9325 _mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9326 { 9327 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9328 (__v4di) __Y, 2, 9329 (__mmask8) __M); 9330 } 9331 9332 extern __inline __mmask8 9333 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9334 _mm256_cmple_epu64_mask (__m256i __X, __m256i __Y) 9335 { 9336 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 9337 (__v4di) __Y, 2, 9338 (__mmask8) -1); 9339 } 9340 9341 extern __inline __mmask8 9342 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9343 _mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9344 { 9345 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9346 (__v8si) __Y, 4, 9347 (__mmask8) __M); 9348 } 9349 9350 extern __inline __mmask8 9351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9352 _mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y) 9353 { 9354 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9355 (__v8si) __Y, 4, 9356 (__mmask8) -1); 9357 } 9358 9359 extern __inline __mmask8 9360 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9361 _mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9362 { 9363 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9364 (__v8si) __Y, 1, 9365 (__mmask8) __M); 9366 } 9367 9368 extern __inline __mmask8 9369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9370 _mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y) 9371 { 9372 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9373 (__v8si) __Y, 1, 9374 (__mmask8) -1); 9375 } 9376 9377 extern __inline __mmask8 9378 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9379 _mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9380 { 9381 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9382 (__v8si) __Y, 5, 9383 (__mmask8) __M); 9384 } 9385 9386 extern __inline __mmask8 9387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9388 _mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y) 9389 { 9390 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9391 (__v8si) __Y, 5, 9392 (__mmask8) -1); 9393 } 9394 9395 extern __inline __mmask8 9396 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9397 _mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9398 { 9399 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9400 (__v8si) __Y, 2, 9401 (__mmask8) __M); 9402 } 9403 9404 extern __inline __mmask8 9405 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9406 _mm256_cmple_epi32_mask (__m256i __X, __m256i __Y) 9407 { 9408 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 9409 (__v8si) __Y, 2, 9410 (__mmask8) -1); 9411 } 9412 9413 extern __inline __mmask8 9414 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9415 _mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9416 { 9417 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9418 (__v4di) __Y, 4, 9419 (__mmask8) __M); 9420 } 9421 9422 extern __inline __mmask8 9423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9424 _mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y) 9425 { 9426 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9427 (__v4di) __Y, 4, 9428 (__mmask8) -1); 9429 } 9430 9431 extern __inline __mmask8 9432 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9433 _mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9434 { 9435 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9436 (__v4di) __Y, 1, 9437 (__mmask8) __M); 9438 } 9439 9440 extern __inline __mmask8 9441 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9442 _mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y) 9443 { 9444 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9445 (__v4di) __Y, 1, 9446 (__mmask8) -1); 9447 } 9448 9449 extern __inline __mmask8 9450 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9451 _mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9452 { 9453 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9454 (__v4di) __Y, 5, 9455 (__mmask8) __M); 9456 } 9457 9458 extern __inline __mmask8 9459 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9460 _mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y) 9461 { 9462 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9463 (__v4di) __Y, 5, 9464 (__mmask8) -1); 9465 } 9466 9467 extern __inline __mmask8 9468 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9469 _mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y) 9470 { 9471 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9472 (__v4di) __Y, 2, 9473 (__mmask8) __M); 9474 } 9475 9476 extern __inline __mmask8 9477 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9478 _mm256_cmple_epi64_mask (__m256i __X, __m256i __Y) 9479 { 9480 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 9481 (__v4di) __Y, 2, 9482 (__mmask8) -1); 9483 } 9484 9485 extern __inline __mmask8 9486 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9487 _mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9488 { 9489 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9490 (__v4si) __Y, 4, 9491 (__mmask8) __M); 9492 } 9493 9494 extern __inline __mmask8 9495 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9496 _mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y) 9497 { 9498 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9499 (__v4si) __Y, 4, 9500 (__mmask8) -1); 9501 } 9502 9503 extern __inline __mmask8 9504 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9505 _mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9506 { 9507 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9508 (__v4si) __Y, 1, 9509 (__mmask8) __M); 9510 } 9511 9512 extern __inline __mmask8 9513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9514 _mm_cmplt_epu32_mask (__m128i __X, __m128i __Y) 9515 { 9516 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9517 (__v4si) __Y, 1, 9518 (__mmask8) -1); 9519 } 9520 9521 extern __inline __mmask8 9522 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9523 _mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9524 { 9525 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9526 (__v4si) __Y, 5, 9527 (__mmask8) __M); 9528 } 9529 9530 extern __inline __mmask8 9531 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9532 _mm_cmpge_epu32_mask (__m128i __X, __m128i __Y) 9533 { 9534 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9535 (__v4si) __Y, 5, 9536 (__mmask8) -1); 9537 } 9538 9539 extern __inline __mmask8 9540 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9541 _mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9542 { 9543 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9544 (__v4si) __Y, 2, 9545 (__mmask8) __M); 9546 } 9547 9548 extern __inline __mmask8 9549 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9550 _mm_cmple_epu32_mask (__m128i __X, __m128i __Y) 9551 { 9552 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 9553 (__v4si) __Y, 2, 9554 (__mmask8) -1); 9555 } 9556 9557 extern __inline __mmask8 9558 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9559 _mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9560 { 9561 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9562 (__v2di) __Y, 4, 9563 (__mmask8) __M); 9564 } 9565 9566 extern __inline __mmask8 9567 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9568 _mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y) 9569 { 9570 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9571 (__v2di) __Y, 4, 9572 (__mmask8) -1); 9573 } 9574 9575 extern __inline __mmask8 9576 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9577 _mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9578 { 9579 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9580 (__v2di) __Y, 1, 9581 (__mmask8) __M); 9582 } 9583 9584 extern __inline __mmask8 9585 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9586 _mm_cmplt_epu64_mask (__m128i __X, __m128i __Y) 9587 { 9588 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9589 (__v2di) __Y, 1, 9590 (__mmask8) -1); 9591 } 9592 9593 extern __inline __mmask8 9594 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9595 _mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9596 { 9597 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9598 (__v2di) __Y, 5, 9599 (__mmask8) __M); 9600 } 9601 9602 extern __inline __mmask8 9603 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9604 _mm_cmpge_epu64_mask (__m128i __X, __m128i __Y) 9605 { 9606 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9607 (__v2di) __Y, 5, 9608 (__mmask8) -1); 9609 } 9610 9611 extern __inline __mmask8 9612 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9613 _mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9614 { 9615 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9616 (__v2di) __Y, 2, 9617 (__mmask8) __M); 9618 } 9619 9620 extern __inline __mmask8 9621 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9622 _mm_cmple_epu64_mask (__m128i __X, __m128i __Y) 9623 { 9624 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 9625 (__v2di) __Y, 2, 9626 (__mmask8) -1); 9627 } 9628 9629 extern __inline __mmask8 9630 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9631 _mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9632 { 9633 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9634 (__v4si) __Y, 4, 9635 (__mmask8) __M); 9636 } 9637 9638 extern __inline __mmask8 9639 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9640 _mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y) 9641 { 9642 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9643 (__v4si) __Y, 4, 9644 (__mmask8) -1); 9645 } 9646 9647 extern __inline __mmask8 9648 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9649 _mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9650 { 9651 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9652 (__v4si) __Y, 1, 9653 (__mmask8) __M); 9654 } 9655 9656 extern __inline __mmask8 9657 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9658 _mm_cmplt_epi32_mask (__m128i __X, __m128i __Y) 9659 { 9660 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9661 (__v4si) __Y, 1, 9662 (__mmask8) -1); 9663 } 9664 9665 extern __inline __mmask8 9666 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9667 _mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9668 { 9669 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9670 (__v4si) __Y, 5, 9671 (__mmask8) __M); 9672 } 9673 9674 extern __inline __mmask8 9675 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9676 _mm_cmpge_epi32_mask (__m128i __X, __m128i __Y) 9677 { 9678 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9679 (__v4si) __Y, 5, 9680 (__mmask8) -1); 9681 } 9682 9683 extern __inline __mmask8 9684 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9685 _mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9686 { 9687 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9688 (__v4si) __Y, 2, 9689 (__mmask8) __M); 9690 } 9691 9692 extern __inline __mmask8 9693 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9694 _mm_cmple_epi32_mask (__m128i __X, __m128i __Y) 9695 { 9696 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 9697 (__v4si) __Y, 2, 9698 (__mmask8) -1); 9699 } 9700 9701 extern __inline __mmask8 9702 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9703 _mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9704 { 9705 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9706 (__v2di) __Y, 4, 9707 (__mmask8) __M); 9708 } 9709 9710 extern __inline __mmask8 9711 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9712 _mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y) 9713 { 9714 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9715 (__v2di) __Y, 4, 9716 (__mmask8) -1); 9717 } 9718 9719 extern __inline __mmask8 9720 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9721 _mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9722 { 9723 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9724 (__v2di) __Y, 1, 9725 (__mmask8) __M); 9726 } 9727 9728 extern __inline __mmask8 9729 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9730 _mm_cmplt_epi64_mask (__m128i __X, __m128i __Y) 9731 { 9732 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9733 (__v2di) __Y, 1, 9734 (__mmask8) -1); 9735 } 9736 9737 extern __inline __mmask8 9738 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9739 _mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9740 { 9741 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9742 (__v2di) __Y, 5, 9743 (__mmask8) __M); 9744 } 9745 9746 extern __inline __mmask8 9747 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9748 _mm_cmpge_epi64_mask (__m128i __X, __m128i __Y) 9749 { 9750 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9751 (__v2di) __Y, 5, 9752 (__mmask8) -1); 9753 } 9754 9755 extern __inline __mmask8 9756 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9757 _mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y) 9758 { 9759 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9760 (__v2di) __Y, 2, 9761 (__mmask8) __M); 9762 } 9763 9764 extern __inline __mmask8 9765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9766 _mm_cmple_epi64_mask (__m128i __X, __m128i __Y) 9767 { 9768 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 9769 (__v2di) __Y, 2, 9770 (__mmask8) -1); 9771 } 9772 9773 #ifdef __OPTIMIZE__ 9774 extern __inline __m256i 9775 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9776 _mm256_permutex_epi64 (__m256i __X, const int __I) 9777 { 9778 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X, 9779 __I, 9780 (__v4di) 9781 _mm256_setzero_si256(), 9782 (__mmask8) -1); 9783 } 9784 9785 extern __inline __m256i 9786 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9787 _mm256_mask_permutex_epi64 (__m256i __W, __mmask8 __M, 9788 __m256i __X, const int __I) 9789 { 9790 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X, 9791 __I, 9792 (__v4di) __W, 9793 (__mmask8) __M); 9794 } 9795 9796 extern __inline __m256i 9797 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9798 _mm256_maskz_permutex_epi64 (__mmask8 __M, __m256i __X, const int __I) 9799 { 9800 return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X, 9801 __I, 9802 (__v4di) 9803 _mm256_setzero_si256 (), 9804 (__mmask8) __M); 9805 } 9806 9807 extern __inline __m256d 9808 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9809 _mm256_mask_shuffle_pd (__m256d __W, __mmask8 __U, __m256d __A, 9810 __m256d __B, const int __imm) 9811 { 9812 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A, 9813 (__v4df) __B, __imm, 9814 (__v4df) __W, 9815 (__mmask8) __U); 9816 } 9817 9818 extern __inline __m256d 9819 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9820 _mm256_maskz_shuffle_pd (__mmask8 __U, __m256d __A, __m256d __B, 9821 const int __imm) 9822 { 9823 return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A, 9824 (__v4df) __B, __imm, 9825 (__v4df) 9826 _mm256_setzero_pd (), 9827 (__mmask8) __U); 9828 } 9829 9830 extern __inline __m128d 9831 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9832 _mm_mask_shuffle_pd (__m128d __W, __mmask8 __U, __m128d __A, 9833 __m128d __B, const int __imm) 9834 { 9835 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A, 9836 (__v2df) __B, __imm, 9837 (__v2df) __W, 9838 (__mmask8) __U); 9839 } 9840 9841 extern __inline __m128d 9842 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9843 _mm_maskz_shuffle_pd (__mmask8 __U, __m128d __A, __m128d __B, 9844 const int __imm) 9845 { 9846 return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A, 9847 (__v2df) __B, __imm, 9848 (__v2df) 9849 _mm_setzero_pd (), 9850 (__mmask8) __U); 9851 } 9852 9853 extern __inline __m256 9854 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9855 _mm256_mask_shuffle_ps (__m256 __W, __mmask8 __U, __m256 __A, 9856 __m256 __B, const int __imm) 9857 { 9858 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A, 9859 (__v8sf) __B, __imm, 9860 (__v8sf) __W, 9861 (__mmask8) __U); 9862 } 9863 9864 extern __inline __m256 9865 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9866 _mm256_maskz_shuffle_ps (__mmask8 __U, __m256 __A, __m256 __B, 9867 const int __imm) 9868 { 9869 return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A, 9870 (__v8sf) __B, __imm, 9871 (__v8sf) 9872 _mm256_setzero_ps (), 9873 (__mmask8) __U); 9874 } 9875 9876 extern __inline __m128 9877 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9878 _mm_mask_shuffle_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, 9879 const int __imm) 9880 { 9881 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A, 9882 (__v4sf) __B, __imm, 9883 (__v4sf) __W, 9884 (__mmask8) __U); 9885 } 9886 9887 extern __inline __m128 9888 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9889 _mm_maskz_shuffle_ps (__mmask8 __U, __m128 __A, __m128 __B, 9890 const int __imm) 9891 { 9892 return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A, 9893 (__v4sf) __B, __imm, 9894 (__v4sf) 9895 _mm_setzero_ps (), 9896 (__mmask8) __U); 9897 } 9898 9899 extern __inline __m256i 9900 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9901 _mm256_inserti32x4 (__m256i __A, __m128i __B, const int __imm) 9902 { 9903 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A, 9904 (__v4si) __B, 9905 __imm, 9906 (__v8si) 9907 _mm256_setzero_si256 (), 9908 (__mmask8) -1); 9909 } 9910 9911 extern __inline __m256i 9912 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9913 _mm256_mask_inserti32x4 (__m256i __W, __mmask8 __U, __m256i __A, 9914 __m128i __B, const int __imm) 9915 { 9916 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A, 9917 (__v4si) __B, 9918 __imm, 9919 (__v8si) __W, 9920 (__mmask8) 9921 __U); 9922 } 9923 9924 extern __inline __m256i 9925 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9926 _mm256_maskz_inserti32x4 (__mmask8 __U, __m256i __A, __m128i __B, 9927 const int __imm) 9928 { 9929 return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A, 9930 (__v4si) __B, 9931 __imm, 9932 (__v8si) 9933 _mm256_setzero_si256 (), 9934 (__mmask8) 9935 __U); 9936 } 9937 9938 extern __inline __m256 9939 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9940 _mm256_insertf32x4 (__m256 __A, __m128 __B, const int __imm) 9941 { 9942 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A, 9943 (__v4sf) __B, 9944 __imm, 9945 (__v8sf) 9946 _mm256_setzero_ps (), 9947 (__mmask8) -1); 9948 } 9949 9950 extern __inline __m256 9951 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9952 _mm256_mask_insertf32x4 (__m256 __W, __mmask8 __U, __m256 __A, 9953 __m128 __B, const int __imm) 9954 { 9955 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A, 9956 (__v4sf) __B, 9957 __imm, 9958 (__v8sf) __W, 9959 (__mmask8) __U); 9960 } 9961 9962 extern __inline __m256 9963 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9964 _mm256_maskz_insertf32x4 (__mmask8 __U, __m256 __A, __m128 __B, 9965 const int __imm) 9966 { 9967 return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A, 9968 (__v4sf) __B, 9969 __imm, 9970 (__v8sf) 9971 _mm256_setzero_ps (), 9972 (__mmask8) __U); 9973 } 9974 9975 extern __inline __m128i 9976 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9977 _mm256_extracti32x4_epi32 (__m256i __A, const int __imm) 9978 { 9979 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A, 9980 __imm, 9981 (__v4si) 9982 _mm_setzero_si128 (), 9983 (__mmask8) -1); 9984 } 9985 9986 extern __inline __m128i 9987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 9988 _mm256_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m256i __A, 9989 const int __imm) 9990 { 9991 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A, 9992 __imm, 9993 (__v4si) __W, 9994 (__mmask8) 9995 __U); 9996 } 9997 9998 extern __inline __m128i 9999 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10000 _mm256_maskz_extracti32x4_epi32 (__mmask8 __U, __m256i __A, 10001 const int __imm) 10002 { 10003 return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A, 10004 __imm, 10005 (__v4si) 10006 _mm_setzero_si128 (), 10007 (__mmask8) 10008 __U); 10009 } 10010 10011 extern __inline __m128 10012 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10013 _mm256_extractf32x4_ps (__m256 __A, const int __imm) 10014 { 10015 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A, 10016 __imm, 10017 (__v4sf) 10018 _mm_setzero_ps (), 10019 (__mmask8) -1); 10020 } 10021 10022 extern __inline __m128 10023 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10024 _mm256_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m256 __A, 10025 const int __imm) 10026 { 10027 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A, 10028 __imm, 10029 (__v4sf) __W, 10030 (__mmask8) 10031 __U); 10032 } 10033 10034 extern __inline __m128 10035 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10036 _mm256_maskz_extractf32x4_ps (__mmask8 __U, __m256 __A, 10037 const int __imm) 10038 { 10039 return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A, 10040 __imm, 10041 (__v4sf) 10042 _mm_setzero_ps (), 10043 (__mmask8) 10044 __U); 10045 } 10046 10047 extern __inline __m256i 10048 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10049 _mm256_shuffle_i64x2 (__m256i __A, __m256i __B, const int __imm) 10050 { 10051 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A, 10052 (__v4di) __B, 10053 __imm, 10054 (__v4di) 10055 _mm256_setzero_si256 (), 10056 (__mmask8) -1); 10057 } 10058 10059 extern __inline __m256i 10060 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10061 _mm256_mask_shuffle_i64x2 (__m256i __W, __mmask8 __U, __m256i __A, 10062 __m256i __B, const int __imm) 10063 { 10064 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A, 10065 (__v4di) __B, 10066 __imm, 10067 (__v4di) __W, 10068 (__mmask8) __U); 10069 } 10070 10071 extern __inline __m256i 10072 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10073 _mm256_maskz_shuffle_i64x2 (__mmask8 __U, __m256i __A, __m256i __B, 10074 const int __imm) 10075 { 10076 return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A, 10077 (__v4di) __B, 10078 __imm, 10079 (__v4di) 10080 _mm256_setzero_si256 (), 10081 (__mmask8) __U); 10082 } 10083 10084 extern __inline __m256i 10085 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10086 _mm256_shuffle_i32x4 (__m256i __A, __m256i __B, const int __imm) 10087 { 10088 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A, 10089 (__v8si) __B, 10090 __imm, 10091 (__v8si) 10092 _mm256_setzero_si256 (), 10093 (__mmask8) -1); 10094 } 10095 10096 extern __inline __m256i 10097 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10098 _mm256_mask_shuffle_i32x4 (__m256i __W, __mmask8 __U, __m256i __A, 10099 __m256i __B, const int __imm) 10100 { 10101 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A, 10102 (__v8si) __B, 10103 __imm, 10104 (__v8si) __W, 10105 (__mmask8) __U); 10106 } 10107 10108 extern __inline __m256i 10109 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10110 _mm256_maskz_shuffle_i32x4 (__mmask8 __U, __m256i __A, __m256i __B, 10111 const int __imm) 10112 { 10113 return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A, 10114 (__v8si) __B, 10115 __imm, 10116 (__v8si) 10117 _mm256_setzero_si256 (), 10118 (__mmask8) __U); 10119 } 10120 10121 extern __inline __m256d 10122 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10123 _mm256_shuffle_f64x2 (__m256d __A, __m256d __B, const int __imm) 10124 { 10125 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A, 10126 (__v4df) __B, 10127 __imm, 10128 (__v4df) 10129 _mm256_setzero_pd (), 10130 (__mmask8) -1); 10131 } 10132 10133 extern __inline __m256d 10134 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10135 _mm256_mask_shuffle_f64x2 (__m256d __W, __mmask8 __U, __m256d __A, 10136 __m256d __B, const int __imm) 10137 { 10138 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A, 10139 (__v4df) __B, 10140 __imm, 10141 (__v4df) __W, 10142 (__mmask8) __U); 10143 } 10144 10145 extern __inline __m256d 10146 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10147 _mm256_maskz_shuffle_f64x2 (__mmask8 __U, __m256d __A, __m256d __B, 10148 const int __imm) 10149 { 10150 return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A, 10151 (__v4df) __B, 10152 __imm, 10153 (__v4df) 10154 _mm256_setzero_pd (), 10155 (__mmask8) __U); 10156 } 10157 10158 extern __inline __m256 10159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10160 _mm256_shuffle_f32x4 (__m256 __A, __m256 __B, const int __imm) 10161 { 10162 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A, 10163 (__v8sf) __B, 10164 __imm, 10165 (__v8sf) 10166 _mm256_setzero_ps (), 10167 (__mmask8) -1); 10168 } 10169 10170 extern __inline __m256 10171 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10172 _mm256_mask_shuffle_f32x4 (__m256 __W, __mmask8 __U, __m256 __A, 10173 __m256 __B, const int __imm) 10174 { 10175 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A, 10176 (__v8sf) __B, 10177 __imm, 10178 (__v8sf) __W, 10179 (__mmask8) __U); 10180 } 10181 10182 extern __inline __m256 10183 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10184 _mm256_maskz_shuffle_f32x4 (__mmask8 __U, __m256 __A, __m256 __B, 10185 const int __imm) 10186 { 10187 return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A, 10188 (__v8sf) __B, 10189 __imm, 10190 (__v8sf) 10191 _mm256_setzero_ps (), 10192 (__mmask8) __U); 10193 } 10194 10195 extern __inline __m256d 10196 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10197 _mm256_fixupimm_pd (__m256d __A, __m256d __B, __m256i __C, 10198 const int __imm) 10199 { 10200 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A, 10201 (__v4df) __B, 10202 (__v4di) __C, 10203 __imm, 10204 (__mmask8) -1); 10205 } 10206 10207 extern __inline __m256d 10208 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10209 _mm256_mask_fixupimm_pd (__m256d __A, __mmask8 __U, __m256d __B, 10210 __m256i __C, const int __imm) 10211 { 10212 return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A, 10213 (__v4df) __B, 10214 (__v4di) __C, 10215 __imm, 10216 (__mmask8) __U); 10217 } 10218 10219 extern __inline __m256d 10220 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10221 _mm256_maskz_fixupimm_pd (__mmask8 __U, __m256d __A, __m256d __B, 10222 __m256i __C, const int __imm) 10223 { 10224 return (__m256d) __builtin_ia32_fixupimmpd256_maskz ((__v4df) __A, 10225 (__v4df) __B, 10226 (__v4di) __C, 10227 __imm, 10228 (__mmask8) __U); 10229 } 10230 10231 extern __inline __m256 10232 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10233 _mm256_fixupimm_ps (__m256 __A, __m256 __B, __m256i __C, 10234 const int __imm) 10235 { 10236 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A, 10237 (__v8sf) __B, 10238 (__v8si) __C, 10239 __imm, 10240 (__mmask8) -1); 10241 } 10242 10243 extern __inline __m256 10244 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10245 _mm256_mask_fixupimm_ps (__m256 __A, __mmask8 __U, __m256 __B, 10246 __m256i __C, const int __imm) 10247 { 10248 return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A, 10249 (__v8sf) __B, 10250 (__v8si) __C, 10251 __imm, 10252 (__mmask8) __U); 10253 } 10254 10255 extern __inline __m256 10256 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10257 _mm256_maskz_fixupimm_ps (__mmask8 __U, __m256 __A, __m256 __B, 10258 __m256i __C, const int __imm) 10259 { 10260 return (__m256) __builtin_ia32_fixupimmps256_maskz ((__v8sf) __A, 10261 (__v8sf) __B, 10262 (__v8si) __C, 10263 __imm, 10264 (__mmask8) __U); 10265 } 10266 10267 extern __inline __m128d 10268 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10269 _mm_fixupimm_pd (__m128d __A, __m128d __B, __m128i __C, 10270 const int __imm) 10271 { 10272 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A, 10273 (__v2df) __B, 10274 (__v2di) __C, 10275 __imm, 10276 (__mmask8) -1); 10277 } 10278 10279 extern __inline __m128d 10280 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10281 _mm_mask_fixupimm_pd (__m128d __A, __mmask8 __U, __m128d __B, 10282 __m128i __C, const int __imm) 10283 { 10284 return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A, 10285 (__v2df) __B, 10286 (__v2di) __C, 10287 __imm, 10288 (__mmask8) __U); 10289 } 10290 10291 extern __inline __m128d 10292 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10293 _mm_maskz_fixupimm_pd (__mmask8 __U, __m128d __A, __m128d __B, 10294 __m128i __C, const int __imm) 10295 { 10296 return (__m128d) __builtin_ia32_fixupimmpd128_maskz ((__v2df) __A, 10297 (__v2df) __B, 10298 (__v2di) __C, 10299 __imm, 10300 (__mmask8) __U); 10301 } 10302 10303 extern __inline __m128 10304 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10305 _mm_fixupimm_ps (__m128 __A, __m128 __B, __m128i __C, const int __imm) 10306 { 10307 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A, 10308 (__v4sf) __B, 10309 (__v4si) __C, 10310 __imm, 10311 (__mmask8) -1); 10312 } 10313 10314 extern __inline __m128 10315 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10316 _mm_mask_fixupimm_ps (__m128 __A, __mmask8 __U, __m128 __B, 10317 __m128i __C, const int __imm) 10318 { 10319 return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A, 10320 (__v4sf) __B, 10321 (__v4si) __C, 10322 __imm, 10323 (__mmask8) __U); 10324 } 10325 10326 extern __inline __m128 10327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10328 _mm_maskz_fixupimm_ps (__mmask8 __U, __m128 __A, __m128 __B, 10329 __m128i __C, const int __imm) 10330 { 10331 return (__m128) __builtin_ia32_fixupimmps128_maskz ((__v4sf) __A, 10332 (__v4sf) __B, 10333 (__v4si) __C, 10334 __imm, 10335 (__mmask8) __U); 10336 } 10337 10338 extern __inline __m256i 10339 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10340 _mm256_mask_srli_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 10341 const int __imm) 10342 { 10343 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm, 10344 (__v8si) __W, 10345 (__mmask8) __U); 10346 } 10347 10348 extern __inline __m256i 10349 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10350 _mm256_maskz_srli_epi32 (__mmask8 __U, __m256i __A, const int __imm) 10351 { 10352 return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm, 10353 (__v8si) 10354 _mm256_setzero_si256 (), 10355 (__mmask8) __U); 10356 } 10357 10358 extern __inline __m128i 10359 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10360 _mm_mask_srli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 10361 const int __imm) 10362 { 10363 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm, 10364 (__v4si) __W, 10365 (__mmask8) __U); 10366 } 10367 10368 extern __inline __m128i 10369 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10370 _mm_maskz_srli_epi32 (__mmask8 __U, __m128i __A, const int __imm) 10371 { 10372 return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm, 10373 (__v4si) 10374 _mm_setzero_si128 (), 10375 (__mmask8) __U); 10376 } 10377 10378 extern __inline __m256i 10379 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10380 _mm256_mask_srli_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 10381 const int __imm) 10382 { 10383 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm, 10384 (__v4di) __W, 10385 (__mmask8) __U); 10386 } 10387 10388 extern __inline __m256i 10389 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10390 _mm256_maskz_srli_epi64 (__mmask8 __U, __m256i __A, const int __imm) 10391 { 10392 return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm, 10393 (__v4di) 10394 _mm256_setzero_si256 (), 10395 (__mmask8) __U); 10396 } 10397 10398 extern __inline __m128i 10399 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10400 _mm_mask_srli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 10401 const int __imm) 10402 { 10403 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm, 10404 (__v2di) __W, 10405 (__mmask8) __U); 10406 } 10407 10408 extern __inline __m128i 10409 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10410 _mm_maskz_srli_epi64 (__mmask8 __U, __m128i __A, const int __imm) 10411 { 10412 return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm, 10413 (__v2di) 10414 _mm_setzero_si128 (), 10415 (__mmask8) __U); 10416 } 10417 10418 extern __inline __m256i 10419 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10420 _mm256_ternarylogic_epi64 (__m256i __A, __m256i __B, __m256i __C, 10421 const int __imm) 10422 { 10423 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A, 10424 (__v4di) __B, 10425 (__v4di) __C, __imm, 10426 (__mmask8) -1); 10427 } 10428 10429 extern __inline __m256i 10430 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10431 _mm256_mask_ternarylogic_epi64 (__m256i __A, __mmask8 __U, 10432 __m256i __B, __m256i __C, 10433 const int __imm) 10434 { 10435 return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A, 10436 (__v4di) __B, 10437 (__v4di) __C, __imm, 10438 (__mmask8) __U); 10439 } 10440 10441 extern __inline __m256i 10442 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10443 _mm256_maskz_ternarylogic_epi64 (__mmask8 __U, __m256i __A, 10444 __m256i __B, __m256i __C, 10445 const int __imm) 10446 { 10447 return (__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di) __A, 10448 (__v4di) __B, 10449 (__v4di) __C, 10450 __imm, 10451 (__mmask8) __U); 10452 } 10453 10454 extern __inline __m256i 10455 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10456 _mm256_ternarylogic_epi32 (__m256i __A, __m256i __B, __m256i __C, 10457 const int __imm) 10458 { 10459 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A, 10460 (__v8si) __B, 10461 (__v8si) __C, __imm, 10462 (__mmask8) -1); 10463 } 10464 10465 extern __inline __m256i 10466 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10467 _mm256_mask_ternarylogic_epi32 (__m256i __A, __mmask8 __U, 10468 __m256i __B, __m256i __C, 10469 const int __imm) 10470 { 10471 return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A, 10472 (__v8si) __B, 10473 (__v8si) __C, __imm, 10474 (__mmask8) __U); 10475 } 10476 10477 extern __inline __m256i 10478 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10479 _mm256_maskz_ternarylogic_epi32 (__mmask8 __U, __m256i __A, 10480 __m256i __B, __m256i __C, 10481 const int __imm) 10482 { 10483 return (__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si) __A, 10484 (__v8si) __B, 10485 (__v8si) __C, 10486 __imm, 10487 (__mmask8) __U); 10488 } 10489 10490 extern __inline __m128i 10491 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10492 _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C, 10493 const int __imm) 10494 { 10495 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A, 10496 (__v2di) __B, 10497 (__v2di) __C, __imm, 10498 (__mmask8) -1); 10499 } 10500 10501 extern __inline __m128i 10502 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10503 _mm_mask_ternarylogic_epi64 (__m128i __A, __mmask8 __U, 10504 __m128i __B, __m128i __C, const int __imm) 10505 { 10506 return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A, 10507 (__v2di) __B, 10508 (__v2di) __C, __imm, 10509 (__mmask8) __U); 10510 } 10511 10512 extern __inline __m128i 10513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10514 _mm_maskz_ternarylogic_epi64 (__mmask8 __U, __m128i __A, 10515 __m128i __B, __m128i __C, const int __imm) 10516 { 10517 return (__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di) __A, 10518 (__v2di) __B, 10519 (__v2di) __C, 10520 __imm, 10521 (__mmask8) __U); 10522 } 10523 10524 extern __inline __m128i 10525 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10526 _mm_ternarylogic_epi32 (__m128i __A, __m128i __B, __m128i __C, 10527 const int __imm) 10528 { 10529 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A, 10530 (__v4si) __B, 10531 (__v4si) __C, __imm, 10532 (__mmask8) -1); 10533 } 10534 10535 extern __inline __m128i 10536 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10537 _mm_mask_ternarylogic_epi32 (__m128i __A, __mmask8 __U, 10538 __m128i __B, __m128i __C, const int __imm) 10539 { 10540 return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A, 10541 (__v4si) __B, 10542 (__v4si) __C, __imm, 10543 (__mmask8) __U); 10544 } 10545 10546 extern __inline __m128i 10547 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10548 _mm_maskz_ternarylogic_epi32 (__mmask8 __U, __m128i __A, 10549 __m128i __B, __m128i __C, const int __imm) 10550 { 10551 return (__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si) __A, 10552 (__v4si) __B, 10553 (__v4si) __C, 10554 __imm, 10555 (__mmask8) __U); 10556 } 10557 10558 extern __inline __m256 10559 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10560 _mm256_roundscale_ps (__m256 __A, const int __imm) 10561 { 10562 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, 10563 __imm, 10564 (__v8sf) 10565 _mm256_setzero_ps (), 10566 (__mmask8) -1); 10567 } 10568 10569 extern __inline __m256 10570 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10571 _mm256_mask_roundscale_ps (__m256 __W, __mmask8 __U, __m256 __A, 10572 const int __imm) 10573 { 10574 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, 10575 __imm, 10576 (__v8sf) __W, 10577 (__mmask8) __U); 10578 } 10579 10580 extern __inline __m256 10581 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10582 _mm256_maskz_roundscale_ps (__mmask8 __U, __m256 __A, const int __imm) 10583 { 10584 return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A, 10585 __imm, 10586 (__v8sf) 10587 _mm256_setzero_ps (), 10588 (__mmask8) __U); 10589 } 10590 10591 extern __inline __m256d 10592 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10593 _mm256_roundscale_pd (__m256d __A, const int __imm) 10594 { 10595 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, 10596 __imm, 10597 (__v4df) 10598 _mm256_setzero_pd (), 10599 (__mmask8) -1); 10600 } 10601 10602 extern __inline __m256d 10603 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10604 _mm256_mask_roundscale_pd (__m256d __W, __mmask8 __U, __m256d __A, 10605 const int __imm) 10606 { 10607 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, 10608 __imm, 10609 (__v4df) __W, 10610 (__mmask8) __U); 10611 } 10612 10613 extern __inline __m256d 10614 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10615 _mm256_maskz_roundscale_pd (__mmask8 __U, __m256d __A, const int __imm) 10616 { 10617 return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A, 10618 __imm, 10619 (__v4df) 10620 _mm256_setzero_pd (), 10621 (__mmask8) __U); 10622 } 10623 10624 extern __inline __m128 10625 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10626 _mm_roundscale_ps (__m128 __A, const int __imm) 10627 { 10628 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, 10629 __imm, 10630 (__v4sf) 10631 _mm_setzero_ps (), 10632 (__mmask8) -1); 10633 } 10634 10635 extern __inline __m128 10636 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10637 _mm_mask_roundscale_ps (__m128 __W, __mmask8 __U, __m128 __A, 10638 const int __imm) 10639 { 10640 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, 10641 __imm, 10642 (__v4sf) __W, 10643 (__mmask8) __U); 10644 } 10645 10646 extern __inline __m128 10647 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10648 _mm_maskz_roundscale_ps (__mmask8 __U, __m128 __A, const int __imm) 10649 { 10650 return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A, 10651 __imm, 10652 (__v4sf) 10653 _mm_setzero_ps (), 10654 (__mmask8) __U); 10655 } 10656 10657 extern __inline __m128d 10658 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10659 _mm_roundscale_pd (__m128d __A, const int __imm) 10660 { 10661 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, 10662 __imm, 10663 (__v2df) 10664 _mm_setzero_pd (), 10665 (__mmask8) -1); 10666 } 10667 10668 extern __inline __m128d 10669 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10670 _mm_mask_roundscale_pd (__m128d __W, __mmask8 __U, __m128d __A, 10671 const int __imm) 10672 { 10673 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, 10674 __imm, 10675 (__v2df) __W, 10676 (__mmask8) __U); 10677 } 10678 10679 extern __inline __m128d 10680 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10681 _mm_maskz_roundscale_pd (__mmask8 __U, __m128d __A, const int __imm) 10682 { 10683 return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A, 10684 __imm, 10685 (__v2df) 10686 _mm_setzero_pd (), 10687 (__mmask8) __U); 10688 } 10689 10690 extern __inline __m256 10691 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10692 _mm256_getmant_ps (__m256 __A, _MM_MANTISSA_NORM_ENUM __B, 10693 _MM_MANTISSA_SIGN_ENUM __C) 10694 { 10695 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A, 10696 (__C << 2) | __B, 10697 (__v8sf) 10698 _mm256_setzero_ps (), 10699 (__mmask8) -1); 10700 } 10701 10702 extern __inline __m256 10703 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10704 _mm256_mask_getmant_ps (__m256 __W, __mmask8 __U, __m256 __A, 10705 _MM_MANTISSA_NORM_ENUM __B, 10706 _MM_MANTISSA_SIGN_ENUM __C) 10707 { 10708 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A, 10709 (__C << 2) | __B, 10710 (__v8sf) __W, 10711 (__mmask8) __U); 10712 } 10713 10714 extern __inline __m256 10715 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10716 _mm256_maskz_getmant_ps (__mmask8 __U, __m256 __A, 10717 _MM_MANTISSA_NORM_ENUM __B, 10718 _MM_MANTISSA_SIGN_ENUM __C) 10719 { 10720 return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A, 10721 (__C << 2) | __B, 10722 (__v8sf) 10723 _mm256_setzero_ps (), 10724 (__mmask8) __U); 10725 } 10726 10727 extern __inline __m128 10728 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10729 _mm_getmant_ps (__m128 __A, _MM_MANTISSA_NORM_ENUM __B, 10730 _MM_MANTISSA_SIGN_ENUM __C) 10731 { 10732 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A, 10733 (__C << 2) | __B, 10734 (__v4sf) 10735 _mm_setzero_ps (), 10736 (__mmask8) -1); 10737 } 10738 10739 extern __inline __m128 10740 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10741 _mm_mask_getmant_ps (__m128 __W, __mmask8 __U, __m128 __A, 10742 _MM_MANTISSA_NORM_ENUM __B, 10743 _MM_MANTISSA_SIGN_ENUM __C) 10744 { 10745 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A, 10746 (__C << 2) | __B, 10747 (__v4sf) __W, 10748 (__mmask8) __U); 10749 } 10750 10751 extern __inline __m128 10752 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10753 _mm_maskz_getmant_ps (__mmask8 __U, __m128 __A, 10754 _MM_MANTISSA_NORM_ENUM __B, 10755 _MM_MANTISSA_SIGN_ENUM __C) 10756 { 10757 return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A, 10758 (__C << 2) | __B, 10759 (__v4sf) 10760 _mm_setzero_ps (), 10761 (__mmask8) __U); 10762 } 10763 10764 extern __inline __m256d 10765 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10766 _mm256_getmant_pd (__m256d __A, _MM_MANTISSA_NORM_ENUM __B, 10767 _MM_MANTISSA_SIGN_ENUM __C) 10768 { 10769 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A, 10770 (__C << 2) | __B, 10771 (__v4df) 10772 _mm256_setzero_pd (), 10773 (__mmask8) -1); 10774 } 10775 10776 extern __inline __m256d 10777 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10778 _mm256_mask_getmant_pd (__m256d __W, __mmask8 __U, __m256d __A, 10779 _MM_MANTISSA_NORM_ENUM __B, 10780 _MM_MANTISSA_SIGN_ENUM __C) 10781 { 10782 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A, 10783 (__C << 2) | __B, 10784 (__v4df) __W, 10785 (__mmask8) __U); 10786 } 10787 10788 extern __inline __m256d 10789 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10790 _mm256_maskz_getmant_pd (__mmask8 __U, __m256d __A, 10791 _MM_MANTISSA_NORM_ENUM __B, 10792 _MM_MANTISSA_SIGN_ENUM __C) 10793 { 10794 return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A, 10795 (__C << 2) | __B, 10796 (__v4df) 10797 _mm256_setzero_pd (), 10798 (__mmask8) __U); 10799 } 10800 10801 extern __inline __m128d 10802 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10803 _mm_getmant_pd (__m128d __A, _MM_MANTISSA_NORM_ENUM __B, 10804 _MM_MANTISSA_SIGN_ENUM __C) 10805 { 10806 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A, 10807 (__C << 2) | __B, 10808 (__v2df) 10809 _mm_setzero_pd (), 10810 (__mmask8) -1); 10811 } 10812 10813 extern __inline __m128d 10814 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10815 _mm_mask_getmant_pd (__m128d __W, __mmask8 __U, __m128d __A, 10816 _MM_MANTISSA_NORM_ENUM __B, 10817 _MM_MANTISSA_SIGN_ENUM __C) 10818 { 10819 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A, 10820 (__C << 2) | __B, 10821 (__v2df) __W, 10822 (__mmask8) __U); 10823 } 10824 10825 extern __inline __m128d 10826 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10827 _mm_maskz_getmant_pd (__mmask8 __U, __m128d __A, 10828 _MM_MANTISSA_NORM_ENUM __B, 10829 _MM_MANTISSA_SIGN_ENUM __C) 10830 { 10831 return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A, 10832 (__C << 2) | __B, 10833 (__v2df) 10834 _mm_setzero_pd (), 10835 (__mmask8) __U); 10836 } 10837 10838 extern __inline __m256 10839 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10840 _mm256_mmask_i32gather_ps (__m256 __v1_old, __mmask8 __mask, 10841 __m256i __index, void const *__addr, 10842 int __scale) 10843 { 10844 return (__m256) __builtin_ia32_gather3siv8sf ((__v8sf) __v1_old, 10845 __addr, 10846 (__v8si) __index, 10847 __mask, __scale); 10848 } 10849 10850 extern __inline __m128 10851 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10852 _mm_mmask_i32gather_ps (__m128 __v1_old, __mmask8 __mask, 10853 __m128i __index, void const *__addr, 10854 int __scale) 10855 { 10856 return (__m128) __builtin_ia32_gather3siv4sf ((__v4sf) __v1_old, 10857 __addr, 10858 (__v4si) __index, 10859 __mask, __scale); 10860 } 10861 10862 extern __inline __m256d 10863 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10864 _mm256_mmask_i32gather_pd (__m256d __v1_old, __mmask8 __mask, 10865 __m128i __index, void const *__addr, 10866 int __scale) 10867 { 10868 return (__m256d) __builtin_ia32_gather3siv4df ((__v4df) __v1_old, 10869 __addr, 10870 (__v4si) __index, 10871 __mask, __scale); 10872 } 10873 10874 extern __inline __m128d 10875 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10876 _mm_mmask_i32gather_pd (__m128d __v1_old, __mmask8 __mask, 10877 __m128i __index, void const *__addr, 10878 int __scale) 10879 { 10880 return (__m128d) __builtin_ia32_gather3siv2df ((__v2df) __v1_old, 10881 __addr, 10882 (__v4si) __index, 10883 __mask, __scale); 10884 } 10885 10886 extern __inline __m128 10887 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10888 _mm256_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask, 10889 __m256i __index, void const *__addr, 10890 int __scale) 10891 { 10892 return (__m128) __builtin_ia32_gather3div8sf ((__v4sf) __v1_old, 10893 __addr, 10894 (__v4di) __index, 10895 __mask, __scale); 10896 } 10897 10898 extern __inline __m128 10899 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10900 _mm_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask, 10901 __m128i __index, void const *__addr, 10902 int __scale) 10903 { 10904 return (__m128) __builtin_ia32_gather3div4sf ((__v4sf) __v1_old, 10905 __addr, 10906 (__v2di) __index, 10907 __mask, __scale); 10908 } 10909 10910 extern __inline __m256d 10911 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10912 _mm256_mmask_i64gather_pd (__m256d __v1_old, __mmask8 __mask, 10913 __m256i __index, void const *__addr, 10914 int __scale) 10915 { 10916 return (__m256d) __builtin_ia32_gather3div4df ((__v4df) __v1_old, 10917 __addr, 10918 (__v4di) __index, 10919 __mask, __scale); 10920 } 10921 10922 extern __inline __m128d 10923 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10924 _mm_mmask_i64gather_pd (__m128d __v1_old, __mmask8 __mask, 10925 __m128i __index, void const *__addr, 10926 int __scale) 10927 { 10928 return (__m128d) __builtin_ia32_gather3div2df ((__v2df) __v1_old, 10929 __addr, 10930 (__v2di) __index, 10931 __mask, __scale); 10932 } 10933 10934 extern __inline __m256i 10935 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10936 _mm256_mmask_i32gather_epi32 (__m256i __v1_old, __mmask8 __mask, 10937 __m256i __index, void const *__addr, 10938 int __scale) 10939 { 10940 return (__m256i) __builtin_ia32_gather3siv8si ((__v8si) __v1_old, 10941 __addr, 10942 (__v8si) __index, 10943 __mask, __scale); 10944 } 10945 10946 extern __inline __m128i 10947 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10948 _mm_mmask_i32gather_epi32 (__m128i __v1_old, __mmask8 __mask, 10949 __m128i __index, void const *__addr, 10950 int __scale) 10951 { 10952 return (__m128i) __builtin_ia32_gather3siv4si ((__v4si) __v1_old, 10953 __addr, 10954 (__v4si) __index, 10955 __mask, __scale); 10956 } 10957 10958 extern __inline __m256i 10959 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10960 _mm256_mmask_i32gather_epi64 (__m256i __v1_old, __mmask8 __mask, 10961 __m128i __index, void const *__addr, 10962 int __scale) 10963 { 10964 return (__m256i) __builtin_ia32_gather3siv4di ((__v4di) __v1_old, 10965 __addr, 10966 (__v4si) __index, 10967 __mask, __scale); 10968 } 10969 10970 extern __inline __m128i 10971 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10972 _mm_mmask_i32gather_epi64 (__m128i __v1_old, __mmask8 __mask, 10973 __m128i __index, void const *__addr, 10974 int __scale) 10975 { 10976 return (__m128i) __builtin_ia32_gather3siv2di ((__v2di) __v1_old, 10977 __addr, 10978 (__v4si) __index, 10979 __mask, __scale); 10980 } 10981 10982 extern __inline __m128i 10983 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10984 _mm256_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask, 10985 __m256i __index, void const *__addr, 10986 int __scale) 10987 { 10988 return (__m128i) __builtin_ia32_gather3div8si ((__v4si) __v1_old, 10989 __addr, 10990 (__v4di) __index, 10991 __mask, __scale); 10992 } 10993 10994 extern __inline __m128i 10995 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 10996 _mm_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask, 10997 __m128i __index, void const *__addr, 10998 int __scale) 10999 { 11000 return (__m128i) __builtin_ia32_gather3div4si ((__v4si) __v1_old, 11001 __addr, 11002 (__v2di) __index, 11003 __mask, __scale); 11004 } 11005 11006 extern __inline __m256i 11007 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11008 _mm256_mmask_i64gather_epi64 (__m256i __v1_old, __mmask8 __mask, 11009 __m256i __index, void const *__addr, 11010 int __scale) 11011 { 11012 return (__m256i) __builtin_ia32_gather3div4di ((__v4di) __v1_old, 11013 __addr, 11014 (__v4di) __index, 11015 __mask, __scale); 11016 } 11017 11018 extern __inline __m128i 11019 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11020 _mm_mmask_i64gather_epi64 (__m128i __v1_old, __mmask8 __mask, 11021 __m128i __index, void const *__addr, 11022 int __scale) 11023 { 11024 return (__m128i) __builtin_ia32_gather3div2di ((__v2di) __v1_old, 11025 __addr, 11026 (__v2di) __index, 11027 __mask, __scale); 11028 } 11029 11030 extern __inline void 11031 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11032 _mm256_i32scatter_ps (void *__addr, __m256i __index, 11033 __m256 __v1, const int __scale) 11034 { 11035 __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF, 11036 (__v8si) __index, (__v8sf) __v1, 11037 __scale); 11038 } 11039 11040 extern __inline void 11041 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11042 _mm256_mask_i32scatter_ps (void *__addr, __mmask8 __mask, 11043 __m256i __index, __m256 __v1, 11044 const int __scale) 11045 { 11046 __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index, 11047 (__v8sf) __v1, __scale); 11048 } 11049 11050 extern __inline void 11051 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11052 _mm_i32scatter_ps (void *__addr, __m128i __index, __m128 __v1, 11053 const int __scale) 11054 { 11055 __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF, 11056 (__v4si) __index, (__v4sf) __v1, 11057 __scale); 11058 } 11059 11060 extern __inline void 11061 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11062 _mm_mask_i32scatter_ps (void *__addr, __mmask8 __mask, 11063 __m128i __index, __m128 __v1, 11064 const int __scale) 11065 { 11066 __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index, 11067 (__v4sf) __v1, __scale); 11068 } 11069 11070 extern __inline void 11071 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11072 _mm256_i32scatter_pd (void *__addr, __m128i __index, 11073 __m256d __v1, const int __scale) 11074 { 11075 __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF, 11076 (__v4si) __index, (__v4df) __v1, 11077 __scale); 11078 } 11079 11080 extern __inline void 11081 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11082 _mm256_mask_i32scatter_pd (void *__addr, __mmask8 __mask, 11083 __m128i __index, __m256d __v1, 11084 const int __scale) 11085 { 11086 __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index, 11087 (__v4df) __v1, __scale); 11088 } 11089 11090 extern __inline void 11091 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11092 _mm_i32scatter_pd (void *__addr, __m128i __index, 11093 __m128d __v1, const int __scale) 11094 { 11095 __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF, 11096 (__v4si) __index, (__v2df) __v1, 11097 __scale); 11098 } 11099 11100 extern __inline void 11101 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11102 _mm_mask_i32scatter_pd (void *__addr, __mmask8 __mask, 11103 __m128i __index, __m128d __v1, 11104 const int __scale) 11105 { 11106 __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index, 11107 (__v2df) __v1, __scale); 11108 } 11109 11110 extern __inline void 11111 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11112 _mm256_i64scatter_ps (void *__addr, __m256i __index, 11113 __m128 __v1, const int __scale) 11114 { 11115 __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF, 11116 (__v4di) __index, (__v4sf) __v1, 11117 __scale); 11118 } 11119 11120 extern __inline void 11121 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11122 _mm256_mask_i64scatter_ps (void *__addr, __mmask8 __mask, 11123 __m256i __index, __m128 __v1, 11124 const int __scale) 11125 { 11126 __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index, 11127 (__v4sf) __v1, __scale); 11128 } 11129 11130 extern __inline void 11131 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11132 _mm_i64scatter_ps (void *__addr, __m128i __index, __m128 __v1, 11133 const int __scale) 11134 { 11135 __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF, 11136 (__v2di) __index, (__v4sf) __v1, 11137 __scale); 11138 } 11139 11140 extern __inline void 11141 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11142 _mm_mask_i64scatter_ps (void *__addr, __mmask8 __mask, 11143 __m128i __index, __m128 __v1, 11144 const int __scale) 11145 { 11146 __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index, 11147 (__v4sf) __v1, __scale); 11148 } 11149 11150 extern __inline void 11151 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11152 _mm256_i64scatter_pd (void *__addr, __m256i __index, 11153 __m256d __v1, const int __scale) 11154 { 11155 __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF, 11156 (__v4di) __index, (__v4df) __v1, 11157 __scale); 11158 } 11159 11160 extern __inline void 11161 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11162 _mm256_mask_i64scatter_pd (void *__addr, __mmask8 __mask, 11163 __m256i __index, __m256d __v1, 11164 const int __scale) 11165 { 11166 __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index, 11167 (__v4df) __v1, __scale); 11168 } 11169 11170 extern __inline void 11171 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11172 _mm_i64scatter_pd (void *__addr, __m128i __index, 11173 __m128d __v1, const int __scale) 11174 { 11175 __builtin_ia32_scatterdiv2df (__addr, (__mmask8) 0xFF, 11176 (__v2di) __index, (__v2df) __v1, 11177 __scale); 11178 } 11179 11180 extern __inline void 11181 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11182 _mm_mask_i64scatter_pd (void *__addr, __mmask8 __mask, 11183 __m128i __index, __m128d __v1, 11184 const int __scale) 11185 { 11186 __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index, 11187 (__v2df) __v1, __scale); 11188 } 11189 11190 extern __inline void 11191 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11192 _mm256_i32scatter_epi32 (void *__addr, __m256i __index, 11193 __m256i __v1, const int __scale) 11194 { 11195 __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF, 11196 (__v8si) __index, (__v8si) __v1, 11197 __scale); 11198 } 11199 11200 extern __inline void 11201 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11202 _mm256_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask, 11203 __m256i __index, __m256i __v1, 11204 const int __scale) 11205 { 11206 __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index, 11207 (__v8si) __v1, __scale); 11208 } 11209 11210 extern __inline void 11211 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11212 _mm_i32scatter_epi32 (void *__addr, __m128i __index, 11213 __m128i __v1, const int __scale) 11214 { 11215 __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF, 11216 (__v4si) __index, (__v4si) __v1, 11217 __scale); 11218 } 11219 11220 extern __inline void 11221 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11222 _mm_mask_i32scatter_epi32 (void *__addr, __mmask8 __mask, 11223 __m128i __index, __m128i __v1, 11224 const int __scale) 11225 { 11226 __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index, 11227 (__v4si) __v1, __scale); 11228 } 11229 11230 extern __inline void 11231 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11232 _mm256_i32scatter_epi64 (void *__addr, __m128i __index, 11233 __m256i __v1, const int __scale) 11234 { 11235 __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF, 11236 (__v4si) __index, (__v4di) __v1, 11237 __scale); 11238 } 11239 11240 extern __inline void 11241 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11242 _mm256_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask, 11243 __m128i __index, __m256i __v1, 11244 const int __scale) 11245 { 11246 __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index, 11247 (__v4di) __v1, __scale); 11248 } 11249 11250 extern __inline void 11251 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11252 _mm_i32scatter_epi64 (void *__addr, __m128i __index, 11253 __m128i __v1, const int __scale) 11254 { 11255 __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF, 11256 (__v4si) __index, (__v2di) __v1, 11257 __scale); 11258 } 11259 11260 extern __inline void 11261 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11262 _mm_mask_i32scatter_epi64 (void *__addr, __mmask8 __mask, 11263 __m128i __index, __m128i __v1, 11264 const int __scale) 11265 { 11266 __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index, 11267 (__v2di) __v1, __scale); 11268 } 11269 11270 extern __inline void 11271 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11272 _mm256_i64scatter_epi32 (void *__addr, __m256i __index, 11273 __m128i __v1, const int __scale) 11274 { 11275 __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF, 11276 (__v4di) __index, (__v4si) __v1, 11277 __scale); 11278 } 11279 11280 extern __inline void 11281 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11282 _mm256_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask, 11283 __m256i __index, __m128i __v1, 11284 const int __scale) 11285 { 11286 __builtin_ia32_scatterdiv8si (__addr, __mask, (__v4di) __index, 11287 (__v4si) __v1, __scale); 11288 } 11289 11290 extern __inline void 11291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11292 _mm_i64scatter_epi32 (void *__addr, __m128i __index, 11293 __m128i __v1, const int __scale) 11294 { 11295 __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF, 11296 (__v2di) __index, (__v4si) __v1, 11297 __scale); 11298 } 11299 11300 extern __inline void 11301 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11302 _mm_mask_i64scatter_epi32 (void *__addr, __mmask8 __mask, 11303 __m128i __index, __m128i __v1, 11304 const int __scale) 11305 { 11306 __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index, 11307 (__v4si) __v1, __scale); 11308 } 11309 11310 extern __inline void 11311 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11312 _mm256_i64scatter_epi64 (void *__addr, __m256i __index, 11313 __m256i __v1, const int __scale) 11314 { 11315 __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF, 11316 (__v4di) __index, (__v4di) __v1, 11317 __scale); 11318 } 11319 11320 extern __inline void 11321 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11322 _mm256_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask, 11323 __m256i __index, __m256i __v1, 11324 const int __scale) 11325 { 11326 __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index, 11327 (__v4di) __v1, __scale); 11328 } 11329 11330 extern __inline void 11331 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11332 _mm_i64scatter_epi64 (void *__addr, __m128i __index, 11333 __m128i __v1, const int __scale) 11334 { 11335 __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF, 11336 (__v2di) __index, (__v2di) __v1, 11337 __scale); 11338 } 11339 11340 extern __inline void 11341 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11342 _mm_mask_i64scatter_epi64 (void *__addr, __mmask8 __mask, 11343 __m128i __index, __m128i __v1, 11344 const int __scale) 11345 { 11346 __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index, 11347 (__v2di) __v1, __scale); 11348 } 11349 11350 extern __inline __m256i 11351 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11352 _mm256_mask_shuffle_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 11353 _MM_PERM_ENUM __mask) 11354 { 11355 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask, 11356 (__v8si) __W, 11357 (__mmask8) __U); 11358 } 11359 11360 extern __inline __m256i 11361 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11362 _mm256_maskz_shuffle_epi32 (__mmask8 __U, __m256i __A, 11363 _MM_PERM_ENUM __mask) 11364 { 11365 return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask, 11366 (__v8si) 11367 _mm256_setzero_si256 (), 11368 (__mmask8) __U); 11369 } 11370 11371 extern __inline __m128i 11372 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11373 _mm_mask_shuffle_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 11374 _MM_PERM_ENUM __mask) 11375 { 11376 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask, 11377 (__v4si) __W, 11378 (__mmask8) __U); 11379 } 11380 11381 extern __inline __m128i 11382 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11383 _mm_maskz_shuffle_epi32 (__mmask8 __U, __m128i __A, 11384 _MM_PERM_ENUM __mask) 11385 { 11386 return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask, 11387 (__v4si) 11388 _mm_setzero_si128 (), 11389 (__mmask8) __U); 11390 } 11391 11392 extern __inline __m256i 11393 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11394 _mm256_rol_epi32 (__m256i __A, const int __B) 11395 { 11396 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B, 11397 (__v8si) 11398 _mm256_setzero_si256 (), 11399 (__mmask8) -1); 11400 } 11401 11402 extern __inline __m256i 11403 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11404 _mm256_mask_rol_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 11405 const int __B) 11406 { 11407 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B, 11408 (__v8si) __W, 11409 (__mmask8) __U); 11410 } 11411 11412 extern __inline __m256i 11413 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11414 _mm256_maskz_rol_epi32 (__mmask8 __U, __m256i __A, const int __B) 11415 { 11416 return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B, 11417 (__v8si) 11418 _mm256_setzero_si256 (), 11419 (__mmask8) __U); 11420 } 11421 11422 extern __inline __m128i 11423 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11424 _mm_rol_epi32 (__m128i __A, const int __B) 11425 { 11426 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B, 11427 (__v4si) 11428 _mm_setzero_si128 (), 11429 (__mmask8) -1); 11430 } 11431 11432 extern __inline __m128i 11433 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11434 _mm_mask_rol_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 11435 const int __B) 11436 { 11437 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B, 11438 (__v4si) __W, 11439 (__mmask8) __U); 11440 } 11441 11442 extern __inline __m128i 11443 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11444 _mm_maskz_rol_epi32 (__mmask8 __U, __m128i __A, const int __B) 11445 { 11446 return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B, 11447 (__v4si) 11448 _mm_setzero_si128 (), 11449 (__mmask8) __U); 11450 } 11451 11452 extern __inline __m256i 11453 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11454 _mm256_ror_epi32 (__m256i __A, const int __B) 11455 { 11456 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B, 11457 (__v8si) 11458 _mm256_setzero_si256 (), 11459 (__mmask8) -1); 11460 } 11461 11462 extern __inline __m256i 11463 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11464 _mm256_mask_ror_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 11465 const int __B) 11466 { 11467 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B, 11468 (__v8si) __W, 11469 (__mmask8) __U); 11470 } 11471 11472 extern __inline __m256i 11473 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11474 _mm256_maskz_ror_epi32 (__mmask8 __U, __m256i __A, const int __B) 11475 { 11476 return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B, 11477 (__v8si) 11478 _mm256_setzero_si256 (), 11479 (__mmask8) __U); 11480 } 11481 11482 extern __inline __m128i 11483 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11484 _mm_ror_epi32 (__m128i __A, const int __B) 11485 { 11486 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B, 11487 (__v4si) 11488 _mm_setzero_si128 (), 11489 (__mmask8) -1); 11490 } 11491 11492 extern __inline __m128i 11493 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11494 _mm_mask_ror_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 11495 const int __B) 11496 { 11497 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B, 11498 (__v4si) __W, 11499 (__mmask8) __U); 11500 } 11501 11502 extern __inline __m128i 11503 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11504 _mm_maskz_ror_epi32 (__mmask8 __U, __m128i __A, const int __B) 11505 { 11506 return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B, 11507 (__v4si) 11508 _mm_setzero_si128 (), 11509 (__mmask8) __U); 11510 } 11511 11512 extern __inline __m256i 11513 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11514 _mm256_rol_epi64 (__m256i __A, const int __B) 11515 { 11516 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B, 11517 (__v4di) 11518 _mm256_setzero_si256 (), 11519 (__mmask8) -1); 11520 } 11521 11522 extern __inline __m256i 11523 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11524 _mm256_mask_rol_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 11525 const int __B) 11526 { 11527 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B, 11528 (__v4di) __W, 11529 (__mmask8) __U); 11530 } 11531 11532 extern __inline __m256i 11533 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11534 _mm256_maskz_rol_epi64 (__mmask8 __U, __m256i __A, const int __B) 11535 { 11536 return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B, 11537 (__v4di) 11538 _mm256_setzero_si256 (), 11539 (__mmask8) __U); 11540 } 11541 11542 extern __inline __m128i 11543 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11544 _mm_rol_epi64 (__m128i __A, const int __B) 11545 { 11546 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B, 11547 (__v2di) 11548 _mm_setzero_si128 (), 11549 (__mmask8) -1); 11550 } 11551 11552 extern __inline __m128i 11553 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11554 _mm_mask_rol_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 11555 const int __B) 11556 { 11557 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B, 11558 (__v2di) __W, 11559 (__mmask8) __U); 11560 } 11561 11562 extern __inline __m128i 11563 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11564 _mm_maskz_rol_epi64 (__mmask8 __U, __m128i __A, const int __B) 11565 { 11566 return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B, 11567 (__v2di) 11568 _mm_setzero_si128 (), 11569 (__mmask8) __U); 11570 } 11571 11572 extern __inline __m256i 11573 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11574 _mm256_ror_epi64 (__m256i __A, const int __B) 11575 { 11576 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B, 11577 (__v4di) 11578 _mm256_setzero_si256 (), 11579 (__mmask8) -1); 11580 } 11581 11582 extern __inline __m256i 11583 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11584 _mm256_mask_ror_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 11585 const int __B) 11586 { 11587 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B, 11588 (__v4di) __W, 11589 (__mmask8) __U); 11590 } 11591 11592 extern __inline __m256i 11593 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11594 _mm256_maskz_ror_epi64 (__mmask8 __U, __m256i __A, const int __B) 11595 { 11596 return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B, 11597 (__v4di) 11598 _mm256_setzero_si256 (), 11599 (__mmask8) __U); 11600 } 11601 11602 extern __inline __m128i 11603 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11604 _mm_ror_epi64 (__m128i __A, const int __B) 11605 { 11606 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B, 11607 (__v2di) 11608 _mm_setzero_si128 (), 11609 (__mmask8) -1); 11610 } 11611 11612 extern __inline __m128i 11613 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11614 _mm_mask_ror_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 11615 const int __B) 11616 { 11617 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B, 11618 (__v2di) __W, 11619 (__mmask8) __U); 11620 } 11621 11622 extern __inline __m128i 11623 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11624 _mm_maskz_ror_epi64 (__mmask8 __U, __m128i __A, const int __B) 11625 { 11626 return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B, 11627 (__v2di) 11628 _mm_setzero_si128 (), 11629 (__mmask8) __U); 11630 } 11631 11632 extern __inline __m128i 11633 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11634 _mm_alignr_epi32 (__m128i __A, __m128i __B, const int __imm) 11635 { 11636 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A, 11637 (__v4si) __B, __imm, 11638 (__v4si) 11639 _mm_setzero_si128 (), 11640 (__mmask8) -1); 11641 } 11642 11643 extern __inline __m128i 11644 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11645 _mm_mask_alignr_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 11646 __m128i __B, const int __imm) 11647 { 11648 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A, 11649 (__v4si) __B, __imm, 11650 (__v4si) __W, 11651 (__mmask8) __U); 11652 } 11653 11654 extern __inline __m128i 11655 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11656 _mm_maskz_alignr_epi32 (__mmask8 __U, __m128i __A, __m128i __B, 11657 const int __imm) 11658 { 11659 return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A, 11660 (__v4si) __B, __imm, 11661 (__v4si) 11662 _mm_setzero_si128 (), 11663 (__mmask8) __U); 11664 } 11665 11666 extern __inline __m128i 11667 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11668 _mm_alignr_epi64 (__m128i __A, __m128i __B, const int __imm) 11669 { 11670 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A, 11671 (__v2di) __B, __imm, 11672 (__v2di) 11673 _mm_setzero_si128 (), 11674 (__mmask8) -1); 11675 } 11676 11677 extern __inline __m128i 11678 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11679 _mm_mask_alignr_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 11680 __m128i __B, const int __imm) 11681 { 11682 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A, 11683 (__v2di) __B, __imm, 11684 (__v2di) __W, 11685 (__mmask8) __U); 11686 } 11687 11688 extern __inline __m128i 11689 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11690 _mm_maskz_alignr_epi64 (__mmask8 __U, __m128i __A, __m128i __B, 11691 const int __imm) 11692 { 11693 return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A, 11694 (__v2di) __B, __imm, 11695 (__v2di) 11696 _mm_setzero_si128 (), 11697 (__mmask8) __U); 11698 } 11699 11700 extern __inline __m256i 11701 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11702 _mm256_alignr_epi32 (__m256i __A, __m256i __B, const int __imm) 11703 { 11704 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A, 11705 (__v8si) __B, __imm, 11706 (__v8si) 11707 _mm256_setzero_si256 (), 11708 (__mmask8) -1); 11709 } 11710 11711 extern __inline __m256i 11712 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11713 _mm256_mask_alignr_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 11714 __m256i __B, const int __imm) 11715 { 11716 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A, 11717 (__v8si) __B, __imm, 11718 (__v8si) __W, 11719 (__mmask8) __U); 11720 } 11721 11722 extern __inline __m256i 11723 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11724 _mm256_maskz_alignr_epi32 (__mmask8 __U, __m256i __A, __m256i __B, 11725 const int __imm) 11726 { 11727 return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A, 11728 (__v8si) __B, __imm, 11729 (__v8si) 11730 _mm256_setzero_si256 (), 11731 (__mmask8) __U); 11732 } 11733 11734 extern __inline __m256i 11735 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11736 _mm256_alignr_epi64 (__m256i __A, __m256i __B, const int __imm) 11737 { 11738 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A, 11739 (__v4di) __B, __imm, 11740 (__v4di) 11741 _mm256_setzero_si256 (), 11742 (__mmask8) -1); 11743 } 11744 11745 extern __inline __m256i 11746 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11747 _mm256_mask_alignr_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 11748 __m256i __B, const int __imm) 11749 { 11750 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A, 11751 (__v4di) __B, __imm, 11752 (__v4di) __W, 11753 (__mmask8) __U); 11754 } 11755 11756 extern __inline __m256i 11757 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11758 _mm256_maskz_alignr_epi64 (__mmask8 __U, __m256i __A, __m256i __B, 11759 const int __imm) 11760 { 11761 return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A, 11762 (__v4di) __B, __imm, 11763 (__v4di) 11764 _mm256_setzero_si256 (), 11765 (__mmask8) __U); 11766 } 11767 11768 extern __inline __m128i 11769 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11770 _mm_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m128 __A, 11771 const int __I) 11772 { 11773 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I, 11774 (__v8hi) __W, 11775 (__mmask8) __U); 11776 } 11777 11778 extern __inline __m128i 11779 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11780 _mm_maskz_cvtps_ph (__mmask8 __U, __m128 __A, const int __I) 11781 { 11782 return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I, 11783 (__v8hi) 11784 _mm_setzero_si128 (), 11785 (__mmask8) __U); 11786 } 11787 11788 extern __inline __m128i 11789 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11790 _mm256_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m256 __A, 11791 const int __I) 11792 { 11793 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I, 11794 (__v8hi) __W, 11795 (__mmask8) __U); 11796 } 11797 11798 extern __inline __m128i 11799 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11800 _mm256_maskz_cvtps_ph (__mmask8 __U, __m256 __A, const int __I) 11801 { 11802 return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I, 11803 (__v8hi) 11804 _mm_setzero_si128 (), 11805 (__mmask8) __U); 11806 } 11807 11808 extern __inline __m256i 11809 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11810 _mm256_mask_srai_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 11811 const int __imm) 11812 { 11813 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm, 11814 (__v8si) __W, 11815 (__mmask8) __U); 11816 } 11817 11818 extern __inline __m256i 11819 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11820 _mm256_maskz_srai_epi32 (__mmask8 __U, __m256i __A, const int __imm) 11821 { 11822 return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm, 11823 (__v8si) 11824 _mm256_setzero_si256 (), 11825 (__mmask8) __U); 11826 } 11827 11828 extern __inline __m128i 11829 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11830 _mm_mask_srai_epi32 (__m128i __W, __mmask8 __U, __m128i __A, 11831 const int __imm) 11832 { 11833 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm, 11834 (__v4si) __W, 11835 (__mmask8) __U); 11836 } 11837 11838 extern __inline __m128i 11839 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11840 _mm_maskz_srai_epi32 (__mmask8 __U, __m128i __A, const int __imm) 11841 { 11842 return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm, 11843 (__v4si) 11844 _mm_setzero_si128 (), 11845 (__mmask8) __U); 11846 } 11847 11848 extern __inline __m256i 11849 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11850 _mm256_srai_epi64 (__m256i __A, const int __imm) 11851 { 11852 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm, 11853 (__v4di) 11854 _mm256_setzero_si256 (), 11855 (__mmask8) -1); 11856 } 11857 11858 extern __inline __m256i 11859 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11860 _mm256_mask_srai_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 11861 const int __imm) 11862 { 11863 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm, 11864 (__v4di) __W, 11865 (__mmask8) __U); 11866 } 11867 11868 extern __inline __m256i 11869 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11870 _mm256_maskz_srai_epi64 (__mmask8 __U, __m256i __A, const int __imm) 11871 { 11872 return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm, 11873 (__v4di) 11874 _mm256_setzero_si256 (), 11875 (__mmask8) __U); 11876 } 11877 11878 extern __inline __m128i 11879 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11880 _mm_srai_epi64 (__m128i __A, const int __imm) 11881 { 11882 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm, 11883 (__v2di) 11884 _mm_setzero_si128 (), 11885 (__mmask8) -1); 11886 } 11887 11888 extern __inline __m128i 11889 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11890 _mm_mask_srai_epi64 (__m128i __W, __mmask8 __U, __m128i __A, 11891 const int __imm) 11892 { 11893 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm, 11894 (__v2di) __W, 11895 (__mmask8) __U); 11896 } 11897 11898 extern __inline __m128i 11899 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11900 _mm_maskz_srai_epi64 (__mmask8 __U, __m128i __A, const int __imm) 11901 { 11902 return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm, 11903 (__v2di) 11904 _mm_setzero_si128 (), 11905 (__mmask8) __U); 11906 } 11907 11908 extern __inline __m128i 11909 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11910 _mm_mask_slli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, int __B) 11911 { 11912 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B, 11913 (__v4si) __W, 11914 (__mmask8) __U); 11915 } 11916 11917 extern __inline __m128i 11918 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11919 _mm_maskz_slli_epi32 (__mmask8 __U, __m128i __A, int __B) 11920 { 11921 return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B, 11922 (__v4si) 11923 _mm_setzero_si128 (), 11924 (__mmask8) __U); 11925 } 11926 11927 extern __inline __m128i 11928 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11929 _mm_mask_slli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, int __B) 11930 { 11931 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B, 11932 (__v2di) __W, 11933 (__mmask8) __U); 11934 } 11935 11936 extern __inline __m128i 11937 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11938 _mm_maskz_slli_epi64 (__mmask8 __U, __m128i __A, int __B) 11939 { 11940 return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B, 11941 (__v2di) 11942 _mm_setzero_si128 (), 11943 (__mmask8) __U); 11944 } 11945 11946 extern __inline __m256i 11947 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11948 _mm256_mask_slli_epi32 (__m256i __W, __mmask8 __U, __m256i __A, 11949 int __B) 11950 { 11951 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B, 11952 (__v8si) __W, 11953 (__mmask8) __U); 11954 } 11955 11956 extern __inline __m256i 11957 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11958 _mm256_maskz_slli_epi32 (__mmask8 __U, __m256i __A, int __B) 11959 { 11960 return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B, 11961 (__v8si) 11962 _mm256_setzero_si256 (), 11963 (__mmask8) __U); 11964 } 11965 11966 extern __inline __m256i 11967 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11968 _mm256_mask_slli_epi64 (__m256i __W, __mmask8 __U, __m256i __A, 11969 int __B) 11970 { 11971 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B, 11972 (__v4di) __W, 11973 (__mmask8) __U); 11974 } 11975 11976 extern __inline __m256i 11977 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11978 _mm256_maskz_slli_epi64 (__mmask8 __U, __m256i __A, int __B) 11979 { 11980 return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B, 11981 (__v4di) 11982 _mm256_setzero_si256 (), 11983 (__mmask8) __U); 11984 } 11985 11986 extern __inline __m256d 11987 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11988 _mm256_mask_permutex_pd (__m256d __W, __mmask8 __U, __m256d __X, 11989 const int __imm) 11990 { 11991 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm, 11992 (__v4df) __W, 11993 (__mmask8) __U); 11994 } 11995 11996 extern __inline __m256d 11997 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 11998 _mm256_maskz_permutex_pd (__mmask8 __U, __m256d __X, const int __imm) 11999 { 12000 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm, 12001 (__v4df) 12002 _mm256_setzero_pd (), 12003 (__mmask8) __U); 12004 } 12005 12006 extern __inline __m256d 12007 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12008 _mm256_mask_permute_pd (__m256d __W, __mmask8 __U, __m256d __X, 12009 const int __C) 12010 { 12011 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C, 12012 (__v4df) __W, 12013 (__mmask8) __U); 12014 } 12015 12016 extern __inline __m256d 12017 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12018 _mm256_maskz_permute_pd (__mmask8 __U, __m256d __X, const int __C) 12019 { 12020 return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C, 12021 (__v4df) 12022 _mm256_setzero_pd (), 12023 (__mmask8) __U); 12024 } 12025 12026 extern __inline __m128d 12027 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12028 _mm_mask_permute_pd (__m128d __W, __mmask8 __U, __m128d __X, 12029 const int __C) 12030 { 12031 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C, 12032 (__v2df) __W, 12033 (__mmask8) __U); 12034 } 12035 12036 extern __inline __m128d 12037 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12038 _mm_maskz_permute_pd (__mmask8 __U, __m128d __X, const int __C) 12039 { 12040 return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C, 12041 (__v2df) 12042 _mm_setzero_pd (), 12043 (__mmask8) __U); 12044 } 12045 12046 extern __inline __m256 12047 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12048 _mm256_mask_permute_ps (__m256 __W, __mmask8 __U, __m256 __X, 12049 const int __C) 12050 { 12051 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C, 12052 (__v8sf) __W, 12053 (__mmask8) __U); 12054 } 12055 12056 extern __inline __m256 12057 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12058 _mm256_maskz_permute_ps (__mmask8 __U, __m256 __X, const int __C) 12059 { 12060 return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C, 12061 (__v8sf) 12062 _mm256_setzero_ps (), 12063 (__mmask8) __U); 12064 } 12065 12066 extern __inline __m128 12067 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12068 _mm_mask_permute_ps (__m128 __W, __mmask8 __U, __m128 __X, 12069 const int __C) 12070 { 12071 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C, 12072 (__v4sf) __W, 12073 (__mmask8) __U); 12074 } 12075 12076 extern __inline __m128 12077 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12078 _mm_maskz_permute_ps (__mmask8 __U, __m128 __X, const int __C) 12079 { 12080 return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C, 12081 (__v4sf) 12082 _mm_setzero_ps (), 12083 (__mmask8) __U); 12084 } 12085 12086 extern __inline __m256d 12087 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12088 _mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) 12089 { 12090 return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A, 12091 (__v4df) __W, 12092 (__mmask8) __U); 12093 } 12094 12095 extern __inline __m256 12096 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12097 _mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) 12098 { 12099 return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A, 12100 (__v8sf) __W, 12101 (__mmask8) __U); 12102 } 12103 12104 extern __inline __m256i 12105 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12106 _mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) 12107 { 12108 return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A, 12109 (__v4di) __W, 12110 (__mmask8) __U); 12111 } 12112 12113 extern __inline __m256i 12114 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12115 _mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) 12116 { 12117 return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A, 12118 (__v8si) __W, 12119 (__mmask8) __U); 12120 } 12121 12122 extern __inline __m128d 12123 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12124 _mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) 12125 { 12126 return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A, 12127 (__v2df) __W, 12128 (__mmask8) __U); 12129 } 12130 12131 extern __inline __m128 12132 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12133 _mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) 12134 { 12135 return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A, 12136 (__v4sf) __W, 12137 (__mmask8) __U); 12138 } 12139 12140 extern __inline __m128i 12141 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12142 _mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) 12143 { 12144 return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A, 12145 (__v2di) __W, 12146 (__mmask8) __U); 12147 } 12148 12149 extern __inline __m128i 12150 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12151 _mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) 12152 { 12153 return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A, 12154 (__v4si) __W, 12155 (__mmask8) __U); 12156 } 12157 12158 extern __inline __mmask8 12159 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12160 _mm256_cmp_epi64_mask (__m256i __X, __m256i __Y, const int __P) 12161 { 12162 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 12163 (__v4di) __Y, __P, 12164 (__mmask8) -1); 12165 } 12166 12167 extern __inline __mmask8 12168 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12169 _mm256_cmp_epi32_mask (__m256i __X, __m256i __Y, const int __P) 12170 { 12171 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 12172 (__v8si) __Y, __P, 12173 (__mmask8) -1); 12174 } 12175 12176 extern __inline __mmask8 12177 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12178 _mm256_cmp_epu64_mask (__m256i __X, __m256i __Y, const int __P) 12179 { 12180 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 12181 (__v4di) __Y, __P, 12182 (__mmask8) -1); 12183 } 12184 12185 extern __inline __mmask8 12186 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12187 _mm256_cmp_epu32_mask (__m256i __X, __m256i __Y, const int __P) 12188 { 12189 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 12190 (__v8si) __Y, __P, 12191 (__mmask8) -1); 12192 } 12193 12194 extern __inline __mmask8 12195 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12196 _mm256_cmp_pd_mask (__m256d __X, __m256d __Y, const int __P) 12197 { 12198 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X, 12199 (__v4df) __Y, __P, 12200 (__mmask8) -1); 12201 } 12202 12203 extern __inline __mmask8 12204 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12205 _mm256_cmp_ps_mask (__m256 __X, __m256 __Y, const int __P) 12206 { 12207 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X, 12208 (__v8sf) __Y, __P, 12209 (__mmask8) -1); 12210 } 12211 12212 extern __inline __mmask8 12213 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12214 _mm256_mask_cmp_epi64_mask (__mmask8 __U, __m256i __X, __m256i __Y, 12215 const int __P) 12216 { 12217 return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X, 12218 (__v4di) __Y, __P, 12219 (__mmask8) __U); 12220 } 12221 12222 extern __inline __mmask8 12223 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12224 _mm256_mask_cmp_epi32_mask (__mmask8 __U, __m256i __X, __m256i __Y, 12225 const int __P) 12226 { 12227 return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X, 12228 (__v8si) __Y, __P, 12229 (__mmask8) __U); 12230 } 12231 12232 extern __inline __mmask8 12233 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12234 _mm256_mask_cmp_epu64_mask (__mmask8 __U, __m256i __X, __m256i __Y, 12235 const int __P) 12236 { 12237 return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X, 12238 (__v4di) __Y, __P, 12239 (__mmask8) __U); 12240 } 12241 12242 extern __inline __mmask8 12243 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12244 _mm256_mask_cmp_epu32_mask (__mmask8 __U, __m256i __X, __m256i __Y, 12245 const int __P) 12246 { 12247 return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X, 12248 (__v8si) __Y, __P, 12249 (__mmask8) __U); 12250 } 12251 12252 extern __inline __mmask8 12253 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12254 _mm256_mask_cmp_pd_mask (__mmask8 __U, __m256d __X, __m256d __Y, 12255 const int __P) 12256 { 12257 return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X, 12258 (__v4df) __Y, __P, 12259 (__mmask8) __U); 12260 } 12261 12262 extern __inline __mmask8 12263 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12264 _mm256_mask_cmp_ps_mask (__mmask8 __U, __m256 __X, __m256 __Y, 12265 const int __P) 12266 { 12267 return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X, 12268 (__v8sf) __Y, __P, 12269 (__mmask8) __U); 12270 } 12271 12272 extern __inline __mmask8 12273 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12274 _mm_cmp_epi64_mask (__m128i __X, __m128i __Y, const int __P) 12275 { 12276 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 12277 (__v2di) __Y, __P, 12278 (__mmask8) -1); 12279 } 12280 12281 extern __inline __mmask8 12282 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12283 _mm_cmp_epi32_mask (__m128i __X, __m128i __Y, const int __P) 12284 { 12285 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 12286 (__v4si) __Y, __P, 12287 (__mmask8) -1); 12288 } 12289 12290 extern __inline __mmask8 12291 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12292 _mm_cmp_epu64_mask (__m128i __X, __m128i __Y, const int __P) 12293 { 12294 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 12295 (__v2di) __Y, __P, 12296 (__mmask8) -1); 12297 } 12298 12299 extern __inline __mmask8 12300 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12301 _mm_cmp_epu32_mask (__m128i __X, __m128i __Y, const int __P) 12302 { 12303 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 12304 (__v4si) __Y, __P, 12305 (__mmask8) -1); 12306 } 12307 12308 extern __inline __mmask8 12309 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12310 _mm_cmp_pd_mask (__m128d __X, __m128d __Y, const int __P) 12311 { 12312 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X, 12313 (__v2df) __Y, __P, 12314 (__mmask8) -1); 12315 } 12316 12317 extern __inline __mmask8 12318 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12319 _mm_cmp_ps_mask (__m128 __X, __m128 __Y, const int __P) 12320 { 12321 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X, 12322 (__v4sf) __Y, __P, 12323 (__mmask8) -1); 12324 } 12325 12326 extern __inline __mmask8 12327 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12328 _mm_mask_cmp_epi64_mask (__mmask8 __U, __m128i __X, __m128i __Y, 12329 const int __P) 12330 { 12331 return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X, 12332 (__v2di) __Y, __P, 12333 (__mmask8) __U); 12334 } 12335 12336 extern __inline __mmask8 12337 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12338 _mm_mask_cmp_epi32_mask (__mmask8 __U, __m128i __X, __m128i __Y, 12339 const int __P) 12340 { 12341 return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X, 12342 (__v4si) __Y, __P, 12343 (__mmask8) __U); 12344 } 12345 12346 extern __inline __mmask8 12347 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12348 _mm_mask_cmp_epu64_mask (__mmask8 __U, __m128i __X, __m128i __Y, 12349 const int __P) 12350 { 12351 return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X, 12352 (__v2di) __Y, __P, 12353 (__mmask8) __U); 12354 } 12355 12356 extern __inline __mmask8 12357 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12358 _mm_mask_cmp_epu32_mask (__mmask8 __U, __m128i __X, __m128i __Y, 12359 const int __P) 12360 { 12361 return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X, 12362 (__v4si) __Y, __P, 12363 (__mmask8) __U); 12364 } 12365 12366 extern __inline __mmask8 12367 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12368 _mm_mask_cmp_pd_mask (__mmask8 __U, __m128d __X, __m128d __Y, 12369 const int __P) 12370 { 12371 return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X, 12372 (__v2df) __Y, __P, 12373 (__mmask8) __U); 12374 } 12375 12376 extern __inline __mmask8 12377 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12378 _mm_mask_cmp_ps_mask (__mmask8 __U, __m128 __X, __m128 __Y, 12379 const int __P) 12380 { 12381 return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X, 12382 (__v4sf) __Y, __P, 12383 (__mmask8) __U); 12384 } 12385 12386 extern __inline __m256d 12387 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) 12388 _mm256_permutex_pd (__m256d __X, const int __M) 12389 { 12390 return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __M, 12391 (__v4df) 12392 _mm256_undefined_pd (), 12393 (__mmask8) -1); 12394 } 12395 12396 #else 12397 #define _mm256_permutex_pd(X, M) \ 12398 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(X), (int)(M), \ 12399 (__v4df)(__m256d) \ 12400 _mm256_undefined_pd (), \ 12401 (__mmask8)-1)) 12402 12403 #define _mm256_permutex_epi64(X, I) \ 12404 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \ 12405 (int)(I), \ 12406 (__v4di)(__m256i) \ 12407 (_mm256_setzero_si256 ()),\ 12408 (__mmask8) -1)) 12409 12410 #define _mm256_maskz_permutex_epi64(M, X, I) \ 12411 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \ 12412 (int)(I), \ 12413 (__v4di)(__m256i) \ 12414 (_mm256_setzero_si256 ()),\ 12415 (__mmask8)(M))) 12416 12417 #define _mm256_mask_permutex_epi64(W, M, X, I) \ 12418 ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \ 12419 (int)(I), \ 12420 (__v4di)(__m256i)(W), \ 12421 (__mmask8)(M))) 12422 12423 #define _mm256_insertf32x4(X, Y, C) \ 12424 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \ 12425 (__v4sf)(__m128) (Y), (int) (C), \ 12426 (__v8sf)(__m256)_mm256_setzero_ps (), \ 12427 (__mmask8)-1)) 12428 12429 #define _mm256_mask_insertf32x4(W, U, X, Y, C) \ 12430 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \ 12431 (__v4sf)(__m128) (Y), (int) (C), \ 12432 (__v8sf)(__m256)(W), \ 12433 (__mmask8)(U))) 12434 12435 #define _mm256_maskz_insertf32x4(U, X, Y, C) \ 12436 ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X), \ 12437 (__v4sf)(__m128) (Y), (int) (C), \ 12438 (__v8sf)(__m256)_mm256_setzero_ps (), \ 12439 (__mmask8)(U))) 12440 12441 #define _mm256_inserti32x4(X, Y, C) \ 12442 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\ 12443 (__v4si)(__m128i) (Y), (int) (C), \ 12444 (__v8si)(__m256i)_mm256_setzero_si256 (), \ 12445 (__mmask8)-1)) 12446 12447 #define _mm256_mask_inserti32x4(W, U, X, Y, C) \ 12448 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\ 12449 (__v4si)(__m128i) (Y), (int) (C), \ 12450 (__v8si)(__m256i)(W), \ 12451 (__mmask8)(U))) 12452 12453 #define _mm256_maskz_inserti32x4(U, X, Y, C) \ 12454 ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\ 12455 (__v4si)(__m128i) (Y), (int) (C), \ 12456 (__v8si)(__m256i)_mm256_setzero_si256 (), \ 12457 (__mmask8)(U))) 12458 12459 #define _mm256_extractf32x4_ps(X, C) \ 12460 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \ 12461 (int) (C), \ 12462 (__v4sf)(__m128)_mm_setzero_ps (), \ 12463 (__mmask8)-1)) 12464 12465 #define _mm256_mask_extractf32x4_ps(W, U, X, C) \ 12466 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \ 12467 (int) (C), \ 12468 (__v4sf)(__m128)(W), \ 12469 (__mmask8)(U))) 12470 12471 #define _mm256_maskz_extractf32x4_ps(U, X, C) \ 12472 ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \ 12473 (int) (C), \ 12474 (__v4sf)(__m128)_mm_setzero_ps (), \ 12475 (__mmask8)(U))) 12476 12477 #define _mm256_extracti32x4_epi32(X, C) \ 12478 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\ 12479 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)-1)) 12480 12481 #define _mm256_mask_extracti32x4_epi32(W, U, X, C) \ 12482 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\ 12483 (int) (C), (__v4si)(__m128i)(W), (__mmask8)(U))) 12484 12485 #define _mm256_maskz_extracti32x4_epi32(U, X, C) \ 12486 ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\ 12487 (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(U))) 12488 12489 #define _mm256_shuffle_i64x2(X, Y, C) \ 12490 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \ 12491 (__v4di)(__m256i)(Y), (int)(C), \ 12492 (__v4di)(__m256i)_mm256_setzero_si256 (), \ 12493 (__mmask8)-1)) 12494 12495 #define _mm256_mask_shuffle_i64x2(W, U, X, Y, C) \ 12496 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \ 12497 (__v4di)(__m256i)(Y), (int)(C), \ 12498 (__v4di)(__m256i)(W),\ 12499 (__mmask8)(U))) 12500 12501 #define _mm256_maskz_shuffle_i64x2(U, X, Y, C) \ 12502 ((__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X), \ 12503 (__v4di)(__m256i)(Y), (int)(C), \ 12504 (__v4di)(__m256i)_mm256_setzero_si256 (), \ 12505 (__mmask8)(U))) 12506 12507 #define _mm256_shuffle_i32x4(X, Y, C) \ 12508 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \ 12509 (__v8si)(__m256i)(Y), (int)(C), \ 12510 (__v8si)(__m256i) \ 12511 _mm256_setzero_si256 (), \ 12512 (__mmask8)-1)) 12513 12514 #define _mm256_mask_shuffle_i32x4(W, U, X, Y, C) \ 12515 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \ 12516 (__v8si)(__m256i)(Y), (int)(C), \ 12517 (__v8si)(__m256i)(W), \ 12518 (__mmask8)(U))) 12519 12520 #define _mm256_maskz_shuffle_i32x4(U, X, Y, C) \ 12521 ((__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X), \ 12522 (__v8si)(__m256i)(Y), (int)(C), \ 12523 (__v8si)(__m256i) \ 12524 _mm256_setzero_si256 (), \ 12525 (__mmask8)(U))) 12526 12527 #define _mm256_shuffle_f64x2(X, Y, C) \ 12528 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \ 12529 (__v4df)(__m256d)(Y), (int)(C), \ 12530 (__v4df)(__m256d)_mm256_setzero_pd (),\ 12531 (__mmask8)-1)) 12532 12533 #define _mm256_mask_shuffle_f64x2(W, U, X, Y, C) \ 12534 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \ 12535 (__v4df)(__m256d)(Y), (int)(C), \ 12536 (__v4df)(__m256d)(W), \ 12537 (__mmask8)(U))) 12538 12539 #define _mm256_maskz_shuffle_f64x2(U, X, Y, C) \ 12540 ((__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X), \ 12541 (__v4df)(__m256d)(Y), (int)(C), \ 12542 (__v4df)(__m256d)_mm256_setzero_pd( ),\ 12543 (__mmask8)(U))) 12544 12545 #define _mm256_shuffle_f32x4(X, Y, C) \ 12546 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \ 12547 (__v8sf)(__m256)(Y), (int)(C), \ 12548 (__v8sf)(__m256)_mm256_setzero_ps (), \ 12549 (__mmask8)-1)) 12550 12551 #define _mm256_mask_shuffle_f32x4(W, U, X, Y, C) \ 12552 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \ 12553 (__v8sf)(__m256)(Y), (int)(C), \ 12554 (__v8sf)(__m256)(W), \ 12555 (__mmask8)(U))) 12556 12557 #define _mm256_maskz_shuffle_f32x4(U, X, Y, C) \ 12558 ((__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X), \ 12559 (__v8sf)(__m256)(Y), (int)(C), \ 12560 (__v8sf)(__m256)_mm256_setzero_ps (), \ 12561 (__mmask8)(U))) 12562 12563 #define _mm256_mask_shuffle_pd(W, U, A, B, C) \ 12564 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \ 12565 (__v4df)(__m256d)(B), (int)(C), \ 12566 (__v4df)(__m256d)(W), \ 12567 (__mmask8)(U))) 12568 12569 #define _mm256_maskz_shuffle_pd(U, A, B, C) \ 12570 ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A), \ 12571 (__v4df)(__m256d)(B), (int)(C), \ 12572 (__v4df)(__m256d) \ 12573 _mm256_setzero_pd (), \ 12574 (__mmask8)(U))) 12575 12576 #define _mm_mask_shuffle_pd(W, U, A, B, C) \ 12577 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \ 12578 (__v2df)(__m128d)(B), (int)(C), \ 12579 (__v2df)(__m128d)(W), \ 12580 (__mmask8)(U))) 12581 12582 #define _mm_maskz_shuffle_pd(U, A, B, C) \ 12583 ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A), \ 12584 (__v2df)(__m128d)(B), (int)(C), \ 12585 (__v2df)(__m128d)_mm_setzero_pd (), \ 12586 (__mmask8)(U))) 12587 12588 #define _mm256_mask_shuffle_ps(W, U, A, B, C) \ 12589 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \ 12590 (__v8sf)(__m256)(B), (int)(C), \ 12591 (__v8sf)(__m256)(W), \ 12592 (__mmask8)(U))) 12593 12594 #define _mm256_maskz_shuffle_ps(U, A, B, C) \ 12595 ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A), \ 12596 (__v8sf)(__m256)(B), (int)(C), \ 12597 (__v8sf)(__m256)_mm256_setzero_ps (),\ 12598 (__mmask8)(U))) 12599 12600 #define _mm_mask_shuffle_ps(W, U, A, B, C) \ 12601 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \ 12602 (__v4sf)(__m128)(B), (int)(C), \ 12603 (__v4sf)(__m128)(W), \ 12604 (__mmask8)(U))) 12605 12606 #define _mm_maskz_shuffle_ps(U, A, B, C) \ 12607 ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A), \ 12608 (__v4sf)(__m128)(B), (int)(C), \ 12609 (__v4sf)(__m128)_mm_setzero_ps (), \ 12610 (__mmask8)(U))) 12611 12612 #define _mm256_fixupimm_pd(X, Y, Z, C) \ 12613 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \ 12614 (__v4df)(__m256d)(Y), \ 12615 (__v4di)(__m256i)(Z), (int)(C), \ 12616 (__mmask8)(-1))) 12617 12618 #define _mm256_mask_fixupimm_pd(X, U, Y, Z, C) \ 12619 ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X), \ 12620 (__v4df)(__m256d)(Y), \ 12621 (__v4di)(__m256i)(Z), (int)(C), \ 12622 (__mmask8)(U))) 12623 12624 #define _mm256_maskz_fixupimm_pd(U, X, Y, Z, C) \ 12625 ((__m256d)__builtin_ia32_fixupimmpd256_maskz ((__v4df)(__m256d)(X), \ 12626 (__v4df)(__m256d)(Y), \ 12627 (__v4di)(__m256i)(Z), (int)(C),\ 12628 (__mmask8)(U))) 12629 12630 #define _mm256_fixupimm_ps(X, Y, Z, C) \ 12631 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \ 12632 (__v8sf)(__m256)(Y), \ 12633 (__v8si)(__m256i)(Z), (int)(C), \ 12634 (__mmask8)(-1))) 12635 12636 12637 #define _mm256_mask_fixupimm_ps(X, U, Y, Z, C) \ 12638 ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X), \ 12639 (__v8sf)(__m256)(Y), \ 12640 (__v8si)(__m256i)(Z), (int)(C), \ 12641 (__mmask8)(U))) 12642 12643 #define _mm256_maskz_fixupimm_ps(U, X, Y, Z, C) \ 12644 ((__m256)__builtin_ia32_fixupimmps256_maskz ((__v8sf)(__m256)(X), \ 12645 (__v8sf)(__m256)(Y), \ 12646 (__v8si)(__m256i)(Z), (int)(C),\ 12647 (__mmask8)(U))) 12648 12649 #define _mm_fixupimm_pd(X, Y, Z, C) \ 12650 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \ 12651 (__v2df)(__m128d)(Y), \ 12652 (__v2di)(__m128i)(Z), (int)(C), \ 12653 (__mmask8)(-1))) 12654 12655 12656 #define _mm_mask_fixupimm_pd(X, U, Y, Z, C) \ 12657 ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X), \ 12658 (__v2df)(__m128d)(Y), \ 12659 (__v2di)(__m128i)(Z), (int)(C), \ 12660 (__mmask8)(U))) 12661 12662 #define _mm_maskz_fixupimm_pd(U, X, Y, Z, C) \ 12663 ((__m128d)__builtin_ia32_fixupimmpd128_maskz ((__v2df)(__m128d)(X), \ 12664 (__v2df)(__m128d)(Y), \ 12665 (__v2di)(__m128i)(Z), (int)(C),\ 12666 (__mmask8)(U))) 12667 12668 #define _mm_fixupimm_ps(X, Y, Z, C) \ 12669 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \ 12670 (__v4sf)(__m128)(Y), \ 12671 (__v4si)(__m128i)(Z), (int)(C), \ 12672 (__mmask8)(-1))) 12673 12674 #define _mm_mask_fixupimm_ps(X, U, Y, Z, C) \ 12675 ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X), \ 12676 (__v4sf)(__m128)(Y), \ 12677 (__v4si)(__m128i)(Z), (int)(C),\ 12678 (__mmask8)(U))) 12679 12680 #define _mm_maskz_fixupimm_ps(U, X, Y, Z, C) \ 12681 ((__m128)__builtin_ia32_fixupimmps128_maskz ((__v4sf)(__m128)(X), \ 12682 (__v4sf)(__m128)(Y), \ 12683 (__v4si)(__m128i)(Z), (int)(C),\ 12684 (__mmask8)(U))) 12685 12686 #define _mm256_mask_srli_epi32(W, U, A, B) \ 12687 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \ 12688 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U))) 12689 12690 #define _mm256_maskz_srli_epi32(U, A, B) \ 12691 ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A), \ 12692 (int)(B), (__v8si)_mm256_setzero_si256 (), (__mmask8)(U))) 12693 12694 #define _mm_mask_srli_epi32(W, U, A, B) \ 12695 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \ 12696 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U))) 12697 12698 #define _mm_maskz_srli_epi32(U, A, B) \ 12699 ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A), \ 12700 (int)(B), (__v4si)_mm_setzero_si128 (), (__mmask8)(U))) 12701 12702 #define _mm256_mask_srli_epi64(W, U, A, B) \ 12703 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \ 12704 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U))) 12705 12706 #define _mm256_maskz_srli_epi64(U, A, B) \ 12707 ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A), \ 12708 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U))) 12709 12710 #define _mm_mask_srli_epi64(W, U, A, B) \ 12711 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \ 12712 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U))) 12713 12714 #define _mm_maskz_srli_epi64(U, A, B) \ 12715 ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A), \ 12716 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)(U))) 12717 12718 #define _mm256_mask_slli_epi32(W, U, X, C) \ 12719 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\ 12720 (__v8si)(__m256i)(W), \ 12721 (__mmask8)(U))) 12722 12723 #define _mm256_maskz_slli_epi32(U, X, C) \ 12724 ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\ 12725 (__v8si)(__m256i)_mm256_setzero_si256 (), \ 12726 (__mmask8)(U))) 12727 12728 #define _mm256_mask_slli_epi64(W, U, X, C) \ 12729 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\ 12730 (__v4di)(__m256i)(W), \ 12731 (__mmask8)(U))) 12732 12733 #define _mm256_maskz_slli_epi64(U, X, C) \ 12734 ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\ 12735 (__v4di)(__m256i)_mm256_setzero_si256 (), \ 12736 (__mmask8)(U))) 12737 12738 #define _mm_mask_slli_epi32(W, U, X, C) \ 12739 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\ 12740 (__v4si)(__m128i)(W),\ 12741 (__mmask8)(U))) 12742 12743 #define _mm_maskz_slli_epi32(U, X, C) \ 12744 ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\ 12745 (__v4si)(__m128i)_mm_setzero_si128 (),\ 12746 (__mmask8)(U))) 12747 12748 #define _mm_mask_slli_epi64(W, U, X, C) \ 12749 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\ 12750 (__v2di)(__m128i)(W),\ 12751 (__mmask8)(U))) 12752 12753 #define _mm_maskz_slli_epi64(U, X, C) \ 12754 ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\ 12755 (__v2di)(__m128i)_mm_setzero_si128 (),\ 12756 (__mmask8)(U))) 12757 12758 #define _mm256_ternarylogic_epi64(A, B, C, I) \ 12759 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \ 12760 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)-1)) 12761 12762 #define _mm256_mask_ternarylogic_epi64(A, U, B, C, I) \ 12763 ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A), \ 12764 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U))) 12765 12766 #define _mm256_maskz_ternarylogic_epi64(U, A, B, C, I) \ 12767 ((__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di)(__m256i)(A), \ 12768 (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U))) 12769 12770 #define _mm256_ternarylogic_epi32(A, B, C, I) \ 12771 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \ 12772 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)-1)) 12773 12774 #define _mm256_mask_ternarylogic_epi32(A, U, B, C, I) \ 12775 ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A), \ 12776 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U))) 12777 12778 #define _mm256_maskz_ternarylogic_epi32(U, A, B, C, I) \ 12779 ((__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si)(__m256i)(A), \ 12780 (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U))) 12781 12782 #define _mm_ternarylogic_epi64(A, B, C, I) \ 12783 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \ 12784 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)-1)) 12785 12786 #define _mm_mask_ternarylogic_epi64(A, U, B, C, I) \ 12787 ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A), \ 12788 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U))) 12789 12790 #define _mm_maskz_ternarylogic_epi64(U, A, B, C, I) \ 12791 ((__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di)(__m128i)(A), \ 12792 (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U))) 12793 12794 #define _mm_ternarylogic_epi32(A, B, C, I) \ 12795 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \ 12796 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)-1)) 12797 12798 #define _mm_mask_ternarylogic_epi32(A, U, B, C, I) \ 12799 ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A), \ 12800 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U))) 12801 12802 #define _mm_maskz_ternarylogic_epi32(U, A, B, C, I) \ 12803 ((__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si)(__m128i)(A), \ 12804 (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U))) 12805 12806 #define _mm256_roundscale_ps(A, B) \ 12807 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \ 12808 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps (), (__mmask8)-1)) 12809 12810 #define _mm256_mask_roundscale_ps(W, U, A, B) \ 12811 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \ 12812 (int)(B), (__v8sf)(__m256)(W), (__mmask8)(U))) 12813 12814 #define _mm256_maskz_roundscale_ps(U, A, B) \ 12815 ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A), \ 12816 (int)(B), (__v8sf)(__m256)_mm256_setzero_ps (), (__mmask8)(U))) 12817 12818 #define _mm256_roundscale_pd(A, B) \ 12819 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \ 12820 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)-1)) 12821 12822 #define _mm256_mask_roundscale_pd(W, U, A, B) \ 12823 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \ 12824 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U))) 12825 12826 #define _mm256_maskz_roundscale_pd(U, A, B) \ 12827 ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A), \ 12828 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)(U))) 12829 12830 #define _mm_roundscale_ps(A, B) \ 12831 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \ 12832 (int)(B), (__v4sf)(__m128)_mm_setzero_ps (), (__mmask8)-1)) 12833 12834 #define _mm_mask_roundscale_ps(W, U, A, B) \ 12835 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \ 12836 (int)(B), (__v4sf)(__m128)(W), (__mmask8)(U))) 12837 12838 #define _mm_maskz_roundscale_ps(U, A, B) \ 12839 ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A), \ 12840 (int)(B), (__v4sf)(__m128)_mm_setzero_ps (), (__mmask8)(U))) 12841 12842 #define _mm_roundscale_pd(A, B) \ 12843 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \ 12844 (int)(B), (__v2df)(__m128d)_mm_setzero_pd (), (__mmask8)-1)) 12845 12846 #define _mm_mask_roundscale_pd(W, U, A, B) \ 12847 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \ 12848 (int)(B), (__v2df)(__m128d)(W), (__mmask8)(U))) 12849 12850 #define _mm_maskz_roundscale_pd(U, A, B) \ 12851 ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A), \ 12852 (int)(B), (__v2df)(__m128d)_mm_setzero_pd (), (__mmask8)(U))) 12853 12854 #define _mm256_getmant_ps(X, B, C) \ 12855 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \ 12856 (int)(((C)<<2) | (B)), \ 12857 (__v8sf)(__m256)_mm256_setzero_ps (), \ 12858 (__mmask8)-1)) 12859 12860 #define _mm256_mask_getmant_ps(W, U, X, B, C) \ 12861 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \ 12862 (int)(((C)<<2) | (B)), \ 12863 (__v8sf)(__m256)(W), \ 12864 (__mmask8)(U))) 12865 12866 #define _mm256_maskz_getmant_ps(U, X, B, C) \ 12867 ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X), \ 12868 (int)(((C)<<2) | (B)), \ 12869 (__v8sf)(__m256)_mm256_setzero_ps (), \ 12870 (__mmask8)(U))) 12871 12872 #define _mm_getmant_ps(X, B, C) \ 12873 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \ 12874 (int)(((C)<<2) | (B)), \ 12875 (__v4sf)(__m128)_mm_setzero_ps (), \ 12876 (__mmask8)-1)) 12877 12878 #define _mm_mask_getmant_ps(W, U, X, B, C) \ 12879 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \ 12880 (int)(((C)<<2) | (B)), \ 12881 (__v4sf)(__m128)(W), \ 12882 (__mmask8)(U))) 12883 12884 #define _mm_maskz_getmant_ps(U, X, B, C) \ 12885 ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X), \ 12886 (int)(((C)<<2) | (B)), \ 12887 (__v4sf)(__m128)_mm_setzero_ps (), \ 12888 (__mmask8)(U))) 12889 12890 #define _mm256_getmant_pd(X, B, C) \ 12891 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \ 12892 (int)(((C)<<2) | (B)), \ 12893 (__v4df)(__m256d)_mm256_setzero_pd (),\ 12894 (__mmask8)-1)) 12895 12896 #define _mm256_mask_getmant_pd(W, U, X, B, C) \ 12897 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \ 12898 (int)(((C)<<2) | (B)), \ 12899 (__v4df)(__m256d)(W), \ 12900 (__mmask8)(U))) 12901 12902 #define _mm256_maskz_getmant_pd(U, X, B, C) \ 12903 ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X), \ 12904 (int)(((C)<<2) | (B)), \ 12905 (__v4df)(__m256d)_mm256_setzero_pd (),\ 12906 (__mmask8)(U))) 12907 12908 #define _mm_getmant_pd(X, B, C) \ 12909 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \ 12910 (int)(((C)<<2) | (B)), \ 12911 (__v2df)(__m128d)_mm_setzero_pd (), \ 12912 (__mmask8)-1)) 12913 12914 #define _mm_mask_getmant_pd(W, U, X, B, C) \ 12915 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \ 12916 (int)(((C)<<2) | (B)), \ 12917 (__v2df)(__m128d)(W), \ 12918 (__mmask8)(U))) 12919 12920 #define _mm_maskz_getmant_pd(U, X, B, C) \ 12921 ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X), \ 12922 (int)(((C)<<2) | (B)), \ 12923 (__v2df)(__m128d)_mm_setzero_pd (), \ 12924 (__mmask8)(U))) 12925 12926 #define _mm256_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12927 (__m256) __builtin_ia32_gather3siv8sf ((__v8sf)(__m256)V1OLD, \ 12928 (void const *)ADDR, \ 12929 (__v8si)(__m256i)INDEX, \ 12930 (__mmask8)MASK, (int)SCALE) 12931 12932 #define _mm_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12933 (__m128) __builtin_ia32_gather3siv4sf ((__v4sf)(__m128)V1OLD, \ 12934 (void const *)ADDR, \ 12935 (__v4si)(__m128i)INDEX, \ 12936 (__mmask8)MASK, (int)SCALE) 12937 12938 #define _mm256_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12939 (__m256d) __builtin_ia32_gather3siv4df ((__v4df)(__m256d)V1OLD, \ 12940 (void const *)ADDR, \ 12941 (__v4si)(__m128i)INDEX, \ 12942 (__mmask8)MASK, (int)SCALE) 12943 12944 #define _mm_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12945 (__m128d) __builtin_ia32_gather3siv2df ((__v2df)(__m128d)V1OLD, \ 12946 (void const *)ADDR, \ 12947 (__v4si)(__m128i)INDEX, \ 12948 (__mmask8)MASK, (int)SCALE) 12949 12950 #define _mm256_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12951 (__m128) __builtin_ia32_gather3div8sf ((__v4sf)(__m128)V1OLD, \ 12952 (void const *)ADDR, \ 12953 (__v4di)(__m256i)INDEX, \ 12954 (__mmask8)MASK, (int)SCALE) 12955 12956 #define _mm_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12957 (__m128) __builtin_ia32_gather3div4sf ((__v4sf)(__m128)V1OLD, \ 12958 (void const *)ADDR, \ 12959 (__v2di)(__m128i)INDEX, \ 12960 (__mmask8)MASK, (int)SCALE) 12961 12962 #define _mm256_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12963 (__m256d) __builtin_ia32_gather3div4df ((__v4df)(__m256d)V1OLD, \ 12964 (void const *)ADDR, \ 12965 (__v4di)(__m256i)INDEX, \ 12966 (__mmask8)MASK, (int)SCALE) 12967 12968 #define _mm_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12969 (__m128d) __builtin_ia32_gather3div2df ((__v2df)(__m128d)V1OLD, \ 12970 (void const *)ADDR, \ 12971 (__v2di)(__m128i)INDEX, \ 12972 (__mmask8)MASK, (int)SCALE) 12973 12974 #define _mm256_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12975 (__m256i) __builtin_ia32_gather3siv8si ((__v8si)(__m256i)V1OLD, \ 12976 (void const *)ADDR, \ 12977 (__v8si)(__m256i)INDEX, \ 12978 (__mmask8)MASK, (int)SCALE) 12979 12980 #define _mm_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12981 (__m128i) __builtin_ia32_gather3siv4si ((__v4si)(__m128i)V1OLD, \ 12982 (void const *)ADDR, \ 12983 (__v4si)(__m128i)INDEX, \ 12984 (__mmask8)MASK, (int)SCALE) 12985 12986 #define _mm256_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12987 (__m256i) __builtin_ia32_gather3siv4di ((__v4di)(__m256i)V1OLD, \ 12988 (void const *)ADDR, \ 12989 (__v4si)(__m128i)INDEX, \ 12990 (__mmask8)MASK, (int)SCALE) 12991 12992 #define _mm_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12993 (__m128i) __builtin_ia32_gather3siv2di ((__v2di)(__m128i)V1OLD, \ 12994 (void const *)ADDR, \ 12995 (__v4si)(__m128i)INDEX, \ 12996 (__mmask8)MASK, (int)SCALE) 12997 12998 #define _mm256_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \ 12999 (__m128i) __builtin_ia32_gather3div8si ((__v4si)(__m128i)V1OLD, \ 13000 (void const *)ADDR, \ 13001 (__v4di)(__m256i)INDEX, \ 13002 (__mmask8)MASK, (int)SCALE) 13003 13004 #define _mm_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE) \ 13005 (__m128i) __builtin_ia32_gather3div4si ((__v4si)(__m128i)V1OLD, \ 13006 (void const *)ADDR, \ 13007 (__v2di)(__m128i)INDEX, \ 13008 (__mmask8)MASK, (int)SCALE) 13009 13010 #define _mm256_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \ 13011 (__m256i) __builtin_ia32_gather3div4di ((__v4di)(__m256i)V1OLD, \ 13012 (void const *)ADDR, \ 13013 (__v4di)(__m256i)INDEX, \ 13014 (__mmask8)MASK, (int)SCALE) 13015 13016 #define _mm_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE) \ 13017 (__m128i) __builtin_ia32_gather3div2di ((__v2di)(__m128i)V1OLD, \ 13018 (void const *)ADDR, \ 13019 (__v2di)(__m128i)INDEX, \ 13020 (__mmask8)MASK, (int)SCALE) 13021 13022 #define _mm256_i32scatter_ps(ADDR, INDEX, V1, SCALE) \ 13023 __builtin_ia32_scattersiv8sf ((void *)ADDR, (__mmask8)0xFF, \ 13024 (__v8si)(__m256i)INDEX, \ 13025 (__v8sf)(__m256)V1, (int)SCALE) 13026 13027 #define _mm256_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \ 13028 __builtin_ia32_scattersiv8sf ((void *)ADDR, (__mmask8)MASK, \ 13029 (__v8si)(__m256i)INDEX, \ 13030 (__v8sf)(__m256)V1, (int)SCALE) 13031 13032 #define _mm_i32scatter_ps(ADDR, INDEX, V1, SCALE) \ 13033 __builtin_ia32_scattersiv4sf ((void *)ADDR, (__mmask8)0xFF, \ 13034 (__v4si)(__m128i)INDEX, \ 13035 (__v4sf)(__m128)V1, (int)SCALE) 13036 13037 #define _mm_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \ 13038 __builtin_ia32_scattersiv4sf ((void *)ADDR, (__mmask8)MASK, \ 13039 (__v4si)(__m128i)INDEX, \ 13040 (__v4sf)(__m128)V1, (int)SCALE) 13041 13042 #define _mm256_i32scatter_pd(ADDR, INDEX, V1, SCALE) \ 13043 __builtin_ia32_scattersiv4df ((void *)ADDR, (__mmask8)0xFF, \ 13044 (__v4si)(__m128i)INDEX, \ 13045 (__v4df)(__m256d)V1, (int)SCALE) 13046 13047 #define _mm256_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \ 13048 __builtin_ia32_scattersiv4df ((void *)ADDR, (__mmask8)MASK, \ 13049 (__v4si)(__m128i)INDEX, \ 13050 (__v4df)(__m256d)V1, (int)SCALE) 13051 13052 #define _mm_i32scatter_pd(ADDR, INDEX, V1, SCALE) \ 13053 __builtin_ia32_scattersiv2df ((void *)ADDR, (__mmask8)0xFF, \ 13054 (__v4si)(__m128i)INDEX, \ 13055 (__v2df)(__m128d)V1, (int)SCALE) 13056 13057 #define _mm_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \ 13058 __builtin_ia32_scattersiv2df ((void *)ADDR, (__mmask8)MASK, \ 13059 (__v4si)(__m128i)INDEX, \ 13060 (__v2df)(__m128d)V1, (int)SCALE) 13061 13062 #define _mm256_i64scatter_ps(ADDR, INDEX, V1, SCALE) \ 13063 __builtin_ia32_scatterdiv8sf ((void *)ADDR, (__mmask8)0xFF, \ 13064 (__v4di)(__m256i)INDEX, \ 13065 (__v4sf)(__m128)V1, (int)SCALE) 13066 13067 #define _mm256_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \ 13068 __builtin_ia32_scatterdiv8sf ((void *)ADDR, (__mmask8)MASK, \ 13069 (__v4di)(__m256i)INDEX, \ 13070 (__v4sf)(__m128)V1, (int)SCALE) 13071 13072 #define _mm_i64scatter_ps(ADDR, INDEX, V1, SCALE) \ 13073 __builtin_ia32_scatterdiv4sf ((void *)ADDR, (__mmask8)0xFF, \ 13074 (__v2di)(__m128i)INDEX, \ 13075 (__v4sf)(__m128)V1, (int)SCALE) 13076 13077 #define _mm_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE) \ 13078 __builtin_ia32_scatterdiv4sf ((void *)ADDR, (__mmask8)MASK, \ 13079 (__v2di)(__m128i)INDEX, \ 13080 (__v4sf)(__m128)V1, (int)SCALE) 13081 13082 #define _mm256_i64scatter_pd(ADDR, INDEX, V1, SCALE) \ 13083 __builtin_ia32_scatterdiv4df ((void *)ADDR, (__mmask8)0xFF, \ 13084 (__v4di)(__m256i)INDEX, \ 13085 (__v4df)(__m256d)V1, (int)SCALE) 13086 13087 #define _mm256_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \ 13088 __builtin_ia32_scatterdiv4df ((void *)ADDR, (__mmask8)MASK, \ 13089 (__v4di)(__m256i)INDEX, \ 13090 (__v4df)(__m256d)V1, (int)SCALE) 13091 13092 #define _mm_i64scatter_pd(ADDR, INDEX, V1, SCALE) \ 13093 __builtin_ia32_scatterdiv2df ((void *)ADDR, (__mmask8)0xFF, \ 13094 (__v2di)(__m128i)INDEX, \ 13095 (__v2df)(__m128d)V1, (int)SCALE) 13096 13097 #define _mm_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE) \ 13098 __builtin_ia32_scatterdiv2df ((void *)ADDR, (__mmask8)MASK, \ 13099 (__v2di)(__m128i)INDEX, \ 13100 (__v2df)(__m128d)V1, (int)SCALE) 13101 13102 #define _mm256_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \ 13103 __builtin_ia32_scattersiv8si ((void *)ADDR, (__mmask8)0xFF, \ 13104 (__v8si)(__m256i)INDEX, \ 13105 (__v8si)(__m256i)V1, (int)SCALE) 13106 13107 #define _mm256_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \ 13108 __builtin_ia32_scattersiv8si ((void *)ADDR, (__mmask8)MASK, \ 13109 (__v8si)(__m256i)INDEX, \ 13110 (__v8si)(__m256i)V1, (int)SCALE) 13111 13112 #define _mm_i32scatter_epi32(ADDR, INDEX, V1, SCALE) \ 13113 __builtin_ia32_scattersiv4si ((void *)ADDR, (__mmask8)0xFF, \ 13114 (__v4si)(__m128i)INDEX, \ 13115 (__v4si)(__m128i)V1, (int)SCALE) 13116 13117 #define _mm_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \ 13118 __builtin_ia32_scattersiv4si ((void *)ADDR, (__mmask8)MASK, \ 13119 (__v4si)(__m128i)INDEX, \ 13120 (__v4si)(__m128i)V1, (int)SCALE) 13121 13122 #define _mm256_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \ 13123 __builtin_ia32_scattersiv4di ((void *)ADDR, (__mmask8)0xFF, \ 13124 (__v4si)(__m128i)INDEX, \ 13125 (__v4di)(__m256i)V1, (int)SCALE) 13126 13127 #define _mm256_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \ 13128 __builtin_ia32_scattersiv4di ((void *)ADDR, (__mmask8)MASK, \ 13129 (__v4si)(__m128i)INDEX, \ 13130 (__v4di)(__m256i)V1, (int)SCALE) 13131 13132 #define _mm_i32scatter_epi64(ADDR, INDEX, V1, SCALE) \ 13133 __builtin_ia32_scattersiv2di ((void *)ADDR, (__mmask8)0xFF, \ 13134 (__v4si)(__m128i)INDEX, \ 13135 (__v2di)(__m128i)V1, (int)SCALE) 13136 13137 #define _mm_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \ 13138 __builtin_ia32_scattersiv2di ((void *)ADDR, (__mmask8)MASK, \ 13139 (__v4si)(__m128i)INDEX, \ 13140 (__v2di)(__m128i)V1, (int)SCALE) 13141 13142 #define _mm256_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \ 13143 __builtin_ia32_scatterdiv8si ((void *)ADDR, (__mmask8)0xFF, \ 13144 (__v4di)(__m256i)INDEX, \ 13145 (__v4si)(__m128i)V1, (int)SCALE) 13146 13147 #define _mm256_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \ 13148 __builtin_ia32_scatterdiv8si ((void *)ADDR, (__mmask8)MASK, \ 13149 (__v4di)(__m256i)INDEX, \ 13150 (__v4si)(__m128i)V1, (int)SCALE) 13151 13152 #define _mm_i64scatter_epi32(ADDR, INDEX, V1, SCALE) \ 13153 __builtin_ia32_scatterdiv4si ((void *)ADDR, (__mmask8)0xFF, \ 13154 (__v2di)(__m128i)INDEX, \ 13155 (__v4si)(__m128i)V1, (int)SCALE) 13156 13157 #define _mm_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE) \ 13158 __builtin_ia32_scatterdiv4si ((void *)ADDR, (__mmask8)MASK, \ 13159 (__v2di)(__m128i)INDEX, \ 13160 (__v4si)(__m128i)V1, (int)SCALE) 13161 13162 #define _mm256_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \ 13163 __builtin_ia32_scatterdiv4di ((void *)ADDR, (__mmask8)0xFF, \ 13164 (__v4di)(__m256i)INDEX, \ 13165 (__v4di)(__m256i)V1, (int)SCALE) 13166 13167 #define _mm256_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \ 13168 __builtin_ia32_scatterdiv4di ((void *)ADDR, (__mmask8)MASK, \ 13169 (__v4di)(__m256i)INDEX, \ 13170 (__v4di)(__m256i)V1, (int)SCALE) 13171 13172 #define _mm_i64scatter_epi64(ADDR, INDEX, V1, SCALE) \ 13173 __builtin_ia32_scatterdiv2di ((void *)ADDR, (__mmask8)0xFF, \ 13174 (__v2di)(__m128i)INDEX, \ 13175 (__v2di)(__m128i)V1, (int)SCALE) 13176 13177 #define _mm_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE) \ 13178 __builtin_ia32_scatterdiv2di ((void *)ADDR, (__mmask8)MASK, \ 13179 (__v2di)(__m128i)INDEX, \ 13180 (__v2di)(__m128i)V1, (int)SCALE) 13181 13182 #define _mm256_mask_shuffle_epi32(W, U, X, C) \ 13183 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \ 13184 (__v8si)(__m256i)(W), \ 13185 (__mmask8)(U))) 13186 13187 #define _mm256_maskz_shuffle_epi32(U, X, C) \ 13188 ((__m256i) __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C), \ 13189 (__v8si)(__m256i) \ 13190 _mm256_setzero_si256 (), \ 13191 (__mmask8)(U))) 13192 13193 #define _mm_mask_shuffle_epi32(W, U, X, C) \ 13194 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \ 13195 (__v4si)(__m128i)(W), \ 13196 (__mmask8)(U))) 13197 13198 #define _mm_maskz_shuffle_epi32(U, X, C) \ 13199 ((__m128i) __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C), \ 13200 (__v4si)(__m128i)_mm_setzero_si128 (), \ 13201 (__mmask8)(U))) 13202 13203 #define _mm256_rol_epi64(A, B) \ 13204 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \ 13205 (__v4di)(__m256i)_mm256_setzero_si256 (),\ 13206 (__mmask8)-1)) 13207 13208 #define _mm256_mask_rol_epi64(W, U, A, B) \ 13209 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \ 13210 (__v4di)(__m256i)(W), \ 13211 (__mmask8)(U))) 13212 13213 #define _mm256_maskz_rol_epi64(U, A, B) \ 13214 ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B), \ 13215 (__v4di)(__m256i)_mm256_setzero_si256 (),\ 13216 (__mmask8)(U))) 13217 13218 #define _mm_rol_epi64(A, B) \ 13219 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \ 13220 (__v2di)(__m128i)_mm_setzero_si128 (),\ 13221 (__mmask8)-1)) 13222 13223 #define _mm_mask_rol_epi64(W, U, A, B) \ 13224 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \ 13225 (__v2di)(__m128i)(W), \ 13226 (__mmask8)(U))) 13227 13228 #define _mm_maskz_rol_epi64(U, A, B) \ 13229 ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B), \ 13230 (__v2di)(__m128i)_mm_setzero_si128 (),\ 13231 (__mmask8)(U))) 13232 13233 #define _mm256_ror_epi64(A, B) \ 13234 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \ 13235 (__v4di)(__m256i)_mm256_setzero_si256 (),\ 13236 (__mmask8)-1)) 13237 13238 #define _mm256_mask_ror_epi64(W, U, A, B) \ 13239 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \ 13240 (__v4di)(__m256i)(W), \ 13241 (__mmask8)(U))) 13242 13243 #define _mm256_maskz_ror_epi64(U, A, B) \ 13244 ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B), \ 13245 (__v4di)(__m256i)_mm256_setzero_si256 (),\ 13246 (__mmask8)(U))) 13247 13248 #define _mm_ror_epi64(A, B) \ 13249 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \ 13250 (__v2di)(__m128i)_mm_setzero_si128 (),\ 13251 (__mmask8)-1)) 13252 13253 #define _mm_mask_ror_epi64(W, U, A, B) \ 13254 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \ 13255 (__v2di)(__m128i)(W), \ 13256 (__mmask8)(U))) 13257 13258 #define _mm_maskz_ror_epi64(U, A, B) \ 13259 ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B), \ 13260 (__v2di)(__m128i)_mm_setzero_si128 (),\ 13261 (__mmask8)(U))) 13262 13263 #define _mm256_rol_epi32(A, B) \ 13264 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \ 13265 (__v8si)(__m256i)_mm256_setzero_si256 (),\ 13266 (__mmask8)-1)) 13267 13268 #define _mm256_mask_rol_epi32(W, U, A, B) \ 13269 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \ 13270 (__v8si)(__m256i)(W), \ 13271 (__mmask8)(U))) 13272 13273 #define _mm256_maskz_rol_epi32(U, A, B) \ 13274 ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B), \ 13275 (__v8si)(__m256i)_mm256_setzero_si256 (),\ 13276 (__mmask8)(U))) 13277 13278 #define _mm_rol_epi32(A, B) \ 13279 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \ 13280 (__v4si)(__m128i)_mm_setzero_si128 (),\ 13281 (__mmask8)-1)) 13282 13283 #define _mm_mask_rol_epi32(W, U, A, B) \ 13284 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \ 13285 (__v4si)(__m128i)(W), \ 13286 (__mmask8)(U))) 13287 13288 #define _mm_maskz_rol_epi32(U, A, B) \ 13289 ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B), \ 13290 (__v4si)(__m128i)_mm_setzero_si128 (),\ 13291 (__mmask8)(U))) 13292 13293 #define _mm256_ror_epi32(A, B) \ 13294 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \ 13295 (__v8si)(__m256i)_mm256_setzero_si256 (),\ 13296 (__mmask8)-1)) 13297 13298 #define _mm256_mask_ror_epi32(W, U, A, B) \ 13299 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \ 13300 (__v8si)(__m256i)(W), \ 13301 (__mmask8)(U))) 13302 13303 #define _mm256_maskz_ror_epi32(U, A, B) \ 13304 ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B), \ 13305 (__v8si)(__m256i) \ 13306 _mm256_setzero_si256 (), \ 13307 (__mmask8)(U))) 13308 13309 #define _mm_ror_epi32(A, B) \ 13310 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \ 13311 (__v4si)(__m128i)_mm_setzero_si128 (),\ 13312 (__mmask8)-1)) 13313 13314 #define _mm_mask_ror_epi32(W, U, A, B) \ 13315 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \ 13316 (__v4si)(__m128i)(W), \ 13317 (__mmask8)(U))) 13318 13319 #define _mm_maskz_ror_epi32(U, A, B) \ 13320 ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B), \ 13321 (__v4si)(__m128i)_mm_setzero_si128 (),\ 13322 (__mmask8)(U))) 13323 13324 #define _mm256_alignr_epi32(X, Y, C) \ 13325 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \ 13326 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(X), (__mmask8)-1)) 13327 13328 #define _mm256_mask_alignr_epi32(W, U, X, Y, C) \ 13329 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \ 13330 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(W), (__mmask8)(U))) 13331 13332 #define _mm256_maskz_alignr_epi32(U, X, Y, C) \ 13333 ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X), \ 13334 (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)_mm256_setzero_si256 (),\ 13335 (__mmask8)(U))) 13336 13337 #define _mm256_alignr_epi64(X, Y, C) \ 13338 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \ 13339 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(X), (__mmask8)-1)) 13340 13341 #define _mm256_mask_alignr_epi64(W, U, X, Y, C) \ 13342 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \ 13343 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(W), (__mmask8)(U))) 13344 13345 #define _mm256_maskz_alignr_epi64(U, X, Y, C) \ 13346 ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X), \ 13347 (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)_mm256_setzero_si256 (),\ 13348 (__mmask8)(U))) 13349 13350 #define _mm_alignr_epi32(X, Y, C) \ 13351 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \ 13352 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(X), (__mmask8)-1)) 13353 13354 #define _mm_mask_alignr_epi32(W, U, X, Y, C) \ 13355 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \ 13356 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(W), (__mmask8)(U))) 13357 13358 #define _mm_maskz_alignr_epi32(U, X, Y, C) \ 13359 ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X), \ 13360 (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)_mm_setzero_si128 (),\ 13361 (__mmask8)(U))) 13362 13363 #define _mm_alignr_epi64(X, Y, C) \ 13364 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \ 13365 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1)) 13366 13367 #define _mm_mask_alignr_epi64(W, U, X, Y, C) \ 13368 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \ 13369 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1)) 13370 13371 #define _mm_maskz_alignr_epi64(U, X, Y, C) \ 13372 ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X), \ 13373 (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)_mm_setzero_si128 (),\ 13374 (__mmask8)(U))) 13375 13376 #define _mm_mask_cvtps_ph(W, U, A, I) \ 13377 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I), \ 13378 (__v8hi)(__m128i) (W), (__mmask8) (U))) 13379 13380 #define _mm_maskz_cvtps_ph(U, A, I) \ 13381 ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I), \ 13382 (__v8hi)(__m128i) _mm_setzero_si128 (), (__mmask8) (U))) 13383 13384 #define _mm256_mask_cvtps_ph(W, U, A, I) \ 13385 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I), \ 13386 (__v8hi)(__m128i) (W), (__mmask8) (U))) 13387 13388 #define _mm256_maskz_cvtps_ph(U, A, I) \ 13389 ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I), \ 13390 (__v8hi)(__m128i) _mm_setzero_si128 (), (__mmask8) (U))) 13391 13392 #define _mm256_mask_srai_epi32(W, U, A, B) \ 13393 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \ 13394 (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U))) 13395 13396 #define _mm256_maskz_srai_epi32(U, A, B) \ 13397 ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A), \ 13398 (int)(B), (__v8si)_mm256_setzero_si256 (), (__mmask8)(U))) 13399 13400 #define _mm_mask_srai_epi32(W, U, A, B) \ 13401 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \ 13402 (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U))) 13403 13404 #define _mm_maskz_srai_epi32(U, A, B) \ 13405 ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A), \ 13406 (int)(B), (__v4si)_mm_setzero_si128 (), (__mmask8)(U))) 13407 13408 #define _mm256_srai_epi64(A, B) \ 13409 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \ 13410 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)-1)) 13411 13412 #define _mm256_mask_srai_epi64(W, U, A, B) \ 13413 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \ 13414 (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U))) 13415 13416 #define _mm256_maskz_srai_epi64(U, A, B) \ 13417 ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A), \ 13418 (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U))) 13419 13420 #define _mm_srai_epi64(A, B) \ 13421 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \ 13422 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)-1)) 13423 13424 #define _mm_mask_srai_epi64(W, U, A, B) \ 13425 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \ 13426 (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U))) 13427 13428 #define _mm_maskz_srai_epi64(U, A, B) \ 13429 ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A), \ 13430 (int)(B), (__v2di)_mm_setzero_si128 (), (__mmask8)(U))) 13431 13432 #define _mm256_mask_permutex_pd(W, U, A, B) \ 13433 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \ 13434 (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U))) 13435 13436 #define _mm256_maskz_permutex_pd(U, A, B) \ 13437 ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A), \ 13438 (int)(B), (__v4df)(__m256d)_mm256_setzero_pd (), (__mmask8)(U))) 13439 13440 #define _mm256_mask_permute_pd(W, U, X, C) \ 13441 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \ 13442 (__v4df)(__m256d)(W), \ 13443 (__mmask8)(U))) 13444 13445 #define _mm256_maskz_permute_pd(U, X, C) \ 13446 ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C), \ 13447 (__v4df)(__m256d)_mm256_setzero_pd (),\ 13448 (__mmask8)(U))) 13449 13450 #define _mm256_mask_permute_ps(W, U, X, C) \ 13451 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \ 13452 (__v8sf)(__m256)(W), (__mmask8)(U))) 13453 13454 #define _mm256_maskz_permute_ps(U, X, C) \ 13455 ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C), \ 13456 (__v8sf)(__m256)_mm256_setzero_ps (), \ 13457 (__mmask8)(U))) 13458 13459 #define _mm_mask_permute_pd(W, U, X, C) \ 13460 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \ 13461 (__v2df)(__m128d)(W), (__mmask8)(U))) 13462 13463 #define _mm_maskz_permute_pd(U, X, C) \ 13464 ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C), \ 13465 (__v2df)(__m128d)_mm_setzero_pd (), \ 13466 (__mmask8)(U))) 13467 13468 #define _mm_mask_permute_ps(W, U, X, C) \ 13469 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \ 13470 (__v4sf)(__m128)(W), (__mmask8)(U))) 13471 13472 #define _mm_maskz_permute_ps(U, X, C) \ 13473 ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C), \ 13474 (__v4sf)(__m128)_mm_setzero_ps (), \ 13475 (__mmask8)(U))) 13476 13477 #define _mm256_mask_blend_pd(__U, __A, __W) \ 13478 ((__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) (__A), \ 13479 (__v4df) (__W), \ 13480 (__mmask8) (__U))) 13481 13482 #define _mm256_mask_blend_ps(__U, __A, __W) \ 13483 ((__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) (__A), \ 13484 (__v8sf) (__W), \ 13485 (__mmask8) (__U))) 13486 13487 #define _mm256_mask_blend_epi64(__U, __A, __W) \ 13488 ((__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) (__A), \ 13489 (__v4di) (__W), \ 13490 (__mmask8) (__U))) 13491 13492 #define _mm256_mask_blend_epi32(__U, __A, __W) \ 13493 ((__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) (__A), \ 13494 (__v8si) (__W), \ 13495 (__mmask8) (__U))) 13496 13497 #define _mm_mask_blend_pd(__U, __A, __W) \ 13498 ((__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) (__A), \ 13499 (__v2df) (__W), \ 13500 (__mmask8) (__U))) 13501 13502 #define _mm_mask_blend_ps(__U, __A, __W) \ 13503 ((__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) (__A), \ 13504 (__v4sf) (__W), \ 13505 (__mmask8) (__U))) 13506 13507 #define _mm_mask_blend_epi64(__U, __A, __W) \ 13508 ((__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) (__A), \ 13509 (__v2di) (__W), \ 13510 (__mmask8) (__U))) 13511 13512 #define _mm_mask_blend_epi32(__U, __A, __W) \ 13513 ((__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) (__A), \ 13514 (__v4si) (__W), \ 13515 (__mmask8) (__U))) 13516 13517 #define _mm256_cmp_epu32_mask(X, Y, P) \ 13518 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \ 13519 (__v8si)(__m256i)(Y), (int)(P),\ 13520 (__mmask8)-1)) 13521 13522 #define _mm256_cmp_epi64_mask(X, Y, P) \ 13523 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \ 13524 (__v4di)(__m256i)(Y), (int)(P),\ 13525 (__mmask8)-1)) 13526 13527 #define _mm256_cmp_epi32_mask(X, Y, P) \ 13528 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \ 13529 (__v8si)(__m256i)(Y), (int)(P),\ 13530 (__mmask8)-1)) 13531 13532 #define _mm256_cmp_epu64_mask(X, Y, P) \ 13533 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \ 13534 (__v4di)(__m256i)(Y), (int)(P),\ 13535 (__mmask8)-1)) 13536 13537 #define _mm256_cmp_pd_mask(X, Y, P) \ 13538 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \ 13539 (__v4df)(__m256d)(Y), (int)(P),\ 13540 (__mmask8)-1)) 13541 13542 #define _mm256_cmp_ps_mask(X, Y, P) \ 13543 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \ 13544 (__v8sf)(__m256)(Y), (int)(P),\ 13545 (__mmask8)-1)) 13546 13547 #define _mm256_mask_cmp_epi64_mask(M, X, Y, P) \ 13548 ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X), \ 13549 (__v4di)(__m256i)(Y), (int)(P),\ 13550 (__mmask8)(M))) 13551 13552 #define _mm256_mask_cmp_epi32_mask(M, X, Y, P) \ 13553 ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X), \ 13554 (__v8si)(__m256i)(Y), (int)(P),\ 13555 (__mmask8)(M))) 13556 13557 #define _mm256_mask_cmp_epu64_mask(M, X, Y, P) \ 13558 ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X), \ 13559 (__v4di)(__m256i)(Y), (int)(P),\ 13560 (__mmask8)(M))) 13561 13562 #define _mm256_mask_cmp_epu32_mask(M, X, Y, P) \ 13563 ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X), \ 13564 (__v8si)(__m256i)(Y), (int)(P),\ 13565 (__mmask8)(M))) 13566 13567 #define _mm256_mask_cmp_pd_mask(M, X, Y, P) \ 13568 ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X), \ 13569 (__v4df)(__m256d)(Y), (int)(P),\ 13570 (__mmask8)(M))) 13571 13572 #define _mm256_mask_cmp_ps_mask(M, X, Y, P) \ 13573 ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X), \ 13574 (__v8sf)(__m256)(Y), (int)(P),\ 13575 (__mmask8)(M))) 13576 13577 #define _mm_cmp_epi64_mask(X, Y, P) \ 13578 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \ 13579 (__v2di)(__m128i)(Y), (int)(P),\ 13580 (__mmask8)-1)) 13581 13582 #define _mm_cmp_epi32_mask(X, Y, P) \ 13583 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \ 13584 (__v4si)(__m128i)(Y), (int)(P),\ 13585 (__mmask8)-1)) 13586 13587 #define _mm_cmp_epu64_mask(X, Y, P) \ 13588 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \ 13589 (__v2di)(__m128i)(Y), (int)(P),\ 13590 (__mmask8)-1)) 13591 13592 #define _mm_cmp_epu32_mask(X, Y, P) \ 13593 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \ 13594 (__v4si)(__m128i)(Y), (int)(P),\ 13595 (__mmask8)-1)) 13596 13597 #define _mm_cmp_pd_mask(X, Y, P) \ 13598 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \ 13599 (__v2df)(__m128d)(Y), (int)(P),\ 13600 (__mmask8)-1)) 13601 13602 #define _mm_cmp_ps_mask(X, Y, P) \ 13603 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \ 13604 (__v4sf)(__m128)(Y), (int)(P),\ 13605 (__mmask8)-1)) 13606 13607 #define _mm_mask_cmp_epi64_mask(M, X, Y, P) \ 13608 ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X), \ 13609 (__v2di)(__m128i)(Y), (int)(P),\ 13610 (__mmask8)(M))) 13611 13612 #define _mm_mask_cmp_epi32_mask(M, X, Y, P) \ 13613 ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X), \ 13614 (__v4si)(__m128i)(Y), (int)(P),\ 13615 (__mmask8)(M))) 13616 13617 #define _mm_mask_cmp_epu64_mask(M, X, Y, P) \ 13618 ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X), \ 13619 (__v2di)(__m128i)(Y), (int)(P),\ 13620 (__mmask8)(M))) 13621 13622 #define _mm_mask_cmp_epu32_mask(M, X, Y, P) \ 13623 ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X), \ 13624 (__v4si)(__m128i)(Y), (int)(P),\ 13625 (__mmask8)(M))) 13626 13627 #define _mm_mask_cmp_pd_mask(M, X, Y, P) \ 13628 ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X), \ 13629 (__v2df)(__m128d)(Y), (int)(P),\ 13630 (__mmask8)(M))) 13631 13632 #define _mm_mask_cmp_ps_mask(M, X, Y, P) \ 13633 ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X), \ 13634 (__v4sf)(__m128)(Y), (int)(P),\ 13635 (__mmask8)(M))) 13636 13637 #endif 13638 13639 #define _mm256_permutexvar_ps(A, B) _mm256_permutevar8x32_ps ((B), (A)) 13640 13641 #ifdef __DISABLE_AVX512VL__ 13642 #undef __DISABLE_AVX512VL__ 13643 #pragma GCC pop_options 13644 #endif /* __DISABLE_AVX512VL__ */ 13645 13646 #endif /* _AVX512VLINTRIN_H_INCLUDED */ 13647