Home | History | Annotate | Download | only in CodeGen
      1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512dq -emit-llvm -o - -Werror | FileCheck %s
      2 
      3 // Don't include mm_malloc.h, it's system specific.
      4 #define __MM_MALLOC_H
      5 
      6 #include <immintrin.h>
      7 
      8 __m512i test_mm512_mullo_epi64 (__m512i __A, __m512i __B) {
      9   // CHECK-LABEL: @test_mm512_mullo_epi64
     10   // CHECK: mul <8 x i64>
     11   return (__m512i) ((__v8di) __A * (__v8di) __B);
     12 }
     13 
     14 __m512i test_mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
     15   // CHECK-LABEL: @test_mm512_mask_mullo_epi64
     16   // CHECK: @llvm.x86.avx512.mask.pmull.q.512
     17   return (__m512i) _mm512_mask_mullo_epi64(__W, __U, __A, __B);
     18 }
     19 
     20 __m512i test_mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B) {
     21   // CHECK-LABEL: @test_mm512_maskz_mullo_epi64
     22   // CHECK: @llvm.x86.avx512.mask.pmull.q.512
     23   return (__m512i) _mm512_maskz_mullo_epi64(__U, __A, __B);
     24 }
     25 
     26 __m512d test_mm512_xor_pd (__m512d __A, __m512d __B) {
     27   // CHECK-LABEL: @test_mm512_xor_pd
     28   // CHECK: xor <8 x i64>
     29   return (__m512d) _mm512_xor_pd(__A, __B);
     30 }
     31 
     32 __m512d test_mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
     33   // CHECK-LABEL: @test_mm512_mask_xor_pd
     34   // CHECK: @llvm.x86.avx512.mask.xor.pd.512
     35   return (__m512d) _mm512_mask_xor_pd(__W, __U, __A, __B);
     36 }
     37 
     38 __m512d test_mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B) {
     39   // CHECK-LABEL: @test_mm512_maskz_xor_pd
     40   // CHECK: @llvm.x86.avx512.mask.xor.pd.512
     41   return (__m512d) _mm512_maskz_xor_pd(__U, __A, __B);
     42 }
     43 
     44 __m512 test_mm512_xor_ps (__m512 __A, __m512 __B) {
     45   // CHECK-LABEL: @test_mm512_xor_ps
     46   // CHECK: xor <16 x i32>
     47   return (__m512) _mm512_xor_ps(__A, __B);
     48 }
     49 
     50 __m512 test_mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
     51   // CHECK-LABEL: @test_mm512_mask_xor_ps
     52   // CHECK: @llvm.x86.avx512.mask.xor.ps.512
     53   return (__m512) _mm512_mask_xor_ps(__W, __U, __A, __B);
     54 }
     55 
     56 __m512 test_mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B) {
     57   // CHECK-LABEL: @test_mm512_maskz_xor_ps
     58   // CHECK: @llvm.x86.avx512.mask.xor.ps.512
     59   return (__m512) _mm512_maskz_xor_ps(__U, __A, __B);
     60 }
     61 
     62 __m512d test_mm512_or_pd (__m512d __A, __m512d __B) {
     63   // CHECK-LABEL: @test_mm512_or_pd
     64   // CHECK: or <8 x i64>
     65   return (__m512d) _mm512_or_pd(__A, __B);
     66 }
     67 
     68 __m512d test_mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
     69   // CHECK-LABEL: @test_mm512_mask_or_pd
     70   // CHECK: @llvm.x86.avx512.mask.or.pd.512
     71   return (__m512d) _mm512_mask_or_pd(__W, __U, __A, __B);
     72 }
     73 
     74 __m512d test_mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B) {
     75   // CHECK-LABEL: @test_mm512_maskz_or_pd
     76   // CHECK: @llvm.x86.avx512.mask.or.pd.512
     77   return (__m512d) _mm512_maskz_or_pd(__U, __A, __B);
     78 }
     79 
     80 __m512 test_mm512_or_ps (__m512 __A, __m512 __B) {
     81   // CHECK-LABEL: @test_mm512_or_ps
     82   // CHECK: or <16 x i32>
     83   return (__m512) _mm512_or_ps(__A, __B);
     84 }
     85 
     86 __m512 test_mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
     87   // CHECK-LABEL: @test_mm512_mask_or_ps
     88   // CHECK: @llvm.x86.avx512.mask.or.ps.512
     89   return (__m512) _mm512_mask_or_ps(__W, __U, __A, __B);
     90 }
     91 
     92 __m512 test_mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B) {
     93   // CHECK-LABEL: @test_mm512_maskz_or_ps
     94   // CHECK: @llvm.x86.avx512.mask.or.ps.512
     95   return (__m512) _mm512_maskz_or_ps(__U, __A, __B);
     96 }
     97 
     98 __m512d test_mm512_and_pd (__m512d __A, __m512d __B) {
     99   // CHECK-LABEL: @test_mm512_and_pd
    100   // CHECK: and <8 x i64>
    101   return (__m512d) _mm512_and_pd(__A, __B);
    102 }
    103 
    104 __m512d test_mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
    105   // CHECK-LABEL: @test_mm512_mask_and_pd
    106   // CHECK: @llvm.x86.avx512.mask.and.pd.512
    107   return (__m512d) _mm512_mask_and_pd(__W, __U, __A, __B);
    108 }
    109 
    110 __m512d test_mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B) {
    111   // CHECK-LABEL: @test_mm512_maskz_and_pd
    112   // CHECK: @llvm.x86.avx512.mask.and.pd.512
    113   return (__m512d) _mm512_maskz_and_pd(__U, __A, __B);
    114 }
    115 
    116 __m512 test_mm512_and_ps (__m512 __A, __m512 __B) {
    117   // CHECK-LABEL: @test_mm512_and_ps
    118   // CHECK: and <16 x i32>
    119   return (__m512) _mm512_and_ps(__A, __B);
    120 }
    121 
    122 __m512 test_mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
    123   // CHECK-LABEL: @test_mm512_mask_and_ps
    124   // CHECK: @llvm.x86.avx512.mask.and.ps.512
    125   return (__m512) _mm512_mask_and_ps(__W, __U, __A, __B);
    126 }
    127 
    128 __m512 test_mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B) {
    129   // CHECK-LABEL: @test_mm512_maskz_and_ps
    130   // CHECK: @llvm.x86.avx512.mask.and.ps.512
    131   return (__m512) _mm512_maskz_and_ps(__U, __A, __B);
    132 }
    133 
    134 __m512d test_mm512_andnot_pd (__m512d __A, __m512d __B) {
    135   // CHECK-LABEL: @test_mm512_andnot_pd
    136   // CHECK: @llvm.x86.avx512.mask.andn.pd.512
    137   return (__m512d) _mm512_andnot_pd(__A, __B);
    138 }
    139 
    140 __m512d test_mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
    141   // CHECK-LABEL: @test_mm512_mask_andnot_pd
    142   // CHECK: @llvm.x86.avx512.mask.andn.pd.512
    143   return (__m512d) _mm512_mask_andnot_pd(__W, __U, __A, __B);
    144 }
    145 
    146 __m512d test_mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B) {
    147   // CHECK-LABEL: @test_mm512_maskz_andnot_pd
    148   // CHECK: @llvm.x86.avx512.mask.andn.pd.512
    149   return (__m512d) _mm512_maskz_andnot_pd(__U, __A, __B);
    150 }
    151 
    152 __m512 test_mm512_andnot_ps (__m512 __A, __m512 __B) {
    153   // CHECK-LABEL: @test_mm512_andnot_ps
    154   // CHECK: @llvm.x86.avx512.mask.andn.ps.512
    155   return (__m512) _mm512_andnot_ps(__A, __B);
    156 }
    157 
    158 __m512 test_mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
    159   // CHECK-LABEL: @test_mm512_mask_andnot_ps
    160   // CHECK: @llvm.x86.avx512.mask.andn.ps.512
    161   return (__m512) _mm512_mask_andnot_ps(__W, __U, __A, __B);
    162 }
    163 
    164 __m512 test_mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B) {
    165   // CHECK-LABEL: @test_mm512_maskz_andnot_ps
    166   // CHECK: @llvm.x86.avx512.mask.andn.ps.512
    167   return (__m512) _mm512_maskz_andnot_ps(__U, __A, __B);
    168 }
    169 
    170 __m512i test_mm512_cvtpd_epi64(__m512d __A) {
    171   // CHECK-LABEL: @test_mm512_cvtpd_epi64
    172   // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
    173   return _mm512_cvtpd_epi64(__A);
    174 }
    175 
    176 __m512i test_mm512_mask_cvtpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
    177   // CHECK-LABEL: @test_mm512_mask_cvtpd_epi64
    178   // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
    179   return _mm512_mask_cvtpd_epi64(__W, __U, __A);
    180 }
    181 
    182 __m512i test_mm512_maskz_cvtpd_epi64(__mmask8 __U, __m512d __A) {
    183   // CHECK-LABEL: @test_mm512_maskz_cvtpd_epi64
    184   // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
    185   return _mm512_maskz_cvtpd_epi64(__U, __A);
    186 }
    187 
    188 __m512i test_mm512_cvt_roundpd_epi64(__m512d __A) {
    189   // CHECK-LABEL: @test_mm512_cvt_roundpd_epi64
    190   // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
    191   return _mm512_cvt_roundpd_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
    192 }
    193 
    194 __m512i test_mm512_mask_cvt_roundpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
    195   // CHECK-LABEL: @test_mm512_mask_cvt_roundpd_epi64
    196   // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
    197   return _mm512_mask_cvt_roundpd_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    198 }
    199 
    200 __m512i test_mm512_maskz_cvt_roundpd_epi64(__mmask8 __U, __m512d __A) {
    201   // CHECK-LABEL: @test_mm512_maskz_cvt_roundpd_epi64
    202   // CHECK: @llvm.x86.avx512.mask.cvtpd2qq.512
    203   return _mm512_maskz_cvt_roundpd_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    204 }
    205 
    206 __m512i test_mm512_cvtpd_epu64(__m512d __A) {
    207   // CHECK-LABEL: @test_mm512_cvtpd_epu64
    208   // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
    209   return _mm512_cvtpd_epu64(__A);
    210 }
    211 
    212 __m512i test_mm512_mask_cvtpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
    213   // CHECK-LABEL: @test_mm512_mask_cvtpd_epu64
    214   // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
    215   return _mm512_mask_cvtpd_epu64(__W, __U, __A);
    216 }
    217 
    218 __m512i test_mm512_maskz_cvtpd_epu64(__mmask8 __U, __m512d __A) {
    219   // CHECK-LABEL: @test_mm512_maskz_cvtpd_epu64
    220   // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
    221   return _mm512_maskz_cvtpd_epu64(__U, __A);
    222 }
    223 
    224 __m512i test_mm512_cvt_roundpd_epu64(__m512d __A) {
    225   // CHECK-LABEL: @test_mm512_cvt_roundpd_epu64
    226   // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
    227   return _mm512_cvt_roundpd_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
    228 }
    229 
    230 __m512i test_mm512_mask_cvt_roundpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
    231   // CHECK-LABEL: @test_mm512_mask_cvt_roundpd_epu64
    232   // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
    233   return _mm512_mask_cvt_roundpd_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    234 }
    235 
    236 __m512i test_mm512_maskz_cvt_roundpd_epu64(__mmask8 __U, __m512d __A) {
    237   // CHECK-LABEL: @test_mm512_maskz_cvt_roundpd_epu64
    238   // CHECK: @llvm.x86.avx512.mask.cvtpd2uqq.512
    239   return _mm512_maskz_cvt_roundpd_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    240 }
    241 
    242 __m512i test_mm512_cvtps_epi64(__m256 __A) {
    243   // CHECK-LABEL: @test_mm512_cvtps_epi64
    244   // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
    245   return _mm512_cvtps_epi64(__A);
    246 }
    247 
    248 __m512i test_mm512_mask_cvtps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
    249   // CHECK-LABEL: @test_mm512_mask_cvtps_epi64
    250   // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
    251   return _mm512_mask_cvtps_epi64(__W, __U, __A);
    252 }
    253 
    254 __m512i test_mm512_maskz_cvtps_epi64(__mmask8 __U, __m256 __A) {
    255   // CHECK-LABEL: @test_mm512_maskz_cvtps_epi64
    256   // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
    257   return _mm512_maskz_cvtps_epi64(__U, __A);
    258 }
    259 
    260 __m512i test_mm512_cvt_roundps_epi64(__m256 __A) {
    261   // CHECK-LABEL: @test_mm512_cvt_roundps_epi64
    262   // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
    263   return _mm512_cvt_roundps_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
    264 }
    265 
    266 __m512i test_mm512_mask_cvt_roundps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
    267   // CHECK-LABEL: @test_mm512_mask_cvt_roundps_epi64
    268   // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
    269   return _mm512_mask_cvt_roundps_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    270 }
    271 
    272 __m512i test_mm512_maskz_cvt_roundps_epi64(__mmask8 __U, __m256 __A) {
    273   // CHECK-LABEL: @test_mm512_maskz_cvt_roundps_epi64
    274   // CHECK: @llvm.x86.avx512.mask.cvtps2qq.512
    275   return _mm512_maskz_cvt_roundps_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    276 }
    277 
    278 __m512i test_mm512_cvtps_epu64(__m256 __A) {
    279   // CHECK-LABEL: @test_mm512_cvtps_epu64
    280   // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
    281   return _mm512_cvtps_epu64(__A);
    282 }
    283 
    284 __m512i test_mm512_mask_cvtps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
    285   // CHECK-LABEL: @test_mm512_mask_cvtps_epu64
    286   // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
    287   return _mm512_mask_cvtps_epu64(__W, __U, __A);
    288 }
    289 
    290 __m512i test_mm512_maskz_cvtps_epu64(__mmask8 __U, __m256 __A) {
    291   // CHECK-LABEL: @test_mm512_maskz_cvtps_epu64
    292   // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
    293   return _mm512_maskz_cvtps_epu64(__U, __A);
    294 }
    295 
    296 __m512i test_mm512_cvt_roundps_epu64(__m256 __A) {
    297   // CHECK-LABEL: @test_mm512_cvt_roundps_epu64
    298   // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
    299   return _mm512_cvt_roundps_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
    300 }
    301 
    302 __m512i test_mm512_mask_cvt_roundps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
    303   // CHECK-LABEL: @test_mm512_mask_cvt_roundps_epu64
    304   // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
    305   return _mm512_mask_cvt_roundps_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    306 }
    307 
    308 __m512i test_mm512_maskz_cvt_roundps_epu64(__mmask8 __U, __m256 __A) {
    309   // CHECK-LABEL: @test_mm512_maskz_cvt_roundps_epu64
    310   // CHECK: @llvm.x86.avx512.mask.cvtps2uqq.512
    311   return _mm512_maskz_cvt_roundps_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    312 }
    313 
    314 __m512d test_mm512_cvtepi64_pd(__m512i __A) {
    315   // CHECK-LABEL: @test_mm512_cvtepi64_pd
    316   // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
    317   return _mm512_cvtepi64_pd(__A);
    318 }
    319 
    320 __m512d test_mm512_mask_cvtepi64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
    321   // CHECK-LABEL: @test_mm512_mask_cvtepi64_pd
    322   // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
    323   return _mm512_mask_cvtepi64_pd(__W, __U, __A);
    324 }
    325 
    326 __m512d test_mm512_maskz_cvtepi64_pd(__mmask8 __U, __m512i __A) {
    327   // CHECK-LABEL: @test_mm512_maskz_cvtepi64_pd
    328   // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
    329   return _mm512_maskz_cvtepi64_pd(__U, __A);
    330 }
    331 
    332 __m512d test_mm512_cvt_roundepi64_pd(__m512i __A) {
    333   // CHECK-LABEL: @test_mm512_cvt_roundepi64_pd
    334   // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
    335   return _mm512_cvt_roundepi64_pd(__A, _MM_FROUND_TO_NEAREST_INT);
    336 }
    337 
    338 __m512d test_mm512_mask_cvt_roundepi64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
    339   // CHECK-LABEL: @test_mm512_mask_cvt_roundepi64_pd
    340   // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
    341   return _mm512_mask_cvt_roundepi64_pd(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    342 }
    343 
    344 __m512d test_mm512_maskz_cvt_roundepi64_pd(__mmask8 __U, __m512i __A) {
    345   // CHECK-LABEL: @test_mm512_maskz_cvt_roundepi64_pd
    346   // CHECK: @llvm.x86.avx512.mask.cvtqq2pd.512
    347   return _mm512_maskz_cvt_roundepi64_pd(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    348 }
    349 
    350 __m256 test_mm512_cvtepi64_ps(__m512i __A) {
    351   // CHECK-LABEL: @test_mm512_cvtepi64_ps
    352   // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
    353   return _mm512_cvtepi64_ps(__A);
    354 }
    355 
    356 __m256 test_mm512_mask_cvtepi64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
    357   // CHECK-LABEL: @test_mm512_mask_cvtepi64_ps
    358   // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
    359   return _mm512_mask_cvtepi64_ps(__W, __U, __A);
    360 }
    361 
    362 __m256 test_mm512_maskz_cvtepi64_ps(__mmask8 __U, __m512i __A) {
    363   // CHECK-LABEL: @test_mm512_maskz_cvtepi64_ps
    364   // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
    365   return _mm512_maskz_cvtepi64_ps(__U, __A);
    366 }
    367 
    368 __m256 test_mm512_cvt_roundepi64_ps(__m512i __A) {
    369   // CHECK-LABEL: @test_mm512_cvt_roundepi64_ps
    370   // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
    371   return _mm512_cvt_roundepi64_ps(__A, _MM_FROUND_TO_NEAREST_INT);
    372 }
    373 
    374 __m256 test_mm512_mask_cvt_roundepi64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
    375   // CHECK-LABEL: @test_mm512_mask_cvt_roundepi64_ps
    376   // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
    377   return _mm512_mask_cvt_roundepi64_ps(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    378 }
    379 
    380 __m256 test_mm512_maskz_cvt_roundepi64_ps(__mmask8 __U, __m512i __A) {
    381   // CHECK-LABEL: @test_mm512_maskz_cvt_roundepi64_ps
    382   // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.512
    383   return _mm512_maskz_cvt_roundepi64_ps(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    384 }
    385 
    386 __m512i test_mm512_cvttpd_epi64(__m512d __A) {
    387   // CHECK-LABEL: @test_mm512_cvttpd_epi64
    388   // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
    389   return _mm512_cvttpd_epi64(__A);
    390 }
    391 
    392 __m512i test_mm512_mask_cvttpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
    393   // CHECK-LABEL: @test_mm512_mask_cvttpd_epi64
    394   // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
    395   return _mm512_mask_cvttpd_epi64(__W, __U, __A);
    396 }
    397 
    398 __m512i test_mm512_maskz_cvttpd_epi64(__mmask8 __U, __m512d __A) {
    399   // CHECK-LABEL: @test_mm512_maskz_cvttpd_epi64
    400   // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
    401   return _mm512_maskz_cvttpd_epi64(__U, __A);
    402 }
    403 
    404 __m512i test_mm512_cvtt_roundpd_epi64(__m512d __A) {
    405   // CHECK-LABEL: @test_mm512_cvtt_roundpd_epi64
    406   // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
    407   return _mm512_cvtt_roundpd_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
    408 }
    409 
    410 __m512i test_mm512_mask_cvtt_roundpd_epi64(__m512i __W, __mmask8 __U, __m512d __A) {
    411   // CHECK-LABEL: @test_mm512_mask_cvtt_roundpd_epi64
    412   // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
    413   return _mm512_mask_cvtt_roundpd_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    414 }
    415 
    416 __m512i test_mm512_maskz_cvtt_roundpd_epi64(__mmask8 __U, __m512d __A) {
    417   // CHECK-LABEL: @test_mm512_maskz_cvtt_roundpd_epi64
    418   // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.512
    419   return _mm512_maskz_cvtt_roundpd_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    420 }
    421 
    422 __m512i test_mm512_cvttpd_epu64(__m512d __A) {
    423   // CHECK-LABEL: @test_mm512_cvttpd_epu64
    424   // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
    425   return _mm512_cvttpd_epu64(__A);
    426 }
    427 
    428 __m512i test_mm512_mask_cvttpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
    429   // CHECK-LABEL: @test_mm512_mask_cvttpd_epu64
    430   // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
    431   return _mm512_mask_cvttpd_epu64(__W, __U, __A);
    432 }
    433 
    434 __m512i test_mm512_maskz_cvttpd_epu64(__mmask8 __U, __m512d __A) {
    435   // CHECK-LABEL: @test_mm512_maskz_cvttpd_epu64
    436   // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
    437   return _mm512_maskz_cvttpd_epu64(__U, __A);
    438 }
    439 
    440 __m512i test_mm512_cvtt_roundpd_epu64(__m512d __A) {
    441   // CHECK-LABEL: @test_mm512_cvtt_roundpd_epu64
    442   // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
    443   return _mm512_cvtt_roundpd_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
    444 }
    445 
    446 __m512i test_mm512_mask_cvtt_roundpd_epu64(__m512i __W, __mmask8 __U, __m512d __A) {
    447   // CHECK-LABEL: @test_mm512_mask_cvtt_roundpd_epu64
    448   // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
    449   return _mm512_mask_cvtt_roundpd_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    450 }
    451 
    452 __m512i test_mm512_maskz_cvtt_roundpd_epu64(__mmask8 __U, __m512d __A) {
    453   // CHECK-LABEL: @test_mm512_maskz_cvtt_roundpd_epu64
    454   // CHECK: @llvm.x86.avx512.mask.cvttpd2uqq.512
    455   return _mm512_maskz_cvtt_roundpd_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    456 }
    457 
    458 __m512i test_mm512_cvttps_epi64(__m256 __A) {
    459   // CHECK-LABEL: @test_mm512_cvttps_epi64
    460   // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
    461   return _mm512_cvttps_epi64(__A);
    462 }
    463 
    464 __m512i test_mm512_mask_cvttps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
    465   // CHECK-LABEL: @test_mm512_mask_cvttps_epi64
    466   // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
    467   return _mm512_mask_cvttps_epi64(__W, __U, __A);
    468 }
    469 
    470 __m512i test_mm512_maskz_cvttps_epi64(__mmask8 __U, __m256 __A) {
    471   // CHECK-LABEL: @test_mm512_maskz_cvttps_epi64
    472   // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
    473   return _mm512_maskz_cvttps_epi64(__U, __A);
    474 }
    475 
    476 __m512i test_mm512_cvtt_roundps_epi64(__m256 __A) {
    477   // CHECK-LABEL: @test_mm512_cvtt_roundps_epi64
    478   // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
    479   return _mm512_cvtt_roundps_epi64(__A, _MM_FROUND_TO_NEAREST_INT);
    480 }
    481 
    482 __m512i test_mm512_mask_cvtt_roundps_epi64(__m512i __W, __mmask8 __U, __m256 __A) {
    483   // CHECK-LABEL: @test_mm512_mask_cvtt_roundps_epi64
    484   // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
    485   return _mm512_mask_cvtt_roundps_epi64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    486 }
    487 
    488 __m512i test_mm512_maskz_cvtt_roundps_epi64(__mmask8 __U, __m256 __A) {
    489   // CHECK-LABEL: @test_mm512_maskz_cvtt_roundps_epi64
    490   // CHECK: @llvm.x86.avx512.mask.cvttps2qq.512
    491   return _mm512_maskz_cvtt_roundps_epi64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    492 }
    493 
    494 __m512i test_mm512_cvttps_epu64(__m256 __A) {
    495   // CHECK-LABEL: @test_mm512_cvttps_epu64
    496   // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
    497   return _mm512_cvttps_epu64(__A);
    498 }
    499 
    500 __m512i test_mm512_mask_cvttps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
    501   // CHECK-LABEL: @test_mm512_mask_cvttps_epu64
    502   // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
    503   return _mm512_mask_cvttps_epu64(__W, __U, __A);
    504 }
    505 
    506 __m512i test_mm512_maskz_cvttps_epu64(__mmask8 __U, __m256 __A) {
    507   // CHECK-LABEL: @test_mm512_maskz_cvttps_epu64
    508   // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
    509   return _mm512_maskz_cvttps_epu64(__U, __A);
    510 }
    511 
    512 __m512i test_mm512_cvtt_roundps_epu64(__m256 __A) {
    513   // CHECK-LABEL: @test_mm512_cvtt_roundps_epu64
    514   // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
    515   return _mm512_cvtt_roundps_epu64(__A, _MM_FROUND_TO_NEAREST_INT);
    516 }
    517 
    518 __m512i test_mm512_mask_cvtt_roundps_epu64(__m512i __W, __mmask8 __U, __m256 __A) {
    519   // CHECK-LABEL: @test_mm512_mask_cvtt_roundps_epu64
    520   // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
    521   return _mm512_mask_cvtt_roundps_epu64(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    522 }
    523 
    524 __m512i test_mm512_maskz_cvtt_roundps_epu64(__mmask8 __U, __m256 __A) {
    525   // CHECK-LABEL: @test_mm512_maskz_cvtt_roundps_epu64
    526   // CHECK: @llvm.x86.avx512.mask.cvttps2uqq.512
    527   return _mm512_maskz_cvtt_roundps_epu64(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    528 }
    529 
    530 __m512d test_mm512_cvtepu64_pd(__m512i __A) {
    531   // CHECK-LABEL: @test_mm512_cvtepu64_pd
    532   // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
    533   return _mm512_cvtepu64_pd(__A);
    534 }
    535 
    536 __m512d test_mm512_mask_cvtepu64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
    537   // CHECK-LABEL: @test_mm512_mask_cvtepu64_pd
    538   // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
    539   return _mm512_mask_cvtepu64_pd(__W, __U, __A);
    540 }
    541 
    542 __m512d test_mm512_maskz_cvtepu64_pd(__mmask8 __U, __m512i __A) {
    543   // CHECK-LABEL: @test_mm512_maskz_cvtepu64_pd
    544   // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
    545   return _mm512_maskz_cvtepu64_pd(__U, __A);
    546 }
    547 
    548 __m512d test_mm512_cvt_roundepu64_pd(__m512i __A) {
    549   // CHECK-LABEL: @test_mm512_cvt_roundepu64_pd
    550   // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
    551   return _mm512_cvt_roundepu64_pd(__A, _MM_FROUND_TO_NEAREST_INT);
    552 }
    553 
    554 __m512d test_mm512_mask_cvt_roundepu64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
    555   // CHECK-LABEL: @test_mm512_mask_cvt_roundepu64_pd
    556   // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
    557   return _mm512_mask_cvt_roundepu64_pd(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    558 }
    559 
    560 __m512d test_mm512_maskz_cvt_roundepu64_pd(__mmask8 __U, __m512i __A) {
    561   // CHECK-LABEL: @test_mm512_maskz_cvt_roundepu64_pd
    562   // CHECK: @llvm.x86.avx512.mask.cvtuqq2pd.512
    563   return _mm512_maskz_cvt_roundepu64_pd(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    564 }
    565 
    566 __m256 test_mm512_cvtepu64_ps(__m512i __A) {
    567   // CHECK-LABEL: @test_mm512_cvtepu64_ps
    568   // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
    569   return _mm512_cvtepu64_ps(__A);
    570 }
    571 
    572 __m256 test_mm512_mask_cvtepu64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
    573   // CHECK-LABEL: @test_mm512_mask_cvtepu64_ps
    574   // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
    575   return _mm512_mask_cvtepu64_ps(__W, __U, __A);
    576 }
    577 
    578 __m256 test_mm512_maskz_cvtepu64_ps(__mmask8 __U, __m512i __A) {
    579   // CHECK-LABEL: @test_mm512_maskz_cvtepu64_ps
    580   // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
    581   return _mm512_maskz_cvtepu64_ps(__U, __A);
    582 }
    583 
    584 __m256 test_mm512_cvt_roundepu64_ps(__m512i __A) {
    585   // CHECK-LABEL: @test_mm512_cvt_roundepu64_ps
    586   // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
    587   return _mm512_cvt_roundepu64_ps(__A, _MM_FROUND_TO_NEAREST_INT);
    588 }
    589 
    590 __m256 test_mm512_mask_cvt_roundepu64_ps(__m256 __W, __mmask8 __U, __m512i __A) {
    591   // CHECK-LABEL: @test_mm512_mask_cvt_roundepu64_ps
    592   // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
    593   return _mm512_mask_cvt_roundepu64_ps(__W, __U, __A, _MM_FROUND_TO_NEAREST_INT);
    594 }
    595 
    596 __m256 test_mm512_maskz_cvt_roundepu64_ps(__mmask8 __U, __m512i __A) {
    597   // CHECK-LABEL: @test_mm512_maskz_cvt_roundepu64_ps
    598   // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.512
    599   return _mm512_maskz_cvt_roundepu64_ps(__U, __A, _MM_FROUND_TO_NEAREST_INT);
    600 }
    601 
    602 __m512d test_mm512_range_pd(__m512d __A, __m512d __B) {
    603   // CHECK-LABEL: @test_mm512_range_pd
    604   // CHECK: @llvm.x86.avx512.mask.range.pd.512
    605   return _mm512_range_pd(__A, __B, 4);
    606 }
    607 
    608 __m512d test_mm512_mask_range_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
    609   // CHECK-LABEL: @test_mm512_mask_range_pd
    610   // CHECK: @llvm.x86.avx512.mask.range.pd.512
    611   return _mm512_mask_range_pd(__W, __U, __A, __B, 4);
    612 }
    613 
    614 __m512d test_mm512_maskz_range_pd(__mmask8 __U, __m512d __A, __m512d __B) {
    615   // CHECK-LABEL: @test_mm512_maskz_range_pd
    616   // CHECK: @llvm.x86.avx512.mask.range.pd.512
    617   return _mm512_maskz_range_pd(__U, __A, __B, 4);
    618 }
    619 
    620 __m512d test_mm512_range_round_pd(__m512d __A, __m512d __B) {
    621   // CHECK-LABEL: @test_mm512_range_round_pd
    622   // CHECK: @llvm.x86.avx512.mask.range.pd.512
    623   return _mm512_range_round_pd(__A, __B, 4, 8);
    624 }
    625 
    626 __m512d test_mm512_mask_range_round_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
    627   // CHECK-LABEL: @test_mm512_mask_range_round_pd
    628   // CHECK: @llvm.x86.avx512.mask.range.pd.512
    629   return _mm512_mask_range_round_pd(__W, __U, __A, __B, 4, 8);
    630 }
    631 
    632 __m512d test_mm512_maskz_range_round_pd(__mmask8 __U, __m512d __A, __m512d __B) {
    633   // CHECK-LABEL: @test_mm512_maskz_range_round_pd
    634   // CHECK: @llvm.x86.avx512.mask.range.pd.512
    635   return _mm512_maskz_range_round_pd(__U, __A, __B, 4, 8);
    636 }
    637 
    638 __m128d test_mm512_range_round_sd(__m128d __A, __m128d __B) {
    639   // CHECK-LABEL: @test_mm512_range_round_sd
    640   // CHECK: @llvm.x86.avx512.mask.range.sd
    641   return _mm_range_round_sd(__A, __B, 4, 8);
    642 }
    643 
    644 __m128d test_mm512_mask_range_round_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
    645   // CHECK-LABEL: test_mm512_mask_range_round_sd
    646   // CHECK: @llvm.x86.avx512.mask.range.sd
    647   return _mm_mask_range_round_sd(__W, __U, __A, __B, 4, 8);
    648 }
    649 
    650 __m128d test_mm512_maskz_range_round_sd(__mmask8 __U, __m128d __A, __m128d __B) {
    651   // CHECK-LABEL: @test_mm512_maskz_range_round_sd
    652   // CHECK: @llvm.x86.avx512.mask.range.sd
    653   return _mm_maskz_range_round_sd(__U, __A, __B, 4, 8);
    654 }
    655 
    656 __m128d test_mm512_range_round_ss(__m128d __A, __m128d __B) {
    657   // CHECK-LABEL: @test_mm512_range_round_ss
    658   // CHECK: @llvm.x86.avx512.mask.range.ss
    659   return _mm_range_round_ss(__A, __B, 4, 8);
    660 }
    661 
    662 __m128d test_mm512_mask_range_round_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    663   // CHECK-LABEL: @test_mm512_mask_range_round_ss
    664   // CHECK: @llvm.x86.avx512.mask.range.ss
    665   return _mm_mask_range_round_ss(__W, __U, __A, __B, 4, 8);
    666 }
    667 
    668 __m128 test_mm512_maskz_range_round_ss(__mmask8 __U, __m128 __A, __m128 __B) {
    669   // CHECK-LABEL: @test_mm512_maskz_range_round_ss
    670   // CHECK: @llvm.x86.avx512.mask.range.ss
    671   return _mm_maskz_range_round_ss(__U, __A, __B, 4, 8);
    672 }
    673 
    674 __m128d test_mm_range_sd(__m128d __A, __m128d __B) {
    675   // CHECK-LABEL: @test_mm_range_sd
    676   // CHECK: @llvm.x86.avx512.mask.range.sd
    677   return _mm_range_sd(__A, __B, 4);
    678 }
    679 
    680 __m128d test_mm_mask_range_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
    681   // CHECK-LABEL: test_mm_mask_range_sd
    682   // CHECK: @llvm.x86.avx512.mask.range.sd
    683   return _mm_mask_range_sd(__W, __U, __A, __B, 4);
    684 }
    685 
    686 __m128d test_mm_maskz_range_sd(__mmask8 __U, __m128d __A, __m128d __B) {
    687   // CHECK-LABEL: @test_mm_maskz_range_sd
    688   // CHECK: @llvm.x86.avx512.mask.range.sd
    689   return _mm_maskz_range_sd(__U, __A, __B, 4);
    690 }
    691 
    692 __m128d test_mm_range_ss(__m128d __A, __m128d __B) {
    693   // CHECK-LABEL: @test_mm_range_ss
    694   // CHECK: @llvm.x86.avx512.mask.range.ss
    695   return _mm_range_ss(__A, __B, 4);
    696 }
    697 
    698 __m128d test_mm_mask_range_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    699   // CHECK-LABEL: @test_mm_mask_range_ss
    700   // CHECK: @llvm.x86.avx512.mask.range.ss
    701   return _mm_mask_range_ss(__W, __U, __A, __B, 4);
    702 }
    703 
    704 __m128 test_mm_maskz_range_ss(__mmask8 __U, __m128 __A, __m128 __B) {
    705   // CHECK-LABEL: @test_mm_maskz_range_ss
    706   // CHECK: @llvm.x86.avx512.mask.range.ss
    707   return _mm_maskz_range_ss(__U, __A, __B, 4);
    708 }
    709 
    710 __m512 test_mm512_range_ps(__m512 __A, __m512 __B) {
    711   // CHECK-LABEL: @test_mm512_range_ps
    712   // CHECK: @llvm.x86.avx512.mask.range.ps.512
    713   return _mm512_range_ps(__A, __B, 4);
    714 }
    715 
    716 __m512 test_mm512_mask_range_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
    717   // CHECK-LABEL: @test_mm512_mask_range_ps
    718   // CHECK: @llvm.x86.avx512.mask.range.ps.512
    719   return _mm512_mask_range_ps(__W, __U, __A, __B, 4);
    720 }
    721 
    722 __m512 test_mm512_maskz_range_ps(__mmask16 __U, __m512 __A, __m512 __B) {
    723   // CHECK-LABEL: @test_mm512_maskz_range_ps
    724   // CHECK: @llvm.x86.avx512.mask.range.ps.512
    725   return _mm512_maskz_range_ps(__U, __A, __B, 4);
    726 }
    727 
    728 __m512 test_mm512_range_round_ps(__m512 __A, __m512 __B) {
    729   // CHECK-LABEL: @test_mm512_range_round_ps
    730   // CHECK: @llvm.x86.avx512.mask.range.ps.512
    731   return _mm512_range_round_ps(__A, __B, 4, 8);
    732 }
    733 
    734 __m512 test_mm512_mask_range_round_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
    735   // CHECK-LABEL: @test_mm512_mask_range_round_ps
    736   // CHECK: @llvm.x86.avx512.mask.range.ps.512
    737   return _mm512_mask_range_round_ps(__W, __U, __A, __B, 4, 8);
    738 }
    739 
    740 __m512 test_mm512_maskz_range_round_ps(__mmask16 __U, __m512 __A, __m512 __B) {
    741   // CHECK-LABEL: @test_mm512_maskz_range_round_ps
    742   // CHECK: @llvm.x86.avx512.mask.range.ps.512
    743   return _mm512_maskz_range_round_ps(__U, __A, __B, 4, 8);
    744 }
    745 
    746 __m512d test_mm512_reduce_pd(__m512d __A) {
    747   // CHECK-LABEL: @test_mm512_reduce_pd
    748   // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
    749   return _mm512_reduce_pd(__A, 4);
    750 }
    751 
    752 __m512d test_mm512_mask_reduce_pd(__m512d __W, __mmask8 __U, __m512d __A) {
    753   // CHECK-LABEL: @test_mm512_mask_reduce_pd
    754   // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
    755   return _mm512_mask_reduce_pd(__W, __U, __A, 4);
    756 }
    757 
    758 __m512d test_mm512_maskz_reduce_pd(__mmask8 __U, __m512d __A) {
    759   // CHECK-LABEL: @test_mm512_maskz_reduce_pd
    760   // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
    761   return _mm512_maskz_reduce_pd(__U, __A, 4);
    762 }
    763 
    764 __m512 test_mm512_reduce_ps(__m512 __A) {
    765   // CHECK-LABEL: @test_mm512_reduce_ps
    766   // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
    767   return _mm512_reduce_ps(__A, 4);
    768 }
    769 
    770 __m512 test_mm512_mask_reduce_ps(__m512 __W, __mmask16 __U, __m512 __A) {
    771   // CHECK-LABEL: @test_mm512_mask_reduce_ps
    772   // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
    773   return _mm512_mask_reduce_ps(__W, __U, __A, 4);
    774 }
    775 
    776 __m512 test_mm512_maskz_reduce_ps(__mmask16 __U, __m512 __A) {
    777   // CHECK-LABEL: @test_mm512_maskz_reduce_ps
    778   // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
    779   return _mm512_maskz_reduce_ps(__U, __A, 4);
    780 }
    781 
    782 __m512d test_mm512_reduce_round_pd(__m512d __A) {
    783   // CHECK-LABEL: @test_mm512_reduce_round_pd
    784   // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
    785   return _mm512_reduce_round_pd(__A, 4, 8);
    786 }
    787 
    788 __m512d test_mm512_mask_reduce_round_pd(__m512d __W, __mmask8 __U, __m512d __A) {
    789   // CHECK-LABEL: @test_mm512_mask_reduce_round_pd
    790   // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
    791   return _mm512_mask_reduce_round_pd(__W, __U, __A, 4, 8);
    792 }
    793 
    794 __m512d test_mm512_maskz_reduce_round_pd(__mmask8 __U, __m512d __A) {
    795   // CHECK-LABEL: @test_mm512_maskz_reduce_round_pd
    796   // CHECK: @llvm.x86.avx512.mask.reduce.pd.512
    797   return _mm512_maskz_reduce_round_pd(__U, __A, 4, 8);
    798 }
    799 
    800 __m512 test_mm512_reduce_round_ps(__m512 __A) {
    801   // CHECK-LABEL: @test_mm512_reduce_round_ps
    802   // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
    803   return _mm512_reduce_round_ps(__A, 4, 8);
    804 }
    805 
    806 __m512 test_mm512_mask_reduce_round_ps(__m512 __W, __mmask16 __U, __m512 __A) {
    807   // CHECK-LABEL: @test_mm512_mask_reduce_round_ps
    808   // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
    809   return _mm512_mask_reduce_round_ps(__W, __U, __A, 4, 8);
    810 }
    811 
    812 __m512 test_mm512_maskz_reduce_round_ps(__mmask16 __U, __m512 __A) {
    813   // CHECK-LABEL: @test_mm512_maskz_reduce_round_ps
    814   // CHECK: @llvm.x86.avx512.mask.reduce.ps.512
    815   return _mm512_maskz_reduce_round_ps(__U, __A, 4, 8);
    816 }
    817 
    818 __m128 test_mm_reduce_ss(__m128 __A, __m128 __B) {
    819   // CHECK-LABEL: @test_mm_reduce_ss
    820   // CHECK: @llvm.x86.avx512.mask.reduce.ss
    821   return _mm_reduce_ss(__A, __B, 4);
    822 }
    823 
    824 __m128 test_mm_mask_reduce_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    825   // CHECK-LABEL: @test_mm_mask_reduce_ss
    826   // CHECK: @llvm.x86.avx512.mask.reduce.ss
    827   return _mm_mask_reduce_ss(__W, __U, __A, __B, 4);
    828 }
    829 
    830 __m128 test_mm_maskz_reduce_ss(__mmask8 __U, __m128 __A, __m128 __B) {
    831   // CHECK-LABEL: @test_mm_maskz_reduce_ss
    832   // CHECK: @llvm.x86.avx512.mask.reduce.ss
    833   return _mm_maskz_reduce_ss(__U, __A, __B, 4);
    834 }
    835 
    836 __m128 test_mm_reduce_round_ss(__m128 __A, __m128 __B) {
    837   // CHECK-LABEL: @test_mm_reduce_round_ss
    838   // CHECK: @llvm.x86.avx512.mask.reduce.ss
    839   return _mm_reduce_round_ss(__A, __B, 4, 8);
    840 }
    841 
    842 __m128 test_mm_mask_reduce_round_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
    843   // CHECK-LABEL: @test_mm_mask_reduce_round_ss
    844   // CHECK: @llvm.x86.avx512.mask.reduce.ss
    845   return _mm_mask_reduce_round_ss(__W, __U, __A, __B, 4, 8);
    846 }
    847 
    848 __m128 test_mm_maskz_reduce_round_ss(__mmask8 __U, __m128 __A, __m128 __B) {
    849   // CHECK-LABEL: @test_mm_maskz_reduce_round_ss
    850   // CHECK: @llvm.x86.avx512.mask.reduce.ss
    851   return _mm_maskz_reduce_round_ss(__U, __A, __B, 4, 8);
    852 }
    853 
    854 __m128d test_mm_reduce_sd(__m128d __A, __m128d __B) {
    855   // CHECK-LABEL: @test_mm_reduce_sd
    856   // CHECK: @llvm.x86.avx512.mask.reduce.sd
    857   return _mm_reduce_sd(__A, __B, 4);
    858 }
    859 
    860 __m128d test_mm_mask_reduce_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
    861   // CHECK-LABEL: @test_mm_mask_reduce_sd
    862   // CHECK: @llvm.x86.avx512.mask.reduce.sd
    863   return _mm_mask_reduce_sd(__W, __U, __A, __B, 4);
    864 }
    865 
    866 __m128d test_mm_maskz_reduce_sd(__mmask8 __U, __m128d __A, __m128d __B) {
    867   // CHECK-LABEL: @test_mm_maskz_reduce_sd
    868   // CHECK: @llvm.x86.avx512.mask.reduce.sd
    869   return _mm_maskz_reduce_sd(__U, __A, __B, 4);
    870 }
    871 
    872 __m128d test_mm_reduce_round_sd(__m128d __A, __m128d __B) {
    873   // CHECK-LABEL: @test_mm_reduce_round_sd
    874   // CHECK: @llvm.x86.avx512.mask.reduce.sd
    875   return _mm_reduce_round_sd(__A, __B, 4, 8);
    876 }
    877 
    878 __m128d test_mm_mask_reduce_round_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
    879   // CHECK-LABEL: @test_mm_mask_reduce_round_sd
    880   // CHECK: @llvm.x86.avx512.mask.reduce.sd
    881   return _mm_mask_reduce_round_sd(__W, __U, __A, __B, 4, 8);
    882 }
    883 
    884 __m128d test_mm_maskz_reduce_round_sd(__mmask8 __U, __m128d __A, __m128d __B) {
    885   // CHECK-LABEL: @test_mm_maskz_reduce_round_sd
    886   // CHECK: @llvm.x86.avx512.mask.reduce.sd
    887   return _mm_maskz_reduce_round_sd(__U, __A, __B, 4, 8);
    888 }
    889 
    890 __mmask16 test_mm512_movepi32_mask(__m512i __A) {
    891   // CHECK-LABEL: @test_mm512_movepi32_mask
    892   // CHECK: @llvm.x86.avx512.cvtd2mask.512
    893   return _mm512_movepi32_mask(__A);
    894 }
    895 
    896 __m512i test_mm512_movm_epi32(__mmask16 __A) {
    897   // CHECK-LABEL: @test_mm512_movm_epi32
    898   // CHECK: @llvm.x86.avx512.cvtmask2d.512
    899   return _mm512_movm_epi32(__A);
    900 }
    901 
    902 __m512i test_mm512_movm_epi64(__mmask8 __A) {
    903   // CHECK-LABEL: @test_mm512_movm_epi64
    904   // CHECK: @llvm.x86.avx512.cvtmask2q.512
    905   return _mm512_movm_epi64(__A);
    906 }
    907 
    908 __mmask8 test_mm512_movepi64_mask(__m512i __A) {
    909   // CHECK-LABEL: @test_mm512_movepi64_mask
    910   // CHECK: @llvm.x86.avx512.cvtq2mask.512
    911   return _mm512_movepi64_mask(__A);
    912 }
    913 
    914 __m512 test_mm512_broadcast_f32x2(__m128 __A) {
    915   // CHECK-LABEL: @test_mm512_broadcast_f32x2
    916   // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
    917   return _mm512_broadcast_f32x2(__A);
    918 }
    919 
    920 __m512 test_mm512_mask_broadcast_f32x2(__m512 __O, __mmask16 __M, __m128 __A) {
    921   // CHECK-LABEL: @test_mm512_mask_broadcast_f32x2
    922   // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
    923   return _mm512_mask_broadcast_f32x2(__O, __M, __A);
    924 }
    925 
    926 __m512 test_mm512_maskz_broadcast_f32x2(__mmask16 __M, __m128 __A) {
    927   // CHECK-LABEL: @test_mm512_maskz_broadcast_f32x2
    928   // CHECK: @llvm.x86.avx512.mask.broadcastf32x2
    929   return _mm512_maskz_broadcast_f32x2(__M, __A);
    930 }
    931 
    932 __m512 test_mm512_broadcast_f32x8(__m256 __A) {
    933   // CHECK-LABEL: @test_mm512_broadcast_f32x8
    934   // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
    935   return _mm512_broadcast_f32x8(__A);
    936 }
    937 
    938 __m512 test_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A) {
    939   // CHECK-LABEL: @test_mm512_mask_broadcast_f32x8
    940   // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
    941   return _mm512_mask_broadcast_f32x8(__O, __M, __A);
    942 }
    943 
    944 __m512 test_mm512_maskz_broadcast_f32x8(__mmask16 __M, __m256 __A) {
    945   // CHECK-LABEL: @test_mm512_maskz_broadcast_f32x8
    946   // CHECK: @llvm.x86.avx512.mask.broadcastf32x8
    947   return _mm512_maskz_broadcast_f32x8(__M, __A);
    948 }
    949 
    950 __m512d test_mm512_broadcast_f64x2(__m128d __A) {
    951   // CHECK-LABEL: @test_mm512_broadcast_f64x2
    952   // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
    953   return _mm512_broadcast_f64x2(__A);
    954 }
    955 
    956 __m512d test_mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A) {
    957   // CHECK-LABEL: @test_mm512_mask_broadcast_f64x2
    958   // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
    959   return _mm512_mask_broadcast_f64x2(__O, __M, __A);
    960 }
    961 
    962 __m512d test_mm512_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A) {
    963   // CHECK-LABEL: @test_mm512_maskz_broadcast_f64x2
    964   // CHECK: @llvm.x86.avx512.mask.broadcastf64x2
    965   return _mm512_maskz_broadcast_f64x2(__M, __A);
    966 }
    967 
    968 __m512i test_mm512_broadcast_i32x2(__m128i __A) {
    969   // CHECK-LABEL: @test_mm512_broadcast_i32x2
    970   // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
    971   return _mm512_broadcast_i32x2(__A);
    972 }
    973 
    974 __m512i test_mm512_mask_broadcast_i32x2(__m512i __O, __mmask16 __M, __m128i __A) {
    975   // CHECK-LABEL: @test_mm512_mask_broadcast_i32x2
    976   // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
    977   return _mm512_mask_broadcast_i32x2(__O, __M, __A);
    978 }
    979 
    980 __m512i test_mm512_maskz_broadcast_i32x2(__mmask16 __M, __m128i __A) {
    981   // CHECK-LABEL: @test_mm512_maskz_broadcast_i32x2
    982   // CHECK: @llvm.x86.avx512.mask.broadcasti32x2
    983   return _mm512_maskz_broadcast_i32x2(__M, __A);
    984 }
    985 
    986 __m512i test_mm512_broadcast_i32x8(__m256i __A) {
    987   // CHECK-LABEL: @test_mm512_broadcast_i32x8
    988   // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
    989   return _mm512_broadcast_i32x8(__A);
    990 }
    991 
    992 __m512i test_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A) {
    993   // CHECK-LABEL: @test_mm512_mask_broadcast_i32x8
    994   // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
    995   return _mm512_mask_broadcast_i32x8(__O, __M, __A);
    996 }
    997 
    998 __m512i test_mm512_maskz_broadcast_i32x8(__mmask16 __M, __m256i __A) {
    999   // CHECK-LABEL: @test_mm512_maskz_broadcast_i32x8
   1000   // CHECK: @llvm.x86.avx512.mask.broadcasti32x8
   1001   return _mm512_maskz_broadcast_i32x8(__M, __A);
   1002 }
   1003 
   1004 __m512i test_mm512_broadcast_i64x2(__m128i __A) {
   1005   // CHECK-LABEL: @test_mm512_broadcast_i64x2
   1006   // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
   1007   return _mm512_broadcast_i64x2(__A);
   1008 }
   1009 
   1010 __m512i test_mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A) {
   1011   // CHECK-LABEL: @test_mm512_mask_broadcast_i64x2
   1012   // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
   1013   return _mm512_mask_broadcast_i64x2(__O, __M, __A);
   1014 }
   1015 
   1016 __m512i test_mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A) {
   1017   // CHECK-LABEL: @test_mm512_maskz_broadcast_i64x2
   1018   // CHECK: @llvm.x86.avx512.mask.broadcasti64x2
   1019   return _mm512_maskz_broadcast_i64x2(__M, __A);
   1020 }
   1021 __m256 test_mm512_extractf32x8_ps(__m512 __A) {
   1022   // CHECK-LABEL: @test_mm512_extractf32x8_ps
   1023   // CHECK: @llvm.x86.avx512.mask.vextractf32x8
   1024   return _mm512_extractf32x8_ps(__A, 1);
   1025 }
   1026 
   1027 __m256 test_mm512_mask_extractf32x8_ps(__m256 __W, __mmask8 __U, __m512 __A) {
   1028   // CHECK-LABEL: @test_mm512_mask_extractf32x8_ps
   1029   // CHECK: @llvm.x86.avx512.mask.vextractf32x8
   1030   return _mm512_mask_extractf32x8_ps(__W, __U, __A, 1);
   1031 }
   1032 
   1033 __m256 test_mm512_maskz_extractf32x8_ps(__mmask8 __U, __m512 __A) {
   1034   // CHECK-LABEL: @test_mm512_maskz_extractf32x8_ps
   1035   // CHECK: @llvm.x86.avx512.mask.vextractf32x8
   1036   return _mm512_maskz_extractf32x8_ps(__U, __A, 1);
   1037 }
   1038 
   1039 __m128d test_mm512_extractf64x2_pd(__m512d __A) {
   1040   // CHECK-LABEL: @test_mm512_extractf64x2_pd
   1041   // CHECK: @llvm.x86.avx512.mask.vextractf64x2
   1042   return _mm512_extractf64x2_pd(__A, 3);
   1043 }
   1044 
   1045 __m128d test_mm512_mask_extractf64x2_pd(__m128d __W, __mmask8 __U, __m512d __A) {
   1046   // CHECK-LABEL: @test_mm512_mask_extractf64x2_pd
   1047   // CHECK: @llvm.x86.avx512.mask.vextractf64x2
   1048   return _mm512_mask_extractf64x2_pd(__W, __U, __A, 3);
   1049 }
   1050 
   1051 __m128d test_mm512_maskz_extractf64x2_pd(__mmask8 __U, __m512d __A) {
   1052   // CHECK-LABEL: @test_mm512_maskz_extractf64x2_pd
   1053   // CHECK: @llvm.x86.avx512.mask.vextractf64x2
   1054   return _mm512_maskz_extractf64x2_pd(__U, __A, 3);
   1055 }
   1056 
   1057 __m256i test_mm512_extracti32x8_epi32(__m512i __A) {
   1058   // CHECK-LABEL: @test_mm512_extracti32x8_epi32
   1059   // CHECK: @llvm.x86.avx512.mask.vextracti32x8
   1060   return _mm512_extracti32x8_epi32(__A, 1);
   1061 }
   1062 
   1063 __m256i test_mm512_mask_extracti32x8_epi32(__m256i __W, __mmask8 __U, __m512i __A) {
   1064   // CHECK-LABEL: @test_mm512_mask_extracti32x8_epi32
   1065   // CHECK: @llvm.x86.avx512.mask.vextracti32x8
   1066   return _mm512_mask_extracti32x8_epi32(__W, __U, __A, 1);
   1067 }
   1068 
   1069 __m256i test_mm512_maskz_extracti32x8_epi32(__mmask8 __U, __m512i __A) {
   1070   // CHECK-LABEL: @test_mm512_maskz_extracti32x8_epi32
   1071   // CHECK: @llvm.x86.avx512.mask.vextracti32x8
   1072   return _mm512_maskz_extracti32x8_epi32(__U, __A, 1);
   1073 }
   1074 
   1075 __m128i test_mm512_extracti64x2_epi64(__m512i __A) {
   1076   // CHECK-LABEL: @test_mm512_extracti64x2_epi64
   1077   // CHECK: @llvm.x86.avx512.mask.vextracti64x2
   1078   return _mm512_extracti64x2_epi64(__A, 3);
   1079 }
   1080 
   1081 __m128i test_mm512_mask_extracti64x2_epi64(__m128i __W, __mmask8 __U, __m512i __A) {
   1082   // CHECK-LABEL: @test_mm512_mask_extracti64x2_epi64
   1083   // CHECK: @llvm.x86.avx512.mask.vextracti64x2
   1084   return _mm512_mask_extracti64x2_epi64(__W, __U, __A, 3);
   1085 }
   1086 
   1087 __m128i test_mm512_maskz_extracti64x2_epi64(__mmask8 __U, __m512i __A) {
   1088   // CHECK-LABEL: @test_mm512_maskz_extracti64x2_epi64
   1089   // CHECK: @llvm.x86.avx512.mask.vextracti64x2
   1090   return _mm512_maskz_extracti64x2_epi64(__U, __A, 3);
   1091 }
   1092 
   1093 __m512 test_mm512_insertf32x8(__m512 __A, __m256 __B) {
   1094   // CHECK-LABEL: @test_mm512_insertf32x8
   1095   // CHECK: @llvm.x86.avx512.mask.insertf32x8
   1096   return _mm512_insertf32x8(__A, __B, 1);
   1097 }
   1098 
   1099 __m512 test_mm512_mask_insertf32x8(__m512 __W, __mmask16 __U, __m512 __A, __m256 __B) {
   1100   // CHECK-LABEL: @test_mm512_mask_insertf32x8
   1101   // CHECK: @llvm.x86.avx512.mask.insertf32x8
   1102   return _mm512_mask_insertf32x8(__W, __U, __A, __B, 1);
   1103 }
   1104 
   1105 __m512 test_mm512_maskz_insertf32x8(__mmask16 __U, __m512 __A, __m256 __B) {
   1106   // CHECK-LABEL: @test_mm512_maskz_insertf32x8
   1107   // CHECK: @llvm.x86.avx512.mask.insertf32x8
   1108   return _mm512_maskz_insertf32x8(__U, __A, __B, 1);
   1109 }
   1110 
   1111 __m512d test_mm512_insertf64x2(__m512d __A, __m128d __B) {
   1112   // CHECK-LABEL: @test_mm512_insertf64x2
   1113   // CHECK: @llvm.x86.avx512.mask.insertf64x2
   1114   return _mm512_insertf64x2(__A, __B, 3);
   1115 }
   1116 
   1117 __m512d test_mm512_mask_insertf64x2(__m512d __W, __mmask8 __U, __m512d __A, __m128d __B) {
   1118   // CHECK-LABEL: @test_mm512_mask_insertf64x2
   1119   // CHECK: @llvm.x86.avx512.mask.insertf64x2
   1120   return _mm512_mask_insertf64x2(__W, __U, __A, __B, 3);
   1121 }
   1122 
   1123 __m512d test_mm512_maskz_insertf64x2(__mmask8 __U, __m512d __A, __m128d __B) {
   1124   // CHECK-LABEL: @test_mm512_maskz_insertf64x2
   1125   // CHECK: @llvm.x86.avx512.mask.insertf64x2
   1126   return _mm512_maskz_insertf64x2(__U, __A, __B, 3);
   1127 }
   1128 
   1129 __m512i test_mm512_inserti32x8(__m512i __A, __m256i __B) {
   1130   // CHECK-LABEL: @test_mm512_inserti32x8
   1131   // CHECK: @llvm.x86.avx512.mask.inserti32x8
   1132   return _mm512_inserti32x8(__A, __B, 1);
   1133 }
   1134 
   1135 __m512i test_mm512_mask_inserti32x8(__m512i __W, __mmask16 __U, __m512i __A, __m256i __B) {
   1136   // CHECK-LABEL: @test_mm512_mask_inserti32x8
   1137   // CHECK: @llvm.x86.avx512.mask.inserti32x8
   1138   return _mm512_mask_inserti32x8(__W, __U, __A, __B, 1);
   1139 }
   1140 
   1141 __m512i test_mm512_maskz_inserti32x8(__mmask16 __U, __m512i __A, __m256i __B) {
   1142   // CHECK-LABEL: @test_mm512_maskz_inserti32x8
   1143   // CHECK: @llvm.x86.avx512.mask.inserti32x8
   1144   return _mm512_maskz_inserti32x8(__U, __A, __B, 1);
   1145 }
   1146 
   1147 __m512i test_mm512_inserti64x2(__m512i __A, __m128i __B) {
   1148   // CHECK-LABEL: @test_mm512_inserti64x2
   1149   // CHECK: @llvm.x86.avx512.mask.inserti64x2
   1150   return _mm512_inserti64x2(__A, __B, 1);
   1151 }
   1152 
   1153 __m512i test_mm512_mask_inserti64x2(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
   1154   // CHECK-LABEL: @test_mm512_mask_inserti64x2
   1155   // CHECK: @llvm.x86.avx512.mask.inserti64x2
   1156   return _mm512_mask_inserti64x2(__W, __U, __A, __B, 1);
   1157 }
   1158 
   1159 __m512i test_mm512_maskz_inserti64x2(__mmask8 __U, __m512i __A, __m128i __B) {
   1160   // CHECK-LABEL: @test_mm512_maskz_inserti64x2
   1161   // CHECK: @llvm.x86.avx512.mask.inserti64x2
   1162   return _mm512_maskz_inserti64x2(__U, __A, __B, 1);
   1163 }
   1164 __mmask8 test_mm512_mask_fpclass_pd_mask(__mmask8 __U, __m512d __A) {
   1165   // CHECK-LABEL: @test_mm512_mask_fpclass_pd_mask
   1166   // CHECK: @llvm.x86.avx512.mask.fpclass.pd.512
   1167   return _mm512_mask_fpclass_pd_mask(__U, __A, 4);
   1168 }
   1169 
   1170 __mmask8 test_mm512_fpclass_pd_mask(__m512d __A) {
   1171   // CHECK-LABEL: @test_mm512_fpclass_pd_mask
   1172   // CHECK: @llvm.x86.avx512.mask.fpclass.pd.512
   1173   return _mm512_fpclass_pd_mask(__A, 4);
   1174 }
   1175 
   1176 __mmask16 test_mm512_mask_fpclass_ps_mask(__mmask16 __U, __m512 __A) {
   1177   // CHECK-LABEL: @test_mm512_mask_fpclass_ps_mask
   1178   // CHECK: @llvm.x86.avx512.mask.fpclass.ps.512
   1179   return _mm512_mask_fpclass_ps_mask(__U, __A, 4);
   1180 }
   1181 
   1182 __mmask16 test_mm512_fpclass_ps_mask(__m512 __A) {
   1183   // CHECK-LABEL: @test_mm512_fpclass_ps_mask
   1184   // CHECK: @llvm.x86.avx512.mask.fpclass.ps.512
   1185   return _mm512_fpclass_ps_mask(__A, 4);
   1186 }
   1187 
   1188 __mmask8 test_mm_fpclass_sd_mask(__m128 __A)  {
   1189   // CHECK-LABEL: @test_mm_fpclass_sd_mask
   1190   // CHECK: @llvm.x86.avx512.mask.fpclass.sd
   1191  return _mm_fpclass_sd_mask (__A, 2);
   1192 }
   1193 
   1194 __mmask8 test_mm_mask_fpclass_sd_mask(__mmask8 __U, __m128 __A)  {
   1195  // CHECK-LABEL: @test_mm_mask_fpclass_sd_mask
   1196  // CHECK: @llvm.x86.avx512.mask.fpclass.sd
   1197  return _mm_mask_fpclass_sd_mask (__U,  __A, 2);
   1198 }
   1199 
   1200 __mmask8 test_mm_fpclass_ss_mask(__m128 __A)  {
   1201  // CHECK-LABEL: @test_mm_fpclass_ss_mask
   1202  // CHECK: @llvm.x86.avx512.mask.fpclass.ss
   1203  return _mm_fpclass_ss_mask ( __A, 2);
   1204 }
   1205 
   1206 __mmask8 test_mm_mask_fpclass_ss_mask(__mmask8 __U, __m128 __A)  {
   1207  // CHECK-LABEL: @test_mm_mask_fpclass_ss_mask
   1208  // CHECK: @llvm.x86.avx512.mask.fpclass.ss
   1209  return _mm_mask_fpclass_ss_mask (__U, __A, 2);
   1210 }
   1211 
   1212