1// RUN: %clang_cc1 %s -O0 -triple=x86_64-apple-darwin -ffreestanding -target-feature +avx512bw -emit-llvm -o - -Werror | FileCheck %s 2 3#include <immintrin.h> 4 5__mmask64 test_mm512_cmpeq_epi8_mask(__m512i __a, __m512i __b) { 6 // CHECK-LABEL: @test_mm512_cmpeq_epi8_mask 7 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.512 8 return (__mmask64)_mm512_cmpeq_epi8_mask(__a, __b); 9} 10 11__mmask64 test_mm512_mask_cmpeq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 12 // CHECK-LABEL: @test_mm512_mask_cmpeq_epi8_mask 13 // CHECK: @llvm.x86.avx512.mask.pcmpeq.b.512 14 return (__mmask64)_mm512_mask_cmpeq_epi8_mask(__u, __a, __b); 15} 16 17__mmask32 test_mm512_cmpeq_epi16_mask(__m512i __a, __m512i __b) { 18 // CHECK-LABEL: @test_mm512_cmpeq_epi16_mask 19 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.512 20 return (__mmask32)_mm512_cmpeq_epi16_mask(__a, __b); 21} 22 23__mmask32 test_mm512_mask_cmpeq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 24 // CHECK-LABEL: @test_mm512_mask_cmpeq_epi16_mask 25 // CHECK: @llvm.x86.avx512.mask.pcmpeq.w.512 26 return (__mmask32)_mm512_mask_cmpeq_epi16_mask(__u, __a, __b); 27} 28 29__mmask64 test_mm512_cmpgt_epi8_mask(__m512i __a, __m512i __b) { 30 // CHECK-LABEL: @test_mm512_cmpgt_epi8_mask 31 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.512 32 return (__mmask64)_mm512_cmpgt_epi8_mask(__a, __b); 33} 34 35__mmask64 test_mm512_mask_cmpgt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 36 // CHECK-LABEL: @test_mm512_mask_cmpgt_epi8_mask 37 // CHECK: @llvm.x86.avx512.mask.pcmpgt.b.512 38 return (__mmask64)_mm512_mask_cmpgt_epi8_mask(__u, __a, __b); 39} 40 41__mmask32 test_mm512_cmpgt_epi16_mask(__m512i __a, __m512i __b) { 42 // CHECK-LABEL: @test_mm512_cmpgt_epi16_mask 43 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.512 44 return (__mmask32)_mm512_cmpgt_epi16_mask(__a, __b); 45} 46 47__mmask32 test_mm512_mask_cmpgt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 48 // CHECK-LABEL: @test_mm512_mask_cmpgt_epi16_mask 49 // CHECK: @llvm.x86.avx512.mask.pcmpgt.w.512 50 return (__mmask32)_mm512_mask_cmpgt_epi16_mask(__u, __a, __b); 51} 52 53__mmask64 test_mm512_cmpeq_epu8_mask(__m512i __a, __m512i __b) { 54 // CHECK-LABEL: @test_mm512_cmpeq_epu8_mask 55 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 0, i64 -1) 56 return (__mmask64)_mm512_cmpeq_epu8_mask(__a, __b); 57} 58 59__mmask64 test_mm512_mask_cmpeq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 60 // CHECK-LABEL: @test_mm512_mask_cmpeq_epu8_mask 61 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 0, i64 {{.*}}) 62 return (__mmask64)_mm512_mask_cmpeq_epu8_mask(__u, __a, __b); 63} 64 65__mmask32 test_mm512_cmpeq_epu16_mask(__m512i __a, __m512i __b) { 66 // CHECK-LABEL: @test_mm512_cmpeq_epu16_mask 67 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 0, i32 -1) 68 return (__mmask32)_mm512_cmpeq_epu16_mask(__a, __b); 69} 70 71__mmask32 test_mm512_mask_cmpeq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 72 // CHECK-LABEL: @test_mm512_mask_cmpeq_epu16_mask 73 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 0, i32 {{.*}}) 74 return (__mmask32)_mm512_mask_cmpeq_epu16_mask(__u, __a, __b); 75} 76 77__mmask64 test_mm512_cmpgt_epu8_mask(__m512i __a, __m512i __b) { 78 // CHECK-LABEL: @test_mm512_cmpgt_epu8_mask 79 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 6, i64 -1) 80 return (__mmask64)_mm512_cmpgt_epu8_mask(__a, __b); 81} 82 83__mmask64 test_mm512_mask_cmpgt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 84 // CHECK-LABEL: @test_mm512_mask_cmpgt_epu8_mask 85 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 6, i64 {{.*}}) 86 return (__mmask64)_mm512_mask_cmpgt_epu8_mask(__u, __a, __b); 87} 88 89__mmask32 test_mm512_cmpgt_epu16_mask(__m512i __a, __m512i __b) { 90 // CHECK-LABEL: @test_mm512_cmpgt_epu16_mask 91 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 6, i32 -1) 92 return (__mmask32)_mm512_cmpgt_epu16_mask(__a, __b); 93} 94 95__mmask32 test_mm512_mask_cmpgt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 96 // CHECK-LABEL: @test_mm512_mask_cmpgt_epu16_mask 97 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 6, i32 {{.*}}) 98 return (__mmask32)_mm512_mask_cmpgt_epu16_mask(__u, __a, __b); 99} 100 101__mmask64 test_mm512_cmpge_epi8_mask(__m512i __a, __m512i __b) { 102 // CHECK-LABEL: @test_mm512_cmpge_epi8_mask 103 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 -1) 104 return (__mmask64)_mm512_cmpge_epi8_mask(__a, __b); 105} 106 107__mmask64 test_mm512_mask_cmpge_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 108 // CHECK-LABEL: @test_mm512_mask_cmpge_epi8_mask 109 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 {{.*}}) 110 return (__mmask64)_mm512_mask_cmpge_epi8_mask(__u, __a, __b); 111} 112 113__mmask64 test_mm512_cmpge_epu8_mask(__m512i __a, __m512i __b) { 114 // CHECK-LABEL: @test_mm512_cmpge_epu8_mask 115 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 -1) 116 return (__mmask64)_mm512_cmpge_epu8_mask(__a, __b); 117} 118 119__mmask64 test_mm512_mask_cmpge_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 120 // CHECK-LABEL: @test_mm512_mask_cmpge_epu8_mask 121 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 5, i64 {{.*}}) 122 return (__mmask64)_mm512_mask_cmpge_epu8_mask(__u, __a, __b); 123} 124 125__mmask32 test_mm512_cmpge_epi16_mask(__m512i __a, __m512i __b) { 126 // CHECK-LABEL: @test_mm512_cmpge_epi16_mask 127 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 -1) 128 return (__mmask32)_mm512_cmpge_epi16_mask(__a, __b); 129} 130 131__mmask32 test_mm512_mask_cmpge_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 132 // CHECK-LABEL: @test_mm512_mask_cmpge_epi16_mask 133 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 {{.*}}) 134 return (__mmask32)_mm512_mask_cmpge_epi16_mask(__u, __a, __b); 135} 136 137__mmask32 test_mm512_cmpge_epu16_mask(__m512i __a, __m512i __b) { 138 // CHECK-LABEL: @test_mm512_cmpge_epu16_mask 139 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 -1) 140 return (__mmask32)_mm512_cmpge_epu16_mask(__a, __b); 141} 142 143__mmask32 test_mm512_mask_cmpge_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 144 // CHECK-LABEL: @test_mm512_mask_cmpge_epu16_mask 145 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 5, i32 {{.*}}) 146 return (__mmask32)_mm512_mask_cmpge_epu16_mask(__u, __a, __b); 147} 148 149__mmask64 test_mm512_cmple_epi8_mask(__m512i __a, __m512i __b) { 150 // CHECK-LABEL: @test_mm512_cmple_epi8_mask 151 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 -1) 152 return (__mmask64)_mm512_cmple_epi8_mask(__a, __b); 153} 154 155__mmask64 test_mm512_mask_cmple_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 156 // CHECK-LABEL: @test_mm512_mask_cmple_epi8_mask 157 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 {{.*}}) 158 return (__mmask64)_mm512_mask_cmple_epi8_mask(__u, __a, __b); 159} 160 161__mmask64 test_mm512_cmple_epu8_mask(__m512i __a, __m512i __b) { 162 // CHECK-LABEL: @test_mm512_cmple_epu8_mask 163 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 -1) 164 return (__mmask64)_mm512_cmple_epu8_mask(__a, __b); 165} 166 167__mmask64 test_mm512_mask_cmple_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 168 // CHECK-LABEL: @test_mm512_mask_cmple_epu8_mask 169 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 2, i64 {{.*}}) 170 return (__mmask64)_mm512_mask_cmple_epu8_mask(__u, __a, __b); 171} 172 173__mmask32 test_mm512_cmple_epi16_mask(__m512i __a, __m512i __b) { 174 // CHECK-LABEL: @test_mm512_cmple_epi16_mask 175 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 -1) 176 return (__mmask32)_mm512_cmple_epi16_mask(__a, __b); 177} 178 179__mmask32 test_mm512_mask_cmple_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 180 // CHECK-LABEL: @test_mm512_mask_cmple_epi16_mask 181 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 {{.*}}) 182 return (__mmask32)_mm512_mask_cmple_epi16_mask(__u, __a, __b); 183} 184 185__mmask32 test_mm512_cmple_epu16_mask(__m512i __a, __m512i __b) { 186 // CHECK-LABEL: @test_mm512_cmple_epu16_mask 187 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 -1) 188 return (__mmask32)_mm512_cmple_epu16_mask(__a, __b); 189} 190 191__mmask32 test_mm512_mask_cmple_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 192 // CHECK-LABEL: @test_mm512_mask_cmple_epu16_mask 193 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 2, i32 {{.*}}) 194 return (__mmask32)_mm512_mask_cmple_epu16_mask(__u, __a, __b); 195} 196 197__mmask64 test_mm512_cmplt_epi8_mask(__m512i __a, __m512i __b) { 198 // CHECK-LABEL: @test_mm512_cmplt_epi8_mask 199 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 -1) 200 return (__mmask64)_mm512_cmplt_epi8_mask(__a, __b); 201} 202 203__mmask64 test_mm512_mask_cmplt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 204 // CHECK-LABEL: @test_mm512_mask_cmplt_epi8_mask 205 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 {{.*}}) 206 return (__mmask64)_mm512_mask_cmplt_epi8_mask(__u, __a, __b); 207} 208 209__mmask64 test_mm512_cmplt_epu8_mask(__m512i __a, __m512i __b) { 210 // CHECK-LABEL: @test_mm512_cmplt_epu8_mask 211 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 -1) 212 return (__mmask64)_mm512_cmplt_epu8_mask(__a, __b); 213} 214 215__mmask64 test_mm512_mask_cmplt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 216 // CHECK-LABEL: @test_mm512_mask_cmplt_epu8_mask 217 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 1, i64 {{.*}}) 218 return (__mmask64)_mm512_mask_cmplt_epu8_mask(__u, __a, __b); 219} 220 221__mmask32 test_mm512_cmplt_epi16_mask(__m512i __a, __m512i __b) { 222 // CHECK-LABEL: @test_mm512_cmplt_epi16_mask 223 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 -1) 224 return (__mmask32)_mm512_cmplt_epi16_mask(__a, __b); 225} 226 227__mmask32 test_mm512_mask_cmplt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 228 // CHECK-LABEL: @test_mm512_mask_cmplt_epi16_mask 229 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 {{.*}}) 230 return (__mmask32)_mm512_mask_cmplt_epi16_mask(__u, __a, __b); 231} 232 233__mmask32 test_mm512_cmplt_epu16_mask(__m512i __a, __m512i __b) { 234 // CHECK-LABEL: @test_mm512_cmplt_epu16_mask 235 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 -1) 236 return (__mmask32)_mm512_cmplt_epu16_mask(__a, __b); 237} 238 239__mmask32 test_mm512_mask_cmplt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 240 // CHECK-LABEL: @test_mm512_mask_cmplt_epu16_mask 241 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 1, i32 {{.*}}) 242 return (__mmask32)_mm512_mask_cmplt_epu16_mask(__u, __a, __b); 243} 244 245__mmask64 test_mm512_cmpneq_epi8_mask(__m512i __a, __m512i __b) { 246 // CHECK-LABEL: @test_mm512_cmpneq_epi8_mask 247 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 -1) 248 return (__mmask64)_mm512_cmpneq_epi8_mask(__a, __b); 249} 250 251__mmask64 test_mm512_mask_cmpneq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 252 // CHECK-LABEL: @test_mm512_mask_cmpneq_epi8_mask 253 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 {{.*}}) 254 return (__mmask64)_mm512_mask_cmpneq_epi8_mask(__u, __a, __b); 255} 256 257__mmask64 test_mm512_cmpneq_epu8_mask(__m512i __a, __m512i __b) { 258 // CHECK-LABEL: @test_mm512_cmpneq_epu8_mask 259 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 -1) 260 return (__mmask64)_mm512_cmpneq_epu8_mask(__a, __b); 261} 262 263__mmask64 test_mm512_mask_cmpneq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 264 // CHECK-LABEL: @test_mm512_mask_cmpneq_epu8_mask 265 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 4, i64 {{.*}}) 266 return (__mmask64)_mm512_mask_cmpneq_epu8_mask(__u, __a, __b); 267} 268 269__mmask32 test_mm512_cmpneq_epi16_mask(__m512i __a, __m512i __b) { 270 // CHECK-LABEL: @test_mm512_cmpneq_epi16_mask 271 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 -1) 272 return (__mmask32)_mm512_cmpneq_epi16_mask(__a, __b); 273} 274 275__mmask32 test_mm512_mask_cmpneq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 276 // CHECK-LABEL: @test_mm512_mask_cmpneq_epi16_mask 277 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 {{.*}}) 278 return (__mmask32)_mm512_mask_cmpneq_epi16_mask(__u, __a, __b); 279} 280 281__mmask32 test_mm512_cmpneq_epu16_mask(__m512i __a, __m512i __b) { 282 // CHECK-LABEL: @test_mm512_cmpneq_epu16_mask 283 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 -1) 284 return (__mmask32)_mm512_cmpneq_epu16_mask(__a, __b); 285} 286 287__mmask32 test_mm512_mask_cmpneq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 288 // CHECK-LABEL: @test_mm512_mask_cmpneq_epu16_mask 289 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 4, i32 {{.*}}) 290 return (__mmask32)_mm512_mask_cmpneq_epu16_mask(__u, __a, __b); 291} 292 293__mmask64 test_mm512_cmp_epi8_mask(__m512i __a, __m512i __b) { 294 // CHECK-LABEL: @test_mm512_cmp_epi8_mask 295 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 -1) 296 return (__mmask64)_mm512_cmp_epi8_mask(__a, __b, 7); 297} 298 299__mmask64 test_mm512_mask_cmp_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 300 // CHECK-LABEL: @test_mm512_mask_cmp_epi8_mask 301 // CHECK: @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 {{.*}}) 302 return (__mmask64)_mm512_mask_cmp_epi8_mask(__u, __a, __b, 7); 303} 304 305__mmask64 test_mm512_cmp_epu8_mask(__m512i __a, __m512i __b) { 306 // CHECK-LABEL: @test_mm512_cmp_epu8_mask 307 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 -1) 308 return (__mmask64)_mm512_cmp_epu8_mask(__a, __b, 7); 309} 310 311__mmask64 test_mm512_mask_cmp_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) { 312 // CHECK-LABEL: @test_mm512_mask_cmp_epu8_mask 313 // CHECK: @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> {{.*}}, <64 x i8> {{.*}}, i8 7, i64 {{.*}}) 314 return (__mmask64)_mm512_mask_cmp_epu8_mask(__u, __a, __b, 7); 315} 316 317__mmask32 test_mm512_cmp_epi16_mask(__m512i __a, __m512i __b) { 318 // CHECK-LABEL: @test_mm512_cmp_epi16_mask 319 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 -1) 320 return (__mmask32)_mm512_cmp_epi16_mask(__a, __b, 7); 321} 322 323__mmask32 test_mm512_mask_cmp_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 324 // CHECK-LABEL: @test_mm512_mask_cmp_epi16_mask 325 // CHECK: @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 {{.*}}) 326 return (__mmask32)_mm512_mask_cmp_epi16_mask(__u, __a, __b, 7); 327} 328 329__mmask32 test_mm512_cmp_epu16_mask(__m512i __a, __m512i __b) { 330 // CHECK-LABEL: @test_mm512_cmp_epu16_mask 331 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 -1) 332 return (__mmask32)_mm512_cmp_epu16_mask(__a, __b, 7); 333} 334 335__mmask32 test_mm512_mask_cmp_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) { 336 // CHECK-LABEL: @test_mm512_mask_cmp_epu16_mask 337 // CHECK: @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> {{.*}}, <32 x i16> {{.*}}, i8 7, i32 {{.*}}) 338 return (__mmask32)_mm512_mask_cmp_epu16_mask(__u, __a, __b, 7); 339} 340