1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: sed 's/iXLen/i32/g' %s | llc -mtriple=riscv32 -mattr=+v,+zvfhmin,+zvfbfmin \ 3; RUN: -verify-machineinstrs -target-abi=ilp32d | FileCheck %s 4; RUN: sed 's/iXLen/i64/g' %s | llc -mtriple=riscv64 -mattr=+v,+zvfhmin,+zvfbfmin \ 5; RUN: -verify-machineinstrs -target-abi=lp64d | FileCheck %s 6 7declare void @llvm.riscv.vse.nxv1i64( 8 <vscale x 1 x i64>, 9 ptr, 10 iXLen); 11 12define void @intrinsic_vse_v_nxv1i64_nxv1i64(<vscale x 1 x i64> %0, ptr %1, iXLen %2) nounwind { 13; CHECK-LABEL: intrinsic_vse_v_nxv1i64_nxv1i64: 14; CHECK: # %bb.0: # %entry 15; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, ma 16; CHECK-NEXT: vse64.v v8, (a0) 17; CHECK-NEXT: ret 18entry: 19 call void @llvm.riscv.vse.nxv1i64( 20 <vscale x 1 x i64> %0, 21 ptr %1, 22 iXLen %2) 23 24 ret void 25} 26 27declare void @llvm.riscv.vse.mask.nxv1i64( 28 <vscale x 1 x i64>, 29 ptr, 30 <vscale x 1 x i1>, 31 iXLen); 32 33define void @intrinsic_vse_mask_v_nxv1i64_nxv1i64(<vscale x 1 x i64> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 34; CHECK-LABEL: intrinsic_vse_mask_v_nxv1i64_nxv1i64: 35; CHECK: # %bb.0: # %entry 36; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, ma 37; CHECK-NEXT: vse64.v v8, (a0), v0.t 38; CHECK-NEXT: ret 39entry: 40 call void @llvm.riscv.vse.mask.nxv1i64( 41 <vscale x 1 x i64> %0, 42 ptr %1, 43 <vscale x 1 x i1> %2, 44 iXLen %3) 45 46 ret void 47} 48 49define void @intrinsic_vse_allonesmask_v_nxv1i64_nxv1i64(<vscale x 1 x i64> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 50; CHECK-LABEL: intrinsic_vse_allonesmask_v_nxv1i64_nxv1i64: 51; CHECK: # %bb.0: # %entry 52; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, ma 53; CHECK-NEXT: vse64.v v8, (a0) 54; CHECK-NEXT: ret 55entry: 56 call void @llvm.riscv.vse.mask.nxv1i64( 57 <vscale x 1 x i64> %0, 58 ptr %1, 59 <vscale x 1 x i1> splat (i1 true), 60 iXLen %3) 61 62 ret void 63} 64 65declare void @llvm.riscv.vse.nxv2i64( 66 <vscale x 2 x i64>, 67 ptr, 68 iXLen); 69 70define void @intrinsic_vse_v_nxv2i64_nxv2i64(<vscale x 2 x i64> %0, ptr %1, iXLen %2) nounwind { 71; CHECK-LABEL: intrinsic_vse_v_nxv2i64_nxv2i64: 72; CHECK: # %bb.0: # %entry 73; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, ma 74; CHECK-NEXT: vse64.v v8, (a0) 75; CHECK-NEXT: ret 76entry: 77 call void @llvm.riscv.vse.nxv2i64( 78 <vscale x 2 x i64> %0, 79 ptr %1, 80 iXLen %2) 81 82 ret void 83} 84 85declare void @llvm.riscv.vse.mask.nxv2i64( 86 <vscale x 2 x i64>, 87 ptr, 88 <vscale x 2 x i1>, 89 iXLen); 90 91define void @intrinsic_vse_mask_v_nxv2i64_nxv2i64(<vscale x 2 x i64> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 92; CHECK-LABEL: intrinsic_vse_mask_v_nxv2i64_nxv2i64: 93; CHECK: # %bb.0: # %entry 94; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, ma 95; CHECK-NEXT: vse64.v v8, (a0), v0.t 96; CHECK-NEXT: ret 97entry: 98 call void @llvm.riscv.vse.mask.nxv2i64( 99 <vscale x 2 x i64> %0, 100 ptr %1, 101 <vscale x 2 x i1> %2, 102 iXLen %3) 103 104 ret void 105} 106 107declare void @llvm.riscv.vse.nxv4i64( 108 <vscale x 4 x i64>, 109 ptr, 110 iXLen); 111 112define void @intrinsic_vse_v_nxv4i64_nxv4i64(<vscale x 4 x i64> %0, ptr %1, iXLen %2) nounwind { 113; CHECK-LABEL: intrinsic_vse_v_nxv4i64_nxv4i64: 114; CHECK: # %bb.0: # %entry 115; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma 116; CHECK-NEXT: vse64.v v8, (a0) 117; CHECK-NEXT: ret 118entry: 119 call void @llvm.riscv.vse.nxv4i64( 120 <vscale x 4 x i64> %0, 121 ptr %1, 122 iXLen %2) 123 124 ret void 125} 126 127declare void @llvm.riscv.vse.mask.nxv4i64( 128 <vscale x 4 x i64>, 129 ptr, 130 <vscale x 4 x i1>, 131 iXLen); 132 133define void @intrinsic_vse_mask_v_nxv4i64_nxv4i64(<vscale x 4 x i64> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 134; CHECK-LABEL: intrinsic_vse_mask_v_nxv4i64_nxv4i64: 135; CHECK: # %bb.0: # %entry 136; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma 137; CHECK-NEXT: vse64.v v8, (a0), v0.t 138; CHECK-NEXT: ret 139entry: 140 call void @llvm.riscv.vse.mask.nxv4i64( 141 <vscale x 4 x i64> %0, 142 ptr %1, 143 <vscale x 4 x i1> %2, 144 iXLen %3) 145 146 ret void 147} 148 149declare void @llvm.riscv.vse.nxv8i64( 150 <vscale x 8 x i64>, 151 ptr, 152 iXLen); 153 154define void @intrinsic_vse_v_nxv8i64_nxv8i64(<vscale x 8 x i64> %0, ptr %1, iXLen %2) nounwind { 155; CHECK-LABEL: intrinsic_vse_v_nxv8i64_nxv8i64: 156; CHECK: # %bb.0: # %entry 157; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, ma 158; CHECK-NEXT: vse64.v v8, (a0) 159; CHECK-NEXT: ret 160entry: 161 call void @llvm.riscv.vse.nxv8i64( 162 <vscale x 8 x i64> %0, 163 ptr %1, 164 iXLen %2) 165 166 ret void 167} 168 169declare void @llvm.riscv.vse.mask.nxv8i64( 170 <vscale x 8 x i64>, 171 ptr, 172 <vscale x 8 x i1>, 173 iXLen); 174 175define void @intrinsic_vse_mask_v_nxv8i64_nxv8i64(<vscale x 8 x i64> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 176; CHECK-LABEL: intrinsic_vse_mask_v_nxv8i64_nxv8i64: 177; CHECK: # %bb.0: # %entry 178; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, ma 179; CHECK-NEXT: vse64.v v8, (a0), v0.t 180; CHECK-NEXT: ret 181entry: 182 call void @llvm.riscv.vse.mask.nxv8i64( 183 <vscale x 8 x i64> %0, 184 ptr %1, 185 <vscale x 8 x i1> %2, 186 iXLen %3) 187 188 ret void 189} 190 191declare void @llvm.riscv.vse.nxv1f64( 192 <vscale x 1 x double>, 193 ptr, 194 iXLen); 195 196define void @intrinsic_vse_v_nxv1f64_nxv1f64(<vscale x 1 x double> %0, ptr %1, iXLen %2) nounwind { 197; CHECK-LABEL: intrinsic_vse_v_nxv1f64_nxv1f64: 198; CHECK: # %bb.0: # %entry 199; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, ma 200; CHECK-NEXT: vse64.v v8, (a0) 201; CHECK-NEXT: ret 202entry: 203 call void @llvm.riscv.vse.nxv1f64( 204 <vscale x 1 x double> %0, 205 ptr %1, 206 iXLen %2) 207 208 ret void 209} 210 211declare void @llvm.riscv.vse.mask.nxv1f64( 212 <vscale x 1 x double>, 213 ptr, 214 <vscale x 1 x i1>, 215 iXLen); 216 217define void @intrinsic_vse_mask_v_nxv1f64_nxv1f64(<vscale x 1 x double> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 218; CHECK-LABEL: intrinsic_vse_mask_v_nxv1f64_nxv1f64: 219; CHECK: # %bb.0: # %entry 220; CHECK-NEXT: vsetvli zero, a1, e64, m1, ta, ma 221; CHECK-NEXT: vse64.v v8, (a0), v0.t 222; CHECK-NEXT: ret 223entry: 224 call void @llvm.riscv.vse.mask.nxv1f64( 225 <vscale x 1 x double> %0, 226 ptr %1, 227 <vscale x 1 x i1> %2, 228 iXLen %3) 229 230 ret void 231} 232 233declare void @llvm.riscv.vse.nxv2f64( 234 <vscale x 2 x double>, 235 ptr, 236 iXLen); 237 238define void @intrinsic_vse_v_nxv2f64_nxv2f64(<vscale x 2 x double> %0, ptr %1, iXLen %2) nounwind { 239; CHECK-LABEL: intrinsic_vse_v_nxv2f64_nxv2f64: 240; CHECK: # %bb.0: # %entry 241; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, ma 242; CHECK-NEXT: vse64.v v8, (a0) 243; CHECK-NEXT: ret 244entry: 245 call void @llvm.riscv.vse.nxv2f64( 246 <vscale x 2 x double> %0, 247 ptr %1, 248 iXLen %2) 249 250 ret void 251} 252 253declare void @llvm.riscv.vse.mask.nxv2f64( 254 <vscale x 2 x double>, 255 ptr, 256 <vscale x 2 x i1>, 257 iXLen); 258 259define void @intrinsic_vse_mask_v_nxv2f64_nxv2f64(<vscale x 2 x double> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 260; CHECK-LABEL: intrinsic_vse_mask_v_nxv2f64_nxv2f64: 261; CHECK: # %bb.0: # %entry 262; CHECK-NEXT: vsetvli zero, a1, e64, m2, ta, ma 263; CHECK-NEXT: vse64.v v8, (a0), v0.t 264; CHECK-NEXT: ret 265entry: 266 call void @llvm.riscv.vse.mask.nxv2f64( 267 <vscale x 2 x double> %0, 268 ptr %1, 269 <vscale x 2 x i1> %2, 270 iXLen %3) 271 272 ret void 273} 274 275declare void @llvm.riscv.vse.nxv4f64( 276 <vscale x 4 x double>, 277 ptr, 278 iXLen); 279 280define void @intrinsic_vse_v_nxv4f64_nxv4f64(<vscale x 4 x double> %0, ptr %1, iXLen %2) nounwind { 281; CHECK-LABEL: intrinsic_vse_v_nxv4f64_nxv4f64: 282; CHECK: # %bb.0: # %entry 283; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma 284; CHECK-NEXT: vse64.v v8, (a0) 285; CHECK-NEXT: ret 286entry: 287 call void @llvm.riscv.vse.nxv4f64( 288 <vscale x 4 x double> %0, 289 ptr %1, 290 iXLen %2) 291 292 ret void 293} 294 295declare void @llvm.riscv.vse.mask.nxv4f64( 296 <vscale x 4 x double>, 297 ptr, 298 <vscale x 4 x i1>, 299 iXLen); 300 301define void @intrinsic_vse_mask_v_nxv4f64_nxv4f64(<vscale x 4 x double> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 302; CHECK-LABEL: intrinsic_vse_mask_v_nxv4f64_nxv4f64: 303; CHECK: # %bb.0: # %entry 304; CHECK-NEXT: vsetvli zero, a1, e64, m4, ta, ma 305; CHECK-NEXT: vse64.v v8, (a0), v0.t 306; CHECK-NEXT: ret 307entry: 308 call void @llvm.riscv.vse.mask.nxv4f64( 309 <vscale x 4 x double> %0, 310 ptr %1, 311 <vscale x 4 x i1> %2, 312 iXLen %3) 313 314 ret void 315} 316 317declare void @llvm.riscv.vse.nxv8f64( 318 <vscale x 8 x double>, 319 ptr, 320 iXLen); 321 322define void @intrinsic_vse_v_nxv8f64_nxv8f64(<vscale x 8 x double> %0, ptr %1, iXLen %2) nounwind { 323; CHECK-LABEL: intrinsic_vse_v_nxv8f64_nxv8f64: 324; CHECK: # %bb.0: # %entry 325; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, ma 326; CHECK-NEXT: vse64.v v8, (a0) 327; CHECK-NEXT: ret 328entry: 329 call void @llvm.riscv.vse.nxv8f64( 330 <vscale x 8 x double> %0, 331 ptr %1, 332 iXLen %2) 333 334 ret void 335} 336 337declare void @llvm.riscv.vse.mask.nxv8f64( 338 <vscale x 8 x double>, 339 ptr, 340 <vscale x 8 x i1>, 341 iXLen); 342 343define void @intrinsic_vse_mask_v_nxv8f64_nxv8f64(<vscale x 8 x double> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 344; CHECK-LABEL: intrinsic_vse_mask_v_nxv8f64_nxv8f64: 345; CHECK: # %bb.0: # %entry 346; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, ma 347; CHECK-NEXT: vse64.v v8, (a0), v0.t 348; CHECK-NEXT: ret 349entry: 350 call void @llvm.riscv.vse.mask.nxv8f64( 351 <vscale x 8 x double> %0, 352 ptr %1, 353 <vscale x 8 x i1> %2, 354 iXLen %3) 355 356 ret void 357} 358 359declare void @llvm.riscv.vse.nxv1i32( 360 <vscale x 1 x i32>, 361 ptr, 362 iXLen); 363 364define void @intrinsic_vse_v_nxv1i32_nxv1i32(<vscale x 1 x i32> %0, ptr %1, iXLen %2) nounwind { 365; CHECK-LABEL: intrinsic_vse_v_nxv1i32_nxv1i32: 366; CHECK: # %bb.0: # %entry 367; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma 368; CHECK-NEXT: vse32.v v8, (a0) 369; CHECK-NEXT: ret 370entry: 371 call void @llvm.riscv.vse.nxv1i32( 372 <vscale x 1 x i32> %0, 373 ptr %1, 374 iXLen %2) 375 376 ret void 377} 378 379declare void @llvm.riscv.vse.mask.nxv1i32( 380 <vscale x 1 x i32>, 381 ptr, 382 <vscale x 1 x i1>, 383 iXLen); 384 385define void @intrinsic_vse_mask_v_nxv1i32_nxv1i32(<vscale x 1 x i32> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 386; CHECK-LABEL: intrinsic_vse_mask_v_nxv1i32_nxv1i32: 387; CHECK: # %bb.0: # %entry 388; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma 389; CHECK-NEXT: vse32.v v8, (a0), v0.t 390; CHECK-NEXT: ret 391entry: 392 call void @llvm.riscv.vse.mask.nxv1i32( 393 <vscale x 1 x i32> %0, 394 ptr %1, 395 <vscale x 1 x i1> %2, 396 iXLen %3) 397 398 ret void 399} 400 401declare void @llvm.riscv.vse.nxv2i32( 402 <vscale x 2 x i32>, 403 ptr, 404 iXLen); 405 406define void @intrinsic_vse_v_nxv2i32_nxv2i32(<vscale x 2 x i32> %0, ptr %1, iXLen %2) nounwind { 407; CHECK-LABEL: intrinsic_vse_v_nxv2i32_nxv2i32: 408; CHECK: # %bb.0: # %entry 409; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma 410; CHECK-NEXT: vse32.v v8, (a0) 411; CHECK-NEXT: ret 412entry: 413 call void @llvm.riscv.vse.nxv2i32( 414 <vscale x 2 x i32> %0, 415 ptr %1, 416 iXLen %2) 417 418 ret void 419} 420 421declare void @llvm.riscv.vse.mask.nxv2i32( 422 <vscale x 2 x i32>, 423 ptr, 424 <vscale x 2 x i1>, 425 iXLen); 426 427define void @intrinsic_vse_mask_v_nxv2i32_nxv2i32(<vscale x 2 x i32> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 428; CHECK-LABEL: intrinsic_vse_mask_v_nxv2i32_nxv2i32: 429; CHECK: # %bb.0: # %entry 430; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma 431; CHECK-NEXT: vse32.v v8, (a0), v0.t 432; CHECK-NEXT: ret 433entry: 434 call void @llvm.riscv.vse.mask.nxv2i32( 435 <vscale x 2 x i32> %0, 436 ptr %1, 437 <vscale x 2 x i1> %2, 438 iXLen %3) 439 440 ret void 441} 442 443declare void @llvm.riscv.vse.nxv4i32( 444 <vscale x 4 x i32>, 445 ptr, 446 iXLen); 447 448define void @intrinsic_vse_v_nxv4i32_nxv4i32(<vscale x 4 x i32> %0, ptr %1, iXLen %2) nounwind { 449; CHECK-LABEL: intrinsic_vse_v_nxv4i32_nxv4i32: 450; CHECK: # %bb.0: # %entry 451; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma 452; CHECK-NEXT: vse32.v v8, (a0) 453; CHECK-NEXT: ret 454entry: 455 call void @llvm.riscv.vse.nxv4i32( 456 <vscale x 4 x i32> %0, 457 ptr %1, 458 iXLen %2) 459 460 ret void 461} 462 463declare void @llvm.riscv.vse.mask.nxv4i32( 464 <vscale x 4 x i32>, 465 ptr, 466 <vscale x 4 x i1>, 467 iXLen); 468 469define void @intrinsic_vse_mask_v_nxv4i32_nxv4i32(<vscale x 4 x i32> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 470; CHECK-LABEL: intrinsic_vse_mask_v_nxv4i32_nxv4i32: 471; CHECK: # %bb.0: # %entry 472; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma 473; CHECK-NEXT: vse32.v v8, (a0), v0.t 474; CHECK-NEXT: ret 475entry: 476 call void @llvm.riscv.vse.mask.nxv4i32( 477 <vscale x 4 x i32> %0, 478 ptr %1, 479 <vscale x 4 x i1> %2, 480 iXLen %3) 481 482 ret void 483} 484 485declare void @llvm.riscv.vse.nxv8i32( 486 <vscale x 8 x i32>, 487 ptr, 488 iXLen); 489 490define void @intrinsic_vse_v_nxv8i32_nxv8i32(<vscale x 8 x i32> %0, ptr %1, iXLen %2) nounwind { 491; CHECK-LABEL: intrinsic_vse_v_nxv8i32_nxv8i32: 492; CHECK: # %bb.0: # %entry 493; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma 494; CHECK-NEXT: vse32.v v8, (a0) 495; CHECK-NEXT: ret 496entry: 497 call void @llvm.riscv.vse.nxv8i32( 498 <vscale x 8 x i32> %0, 499 ptr %1, 500 iXLen %2) 501 502 ret void 503} 504 505declare void @llvm.riscv.vse.mask.nxv8i32( 506 <vscale x 8 x i32>, 507 ptr, 508 <vscale x 8 x i1>, 509 iXLen); 510 511define void @intrinsic_vse_mask_v_nxv8i32_nxv8i32(<vscale x 8 x i32> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 512; CHECK-LABEL: intrinsic_vse_mask_v_nxv8i32_nxv8i32: 513; CHECK: # %bb.0: # %entry 514; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma 515; CHECK-NEXT: vse32.v v8, (a0), v0.t 516; CHECK-NEXT: ret 517entry: 518 call void @llvm.riscv.vse.mask.nxv8i32( 519 <vscale x 8 x i32> %0, 520 ptr %1, 521 <vscale x 8 x i1> %2, 522 iXLen %3) 523 524 ret void 525} 526 527declare void @llvm.riscv.vse.nxv16i32( 528 <vscale x 16 x i32>, 529 ptr, 530 iXLen); 531 532define void @intrinsic_vse_v_nxv16i32_nxv16i32(<vscale x 16 x i32> %0, ptr %1, iXLen %2) nounwind { 533; CHECK-LABEL: intrinsic_vse_v_nxv16i32_nxv16i32: 534; CHECK: # %bb.0: # %entry 535; CHECK-NEXT: vsetvli zero, a1, e32, m8, ta, ma 536; CHECK-NEXT: vse32.v v8, (a0) 537; CHECK-NEXT: ret 538entry: 539 call void @llvm.riscv.vse.nxv16i32( 540 <vscale x 16 x i32> %0, 541 ptr %1, 542 iXLen %2) 543 544 ret void 545} 546 547declare void @llvm.riscv.vse.mask.nxv16i32( 548 <vscale x 16 x i32>, 549 ptr, 550 <vscale x 16 x i1>, 551 iXLen); 552 553define void @intrinsic_vse_mask_v_nxv16i32_nxv16i32(<vscale x 16 x i32> %0, ptr %1, <vscale x 16 x i1> %2, iXLen %3) nounwind { 554; CHECK-LABEL: intrinsic_vse_mask_v_nxv16i32_nxv16i32: 555; CHECK: # %bb.0: # %entry 556; CHECK-NEXT: vsetvli zero, a1, e32, m8, ta, ma 557; CHECK-NEXT: vse32.v v8, (a0), v0.t 558; CHECK-NEXT: ret 559entry: 560 call void @llvm.riscv.vse.mask.nxv16i32( 561 <vscale x 16 x i32> %0, 562 ptr %1, 563 <vscale x 16 x i1> %2, 564 iXLen %3) 565 566 ret void 567} 568 569declare void @llvm.riscv.vse.nxv1f32( 570 <vscale x 1 x float>, 571 ptr, 572 iXLen); 573 574define void @intrinsic_vse_v_nxv1f32_nxv1f32(<vscale x 1 x float> %0, ptr %1, iXLen %2) nounwind { 575; CHECK-LABEL: intrinsic_vse_v_nxv1f32_nxv1f32: 576; CHECK: # %bb.0: # %entry 577; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma 578; CHECK-NEXT: vse32.v v8, (a0) 579; CHECK-NEXT: ret 580entry: 581 call void @llvm.riscv.vse.nxv1f32( 582 <vscale x 1 x float> %0, 583 ptr %1, 584 iXLen %2) 585 586 ret void 587} 588 589declare void @llvm.riscv.vse.mask.nxv1f32( 590 <vscale x 1 x float>, 591 ptr, 592 <vscale x 1 x i1>, 593 iXLen); 594 595define void @intrinsic_vse_mask_v_nxv1f32_nxv1f32(<vscale x 1 x float> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 596; CHECK-LABEL: intrinsic_vse_mask_v_nxv1f32_nxv1f32: 597; CHECK: # %bb.0: # %entry 598; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma 599; CHECK-NEXT: vse32.v v8, (a0), v0.t 600; CHECK-NEXT: ret 601entry: 602 call void @llvm.riscv.vse.mask.nxv1f32( 603 <vscale x 1 x float> %0, 604 ptr %1, 605 <vscale x 1 x i1> %2, 606 iXLen %3) 607 608 ret void 609} 610 611declare void @llvm.riscv.vse.nxv2f32( 612 <vscale x 2 x float>, 613 ptr, 614 iXLen); 615 616define void @intrinsic_vse_v_nxv2f32_nxv2f32(<vscale x 2 x float> %0, ptr %1, iXLen %2) nounwind { 617; CHECK-LABEL: intrinsic_vse_v_nxv2f32_nxv2f32: 618; CHECK: # %bb.0: # %entry 619; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma 620; CHECK-NEXT: vse32.v v8, (a0) 621; CHECK-NEXT: ret 622entry: 623 call void @llvm.riscv.vse.nxv2f32( 624 <vscale x 2 x float> %0, 625 ptr %1, 626 iXLen %2) 627 628 ret void 629} 630 631declare void @llvm.riscv.vse.mask.nxv2f32( 632 <vscale x 2 x float>, 633 ptr, 634 <vscale x 2 x i1>, 635 iXLen); 636 637define void @intrinsic_vse_mask_v_nxv2f32_nxv2f32(<vscale x 2 x float> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 638; CHECK-LABEL: intrinsic_vse_mask_v_nxv2f32_nxv2f32: 639; CHECK: # %bb.0: # %entry 640; CHECK-NEXT: vsetvli zero, a1, e32, m1, ta, ma 641; CHECK-NEXT: vse32.v v8, (a0), v0.t 642; CHECK-NEXT: ret 643entry: 644 call void @llvm.riscv.vse.mask.nxv2f32( 645 <vscale x 2 x float> %0, 646 ptr %1, 647 <vscale x 2 x i1> %2, 648 iXLen %3) 649 650 ret void 651} 652 653declare void @llvm.riscv.vse.nxv4f32( 654 <vscale x 4 x float>, 655 ptr, 656 iXLen); 657 658define void @intrinsic_vse_v_nxv4f32_nxv4f32(<vscale x 4 x float> %0, ptr %1, iXLen %2) nounwind { 659; CHECK-LABEL: intrinsic_vse_v_nxv4f32_nxv4f32: 660; CHECK: # %bb.0: # %entry 661; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma 662; CHECK-NEXT: vse32.v v8, (a0) 663; CHECK-NEXT: ret 664entry: 665 call void @llvm.riscv.vse.nxv4f32( 666 <vscale x 4 x float> %0, 667 ptr %1, 668 iXLen %2) 669 670 ret void 671} 672 673declare void @llvm.riscv.vse.mask.nxv4f32( 674 <vscale x 4 x float>, 675 ptr, 676 <vscale x 4 x i1>, 677 iXLen); 678 679define void @intrinsic_vse_mask_v_nxv4f32_nxv4f32(<vscale x 4 x float> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 680; CHECK-LABEL: intrinsic_vse_mask_v_nxv4f32_nxv4f32: 681; CHECK: # %bb.0: # %entry 682; CHECK-NEXT: vsetvli zero, a1, e32, m2, ta, ma 683; CHECK-NEXT: vse32.v v8, (a0), v0.t 684; CHECK-NEXT: ret 685entry: 686 call void @llvm.riscv.vse.mask.nxv4f32( 687 <vscale x 4 x float> %0, 688 ptr %1, 689 <vscale x 4 x i1> %2, 690 iXLen %3) 691 692 ret void 693} 694 695declare void @llvm.riscv.vse.nxv8f32( 696 <vscale x 8 x float>, 697 ptr, 698 iXLen); 699 700define void @intrinsic_vse_v_nxv8f32_nxv8f32(<vscale x 8 x float> %0, ptr %1, iXLen %2) nounwind { 701; CHECK-LABEL: intrinsic_vse_v_nxv8f32_nxv8f32: 702; CHECK: # %bb.0: # %entry 703; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma 704; CHECK-NEXT: vse32.v v8, (a0) 705; CHECK-NEXT: ret 706entry: 707 call void @llvm.riscv.vse.nxv8f32( 708 <vscale x 8 x float> %0, 709 ptr %1, 710 iXLen %2) 711 712 ret void 713} 714 715declare void @llvm.riscv.vse.mask.nxv8f32( 716 <vscale x 8 x float>, 717 ptr, 718 <vscale x 8 x i1>, 719 iXLen); 720 721define void @intrinsic_vse_mask_v_nxv8f32_nxv8f32(<vscale x 8 x float> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 722; CHECK-LABEL: intrinsic_vse_mask_v_nxv8f32_nxv8f32: 723; CHECK: # %bb.0: # %entry 724; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma 725; CHECK-NEXT: vse32.v v8, (a0), v0.t 726; CHECK-NEXT: ret 727entry: 728 call void @llvm.riscv.vse.mask.nxv8f32( 729 <vscale x 8 x float> %0, 730 ptr %1, 731 <vscale x 8 x i1> %2, 732 iXLen %3) 733 734 ret void 735} 736 737declare void @llvm.riscv.vse.nxv16f32( 738 <vscale x 16 x float>, 739 ptr, 740 iXLen); 741 742define void @intrinsic_vse_v_nxv16f32_nxv16f32(<vscale x 16 x float> %0, ptr %1, iXLen %2) nounwind { 743; CHECK-LABEL: intrinsic_vse_v_nxv16f32_nxv16f32: 744; CHECK: # %bb.0: # %entry 745; CHECK-NEXT: vsetvli zero, a1, e32, m8, ta, ma 746; CHECK-NEXT: vse32.v v8, (a0) 747; CHECK-NEXT: ret 748entry: 749 call void @llvm.riscv.vse.nxv16f32( 750 <vscale x 16 x float> %0, 751 ptr %1, 752 iXLen %2) 753 754 ret void 755} 756 757declare void @llvm.riscv.vse.mask.nxv16f32( 758 <vscale x 16 x float>, 759 ptr, 760 <vscale x 16 x i1>, 761 iXLen); 762 763define void @intrinsic_vse_mask_v_nxv16f32_nxv16f32(<vscale x 16 x float> %0, ptr %1, <vscale x 16 x i1> %2, iXLen %3) nounwind { 764; CHECK-LABEL: intrinsic_vse_mask_v_nxv16f32_nxv16f32: 765; CHECK: # %bb.0: # %entry 766; CHECK-NEXT: vsetvli zero, a1, e32, m8, ta, ma 767; CHECK-NEXT: vse32.v v8, (a0), v0.t 768; CHECK-NEXT: ret 769entry: 770 call void @llvm.riscv.vse.mask.nxv16f32( 771 <vscale x 16 x float> %0, 772 ptr %1, 773 <vscale x 16 x i1> %2, 774 iXLen %3) 775 776 ret void 777} 778 779declare void @llvm.riscv.vse.nxv1i16( 780 <vscale x 1 x i16>, 781 ptr, 782 iXLen); 783 784define void @intrinsic_vse_v_nxv1i16_nxv1i16(<vscale x 1 x i16> %0, ptr %1, iXLen %2) nounwind { 785; CHECK-LABEL: intrinsic_vse_v_nxv1i16_nxv1i16: 786; CHECK: # %bb.0: # %entry 787; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma 788; CHECK-NEXT: vse16.v v8, (a0) 789; CHECK-NEXT: ret 790entry: 791 call void @llvm.riscv.vse.nxv1i16( 792 <vscale x 1 x i16> %0, 793 ptr %1, 794 iXLen %2) 795 796 ret void 797} 798 799declare void @llvm.riscv.vse.mask.nxv1i16( 800 <vscale x 1 x i16>, 801 ptr, 802 <vscale x 1 x i1>, 803 iXLen); 804 805define void @intrinsic_vse_mask_v_nxv1i16_nxv1i16(<vscale x 1 x i16> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 806; CHECK-LABEL: intrinsic_vse_mask_v_nxv1i16_nxv1i16: 807; CHECK: # %bb.0: # %entry 808; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma 809; CHECK-NEXT: vse16.v v8, (a0), v0.t 810; CHECK-NEXT: ret 811entry: 812 call void @llvm.riscv.vse.mask.nxv1i16( 813 <vscale x 1 x i16> %0, 814 ptr %1, 815 <vscale x 1 x i1> %2, 816 iXLen %3) 817 818 ret void 819} 820 821declare void @llvm.riscv.vse.nxv2i16( 822 <vscale x 2 x i16>, 823 ptr, 824 iXLen); 825 826define void @intrinsic_vse_v_nxv2i16_nxv2i16(<vscale x 2 x i16> %0, ptr %1, iXLen %2) nounwind { 827; CHECK-LABEL: intrinsic_vse_v_nxv2i16_nxv2i16: 828; CHECK: # %bb.0: # %entry 829; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma 830; CHECK-NEXT: vse16.v v8, (a0) 831; CHECK-NEXT: ret 832entry: 833 call void @llvm.riscv.vse.nxv2i16( 834 <vscale x 2 x i16> %0, 835 ptr %1, 836 iXLen %2) 837 838 ret void 839} 840 841declare void @llvm.riscv.vse.mask.nxv2i16( 842 <vscale x 2 x i16>, 843 ptr, 844 <vscale x 2 x i1>, 845 iXLen); 846 847define void @intrinsic_vse_mask_v_nxv2i16_nxv2i16(<vscale x 2 x i16> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 848; CHECK-LABEL: intrinsic_vse_mask_v_nxv2i16_nxv2i16: 849; CHECK: # %bb.0: # %entry 850; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma 851; CHECK-NEXT: vse16.v v8, (a0), v0.t 852; CHECK-NEXT: ret 853entry: 854 call void @llvm.riscv.vse.mask.nxv2i16( 855 <vscale x 2 x i16> %0, 856 ptr %1, 857 <vscale x 2 x i1> %2, 858 iXLen %3) 859 860 ret void 861} 862 863declare void @llvm.riscv.vse.nxv4i16( 864 <vscale x 4 x i16>, 865 ptr, 866 iXLen); 867 868define void @intrinsic_vse_v_nxv4i16_nxv4i16(<vscale x 4 x i16> %0, ptr %1, iXLen %2) nounwind { 869; CHECK-LABEL: intrinsic_vse_v_nxv4i16_nxv4i16: 870; CHECK: # %bb.0: # %entry 871; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma 872; CHECK-NEXT: vse16.v v8, (a0) 873; CHECK-NEXT: ret 874entry: 875 call void @llvm.riscv.vse.nxv4i16( 876 <vscale x 4 x i16> %0, 877 ptr %1, 878 iXLen %2) 879 880 ret void 881} 882 883declare void @llvm.riscv.vse.mask.nxv4i16( 884 <vscale x 4 x i16>, 885 ptr, 886 <vscale x 4 x i1>, 887 iXLen); 888 889define void @intrinsic_vse_mask_v_nxv4i16_nxv4i16(<vscale x 4 x i16> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 890; CHECK-LABEL: intrinsic_vse_mask_v_nxv4i16_nxv4i16: 891; CHECK: # %bb.0: # %entry 892; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma 893; CHECK-NEXT: vse16.v v8, (a0), v0.t 894; CHECK-NEXT: ret 895entry: 896 call void @llvm.riscv.vse.mask.nxv4i16( 897 <vscale x 4 x i16> %0, 898 ptr %1, 899 <vscale x 4 x i1> %2, 900 iXLen %3) 901 902 ret void 903} 904 905declare void @llvm.riscv.vse.nxv8i16( 906 <vscale x 8 x i16>, 907 ptr, 908 iXLen); 909 910define void @intrinsic_vse_v_nxv8i16_nxv8i16(<vscale x 8 x i16> %0, ptr %1, iXLen %2) nounwind { 911; CHECK-LABEL: intrinsic_vse_v_nxv8i16_nxv8i16: 912; CHECK: # %bb.0: # %entry 913; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma 914; CHECK-NEXT: vse16.v v8, (a0) 915; CHECK-NEXT: ret 916entry: 917 call void @llvm.riscv.vse.nxv8i16( 918 <vscale x 8 x i16> %0, 919 ptr %1, 920 iXLen %2) 921 922 ret void 923} 924 925declare void @llvm.riscv.vse.mask.nxv8i16( 926 <vscale x 8 x i16>, 927 ptr, 928 <vscale x 8 x i1>, 929 iXLen); 930 931define void @intrinsic_vse_mask_v_nxv8i16_nxv8i16(<vscale x 8 x i16> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 932; CHECK-LABEL: intrinsic_vse_mask_v_nxv8i16_nxv8i16: 933; CHECK: # %bb.0: # %entry 934; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma 935; CHECK-NEXT: vse16.v v8, (a0), v0.t 936; CHECK-NEXT: ret 937entry: 938 call void @llvm.riscv.vse.mask.nxv8i16( 939 <vscale x 8 x i16> %0, 940 ptr %1, 941 <vscale x 8 x i1> %2, 942 iXLen %3) 943 944 ret void 945} 946 947declare void @llvm.riscv.vse.nxv16i16( 948 <vscale x 16 x i16>, 949 ptr, 950 iXLen); 951 952define void @intrinsic_vse_v_nxv16i16_nxv16i16(<vscale x 16 x i16> %0, ptr %1, iXLen %2) nounwind { 953; CHECK-LABEL: intrinsic_vse_v_nxv16i16_nxv16i16: 954; CHECK: # %bb.0: # %entry 955; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma 956; CHECK-NEXT: vse16.v v8, (a0) 957; CHECK-NEXT: ret 958entry: 959 call void @llvm.riscv.vse.nxv16i16( 960 <vscale x 16 x i16> %0, 961 ptr %1, 962 iXLen %2) 963 964 ret void 965} 966 967declare void @llvm.riscv.vse.mask.nxv16i16( 968 <vscale x 16 x i16>, 969 ptr, 970 <vscale x 16 x i1>, 971 iXLen); 972 973define void @intrinsic_vse_mask_v_nxv16i16_nxv16i16(<vscale x 16 x i16> %0, ptr %1, <vscale x 16 x i1> %2, iXLen %3) nounwind { 974; CHECK-LABEL: intrinsic_vse_mask_v_nxv16i16_nxv16i16: 975; CHECK: # %bb.0: # %entry 976; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma 977; CHECK-NEXT: vse16.v v8, (a0), v0.t 978; CHECK-NEXT: ret 979entry: 980 call void @llvm.riscv.vse.mask.nxv16i16( 981 <vscale x 16 x i16> %0, 982 ptr %1, 983 <vscale x 16 x i1> %2, 984 iXLen %3) 985 986 ret void 987} 988 989declare void @llvm.riscv.vse.nxv32i16( 990 <vscale x 32 x i16>, 991 ptr, 992 iXLen); 993 994define void @intrinsic_vse_v_nxv32i16_nxv32i16(<vscale x 32 x i16> %0, ptr %1, iXLen %2) nounwind { 995; CHECK-LABEL: intrinsic_vse_v_nxv32i16_nxv32i16: 996; CHECK: # %bb.0: # %entry 997; CHECK-NEXT: vsetvli zero, a1, e16, m8, ta, ma 998; CHECK-NEXT: vse16.v v8, (a0) 999; CHECK-NEXT: ret 1000entry: 1001 call void @llvm.riscv.vse.nxv32i16( 1002 <vscale x 32 x i16> %0, 1003 ptr %1, 1004 iXLen %2) 1005 1006 ret void 1007} 1008 1009declare void @llvm.riscv.vse.mask.nxv32i16( 1010 <vscale x 32 x i16>, 1011 ptr, 1012 <vscale x 32 x i1>, 1013 iXLen); 1014 1015define void @intrinsic_vse_mask_v_nxv32i16_nxv32i16(<vscale x 32 x i16> %0, ptr %1, <vscale x 32 x i1> %2, iXLen %3) nounwind { 1016; CHECK-LABEL: intrinsic_vse_mask_v_nxv32i16_nxv32i16: 1017; CHECK: # %bb.0: # %entry 1018; CHECK-NEXT: vsetvli zero, a1, e16, m8, ta, ma 1019; CHECK-NEXT: vse16.v v8, (a0), v0.t 1020; CHECK-NEXT: ret 1021entry: 1022 call void @llvm.riscv.vse.mask.nxv32i16( 1023 <vscale x 32 x i16> %0, 1024 ptr %1, 1025 <vscale x 32 x i1> %2, 1026 iXLen %3) 1027 1028 ret void 1029} 1030 1031declare void @llvm.riscv.vse.nxv1f16( 1032 <vscale x 1 x half>, 1033 ptr, 1034 iXLen); 1035 1036define void @intrinsic_vse_v_nxv1f16_nxv1f16(<vscale x 1 x half> %0, ptr %1, iXLen %2) nounwind { 1037; CHECK-LABEL: intrinsic_vse_v_nxv1f16_nxv1f16: 1038; CHECK: # %bb.0: # %entry 1039; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma 1040; CHECK-NEXT: vse16.v v8, (a0) 1041; CHECK-NEXT: ret 1042entry: 1043 call void @llvm.riscv.vse.nxv1f16( 1044 <vscale x 1 x half> %0, 1045 ptr %1, 1046 iXLen %2) 1047 1048 ret void 1049} 1050 1051declare void @llvm.riscv.vse.mask.nxv1f16( 1052 <vscale x 1 x half>, 1053 ptr, 1054 <vscale x 1 x i1>, 1055 iXLen); 1056 1057define void @intrinsic_vse_mask_v_nxv1f16_nxv1f16(<vscale x 1 x half> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 1058; CHECK-LABEL: intrinsic_vse_mask_v_nxv1f16_nxv1f16: 1059; CHECK: # %bb.0: # %entry 1060; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma 1061; CHECK-NEXT: vse16.v v8, (a0), v0.t 1062; CHECK-NEXT: ret 1063entry: 1064 call void @llvm.riscv.vse.mask.nxv1f16( 1065 <vscale x 1 x half> %0, 1066 ptr %1, 1067 <vscale x 1 x i1> %2, 1068 iXLen %3) 1069 1070 ret void 1071} 1072 1073declare void @llvm.riscv.vse.nxv2f16( 1074 <vscale x 2 x half>, 1075 ptr, 1076 iXLen); 1077 1078define void @intrinsic_vse_v_nxv2f16_nxv2f16(<vscale x 2 x half> %0, ptr %1, iXLen %2) nounwind { 1079; CHECK-LABEL: intrinsic_vse_v_nxv2f16_nxv2f16: 1080; CHECK: # %bb.0: # %entry 1081; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma 1082; CHECK-NEXT: vse16.v v8, (a0) 1083; CHECK-NEXT: ret 1084entry: 1085 call void @llvm.riscv.vse.nxv2f16( 1086 <vscale x 2 x half> %0, 1087 ptr %1, 1088 iXLen %2) 1089 1090 ret void 1091} 1092 1093declare void @llvm.riscv.vse.mask.nxv2f16( 1094 <vscale x 2 x half>, 1095 ptr, 1096 <vscale x 2 x i1>, 1097 iXLen); 1098 1099define void @intrinsic_vse_mask_v_nxv2f16_nxv2f16(<vscale x 2 x half> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 1100; CHECK-LABEL: intrinsic_vse_mask_v_nxv2f16_nxv2f16: 1101; CHECK: # %bb.0: # %entry 1102; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma 1103; CHECK-NEXT: vse16.v v8, (a0), v0.t 1104; CHECK-NEXT: ret 1105entry: 1106 call void @llvm.riscv.vse.mask.nxv2f16( 1107 <vscale x 2 x half> %0, 1108 ptr %1, 1109 <vscale x 2 x i1> %2, 1110 iXLen %3) 1111 1112 ret void 1113} 1114 1115declare void @llvm.riscv.vse.nxv4f16( 1116 <vscale x 4 x half>, 1117 ptr, 1118 iXLen); 1119 1120define void @intrinsic_vse_v_nxv4f16_nxv4f16(<vscale x 4 x half> %0, ptr %1, iXLen %2) nounwind { 1121; CHECK-LABEL: intrinsic_vse_v_nxv4f16_nxv4f16: 1122; CHECK: # %bb.0: # %entry 1123; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma 1124; CHECK-NEXT: vse16.v v8, (a0) 1125; CHECK-NEXT: ret 1126entry: 1127 call void @llvm.riscv.vse.nxv4f16( 1128 <vscale x 4 x half> %0, 1129 ptr %1, 1130 iXLen %2) 1131 1132 ret void 1133} 1134 1135declare void @llvm.riscv.vse.mask.nxv4f16( 1136 <vscale x 4 x half>, 1137 ptr, 1138 <vscale x 4 x i1>, 1139 iXLen); 1140 1141define void @intrinsic_vse_mask_v_nxv4f16_nxv4f16(<vscale x 4 x half> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 1142; CHECK-LABEL: intrinsic_vse_mask_v_nxv4f16_nxv4f16: 1143; CHECK: # %bb.0: # %entry 1144; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma 1145; CHECK-NEXT: vse16.v v8, (a0), v0.t 1146; CHECK-NEXT: ret 1147entry: 1148 call void @llvm.riscv.vse.mask.nxv4f16( 1149 <vscale x 4 x half> %0, 1150 ptr %1, 1151 <vscale x 4 x i1> %2, 1152 iXLen %3) 1153 1154 ret void 1155} 1156 1157declare void @llvm.riscv.vse.nxv8f16( 1158 <vscale x 8 x half>, 1159 ptr, 1160 iXLen); 1161 1162define void @intrinsic_vse_v_nxv8f16_nxv8f16(<vscale x 8 x half> %0, ptr %1, iXLen %2) nounwind { 1163; CHECK-LABEL: intrinsic_vse_v_nxv8f16_nxv8f16: 1164; CHECK: # %bb.0: # %entry 1165; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma 1166; CHECK-NEXT: vse16.v v8, (a0) 1167; CHECK-NEXT: ret 1168entry: 1169 call void @llvm.riscv.vse.nxv8f16( 1170 <vscale x 8 x half> %0, 1171 ptr %1, 1172 iXLen %2) 1173 1174 ret void 1175} 1176 1177declare void @llvm.riscv.vse.mask.nxv8f16( 1178 <vscale x 8 x half>, 1179 ptr, 1180 <vscale x 8 x i1>, 1181 iXLen); 1182 1183define void @intrinsic_vse_mask_v_nxv8f16_nxv8f16(<vscale x 8 x half> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 1184; CHECK-LABEL: intrinsic_vse_mask_v_nxv8f16_nxv8f16: 1185; CHECK: # %bb.0: # %entry 1186; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma 1187; CHECK-NEXT: vse16.v v8, (a0), v0.t 1188; CHECK-NEXT: ret 1189entry: 1190 call void @llvm.riscv.vse.mask.nxv8f16( 1191 <vscale x 8 x half> %0, 1192 ptr %1, 1193 <vscale x 8 x i1> %2, 1194 iXLen %3) 1195 1196 ret void 1197} 1198 1199declare void @llvm.riscv.vse.nxv16f16( 1200 <vscale x 16 x half>, 1201 ptr, 1202 iXLen); 1203 1204define void @intrinsic_vse_v_nxv16f16_nxv16f16(<vscale x 16 x half> %0, ptr %1, iXLen %2) nounwind { 1205; CHECK-LABEL: intrinsic_vse_v_nxv16f16_nxv16f16: 1206; CHECK: # %bb.0: # %entry 1207; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma 1208; CHECK-NEXT: vse16.v v8, (a0) 1209; CHECK-NEXT: ret 1210entry: 1211 call void @llvm.riscv.vse.nxv16f16( 1212 <vscale x 16 x half> %0, 1213 ptr %1, 1214 iXLen %2) 1215 1216 ret void 1217} 1218 1219declare void @llvm.riscv.vse.mask.nxv16f16( 1220 <vscale x 16 x half>, 1221 ptr, 1222 <vscale x 16 x i1>, 1223 iXLen); 1224 1225define void @intrinsic_vse_mask_v_nxv16f16_nxv16f16(<vscale x 16 x half> %0, ptr %1, <vscale x 16 x i1> %2, iXLen %3) nounwind { 1226; CHECK-LABEL: intrinsic_vse_mask_v_nxv16f16_nxv16f16: 1227; CHECK: # %bb.0: # %entry 1228; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma 1229; CHECK-NEXT: vse16.v v8, (a0), v0.t 1230; CHECK-NEXT: ret 1231entry: 1232 call void @llvm.riscv.vse.mask.nxv16f16( 1233 <vscale x 16 x half> %0, 1234 ptr %1, 1235 <vscale x 16 x i1> %2, 1236 iXLen %3) 1237 1238 ret void 1239} 1240 1241declare void @llvm.riscv.vse.nxv32f16( 1242 <vscale x 32 x half>, 1243 ptr, 1244 iXLen); 1245 1246define void @intrinsic_vse_v_nxv32f16_nxv32f16(<vscale x 32 x half> %0, ptr %1, iXLen %2) nounwind { 1247; CHECK-LABEL: intrinsic_vse_v_nxv32f16_nxv32f16: 1248; CHECK: # %bb.0: # %entry 1249; CHECK-NEXT: vsetvli zero, a1, e16, m8, ta, ma 1250; CHECK-NEXT: vse16.v v8, (a0) 1251; CHECK-NEXT: ret 1252entry: 1253 call void @llvm.riscv.vse.nxv32f16( 1254 <vscale x 32 x half> %0, 1255 ptr %1, 1256 iXLen %2) 1257 1258 ret void 1259} 1260 1261declare void @llvm.riscv.vse.mask.nxv32f16( 1262 <vscale x 32 x half>, 1263 ptr, 1264 <vscale x 32 x i1>, 1265 iXLen); 1266 1267define void @intrinsic_vse_mask_v_nxv32f16_nxv32f16(<vscale x 32 x half> %0, ptr %1, <vscale x 32 x i1> %2, iXLen %3) nounwind { 1268; CHECK-LABEL: intrinsic_vse_mask_v_nxv32f16_nxv32f16: 1269; CHECK: # %bb.0: # %entry 1270; CHECK-NEXT: vsetvli zero, a1, e16, m8, ta, ma 1271; CHECK-NEXT: vse16.v v8, (a0), v0.t 1272; CHECK-NEXT: ret 1273entry: 1274 call void @llvm.riscv.vse.mask.nxv32f16( 1275 <vscale x 32 x half> %0, 1276 ptr %1, 1277 <vscale x 32 x i1> %2, 1278 iXLen %3) 1279 1280 ret void 1281} 1282 1283declare void @llvm.riscv.vse.nxv1bf16( 1284 <vscale x 1 x bfloat>, 1285 ptr, 1286 iXLen); 1287 1288define void @intrinsic_vse_v_nxv1bf16_nxv1bf16(<vscale x 1 x bfloat> %0, ptr %1, iXLen %2) nounwind { 1289; CHECK-LABEL: intrinsic_vse_v_nxv1bf16_nxv1bf16: 1290; CHECK: # %bb.0: # %entry 1291; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma 1292; CHECK-NEXT: vse16.v v8, (a0) 1293; CHECK-NEXT: ret 1294entry: 1295 call void @llvm.riscv.vse.nxv1bf16( 1296 <vscale x 1 x bfloat> %0, 1297 ptr %1, 1298 iXLen %2) 1299 1300 ret void 1301} 1302 1303declare void @llvm.riscv.vse.mask.nxv1bf16( 1304 <vscale x 1 x bfloat>, 1305 ptr, 1306 <vscale x 1 x i1>, 1307 iXLen); 1308 1309define void @intrinsic_vse_mask_v_nxv1bf16_nxv1bf16(<vscale x 1 x bfloat> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 1310; CHECK-LABEL: intrinsic_vse_mask_v_nxv1bf16_nxv1bf16: 1311; CHECK: # %bb.0: # %entry 1312; CHECK-NEXT: vsetvli zero, a1, e16, mf4, ta, ma 1313; CHECK-NEXT: vse16.v v8, (a0), v0.t 1314; CHECK-NEXT: ret 1315entry: 1316 call void @llvm.riscv.vse.mask.nxv1bf16( 1317 <vscale x 1 x bfloat> %0, 1318 ptr %1, 1319 <vscale x 1 x i1> %2, 1320 iXLen %3) 1321 1322 ret void 1323} 1324 1325declare void @llvm.riscv.vse.nxv2bf16( 1326 <vscale x 2 x bfloat>, 1327 ptr, 1328 iXLen); 1329 1330define void @intrinsic_vse_v_nxv2bf16_nxv2bf16(<vscale x 2 x bfloat> %0, ptr %1, iXLen %2) nounwind { 1331; CHECK-LABEL: intrinsic_vse_v_nxv2bf16_nxv2bf16: 1332; CHECK: # %bb.0: # %entry 1333; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma 1334; CHECK-NEXT: vse16.v v8, (a0) 1335; CHECK-NEXT: ret 1336entry: 1337 call void @llvm.riscv.vse.nxv2bf16( 1338 <vscale x 2 x bfloat> %0, 1339 ptr %1, 1340 iXLen %2) 1341 1342 ret void 1343} 1344 1345declare void @llvm.riscv.vse.mask.nxv2bf16( 1346 <vscale x 2 x bfloat>, 1347 ptr, 1348 <vscale x 2 x i1>, 1349 iXLen); 1350 1351define void @intrinsic_vse_mask_v_nxv2bf16_nxv2bf16(<vscale x 2 x bfloat> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 1352; CHECK-LABEL: intrinsic_vse_mask_v_nxv2bf16_nxv2bf16: 1353; CHECK: # %bb.0: # %entry 1354; CHECK-NEXT: vsetvli zero, a1, e16, mf2, ta, ma 1355; CHECK-NEXT: vse16.v v8, (a0), v0.t 1356; CHECK-NEXT: ret 1357entry: 1358 call void @llvm.riscv.vse.mask.nxv2bf16( 1359 <vscale x 2 x bfloat> %0, 1360 ptr %1, 1361 <vscale x 2 x i1> %2, 1362 iXLen %3) 1363 1364 ret void 1365} 1366 1367declare void @llvm.riscv.vse.nxv4bf16( 1368 <vscale x 4 x bfloat>, 1369 ptr, 1370 iXLen); 1371 1372define void @intrinsic_vse_v_nxv4bf16_nxv4bf16(<vscale x 4 x bfloat> %0, ptr %1, iXLen %2) nounwind { 1373; CHECK-LABEL: intrinsic_vse_v_nxv4bf16_nxv4bf16: 1374; CHECK: # %bb.0: # %entry 1375; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma 1376; CHECK-NEXT: vse16.v v8, (a0) 1377; CHECK-NEXT: ret 1378entry: 1379 call void @llvm.riscv.vse.nxv4bf16( 1380 <vscale x 4 x bfloat> %0, 1381 ptr %1, 1382 iXLen %2) 1383 1384 ret void 1385} 1386 1387declare void @llvm.riscv.vse.mask.nxv4bf16( 1388 <vscale x 4 x bfloat>, 1389 ptr, 1390 <vscale x 4 x i1>, 1391 iXLen); 1392 1393define void @intrinsic_vse_mask_v_nxv4bf16_nxv4bf16(<vscale x 4 x bfloat> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 1394; CHECK-LABEL: intrinsic_vse_mask_v_nxv4bf16_nxv4bf16: 1395; CHECK: # %bb.0: # %entry 1396; CHECK-NEXT: vsetvli zero, a1, e16, m1, ta, ma 1397; CHECK-NEXT: vse16.v v8, (a0), v0.t 1398; CHECK-NEXT: ret 1399entry: 1400 call void @llvm.riscv.vse.mask.nxv4bf16( 1401 <vscale x 4 x bfloat> %0, 1402 ptr %1, 1403 <vscale x 4 x i1> %2, 1404 iXLen %3) 1405 1406 ret void 1407} 1408 1409declare void @llvm.riscv.vse.nxv8bf16( 1410 <vscale x 8 x bfloat>, 1411 ptr, 1412 iXLen); 1413 1414define void @intrinsic_vse_v_nxv8bf16_nxv8bf16(<vscale x 8 x bfloat> %0, ptr %1, iXLen %2) nounwind { 1415; CHECK-LABEL: intrinsic_vse_v_nxv8bf16_nxv8bf16: 1416; CHECK: # %bb.0: # %entry 1417; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma 1418; CHECK-NEXT: vse16.v v8, (a0) 1419; CHECK-NEXT: ret 1420entry: 1421 call void @llvm.riscv.vse.nxv8bf16( 1422 <vscale x 8 x bfloat> %0, 1423 ptr %1, 1424 iXLen %2) 1425 1426 ret void 1427} 1428 1429declare void @llvm.riscv.vse.mask.nxv8bf16( 1430 <vscale x 8 x bfloat>, 1431 ptr, 1432 <vscale x 8 x i1>, 1433 iXLen); 1434 1435define void @intrinsic_vse_mask_v_nxv8bf16_nxv8bf16(<vscale x 8 x bfloat> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 1436; CHECK-LABEL: intrinsic_vse_mask_v_nxv8bf16_nxv8bf16: 1437; CHECK: # %bb.0: # %entry 1438; CHECK-NEXT: vsetvli zero, a1, e16, m2, ta, ma 1439; CHECK-NEXT: vse16.v v8, (a0), v0.t 1440; CHECK-NEXT: ret 1441entry: 1442 call void @llvm.riscv.vse.mask.nxv8bf16( 1443 <vscale x 8 x bfloat> %0, 1444 ptr %1, 1445 <vscale x 8 x i1> %2, 1446 iXLen %3) 1447 1448 ret void 1449} 1450 1451declare void @llvm.riscv.vse.nxv16bf16( 1452 <vscale x 16 x bfloat>, 1453 ptr, 1454 iXLen); 1455 1456define void @intrinsic_vse_v_nxv16bf16_nxv16bf16(<vscale x 16 x bfloat> %0, ptr %1, iXLen %2) nounwind { 1457; CHECK-LABEL: intrinsic_vse_v_nxv16bf16_nxv16bf16: 1458; CHECK: # %bb.0: # %entry 1459; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma 1460; CHECK-NEXT: vse16.v v8, (a0) 1461; CHECK-NEXT: ret 1462entry: 1463 call void @llvm.riscv.vse.nxv16bf16( 1464 <vscale x 16 x bfloat> %0, 1465 ptr %1, 1466 iXLen %2) 1467 1468 ret void 1469} 1470 1471declare void @llvm.riscv.vse.mask.nxv16bf16( 1472 <vscale x 16 x bfloat>, 1473 ptr, 1474 <vscale x 16 x i1>, 1475 iXLen); 1476 1477define void @intrinsic_vse_mask_v_nxv16bf16_nxv16bf16(<vscale x 16 x bfloat> %0, ptr %1, <vscale x 16 x i1> %2, iXLen %3) nounwind { 1478; CHECK-LABEL: intrinsic_vse_mask_v_nxv16bf16_nxv16bf16: 1479; CHECK: # %bb.0: # %entry 1480; CHECK-NEXT: vsetvli zero, a1, e16, m4, ta, ma 1481; CHECK-NEXT: vse16.v v8, (a0), v0.t 1482; CHECK-NEXT: ret 1483entry: 1484 call void @llvm.riscv.vse.mask.nxv16bf16( 1485 <vscale x 16 x bfloat> %0, 1486 ptr %1, 1487 <vscale x 16 x i1> %2, 1488 iXLen %3) 1489 1490 ret void 1491} 1492 1493declare void @llvm.riscv.vse.nxv32bf16( 1494 <vscale x 32 x bfloat>, 1495 ptr, 1496 iXLen); 1497 1498define void @intrinsic_vse_v_nxv32bf16_nxv32bf16(<vscale x 32 x bfloat> %0, ptr %1, iXLen %2) nounwind { 1499; CHECK-LABEL: intrinsic_vse_v_nxv32bf16_nxv32bf16: 1500; CHECK: # %bb.0: # %entry 1501; CHECK-NEXT: vsetvli zero, a1, e16, m8, ta, ma 1502; CHECK-NEXT: vse16.v v8, (a0) 1503; CHECK-NEXT: ret 1504entry: 1505 call void @llvm.riscv.vse.nxv32bf16( 1506 <vscale x 32 x bfloat> %0, 1507 ptr %1, 1508 iXLen %2) 1509 1510 ret void 1511} 1512 1513declare void @llvm.riscv.vse.mask.nxv32bf16( 1514 <vscale x 32 x bfloat>, 1515 ptr, 1516 <vscale x 32 x i1>, 1517 iXLen); 1518 1519define void @intrinsic_vse_mask_v_nxv32bf16_nxv32bf16(<vscale x 32 x bfloat> %0, ptr %1, <vscale x 32 x i1> %2, iXLen %3) nounwind { 1520; CHECK-LABEL: intrinsic_vse_mask_v_nxv32bf16_nxv32bf16: 1521; CHECK: # %bb.0: # %entry 1522; CHECK-NEXT: vsetvli zero, a1, e16, m8, ta, ma 1523; CHECK-NEXT: vse16.v v8, (a0), v0.t 1524; CHECK-NEXT: ret 1525entry: 1526 call void @llvm.riscv.vse.mask.nxv32bf16( 1527 <vscale x 32 x bfloat> %0, 1528 ptr %1, 1529 <vscale x 32 x i1> %2, 1530 iXLen %3) 1531 1532 ret void 1533} 1534 1535declare void @llvm.riscv.vse.nxv1i8( 1536 <vscale x 1 x i8>, 1537 ptr, 1538 iXLen); 1539 1540define void @intrinsic_vse_v_nxv1i8_nxv1i8(<vscale x 1 x i8> %0, ptr %1, iXLen %2) nounwind { 1541; CHECK-LABEL: intrinsic_vse_v_nxv1i8_nxv1i8: 1542; CHECK: # %bb.0: # %entry 1543; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma 1544; CHECK-NEXT: vse8.v v8, (a0) 1545; CHECK-NEXT: ret 1546entry: 1547 call void @llvm.riscv.vse.nxv1i8( 1548 <vscale x 1 x i8> %0, 1549 ptr %1, 1550 iXLen %2) 1551 1552 ret void 1553} 1554 1555declare void @llvm.riscv.vse.mask.nxv1i8( 1556 <vscale x 1 x i8>, 1557 ptr, 1558 <vscale x 1 x i1>, 1559 iXLen); 1560 1561define void @intrinsic_vse_mask_v_nxv1i8_nxv1i8(<vscale x 1 x i8> %0, ptr %1, <vscale x 1 x i1> %2, iXLen %3) nounwind { 1562; CHECK-LABEL: intrinsic_vse_mask_v_nxv1i8_nxv1i8: 1563; CHECK: # %bb.0: # %entry 1564; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma 1565; CHECK-NEXT: vse8.v v8, (a0), v0.t 1566; CHECK-NEXT: ret 1567entry: 1568 call void @llvm.riscv.vse.mask.nxv1i8( 1569 <vscale x 1 x i8> %0, 1570 ptr %1, 1571 <vscale x 1 x i1> %2, 1572 iXLen %3) 1573 1574 ret void 1575} 1576 1577declare void @llvm.riscv.vse.nxv2i8( 1578 <vscale x 2 x i8>, 1579 ptr, 1580 iXLen); 1581 1582define void @intrinsic_vse_v_nxv2i8_nxv2i8(<vscale x 2 x i8> %0, ptr %1, iXLen %2) nounwind { 1583; CHECK-LABEL: intrinsic_vse_v_nxv2i8_nxv2i8: 1584; CHECK: # %bb.0: # %entry 1585; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma 1586; CHECK-NEXT: vse8.v v8, (a0) 1587; CHECK-NEXT: ret 1588entry: 1589 call void @llvm.riscv.vse.nxv2i8( 1590 <vscale x 2 x i8> %0, 1591 ptr %1, 1592 iXLen %2) 1593 1594 ret void 1595} 1596 1597declare void @llvm.riscv.vse.mask.nxv2i8( 1598 <vscale x 2 x i8>, 1599 ptr, 1600 <vscale x 2 x i1>, 1601 iXLen); 1602 1603define void @intrinsic_vse_mask_v_nxv2i8_nxv2i8(<vscale x 2 x i8> %0, ptr %1, <vscale x 2 x i1> %2, iXLen %3) nounwind { 1604; CHECK-LABEL: intrinsic_vse_mask_v_nxv2i8_nxv2i8: 1605; CHECK: # %bb.0: # %entry 1606; CHECK-NEXT: vsetvli zero, a1, e8, mf4, ta, ma 1607; CHECK-NEXT: vse8.v v8, (a0), v0.t 1608; CHECK-NEXT: ret 1609entry: 1610 call void @llvm.riscv.vse.mask.nxv2i8( 1611 <vscale x 2 x i8> %0, 1612 ptr %1, 1613 <vscale x 2 x i1> %2, 1614 iXLen %3) 1615 1616 ret void 1617} 1618 1619declare void @llvm.riscv.vse.nxv4i8( 1620 <vscale x 4 x i8>, 1621 ptr, 1622 iXLen); 1623 1624define void @intrinsic_vse_v_nxv4i8_nxv4i8(<vscale x 4 x i8> %0, ptr %1, iXLen %2) nounwind { 1625; CHECK-LABEL: intrinsic_vse_v_nxv4i8_nxv4i8: 1626; CHECK: # %bb.0: # %entry 1627; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma 1628; CHECK-NEXT: vse8.v v8, (a0) 1629; CHECK-NEXT: ret 1630entry: 1631 call void @llvm.riscv.vse.nxv4i8( 1632 <vscale x 4 x i8> %0, 1633 ptr %1, 1634 iXLen %2) 1635 1636 ret void 1637} 1638 1639declare void @llvm.riscv.vse.mask.nxv4i8( 1640 <vscale x 4 x i8>, 1641 ptr, 1642 <vscale x 4 x i1>, 1643 iXLen); 1644 1645define void @intrinsic_vse_mask_v_nxv4i8_nxv4i8(<vscale x 4 x i8> %0, ptr %1, <vscale x 4 x i1> %2, iXLen %3) nounwind { 1646; CHECK-LABEL: intrinsic_vse_mask_v_nxv4i8_nxv4i8: 1647; CHECK: # %bb.0: # %entry 1648; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma 1649; CHECK-NEXT: vse8.v v8, (a0), v0.t 1650; CHECK-NEXT: ret 1651entry: 1652 call void @llvm.riscv.vse.mask.nxv4i8( 1653 <vscale x 4 x i8> %0, 1654 ptr %1, 1655 <vscale x 4 x i1> %2, 1656 iXLen %3) 1657 1658 ret void 1659} 1660 1661declare void @llvm.riscv.vse.nxv8i8( 1662 <vscale x 8 x i8>, 1663 ptr, 1664 iXLen); 1665 1666define void @intrinsic_vse_v_nxv8i8_nxv8i8(<vscale x 8 x i8> %0, ptr %1, iXLen %2) nounwind { 1667; CHECK-LABEL: intrinsic_vse_v_nxv8i8_nxv8i8: 1668; CHECK: # %bb.0: # %entry 1669; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma 1670; CHECK-NEXT: vse8.v v8, (a0) 1671; CHECK-NEXT: ret 1672entry: 1673 call void @llvm.riscv.vse.nxv8i8( 1674 <vscale x 8 x i8> %0, 1675 ptr %1, 1676 iXLen %2) 1677 1678 ret void 1679} 1680 1681declare void @llvm.riscv.vse.mask.nxv8i8( 1682 <vscale x 8 x i8>, 1683 ptr, 1684 <vscale x 8 x i1>, 1685 iXLen); 1686 1687define void @intrinsic_vse_mask_v_nxv8i8_nxv8i8(<vscale x 8 x i8> %0, ptr %1, <vscale x 8 x i1> %2, iXLen %3) nounwind { 1688; CHECK-LABEL: intrinsic_vse_mask_v_nxv8i8_nxv8i8: 1689; CHECK: # %bb.0: # %entry 1690; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma 1691; CHECK-NEXT: vse8.v v8, (a0), v0.t 1692; CHECK-NEXT: ret 1693entry: 1694 call void @llvm.riscv.vse.mask.nxv8i8( 1695 <vscale x 8 x i8> %0, 1696 ptr %1, 1697 <vscale x 8 x i1> %2, 1698 iXLen %3) 1699 1700 ret void 1701} 1702 1703declare void @llvm.riscv.vse.nxv16i8( 1704 <vscale x 16 x i8>, 1705 ptr, 1706 iXLen); 1707 1708define void @intrinsic_vse_v_nxv16i8_nxv16i8(<vscale x 16 x i8> %0, ptr %1, iXLen %2) nounwind { 1709; CHECK-LABEL: intrinsic_vse_v_nxv16i8_nxv16i8: 1710; CHECK: # %bb.0: # %entry 1711; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma 1712; CHECK-NEXT: vse8.v v8, (a0) 1713; CHECK-NEXT: ret 1714entry: 1715 call void @llvm.riscv.vse.nxv16i8( 1716 <vscale x 16 x i8> %0, 1717 ptr %1, 1718 iXLen %2) 1719 1720 ret void 1721} 1722 1723declare void @llvm.riscv.vse.mask.nxv16i8( 1724 <vscale x 16 x i8>, 1725 ptr, 1726 <vscale x 16 x i1>, 1727 iXLen); 1728 1729define void @intrinsic_vse_mask_v_nxv16i8_nxv16i8(<vscale x 16 x i8> %0, ptr %1, <vscale x 16 x i1> %2, iXLen %3) nounwind { 1730; CHECK-LABEL: intrinsic_vse_mask_v_nxv16i8_nxv16i8: 1731; CHECK: # %bb.0: # %entry 1732; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma 1733; CHECK-NEXT: vse8.v v8, (a0), v0.t 1734; CHECK-NEXT: ret 1735entry: 1736 call void @llvm.riscv.vse.mask.nxv16i8( 1737 <vscale x 16 x i8> %0, 1738 ptr %1, 1739 <vscale x 16 x i1> %2, 1740 iXLen %3) 1741 1742 ret void 1743} 1744 1745declare void @llvm.riscv.vse.nxv32i8( 1746 <vscale x 32 x i8>, 1747 ptr, 1748 iXLen); 1749 1750define void @intrinsic_vse_v_nxv32i8_nxv32i8(<vscale x 32 x i8> %0, ptr %1, iXLen %2) nounwind { 1751; CHECK-LABEL: intrinsic_vse_v_nxv32i8_nxv32i8: 1752; CHECK: # %bb.0: # %entry 1753; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma 1754; CHECK-NEXT: vse8.v v8, (a0) 1755; CHECK-NEXT: ret 1756entry: 1757 call void @llvm.riscv.vse.nxv32i8( 1758 <vscale x 32 x i8> %0, 1759 ptr %1, 1760 iXLen %2) 1761 1762 ret void 1763} 1764 1765declare void @llvm.riscv.vse.mask.nxv32i8( 1766 <vscale x 32 x i8>, 1767 ptr, 1768 <vscale x 32 x i1>, 1769 iXLen); 1770 1771define void @intrinsic_vse_mask_v_nxv32i8_nxv32i8(<vscale x 32 x i8> %0, ptr %1, <vscale x 32 x i1> %2, iXLen %3) nounwind { 1772; CHECK-LABEL: intrinsic_vse_mask_v_nxv32i8_nxv32i8: 1773; CHECK: # %bb.0: # %entry 1774; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma 1775; CHECK-NEXT: vse8.v v8, (a0), v0.t 1776; CHECK-NEXT: ret 1777entry: 1778 call void @llvm.riscv.vse.mask.nxv32i8( 1779 <vscale x 32 x i8> %0, 1780 ptr %1, 1781 <vscale x 32 x i1> %2, 1782 iXLen %3) 1783 1784 ret void 1785} 1786 1787declare void @llvm.riscv.vse.nxv64i8( 1788 <vscale x 64 x i8>, 1789 ptr, 1790 iXLen); 1791 1792define void @intrinsic_vse_v_nxv64i8_nxv64i8(<vscale x 64 x i8> %0, ptr %1, iXLen %2) nounwind { 1793; CHECK-LABEL: intrinsic_vse_v_nxv64i8_nxv64i8: 1794; CHECK: # %bb.0: # %entry 1795; CHECK-NEXT: vsetvli zero, a1, e8, m8, ta, ma 1796; CHECK-NEXT: vse8.v v8, (a0) 1797; CHECK-NEXT: ret 1798entry: 1799 call void @llvm.riscv.vse.nxv64i8( 1800 <vscale x 64 x i8> %0, 1801 ptr %1, 1802 iXLen %2) 1803 1804 ret void 1805} 1806 1807declare void @llvm.riscv.vse.mask.nxv64i8( 1808 <vscale x 64 x i8>, 1809 ptr, 1810 <vscale x 64 x i1>, 1811 iXLen); 1812 1813define void @intrinsic_vse_mask_v_nxv64i8_nxv64i8(<vscale x 64 x i8> %0, ptr %1, <vscale x 64 x i1> %2, iXLen %3) nounwind { 1814; CHECK-LABEL: intrinsic_vse_mask_v_nxv64i8_nxv64i8: 1815; CHECK: # %bb.0: # %entry 1816; CHECK-NEXT: vsetvli zero, a1, e8, m8, ta, ma 1817; CHECK-NEXT: vse8.v v8, (a0), v0.t 1818; CHECK-NEXT: ret 1819entry: 1820 call void @llvm.riscv.vse.mask.nxv64i8( 1821 <vscale x 64 x i8> %0, 1822 ptr %1, 1823 <vscale x 64 x i1> %2, 1824 iXLen %3) 1825 1826 ret void 1827} 1828