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