Home | History | Annotate | Download | only in CodeGen
      1 // RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512f -target-feature +avx512vl -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 __mmask8 test_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {
      9   // CHECK-LABEL: @test_mm_cmpeq_epu32_mask
     10   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 0, i8 -1)
     11   return (__mmask8)_mm_cmpeq_epu32_mask(__a, __b);
     12 }
     13 
     14 __mmask8 test_mm_mask_cmpeq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
     15   // CHECK-LABEL: @test_mm_mask_cmpeq_epu32_mask
     16   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 0, i8 {{.*}})
     17   return (__mmask8)_mm_mask_cmpeq_epu32_mask(__u, __a, __b);
     18 }
     19 
     20 __mmask8 test_mm_cmpeq_epu64_mask(__m128i __a, __m128i __b) {
     21   // CHECK-LABEL: @test_mm_cmpeq_epu64_mask
     22   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 0, i8 -1)
     23   return (__mmask8)_mm_cmpeq_epu64_mask(__a, __b);
     24 }
     25 
     26 __mmask8 test_mm_mask_cmpeq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
     27   // CHECK-LABEL: @test_mm_mask_cmpeq_epu64_mask
     28   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 0, i8 {{.*}})
     29   return (__mmask8)_mm_mask_cmpeq_epu64_mask(__u, __a, __b);
     30 }
     31 
     32 __mmask8 test_mm_cmpge_epi32_mask(__m128i __a, __m128i __b) {
     33   // CHECK-LABEL: @test_mm_cmpge_epi32_mask
     34   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 -1)
     35   return (__mmask8)_mm_cmpge_epi32_mask(__a, __b);
     36 }
     37 
     38 __mmask8 test_mm_mask_cmpge_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
     39   // CHECK-LABEL: @test_mm_mask_cmpge_epi32_mask
     40   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 {{.*}})
     41   return (__mmask8)_mm_mask_cmpge_epi32_mask(__u, __a, __b);
     42 }
     43 
     44 __mmask8 test_mm_cmpge_epi64_mask(__m128i __a, __m128i __b) {
     45   // CHECK-LABEL: @test_mm_cmpge_epi64_mask
     46   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 -1)
     47   return (__mmask8)_mm_cmpge_epi64_mask(__a, __b);
     48 }
     49 
     50 __mmask8 test_mm_mask_cmpge_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
     51   // CHECK-LABEL: @test_mm_mask_cmpge_epi64_mask
     52   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 {{.*}})
     53   return (__mmask8)_mm_mask_cmpge_epi64_mask(__u, __a, __b);
     54 }
     55 
     56 __mmask8 test_mm256_cmpge_epi32_mask(__m256i __a, __m256i __b) {
     57   // CHECK-LABEL: @test_mm256_cmpge_epi32_mask
     58   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 -1)
     59   return (__mmask8)_mm256_cmpge_epi32_mask(__a, __b);
     60 }
     61 
     62 __mmask8 test_mm256_mask_cmpge_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
     63   // CHECK-LABEL: @test_mm256_mask_cmpge_epi32_mask
     64   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 {{.*}})
     65   return (__mmask8)_mm256_mask_cmpge_epi32_mask(__u, __a, __b);
     66 }
     67 
     68 __mmask8 test_mm256_cmpge_epi64_mask(__m256i __a, __m256i __b) {
     69   // CHECK-LABEL: @test_mm256_cmpge_epi64_mask
     70   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 -1)
     71   return (__mmask8)_mm256_cmpge_epi64_mask(__a, __b);
     72 }
     73 
     74 __mmask8 test_mm256_mask_cmpge_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
     75   // CHECK-LABEL: @test_mm256_mask_cmpge_epi64_mask
     76   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 {{.*}})
     77   return (__mmask8)_mm256_mask_cmpge_epi64_mask(__u, __a, __b);
     78 }
     79 
     80 __mmask8 test_mm_cmpge_epu32_mask(__m128i __a, __m128i __b) {
     81   // CHECK-LABEL: @test_mm_cmpge_epu32_mask
     82   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 -1)
     83   return (__mmask8)_mm_cmpge_epu32_mask(__a, __b);
     84 }
     85 
     86 __mmask8 test_mm_mask_cmpge_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
     87   // CHECK-LABEL: @test_mm_mask_cmpge_epu32_mask
     88   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 5, i8 {{.*}})
     89   return (__mmask8)_mm_mask_cmpge_epu32_mask(__u, __a, __b);
     90 }
     91 
     92 __mmask8 test_mm_cmpge_epu64_mask(__m128i __a, __m128i __b) {
     93   // CHECK-LABEL: @test_mm_cmpge_epu64_mask
     94   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 -1)
     95   return (__mmask8)_mm_cmpge_epu64_mask(__a, __b);
     96 }
     97 
     98 __mmask8 test_mm_mask_cmpge_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
     99   // CHECK-LABEL: @test_mm_mask_cmpge_epu64_mask
    100   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 5, i8 {{.*}})
    101   return (__mmask8)_mm_mask_cmpge_epu64_mask(__u, __a, __b);
    102 }
    103 
    104 __mmask8 test_mm256_cmpge_epu32_mask(__m256i __a, __m256i __b) {
    105   // CHECK-LABEL: @test_mm256_cmpge_epu32_mask
    106   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 -1)
    107   return (__mmask8)_mm256_cmpge_epu32_mask(__a, __b);
    108 }
    109 
    110 __mmask8 test_mm256_mask_cmpge_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    111   // CHECK-LABEL: @test_mm256_mask_cmpge_epu32_mask
    112   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 5, i8 {{.*}})
    113   return (__mmask8)_mm256_mask_cmpge_epu32_mask(__u, __a, __b);
    114 }
    115 
    116 __mmask8 test_mm256_cmpge_epu64_mask(__m256i __a, __m256i __b) {
    117   // CHECK-LABEL: @test_mm256_cmpge_epu64_mask
    118   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 -1)
    119   return (__mmask8)_mm256_cmpge_epu64_mask(__a, __b);
    120 }
    121 
    122 __mmask8 test_mm256_mask_cmpge_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    123   // CHECK-LABEL: @test_mm256_mask_cmpge_epu64_mask
    124   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 5, i8 {{.*}})
    125   return (__mmask8)_mm256_mask_cmpge_epu64_mask(__u, __a, __b);
    126 }
    127 
    128 __mmask8 test_mm_cmpgt_epu32_mask(__m128i __a, __m128i __b) {
    129   // CHECK-LABEL: @test_mm_cmpgt_epu32_mask
    130   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 6, i8 -1)
    131   return (__mmask8)_mm_cmpgt_epu32_mask(__a, __b);
    132 }
    133 
    134 __mmask8 test_mm_mask_cmpgt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    135   // CHECK-LABEL: @test_mm_mask_cmpgt_epu32_mask
    136   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 6, i8 {{.*}})
    137   return (__mmask8)_mm_mask_cmpgt_epu32_mask(__u, __a, __b);
    138 }
    139 
    140 __mmask8 test_mm_cmpgt_epu64_mask(__m128i __a, __m128i __b) {
    141   // CHECK-LABEL: @test_mm_cmpgt_epu64_mask
    142   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 6, i8 -1)
    143   return (__mmask8)_mm_cmpgt_epu64_mask(__a, __b);
    144 }
    145 
    146 __mmask8 test_mm_mask_cmpgt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    147   // CHECK-LABEL: @test_mm_mask_cmpgt_epu64_mask
    148   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 6, i8 {{.*}})
    149   return (__mmask8)_mm_mask_cmpgt_epu64_mask(__u, __a, __b);
    150 }
    151 
    152 __mmask8 test_mm256_cmpgt_epu32_mask(__m256i __a, __m256i __b) {
    153   // CHECK-LABEL: @test_mm256_cmpgt_epu32_mask
    154   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 6, i8 -1)
    155   return (__mmask8)_mm256_cmpgt_epu32_mask(__a, __b);
    156 }
    157 
    158 __mmask8 test_mm256_mask_cmpgt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    159   // CHECK-LABEL: @test_mm256_mask_cmpgt_epu32_mask
    160   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 6, i8 {{.*}})
    161   return (__mmask8)_mm256_mask_cmpgt_epu32_mask(__u, __a, __b);
    162 }
    163 
    164 __mmask8 test_mm256_cmpgt_epu64_mask(__m256i __a, __m256i __b) {
    165   // CHECK-LABEL: @test_mm256_cmpgt_epu64_mask
    166   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 6, i8 -1)
    167   return (__mmask8)_mm256_cmpgt_epu64_mask(__a, __b);
    168 }
    169 
    170 __mmask8 test_mm256_mask_cmpgt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    171   // CHECK-LABEL: @test_mm256_mask_cmpgt_epu64_mask
    172   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 6, i8 {{.*}})
    173   return (__mmask8)_mm256_mask_cmpgt_epu64_mask(__u, __a, __b);
    174 }
    175 
    176 __mmask8 test_mm_cmple_epi32_mask(__m128i __a, __m128i __b) {
    177   // CHECK-LABEL: @test_mm_cmple_epi32_mask
    178   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 -1)
    179   return (__mmask8)_mm_cmple_epi32_mask(__a, __b);
    180 }
    181 
    182 __mmask8 test_mm_mask_cmple_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    183   // CHECK-LABEL: @test_mm_mask_cmple_epi32_mask
    184   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 {{.*}})
    185   return (__mmask8)_mm_mask_cmple_epi32_mask(__u, __a, __b);
    186 }
    187 
    188 __mmask8 test_mm_cmple_epi64_mask(__m128i __a, __m128i __b) {
    189   // CHECK-LABEL: @test_mm_cmple_epi64_mask
    190   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 -1)
    191   return (__mmask8)_mm_cmple_epi64_mask(__a, __b);
    192 }
    193 
    194 __mmask8 test_mm_mask_cmple_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    195   // CHECK-LABEL: @test_mm_mask_cmple_epi64_mask
    196   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 {{.*}})
    197   return (__mmask8)_mm_mask_cmple_epi64_mask(__u, __a, __b);
    198 }
    199 
    200 __mmask8 test_mm256_cmple_epi32_mask(__m256i __a, __m256i __b) {
    201   // CHECK-LABEL: @test_mm256_cmple_epi32_mask
    202   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 -1)
    203   return (__mmask8)_mm256_cmple_epi32_mask(__a, __b);
    204 }
    205 
    206 __mmask8 test_mm256_mask_cmple_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    207   // CHECK-LABEL: @test_mm256_mask_cmple_epi32_mask
    208   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 {{.*}})
    209   return (__mmask8)_mm256_mask_cmple_epi32_mask(__u, __a, __b);
    210 }
    211 
    212 __mmask8 test_mm256_cmple_epi64_mask(__m256i __a, __m256i __b) {
    213   // CHECK-LABEL: @test_mm256_cmple_epi64_mask
    214   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 -1)
    215   return (__mmask8)_mm256_cmple_epi64_mask(__a, __b);
    216 }
    217 
    218 __mmask8 test_mm256_mask_cmple_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    219   // CHECK-LABEL: @test_mm256_mask_cmple_epi64_mask
    220   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 {{.*}})
    221   return (__mmask8)_mm256_mask_cmple_epi64_mask(__u, __a, __b);
    222 }
    223 
    224 __mmask8 test_mm_cmple_epu32_mask(__m128i __a, __m128i __b) {
    225   // CHECK-LABEL: @test_mm_cmple_epu32_mask
    226   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 -1)
    227   return (__mmask8)_mm_cmple_epu32_mask(__a, __b);
    228 }
    229 
    230 __mmask8 test_mm_mask_cmple_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    231   // CHECK-LABEL: @test_mm_mask_cmple_epu32_mask
    232   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 2, i8 {{.*}})
    233   return (__mmask8)_mm_mask_cmple_epu32_mask(__u, __a, __b);
    234 }
    235 
    236 __mmask8 test_mm_cmple_epu64_mask(__m128i __a, __m128i __b) {
    237   // CHECK-LABEL: @test_mm_cmple_epu64_mask
    238   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 -1)
    239   return (__mmask8)_mm_cmple_epu64_mask(__a, __b);
    240 }
    241 
    242 __mmask8 test_mm_mask_cmple_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    243   // CHECK-LABEL: @test_mm_mask_cmple_epu64_mask
    244   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 2, i8 {{.*}})
    245   return (__mmask8)_mm_mask_cmple_epu64_mask(__u, __a, __b);
    246 }
    247 
    248 __mmask8 test_mm256_cmple_epu32_mask(__m256i __a, __m256i __b) {
    249   // CHECK-LABEL: @test_mm256_cmple_epu32_mask
    250   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 -1)
    251   return (__mmask8)_mm256_cmple_epu32_mask(__a, __b);
    252 }
    253 
    254 __mmask8 test_mm256_mask_cmple_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    255   // CHECK-LABEL: @test_mm256_mask_cmple_epu32_mask
    256   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 2, i8 {{.*}})
    257   return (__mmask8)_mm256_mask_cmple_epu32_mask(__u, __a, __b);
    258 }
    259 
    260 __mmask8 test_mm256_cmple_epu64_mask(__m256i __a, __m256i __b) {
    261   // CHECK-LABEL: @test_mm256_cmple_epu64_mask
    262   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 -1)
    263   return (__mmask8)_mm256_cmple_epu64_mask(__a, __b);
    264 }
    265 
    266 __mmask8 test_mm256_mask_cmple_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    267   // CHECK-LABEL: @test_mm256_mask_cmple_epu64_mask
    268   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 2, i8 {{.*}})
    269   return (__mmask8)_mm256_mask_cmple_epu64_mask(__u, __a, __b);
    270 }
    271 
    272 __mmask8 test_mm_cmplt_epi32_mask(__m128i __a, __m128i __b) {
    273   // CHECK-LABEL: @test_mm_cmplt_epi32_mask
    274   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 -1)
    275   return (__mmask8)_mm_cmplt_epi32_mask(__a, __b);
    276 }
    277 
    278 __mmask8 test_mm_mask_cmplt_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    279   // CHECK-LABEL: @test_mm_mask_cmplt_epi32_mask
    280   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 {{.*}})
    281   return (__mmask8)_mm_mask_cmplt_epi32_mask(__u, __a, __b);
    282 }
    283 
    284 __mmask8 test_mm_cmplt_epi64_mask(__m128i __a, __m128i __b) {
    285   // CHECK-LABEL: @test_mm_cmplt_epi64_mask
    286   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 -1)
    287   return (__mmask8)_mm_cmplt_epi64_mask(__a, __b);
    288 }
    289 
    290 __mmask8 test_mm_mask_cmplt_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    291   // CHECK-LABEL: @test_mm_mask_cmplt_epi64_mask
    292   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 {{.*}})
    293   return (__mmask8)_mm_mask_cmplt_epi64_mask(__u, __a, __b);
    294 }
    295 
    296 __mmask8 test_mm256_cmplt_epi32_mask(__m256i __a, __m256i __b) {
    297   // CHECK-LABEL: @test_mm256_cmplt_epi32_mask
    298   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 -1)
    299   return (__mmask8)_mm256_cmplt_epi32_mask(__a, __b);
    300 }
    301 
    302 __mmask8 test_mm256_mask_cmplt_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    303   // CHECK-LABEL: @test_mm256_mask_cmplt_epi32_mask
    304   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 {{.*}})
    305   return (__mmask8)_mm256_mask_cmplt_epi32_mask(__u, __a, __b);
    306 }
    307 
    308 __mmask8 test_mm256_cmplt_epi64_mask(__m256i __a, __m256i __b) {
    309   // CHECK-LABEL: @test_mm256_cmplt_epi64_mask
    310   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 -1)
    311   return (__mmask8)_mm256_cmplt_epi64_mask(__a, __b);
    312 }
    313 
    314 __mmask8 test_mm256_mask_cmplt_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    315   // CHECK-LABEL: @test_mm256_mask_cmplt_epi64_mask
    316   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 {{.*}})
    317   return (__mmask8)_mm256_mask_cmplt_epi64_mask(__u, __a, __b);
    318 }
    319 
    320 __mmask8 test_mm_cmplt_epu32_mask(__m128i __a, __m128i __b) {
    321   // CHECK-LABEL: @test_mm_cmplt_epu32_mask
    322   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 -1)
    323   return (__mmask8)_mm_cmplt_epu32_mask(__a, __b);
    324 }
    325 
    326 __mmask8 test_mm_mask_cmplt_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    327   // CHECK-LABEL: @test_mm_mask_cmplt_epu32_mask
    328   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 1, i8 {{.*}})
    329   return (__mmask8)_mm_mask_cmplt_epu32_mask(__u, __a, __b);
    330 }
    331 
    332 __mmask8 test_mm_cmplt_epu64_mask(__m128i __a, __m128i __b) {
    333   // CHECK-LABEL: @test_mm_cmplt_epu64_mask
    334   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 -1)
    335   return (__mmask8)_mm_cmplt_epu64_mask(__a, __b);
    336 }
    337 
    338 __mmask8 test_mm_mask_cmplt_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    339   // CHECK-LABEL: @test_mm_mask_cmplt_epu64_mask
    340   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 1, i8 {{.*}})
    341   return (__mmask8)_mm_mask_cmplt_epu64_mask(__u, __a, __b);
    342 }
    343 
    344 __mmask8 test_mm256_cmplt_epu32_mask(__m256i __a, __m256i __b) {
    345   // CHECK-LABEL: @test_mm256_cmplt_epu32_mask
    346   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 -1)
    347   return (__mmask8)_mm256_cmplt_epu32_mask(__a, __b);
    348 }
    349 
    350 __mmask8 test_mm256_mask_cmplt_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    351   // CHECK-LABEL: @test_mm256_mask_cmplt_epu32_mask
    352   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 1, i8 {{.*}})
    353   return (__mmask8)_mm256_mask_cmplt_epu32_mask(__u, __a, __b);
    354 }
    355 
    356 __mmask8 test_mm256_cmplt_epu64_mask(__m256i __a, __m256i __b) {
    357   // CHECK-LABEL: @test_mm256_cmplt_epu64_mask
    358   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 -1)
    359   return (__mmask8)_mm256_cmplt_epu64_mask(__a, __b);
    360 }
    361 
    362 __mmask8 test_mm256_mask_cmplt_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    363   // CHECK-LABEL: @test_mm256_mask_cmplt_epu64_mask
    364   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 1, i8 {{.*}})
    365   return (__mmask8)_mm256_mask_cmplt_epu64_mask(__u, __a, __b);
    366 }
    367 
    368 __mmask8 test_mm_cmpneq_epi32_mask(__m128i __a, __m128i __b) {
    369   // CHECK-LABEL: @test_mm_cmpneq_epi32_mask
    370   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 -1)
    371   return (__mmask8)_mm_cmpneq_epi32_mask(__a, __b);
    372 }
    373 
    374 __mmask8 test_mm_mask_cmpneq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    375   // CHECK-LABEL: @test_mm_mask_cmpneq_epi32_mask
    376   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 {{.*}})
    377   return (__mmask8)_mm_mask_cmpneq_epi32_mask(__u, __a, __b);
    378 }
    379 
    380 __mmask8 test_mm_cmpneq_epi64_mask(__m128i __a, __m128i __b) {
    381   // CHECK-LABEL: @test_mm_cmpneq_epi64_mask
    382   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 -1)
    383   return (__mmask8)_mm_cmpneq_epi64_mask(__a, __b);
    384 }
    385 
    386 __mmask8 test_mm_mask_cmpneq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    387   // CHECK-LABEL: @test_mm_mask_cmpneq_epi64_mask
    388   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 {{.*}})
    389   return (__mmask8)_mm_mask_cmpneq_epi64_mask(__u, __a, __b);
    390 }
    391 
    392 __mmask8 test_mm256_cmpneq_epi32_mask(__m256i __a, __m256i __b) {
    393   // CHECK-LABEL: @test_mm256_cmpneq_epi32_mask
    394   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 -1)
    395   return (__mmask8)_mm256_cmpneq_epi32_mask(__a, __b);
    396 }
    397 
    398 __mmask8 test_mm256_mask_cmpneq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    399   // CHECK-LABEL: @test_mm256_mask_cmpneq_epi32_mask
    400   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 {{.*}})
    401   return (__mmask8)_mm256_mask_cmpneq_epi32_mask(__u, __a, __b);
    402 }
    403 
    404 __mmask8 test_mm256_cmpneq_epi64_mask(__m256i __a, __m256i __b) {
    405   // CHECK-LABEL: @test_mm256_cmpneq_epi64_mask
    406   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 -1)
    407   return (__mmask8)_mm256_cmpneq_epi64_mask(__a, __b);
    408 }
    409 
    410 __mmask8 test_mm256_mask_cmpneq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    411   // CHECK-LABEL: @test_mm256_mask_cmpneq_epi64_mask
    412   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 {{.*}})
    413   return (__mmask8)_mm256_mask_cmpneq_epi64_mask(__u, __a, __b);
    414 }
    415 
    416 __mmask8 test_mm_cmpneq_epu32_mask(__m128i __a, __m128i __b) {
    417   // CHECK-LABEL: @test_mm_cmpneq_epu32_mask
    418   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 -1)
    419   return (__mmask8)_mm_cmpneq_epu32_mask(__a, __b);
    420 }
    421 
    422 __mmask8 test_mm_mask_cmpneq_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    423   // CHECK-LABEL: @test_mm_mask_cmpneq_epu32_mask
    424   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 4, i8 {{.*}})
    425   return (__mmask8)_mm_mask_cmpneq_epu32_mask(__u, __a, __b);
    426 }
    427 
    428 __mmask8 test_mm_cmpneq_epu64_mask(__m128i __a, __m128i __b) {
    429   // CHECK-LABEL: @test_mm_cmpneq_epu64_mask
    430   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 -1)
    431   return (__mmask8)_mm_cmpneq_epu64_mask(__a, __b);
    432 }
    433 
    434 __mmask8 test_mm_mask_cmpneq_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    435   // CHECK-LABEL: @test_mm_mask_cmpneq_epu64_mask
    436   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 4, i8 {{.*}})
    437   return (__mmask8)_mm_mask_cmpneq_epu64_mask(__u, __a, __b);
    438 }
    439 
    440 __mmask8 test_mm256_cmpneq_epu32_mask(__m256i __a, __m256i __b) {
    441   // CHECK-LABEL: @test_mm256_cmpneq_epu32_mask
    442   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 -1)
    443   return (__mmask8)_mm256_cmpneq_epu32_mask(__a, __b);
    444 }
    445 
    446 __mmask8 test_mm256_mask_cmpneq_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    447   // CHECK-LABEL: @test_mm256_mask_cmpneq_epu32_mask
    448   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 4, i8 {{.*}})
    449   return (__mmask8)_mm256_mask_cmpneq_epu32_mask(__u, __a, __b);
    450 }
    451 
    452 __mmask8 test_mm256_cmpneq_epu64_mask(__m256i __a, __m256i __b) {
    453   // CHECK-LABEL: @test_mm256_cmpneq_epu64_mask
    454   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 -1)
    455   return (__mmask8)_mm256_cmpneq_epu64_mask(__a, __b);
    456 }
    457 
    458 __mmask8 test_mm256_mask_cmpneq_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    459   // CHECK-LABEL: @test_mm256_mask_cmpneq_epu64_mask
    460   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 4, i8 {{.*}})
    461   return (__mmask8)_mm256_mask_cmpneq_epu64_mask(__u, __a, __b);
    462 }
    463 
    464 __mmask8 test_mm_cmp_epi32_mask(__m128i __a, __m128i __b) {
    465   // CHECK-LABEL: @test_mm_cmp_epi32_mask
    466   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 -1)
    467   return (__mmask8)_mm_cmp_epi32_mask(__a, __b, 7);
    468 }
    469 
    470 __mmask8 test_mm_mask_cmp_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    471   // CHECK-LABEL: @test_mm_mask_cmp_epi32_mask
    472   // CHECK: @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 {{.*}})
    473   return (__mmask8)_mm_mask_cmp_epi32_mask(__u, __a, __b, 7);
    474 }
    475 
    476 __mmask8 test_mm_cmp_epi64_mask(__m128i __a, __m128i __b) {
    477   // CHECK-LABEL: @test_mm_cmp_epi64_mask
    478   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 -1)
    479   return (__mmask8)_mm_cmp_epi64_mask(__a, __b, 7);
    480 }
    481 
    482 __mmask8 test_mm_mask_cmp_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    483   // CHECK-LABEL: @test_mm_mask_cmp_epi64_mask
    484   // CHECK: @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 {{.*}})
    485   return (__mmask8)_mm_mask_cmp_epi64_mask(__u, __a, __b, 7);
    486 }
    487 
    488 __mmask8 test_mm256_cmp_epi32_mask(__m256i __a, __m256i __b) {
    489   // CHECK-LABEL: @test_mm256_cmp_epi32_mask
    490   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 -1)
    491   return (__mmask8)_mm256_cmp_epi32_mask(__a, __b, 7);
    492 }
    493 
    494 __mmask8 test_mm256_mask_cmp_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    495   // CHECK-LABEL: @test_mm256_mask_cmp_epi32_mask
    496   // CHECK: @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 {{.*}})
    497   return (__mmask8)_mm256_mask_cmp_epi32_mask(__u, __a, __b, 7);
    498 }
    499 
    500 __mmask8 test_mm256_cmp_epi64_mask(__m256i __a, __m256i __b) {
    501   // CHECK-LABEL: @test_mm256_cmp_epi64_mask
    502   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 -1)
    503   return (__mmask8)_mm256_cmp_epi64_mask(__a, __b, 7);
    504 }
    505 
    506 __mmask8 test_mm256_mask_cmp_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    507   // CHECK-LABEL: @test_mm256_mask_cmp_epi64_mask
    508   // CHECK: @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 {{.*}})
    509   return (__mmask8)_mm256_mask_cmp_epi64_mask(__u, __a, __b, 7);
    510 }
    511 
    512 __mmask8 test_mm_cmp_epu32_mask(__m128i __a, __m128i __b) {
    513   // CHECK-LABEL: @test_mm_cmp_epu32_mask
    514   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 -1)
    515   return (__mmask8)_mm_cmp_epu32_mask(__a, __b, 7);
    516 }
    517 
    518 __mmask8 test_mm_mask_cmp_epu32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    519   // CHECK-LABEL: @test_mm_mask_cmp_epu32_mask
    520   // CHECK: @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> {{.*}}, <4 x i32> {{.*}}, i32 7, i8 {{.*}})
    521   return (__mmask8)_mm_mask_cmp_epu32_mask(__u, __a, __b, 7);
    522 }
    523 
    524 __mmask8 test_mm_cmp_epu64_mask(__m128i __a, __m128i __b) {
    525   // CHECK-LABEL: @test_mm_cmp_epu64_mask
    526   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 -1)
    527   return (__mmask8)_mm_cmp_epu64_mask(__a, __b, 7);
    528 }
    529 
    530 __mmask8 test_mm_mask_cmp_epu64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
    531   // CHECK-LABEL: @test_mm_mask_cmp_epu64_mask
    532   // CHECK: @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> {{.*}}, <2 x i64> {{.*}}, i32 7, i8 {{.*}})
    533   return (__mmask8)_mm_mask_cmp_epu64_mask(__u, __a, __b, 7);
    534 }
    535 
    536 __mmask8 test_mm256_cmp_epu32_mask(__m256i __a, __m256i __b) {
    537   // CHECK-LABEL: @test_mm256_cmp_epu32_mask
    538   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 -1)
    539   return (__mmask8)_mm256_cmp_epu32_mask(__a, __b, 7);
    540 }
    541 
    542 __mmask8 test_mm256_mask_cmp_epu32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    543   // CHECK-LABEL: @test_mm256_mask_cmp_epu32_mask
    544   // CHECK: @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> {{.*}}, <8 x i32> {{.*}}, i32 7, i8 {{.*}})
    545   return (__mmask8)_mm256_mask_cmp_epu32_mask(__u, __a, __b, 7);
    546 }
    547 
    548 __mmask8 test_mm256_cmp_epu64_mask(__m256i __a, __m256i __b) {
    549   // CHECK-LABEL: @test_mm256_cmp_epu64_mask
    550   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 -1)
    551   return (__mmask8)_mm256_cmp_epu64_mask(__a, __b, 7);
    552 }
    553 
    554 __mmask8 test_mm256_mask_cmp_epu64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
    555   // CHECK-LABEL: @test_mm256_mask_cmp_epu64_mask
    556   // CHECK: @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> {{.*}}, <4 x i64> {{.*}}, i32 7, i8 {{.*}})
    557   return (__mmask8)_mm256_mask_cmp_epu64_mask(__u, __a, __b, 7);
    558 }
    559 
    560 __m512i test_mm512_maskz_andnot_epi32 (__mmask16 __k,__m512i __A, __m512i __B) {
    561   //CHECK-LABEL: @test_mm512_maskz_andnot_epi32
    562   //CHECK: @llvm.x86.avx512.mask.pandn.d.512
    563   return _mm512_maskz_andnot_epi32(__k,__A,__B);
    564 }
    565 
    566 __m512i test_mm512_mask_andnot_epi32 (__mmask16 __k,__m512i __A, __m512i __B, __m512i __src) {
    567   //CHECK-LABEL: @test_mm512_mask_andnot_epi32
    568   //CHECK: @llvm.x86.avx512.mask.pandn.d.512
    569   return _mm512_mask_andnot_epi32(__src,__k,__A,__B);
    570 }
    571 
    572 __m512i test_mm512_andnot_epi32(__m512i __A, __m512i __B) {
    573   //CHECK-LABEL: @test_mm512_andnot_epi32
    574   //CHECK: @llvm.x86.avx512.mask.pandn.d.512
    575   return _mm512_andnot_epi32(__A,__B);
    576 }
    577 
    578 __m512i test_mm512_maskz_andnot_epi64 (__mmask8 __k,__m512i __A, __m512i __B) {
    579   //CHECK-LABEL: @test_mm512_maskz_andnot_epi64
    580   //CHECK: @llvm.x86.avx512.mask.pandn.q.512
    581   return _mm512_maskz_andnot_epi64(__k,__A,__B);
    582 }
    583 
    584 __m512i test_mm512_mask_andnot_epi64 (__mmask8 __k,__m512i __A, __m512i __B, __m512i __src) {
    585   //CHECK-LABEL: @test_mm512_mask_andnot_epi64
    586   //CHECK: @llvm.x86.avx512.mask.pandn.q.512
    587   return _mm512_mask_andnot_epi64(__src,__k,__A,__B);
    588 }
    589 
    590 __m512i test_mm512_andnot_epi64(__m512i __A, __m512i __B) {
    591   //CHECK-LABEL: @test_mm512_andnot_epi64
    592   //CHECK: @llvm.x86.avx512.mask.pandn.q.512
    593   return _mm512_andnot_epi64(__A,__B);
    594 }
    595 
    596 __m256i test_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
    597            __m256i __B) {
    598   //CHECK-LABEL: @test_mm256_mask_add_epi32
    599   //CHECK: @llvm.x86.avx512.mask.padd.d.256
    600   return _mm256_mask_add_epi32(__W, __U, __A, __B);
    601 }
    602 
    603 __m256i test_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
    604   //CHECK-LABEL: @test_mm256_maskz_add_epi32
    605   //CHECK: @llvm.x86.avx512.mask.padd.d.256
    606   return _mm256_maskz_add_epi32(__U, __A, __B);
    607 }
    608 
    609 __m256i test_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
    610            __m256i __B) {
    611   //CHECK-LABEL: @test_mm256_mask_add_epi64
    612   //CHECK: @llvm.x86.avx512.mask.padd.q.256
    613   return _mm256_mask_add_epi64(__W,__U,__A,__B);
    614 }
    615 
    616 __m256i test_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
    617   //CHECK-LABEL: @test_mm256_maskz_add_epi64
    618   //CHECK: @llvm.x86.avx512.mask.padd.q.256
    619   return _mm256_maskz_add_epi64 (__U,__A,__B);
    620 }
    621 
    622 __m256i test_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
    623            __m256i __B) {
    624   //CHECK-LABEL: @test_mm256_mask_sub_epi32
    625   //CHECK: @llvm.x86.avx512.mask.psub.d.256
    626   return _mm256_mask_sub_epi32 (__W,__U,__A,__B);
    627 }
    628 
    629 __m256i test_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
    630   //CHECK-LABEL: @test_mm256_maskz_sub_epi32
    631   //CHECK: @llvm.x86.avx512.mask.psub.d.256
    632   return _mm256_maskz_sub_epi32 (__U,__A,__B);
    633 }
    634 
    635 __m256i test_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
    636            __m256i __B) {
    637   //CHECK-LABEL: @test_mm256_mask_sub_epi64
    638   //CHECK: @llvm.x86.avx512.mask.psub.q.256
    639   return _mm256_mask_sub_epi64 (__W,__U,__A,__B);
    640 }
    641 
    642 __m256i test_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
    643   //CHECK-LABEL: @test_mm256_maskz_sub_epi64
    644   //CHECK: @llvm.x86.avx512.mask.psub.q.256
    645   return _mm256_maskz_sub_epi64 (__U,__A,__B);
    646 }
    647 
    648 __m128i test_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
    649         __m128i __B) {
    650   //CHECK-LABEL: @test_mm_mask_add_epi32
    651   //CHECK: @llvm.x86.avx512.mask.padd.d.128
    652   return _mm_mask_add_epi32(__W,__U,__A,__B);
    653 }
    654 
    655 
    656 __m128i test_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
    657   //CHECK-LABEL: @test_mm_maskz_add_epi32
    658   //CHECK: @llvm.x86.avx512.mask.padd.d.128
    659   return _mm_maskz_add_epi32 (__U,__A,__B);
    660 }
    661 
    662 __m128i test_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
    663         __m128i __B) {
    664 //CHECK-LABEL: @test_mm_mask_add_epi64
    665   //CHECK: @llvm.x86.avx512.mask.padd.q.128
    666   return _mm_mask_add_epi64 (__W,__U,__A,__B);
    667 }
    668 
    669 __m128i test_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
    670   //CHECK-LABEL: @test_mm_maskz_add_epi64
    671   //CHECK: @llvm.x86.avx512.mask.padd.q.128
    672   return _mm_maskz_add_epi64 (__U,__A,__B);
    673 }
    674 
    675 __m128i test_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
    676         __m128i __B) {
    677   //CHECK-LABEL: @test_mm_mask_sub_epi32
    678   //CHECK: @llvm.x86.avx512.mask.psub.d.128
    679   return _mm_mask_sub_epi32(__W, __U, __A, __B);
    680 }
    681 
    682 __m128i test_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
    683   //CHECK-LABEL: @test_mm_maskz_sub_epi32
    684   //CHECK: @llvm.x86.avx512.mask.psub.d.128
    685   return _mm_maskz_sub_epi32(__U, __A, __B);
    686 }
    687 
    688 __m128i test_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
    689         __m128i __B) {
    690   //CHECK-LABEL: @test_mm_mask_sub_epi64
    691   //CHECK: @llvm.x86.avx512.mask.psub.q.128
    692   return _mm_mask_sub_epi64 (__W, __U, __A, __B);
    693 }
    694 
    695 __m128i test_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
    696   //CHECK-LABEL: @test_mm_maskz_sub_epi64
    697   //CHECK: @llvm.x86.avx512.mask.psub.q.128
    698   return _mm_maskz_sub_epi64 (__U, __A, __B);
    699 }
    700 
    701 __m256i test_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
    702            __m256i __Y) {
    703   //CHECK-LABEL: @test_mm256_mask_mul_epi32
    704   //CHECK: @llvm.x86.avx512.mask.pmul.dq.256
    705   return _mm256_mask_mul_epi32(__W, __M, __X, __Y);
    706 }
    707 
    708 __m256i test_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) {
    709   //CHECK-LABEL: @test_mm256_maskz_mul_epi32
    710   //CHECK: @llvm.x86.avx512.mask.pmul.dq.256
    711   return _mm256_maskz_mul_epi32(__M, __X, __Y);
    712 }
    713 
    714 
    715 __m128i test_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
    716         __m128i __Y) {
    717   //CHECK-LABEL: @test_mm_mask_mul_epi32
    718   //CHECK: @llvm.x86.avx512.mask.pmul.dq.128
    719   return _mm_mask_mul_epi32(__W, __M, __X, __Y);
    720 }
    721 
    722 __m128i test_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y) {
    723   //CHECK-LABEL: @test_mm_maskz_mul_epi32
    724   //CHECK: @llvm.x86.avx512.mask.pmul.dq.128
    725   return _mm_maskz_mul_epi32(__M, __X, __Y);
    726 }
    727 
    728 __m256i test_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
    729            __m256i __Y) {
    730   //CHECK-LABEL: @test_mm256_mask_mul_epu32
    731   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.256
    732   return _mm256_mask_mul_epu32(__W, __M, __X, __Y);
    733 }
    734 
    735 __m256i test_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y) {
    736   //CHECK-LABEL: @test_mm256_maskz_mul_epu32
    737   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.256
    738   return _mm256_maskz_mul_epu32(__M, __X, __Y);
    739 }
    740 
    741 __m128i test_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
    742         __m128i __Y) {
    743   //CHECK-LABEL: @test_mm_mask_mul_epu32
    744   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.128
    745   return _mm_mask_mul_epu32(__W, __M, __X, __Y);
    746 }
    747 
    748 __m128i test_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y) {
    749   //CHECK-LABEL: @test_mm_maskz_mul_epu32
    750   //CHECK: @llvm.x86.avx512.mask.pmulu.dq.128
    751   return _mm_maskz_mul_epu32(__M, __X, __Y);
    752 }
    753 
    754 __m128i test_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
    755   //CHECK-LABEL: @test_mm_maskz_mullo_epi32
    756   //CHECK: @llvm.x86.avx512.mask.pmull.d.128
    757   return _mm_maskz_mullo_epi32(__M, __A, __B);
    758 }
    759 
    760 __m128i test_mm_mask_mullo_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
    761           __m128i __B) {
    762   //CHECK-LABEL: @test_mm_mask_mullo_epi32
    763   //CHECK: @llvm.x86.avx512.mask.pmull.d.128
    764   return _mm_mask_mullo_epi32(__W, __M, __A, __B);
    765 }
    766 
    767 __m256i test_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
    768   //CHECK-LABEL: @test_mm256_maskz_mullo_epi32
    769   //CHECK: @llvm.x86.avx512.mask.pmull.d.256
    770   return _mm256_maskz_mullo_epi32(__M, __A, __B);
    771 }
    772 
    773 __m256i test_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
    774        __m256i __B) {
    775   //CHECK-LABEL: @test_mm256_mask_mullo_epi32
    776   //CHECK: @llvm.x86.avx512.mask.pmull.d.256
    777   return _mm256_mask_mullo_epi32(__W, __M, __A, __B);
    778 }
    779 
    780 __m256i test_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
    781            __m256i __B) {
    782   //CHECK-LABEL: @test_mm256_mask_and_epi32
    783   //CHECK: @llvm.x86.avx512.mask.pand.d.256
    784   return _mm256_mask_and_epi32(__W, __U, __A, __B);
    785 }
    786 
    787 __m256i test_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
    788   //CHECK-LABEL: @test_mm256_maskz_and_epi32
    789   //CHECK: @llvm.x86.avx512.mask.pand.d.256
    790   return _mm256_maskz_and_epi32(__U, __A, __B);
    791 }
    792 
    793 __m128i test_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
    794   //CHECK-LABEL: @test_mm_mask_and_epi32
    795   //CHECK: @llvm.x86.avx512.mask.pand.d.128
    796   return _mm_mask_and_epi32(__W, __U, __A, __B);
    797 }
    798 
    799 __m128i test_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
    800   //CHECK-LABEL: @test_mm_maskz_and_epi32
    801   //CHECK: @llvm.x86.avx512.mask.pand.d.128
    802   return _mm_maskz_and_epi32(__U, __A, __B);
    803 }
    804 
    805 __m256i test_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
    806         __m256i __B) {
    807   //CHECK-LABEL: @test_mm256_mask_andnot_epi32
    808   //CHECK: @llvm.x86.avx512.mask.pandn.d.256
    809   return _mm256_mask_andnot_epi32(__W, __U, __A, __B);
    810 }
    811 
    812 __m256i test_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
    813   //CHECK-LABEL: @test_mm256_maskz_andnot_epi32
    814   //CHECK: @llvm.x86.avx512.mask.pandn.d.256
    815   return _mm256_maskz_andnot_epi32(__U, __A, __B);
    816 }
    817 
    818 __m128i test_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
    819            __m128i __B) {
    820   //CHECK-LABEL: @test_mm_mask_andnot_epi32
    821   //CHECK: @llvm.x86.avx512.mask.pandn.d.128
    822   return _mm_mask_andnot_epi32(__W, __U, __A, __B);
    823 }
    824 
    825 __m128i test_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
    826   //CHECK-LABEL: @test_mm_maskz_andnot_epi32
    827   //CHECK: @llvm.x86.avx512.mask.pandn.d.128
    828   return _mm_maskz_andnot_epi32(__U, __A, __B);
    829 }
    830 
    831 __m256i test_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
    832           __m256i __B) {
    833   //CHECK-LABEL: @test_mm256_mask_or_epi32
    834   //CHECK: @llvm.x86.avx512.mask.por.d.256
    835   return _mm256_mask_or_epi32(__W, __U, __A, __B);
    836 }
    837 
    838  __m256i test_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
    839   //CHECK-LABEL: @test_mm256_maskz_or_epi32
    840   //CHECK: @llvm.x86.avx512.mask.por.d.256
    841   return _mm256_maskz_or_epi32(__U, __A, __B);
    842 }
    843 
    844  __m128i test_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
    845   //CHECK-LABEL: @test_mm_mask_or_epi32
    846   //CHECK: @llvm.x86.avx512.mask.por.d.128
    847   return _mm_mask_or_epi32(__W, __U, __A, __B);
    848 }
    849 
    850 __m128i test_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
    851   //CHECK-LABEL: @test_mm_maskz_or_epi32
    852   //CHECK: @llvm.x86.avx512.mask.por.d.128
    853   return _mm_maskz_or_epi32(__U, __A, __B);
    854 }
    855 
    856 __m256i test_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
    857            __m256i __B) {
    858   //CHECK-LABEL: @test_mm256_mask_xor_epi32
    859   //CHECK: @llvm.x86.avx512.mask.pxor.d.256
    860   return _mm256_mask_xor_epi32(__W, __U, __A, __B);
    861 }
    862 
    863 __m256i test_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B) {
    864   //CHECK-LABEL: @test_mm256_maskz_xor_epi32
    865   //CHECK: @llvm.x86.avx512.mask.pxor.d.256
    866   return _mm256_maskz_xor_epi32(__U, __A, __B);
    867 }
    868 
    869 __m128i test_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
    870         __m128i __B) {
    871   //CHECK-LABEL: @test_mm_mask_xor_epi32
    872   //CHECK: @llvm.x86.avx512.mask.pxor.d.128
    873   return _mm_mask_xor_epi32(__W, __U, __A, __B);
    874 }
    875 
    876 __m128i test_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B) {
    877   //CHECK-LABEL: @test_mm_maskz_xor_epi32
    878   //CHECK: @llvm.x86.avx512.mask.pxor.d.128
    879   return _mm_maskz_xor_epi32(__U, __A, __B);
    880 }
    881 
    882 __m256i test_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
    883            __m256i __B) {
    884   //CHECK-LABEL: @test_mm256_mask_and_epi64
    885   //CHECK: @llvm.x86.avx512.mask.pand.q.256
    886   return _mm256_mask_and_epi64(__W, __U, __A, __B);
    887 }
    888 
    889 __m256i test_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
    890   //CHECK-LABEL: @test_mm256_maskz_and_epi64
    891   //CHECK: @llvm.x86.avx512.mask.pand.q.256
    892   return _mm256_maskz_and_epi64(__U, __A, __B);
    893 }
    894 
    895 __m128i test_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
    896         __m128i __B) {
    897   //CHECK-LABEL: @test_mm_mask_and_epi64
    898   //CHECK: @llvm.x86.avx512.mask.pand.q.128
    899   return _mm_mask_and_epi64(__W,__U, __A, __B);
    900 }
    901 
    902 __m128i test_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
    903   //CHECK-LABEL: @test_mm_maskz_and_epi64
    904   //CHECK: @llvm.x86.avx512.mask.pand.q.128
    905   return _mm_maskz_and_epi64(__U, __A, __B);
    906 }
    907 
    908 __m256i test_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
    909         __m256i __B) {
    910   //CHECK-LABEL: @test_mm256_mask_andnot_epi64
    911   //CHECK: @llvm.x86.avx512.mask.pandn.q.256
    912   return _mm256_mask_andnot_epi64(__W, __U, __A, __B);
    913 }
    914 
    915 __m256i test_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
    916   //CHECK-LABEL: @test_mm256_maskz_andnot_epi64
    917   //CHECK: @llvm.x86.avx512.mask.pandn.q.256
    918   return _mm256_maskz_andnot_epi64(__U, __A, __B);
    919 }
    920 
    921 __m128i test_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
    922            __m128i __B) {
    923   //CHECK-LABEL: @test_mm_mask_andnot_epi64
    924   //CHECK: @llvm.x86.avx512.mask.pandn.q.128
    925   return _mm_mask_andnot_epi64(__W,__U, __A, __B);
    926 }
    927 
    928 __m128i test_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
    929   //CHECK-LABEL: @test_mm_maskz_andnot_epi64
    930   //CHECK: @llvm.x86.avx512.mask.pandn.q.128
    931   return _mm_maskz_andnot_epi64(__U, __A, __B);
    932 }
    933 
    934 __m256i test_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
    935           __m256i __B) {
    936   //CHECK-LABEL: @test_mm256_mask_or_epi64
    937   //CHECK: @llvm.x86.avx512.mask.por.q.256
    938   return _mm256_mask_or_epi64(__W,__U, __A, __B);
    939 }
    940 
    941 __m256i test_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
    942   //CHECK-LABEL: @test_mm256_maskz_or_epi64
    943   //CHECK: @llvm.x86.avx512.mask.por.q.256
    944   return _mm256_maskz_or_epi64(__U, __A, __B);
    945 }
    946 
    947 __m128i test_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
    948   //CHECK-LABEL: @test_mm_mask_or_epi64
    949   //CHECK: @llvm.x86.avx512.mask.por.q.128
    950   return _mm_mask_or_epi64(__W, __U, __A, __B);
    951 }
    952 
    953 __m128i test_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
    954 //CHECK-LABEL: @test_mm_maskz_or_epi64
    955   //CHECK: @llvm.x86.avx512.mask.por.q.128
    956   return _mm_maskz_or_epi64( __U, __A, __B);
    957 }
    958 
    959 __m256i test_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
    960           __m256i __B) {
    961   //CHECK-LABEL: @test_mm256_mask_xor_epi64
    962   //CHECK: @llvm.x86.avx512.mask.pxor.q.256
    963   return _mm256_mask_xor_epi64(__W,__U, __A, __B);
    964 }
    965 
    966 __m256i test_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
    967   //CHECK-LABEL: @test_mm256_maskz_xor_epi64
    968   //CHECK: @llvm.x86.avx512.mask.pxor.q.256
    969   return _mm256_maskz_xor_epi64(__U, __A, __B);
    970 }
    971 
    972 __m128i test_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
    973   //CHECK-LABEL: @test_mm_mask_xor_epi64
    974   //CHECK: @llvm.x86.avx512.mask.pxor.q.128
    975   return _mm_mask_xor_epi64(__W, __U, __A, __B);
    976 }
    977 
    978 __m128i test_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
    979   //CHECK-LABEL: @test_mm_maskz_xor_epi64
    980   //CHECK: @llvm.x86.avx512.mask.pxor.q.128
    981   return _mm_maskz_xor_epi64( __U, __A, __B);
    982 }
    983 
    984 __mmask8 test_mm256_cmp_ps_mask(__m256 __A, __m256 __B) {
    985   // CHECK-LABEL: @test_mm256_cmp_ps_mask
    986   // CHECK: @llvm.x86.avx512.mask.cmp.ps.256
    987   return (__mmask8)_mm256_cmp_ps_mask(__A, __B, 0);
    988 }
    989 
    990 __mmask8 test_mm256_mask_cmp_ps_mask(__mmask8 m, __m256 __A, __m256 __B) {
    991   // CHECK-LABEL: @test_mm256_mask_cmp_ps_mask
    992   // CHECK: @llvm.x86.avx512.mask.cmp.ps.256
    993   return _mm256_mask_cmp_ps_mask(m, __A, __B, 0);
    994 }
    995 
    996 __mmask8 test_mm128_cmp_ps_mask(__m128 __A, __m128 __B) {
    997   // CHECK-LABEL: @test_mm128_cmp_ps_mask
    998   // CHECK: @llvm.x86.avx512.mask.cmp.ps.128
    999   return (__mmask8)_mm128_cmp_ps_mask(__A, __B, 0);
   1000 }
   1001 
   1002 __mmask8 test_mm128_mask_cmp_ps_mask(__mmask8 m, __m128 __A, __m128 __B) {
   1003   // CHECK-LABEL: @test_mm128_mask_cmp_ps_mask
   1004   // CHECK: @llvm.x86.avx512.mask.cmp.ps.128
   1005   return _mm128_mask_cmp_ps_mask(m, __A, __B, 0);
   1006 }
   1007 
   1008 __mmask8 test_mm256_cmp_pd_mask(__m256d __A, __m256d __B) {
   1009   // CHECK-LABEL: @test_mm256_cmp_pd_mask
   1010   // CHECK: @llvm.x86.avx512.mask.cmp.pd.256
   1011   return (__mmask8)_mm256_cmp_pd_mask(__A, __B, 0);
   1012 }
   1013 
   1014 __mmask8 test_mm256_mask_cmp_pd_mask(__mmask8 m, __m256d __A, __m256d __B) {
   1015   // CHECK-LABEL: @test_mm256_mask_cmp_pd_mask
   1016   // CHECK: @llvm.x86.avx512.mask.cmp.pd.256
   1017   return _mm256_mask_cmp_pd_mask(m, __A, __B, 0);
   1018 }
   1019 
   1020 __mmask8 test_mm128_cmp_pd_mask(__m128d __A, __m128d __B) {
   1021   // CHECK-LABEL: @test_mm128_cmp_pd_mask
   1022   // CHECK: @llvm.x86.avx512.mask.cmp.pd.128
   1023   return (__mmask8)_mm128_cmp_pd_mask(__A, __B, 0);
   1024 }
   1025 
   1026 __mmask8 test_mm128_mask_cmp_pd_mask(__mmask8 m, __m128d __A, __m128d __B) {
   1027   // CHECK-LABEL: @test_mm128_mask_cmp_pd_mask
   1028   // CHECK: @llvm.x86.avx512.mask.cmp.pd.128
   1029   return _mm128_mask_cmp_pd_mask(m, __A, __B, 0);
   1030 }
   1031 
   1032 
   1033 //igorb
   1034 
   1035 __m128d test_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
   1036   // CHECK-LABEL: @test_mm_mask_fmadd_pd
   1037   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.128
   1038   return _mm_mask_fmadd_pd(__A, __U, __B, __C);
   1039 }
   1040 
   1041 __m128d test_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
   1042   // CHECK-LABEL: @test_mm_mask_fmsub_pd
   1043   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.128
   1044   return _mm_mask_fmsub_pd(__A, __U, __B, __C);
   1045 }
   1046 
   1047 __m128d test_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
   1048   // CHECK-LABEL: @test_mm_mask3_fmadd_pd
   1049   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.128
   1050   return _mm_mask3_fmadd_pd(__A, __B, __C, __U);
   1051 }
   1052 
   1053 __m128d test_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
   1054   // CHECK-LABEL: @test_mm_mask3_fnmadd_pd
   1055   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.128
   1056   return _mm_mask3_fnmadd_pd(__A, __B, __C, __U);
   1057 }
   1058 
   1059 __m128d test_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
   1060   // CHECK-LABEL: @test_mm_maskz_fmadd_pd
   1061   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
   1062   return _mm_maskz_fmadd_pd(__U, __A, __B, __C);
   1063 }
   1064 
   1065 __m128d test_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
   1066   // CHECK-LABEL: @test_mm_maskz_fmsub_pd
   1067   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
   1068   return _mm_maskz_fmsub_pd(__U, __A, __B, __C);
   1069 }
   1070 
   1071 __m128d test_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
   1072   // CHECK-LABEL: @test_mm_maskz_fnmadd_pd
   1073   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
   1074   return _mm_maskz_fnmadd_pd(__U, __A, __B, __C);
   1075 }
   1076 
   1077 __m128d test_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
   1078   // CHECK-LABEL: @test_mm_maskz_fnmsub_pd
   1079   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.128
   1080   return _mm_maskz_fnmsub_pd(__U, __A, __B, __C);
   1081 }
   1082 
   1083 __m256d test_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
   1084   // CHECK-LABEL: @test_mm256_mask_fmadd_pd
   1085   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.256
   1086   return _mm256_mask_fmadd_pd(__A, __U, __B, __C);
   1087 }
   1088 
   1089 __m256d test_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
   1090   // CHECK-LABEL: @test_mm256_mask_fmsub_pd
   1091   // CHECK: @llvm.x86.avx512.mask.vfmadd.pd.256
   1092   return _mm256_mask_fmsub_pd(__A, __U, __B, __C);
   1093 }
   1094 
   1095 __m256d test_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
   1096   // CHECK-LABEL: @test_mm256_mask3_fmadd_pd
   1097   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.256
   1098   return _mm256_mask3_fmadd_pd(__A, __B, __C, __U);
   1099 }
   1100 
   1101 __m256d test_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
   1102   // CHECK-LABEL: @test_mm256_mask3_fnmadd_pd
   1103   // CHECK: @llvm.x86.avx512.mask3.vfmadd.pd.256
   1104   return _mm256_mask3_fnmadd_pd(__A, __B, __C, __U);
   1105 }
   1106 
   1107 __m256d test_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
   1108   // CHECK-LABEL: @test_mm256_maskz_fmadd_pd
   1109   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
   1110   return _mm256_maskz_fmadd_pd(__U, __A, __B, __C);
   1111 }
   1112 
   1113 __m256d test_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
   1114   // CHECK-LABEL: @test_mm256_maskz_fmsub_pd
   1115   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
   1116   return _mm256_maskz_fmsub_pd(__U, __A, __B, __C);
   1117 }
   1118 
   1119 __m256d test_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
   1120   // CHECK-LABEL: @test_mm256_maskz_fnmadd_pd
   1121   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
   1122   return _mm256_maskz_fnmadd_pd(__U, __A, __B, __C);
   1123 }
   1124 
   1125 __m256d test_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
   1126   // CHECK-LABEL: @test_mm256_maskz_fnmsub_pd
   1127   // CHECK: @llvm.x86.avx512.maskz.vfmadd.pd.256
   1128   return _mm256_maskz_fnmsub_pd(__U, __A, __B, __C);
   1129 }
   1130 
   1131 __m128 test_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
   1132   // CHECK-LABEL: @test_mm_mask_fmadd_ps
   1133   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.128
   1134   return _mm_mask_fmadd_ps(__A, __U, __B, __C);
   1135 }
   1136 
   1137 __m128 test_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
   1138   // CHECK-LABEL: @test_mm_mask_fmsub_ps
   1139   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.128
   1140   return _mm_mask_fmsub_ps(__A, __U, __B, __C);
   1141 }
   1142 
   1143 __m128 test_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
   1144   // CHECK-LABEL: @test_mm_mask3_fmadd_ps
   1145   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.128
   1146   return _mm_mask3_fmadd_ps(__A, __B, __C, __U);
   1147 }
   1148 
   1149 __m128 test_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
   1150   // CHECK-LABEL: @test_mm_mask3_fnmadd_ps
   1151   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.128
   1152   return _mm_mask3_fnmadd_ps(__A, __B, __C, __U);
   1153 }
   1154 
   1155 __m128 test_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
   1156   // CHECK-LABEL: @test_mm_maskz_fmadd_ps
   1157   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
   1158   return _mm_maskz_fmadd_ps(__U, __A, __B, __C);
   1159 }
   1160 
   1161 __m128 test_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
   1162   // CHECK-LABEL: @test_mm_maskz_fmsub_ps
   1163   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
   1164   return _mm_maskz_fmsub_ps(__U, __A, __B, __C);
   1165 }
   1166 
   1167 __m128 test_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
   1168   // CHECK-LABEL: @test_mm_maskz_fnmadd_ps
   1169   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
   1170   return _mm_maskz_fnmadd_ps(__U, __A, __B, __C);
   1171 }
   1172 
   1173 __m128 test_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
   1174   // CHECK-LABEL: @test_mm_maskz_fnmsub_ps
   1175   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.128
   1176   return _mm_maskz_fnmsub_ps(__U, __A, __B, __C);
   1177 }
   1178 
   1179 __m256 test_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
   1180   // CHECK-LABEL: @test_mm256_mask_fmadd_ps
   1181   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.256
   1182   return _mm256_mask_fmadd_ps(__A, __U, __B, __C);
   1183 }
   1184 
   1185 __m256 test_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
   1186   // CHECK-LABEL: @test_mm256_mask_fmsub_ps
   1187   // CHECK: @llvm.x86.avx512.mask.vfmadd.ps.256
   1188   return _mm256_mask_fmsub_ps(__A, __U, __B, __C);
   1189 }
   1190 
   1191 __m256 test_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
   1192   // CHECK-LABEL: @test_mm256_mask3_fmadd_ps
   1193   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.256
   1194   return _mm256_mask3_fmadd_ps(__A, __B, __C, __U);
   1195 }
   1196 
   1197 __m256 test_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
   1198   // CHECK-LABEL: @test_mm256_mask3_fnmadd_ps
   1199   // CHECK: @llvm.x86.avx512.mask3.vfmadd.ps.256
   1200   return _mm256_mask3_fnmadd_ps(__A, __B, __C, __U);
   1201 }
   1202 
   1203 __m256 test_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
   1204   // CHECK-LABEL: @test_mm256_maskz_fmadd_ps
   1205   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
   1206   return _mm256_maskz_fmadd_ps(__U, __A, __B, __C);
   1207 }
   1208 
   1209 __m256 test_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
   1210   // CHECK-LABEL: @test_mm256_maskz_fmsub_ps
   1211   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
   1212   return _mm256_maskz_fmsub_ps(__U, __A, __B, __C);
   1213 }
   1214 
   1215 __m256 test_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
   1216   // CHECK-LABEL: @test_mm256_maskz_fnmadd_ps
   1217   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
   1218   return _mm256_maskz_fnmadd_ps(__U, __A, __B, __C);
   1219 }
   1220 
   1221 __m256 test_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
   1222   // CHECK-LABEL: @test_mm256_maskz_fnmsub_ps
   1223   // CHECK: @llvm.x86.avx512.maskz.vfmadd.ps.256
   1224   return _mm256_maskz_fnmsub_ps(__U, __A, __B, __C);
   1225 }
   1226 
   1227 __m128d test_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
   1228   // CHECK-LABEL: @test_mm_mask_fmaddsub_pd
   1229   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.128
   1230   return _mm_mask_fmaddsub_pd(__A, __U, __B, __C);
   1231 }
   1232 
   1233 __m128d test_mm_mask_fmsubadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
   1234   // CHECK-LABEL: @test_mm_mask_fmsubadd_pd
   1235   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.128
   1236   return _mm_mask_fmsubadd_pd(__A, __U, __B, __C);
   1237 }
   1238 
   1239 __m128d test_mm_mask3_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
   1240   // CHECK-LABEL: @test_mm_mask3_fmaddsub_pd
   1241   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.pd.128
   1242   return _mm_mask3_fmaddsub_pd(__A, __B, __C, __U);
   1243 }
   1244 
   1245 __m128d test_mm_maskz_fmaddsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
   1246   // CHECK-LABEL: @test_mm_maskz_fmaddsub_pd
   1247   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.128
   1248   return _mm_maskz_fmaddsub_pd(__U, __A, __B, __C);
   1249 }
   1250 
   1251 __m128d test_mm_maskz_fmsubadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
   1252   // CHECK-LABEL: @test_mm_maskz_fmsubadd_pd
   1253   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.128
   1254   return _mm_maskz_fmsubadd_pd(__U, __A, __B, __C);
   1255 }
   1256 
   1257 __m256d test_mm256_mask_fmaddsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
   1258   // CHECK-LABEL: @test_mm256_mask_fmaddsub_pd
   1259   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.256
   1260   return _mm256_mask_fmaddsub_pd(__A, __U, __B, __C);
   1261 }
   1262 
   1263 __m256d test_mm256_mask_fmsubadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
   1264   // CHECK-LABEL: @test_mm256_mask_fmsubadd_pd
   1265   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.pd.256
   1266   return _mm256_mask_fmsubadd_pd(__A, __U, __B, __C);
   1267 }
   1268 
   1269 __m256d test_mm256_mask3_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
   1270   // CHECK-LABEL: @test_mm256_mask3_fmaddsub_pd
   1271   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.pd.256
   1272   return _mm256_mask3_fmaddsub_pd(__A, __B, __C, __U);
   1273 }
   1274 
   1275 __m256d test_mm256_maskz_fmaddsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
   1276   // CHECK-LABEL: @test_mm256_maskz_fmaddsub_pd
   1277   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.256
   1278   return _mm256_maskz_fmaddsub_pd(__U, __A, __B, __C);
   1279 }
   1280 
   1281 __m256d test_mm256_maskz_fmsubadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
   1282   // CHECK-LABEL: @test_mm256_maskz_fmsubadd_pd
   1283   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.pd.256
   1284   return _mm256_maskz_fmsubadd_pd(__U, __A, __B, __C);
   1285 }
   1286 
   1287 __m128 test_mm_mask_fmaddsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
   1288   // CHECK-LABEL: @test_mm_mask_fmaddsub_ps
   1289   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.128
   1290   return _mm_mask_fmaddsub_ps(__A, __U, __B, __C);
   1291 }
   1292 
   1293 __m128 test_mm_mask_fmsubadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
   1294   // CHECK-LABEL: @test_mm_mask_fmsubadd_ps
   1295   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.128
   1296   return _mm_mask_fmsubadd_ps(__A, __U, __B, __C);
   1297 }
   1298 
   1299 __m128 test_mm_mask3_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
   1300   // CHECK-LABEL: @test_mm_mask3_fmaddsub_ps
   1301   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.ps.128
   1302   return _mm_mask3_fmaddsub_ps(__A, __B, __C, __U);
   1303 }
   1304 
   1305 __m128 test_mm_maskz_fmaddsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
   1306   // CHECK-LABEL: @test_mm_maskz_fmaddsub_ps
   1307   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.128
   1308   return _mm_maskz_fmaddsub_ps(__U, __A, __B, __C);
   1309 }
   1310 
   1311 __m128 test_mm_maskz_fmsubadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
   1312   // CHECK-LABEL: @test_mm_maskz_fmsubadd_ps
   1313   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.128
   1314   return _mm_maskz_fmsubadd_ps(__U, __A, __B, __C);
   1315 }
   1316 
   1317 __m256 test_mm256_mask_fmaddsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
   1318   // CHECK-LABEL: @test_mm256_mask_fmaddsub_ps
   1319   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.256
   1320   return _mm256_mask_fmaddsub_ps(__A, __U, __B, __C);
   1321 }
   1322 
   1323 __m256 test_mm256_mask_fmsubadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
   1324   // CHECK-LABEL: @test_mm256_mask_fmsubadd_ps
   1325   // CHECK: @llvm.x86.avx512.mask.vfmaddsub.ps.256
   1326   return _mm256_mask_fmsubadd_ps(__A, __U, __B, __C);
   1327 }
   1328 
   1329 __m256 test_mm256_mask3_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
   1330   // CHECK-LABEL: @test_mm256_mask3_fmaddsub_ps
   1331   // CHECK: @llvm.x86.avx512.mask3.vfmaddsub.ps.256
   1332   return _mm256_mask3_fmaddsub_ps(__A, __B, __C, __U);
   1333 }
   1334 
   1335 __m256 test_mm256_maskz_fmaddsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
   1336   // CHECK-LABEL: @test_mm256_maskz_fmaddsub_ps
   1337   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.256
   1338   return _mm256_maskz_fmaddsub_ps(__U, __A, __B, __C);
   1339 }
   1340 
   1341 __m256 test_mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
   1342   // CHECK-LABEL: @test_mm256_maskz_fmsubadd_ps
   1343   // CHECK: @llvm.x86.avx512.maskz.vfmaddsub.ps.256
   1344   return _mm256_maskz_fmsubadd_ps(__U, __A, __B, __C);
   1345 }
   1346 
   1347 __m128d test_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
   1348   // CHECK-LABEL: @test_mm_mask3_fmsub_pd
   1349   // CHECK: @llvm.x86.avx512.mask3.vfmsub.pd.128
   1350   return _mm_mask3_fmsub_pd(__A, __B, __C, __U);
   1351 }
   1352 
   1353 __m256d test_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
   1354   // CHECK-LABEL: @test_mm256_mask3_fmsub_pd
   1355   // CHECK: @llvm.x86.avx512.mask3.vfmsub.pd.256
   1356   return _mm256_mask3_fmsub_pd(__A, __B, __C, __U);
   1357 }
   1358 
   1359 __m128 test_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
   1360   // CHECK-LABEL: @test_mm_mask3_fmsub_ps
   1361   // CHECK: @llvm.x86.avx512.mask3.vfmsub.ps.128
   1362   return _mm_mask3_fmsub_ps(__A, __B, __C, __U);
   1363 }
   1364 
   1365 __m256 test_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
   1366   // CHECK-LABEL: @test_mm256_mask3_fmsub_ps
   1367   // CHECK: @llvm.x86.avx512.mask3.vfmsub.ps.256
   1368   return _mm256_mask3_fmsub_ps(__A, __B, __C, __U);
   1369 }
   1370 
   1371 __m128d test_mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
   1372   // CHECK-LABEL: @test_mm_mask3_fmsubadd_pd
   1373   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.pd.128
   1374   return _mm_mask3_fmsubadd_pd(__A, __B, __C, __U);
   1375 }
   1376 
   1377 __m256d test_mm256_mask3_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
   1378   // CHECK-LABEL: @test_mm256_mask3_fmsubadd_pd
   1379   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.pd.256
   1380   return _mm256_mask3_fmsubadd_pd(__A, __B, __C, __U);
   1381 }
   1382 
   1383 __m128 test_mm_mask3_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
   1384   // CHECK-LABEL: @test_mm_mask3_fmsubadd_ps
   1385   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.ps.128
   1386   return _mm_mask3_fmsubadd_ps(__A, __B, __C, __U);
   1387 }
   1388 
   1389 __m256 test_mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
   1390   // CHECK-LABEL: @test_mm256_mask3_fmsubadd_ps
   1391   // CHECK: @llvm.x86.avx512.mask3.vfmsubadd.ps.256
   1392   return _mm256_mask3_fmsubadd_ps(__A, __B, __C, __U);
   1393 }
   1394 
   1395 __m128d test_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
   1396   // CHECK-LABEL: @test_mm_mask_fnmadd_pd
   1397   // CHECK: @llvm.x86.avx512.mask.vfnmadd.pd.128
   1398   return _mm_mask_fnmadd_pd(__A, __U, __B, __C);
   1399 }
   1400 
   1401 __m256d test_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
   1402   // CHECK-LABEL: @test_mm256_mask_fnmadd_pd
   1403   // CHECK: @llvm.x86.avx512.mask.vfnmadd.pd.256
   1404   return _mm256_mask_fnmadd_pd(__A, __U, __B, __C);
   1405 }
   1406 
   1407 __m128 test_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
   1408   // CHECK-LABEL: @test_mm_mask_fnmadd_ps
   1409   // CHECK: @llvm.x86.avx512.mask.vfnmadd.ps.128
   1410   return _mm_mask_fnmadd_ps(__A, __U, __B, __C);
   1411 }
   1412 
   1413 __m256 test_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
   1414   // CHECK-LABEL: @test_mm256_mask_fnmadd_ps
   1415   // CHECK: @llvm.x86.avx512.mask.vfnmadd.ps.256
   1416   return _mm256_mask_fnmadd_ps(__A, __U, __B, __C);
   1417 }
   1418 
   1419 __m128d test_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
   1420   // CHECK-LABEL: @test_mm_mask_fnmsub_pd
   1421   // CHECK: @llvm.x86.avx512.mask.vfnmsub.pd.128
   1422   return _mm_mask_fnmsub_pd(__A, __U, __B, __C);
   1423 }
   1424 
   1425 __m128d test_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
   1426   // CHECK-LABEL: @test_mm_mask3_fnmsub_pd
   1427   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.pd.128
   1428   return _mm_mask3_fnmsub_pd(__A, __B, __C, __U);
   1429 }
   1430 
   1431 __m256d test_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
   1432   // CHECK-LABEL: @test_mm256_mask_fnmsub_pd
   1433   // CHECK: @llvm.x86.avx512.mask.vfnmsub.pd.256
   1434   return _mm256_mask_fnmsub_pd(__A, __U, __B, __C);
   1435 }
   1436 
   1437 __m256d test_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
   1438   // CHECK-LABEL: @test_mm256_mask3_fnmsub_pd
   1439   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.pd.256
   1440   return _mm256_mask3_fnmsub_pd(__A, __B, __C, __U);
   1441 }
   1442 
   1443 __m128 test_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
   1444   // CHECK-LABEL: @test_mm_mask_fnmsub_ps
   1445   // CHECK: @llvm.x86.avx512.mask.vfnmsub.ps.128
   1446   return _mm_mask_fnmsub_ps(__A, __U, __B, __C);
   1447 }
   1448 
   1449 __m128 test_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
   1450   // CHECK-LABEL: @test_mm_mask3_fnmsub_ps
   1451   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.ps.128
   1452   return _mm_mask3_fnmsub_ps(__A, __B, __C, __U);
   1453 }
   1454 
   1455 __m256 test_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
   1456   // CHECK-LABEL: @test_mm256_mask_fnmsub_ps
   1457   // CHECK: @llvm.x86.avx512.mask.vfnmsub.ps.256
   1458   return _mm256_mask_fnmsub_ps(__A, __U, __B, __C);
   1459 }
   1460 
   1461 __m256 test_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
   1462   // CHECK-LABEL: @test_mm256_mask3_fnmsub_ps
   1463   // CHECK: @llvm.x86.avx512.mask3.vfnmsub.ps.256
   1464   return _mm256_mask3_fnmsub_ps(__A, __B, __C, __U);
   1465 }
   1466 
   1467 __m128d test_mm_mask_add_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
   1468   // CHECK-LABEL: @test_mm_mask_add_pd
   1469   // CHECK: @llvm.x86.avx512.mask.add.pd.128
   1470   return _mm_mask_add_pd(__W,__U,__A,__B);
   1471 }
   1472 __m128d test_mm_maskz_add_pd(__mmask8 __U, __m128d __A, __m128d __B) {
   1473   // CHECK-LABEL: @test_mm_maskz_add_pd
   1474   // CHECK: @llvm.x86.avx512.mask.add.pd.128
   1475   return _mm_maskz_add_pd(__U,__A,__B);
   1476 }
   1477 __m256d test_mm256_mask_add_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
   1478   // CHECK-LABEL: @test_mm256_mask_add_pd
   1479   // CHECK: @llvm.x86.avx512.mask.add.pd.256
   1480   return _mm256_mask_add_pd(__W,__U,__A,__B);
   1481 }
   1482 __m256d test_mm256_maskz_add_pd(__mmask8 __U, __m256d __A, __m256d __B) {
   1483   // CHECK-LABEL: @test_mm256_maskz_add_pd
   1484   // CHECK: @llvm.x86.avx512.mask.add.pd.256
   1485   return _mm256_maskz_add_pd(__U,__A,__B);
   1486 }
   1487 __m128 test_mm_mask_add_ps(__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
   1488   // CHECK-LABEL: @test_mm_mask_add_ps
   1489   // CHECK: @llvm.x86.avx512.mask.add.ps.128
   1490   return _mm_mask_add_ps(__W,__U,__A,__B);
   1491 }
   1492 __m128 test_mm_maskz_add_ps(__mmask16 __U, __m128 __A, __m128 __B) {
   1493   // CHECK-LABEL: @test_mm_maskz_add_ps
   1494   // CHECK: @llvm.x86.avx512.mask.add.ps.128
   1495   return _mm_maskz_add_ps(__U,__A,__B);
   1496 }
   1497 __m256 test_mm256_mask_add_ps(__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
   1498   // CHECK-LABEL: @test_mm256_mask_add_ps
   1499   // CHECK: @llvm.x86.avx512.mask.add.ps.256
   1500   return _mm256_mask_add_ps(__W,__U,__A,__B);
   1501 }
   1502 __m256 test_mm256_maskz_add_ps(__mmask16 __U, __m256 __A, __m256 __B) {
   1503   // CHECK-LABEL: @test_mm256_maskz_add_ps
   1504   // CHECK: @llvm.x86.avx512.mask.add.ps.256
   1505   return _mm256_maskz_add_ps(__U,__A,__B);
   1506 }
   1507 __m128i test_mm_mask_blend_epi32(__mmask8 __U, __m128i __A, __m128i __W) {
   1508   // CHECK-LABEL: @test_mm_mask_blend_epi32
   1509   // CHECK: @llvm.x86.avx512.mask.blend.d.128
   1510   return _mm_mask_blend_epi32(__U,__A,__W);
   1511 }
   1512 __m256i test_mm256_mask_blend_epi32(__mmask8 __U, __m256i __A, __m256i __W) {
   1513   // CHECK-LABEL: @test_mm256_mask_blend_epi32
   1514   // CHECK: @llvm.x86.avx512.mask.blend.d.256
   1515   return _mm256_mask_blend_epi32(__U,__A,__W);
   1516 }
   1517 __m128d test_mm_mask_blend_pd(__mmask8 __U, __m128d __A, __m128d __W) {
   1518   // CHECK-LABEL: @test_mm_mask_blend_pd
   1519   // CHECK: @llvm.x86.avx512.mask.blend.pd.128
   1520   return _mm_mask_blend_pd(__U,__A,__W);
   1521 }
   1522 __m256d test_mm256_mask_blend_pd(__mmask8 __U, __m256d __A, __m256d __W) {
   1523   // CHECK-LABEL: @test_mm256_mask_blend_pd
   1524   // CHECK: @llvm.x86.avx512.mask.blend.pd.256
   1525   return _mm256_mask_blend_pd(__U,__A,__W);
   1526 }
   1527 __m128 test_mm_mask_blend_ps(__mmask8 __U, __m128 __A, __m128 __W) {
   1528   // CHECK-LABEL: @test_mm_mask_blend_ps
   1529   // CHECK: @llvm.x86.avx512.mask.blend.ps.128
   1530   return _mm_mask_blend_ps(__U,__A,__W);
   1531 }
   1532 __m256 test_mm256_mask_blend_ps(__mmask8 __U, __m256 __A, __m256 __W) {
   1533   // CHECK-LABEL: @test_mm256_mask_blend_ps
   1534   // CHECK: @llvm.x86.avx512.mask.blend.ps.256
   1535   return _mm256_mask_blend_ps(__U,__A,__W);
   1536 }
   1537 __m128i test_mm_mask_blend_epi64(__mmask8 __U, __m128i __A, __m128i __W) {
   1538   // CHECK-LABEL: @test_mm_mask_blend_epi64
   1539   // CHECK: @llvm.x86.avx512.mask.blend.q.128
   1540   return _mm_mask_blend_epi64(__U,__A,__W);
   1541 }
   1542 __m256i test_mm256_mask_blend_epi64(__mmask8 __U, __m256i __A, __m256i __W) {
   1543   // CHECK-LABEL: @test_mm256_mask_blend_epi64
   1544   // CHECK: @llvm.x86.avx512.mask.blend.q.256
   1545   return _mm256_mask_blend_epi64(__U,__A,__W);
   1546 }
   1547 __m128d test_mm_mask_compress_pd(__m128d __W, __mmask8 __U, __m128d __A) {
   1548   // CHECK-LABEL: @test_mm_mask_compress_pd
   1549   // CHECK: @llvm.x86.avx512.mask.compress.pd.128
   1550   return _mm_mask_compress_pd(__W,__U,__A);
   1551 }
   1552 __m128d test_mm_maskz_compress_pd(__mmask8 __U, __m128d __A) {
   1553   // CHECK-LABEL: @test_mm_maskz_compress_pd
   1554   // CHECK: @llvm.x86.avx512.mask.compress.pd.128
   1555   return _mm_maskz_compress_pd(__U,__A);
   1556 }
   1557 __m256d test_mm256_mask_compress_pd(__m256d __W, __mmask8 __U, __m256d __A) {
   1558   // CHECK-LABEL: @test_mm256_mask_compress_pd
   1559   // CHECK: @llvm.x86.avx512.mask.compress.pd.256
   1560   return _mm256_mask_compress_pd(__W,__U,__A);
   1561 }
   1562 __m256d test_mm256_maskz_compress_pd(__mmask8 __U, __m256d __A) {
   1563   // CHECK-LABEL: @test_mm256_maskz_compress_pd
   1564   // CHECK: @llvm.x86.avx512.mask.compress.pd.256
   1565   return _mm256_maskz_compress_pd(__U,__A);
   1566 }
   1567 __m128i test_mm_mask_compress_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
   1568   // CHECK-LABEL: @test_mm_mask_compress_epi64
   1569   // CHECK: @llvm.x86.avx512.mask.compress.q.128
   1570   return _mm_mask_compress_epi64(__W,__U,__A);
   1571 }
   1572 __m128i test_mm_maskz_compress_epi64(__mmask8 __U, __m128i __A) {
   1573   // CHECK-LABEL: @test_mm_maskz_compress_epi64
   1574   // CHECK: @llvm.x86.avx512.mask.compress.q.128
   1575   return _mm_maskz_compress_epi64(__U,__A);
   1576 }
   1577 __m256i test_mm256_mask_compress_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
   1578   // CHECK-LABEL: @test_mm256_mask_compress_epi64
   1579   // CHECK: @llvm.x86.avx512.mask.compress.q.256
   1580   return _mm256_mask_compress_epi64(__W,__U,__A);
   1581 }
   1582 __m256i test_mm256_maskz_compress_epi64(__mmask8 __U, __m256i __A) {
   1583   // CHECK-LABEL: @test_mm256_maskz_compress_epi64
   1584   // CHECK: @llvm.x86.avx512.mask.compress.q.256
   1585   return _mm256_maskz_compress_epi64(__U,__A);
   1586 }
   1587 __m128 test_mm_mask_compress_ps(__m128 __W, __mmask8 __U, __m128 __A) {
   1588   // CHECK-LABEL: @test_mm_mask_compress_ps
   1589   // CHECK: @llvm.x86.avx512.mask.compress.ps.128
   1590   return _mm_mask_compress_ps(__W,__U,__A);
   1591 }
   1592 __m128 test_mm_maskz_compress_ps(__mmask8 __U, __m128 __A) {
   1593   // CHECK-LABEL: @test_mm_maskz_compress_ps
   1594   // CHECK: @llvm.x86.avx512.mask.compress.ps.128
   1595   return _mm_maskz_compress_ps(__U,__A);
   1596 }
   1597 __m256 test_mm256_mask_compress_ps(__m256 __W, __mmask8 __U, __m256 __A) {
   1598   // CHECK-LABEL: @test_mm256_mask_compress_ps
   1599   // CHECK: @llvm.x86.avx512.mask.compress.ps.256
   1600   return _mm256_mask_compress_ps(__W,__U,__A);
   1601 }
   1602 __m256 test_mm256_maskz_compress_ps(__mmask8 __U, __m256 __A) {
   1603   // CHECK-LABEL: @test_mm256_maskz_compress_ps
   1604   // CHECK: @llvm.x86.avx512.mask.compress.ps.256
   1605   return _mm256_maskz_compress_ps(__U,__A);
   1606 }
   1607 __m128i test_mm_mask_compress_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
   1608   // CHECK-LABEL: @test_mm_mask_compress_epi32
   1609   // CHECK: @llvm.x86.avx512.mask.compress.d.128
   1610   return _mm_mask_compress_epi32(__W,__U,__A);
   1611 }
   1612 __m128i test_mm_maskz_compress_epi32(__mmask8 __U, __m128i __A) {
   1613   // CHECK-LABEL: @test_mm_maskz_compress_epi32
   1614   // CHECK: @llvm.x86.avx512.mask.compress.d.128
   1615   return _mm_maskz_compress_epi32(__U,__A);
   1616 }
   1617 __m256i test_mm256_mask_compress_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
   1618   // CHECK-LABEL: @test_mm256_mask_compress_epi32
   1619   // CHECK: @llvm.x86.avx512.mask.compress.d.256
   1620   return _mm256_mask_compress_epi32(__W,__U,__A);
   1621 }
   1622 __m256i test_mm256_maskz_compress_epi32(__mmask8 __U, __m256i __A) {
   1623   // CHECK-LABEL: @test_mm256_maskz_compress_epi32
   1624   // CHECK: @llvm.x86.avx512.mask.compress.d.256
   1625   return _mm256_maskz_compress_epi32(__U,__A);
   1626 }
   1627 void test_mm_mask_compressstoreu_pd(void *__P, __mmask8 __U, __m128d __A) {
   1628   // CHECK-LABEL: @test_mm_mask_compressstoreu_pd
   1629   // CHECK: @llvm.x86.avx512.mask.compress.store.pd.128
   1630   return _mm_mask_compressstoreu_pd(__P,__U,__A);
   1631 }
   1632 void test_mm256_mask_compressstoreu_pd(void *__P, __mmask8 __U, __m256d __A) {
   1633   // CHECK-LABEL: @test_mm256_mask_compressstoreu_pd
   1634   // CHECK: @llvm.x86.avx512.mask.compress.store.pd.256
   1635   return _mm256_mask_compressstoreu_pd(__P,__U,__A);
   1636 }
   1637 void test_mm_mask_compressstoreu_epi64(void *__P, __mmask8 __U, __m128i __A) {
   1638   // CHECK-LABEL: @test_mm_mask_compressstoreu_epi64
   1639   // CHECK: @llvm.x86.avx512.mask.compress.store.q.128
   1640   return _mm_mask_compressstoreu_epi64(__P,__U,__A);
   1641 }
   1642 void test_mm256_mask_compressstoreu_epi64(void *__P, __mmask8 __U, __m256i __A) {
   1643   // CHECK-LABEL: @test_mm256_mask_compressstoreu_epi64
   1644   // CHECK: @llvm.x86.avx512.mask.compress.store.q.256
   1645   return _mm256_mask_compressstoreu_epi64(__P,__U,__A);
   1646 }
   1647 void test_mm_mask_compressstoreu_ps(void *__P, __mmask8 __U, __m128 __A) {
   1648   // CHECK-LABEL: @test_mm_mask_compressstoreu_ps
   1649   // CHECK: @llvm.x86.avx512.mask.compress.store.ps.128
   1650   return _mm_mask_compressstoreu_ps(__P,__U,__A);
   1651 }
   1652 void test_mm256_mask_compressstoreu_ps(void *__P, __mmask8 __U, __m256 __A) {
   1653   // CHECK-LABEL: @test_mm256_mask_compressstoreu_ps
   1654   // CHECK: @llvm.x86.avx512.mask.compress.store.ps.256
   1655   return _mm256_mask_compressstoreu_ps(__P,__U,__A);
   1656 }
   1657 void test_mm_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m128i __A) {
   1658   // CHECK-LABEL: @test_mm_mask_compressstoreu_epi32
   1659   // CHECK: @llvm.x86.avx512.mask.compress.store.d.128
   1660   return _mm_mask_compressstoreu_epi32(__P,__U,__A);
   1661 }
   1662 void test_mm256_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m256i __A) {
   1663   // CHECK-LABEL: @test_mm256_mask_compressstoreu_epi32
   1664   // CHECK: @llvm.x86.avx512.mask.compress.store.d.256
   1665   return _mm256_mask_compressstoreu_epi32(__P,__U,__A);
   1666 }
   1667 __m128d test_mm_mask_cvtepi32_pd(__m128d __W, __mmask8 __U, __m128i __A) {
   1668   // CHECK-LABEL: @test_mm_mask_cvtepi32_pd
   1669   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.128
   1670   return _mm_mask_cvtepi32_pd(__W,__U,__A);
   1671 }
   1672 __m128d test_mm_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) {
   1673   // CHECK-LABEL: @test_mm_maskz_cvtepi32_pd
   1674   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.128
   1675   return _mm_maskz_cvtepi32_pd(__U,__A);
   1676 }
   1677 __m256d test_mm256_mask_cvtepi32_pd(__m256d __W, __mmask8 __U, __m128i __A) {
   1678   // CHECK-LABEL: @test_mm256_mask_cvtepi32_pd
   1679   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.256
   1680   return _mm256_mask_cvtepi32_pd(__W,__U,__A);
   1681 }
   1682 __m256d test_mm256_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) {
   1683   // CHECK-LABEL: @test_mm256_maskz_cvtepi32_pd
   1684   // CHECK: @llvm.x86.avx512.mask.cvtdq2pd.256
   1685   return _mm256_maskz_cvtepi32_pd(__U,__A);
   1686 }
   1687 __m128 test_mm_mask_cvtepi32_ps(__m128 __W, __mmask8 __U, __m128i __A) {
   1688   // CHECK-LABEL: @test_mm_mask_cvtepi32_ps
   1689   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.128
   1690   return _mm_mask_cvtepi32_ps(__W,__U,__A);
   1691 }
   1692 __m128 test_mm_maskz_cvtepi32_ps(__mmask16 __U, __m128i __A) {
   1693   // CHECK-LABEL: @test_mm_maskz_cvtepi32_ps
   1694   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.128
   1695   return _mm_maskz_cvtepi32_ps(__U,__A);
   1696 }
   1697 __m256 test_mm256_mask_cvtepi32_ps(__m256 __W, __mmask8 __U, __m256i __A) {
   1698   // CHECK-LABEL: @test_mm256_mask_cvtepi32_ps
   1699   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.256
   1700   return _mm256_mask_cvtepi32_ps(__W,__U,__A);
   1701 }
   1702 __m256 test_mm256_maskz_cvtepi32_ps(__mmask16 __U, __m256i __A) {
   1703   // CHECK-LABEL: @test_mm256_maskz_cvtepi32_ps
   1704   // CHECK: @llvm.x86.avx512.mask.cvtdq2ps.256
   1705   return _mm256_maskz_cvtepi32_ps(__U,__A);
   1706 }
   1707 __m128i test_mm_mask_cvtpd_epi32(__m128i __W, __mmask8 __U, __m128d __A) {
   1708   // CHECK-LABEL: @test_mm_mask_cvtpd_epi32
   1709   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.128
   1710   return _mm_mask_cvtpd_epi32(__W,__U,__A);
   1711 }
   1712 __m128i test_mm_maskz_cvtpd_epi32(__mmask8 __U, __m128d __A) {
   1713   // CHECK-LABEL: @test_mm_maskz_cvtpd_epi32
   1714   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.128
   1715   return _mm_maskz_cvtpd_epi32(__U,__A);
   1716 }
   1717 __m128i test_mm256_mask_cvtpd_epi32(__m128i __W, __mmask8 __U, __m256d __A) {
   1718   // CHECK-LABEL: @test_mm256_mask_cvtpd_epi32
   1719   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.256
   1720   return _mm256_mask_cvtpd_epi32(__W,__U,__A);
   1721 }
   1722 __m128i test_mm256_maskz_cvtpd_epi32(__mmask8 __U, __m256d __A) {
   1723   // CHECK-LABEL: @test_mm256_maskz_cvtpd_epi32
   1724   // CHECK: @llvm.x86.avx512.mask.cvtpd2dq.256
   1725   return _mm256_maskz_cvtpd_epi32(__U,__A);
   1726 }
   1727 __m128 test_mm_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m128d __A) {
   1728   // CHECK-LABEL: @test_mm_mask_cvtpd_ps
   1729   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps
   1730   return _mm_mask_cvtpd_ps(__W,__U,__A);
   1731 }
   1732 __m128 test_mm_maskz_cvtpd_ps(__mmask8 __U, __m128d __A) {
   1733   // CHECK-LABEL: @test_mm_maskz_cvtpd_ps
   1734   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps
   1735   return _mm_maskz_cvtpd_ps(__U,__A);
   1736 }
   1737 __m128 test_mm256_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m256d __A) {
   1738   // CHECK-LABEL: @test_mm256_mask_cvtpd_ps
   1739   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps.256
   1740   return _mm256_mask_cvtpd_ps(__W,__U,__A);
   1741 }
   1742 __m128 test_mm256_maskz_cvtpd_ps(__mmask8 __U, __m256d __A) {
   1743   // CHECK-LABEL: @test_mm256_maskz_cvtpd_ps
   1744   // CHECK: @llvm.x86.avx512.mask.cvtpd2ps.256
   1745   return _mm256_maskz_cvtpd_ps(__U,__A);
   1746 }
   1747 __m128i test_mm_cvtpd_epu32(__m128d __A) {
   1748   // CHECK-LABEL: @test_mm_cvtpd_epu32
   1749   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128
   1750   return _mm_cvtpd_epu32(__A);
   1751 }
   1752 __m128i test_mm_mask_cvtpd_epu32(__m128i __W, __mmask8 __U, __m128d __A) {
   1753   // CHECK-LABEL: @test_mm_mask_cvtpd_epu32
   1754   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128
   1755   return _mm_mask_cvtpd_epu32(__W,__U,__A);
   1756 }
   1757 __m128i test_mm_maskz_cvtpd_epu32(__mmask8 __U, __m128d __A) {
   1758   // CHECK-LABEL: @test_mm_maskz_cvtpd_epu32
   1759   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.128
   1760   return _mm_maskz_cvtpd_epu32(__U,__A);
   1761 }
   1762 __m128i test_mm256_cvtpd_epu32(__m256d __A) {
   1763   // CHECK-LABEL: @test_mm256_cvtpd_epu32
   1764   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256
   1765   return _mm256_cvtpd_epu32(__A);
   1766 }
   1767 __m128i test_mm256_mask_cvtpd_epu32(__m128i __W, __mmask8 __U, __m256d __A) {
   1768   // CHECK-LABEL: @test_mm256_mask_cvtpd_epu32
   1769   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256
   1770   return _mm256_mask_cvtpd_epu32(__W,__U,__A);
   1771 }
   1772 __m128i test_mm256_maskz_cvtpd_epu32(__mmask8 __U, __m256d __A) {
   1773   // CHECK-LABEL: @test_mm256_maskz_cvtpd_epu32
   1774   // CHECK: @llvm.x86.avx512.mask.cvtpd2udq.256
   1775   return _mm256_maskz_cvtpd_epu32(__U,__A);
   1776 }
   1777 __m128i test_mm_mask_cvtps_epi32(__m128i __W, __mmask8 __U, __m128 __A) {
   1778   // CHECK-LABEL: @test_mm_mask_cvtps_epi32
   1779   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.128
   1780   return _mm_mask_cvtps_epi32(__W,__U,__A);
   1781 }
   1782 __m128i test_mm_maskz_cvtps_epi32(__mmask8 __U, __m128 __A) {
   1783   // CHECK-LABEL: @test_mm_maskz_cvtps_epi32
   1784   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.128
   1785   return _mm_maskz_cvtps_epi32(__U,__A);
   1786 }
   1787 __m256i test_mm256_mask_cvtps_epi32(__m256i __W, __mmask8 __U, __m256 __A) {
   1788   // CHECK-LABEL: @test_mm256_mask_cvtps_epi32
   1789   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.256
   1790   return _mm256_mask_cvtps_epi32(__W,__U,__A);
   1791 }
   1792 __m256i test_mm256_maskz_cvtps_epi32(__mmask8 __U, __m256 __A) {
   1793   // CHECK-LABEL: @test_mm256_maskz_cvtps_epi32
   1794   // CHECK: @llvm.x86.avx512.mask.cvtps2dq.256
   1795   return _mm256_maskz_cvtps_epi32(__U,__A);
   1796 }
   1797 __m128d test_mm_mask_cvtps_pd(__m128d __W, __mmask8 __U, __m128 __A) {
   1798   // CHECK-LABEL: @test_mm_mask_cvtps_pd
   1799   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.128
   1800   return _mm_mask_cvtps_pd(__W,__U,__A);
   1801 }
   1802 __m128d test_mm_maskz_cvtps_pd(__mmask8 __U, __m128 __A) {
   1803   // CHECK-LABEL: @test_mm_maskz_cvtps_pd
   1804   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.128
   1805   return _mm_maskz_cvtps_pd(__U,__A);
   1806 }
   1807 __m256d test_mm256_mask_cvtps_pd(__m256d __W, __mmask8 __U, __m128 __A) {
   1808   // CHECK-LABEL: @test_mm256_mask_cvtps_pd
   1809   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.256
   1810   return _mm256_mask_cvtps_pd(__W,__U,__A);
   1811 }
   1812 __m256d test_mm256_maskz_cvtps_pd(__mmask8 __U, __m128 __A) {
   1813   // CHECK-LABEL: @test_mm256_maskz_cvtps_pd
   1814   // CHECK: @llvm.x86.avx512.mask.cvtps2pd.256
   1815   return _mm256_maskz_cvtps_pd(__U,__A);
   1816 }
   1817 __m128i test_mm_cvtps_epu32(__m128 __A) {
   1818   // CHECK-LABEL: @test_mm_cvtps_epu32
   1819   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128
   1820   return _mm_cvtps_epu32(__A);
   1821 }
   1822 __m128i test_mm_mask_cvtps_epu32(__m128i __W, __mmask8 __U, __m128 __A) {
   1823   // CHECK-LABEL: @test_mm_mask_cvtps_epu32
   1824   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128
   1825   return _mm_mask_cvtps_epu32(__W,__U,__A);
   1826 }
   1827 __m128i test_mm_maskz_cvtps_epu32(__mmask8 __U, __m128 __A) {
   1828   // CHECK-LABEL: @test_mm_maskz_cvtps_epu32
   1829   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.128
   1830   return _mm_maskz_cvtps_epu32(__U,__A);
   1831 }
   1832 __m256i test_mm256_cvtps_epu32(__m256 __A) {
   1833   // CHECK-LABEL: @test_mm256_cvtps_epu32
   1834   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256
   1835   return _mm256_cvtps_epu32(__A);
   1836 }
   1837 __m256i test_mm256_mask_cvtps_epu32(__m256i __W, __mmask8 __U, __m256 __A) {
   1838   // CHECK-LABEL: @test_mm256_mask_cvtps_epu32
   1839   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256
   1840   return _mm256_mask_cvtps_epu32(__W,__U,__A);
   1841 }
   1842 __m256i test_mm256_maskz_cvtps_epu32(__mmask8 __U, __m256 __A) {
   1843   // CHECK-LABEL: @test_mm256_maskz_cvtps_epu32
   1844   // CHECK: @llvm.x86.avx512.mask.cvtps2udq.256
   1845   return _mm256_maskz_cvtps_epu32(__U,__A);
   1846 }
   1847 __m128i test_mm_mask_cvttpd_epi32(__m128i __W, __mmask8 __U, __m128d __A) {
   1848   // CHECK-LABEL: @test_mm_mask_cvttpd_epi32
   1849   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.128
   1850   return _mm_mask_cvttpd_epi32(__W,__U,__A);
   1851 }
   1852 __m128i test_mm_maskz_cvttpd_epi32(__mmask8 __U, __m128d __A) {
   1853   // CHECK-LABEL: @test_mm_maskz_cvttpd_epi32
   1854   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.128
   1855   return _mm_maskz_cvttpd_epi32(__U,__A);
   1856 }
   1857 __m128i test_mm256_mask_cvttpd_epi32(__m128i __W, __mmask8 __U, __m256d __A) {
   1858   // CHECK-LABEL: @test_mm256_mask_cvttpd_epi32
   1859   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.256
   1860   return _mm256_mask_cvttpd_epi32(__W,__U,__A);
   1861 }
   1862 __m128i test_mm256_maskz_cvttpd_epi32(__mmask8 __U, __m256d __A) {
   1863   // CHECK-LABEL: @test_mm256_maskz_cvttpd_epi32
   1864   // CHECK: @llvm.x86.avx512.mask.cvttpd2dq.256
   1865   return _mm256_maskz_cvttpd_epi32(__U,__A);
   1866 }
   1867 __m128i test_mm_cvttpd_epu32(__m128d __A) {
   1868   // CHECK-LABEL: @test_mm_cvttpd_epu32
   1869   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128
   1870   return _mm_cvttpd_epu32(__A);
   1871 }
   1872 __m128i test_mm_mask_cvttpd_epu32(__m128i __W, __mmask8 __U, __m128d __A) {
   1873   // CHECK-LABEL: @test_mm_mask_cvttpd_epu32
   1874   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128
   1875   return _mm_mask_cvttpd_epu32(__W,__U,__A);
   1876 }
   1877 __m128i test_mm_maskz_cvttpd_epu32(__mmask8 __U, __m128d __A) {
   1878   // CHECK-LABEL: @test_mm_maskz_cvttpd_epu32
   1879   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.128
   1880   return _mm_maskz_cvttpd_epu32(__U,__A);
   1881 }
   1882 __m128i test_mm256_cvttpd_epu32(__m256d __A) {
   1883   // CHECK-LABEL: @test_mm256_cvttpd_epu32
   1884   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256
   1885   return _mm256_cvttpd_epu32(__A);
   1886 }
   1887 __m128i test_mm256_mask_cvttpd_epu32(__m128i __W, __mmask8 __U, __m256d __A) {
   1888   // CHECK-LABEL: @test_mm256_mask_cvttpd_epu32
   1889   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256
   1890   return _mm256_mask_cvttpd_epu32(__W,__U,__A);
   1891 }
   1892 __m128i test_mm256_maskz_cvttpd_epu32(__mmask8 __U, __m256d __A) {
   1893   // CHECK-LABEL: @test_mm256_maskz_cvttpd_epu32
   1894   // CHECK: @llvm.x86.avx512.mask.cvttpd2udq.256
   1895   return _mm256_maskz_cvttpd_epu32(__U,__A);
   1896 }
   1897 __m128i test_mm_mask_cvttps_epi32(__m128i __W, __mmask8 __U, __m128 __A) {
   1898   // CHECK-LABEL: @test_mm_mask_cvttps_epi32
   1899   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.128
   1900   return _mm_mask_cvttps_epi32(__W,__U,__A);
   1901 }
   1902 __m128i test_mm_maskz_cvttps_epi32(__mmask8 __U, __m128 __A) {
   1903   // CHECK-LABEL: @test_mm_maskz_cvttps_epi32
   1904   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.128
   1905   return _mm_maskz_cvttps_epi32(__U,__A);
   1906 }
   1907 __m256i test_mm256_mask_cvttps_epi32(__m256i __W, __mmask8 __U, __m256 __A) {
   1908   // CHECK-LABEL: @test_mm256_mask_cvttps_epi32
   1909   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.256
   1910   return _mm256_mask_cvttps_epi32(__W,__U,__A);
   1911 }
   1912 __m256i test_mm256_maskz_cvttps_epi32(__mmask8 __U, __m256 __A) {
   1913   // CHECK-LABEL: @test_mm256_maskz_cvttps_epi32
   1914   // CHECK: @llvm.x86.avx512.mask.cvttps2dq.256
   1915   return _mm256_maskz_cvttps_epi32(__U,__A);
   1916 }
   1917 __m128i test_mm_cvttps_epu32(__m128 __A) {
   1918   // CHECK-LABEL: @test_mm_cvttps_epu32
   1919   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128
   1920   return _mm_cvttps_epu32(__A);
   1921 }
   1922 __m128i test_mm_mask_cvttps_epu32(__m128i __W, __mmask8 __U, __m128 __A) {
   1923   // CHECK-LABEL: @test_mm_mask_cvttps_epu32
   1924   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128
   1925   return _mm_mask_cvttps_epu32(__W,__U,__A);
   1926 }
   1927 __m128i test_mm_maskz_cvttps_epu32(__mmask8 __U, __m128 __A) {
   1928   // CHECK-LABEL: @test_mm_maskz_cvttps_epu32
   1929   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.128
   1930   return _mm_maskz_cvttps_epu32(__U,__A);
   1931 }
   1932 __m256i test_mm256_cvttps_epu32(__m256 __A) {
   1933   // CHECK-LABEL: @test_mm256_cvttps_epu32
   1934   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256
   1935   return _mm256_cvttps_epu32(__A);
   1936 }
   1937 __m256i test_mm256_mask_cvttps_epu32(__m256i __W, __mmask8 __U, __m256 __A) {
   1938   // CHECK-LABEL: @test_mm256_mask_cvttps_epu32
   1939   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256
   1940   return _mm256_mask_cvttps_epu32(__W,__U,__A);
   1941 }
   1942 __m256i test_mm256_maskz_cvttps_epu32(__mmask8 __U, __m256 __A) {
   1943   // CHECK-LABEL: @test_mm256_maskz_cvttps_epu32
   1944   // CHECK: @llvm.x86.avx512.mask.cvttps2udq.256
   1945   return _mm256_maskz_cvttps_epu32(__U,__A);
   1946 }
   1947 __m128d test_mm_cvtepu32_pd(__m128i __A) {
   1948   // CHECK-LABEL: @test_mm_cvtepu32_pd
   1949   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128
   1950   return _mm_cvtepu32_pd(__A);
   1951 }
   1952 __m128d test_mm_mask_cvtepu32_pd(__m128d __W, __mmask8 __U, __m128i __A) {
   1953   // CHECK-LABEL: @test_mm_mask_cvtepu32_pd
   1954   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128
   1955   return _mm_mask_cvtepu32_pd(__W,__U,__A);
   1956 }
   1957 __m128d test_mm_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) {
   1958   // CHECK-LABEL: @test_mm_maskz_cvtepu32_pd
   1959   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.128
   1960   return _mm_maskz_cvtepu32_pd(__U,__A);
   1961 }
   1962 __m256d test_mm256_cvtepu32_pd(__m128i __A) {
   1963   // CHECK-LABEL: @test_mm256_cvtepu32_pd
   1964   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256
   1965   return _mm256_cvtepu32_pd(__A);
   1966 }
   1967 __m256d test_mm256_mask_cvtepu32_pd(__m256d __W, __mmask8 __U, __m128i __A) {
   1968   // CHECK-LABEL: @test_mm256_mask_cvtepu32_pd
   1969   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256
   1970   return _mm256_mask_cvtepu32_pd(__W,__U,__A);
   1971 }
   1972 __m256d test_mm256_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) {
   1973   // CHECK-LABEL: @test_mm256_maskz_cvtepu32_pd
   1974   // CHECK: @llvm.x86.avx512.mask.cvtudq2pd.256
   1975   return _mm256_maskz_cvtepu32_pd(__U,__A);
   1976 }
   1977 __m128 test_mm_cvtepu32_ps(__m128i __A) {
   1978   // CHECK-LABEL: @test_mm_cvtepu32_ps
   1979   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128
   1980   return _mm_cvtepu32_ps(__A);
   1981 }
   1982 __m128 test_mm_mask_cvtepu32_ps(__m128 __W, __mmask8 __U, __m128i __A) {
   1983   // CHECK-LABEL: @test_mm_mask_cvtepu32_ps
   1984   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128
   1985   return _mm_mask_cvtepu32_ps(__W,__U,__A);
   1986 }
   1987 __m128 test_mm_maskz_cvtepu32_ps(__mmask8 __U, __m128i __A) {
   1988   // CHECK-LABEL: @test_mm_maskz_cvtepu32_ps
   1989   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.128
   1990   return _mm_maskz_cvtepu32_ps(__U,__A);
   1991 }
   1992 __m256 test_mm256_cvtepu32_ps(__m256i __A) {
   1993   // CHECK-LABEL: @test_mm256_cvtepu32_ps
   1994   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256
   1995   return _mm256_cvtepu32_ps(__A);
   1996 }
   1997 __m256 test_mm256_mask_cvtepu32_ps(__m256 __W, __mmask8 __U, __m256i __A) {
   1998   // CHECK-LABEL: @test_mm256_mask_cvtepu32_ps
   1999   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256
   2000   return _mm256_mask_cvtepu32_ps(__W,__U,__A);
   2001 }
   2002 __m256 test_mm256_maskz_cvtepu32_ps(__mmask8 __U, __m256i __A) {
   2003   // CHECK-LABEL: @test_mm256_maskz_cvtepu32_ps
   2004   // CHECK: @llvm.x86.avx512.mask.cvtudq2ps.256
   2005   return _mm256_maskz_cvtepu32_ps(__U,__A);
   2006 }
   2007 __m128d test_mm_mask_div_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
   2008   // CHECK-LABEL: @test_mm_mask_div_pd
   2009   // CHECK: @llvm.x86.avx512.mask.div.pd.128
   2010   return _mm_mask_div_pd(__W,__U,__A,__B);
   2011 }
   2012 __m128d test_mm_maskz_div_pd(__mmask8 __U, __m128d __A, __m128d __B) {
   2013   // CHECK-LABEL: @test_mm_maskz_div_pd
   2014   // CHECK: @llvm.x86.avx512.mask.div.pd.128
   2015   return _mm_maskz_div_pd(__U,__A,__B);
   2016 }
   2017 __m256d test_mm256_mask_div_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
   2018   // CHECK-LABEL: @test_mm256_mask_div_pd
   2019   // CHECK: @llvm.x86.avx512.mask.div.pd.256
   2020   return _mm256_mask_div_pd(__W,__U,__A,__B);
   2021 }
   2022 __m256d test_mm256_maskz_div_pd(__mmask8 __U, __m256d __A, __m256d __B) {
   2023   // CHECK-LABEL: @test_mm256_maskz_div_pd
   2024   // CHECK: @llvm.x86.avx512.mask.div.pd.256
   2025   return _mm256_maskz_div_pd(__U,__A,__B);
   2026 }
   2027 __m128 test_mm_mask_div_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
   2028   // CHECK-LABEL: @test_mm_mask_div_ps
   2029   // CHECK: @llvm.x86.avx512.mask.div.ps.128
   2030   return _mm_mask_div_ps(__W,__U,__A,__B);
   2031 }
   2032 __m128 test_mm_maskz_div_ps(__mmask8 __U, __m128 __A, __m128 __B) {
   2033   // CHECK-LABEL: @test_mm_maskz_div_ps
   2034   // CHECK: @llvm.x86.avx512.mask.div.ps.128
   2035   return _mm_maskz_div_ps(__U,__A,__B);
   2036 }
   2037 __m256 test_mm256_mask_div_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
   2038   // CHECK-LABEL: @test_mm256_mask_div_ps
   2039   // CHECK: @llvm.x86.avx512.mask.div.ps.256
   2040   return _mm256_mask_div_ps(__W,__U,__A,__B);
   2041 }
   2042 __m256 test_mm256_maskz_div_ps(__mmask8 __U, __m256 __A, __m256 __B) {
   2043   // CHECK-LABEL: @test_mm256_maskz_div_ps
   2044   // CHECK: @llvm.x86.avx512.mask.div.ps.256
   2045   return _mm256_maskz_div_ps(__U,__A,__B);
   2046 }
   2047 __m128d test_mm_mask_expand_pd(__m128d __W, __mmask8 __U, __m128d __A) {
   2048   // CHECK-LABEL: @test_mm_mask_expand_pd
   2049   // CHECK: @llvm.x86.avx512.mask.expand.pd.128
   2050   return _mm_mask_expand_pd(__W,__U,__A);
   2051 }
   2052 __m128d test_mm_maskz_expand_pd(__mmask8 __U, __m128d __A) {
   2053   // CHECK-LABEL: @test_mm_maskz_expand_pd
   2054   // CHECK: @llvm.x86.avx512.mask.expand.pd.128
   2055   return _mm_maskz_expand_pd(__U,__A);
   2056 }
   2057 __m256d test_mm256_mask_expand_pd(__m256d __W, __mmask8 __U, __m256d __A) {
   2058   // CHECK-LABEL: @test_mm256_mask_expand_pd
   2059   // CHECK: @llvm.x86.avx512.mask.expand.pd.256
   2060   return _mm256_mask_expand_pd(__W,__U,__A);
   2061 }
   2062 __m256d test_mm256_maskz_expand_pd(__mmask8 __U, __m256d __A) {
   2063   // CHECK-LABEL: @test_mm256_maskz_expand_pd
   2064   // CHECK: @llvm.x86.avx512.mask.expand.pd.256
   2065   return _mm256_maskz_expand_pd(__U,__A);
   2066 }
   2067 __m128i test_mm_mask_expand_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
   2068   // CHECK-LABEL: @test_mm_mask_expand_epi64
   2069   // CHECK: @llvm.x86.avx512.mask.expand.q.128
   2070   return _mm_mask_expand_epi64(__W,__U,__A);
   2071 }
   2072 __m128i test_mm_maskz_expand_epi64(__mmask8 __U, __m128i __A) {
   2073   // CHECK-LABEL: @test_mm_maskz_expand_epi64
   2074   // CHECK: @llvm.x86.avx512.mask.expand.q.128
   2075   return _mm_maskz_expand_epi64(__U,__A);
   2076 }
   2077 __m256i test_mm256_mask_expand_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
   2078   // CHECK-LABEL: @test_mm256_mask_expand_epi64
   2079   // CHECK: @llvm.x86.avx512.mask.expand.q.256
   2080   return _mm256_mask_expand_epi64(__W,__U,__A);
   2081 }
   2082 __m256i test_mm256_maskz_expand_epi64(__mmask8 __U, __m256i __A) {
   2083   // CHECK-LABEL: @test_mm256_maskz_expand_epi64
   2084   // CHECK: @llvm.x86.avx512.mask.expand.q.256
   2085   return _mm256_maskz_expand_epi64(__U,__A);
   2086 }
   2087 __m128d test_mm_mask_expandloadu_pd(__m128d __W, __mmask8 __U, void const *__P) {
   2088   // CHECK-LABEL: @test_mm_mask_expandloadu_pd
   2089   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.128
   2090   return _mm_mask_expandloadu_pd(__W,__U,__P);
   2091 }
   2092 __m128d test_mm_maskz_expandloadu_pd(__mmask8 __U, void const *__P) {
   2093   // CHECK-LABEL: @test_mm_maskz_expandloadu_pd
   2094   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.128
   2095   return _mm_maskz_expandloadu_pd(__U,__P);
   2096 }
   2097 __m256d test_mm256_mask_expandloadu_pd(__m256d __W, __mmask8 __U, void const *__P) {
   2098   // CHECK-LABEL: @test_mm256_mask_expandloadu_pd
   2099   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.256
   2100   return _mm256_mask_expandloadu_pd(__W,__U,__P);
   2101 }
   2102 __m256d test_mm256_maskz_expandloadu_pd(__mmask8 __U, void const *__P) {
   2103   // CHECK-LABEL: @test_mm256_maskz_expandloadu_pd
   2104   // CHECK: @llvm.x86.avx512.mask.expand.load.pd.256
   2105   return _mm256_maskz_expandloadu_pd(__U,__P);
   2106 }
   2107 __m128i test_mm_mask_expandloadu_epi64(__m128i __W, __mmask8 __U, void const *__P) {
   2108   // CHECK-LABEL: @test_mm_mask_expandloadu_epi64
   2109   // CHECK: @llvm.x86.avx512.mask.expand.load.q.128
   2110   return _mm_mask_expandloadu_epi64(__W,__U,__P);
   2111 }
   2112 __m128i test_mm_maskz_expandloadu_epi64(__mmask8 __U, void const *__P) {
   2113   // CHECK-LABEL: @test_mm_maskz_expandloadu_epi64
   2114   // CHECK: @llvm.x86.avx512.mask.expand.load.q.128
   2115   return _mm_maskz_expandloadu_epi64(__U,__P);
   2116 }
   2117 __m256i test_mm256_mask_expandloadu_epi64(__m256i __W, __mmask8 __U,   void const *__P) {
   2118   // CHECK-LABEL: @test_mm256_mask_expandloadu_epi64
   2119   // CHECK: @llvm.x86.avx512.mask.expand.load.q.256
   2120   return _mm256_mask_expandloadu_epi64(__W,__U,__P);
   2121 }
   2122 __m256i test_mm256_maskz_expandloadu_epi64(__mmask8 __U, void const *__P) {
   2123   // CHECK-LABEL: @test_mm256_maskz_expandloadu_epi64
   2124   // CHECK: @llvm.x86.avx512.mask.expand.load.q.256
   2125   return _mm256_maskz_expandloadu_epi64(__U,__P);
   2126 }
   2127 __m128 test_mm_mask_expandloadu_ps(__m128 __W, __mmask8 __U, void const *__P) {
   2128   // CHECK-LABEL: @test_mm_mask_expandloadu_ps
   2129   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.128
   2130   return _mm_mask_expandloadu_ps(__W,__U,__P);
   2131 }
   2132 __m128 test_mm_maskz_expandloadu_ps(__mmask8 __U, void const *__P) {
   2133   // CHECK-LABEL: @test_mm_maskz_expandloadu_ps
   2134   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.128
   2135   return _mm_maskz_expandloadu_ps(__U,__P);
   2136 }
   2137 __m256 test_mm256_mask_expandloadu_ps(__m256 __W, __mmask8 __U, void const *__P) {
   2138   // CHECK-LABEL: @test_mm256_mask_expandloadu_ps
   2139   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.256
   2140   return _mm256_mask_expandloadu_ps(__W,__U,__P);
   2141 }
   2142 __m256 test_mm256_maskz_expandloadu_ps(__mmask8 __U, void const *__P) {
   2143   // CHECK-LABEL: @test_mm256_maskz_expandloadu_ps
   2144   // CHECK: @llvm.x86.avx512.mask.expand.load.ps.256
   2145   return _mm256_maskz_expandloadu_ps(__U,__P);
   2146 }
   2147 __m128i test_mm_mask_expandloadu_epi32(__m128i __W, __mmask8 __U, void const *__P) {
   2148   // CHECK-LABEL: @test_mm_mask_expandloadu_epi32
   2149   // CHECK: @llvm.x86.avx512.mask.expand.load.d.128
   2150   return _mm_mask_expandloadu_epi32(__W,__U,__P);
   2151 }
   2152 __m128i test_mm_maskz_expandloadu_epi32(__mmask8 __U, void const *__P) {
   2153   // CHECK-LABEL: @test_mm_maskz_expandloadu_epi32
   2154   // CHECK: @llvm.x86.avx512.mask.expand.load.d.128
   2155   return _mm_maskz_expandloadu_epi32(__U,__P);
   2156 }
   2157 __m256i test_mm256_mask_expandloadu_epi32(__m256i __W, __mmask8 __U,   void const *__P) {
   2158   // CHECK-LABEL: @test_mm256_mask_expandloadu_epi32
   2159   // CHECK: @llvm.x86.avx512.mask.expand.load.d.256
   2160   return _mm256_mask_expandloadu_epi32(__W,__U,__P);
   2161 }
   2162 __m256i test_mm256_maskz_expandloadu_epi32(__mmask8 __U, void const *__P) {
   2163   // CHECK-LABEL: @test_mm256_maskz_expandloadu_epi32
   2164   // CHECK: @llvm.x86.avx512.mask.expand.load.d.256
   2165   return _mm256_maskz_expandloadu_epi32(__U,__P);
   2166 }
   2167 __m128 test_mm_mask_expand_ps(__m128 __W, __mmask8 __U, __m128 __A) {
   2168   // CHECK-LABEL: @test_mm_mask_expand_ps
   2169   // CHECK: @llvm.x86.avx512.mask.expand.ps.128
   2170   return _mm_mask_expand_ps(__W,__U,__A);
   2171 }
   2172 __m128 test_mm_maskz_expand_ps(__mmask8 __U, __m128 __A) {
   2173   // CHECK-LABEL: @test_mm_maskz_expand_ps
   2174   // CHECK: @llvm.x86.avx512.mask.expand.ps.128
   2175   return _mm_maskz_expand_ps(__U,__A);
   2176 }
   2177 __m256 test_mm256_mask_expand_ps(__m256 __W, __mmask8 __U, __m256 __A) {
   2178   // CHECK-LABEL: @test_mm256_mask_expand_ps
   2179   // CHECK: @llvm.x86.avx512.mask.expand.ps.256
   2180   return _mm256_mask_expand_ps(__W,__U,__A);
   2181 }
   2182 __m256 test_mm256_maskz_expand_ps(__mmask8 __U, __m256 __A) {
   2183   // CHECK-LABEL: @test_mm256_maskz_expand_ps
   2184   // CHECK: @llvm.x86.avx512.mask.expand.ps.256
   2185   return _mm256_maskz_expand_ps(__U,__A);
   2186 }
   2187 __m128i test_mm_mask_expand_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
   2188   // CHECK-LABEL: @test_mm_mask_expand_epi32
   2189   // CHECK: @llvm.x86.avx512.mask.expand.d.128
   2190   return _mm_mask_expand_epi32(__W,__U,__A);
   2191 }
   2192 __m128i test_mm_maskz_expand_epi32(__mmask8 __U, __m128i __A) {
   2193   // CHECK-LABEL: @test_mm_maskz_expand_epi32
   2194   // CHECK: @llvm.x86.avx512.mask.expand.d.128
   2195   return _mm_maskz_expand_epi32(__U,__A);
   2196 }
   2197 __m256i test_mm256_mask_expand_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
   2198   // CHECK-LABEL: @test_mm256_mask_expand_epi32
   2199   // CHECK: @llvm.x86.avx512.mask.expand.d.256
   2200   return _mm256_mask_expand_epi32(__W,__U,__A);
   2201 }
   2202 __m256i test_mm256_maskz_expand_epi32(__mmask8 __U, __m256i __A) {
   2203   // CHECK-LABEL: @test_mm256_maskz_expand_epi32
   2204   // CHECK: @llvm.x86.avx512.mask.expand.d.256
   2205   return _mm256_maskz_expand_epi32(__U,__A);
   2206 }
   2207 __m128d test_mm_getexp_pd(__m128d __A) {
   2208   // CHECK-LABEL: @test_mm_getexp_pd
   2209   // CHECK: @llvm.x86.avx512.mask.getexp.pd.128
   2210   return _mm_getexp_pd(__A);
   2211 }
   2212 __m128d test_mm_mask_getexp_pd(__m128d __W, __mmask8 __U, __m128d __A) {
   2213   // CHECK-LABEL: @test_mm_mask_getexp_pd
   2214   // CHECK: @llvm.x86.avx512.mask.getexp.pd.128
   2215   return _mm_mask_getexp_pd(__W,__U,__A);
   2216 }
   2217 __m128d test_mm_maskz_getexp_pd(__mmask8 __U, __m128d __A) {
   2218   // CHECK-LABEL: @test_mm_maskz_getexp_pd
   2219   // CHECK: @llvm.x86.avx512.mask.getexp.pd.128
   2220   return _mm_maskz_getexp_pd(__U,__A);
   2221 }
   2222 __m256d test_mm256_getexp_pd(__m256d __A) {
   2223   // CHECK-LABEL: @test_mm256_getexp_pd
   2224   // CHECK: @llvm.x86.avx512.mask.getexp.pd.256
   2225   return _mm256_getexp_pd(__A);
   2226 }
   2227 __m256d test_mm256_mask_getexp_pd(__m256d __W, __mmask8 __U, __m256d __A) {
   2228   // CHECK-LABEL: @test_mm256_mask_getexp_pd
   2229   // CHECK: @llvm.x86.avx512.mask.getexp.pd.256
   2230   return _mm256_mask_getexp_pd(__W,__U,__A);
   2231 }
   2232 __m256d test_mm256_maskz_getexp_pd(__mmask8 __U, __m256d __A) {
   2233   // CHECK-LABEL: @test_mm256_maskz_getexp_pd
   2234   // CHECK: @llvm.x86.avx512.mask.getexp.pd.256
   2235   return _mm256_maskz_getexp_pd(__U,__A);
   2236 }
   2237 __m128 test_mm_getexp_ps(__m128 __A) {
   2238   // CHECK-LABEL: @test_mm_getexp_ps
   2239   // CHECK: @llvm.x86.avx512.mask.getexp.ps.128
   2240   return _mm_getexp_ps(__A);
   2241 }
   2242 __m128 test_mm_mask_getexp_ps(__m128 __W, __mmask8 __U, __m128 __A) {
   2243   // CHECK-LABEL: @test_mm_mask_getexp_ps
   2244   // CHECK: @llvm.x86.avx512.mask.getexp.ps.128
   2245   return _mm_mask_getexp_ps(__W,__U,__A);
   2246 }
   2247 __m128 test_mm_maskz_getexp_ps(__mmask8 __U, __m128 __A) {
   2248   // CHECK-LABEL: @test_mm_maskz_getexp_ps
   2249   // CHECK: @llvm.x86.avx512.mask.getexp.ps.128
   2250   return _mm_maskz_getexp_ps(__U,__A);
   2251 }
   2252 __m256 test_mm256_getexp_ps(__m256 __A) {
   2253   // CHECK-LABEL: @test_mm256_getexp_ps
   2254   // CHECK: @llvm.x86.avx512.mask.getexp.ps.256
   2255   return _mm256_getexp_ps(__A);
   2256 }
   2257 __m256 test_mm256_mask_getexp_ps(__m256 __W, __mmask8 __U, __m256 __A) {
   2258   // CHECK-LABEL: @test_mm256_mask_getexp_ps
   2259   // CHECK: @llvm.x86.avx512.mask.getexp.ps.256
   2260   return _mm256_mask_getexp_ps(__W,__U,__A);
   2261 }
   2262 __m256 test_mm256_maskz_getexp_ps(__mmask8 __U, __m256 __A) {
   2263   // CHECK-LABEL: @test_mm256_maskz_getexp_ps
   2264   // CHECK: @llvm.x86.avx512.mask.getexp.ps.256
   2265   return _mm256_maskz_getexp_ps(__U,__A);
   2266 }
   2267 __m128d test_mm_mask_max_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
   2268   // CHECK-LABEL: @test_mm_mask_max_pd
   2269   // CHECK: @llvm.x86.avx512.mask.max.pd
   2270   return _mm_mask_max_pd(__W,__U,__A,__B);
   2271 }
   2272 __m128d test_mm_maskz_max_pd(__mmask8 __U, __m128d __A, __m128d __B) {
   2273   // CHECK-LABEL: @test_mm_maskz_max_pd
   2274   // CHECK: @llvm.x86.avx512.mask.max.pd
   2275   return _mm_maskz_max_pd(__U,__A,__B);
   2276 }
   2277 __m256d test_mm256_mask_max_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
   2278   // CHECK-LABEL: @test_mm256_mask_max_pd
   2279   // CHECK: @llvm.x86.avx512.mask.max.pd.256
   2280   return _mm256_mask_max_pd(__W,__U,__A,__B);
   2281 }
   2282 __m256d test_mm256_maskz_max_pd(__mmask8 __U, __m256d __A, __m256d __B) {
   2283   // CHECK-LABEL: @test_mm256_maskz_max_pd
   2284   // CHECK: @llvm.x86.avx512.mask.max.pd.256
   2285   return _mm256_maskz_max_pd(__U,__A,__B);
   2286 }
   2287 __m128 test_mm_mask_max_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
   2288   // CHECK-LABEL: @test_mm_mask_max_ps
   2289   // CHECK: @llvm.x86.avx512.mask.max.ps
   2290   return _mm_mask_max_ps(__W,__U,__A,__B);
   2291 }
   2292 __m128 test_mm_maskz_max_ps(__mmask8 __U, __m128 __A, __m128 __B) {
   2293   // CHECK-LABEL: @test_mm_maskz_max_ps
   2294   // CHECK: @llvm.x86.avx512.mask.max.ps
   2295   return _mm_maskz_max_ps(__U,__A,__B);
   2296 }
   2297 __m256 test_mm256_mask_max_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
   2298   // CHECK-LABEL: @test_mm256_mask_max_ps
   2299   // CHECK: @llvm.x86.avx512.mask.max.ps.256
   2300   return _mm256_mask_max_ps(__W,__U,__A,__B);
   2301 }
   2302 __m256 test_mm256_maskz_max_ps(__mmask8 __U, __m256 __A, __m256 __B) {
   2303   // CHECK-LABEL: @test_mm256_maskz_max_ps
   2304   // CHECK: @llvm.x86.avx512.mask.max.ps.256
   2305   return _mm256_maskz_max_ps(__U,__A,__B);
   2306 }
   2307 __m128d test_mm_mask_min_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
   2308   // CHECK-LABEL: @test_mm_mask_min_pd
   2309   // CHECK: @llvm.x86.avx512.mask.min.pd
   2310   return _mm_mask_min_pd(__W,__U,__A,__B);
   2311 }
   2312 __m128d test_mm_maskz_min_pd(__mmask8 __U, __m128d __A, __m128d __B) {
   2313   // CHECK-LABEL: @test_mm_maskz_min_pd
   2314   // CHECK: @llvm.x86.avx512.mask.min.pd
   2315   return _mm_maskz_min_pd(__U,__A,__B);
   2316 }
   2317 __m256d test_mm256_mask_min_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
   2318   // CHECK-LABEL: @test_mm256_mask_min_pd
   2319   // CHECK: @llvm.x86.avx512.mask.min.pd.256
   2320   return _mm256_mask_min_pd(__W,__U,__A,__B);
   2321 }
   2322 __m256d test_mm256_maskz_min_pd(__mmask8 __U, __m256d __A, __m256d __B) {
   2323   // CHECK-LABEL: @test_mm256_maskz_min_pd
   2324   // CHECK: @llvm.x86.avx512.mask.min.pd.256
   2325   return _mm256_maskz_min_pd(__U,__A,__B);
   2326 }
   2327 __m128 test_mm_mask_min_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
   2328   // CHECK-LABEL: @test_mm_mask_min_ps
   2329   // CHECK: @llvm.x86.avx512.mask.min.ps
   2330   return _mm_mask_min_ps(__W,__U,__A,__B);
   2331 }
   2332 __m128 test_mm_maskz_min_ps(__mmask8 __U, __m128 __A, __m128 __B) {
   2333   // CHECK-LABEL: @test_mm_maskz_min_ps
   2334   // CHECK: @llvm.x86.avx512.mask.min.ps
   2335   return _mm_maskz_min_ps(__U,__A,__B);
   2336 }
   2337 __m256 test_mm256_mask_min_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
   2338   // CHECK-LABEL: @test_mm256_mask_min_ps
   2339   // CHECK: @llvm.x86.avx512.mask.min.ps.256
   2340   return _mm256_mask_min_ps(__W,__U,__A,__B);
   2341 }
   2342 __m256 test_mm256_maskz_min_ps(__mmask8 __U, __m256 __A, __m256 __B) {
   2343   // CHECK-LABEL: @test_mm256_maskz_min_ps
   2344   // CHECK: @llvm.x86.avx512.mask.min.ps.256
   2345   return _mm256_maskz_min_ps(__U,__A,__B);
   2346 }
   2347 __m128d test_mm_mask_mul_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
   2348   // CHECK-LABEL: @test_mm_mask_mul_pd
   2349   // CHECK: @llvm.x86.avx512.mask.mul.pd
   2350   return _mm_mask_mul_pd(__W,__U,__A,__B);
   2351 }
   2352 __m128d test_mm_maskz_mul_pd(__mmask8 __U, __m128d __A, __m128d __B) {
   2353   // CHECK-LABEL: @test_mm_maskz_mul_pd
   2354   // CHECK: @llvm.x86.avx512.mask.mul.pd
   2355   return _mm_maskz_mul_pd(__U,__A,__B);
   2356 }
   2357 __m256d test_mm256_mask_mul_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
   2358   // CHECK-LABEL: @test_mm256_mask_mul_pd
   2359   // CHECK: @llvm.x86.avx512.mask.mul.pd.256
   2360   return _mm256_mask_mul_pd(__W,__U,__A,__B);
   2361 }
   2362 __m256d test_mm256_maskz_mul_pd(__mmask8 __U, __m256d __A, __m256d __B) {
   2363   // CHECK-LABEL: @test_mm256_maskz_mul_pd
   2364   // CHECK: @llvm.x86.avx512.mask.mul.pd.256
   2365   return _mm256_maskz_mul_pd(__U,__A,__B);
   2366 }
   2367 __m128 test_mm_mask_mul_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
   2368   // CHECK-LABEL: @test_mm_mask_mul_ps
   2369   // CHECK: @llvm.x86.avx512.mask.mul.ps
   2370   return _mm_mask_mul_ps(__W,__U,__A,__B);
   2371 }
   2372 __m128 test_mm_maskz_mul_ps(__mmask8 __U, __m128 __A, __m128 __B) {
   2373   // CHECK-LABEL: @test_mm_maskz_mul_ps
   2374   // CHECK: @llvm.x86.avx512.mask.mul.ps
   2375   return _mm_maskz_mul_ps(__U,__A,__B);
   2376 }
   2377 __m256 test_mm256_mask_mul_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
   2378   // CHECK-LABEL: @test_mm256_mask_mul_ps
   2379   // CHECK: @llvm.x86.avx512.mask.mul.ps.256
   2380   return _mm256_mask_mul_ps(__W,__U,__A,__B);
   2381 }
   2382 __m256 test_mm256_maskz_mul_ps(__mmask8 __U, __m256 __A, __m256 __B) {
   2383   // CHECK-LABEL: @test_mm256_maskz_mul_ps
   2384   // CHECK: @llvm.x86.avx512.mask.mul.ps.256
   2385   return _mm256_maskz_mul_ps(__U,__A,__B);
   2386 }
   2387 __m128i test_mm_mask_abs_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
   2388   // CHECK-LABEL: @test_mm_mask_abs_epi32
   2389   // CHECK: @llvm.x86.avx512.mask.pabs.d.128
   2390   return _mm_mask_abs_epi32(__W,__U,__A);
   2391 }
   2392 __m128i test_mm_maskz_abs_epi32(__mmask8 __U, __m128i __A) {
   2393   // CHECK-LABEL: @test_mm_maskz_abs_epi32
   2394   // CHECK: @llvm.x86.avx512.mask.pabs.d.128
   2395   return _mm_maskz_abs_epi32(__U,__A);
   2396 }
   2397 __m256i test_mm256_mask_abs_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
   2398   // CHECK-LABEL: @test_mm256_mask_abs_epi32
   2399   // CHECK: @llvm.x86.avx512.mask.pabs.d.256
   2400   return _mm256_mask_abs_epi32(__W,__U,__A);
   2401 }
   2402 __m256i test_mm256_maskz_abs_epi32(__mmask8 __U, __m256i __A) {
   2403   // CHECK-LABEL: @test_mm256_maskz_abs_epi32
   2404   // CHECK: @llvm.x86.avx512.mask.pabs.d.256
   2405   return _mm256_maskz_abs_epi32(__U,__A);
   2406 }
   2407 __m128i test_mm_abs_epi64(__m128i __A) {
   2408   // CHECK-LABEL: @test_mm_abs_epi64
   2409   // CHECK: @llvm.x86.avx512.mask.pabs.q.128
   2410   return _mm_abs_epi64(__A);
   2411 }
   2412 __m128i test_mm_mask_abs_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
   2413   // CHECK-LABEL: @test_mm_mask_abs_epi64
   2414   // CHECK: @llvm.x86.avx512.mask.pabs.q.128
   2415   return _mm_mask_abs_epi64(__W,__U,__A);
   2416 }
   2417 __m128i test_mm_maskz_abs_epi64(__mmask8 __U, __m128i __A) {
   2418   // CHECK-LABEL: @test_mm_maskz_abs_epi64
   2419   // CHECK: @llvm.x86.avx512.mask.pabs.q.128
   2420   return _mm_maskz_abs_epi64(__U,__A);
   2421 }
   2422 __m256i test_mm256_abs_epi64(__m256i __A) {
   2423   // CHECK-LABEL: @test_mm256_abs_epi64
   2424   // CHECK: @llvm.x86.avx512.mask.pabs.q.256
   2425   return _mm256_abs_epi64(__A);
   2426 }
   2427 __m256i test_mm256_mask_abs_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
   2428   // CHECK-LABEL: @test_mm256_mask_abs_epi64
   2429   // CHECK: @llvm.x86.avx512.mask.pabs.q.256
   2430   return _mm256_mask_abs_epi64(__W,__U,__A);
   2431 }
   2432 __m256i test_mm256_maskz_abs_epi64(__mmask8 __U, __m256i __A) {
   2433   // CHECK-LABEL: @test_mm256_maskz_abs_epi64
   2434   // CHECK: @llvm.x86.avx512.mask.pabs.q.256
   2435   return _mm256_maskz_abs_epi64(__U,__A);
   2436 }
   2437 __m128i test_mm_maskz_max_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
   2438   // CHECK-LABEL: @test_mm_maskz_max_epi32
   2439   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.128
   2440   return _mm_maskz_max_epi32(__M,__A,__B);
   2441 }
   2442 __m128i test_mm_mask_max_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2443   // CHECK-LABEL: @test_mm_mask_max_epi32
   2444   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.128
   2445   return _mm_mask_max_epi32(__W,__M,__A,__B);
   2446 }
   2447 __m256i test_mm256_maskz_max_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
   2448   // CHECK-LABEL: @test_mm256_maskz_max_epi32
   2449   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.256
   2450   return _mm256_maskz_max_epi32(__M,__A,__B);
   2451 }
   2452 __m256i test_mm256_mask_max_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2453   // CHECK-LABEL: @test_mm256_mask_max_epi32
   2454   // CHECK: @llvm.x86.avx512.mask.pmaxs.d.256
   2455   return _mm256_mask_max_epi32(__W,__M,__A,__B);
   2456 }
   2457 __m128i test_mm_maskz_max_epi64(__mmask8 __M, __m128i __A, __m128i __B) {
   2458   // CHECK-LABEL: @test_mm_maskz_max_epi64
   2459   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.128
   2460   return _mm_maskz_max_epi64(__M,__A,__B);
   2461 }
   2462 __m128i test_mm_mask_max_epi64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2463   // CHECK-LABEL: @test_mm_mask_max_epi64
   2464   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.128
   2465   return _mm_mask_max_epi64(__W,__M,__A,__B);
   2466 }
   2467 __m128i test_mm_max_epi64(__m128i __A, __m128i __B) {
   2468   // CHECK-LABEL: @test_mm_max_epi64
   2469   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.128
   2470   return _mm_max_epi64(__A,__B);
   2471 }
   2472 __m256i test_mm256_maskz_max_epi64(__mmask8 __M, __m256i __A, __m256i __B) {
   2473   // CHECK-LABEL: @test_mm256_maskz_max_epi64
   2474   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.256
   2475   return _mm256_maskz_max_epi64(__M,__A,__B);
   2476 }
   2477 __m256i test_mm256_mask_max_epi64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2478   // CHECK-LABEL: @test_mm256_mask_max_epi64
   2479   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.256
   2480   return _mm256_mask_max_epi64(__W,__M,__A,__B);
   2481 }
   2482 __m256i test_mm256_max_epi64(__m256i __A, __m256i __B) {
   2483   // CHECK-LABEL: @test_mm256_max_epi64
   2484   // CHECK: @llvm.x86.avx512.mask.pmaxs.q.256
   2485   return _mm256_max_epi64(__A,__B);
   2486 }
   2487 __m128i test_mm_maskz_max_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
   2488   // CHECK-LABEL: @test_mm_maskz_max_epu32
   2489   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.128
   2490   return _mm_maskz_max_epu32(__M,__A,__B);
   2491 }
   2492 __m128i test_mm_mask_max_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2493   // CHECK-LABEL: @test_mm_mask_max_epu32
   2494   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.128
   2495   return _mm_mask_max_epu32(__W,__M,__A,__B);
   2496 }
   2497 __m256i test_mm256_maskz_max_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
   2498   // CHECK-LABEL: @test_mm256_maskz_max_epu32
   2499   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.256
   2500   return _mm256_maskz_max_epu32(__M,__A,__B);
   2501 }
   2502 __m256i test_mm256_mask_max_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2503   // CHECK-LABEL: @test_mm256_mask_max_epu32
   2504   // CHECK: @llvm.x86.avx512.mask.pmaxu.d.256
   2505   return _mm256_mask_max_epu32(__W,__M,__A,__B);
   2506 }
   2507 __m128i test_mm_maskz_max_epu64(__mmask8 __M, __m128i __A, __m128i __B) {
   2508   // CHECK-LABEL: @test_mm_maskz_max_epu64
   2509   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.128
   2510   return _mm_maskz_max_epu64(__M,__A,__B);
   2511 }
   2512 __m128i test_mm_max_epu64(__m128i __A, __m128i __B) {
   2513   // CHECK-LABEL: @test_mm_max_epu64
   2514   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.128
   2515   return _mm_max_epu64(__A,__B);
   2516 }
   2517 __m128i test_mm_mask_max_epu64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2518   // CHECK-LABEL: @test_mm_mask_max_epu64
   2519   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.128
   2520   return _mm_mask_max_epu64(__W,__M,__A,__B);
   2521 }
   2522 __m256i test_mm256_maskz_max_epu64(__mmask8 __M, __m256i __A, __m256i __B) {
   2523   // CHECK-LABEL: @test_mm256_maskz_max_epu64
   2524   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.256
   2525   return _mm256_maskz_max_epu64(__M,__A,__B);
   2526 }
   2527 __m256i test_mm256_max_epu64(__m256i __A, __m256i __B) {
   2528   // CHECK-LABEL: @test_mm256_max_epu64
   2529   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.256
   2530   return _mm256_max_epu64(__A,__B);
   2531 }
   2532 __m256i test_mm256_mask_max_epu64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2533   // CHECK-LABEL: @test_mm256_mask_max_epu64
   2534   // CHECK: @llvm.x86.avx512.mask.pmaxu.q.256
   2535   return _mm256_mask_max_epu64(__W,__M,__A,__B);
   2536 }
   2537 __m128i test_mm_maskz_min_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
   2538   // CHECK-LABEL: @test_mm_maskz_min_epi32
   2539   // CHECK: @llvm.x86.avx512.mask.pmins.d.128
   2540   return _mm_maskz_min_epi32(__M,__A,__B);
   2541 }
   2542 __m128i test_mm_mask_min_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2543   // CHECK-LABEL: @test_mm_mask_min_epi32
   2544   // CHECK: @llvm.x86.avx512.mask.pmins.d.128
   2545   return _mm_mask_min_epi32(__W,__M,__A,__B);
   2546 }
   2547 __m256i test_mm256_maskz_min_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
   2548   // CHECK-LABEL: @test_mm256_maskz_min_epi32
   2549   // CHECK: @llvm.x86.avx512.mask.pmins.d.256
   2550   return _mm256_maskz_min_epi32(__M,__A,__B);
   2551 }
   2552 __m256i test_mm256_mask_min_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2553   // CHECK-LABEL: @test_mm256_mask_min_epi32
   2554   // CHECK: @llvm.x86.avx512.mask.pmins.d.256
   2555   return _mm256_mask_min_epi32(__W,__M,__A,__B);
   2556 }
   2557 __m128i test_mm_min_epi64(__m128i __A, __m128i __B) {
   2558   // CHECK-LABEL: @test_mm_min_epi64
   2559   // CHECK: @llvm.x86.avx512.mask.pmins.q.128
   2560   return _mm_min_epi64(__A,__B);
   2561 }
   2562 __m128i test_mm_mask_min_epi64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2563   // CHECK-LABEL: @test_mm_mask_min_epi64
   2564   // CHECK: @llvm.x86.avx512.mask.pmins.q.128
   2565   return _mm_mask_min_epi64(__W,__M,__A,__B);
   2566 }
   2567 __m128i test_mm_maskz_min_epi64(__mmask8 __M, __m128i __A, __m128i __B) {
   2568   // CHECK-LABEL: @test_mm_maskz_min_epi64
   2569   // CHECK: @llvm.x86.avx512.mask.pmins.q.128
   2570   return _mm_maskz_min_epi64(__M,__A,__B);
   2571 }
   2572 __m256i test_mm256_min_epi64(__m256i __A, __m256i __B) {
   2573   // CHECK-LABEL: @test_mm256_min_epi64
   2574   // CHECK: @llvm.x86.avx512.mask.pmins.q.256
   2575   return _mm256_min_epi64(__A,__B);
   2576 }
   2577 __m256i test_mm256_mask_min_epi64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2578   // CHECK-LABEL: @test_mm256_mask_min_epi64
   2579   // CHECK: @llvm.x86.avx512.mask.pmins.q.256
   2580   return _mm256_mask_min_epi64(__W,__M,__A,__B);
   2581 }
   2582 __m256i test_mm256_maskz_min_epi64(__mmask8 __M, __m256i __A, __m256i __B) {
   2583   // CHECK-LABEL: @test_mm256_maskz_min_epi64
   2584   // CHECK: @llvm.x86.avx512.mask.pmins.q.256
   2585   return _mm256_maskz_min_epi64(__M,__A,__B);
   2586 }
   2587 __m128i test_mm_maskz_min_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
   2588   // CHECK-LABEL: @test_mm_maskz_min_epu32
   2589   // CHECK: @llvm.x86.avx512.mask.pminu.d.128
   2590   return _mm_maskz_min_epu32(__M,__A,__B);
   2591 }
   2592 __m128i test_mm_mask_min_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2593   // CHECK-LABEL: @test_mm_mask_min_epu32
   2594   // CHECK: @llvm.x86.avx512.mask.pminu.d.128
   2595   return _mm_mask_min_epu32(__W,__M,__A,__B);
   2596 }
   2597 __m256i test_mm256_maskz_min_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
   2598   // CHECK-LABEL: @test_mm256_maskz_min_epu32
   2599   // CHECK: @llvm.x86.avx512.mask.pminu.d.256
   2600   return _mm256_maskz_min_epu32(__M,__A,__B);
   2601 }
   2602 __m256i test_mm256_mask_min_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2603   // CHECK-LABEL: @test_mm256_mask_min_epu32
   2604   // CHECK: @llvm.x86.avx512.mask.pminu.d.256
   2605   return _mm256_mask_min_epu32(__W,__M,__A,__B);
   2606 }
   2607 __m128i test_mm_min_epu64(__m128i __A, __m128i __B) {
   2608   // CHECK-LABEL: @test_mm_min_epu64
   2609   // CHECK: @llvm.x86.avx512.mask.pminu.q.128
   2610   return _mm_min_epu64(__A,__B);
   2611 }
   2612 __m128i test_mm_mask_min_epu64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
   2613   // CHECK-LABEL: @test_mm_mask_min_epu64
   2614   // CHECK: @llvm.x86.avx512.mask.pminu.q.128
   2615   return _mm_mask_min_epu64(__W,__M,__A,__B);
   2616 }
   2617 __m128i test_mm_maskz_min_epu64(__mmask8 __M, __m128i __A, __m128i __B) {
   2618   // CHECK-LABEL: @test_mm_maskz_min_epu64
   2619   // CHECK: @llvm.x86.avx512.mask.pminu.q.128
   2620   return _mm_maskz_min_epu64(__M,__A,__B);
   2621 }
   2622 __m256i test_mm256_min_epu64(__m256i __A, __m256i __B) {
   2623   // CHECK-LABEL: @test_mm256_min_epu64
   2624   // CHECK: @llvm.x86.avx512.mask.pminu.q.256
   2625   return _mm256_min_epu64(__A,__B);
   2626 }
   2627 __m256i test_mm256_mask_min_epu64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
   2628   // CHECK-LABEL: @test_mm256_mask_min_epu64
   2629   // CHECK: @llvm.x86.avx512.mask.pminu.q.256
   2630   return _mm256_mask_min_epu64(__W,__M,__A,__B);
   2631 }
   2632 __m256i test_mm256_maskz_min_epu64(__mmask8 __M, __m256i __A, __m256i __B) {
   2633   // CHECK-LABEL: @test_mm256_maskz_min_epu64
   2634   // CHECK: @llvm.x86.avx512.mask.pminu.q.256
   2635   return _mm256_maskz_min_epu64(__M,__A,__B);
   2636 }
   2637 __m128d test_mm_roundscale_pd(__m128d __A) {
   2638   // CHECK-LABEL: @test_mm_roundscale_pd
   2639   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.128
   2640   return _mm_roundscale_pd(__A,4);
   2641 }
   2642 __m128d test_mm_mask_roundscale_pd(__m128d __W, __mmask8 __U, __m128d __A) {
   2643   // CHECK-LABEL: @test_mm_mask_roundscale_pd
   2644   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.128
   2645   return _mm_mask_roundscale_pd(__W,__U,__A,4);
   2646 }
   2647 __m128d test_mm_maskz_roundscale_pd(__mmask8 __U, __m128d __A) {
   2648   // CHECK-LABEL: @test_mm_maskz_roundscale_pd
   2649   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.128
   2650   return _mm_maskz_roundscale_pd(__U,__A,4);
   2651 }
   2652 __m256d test_mm256_roundscale_pd(__m256d __A) {
   2653   // CHECK-LABEL: @test_mm256_roundscale_pd
   2654   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.256
   2655   return _mm256_roundscale_pd(__A,4);
   2656 }
   2657 __m256d test_mm256_mask_roundscale_pd(__m256d __W, __mmask8 __U, __m256d __A) {
   2658   // CHECK-LABEL: @test_mm256_mask_roundscale_pd
   2659   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.256
   2660   return _mm256_mask_roundscale_pd(__W,__U,__A,4);
   2661 }
   2662 __m256d test_mm256_maskz_roundscale_pd(__mmask8 __U, __m256d __A) {
   2663   // CHECK-LABEL: @test_mm256_maskz_roundscale_pd
   2664   // CHECK: @llvm.x86.avx512.mask.rndscale.pd.256
   2665   return _mm256_maskz_roundscale_pd(__U,__A,4);
   2666 }
   2667 __m128 test_mm_roundscale_ps(__m128 __A) {
   2668   // CHECK-LABEL: @test_mm_roundscale_ps
   2669   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.128
   2670   return _mm_roundscale_ps(__A,4);
   2671 }
   2672 __m128 test_mm_mask_roundscale_ps(__m128 __W, __mmask8 __U, __m128 __A) {
   2673   // CHECK-LABEL: @test_mm_mask_roundscale_ps
   2674   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.128
   2675   return _mm_mask_roundscale_ps(__W,__U,__A,4);
   2676 }
   2677 __m128 test_mm_maskz_roundscale_ps(__mmask8 __U, __m128 __A) {
   2678   // CHECK-LABEL: @test_mm_maskz_roundscale_ps
   2679   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.128
   2680   return _mm_maskz_roundscale_ps(__U,__A, 4);
   2681 }
   2682 __m256 test_mm256_roundscale_ps(__m256 __A) {
   2683   // CHECK-LABEL: @test_mm256_roundscale_ps
   2684   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.256
   2685   return _mm256_roundscale_ps(__A,4);
   2686 }
   2687 __m256 test_mm256_mask_roundscale_ps(__m256 __W, __mmask8 __U, __m256 __A) {
   2688   // CHECK-LABEL: @test_mm256_mask_roundscale_ps
   2689   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.256
   2690   return _mm256_mask_roundscale_ps(__W,__U,__A,4);
   2691 }
   2692 __m256 test_mm256_maskz_roundscale_ps(__mmask8 __U, __m256 __A) {
   2693   // CHECK-LABEL: @test_mm256_maskz_roundscale_ps
   2694   // CHECK: @llvm.x86.avx512.mask.rndscale.ps.256
   2695   return _mm256_maskz_roundscale_ps(__U,__A,4);
   2696 }
   2697 __m128d test_mm_scalef_pd(__m128d __A, __m128d __B) {
   2698   // CHECK-LABEL: @test_mm_scalef_pd
   2699   // CHECK: @llvm.x86.avx512.mask.scalef.pd.128
   2700   return _mm_scalef_pd(__A,__B);
   2701 }
   2702 __m128d test_mm_mask_scalef_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
   2703   // CHECK-LABEL: @test_mm_mask_scalef_pd
   2704   // CHECK: @llvm.x86.avx512.mask.scalef.pd.128
   2705   return _mm_mask_scalef_pd(__W,__U,__A,__B);
   2706 }
   2707 __m128d test_mm_maskz_scalef_pd(__mmask8 __U, __m128d __A, __m128d __B) {
   2708   // CHECK-LABEL: @test_mm_maskz_scalef_pd
   2709   // CHECK: @llvm.x86.avx512.mask.scalef.pd.128
   2710   return _mm_maskz_scalef_pd(__U,__A,__B);
   2711 }
   2712 __m256d test_mm256_scalef_pd(__m256d __A, __m256d __B) {
   2713   // CHECK-LABEL: @test_mm256_scalef_pd
   2714   // CHECK: @llvm.x86.avx512.mask.scalef.pd.256
   2715   return _mm256_scalef_pd(__A,__B);
   2716 }
   2717 __m256d test_mm256_mask_scalef_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
   2718   // CHECK-LABEL: @test_mm256_mask_scalef_pd
   2719   // CHECK: @llvm.x86.avx512.mask.scalef.pd.256
   2720   return _mm256_mask_scalef_pd(__W,__U,__A,__B);
   2721 }
   2722 __m256d test_mm256_maskz_scalef_pd(__mmask8 __U, __m256d __A, __m256d __B) {
   2723   // CHECK-LABEL: @test_mm256_maskz_scalef_pd
   2724   // CHECK: @llvm.x86.avx512.mask.scalef.pd.256
   2725   return _mm256_maskz_scalef_pd(__U,__A,__B);
   2726 }
   2727 __m128 test_mm_scalef_ps(__m128 __A, __m128 __B) {
   2728   // CHECK-LABEL: @test_mm_scalef_ps
   2729   // CHECK: @llvm.x86.avx512.mask.scalef.ps.128
   2730   return _mm_scalef_ps(__A,__B);
   2731 }
   2732 __m128 test_mm_mask_scalef_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
   2733   // CHECK-LABEL: @test_mm_mask_scalef_ps
   2734   // CHECK: @llvm.x86.avx512.mask.scalef.ps.128
   2735   return _mm_mask_scalef_ps(__W,__U,__A,__B);
   2736 }
   2737 __m128 test_mm_maskz_scalef_ps(__mmask8 __U, __m128 __A, __m128 __B) {
   2738   // CHECK-LABEL: @test_mm_maskz_scalef_ps
   2739   // CHECK: @llvm.x86.avx512.mask.scalef.ps.128
   2740   return _mm_maskz_scalef_ps(__U,__A,__B);
   2741 }
   2742 __m256 test_mm256_scalef_ps(__m256 __A, __m256 __B) {
   2743   // CHECK-LABEL: @test_mm256_scalef_ps
   2744   // CHECK: @llvm.x86.avx512.mask.scalef.ps.256
   2745   return _mm256_scalef_ps(__A,__B);
   2746 }
   2747 __m256 test_mm256_mask_scalef_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
   2748   // CHECK-LABEL: @test_mm256_mask_scalef_ps
   2749   // CHECK: @llvm.x86.avx512.mask.scalef.ps.256
   2750   return _mm256_mask_scalef_ps(__W,__U,__A,__B);
   2751 }
   2752 __m256 test_mm256_maskz_scalef_ps(__mmask8 __U, __m256 __A, __m256 __B) {
   2753   // CHECK-LABEL: @test_mm256_maskz_scalef_ps
   2754   // CHECK: @llvm.x86.avx512.mask.scalef.ps.256
   2755   return _mm256_maskz_scalef_ps(__U,__A,__B);
   2756 }
   2757 void test_mm_i64scatter_pd(double *__addr, __m128i __index,  __m128d __v1) {
   2758   // CHECK-LABEL: @test_mm_i64scatter_pd
   2759   // CHECK: @llvm.x86.avx512.scatterdiv2.df
   2760   return _mm_i64scatter_pd(__addr,__index,__v1,2);
   2761 }
   2762 void test_mm_mask_i64scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1) {
   2763   // CHECK-LABEL: @test_mm_mask_i64scatter_pd
   2764   // CHECK: @llvm.x86.avx512.scatterdiv2.df
   2765   return _mm_mask_i64scatter_pd(__addr,__mask,__index,__v1,2);
   2766 }
   2767 void test_mm_i64scatter_epi64(long long *__addr, __m128i __index,  __m128i __v1) {
   2768   // CHECK-LABEL: @test_mm_i64scatter_epi64
   2769   // CHECK: @llvm.x86.avx512.scatterdiv2.di
   2770   return _mm_i64scatter_epi64(__addr,__index,__v1,2);
   2771 }
   2772 void test_mm_mask_i64scatter_epi64(long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
   2773   // CHECK-LABEL: @test_mm_mask_i64scatter_epi64
   2774   // CHECK: @llvm.x86.avx512.scatterdiv2.di
   2775   return _mm_mask_i64scatter_epi64(__addr,__mask,__index,__v1,2);
   2776 }
   2777 void test_mm256_i64scatter_pd(double *__addr, __m256i __index,  __m256d __v1) {
   2778   // CHECK-LABEL: @test_mm256_i64scatter_pd
   2779   // CHECK: @llvm.x86.avx512.scatterdiv4.df
   2780   return _mm256_i64scatter_pd(__addr,__index,__v1,2);
   2781 }
   2782 void test_mm256_mask_i64scatter_pd(double *__addr, __mmask8 __mask, __m256i __index, __m256d __v1) {
   2783   // CHECK-LABEL: @test_mm256_mask_i64scatter_pd
   2784   // CHECK: @llvm.x86.avx512.scatterdiv4.df
   2785   return _mm256_mask_i64scatter_pd(__addr,__mask,__index,__v1,2);
   2786 }
   2787 void test_mm256_i64scatter_epi64(long long *__addr, __m256i __index,  __m256i __v1) {
   2788   // CHECK-LABEL: @test_mm256_i64scatter_epi64
   2789   // CHECK: @llvm.x86.avx512.scatterdiv4.di
   2790   return _mm256_i64scatter_epi64(__addr,__index,__v1,2);
   2791 }
   2792 void test_mm256_mask_i64scatter_epi64(long long *__addr, __mmask8 __mask,  __m256i __index, __m256i __v1) {
   2793   // CHECK-LABEL: @test_mm256_mask_i64scatter_epi64
   2794   // CHECK: @llvm.x86.avx512.scatterdiv4.di
   2795   return _mm256_mask_i64scatter_epi64(__addr,__mask,__index,__v1,2);
   2796 }
   2797 void test_mm_i64scatter_ps(float *__addr, __m128i __index, __m128 __v1) {
   2798   // CHECK-LABEL: @test_mm_i64scatter_ps
   2799   // CHECK: @llvm.x86.avx512.scatterdiv4.sf
   2800   return _mm_i64scatter_ps(__addr,__index,__v1,2);
   2801 }
   2802 void test_mm_mask_i64scatter_ps(float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1) {
   2803   // CHECK-LABEL: @test_mm_mask_i64scatter_ps
   2804   // CHECK: @llvm.x86.avx512.scatterdiv4.sf
   2805   return _mm_mask_i64scatter_ps(__addr,__mask,__index,__v1,2);
   2806 }
   2807 void test_mm_i64scatter_epi32(int *__addr, __m128i __index,  __m128i __v1) {
   2808   // CHECK-LABEL: @test_mm_i64scatter_epi32
   2809   // CHECK: @llvm.x86.avx512.scatterdiv4.si
   2810   return _mm_i64scatter_epi32(__addr,__index,__v1,2);
   2811 }
   2812 void test_mm_mask_i64scatter_epi32(int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
   2813   // CHECK-LABEL: @test_mm_mask_i64scatter_epi32
   2814   // CHECK: @llvm.x86.avx512.scatterdiv4.si
   2815   return _mm_mask_i64scatter_epi32(__addr,__mask,__index,__v1,2);
   2816 }
   2817 void test_mm256_i64scatter_ps(float *__addr, __m256i __index,  __m128 __v1) {
   2818   // CHECK-LABEL: @test_mm256_i64scatter_ps
   2819   // CHECK: @llvm.x86.avx512.scatterdiv8.sf
   2820   return _mm256_i64scatter_ps(__addr,__index,__v1,2);
   2821 }
   2822 void test_mm256_mask_i64scatter_ps(float *__addr, __mmask8 __mask, __m256i __index, __m128 __v1) {
   2823   // CHECK-LABEL: @test_mm256_mask_i64scatter_ps
   2824   // CHECK: @llvm.x86.avx512.scatterdiv8.sf
   2825   return _mm256_mask_i64scatter_ps(__addr,__mask,__index,__v1,2);
   2826 }
   2827 void test_mm256_i64scatter_epi32(int *__addr, __m256i __index,  __m128i __v1) {
   2828   // CHECK-LABEL: @test_mm256_i64scatter_epi32
   2829   // CHECK: @llvm.x86.avx512.scatterdiv8.si
   2830   return _mm256_i64scatter_epi32(__addr,__index,__v1,2);
   2831 }
   2832 void test_mm256_mask_i64scatter_epi32(int *__addr, __mmask8 __mask,  __m256i __index, __m128i __v1) {
   2833   // CHECK-LABEL: @test_mm256_mask_i64scatter_epi32
   2834   // CHECK: @llvm.x86.avx512.scatterdiv8.si
   2835   return _mm256_mask_i64scatter_epi32(__addr,__mask,__index,__v1,2);
   2836 }
   2837 void test_mm_i32scatter_pd(double *__addr, __m128i __index,  __m128d __v1) {
   2838   // CHECK-LABEL: @test_mm_i32scatter_pd
   2839   // CHECK: @llvm.x86.avx512.scattersiv2.df
   2840   return _mm_i32scatter_pd(__addr,__index,__v1,2);
   2841 }
   2842 void test_mm_mask_i32scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1) {
   2843   // CHECK-LABEL: @test_mm_mask_i32scatter_pd
   2844   // CHECK: @llvm.x86.avx512.scattersiv2.df
   2845   return _mm_mask_i32scatter_pd(__addr,__mask,__index,__v1,2);
   2846 }
   2847 void test_mm_i32scatter_epi64(long long *__addr, __m128i __index,  __m128i __v1) {
   2848   // CHECK-LABEL: @test_mm_i32scatter_epi64
   2849   // CHECK: @llvm.x86.avx512.scattersiv2.di
   2850   return _mm_i32scatter_epi64(__addr,__index,__v1,2);
   2851 }
   2852 void test_mm_mask_i32scatter_epi64(long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
   2853   // CHECK-LABEL: @test_mm_mask_i32scatter_epi64
   2854   // CHECK: @llvm.x86.avx512.scattersiv2.di
   2855   return _mm_mask_i32scatter_epi64(__addr,__mask,__index,__v1,2);
   2856 }
   2857 void test_mm256_i32scatter_pd(double *__addr, __m128i __index,  __m256d __v1) {
   2858   // CHECK-LABEL: @test_mm256_i32scatter_pd
   2859   // CHECK: @llvm.x86.avx512.scattersiv4.df
   2860   return _mm256_i32scatter_pd(__addr,__index,__v1,2);
   2861 }
   2862 void test_mm256_mask_i32scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m256d __v1) {
   2863   // CHECK-LABEL: @test_mm256_mask_i32scatter_pd
   2864   // CHECK: @llvm.x86.avx512.scattersiv4.df
   2865   return _mm256_mask_i32scatter_pd(__addr,__mask,__index,__v1,2);
   2866 }
   2867 void test_mm256_i32scatter_epi64(long long *__addr, __m128i __index,  __m256i __v1) {
   2868   // CHECK-LABEL: @test_mm256_i32scatter_epi64
   2869   // CHECK: @llvm.x86.avx512.scattersiv4.di
   2870   return _mm256_i32scatter_epi64(__addr,__index,__v1,2);
   2871 }
   2872 void test_mm256_mask_i32scatter_epi64(long long *__addr, __mmask8 __mask,  __m128i __index, __m256i __v1) {
   2873   // CHECK-LABEL: @test_mm256_mask_i32scatter_epi64
   2874   // CHECK: @llvm.x86.avx512.scattersiv4.di
   2875   return _mm256_mask_i32scatter_epi64(__addr,__mask,__index,__v1,2);
   2876 }
   2877 void test_mm_i32scatter_ps(float *__addr, __m128i __index, __m128 __v1) {
   2878   // CHECK-LABEL: @test_mm_i32scatter_ps
   2879   // CHECK: @llvm.x86.avx512.scattersiv4.sf
   2880   return _mm_i32scatter_ps(__addr,__index,__v1,2);
   2881 }
   2882 void test_mm_mask_i32scatter_ps(float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1) {
   2883   // CHECK-LABEL: @test_mm_mask_i32scatter_ps
   2884   // CHECK: @llvm.x86.avx512.scattersiv4.sf
   2885   return _mm_mask_i32scatter_ps(__addr,__mask,__index,__v1,2);
   2886 }
   2887 void test_mm_i32scatter_epi32(int *__addr, __m128i __index,  __m128i __v1) {
   2888   // CHECK-LABEL: @test_mm_i32scatter_epi32
   2889   // CHECK: @llvm.x86.avx512.scattersiv4.si
   2890   return _mm_i32scatter_epi32(__addr,__index,__v1,2);
   2891 }
   2892 void test_mm_mask_i32scatter_epi32(int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) {
   2893   // CHECK-LABEL: @test_mm_mask_i32scatter_epi32
   2894   // CHECK: @llvm.x86.avx512.scattersiv4.si
   2895   return _mm_mask_i32scatter_epi32(__addr,__mask,__index,__v1,2);
   2896 }
   2897 void test_mm256_i32scatter_ps(float *__addr, __m256i __index,  __m256 __v1) {
   2898   // CHECK-LABEL: @test_mm256_i32scatter_ps
   2899   // CHECK: @llvm.x86.avx512.scattersiv8.sf
   2900   return _mm256_i32scatter_ps(__addr,__index,__v1,2);
   2901 }
   2902 void test_mm256_mask_i32scatter_ps(float *__addr, __mmask8 __mask, __m256i __index, __m256 __v1) {
   2903   // CHECK-LABEL: @test_mm256_mask_i32scatter_ps
   2904   // CHECK: @llvm.x86.avx512.scattersiv8.sf
   2905   return _mm256_mask_i32scatter_ps(__addr,__mask,__index,__v1,2);
   2906 }
   2907 void test_mm256_i32scatter_epi32(int *__addr, __m256i __index,  __m256i __v1) {
   2908   // CHECK-LABEL: @test_mm256_i32scatter_epi32
   2909   // CHECK: @llvm.x86.avx512.scattersiv8.si
   2910   return _mm256_i32scatter_epi32(__addr,__index,__v1,2);
   2911 }
   2912 void test_mm256_mask_i32scatter_epi32(int *__addr, __mmask8 __mask,  __m256i __index, __m256i __v1) {
   2913   // CHECK-LABEL: @test_mm256_mask_i32scatter_epi32
   2914   // CHECK: @llvm.x86.avx512.scattersiv8.si
   2915   return _mm256_mask_i32scatter_epi32(__addr,__mask,__index,__v1,2);
   2916 }
   2917 __m128d test_mm_mask_sqrt_pd(__m128d __W, __mmask8 __U, __m128d __A) {
   2918   // CHECK-LABEL: @test_mm_mask_sqrt_pd
   2919   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.128
   2920   return _mm_mask_sqrt_pd(__W,__U,__A);
   2921 }
   2922 __m128d test_mm_maskz_sqrt_pd(__mmask8 __U, __m128d __A) {
   2923   // CHECK-LABEL: @test_mm_maskz_sqrt_pd
   2924   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.128
   2925   return _mm_maskz_sqrt_pd(__U,__A);
   2926 }
   2927 __m256d test_mm256_mask_sqrt_pd(__m256d __W, __mmask8 __U, __m256d __A) {
   2928   // CHECK-LABEL: @test_mm256_mask_sqrt_pd
   2929   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.256
   2930   return _mm256_mask_sqrt_pd(__W,__U,__A);
   2931 }
   2932 __m256d test_mm256_maskz_sqrt_pd(__mmask8 __U, __m256d __A) {
   2933   // CHECK-LABEL: @test_mm256_maskz_sqrt_pd
   2934   // CHECK: @llvm.x86.avx512.mask.sqrt.pd.256
   2935   return _mm256_maskz_sqrt_pd(__U,__A);
   2936 }
   2937 __m128 test_mm_mask_sqrt_ps(__m128 __W, __mmask8 __U, __m128 __A) {
   2938   // CHECK-LABEL: @test_mm_mask_sqrt_ps
   2939   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.128
   2940   return _mm_mask_sqrt_ps(__W,__U,__A);
   2941 }
   2942 __m128 test_mm_maskz_sqrt_ps(__mmask8 __U, __m128 __A) {
   2943   // CHECK-LABEL: @test_mm_maskz_sqrt_ps
   2944   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.128
   2945   return _mm_maskz_sqrt_ps(__U,__A);
   2946 }
   2947 __m256 test_mm256_mask_sqrt_ps(__m256 __W, __mmask8 __U, __m256 __A) {
   2948   // CHECK-LABEL: @test_mm256_mask_sqrt_ps
   2949   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.256
   2950   return _mm256_mask_sqrt_ps(__W,__U,__A);
   2951 }
   2952 __m256 test_mm256_maskz_sqrt_ps(__mmask8 __U, __m256 __A) {
   2953   // CHECK-LABEL: @test_mm256_maskz_sqrt_ps
   2954   // CHECK: @llvm.x86.avx512.mask.sqrt.ps.256
   2955   return _mm256_maskz_sqrt_ps(__U,__A);
   2956 }
   2957 __m128d test_mm_mask_sub_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
   2958   // CHECK-LABEL: @test_mm_mask_sub_pd
   2959   // CHECK: @llvm.x86.avx512.mask.sub.pd.128
   2960   return _mm_mask_sub_pd(__W,__U,__A,__B);
   2961 }
   2962 __m128d test_mm_maskz_sub_pd(__mmask8 __U, __m128d __A, __m128d __B) {
   2963   // CHECK-LABEL: @test_mm_maskz_sub_pd
   2964   // CHECK: @llvm.x86.avx512.mask.sub.pd.128
   2965   return _mm_maskz_sub_pd(__U,__A,__B);
   2966 }
   2967 __m256d test_mm256_mask_sub_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
   2968   // CHECK-LABEL: @test_mm256_mask_sub_pd
   2969   // CHECK: @llvm.x86.avx512.mask.sub.pd.256
   2970   return _mm256_mask_sub_pd(__W,__U,__A,__B);
   2971 }
   2972 __m256d test_mm256_maskz_sub_pd(__mmask8 __U, __m256d __A, __m256d __B) {
   2973   // CHECK-LABEL: @test_mm256_maskz_sub_pd
   2974   // CHECK: @llvm.x86.avx512.mask.sub.pd.256
   2975   return _mm256_maskz_sub_pd(__U,__A,__B);
   2976 }
   2977 __m128 test_mm_mask_sub_ps(__m128 __W, __mmask16 __U, __m128 __A, __m128 __B) {
   2978   // CHECK-LABEL: @test_mm_mask_sub_ps
   2979   // CHECK: @llvm.x86.avx512.mask.sub.ps.128
   2980   return _mm_mask_sub_ps(__W,__U,__A,__B);
   2981 }
   2982 __m128 test_mm_maskz_sub_ps(__mmask16 __U, __m128 __A, __m128 __B) {
   2983   // CHECK-LABEL: @test_mm_maskz_sub_ps
   2984   // CHECK: @llvm.x86.avx512.mask.sub.ps.128
   2985   return _mm_maskz_sub_ps(__U,__A,__B);
   2986 }
   2987 __m256 test_mm256_mask_sub_ps(__m256 __W, __mmask16 __U, __m256 __A, __m256 __B) {
   2988   // CHECK-LABEL: @test_mm256_mask_sub_ps
   2989   // CHECK: @llvm.x86.avx512.mask.sub.ps.256
   2990   return _mm256_mask_sub_ps(__W,__U,__A,__B);
   2991 }
   2992 __m256 test_mm256_maskz_sub_ps(__mmask16 __U, __m256 __A, __m256 __B) {
   2993   // CHECK-LABEL: @test_mm256_maskz_sub_ps
   2994   // CHECK: @llvm.x86.avx512.mask.sub.ps.256
   2995   return _mm256_maskz_sub_ps(__U,__A,__B);
   2996 }
   2997 __m128i test_mm_mask2_permutex2var_epi32(__m128i __A, __m128i __I, __mmask8 __U,  __m128i __B) {
   2998   // CHECK-LABEL: @test_mm_mask2_permutex2var_epi32
   2999   // CHECK: @llvm.x86.avx512.mask.vpermi2var.d.128
   3000   return _mm_mask2_permutex2var_epi32(__A,__I,__U,__B);
   3001 }
   3002 __m256i test_mm256_mask2_permutex2var_epi32(__m256i __A, __m256i __I, __mmask8 __U, __m256i __B) {
   3003   // CHECK-LABEL: @test_mm256_mask2_permutex2var_epi32
   3004   // CHECK: @llvm.x86.avx512.mask.vpermi2var.d.256
   3005   return _mm256_mask2_permutex2var_epi32(__A,__I,__U,__B);
   3006 }
   3007 __m128d test_mm_mask2_permutex2var_pd(__m128d __A, __m128i __I, __mmask8 __U, __m128d __B) {
   3008   // CHECK-LABEL: @test_mm_mask2_permutex2var_pd
   3009   // CHECK: @llvm.x86.avx512.mask.vpermi2var.pd.128
   3010   return _mm_mask2_permutex2var_pd(__A,__I,__U,__B);
   3011 }
   3012 __m256d test_mm256_mask2_permutex2var_pd(__m256d __A, __m256i __I, __mmask8 __U,  __m256d __B) {
   3013   // CHECK-LABEL: @test_mm256_mask2_permutex2var_pd
   3014   // CHECK: @llvm.x86.avx512.mask.vpermi2var.pd.256
   3015   return _mm256_mask2_permutex2var_pd(__A,__I,__U,__B);
   3016 }
   3017 __m128 test_mm_mask2_permutex2var_ps(__m128 __A, __m128i __I, __mmask8 __U, __m128 __B) {
   3018   // CHECK-LABEL: @test_mm_mask2_permutex2var_ps
   3019   // CHECK: @llvm.x86.avx512.mask.vpermi2var.ps.128
   3020   return _mm_mask2_permutex2var_ps(__A,__I,__U,__B);
   3021 }
   3022 __m256 test_mm256_mask2_permutex2var_ps(__m256 __A, __m256i __I, __mmask8 __U,  __m256 __B) {
   3023   // CHECK-LABEL: @test_mm256_mask2_permutex2var_ps
   3024   // CHECK: @llvm.x86.avx512.mask.vpermi2var.ps.256
   3025   return _mm256_mask2_permutex2var_ps(__A,__I,__U,__B);
   3026 }
   3027 __m128i test_mm_mask2_permutex2var_epi64(__m128i __A, __m128i __I, __mmask8 __U,  __m128i __B) {
   3028   // CHECK-LABEL: @test_mm_mask2_permutex2var_epi64
   3029   // CHECK: @llvm.x86.avx512.mask.vpermi2var.q.128
   3030   return _mm_mask2_permutex2var_epi64(__A,__I,__U,__B);
   3031 }
   3032 __m256i test_mm256_mask2_permutex2var_epi64(__m256i __A, __m256i __I, __mmask8 __U, __m256i __B) {
   3033   // CHECK-LABEL: @test_mm256_mask2_permutex2var_epi64
   3034   // CHECK: @llvm.x86.avx512.mask.vpermi2var.q.256
   3035   return _mm256_mask2_permutex2var_epi64(__A,__I,__U,__B);
   3036 }
   3037 __m128i test_mm_permutex2var_epi32(__m128i __A, __m128i __I, __m128i __B) {
   3038   // CHECK-LABEL: @test_mm_permutex2var_epi32
   3039   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.128
   3040   return _mm_permutex2var_epi32(__A,__I,__B);
   3041 }
   3042 __m128i test_mm_mask_permutex2var_epi32(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) {
   3043   // CHECK-LABEL: @test_mm_mask_permutex2var_epi32
   3044   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.128
   3045   return _mm_mask_permutex2var_epi32(__A,__U,__I,__B);
   3046 }
   3047 __m128i test_mm_maskz_permutex2var_epi32(__mmask8 __U, __m128i __A, __m128i __I,  __m128i __B) {
   3048   // CHECK-LABEL: @test_mm_maskz_permutex2var_epi32
   3049   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.d.128
   3050   return _mm_maskz_permutex2var_epi32(__U,__A,__I,__B);
   3051 }
   3052 __m256i test_mm256_permutex2var_epi32(__m256i __A, __m256i __I, __m256i __B) {
   3053   // CHECK-LABEL: @test_mm256_permutex2var_epi32
   3054   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.256
   3055   return _mm256_permutex2var_epi32(__A,__I,__B);
   3056 }
   3057 __m256i test_mm256_mask_permutex2var_epi32(__m256i __A, __mmask8 __U, __m256i __I, __m256i __B) {
   3058   // CHECK-LABEL: @test_mm256_mask_permutex2var_epi32
   3059   // CHECK: @llvm.x86.avx512.mask.vpermt2var.d.256
   3060   return _mm256_mask_permutex2var_epi32(__A,__U,__I,__B);
   3061 }
   3062 __m256i test_mm256_maskz_permutex2var_epi32(__mmask8 __U, __m256i __A, __m256i __I, __m256i __B) {
   3063   // CHECK-LABEL: @test_mm256_maskz_permutex2var_epi32
   3064   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.d.256
   3065   return _mm256_maskz_permutex2var_epi32(__U,__A,__I,__B);
   3066 }
   3067 __m128d test_mm_permutex2var_pd(__m128d __A, __m128i __I, __m128d __B) {
   3068   // CHECK-LABEL: @test_mm_permutex2var_pd
   3069   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.128
   3070   return _mm_permutex2var_pd(__A,__I,__B);
   3071 }
   3072 __m128d test_mm_mask_permutex2var_pd(__m128d __A, __mmask8 __U, __m128i __I, __m128d __B) {
   3073   // CHECK-LABEL: @test_mm_mask_permutex2var_pd
   3074   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.128
   3075   return _mm_mask_permutex2var_pd(__A,__U,__I,__B);
   3076 }
   3077 __m128d test_mm_maskz_permutex2var_pd(__mmask8 __U, __m128d __A, __m128i __I, __m128d __B) {
   3078   // CHECK-LABEL: @test_mm_maskz_permutex2var_pd
   3079   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.pd.128
   3080   return _mm_maskz_permutex2var_pd(__U,__A,__I,__B);
   3081 }
   3082 __m256d test_mm256_permutex2var_pd(__m256d __A, __m256i __I, __m256d __B) {
   3083   // CHECK-LABEL: @test_mm256_permutex2var_pd
   3084   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.256
   3085   return _mm256_permutex2var_pd(__A,__I,__B);
   3086 }
   3087 __m256d test_mm256_mask_permutex2var_pd(__m256d __A, __mmask8 __U, __m256i __I, __m256d __B) {
   3088   // CHECK-LABEL: @test_mm256_mask_permutex2var_pd
   3089   // CHECK: @llvm.x86.avx512.mask.vpermt2var.pd.256
   3090   return _mm256_mask_permutex2var_pd(__A,__U,__I,__B);
   3091 }
   3092 __m256d test_mm256_maskz_permutex2var_pd(__mmask8 __U, __m256d __A, __m256i __I,  __m256d __B) {
   3093   // CHECK-LABEL: @test_mm256_maskz_permutex2var_pd
   3094   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.pd.256
   3095   return _mm256_maskz_permutex2var_pd(__U,__A,__I,__B);
   3096 }
   3097 __m128 test_mm_permutex2var_ps(__m128 __A, __m128i __I, __m128 __B) {
   3098   // CHECK-LABEL: @test_mm_permutex2var_ps
   3099   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.128
   3100   return _mm_permutex2var_ps(__A,__I,__B);
   3101 }
   3102 __m128 test_mm_mask_permutex2var_ps(__m128 __A, __mmask8 __U, __m128i __I, __m128 __B) {
   3103   // CHECK-LABEL: @test_mm_mask_permutex2var_ps
   3104   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.128
   3105   return _mm_mask_permutex2var_ps(__A,__U,__I,__B);
   3106 }
   3107 __m128 test_mm_maskz_permutex2var_ps(__mmask8 __U, __m128 __A, __m128i __I, __m128 __B) {
   3108   // CHECK-LABEL: @test_mm_maskz_permutex2var_ps
   3109   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.ps.128
   3110   return _mm_maskz_permutex2var_ps(__U,__A,__I,__B);
   3111 }
   3112 __m256 test_mm256_permutex2var_ps(__m256 __A, __m256i __I, __m256 __B) {
   3113   // CHECK-LABEL: @test_mm256_permutex2var_ps
   3114   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.256
   3115   return _mm256_permutex2var_ps(__A,__I,__B);
   3116 }
   3117 __m256 test_mm256_mask_permutex2var_ps(__m256 __A, __mmask8 __U, __m256i __I, __m256 __B) {
   3118   // CHECK-LABEL: @test_mm256_mask_permutex2var_ps
   3119   // CHECK: @llvm.x86.avx512.mask.vpermt2var.ps.256
   3120   return _mm256_mask_permutex2var_ps(__A,__U,__I,__B);
   3121 }
   3122 __m256 test_mm256_maskz_permutex2var_ps(__mmask8 __U, __m256 __A, __m256i __I, __m256 __B) {
   3123   // CHECK-LABEL: @test_mm256_maskz_permutex2var_ps
   3124   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.ps.256
   3125   return _mm256_maskz_permutex2var_ps(__U,__A,__I,__B);
   3126 }
   3127 __m128i test_mm_permutex2var_epi64(__m128i __A, __m128i __I, __m128i __B) {
   3128   // CHECK-LABEL: @test_mm_permutex2var_epi64
   3129   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.128
   3130   return _mm_permutex2var_epi64(__A,__I,__B);
   3131 }
   3132 __m128i test_mm_mask_permutex2var_epi64(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) {
   3133   // CHECK-LABEL: @test_mm_mask_permutex2var_epi64
   3134   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.128
   3135   return _mm_mask_permutex2var_epi64(__A,__U,__I,__B);
   3136 }
   3137 __m128i test_mm_maskz_permutex2var_epi64(__mmask8 __U, __m128i __A, __m128i __I, __m128i __B) {
   3138   // CHECK-LABEL: @test_mm_maskz_permutex2var_epi64
   3139   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.q.128
   3140   return _mm_maskz_permutex2var_epi64(__U,__A,__I,__B);
   3141 }
   3142 __m256i test_mm256_permutex2var_epi64(__m256i __A, __m256i __I, __m256i __B) {
   3143   // CHECK-LABEL: @test_mm256_permutex2var_epi64
   3144   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.256
   3145   return _mm256_permutex2var_epi64(__A,__I,__B);
   3146 }
   3147 __m256i test_mm256_mask_permutex2var_epi64(__m256i __A, __mmask8 __U, __m256i __I, __m256i __B) {
   3148   // CHECK-LABEL: @test_mm256_mask_permutex2var_epi64
   3149   // CHECK: @llvm.x86.avx512.mask.vpermt2var.q.256
   3150   return _mm256_mask_permutex2var_epi64(__A,__U,__I,__B);
   3151 }
   3152 __m256i test_mm256_maskz_permutex2var_epi64(__mmask8 __U, __m256i __A, __m256i __I, __m256i __B) {
   3153   // CHECK-LABEL: @test_mm256_maskz_permutex2var_epi64
   3154   // CHECK: @llvm.x86.avx512.maskz.vpermt2var.q.256
   3155   return _mm256_maskz_permutex2var_epi64(__U,__A,__I,__B);
   3156 }
   3157