Home | History | Annotate | Download | only in Headers
      1 /*===---- avx512vldqintrin.h - AVX512VL and AVX512DQ intrinsics ------------===
      2  *
      3  * Permission is hereby granted, free of charge, to any person obtaining a copy
      4  * of this software and associated documentation files (the "Software"), to deal
      5  * in the Software without restriction, including without limitation the rights
      6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      7  * copies of the Software, and to permit persons to whom the Software is
      8  * furnished to do so, subject to the following conditions:
      9  *
     10  * The above copyright notice and this permission notice shall be included in
     11  * all copies or substantial portions of the Software.
     12  *
     13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     19  * THE SOFTWARE.
     20  *
     21  *===-----------------------------------------------------------------------===
     22  */
     23 
     24 #ifndef __IMMINTRIN_H
     25 #error "Never use <avx512vldqintrin.h> directly; include <immintrin.h> instead."
     26 #endif
     27 
     28 #ifndef __AVX512VLDQINTRIN_H
     29 #define __AVX512VLDQINTRIN_H
     30 
     31 /* Define the default attributes for the functions in this file. */
     32 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512dq")))
     33 
     34 static __inline__ __m256i __DEFAULT_FN_ATTRS
     35 _mm256_mullo_epi64 (__m256i __A, __m256i __B) {
     36   return (__m256i) ((__v4di) __A * (__v4di) __B);
     37 }
     38 
     39 static __inline__ __m256i __DEFAULT_FN_ATTRS
     40 _mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
     41   return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
     42               (__v4di) __B,
     43               (__v4di) __W,
     44               (__mmask8) __U);
     45 }
     46 
     47 static __inline__ __m256i __DEFAULT_FN_ATTRS
     48 _mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
     49   return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
     50               (__v4di) __B,
     51               (__v4di)
     52               _mm256_setzero_si256 (),
     53               (__mmask8) __U);
     54 }
     55 
     56 static __inline__ __m128i __DEFAULT_FN_ATTRS
     57 _mm_mullo_epi64 (__m128i __A, __m128i __B) {
     58   return (__m128i) ((__v2di) __A * (__v2di) __B);
     59 }
     60 
     61 static __inline__ __m128i __DEFAULT_FN_ATTRS
     62 _mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
     63   return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
     64               (__v2di) __B,
     65               (__v2di) __W,
     66               (__mmask8) __U);
     67 }
     68 
     69 static __inline__ __m128i __DEFAULT_FN_ATTRS
     70 _mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
     71   return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
     72               (__v2di) __B,
     73               (__v2di)
     74               _mm_setzero_si128 (),
     75               (__mmask8) __U);
     76 }
     77 
     78 static __inline__ __m256d __DEFAULT_FN_ATTRS
     79 _mm256_mask_andnot_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
     80   return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
     81               (__v4df) __B,
     82               (__v4df) __W,
     83               (__mmask8) __U);
     84 }
     85 
     86 static __inline__ __m256d __DEFAULT_FN_ATTRS
     87 _mm256_maskz_andnot_pd (__mmask8 __U, __m256d __A, __m256d __B) {
     88   return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
     89               (__v4df) __B,
     90               (__v4df)
     91               _mm256_setzero_pd (),
     92               (__mmask8) __U);
     93 }
     94 
     95 static __inline__ __m128d __DEFAULT_FN_ATTRS
     96 _mm_mask_andnot_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
     97   return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
     98               (__v2df) __B,
     99               (__v2df) __W,
    100               (__mmask8) __U);
    101 }
    102 
    103 static __inline__ __m128d __DEFAULT_FN_ATTRS
    104 _mm_maskz_andnot_pd (__mmask8 __U, __m128d __A, __m128d __B) {
    105   return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
    106               (__v2df) __B,
    107               (__v2df)
    108               _mm_setzero_pd (),
    109               (__mmask8) __U);
    110 }
    111 
    112 static __inline__ __m256 __DEFAULT_FN_ATTRS
    113 _mm256_mask_andnot_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
    114   return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
    115              (__v8sf) __B,
    116              (__v8sf) __W,
    117              (__mmask8) __U);
    118 }
    119 
    120 static __inline__ __m256 __DEFAULT_FN_ATTRS
    121 _mm256_maskz_andnot_ps (__mmask8 __U, __m256 __A, __m256 __B) {
    122   return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
    123              (__v8sf) __B,
    124              (__v8sf)
    125              _mm256_setzero_ps (),
    126              (__mmask8) __U);
    127 }
    128 
    129 static __inline__ __m128 __DEFAULT_FN_ATTRS
    130 _mm_mask_andnot_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    131   return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
    132              (__v4sf) __B,
    133              (__v4sf) __W,
    134              (__mmask8) __U);
    135 }
    136 
    137 static __inline__ __m128 __DEFAULT_FN_ATTRS
    138 _mm_maskz_andnot_ps (__mmask8 __U, __m128 __A, __m128 __B) {
    139   return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
    140              (__v4sf) __B,
    141              (__v4sf)
    142              _mm_setzero_ps (),
    143              (__mmask8) __U);
    144 }
    145 
    146 static __inline__ __m256d __DEFAULT_FN_ATTRS
    147 _mm256_mask_and_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
    148   return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
    149              (__v4df) __B,
    150              (__v4df) __W,
    151              (__mmask8) __U);
    152 }
    153 
    154 static __inline__ __m256d __DEFAULT_FN_ATTRS
    155 _mm256_maskz_and_pd (__mmask8 __U, __m256d __A, __m256d __B) {
    156   return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
    157              (__v4df) __B,
    158              (__v4df)
    159              _mm256_setzero_pd (),
    160              (__mmask8) __U);
    161 }
    162 
    163 static __inline__ __m128d __DEFAULT_FN_ATTRS
    164 _mm_mask_and_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
    165   return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
    166              (__v2df) __B,
    167              (__v2df) __W,
    168              (__mmask8) __U);
    169 }
    170 
    171 static __inline__ __m128d __DEFAULT_FN_ATTRS
    172 _mm_maskz_and_pd (__mmask8 __U, __m128d __A, __m128d __B) {
    173   return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
    174              (__v2df) __B,
    175              (__v2df)
    176              _mm_setzero_pd (),
    177              (__mmask8) __U);
    178 }
    179 
    180 static __inline__ __m256 __DEFAULT_FN_ATTRS
    181 _mm256_mask_and_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
    182   return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
    183             (__v8sf) __B,
    184             (__v8sf) __W,
    185             (__mmask8) __U);
    186 }
    187 
    188 static __inline__ __m256 __DEFAULT_FN_ATTRS
    189 _mm256_maskz_and_ps (__mmask8 __U, __m256 __A, __m256 __B) {
    190   return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
    191             (__v8sf) __B,
    192             (__v8sf)
    193             _mm256_setzero_ps (),
    194             (__mmask8) __U);
    195 }
    196 
    197 static __inline__ __m128 __DEFAULT_FN_ATTRS
    198 _mm_mask_and_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    199   return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
    200             (__v4sf) __B,
    201             (__v4sf) __W,
    202             (__mmask8) __U);
    203 }
    204 
    205 static __inline__ __m128 __DEFAULT_FN_ATTRS
    206 _mm_maskz_and_ps (__mmask8 __U, __m128 __A, __m128 __B) {
    207   return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
    208             (__v4sf) __B,
    209             (__v4sf)
    210             _mm_setzero_ps (),
    211             (__mmask8) __U);
    212 }
    213 
    214 static __inline__ __m256d __DEFAULT_FN_ATTRS
    215 _mm256_mask_xor_pd (__m256d __W, __mmask8 __U, __m256d __A,
    216         __m256d __B) {
    217   return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
    218              (__v4df) __B,
    219              (__v4df) __W,
    220              (__mmask8) __U);
    221 }
    222 
    223 static __inline__ __m256d __DEFAULT_FN_ATTRS
    224 _mm256_maskz_xor_pd (__mmask8 __U, __m256d __A, __m256d __B) {
    225   return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
    226              (__v4df) __B,
    227              (__v4df)
    228              _mm256_setzero_pd (),
    229              (__mmask8) __U);
    230 }
    231 
    232 static __inline__ __m128d __DEFAULT_FN_ATTRS
    233 _mm_mask_xor_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
    234   return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
    235              (__v2df) __B,
    236              (__v2df) __W,
    237              (__mmask8) __U);
    238 }
    239 
    240 static __inline__ __m128d __DEFAULT_FN_ATTRS
    241 _mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B) {
    242   return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
    243              (__v2df) __B,
    244              (__v2df)
    245              _mm_setzero_pd (),
    246              (__mmask8) __U);
    247 }
    248 
    249 static __inline__ __m256 __DEFAULT_FN_ATTRS
    250 _mm256_mask_xor_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
    251   return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
    252             (__v8sf) __B,
    253             (__v8sf) __W,
    254             (__mmask8) __U);
    255 }
    256 
    257 static __inline__ __m256 __DEFAULT_FN_ATTRS
    258 _mm256_maskz_xor_ps (__mmask8 __U, __m256 __A, __m256 __B) {
    259   return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
    260             (__v8sf) __B,
    261             (__v8sf)
    262             _mm256_setzero_ps (),
    263             (__mmask8) __U);
    264 }
    265 
    266 static __inline__ __m128 __DEFAULT_FN_ATTRS
    267 _mm_mask_xor_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    268   return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
    269             (__v4sf) __B,
    270             (__v4sf) __W,
    271             (__mmask8) __U);
    272 }
    273 
    274 static __inline__ __m128 __DEFAULT_FN_ATTRS
    275 _mm_maskz_xor_ps (__mmask8 __U, __m128 __A, __m128 __B) {
    276   return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
    277             (__v4sf) __B,
    278             (__v4sf)
    279             _mm_setzero_ps (),
    280             (__mmask8) __U);
    281 }
    282 
    283 static __inline__ __m256d __DEFAULT_FN_ATTRS
    284 _mm256_mask_or_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
    285   return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
    286             (__v4df) __B,
    287             (__v4df) __W,
    288             (__mmask8) __U);
    289 }
    290 
    291 static __inline__ __m256d __DEFAULT_FN_ATTRS
    292 _mm256_maskz_or_pd (__mmask8 __U, __m256d __A, __m256d __B) {
    293   return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
    294             (__v4df) __B,
    295             (__v4df)
    296             _mm256_setzero_pd (),
    297             (__mmask8) __U);
    298 }
    299 
    300 static __inline__ __m128d __DEFAULT_FN_ATTRS
    301 _mm_mask_or_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
    302   return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
    303             (__v2df) __B,
    304             (__v2df) __W,
    305             (__mmask8) __U);
    306 }
    307 
    308 static __inline__ __m128d __DEFAULT_FN_ATTRS
    309 _mm_maskz_or_pd (__mmask8 __U, __m128d __A, __m128d __B) {
    310   return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
    311             (__v2df) __B,
    312             (__v2df)
    313             _mm_setzero_pd (),
    314             (__mmask8) __U);
    315 }
    316 
    317 static __inline__ __m256 __DEFAULT_FN_ATTRS
    318 _mm256_mask_or_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
    319   return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
    320                  (__v8sf) __B,
    321                  (__v8sf) __W,
    322                  (__mmask8) __U);
    323 }
    324 
    325 static __inline__ __m256 __DEFAULT_FN_ATTRS
    326 _mm256_maskz_or_ps (__mmask8 __U, __m256 __A, __m256 __B) {
    327   return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
    328                  (__v8sf) __B,
    329                  (__v8sf)
    330                  _mm256_setzero_ps (),
    331                  (__mmask8) __U);
    332 }
    333 
    334 static __inline__ __m128 __DEFAULT_FN_ATTRS
    335 _mm_mask_or_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    336   return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
    337                  (__v4sf) __B,
    338                  (__v4sf) __W,
    339                  (__mmask8) __U);
    340 }
    341 
    342 static __inline__ __m128 __DEFAULT_FN_ATTRS
    343 _mm_maskz_or_ps (__mmask8 __U, __m128 __A, __m128 __B) {
    344   return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
    345                  (__v4sf) __B,
    346                  (__v4sf)
    347                  _mm_setzero_ps (),
    348                  (__mmask8) __U);
    349 }
    350 
    351 static __inline__ __m128i __DEFAULT_FN_ATTRS
    352 _mm_cvtpd_epi64 (__m128d __A) {
    353   return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
    354                 (__v2di) _mm_setzero_si128(),
    355                 (__mmask8) -1);
    356 }
    357 
    358 static __inline__ __m128i __DEFAULT_FN_ATTRS
    359 _mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
    360   return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
    361                 (__v2di) __W,
    362                 (__mmask8) __U);
    363 }
    364 
    365 static __inline__ __m128i __DEFAULT_FN_ATTRS
    366 _mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A) {
    367   return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
    368                 (__v2di) _mm_setzero_si128(),
    369                 (__mmask8) __U);
    370 }
    371 
    372 static __inline__ __m256i __DEFAULT_FN_ATTRS
    373 _mm256_cvtpd_epi64 (__m256d __A) {
    374   return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
    375                 (__v4di) _mm256_setzero_si256(),
    376                 (__mmask8) -1);
    377 }
    378 
    379 static __inline__ __m256i __DEFAULT_FN_ATTRS
    380 _mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
    381   return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
    382                 (__v4di) __W,
    383                 (__mmask8) __U);
    384 }
    385 
    386 static __inline__ __m256i __DEFAULT_FN_ATTRS
    387 _mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A) {
    388   return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
    389                 (__v4di) _mm256_setzero_si256(),
    390                 (__mmask8) __U);
    391 }
    392 
    393 static __inline__ __m128i __DEFAULT_FN_ATTRS
    394 _mm_cvtpd_epu64 (__m128d __A) {
    395   return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
    396                 (__v2di) _mm_setzero_si128(),
    397                 (__mmask8) -1);
    398 }
    399 
    400 static __inline__ __m128i __DEFAULT_FN_ATTRS
    401 _mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
    402   return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
    403                 (__v2di) __W,
    404                 (__mmask8) __U);
    405 }
    406 
    407 static __inline__ __m128i __DEFAULT_FN_ATTRS
    408 _mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A) {
    409   return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
    410                 (__v2di) _mm_setzero_si128(),
    411                 (__mmask8) __U);
    412 }
    413 
    414 static __inline__ __m256i __DEFAULT_FN_ATTRS
    415 _mm256_cvtpd_epu64 (__m256d __A) {
    416   return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
    417                 (__v4di) _mm256_setzero_si256(),
    418                 (__mmask8) -1);
    419 }
    420 
    421 static __inline__ __m256i __DEFAULT_FN_ATTRS
    422 _mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
    423   return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
    424                 (__v4di) __W,
    425                 (__mmask8) __U);
    426 }
    427 
    428 static __inline__ __m256i __DEFAULT_FN_ATTRS
    429 _mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A) {
    430   return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
    431                 (__v4di) _mm256_setzero_si256(),
    432                 (__mmask8) __U);
    433 }
    434 
    435 static __inline__ __m128i __DEFAULT_FN_ATTRS
    436 _mm_cvtps_epi64 (__m128 __A) {
    437   return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
    438                 (__v2di) _mm_setzero_si128(),
    439                 (__mmask8) -1);
    440 }
    441 
    442 static __inline__ __m128i __DEFAULT_FN_ATTRS
    443 _mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
    444   return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
    445                 (__v2di) __W,
    446                 (__mmask8) __U);
    447 }
    448 
    449 static __inline__ __m128i __DEFAULT_FN_ATTRS
    450 _mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
    451   return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
    452                 (__v2di) _mm_setzero_si128(),
    453                 (__mmask8) __U);
    454 }
    455 
    456 static __inline__ __m256i __DEFAULT_FN_ATTRS
    457 _mm256_cvtps_epi64 (__m128 __A) {
    458   return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
    459                 (__v4di) _mm256_setzero_si256(),
    460                 (__mmask8) -1);
    461 }
    462 
    463 static __inline__ __m256i __DEFAULT_FN_ATTRS
    464 _mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
    465   return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
    466                 (__v4di) __W,
    467                 (__mmask8) __U);
    468 }
    469 
    470 static __inline__ __m256i __DEFAULT_FN_ATTRS
    471 _mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A) {
    472   return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
    473                 (__v4di) _mm256_setzero_si256(),
    474                 (__mmask8) __U);
    475 }
    476 
    477 static __inline__ __m128i __DEFAULT_FN_ATTRS
    478 _mm_cvtps_epu64 (__m128 __A) {
    479   return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
    480                 (__v2di) _mm_setzero_si128(),
    481                 (__mmask8) -1);
    482 }
    483 
    484 static __inline__ __m128i __DEFAULT_FN_ATTRS
    485 _mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
    486   return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
    487                 (__v2di) __W,
    488                 (__mmask8) __U);
    489 }
    490 
    491 static __inline__ __m128i __DEFAULT_FN_ATTRS
    492 _mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
    493   return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
    494                 (__v2di) _mm_setzero_si128(),
    495                 (__mmask8) __U);
    496 }
    497 
    498 static __inline__ __m256i __DEFAULT_FN_ATTRS
    499 _mm256_cvtps_epu64 (__m128 __A) {
    500   return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
    501                 (__v4di) _mm256_setzero_si256(),
    502                 (__mmask8) -1);
    503 }
    504 
    505 static __inline__ __m256i __DEFAULT_FN_ATTRS
    506 _mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
    507   return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
    508                 (__v4di) __W,
    509                 (__mmask8) __U);
    510 }
    511 
    512 static __inline__ __m256i __DEFAULT_FN_ATTRS
    513 _mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
    514   return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
    515                 (__v4di) _mm256_setzero_si256(),
    516                 (__mmask8) __U);
    517 }
    518 
    519 static __inline__ __m128d __DEFAULT_FN_ATTRS
    520 _mm_cvtepi64_pd (__m128i __A) {
    521   return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
    522                 (__v2df) _mm_setzero_pd(),
    523                 (__mmask8) -1);
    524 }
    525 
    526 static __inline__ __m128d __DEFAULT_FN_ATTRS
    527 _mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
    528   return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
    529                 (__v2df) __W,
    530                 (__mmask8) __U);
    531 }
    532 
    533 static __inline__ __m128d __DEFAULT_FN_ATTRS
    534 _mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A) {
    535   return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
    536                 (__v2df) _mm_setzero_pd(),
    537                 (__mmask8) __U);
    538 }
    539 
    540 static __inline__ __m256d __DEFAULT_FN_ATTRS
    541 _mm256_cvtepi64_pd (__m256i __A) {
    542   return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
    543                 (__v4df) _mm256_setzero_pd(),
    544                 (__mmask8) -1);
    545 }
    546 
    547 static __inline__ __m256d __DEFAULT_FN_ATTRS
    548 _mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
    549   return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
    550                 (__v4df) __W,
    551                 (__mmask8) __U);
    552 }
    553 
    554 static __inline__ __m256d __DEFAULT_FN_ATTRS
    555 _mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A) {
    556   return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
    557                 (__v4df) _mm256_setzero_pd(),
    558                 (__mmask8) __U);
    559 }
    560 
    561 static __inline__ __m128 __DEFAULT_FN_ATTRS
    562 _mm_cvtepi64_ps (__m128i __A) {
    563   return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
    564                 (__v4sf) _mm_setzero_ps(),
    565                 (__mmask8) -1);
    566 }
    567 
    568 static __inline__ __m128 __DEFAULT_FN_ATTRS
    569 _mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
    570   return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
    571                 (__v4sf) __W,
    572                 (__mmask8) __U);
    573 }
    574 
    575 static __inline__ __m128 __DEFAULT_FN_ATTRS
    576 _mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) {
    577   return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
    578                 (__v4sf) _mm_setzero_ps(),
    579                 (__mmask8) __U);
    580 }
    581 
    582 static __inline__ __m128 __DEFAULT_FN_ATTRS
    583 _mm256_cvtepi64_ps (__m256i __A) {
    584   return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
    585                 (__v4sf) _mm_setzero_ps(),
    586                 (__mmask8) -1);
    587 }
    588 
    589 static __inline__ __m128 __DEFAULT_FN_ATTRS
    590 _mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
    591   return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
    592                 (__v4sf) __W,
    593                 (__mmask8) __U);
    594 }
    595 
    596 static __inline__ __m128 __DEFAULT_FN_ATTRS
    597 _mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A) {
    598   return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
    599                 (__v4sf) _mm_setzero_ps(),
    600                 (__mmask8) __U);
    601 }
    602 
    603 static __inline__ __m128i __DEFAULT_FN_ATTRS
    604 _mm_cvttpd_epi64 (__m128d __A) {
    605   return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
    606                 (__v2di) _mm_setzero_si128(),
    607                 (__mmask8) -1);
    608 }
    609 
    610 static __inline__ __m128i __DEFAULT_FN_ATTRS
    611 _mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A) {
    612   return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
    613                 (__v2di) __W,
    614                 (__mmask8) __U);
    615 }
    616 
    617 static __inline__ __m128i __DEFAULT_FN_ATTRS
    618 _mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A) {
    619   return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
    620                 (__v2di) _mm_setzero_si128(),
    621                 (__mmask8) __U);
    622 }
    623 
    624 static __inline__ __m256i __DEFAULT_FN_ATTRS
    625 _mm256_cvttpd_epi64 (__m256d __A) {
    626   return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
    627                 (__v4di) _mm256_setzero_si256(),
    628                 (__mmask8) -1);
    629 }
    630 
    631 static __inline__ __m256i __DEFAULT_FN_ATTRS
    632 _mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A) {
    633   return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
    634                 (__v4di) __W,
    635                 (__mmask8) __U);
    636 }
    637 
    638 static __inline__ __m256i __DEFAULT_FN_ATTRS
    639 _mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A) {
    640   return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
    641                 (__v4di) _mm256_setzero_si256(),
    642                 (__mmask8) __U);
    643 }
    644 
    645 static __inline__ __m128i __DEFAULT_FN_ATTRS
    646 _mm_cvttpd_epu64 (__m128d __A) {
    647   return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
    648                 (__v2di) _mm_setzero_si128(),
    649                 (__mmask8) -1);
    650 }
    651 
    652 static __inline__ __m128i __DEFAULT_FN_ATTRS
    653 _mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A) {
    654   return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
    655                 (__v2di) __W,
    656                 (__mmask8) __U);
    657 }
    658 
    659 static __inline__ __m128i __DEFAULT_FN_ATTRS
    660 _mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A) {
    661   return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
    662                 (__v2di) _mm_setzero_si128(),
    663                 (__mmask8) __U);
    664 }
    665 
    666 static __inline__ __m256i __DEFAULT_FN_ATTRS
    667 _mm256_cvttpd_epu64 (__m256d __A) {
    668   return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
    669                 (__v4di) _mm256_setzero_si256(),
    670                 (__mmask8) -1);
    671 }
    672 
    673 static __inline__ __m256i __DEFAULT_FN_ATTRS
    674 _mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A) {
    675   return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
    676                 (__v4di) __W,
    677                 (__mmask8) __U);
    678 }
    679 
    680 static __inline__ __m256i __DEFAULT_FN_ATTRS
    681 _mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A) {
    682   return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
    683                 (__v4di) _mm256_setzero_si256(),
    684                 (__mmask8) __U);
    685 }
    686 
    687 static __inline__ __m128i __DEFAULT_FN_ATTRS
    688 _mm_cvttps_epi64 (__m128 __A) {
    689   return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
    690                 (__v2di) _mm_setzero_si128(),
    691                 (__mmask8) -1);
    692 }
    693 
    694 static __inline__ __m128i __DEFAULT_FN_ATTRS
    695 _mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A) {
    696   return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
    697                 (__v2di) __W,
    698                 (__mmask8) __U);
    699 }
    700 
    701 static __inline__ __m128i __DEFAULT_FN_ATTRS
    702 _mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
    703   return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
    704                 (__v2di) _mm_setzero_si128(),
    705                 (__mmask8) __U);
    706 }
    707 
    708 static __inline__ __m256i __DEFAULT_FN_ATTRS
    709 _mm256_cvttps_epi64 (__m128 __A) {
    710   return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
    711                 (__v4di) _mm256_setzero_si256(),
    712                 (__mmask8) -1);
    713 }
    714 
    715 static __inline__ __m256i __DEFAULT_FN_ATTRS
    716 _mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A) {
    717   return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
    718                 (__v4di) __W,
    719                 (__mmask8) __U);
    720 }
    721 
    722 static __inline__ __m256i __DEFAULT_FN_ATTRS
    723 _mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A) {
    724   return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
    725                 (__v4di) _mm256_setzero_si256(),
    726                 (__mmask8) __U);
    727 }
    728 
    729 static __inline__ __m128i __DEFAULT_FN_ATTRS
    730 _mm_cvttps_epu64 (__m128 __A) {
    731   return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
    732                 (__v2di) _mm_setzero_si128(),
    733                 (__mmask8) -1);
    734 }
    735 
    736 static __inline__ __m128i __DEFAULT_FN_ATTRS
    737 _mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A) {
    738   return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
    739                 (__v2di) __W,
    740                 (__mmask8) __U);
    741 }
    742 
    743 static __inline__ __m128i __DEFAULT_FN_ATTRS
    744 _mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
    745   return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
    746                 (__v2di) _mm_setzero_si128(),
    747                 (__mmask8) __U);
    748 }
    749 
    750 static __inline__ __m256i __DEFAULT_FN_ATTRS
    751 _mm256_cvttps_epu64 (__m128 __A) {
    752   return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
    753                 (__v4di) _mm256_setzero_si256(),
    754                 (__mmask8) -1);
    755 }
    756 
    757 static __inline__ __m256i __DEFAULT_FN_ATTRS
    758 _mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A) {
    759   return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
    760                 (__v4di) __W,
    761                 (__mmask8) __U);
    762 }
    763 
    764 static __inline__ __m256i __DEFAULT_FN_ATTRS
    765 _mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
    766   return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
    767                 (__v4di) _mm256_setzero_si256(),
    768                 (__mmask8) __U);
    769 }
    770 
    771 static __inline__ __m128d __DEFAULT_FN_ATTRS
    772 _mm_cvtepu64_pd (__m128i __A) {
    773   return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
    774                 (__v2df) _mm_setzero_pd(),
    775                 (__mmask8) -1);
    776 }
    777 
    778 static __inline__ __m128d __DEFAULT_FN_ATTRS
    779 _mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
    780   return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
    781                 (__v2df) __W,
    782                 (__mmask8) __U);
    783 }
    784 
    785 static __inline__ __m128d __DEFAULT_FN_ATTRS
    786 _mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A) {
    787   return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
    788                 (__v2df) _mm_setzero_pd(),
    789                 (__mmask8) __U);
    790 }
    791 
    792 static __inline__ __m256d __DEFAULT_FN_ATTRS
    793 _mm256_cvtepu64_pd (__m256i __A) {
    794   return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
    795                 (__v4df) _mm256_setzero_pd(),
    796                 (__mmask8) -1);
    797 }
    798 
    799 static __inline__ __m256d __DEFAULT_FN_ATTRS
    800 _mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
    801   return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
    802                 (__v4df) __W,
    803                 (__mmask8) __U);
    804 }
    805 
    806 static __inline__ __m256d __DEFAULT_FN_ATTRS
    807 _mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A) {
    808   return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
    809                 (__v4df) _mm256_setzero_pd(),
    810                 (__mmask8) __U);
    811 }
    812 
    813 static __inline__ __m128 __DEFAULT_FN_ATTRS
    814 _mm_cvtepu64_ps (__m128i __A) {
    815   return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
    816                 (__v4sf) _mm_setzero_ps(),
    817                 (__mmask8) -1);
    818 }
    819 
    820 static __inline__ __m128 __DEFAULT_FN_ATTRS
    821 _mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A) {
    822   return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
    823                 (__v4sf) __W,
    824                 (__mmask8) __U);
    825 }
    826 
    827 static __inline__ __m128 __DEFAULT_FN_ATTRS
    828 _mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) {
    829   return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
    830                 (__v4sf) _mm_setzero_ps(),
    831                 (__mmask8) __U);
    832 }
    833 
    834 static __inline__ __m128 __DEFAULT_FN_ATTRS
    835 _mm256_cvtepu64_ps (__m256i __A) {
    836   return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
    837                 (__v4sf) _mm_setzero_ps(),
    838                 (__mmask8) -1);
    839 }
    840 
    841 static __inline__ __m128 __DEFAULT_FN_ATTRS
    842 _mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
    843   return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
    844                 (__v4sf) __W,
    845                 (__mmask8) __U);
    846 }
    847 
    848 static __inline__ __m128 __DEFAULT_FN_ATTRS
    849 _mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) {
    850   return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
    851                 (__v4sf) _mm_setzero_ps(),
    852                 (__mmask8) __U);
    853 }
    854 
    855 #define _mm_range_pd(__A, __B, __C) __extension__ ({                         \
    856   (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
    857                 (__v2df) _mm_setzero_pd(), (__mmask8) -1); })
    858 
    859 #define _mm_mask_range_pd(__W, __U, __A, __B, __C) __extension__ ({          \
    860   (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
    861                 (__v2df) __W, (__mmask8) __U); })
    862 
    863 #define _mm_maskz_range_pd(__U, __A, __B, __C) __extension__ ({              \
    864   (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A, (__v2df) __B, __C, \
    865                 (__v2df) _mm_setzero_pd(), (__mmask8) __U); })
    866 
    867 #define _mm256_range_pd(__A, __B, __C) __extension__ ({                      \
    868   (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
    869                 (__v4df) _mm256_setzero_pd(), (__mmask8) -1); })
    870 
    871 #define _mm256_mask_range_pd(__W, __U, __A, __B, __C) __extension__ ({       \
    872   (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
    873                 (__v4df) __W, (__mmask8) __U); })
    874 
    875 #define _mm256_maskz_range_pd(__U, __A, __B, __C) __extension__ ({           \
    876   (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A, (__v4df) __B, __C, \
    877                 (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
    878 
    879 #define _mm_range_ps(__A, __B, __C) __extension__ ({                         \
    880   (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C,  \
    881                 (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
    882 
    883 #define _mm_mask_range_ps(__W, __U, __A, __B, __C) __extension__ ({          \
    884   (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C,  \
    885                 (__v4sf) __W, (__mmask8) __U); })
    886 
    887 #define _mm_maskz_range_ps(__U, __A, __B, __C) __extension__ ({              \
    888   (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A, (__v4sf) __B, __C,  \
    889                 (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
    890 
    891 #define _mm256_range_ps(__A, __B, __C) __extension__ ({                      \
    892   (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C,  \
    893                 (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
    894 
    895 #define _mm256_mask_range_ps(__W, __U, __A, __B, __C) __extension__ ({       \
    896   (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C,  \
    897                 (__v8sf) __W, (__mmask8) __U); })
    898 
    899 #define _mm256_maskz_range_ps(__U, __A, __B, __C) __extension__ ({           \
    900   (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A, (__v8sf) __B, __C,  \
    901                 (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
    902 
    903 #define _mm_reduce_pd(__A, __B) __extension__ ({                \
    904   (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
    905                 (__v2df) _mm_setzero_pd(), (__mmask8) -1); })
    906 
    907 #define _mm_mask_reduce_pd(__W, __U, __A, __B) __extension__ ({ \
    908   (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
    909                 (__v2df) __W, (__mmask8) __U); })
    910 
    911 #define _mm_maskz_reduce_pd(__U, __A, __B) __extension__ ({     \
    912   (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B, \
    913                 (__v2df) _mm_setzero_pd(), (__mmask8) __U); })
    914 
    915 #define _mm256_reduce_pd(__A, __B) __extension__ ({                \
    916   (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,    \
    917                 (__v4df) _mm256_setzero_pd(), (__mmask8) -1); })
    918 
    919 #define _mm256_mask_reduce_pd(__W, __U, __A, __B) __extension__ ({ \
    920   (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,    \
    921                 (__v4df) __W, (__mmask8) __U); })
    922 
    923 #define _mm256_maskz_reduce_pd(__U, __A, __B) __extension__ ({     \
    924   (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,    \
    925                 (__v4df) _mm256_setzero_pd(), (__mmask8) __U); })
    926 
    927 #define _mm_reduce_ps(__A, __B) __extension__ ({                   \
    928   (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,     \
    929                 (__v4sf) _mm_setzero_ps(), (__mmask8) -1); })
    930 
    931 #define _mm_mask_reduce_ps(__W, __U, __A, __B) __extension__ ({    \
    932   (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,     \
    933                 (__v4sf) __W, (__mmask8) __U); })
    934 
    935 #define _mm_maskz_reduce_ps(__U, __A, __B) __extension__ ({        \
    936   (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,     \
    937                 (__v4sf) _mm_setzero_ps(), (__mmask8) __U); })
    938 
    939 #define _mm256_reduce_ps(__A, __B) __extension__ ({                \
    940   (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,     \
    941                 (__v8sf) _mm256_setzero_ps(), (__mmask8) -1); })
    942 
    943 #define _mm256_mask_reduce_ps(__W, __U, __A, __B) __extension__ ({ \
    944   (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,     \
    945                 (__v8sf) __W, (__mmask8) __U); })
    946 
    947 #define _mm256_maskz_reduce_ps(__U, __A, __B) __extension__ ({     \
    948   (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,     \
    949                 (__v8sf) _mm256_setzero_ps(), (__mmask8) __U); })
    950 
    951 #undef __DEFAULT_FN_ATTRS
    952 
    953 #endif
    954