brintos

brintos / llvm-project-archived public Read only

0
0
Text · 216.4 KiB · 877a50c Raw
3375 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv64 -mattr=+zve64d,+f,+d,+zvfh,+zvfbfmin \3; RUN:     -verify-machineinstrs < %s | FileCheck %s4 5define target("riscv.vector.tuple", <vscale x 1 x i8>, 2) @test_vlseg2_nxv1i8_triscv.vector.tuple_nxv1i8_2t(ptr %base, i64 %vl) {6; CHECK-LABEL: test_vlseg2_nxv1i8_triscv.vector.tuple_nxv1i8_2t:7; CHECK:       # %bb.0: # %entry8; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma9; CHECK-NEXT:    vlseg2e8.v v8, (a0)10; CHECK-NEXT:    ret11entry:12  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv1i8_2t(target("riscv.vector.tuple", <vscale x 1 x i8>, 2) poison, ptr %base, i64 %vl, i64 3)13  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 2) %014}15define target("riscv.vector.tuple", <vscale x 1 x i8>, 2) @test_vlseg2_mask_nxv1i8_triscv.vector.tuple_nxv1i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {16; CHECK-LABEL: test_vlseg2_mask_nxv1i8_triscv.vector.tuple_nxv1i8_2t:17; CHECK:       # %bb.0: # %entry18; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma19; CHECK-NEXT:    vlseg2e8.v v8, (a0), v0.t20; CHECK-NEXT:    ret21entry:22  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv1i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 3)23  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 2) %024}25define target("riscv.vector.tuple", <vscale x 1 x i8>, 2) @test_vlseg2_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_2t(ptr %base, i64 %vl) {26; CHECK-LABEL: test_vlseg2_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_2t:27; CHECK:       # %bb.0: # %entry28; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma29; CHECK-NEXT:    vlseg2e8.v v8, (a0)30; CHECK-NEXT:    ret31entry:32  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv1i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> splat (i1 true), i64 %vl, i64 1, i64 3)33  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 2) %034}35define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_nxv2i8_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl) {36; CHECK-LABEL: test_vlseg2_nxv2i8_triscv.vector.tuple_nxv2i8_2t:37; CHECK:       # %bb.0: # %entry38; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma39; CHECK-NEXT:    vlseg2e8.v v8, (a0)40; CHECK-NEXT:    ret41entry:42  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv2i8_2t(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, i64 %vl, i64 3)43  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %044}45define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_mask_nxv2i8_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {46; CHECK-LABEL: test_vlseg2_mask_nxv2i8_triscv.vector.tuple_nxv2i8_2t:47; CHECK:       # %bb.0: # %entry48; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma49; CHECK-NEXT:    vlseg2e8.v v8, (a0), v0.t50; CHECK-NEXT:    ret51entry:52  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv2i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 3)53  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %054}55define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_nxv4i8_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl) {56; CHECK-LABEL: test_vlseg2_nxv4i8_triscv.vector.tuple_nxv4i8_2t:57; CHECK:       # %bb.0: # %entry58; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma59; CHECK-NEXT:    vlseg2e8.v v8, (a0)60; CHECK-NEXT:    ret61entry:62  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv4i8_2t(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, i64 %vl, i64 3)63  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %064}65define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_mask_nxv4i8_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {66; CHECK-LABEL: test_vlseg2_mask_nxv4i8_triscv.vector.tuple_nxv4i8_2t:67; CHECK:       # %bb.0: # %entry68; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma69; CHECK-NEXT:    vlseg2e8.v v8, (a0), v0.t70; CHECK-NEXT:    ret71entry:72  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv4i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 3)73  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %074}75define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv8i8_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {76; CHECK-LABEL: test_vlseg2_nxv8i8_triscv.vector.tuple_nxv8i8_2t:77; CHECK:       # %bb.0: # %entry78; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma79; CHECK-NEXT:    vlseg2e8.v v8, (a0)80; CHECK-NEXT:    ret81entry:82  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 3)83  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %084}85define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv8i8_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {86; CHECK-LABEL: test_vlseg2_mask_nxv8i8_triscv.vector.tuple_nxv8i8_2t:87; CHECK:       # %bb.0: # %entry88; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma89; CHECK-NEXT:    vlseg2e8.v v8, (a0), v0.t90; CHECK-NEXT:    ret91entry:92  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv8i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 3)93  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %094}95define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv16i8_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {96; CHECK-LABEL: test_vlseg2_nxv16i8_triscv.vector.tuple_nxv16i8_2t:97; CHECK:       # %bb.0: # %entry98; CHECK-NEXT:    vsetvli zero, a1, e8, m2, ta, ma99; CHECK-NEXT:    vlseg2e8.v v8, (a0)100; CHECK-NEXT:    ret101entry:102  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 3)103  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %0104}105define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv16i8_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 16 x i1> %mask) {106; CHECK-LABEL: test_vlseg2_mask_nxv16i8_triscv.vector.tuple_nxv16i8_2t:107; CHECK:       # %bb.0: # %entry108; CHECK-NEXT:    vsetvli zero, a1, e8, m2, ta, ma109; CHECK-NEXT:    vlseg2e8.v v8, (a0), v0.t110; CHECK-NEXT:    ret111entry:112  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv16i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 16 x i1> %mask, i64 %vl, i64 1, i64 3)113  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %0114}115define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv32i8_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {116; CHECK-LABEL: test_vlseg2_nxv32i8_triscv.vector.tuple_nxv32i8_2t:117; CHECK:       # %bb.0: # %entry118; CHECK-NEXT:    vsetvli zero, a1, e8, m4, ta, ma119; CHECK-NEXT:    vlseg2e8.v v8, (a0)120; CHECK-NEXT:    ret121entry:122  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 3)123  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %0124}125define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv32i8_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 32 x i1> %mask) {126; CHECK-LABEL: test_vlseg2_mask_nxv32i8_triscv.vector.tuple_nxv32i8_2t:127; CHECK:       # %bb.0: # %entry128; CHECK-NEXT:    vsetvli zero, a1, e8, m4, ta, ma129; CHECK-NEXT:    vlseg2e8.v v8, (a0), v0.t130; CHECK-NEXT:    ret131entry:132  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv32i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 32 x i1> %mask, i64 %vl, i64 1, i64 3)133  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %0134}135define target("riscv.vector.tuple", <vscale x 1 x i8>, 3) @test_vlseg3_nxv1i8_triscv.vector.tuple_nxv1i8_3t(ptr %base, i64 %vl) {136; CHECK-LABEL: test_vlseg3_nxv1i8_triscv.vector.tuple_nxv1i8_3t:137; CHECK:       # %bb.0: # %entry138; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma139; CHECK-NEXT:    vlseg3e8.v v8, (a0)140; CHECK-NEXT:    ret141entry:142  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv1i8_3t(target("riscv.vector.tuple", <vscale x 1 x i8>, 3) poison, ptr %base, i64 %vl, i64 3)143  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 3) %0144}145define target("riscv.vector.tuple", <vscale x 1 x i8>, 3) @test_vlseg3_mask_nxv1i8_triscv.vector.tuple_nxv1i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {146; CHECK-LABEL: test_vlseg3_mask_nxv1i8_triscv.vector.tuple_nxv1i8_3t:147; CHECK:       # %bb.0: # %entry148; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma149; CHECK-NEXT:    vlseg3e8.v v8, (a0), v0.t150; CHECK-NEXT:    ret151entry:152  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv1i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 3)153  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 3) %0154}155define target("riscv.vector.tuple", <vscale x 1 x i8>, 3) @test_vlseg3_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {156; CHECK-LABEL: test_vlseg3_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_3t:157; CHECK:       # %bb.0: # %entry158; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma159; CHECK-NEXT:    vlseg3e8.v v8, (a0)160; CHECK-NEXT:    ret161entry:162  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv1i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> splat (i1 true), i64 %vl, i64 1, i64 3)163  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 3) %0164}165define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_nxv2i8_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl) {166; CHECK-LABEL: test_vlseg3_nxv2i8_triscv.vector.tuple_nxv2i8_3t:167; CHECK:       # %bb.0: # %entry168; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma169; CHECK-NEXT:    vlseg3e8.v v8, (a0)170; CHECK-NEXT:    ret171entry:172  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv2i8_3t(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, i64 %vl, i64 3)173  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %0174}175define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_mask_nxv2i8_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {176; CHECK-LABEL: test_vlseg3_mask_nxv2i8_triscv.vector.tuple_nxv2i8_3t:177; CHECK:       # %bb.0: # %entry178; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma179; CHECK-NEXT:    vlseg3e8.v v8, (a0), v0.t180; CHECK-NEXT:    ret181entry:182  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv2i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 3)183  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %0184}185define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_nxv4i8_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl) {186; CHECK-LABEL: test_vlseg3_nxv4i8_triscv.vector.tuple_nxv4i8_3t:187; CHECK:       # %bb.0: # %entry188; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma189; CHECK-NEXT:    vlseg3e8.v v8, (a0)190; CHECK-NEXT:    ret191entry:192  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv4i8_3t(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, i64 %vl, i64 3)193  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %0194}195define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_mask_nxv4i8_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {196; CHECK-LABEL: test_vlseg3_mask_nxv4i8_triscv.vector.tuple_nxv4i8_3t:197; CHECK:       # %bb.0: # %entry198; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma199; CHECK-NEXT:    vlseg3e8.v v8, (a0), v0.t200; CHECK-NEXT:    ret201entry:202  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv4i8_3t.nxv4i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 3)203  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %0204}205define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv8i8_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {206; CHECK-LABEL: test_vlseg3_nxv8i8_triscv.vector.tuple_nxv8i8_3t:207; CHECK:       # %bb.0: # %entry208; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma209; CHECK-NEXT:    vlseg3e8.v v8, (a0)210; CHECK-NEXT:    ret211entry:212  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 3)213  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %0214}215define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv8i8_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {216; CHECK-LABEL: test_vlseg3_mask_nxv8i8_triscv.vector.tuple_nxv8i8_3t:217; CHECK:       # %bb.0: # %entry218; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma219; CHECK-NEXT:    vlseg3e8.v v8, (a0), v0.t220; CHECK-NEXT:    ret221entry:222  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv8i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 3)223  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %0224}225define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv16i8_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {226; CHECK-LABEL: test_vlseg3_nxv16i8_triscv.vector.tuple_nxv16i8_3t:227; CHECK:       # %bb.0: # %entry228; CHECK-NEXT:    vsetvli zero, a1, e8, m2, ta, ma229; CHECK-NEXT:    vlseg3e8.v v8, (a0)230; CHECK-NEXT:    ret231entry:232  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 3)233  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %0234}235define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv16i8_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 16 x i1> %mask) {236; CHECK-LABEL: test_vlseg3_mask_nxv16i8_triscv.vector.tuple_nxv16i8_3t:237; CHECK:       # %bb.0: # %entry238; CHECK-NEXT:    vsetvli zero, a1, e8, m2, ta, ma239; CHECK-NEXT:    vlseg3e8.v v8, (a0), v0.t240; CHECK-NEXT:    ret241entry:242  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv16i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 16 x i1> %mask, i64 %vl, i64 1, i64 3)243  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %0244}245define target("riscv.vector.tuple", <vscale x 1 x i8>, 4) @test_vlseg4_nxv1i8_triscv.vector.tuple_nxv1i8_4t(ptr %base, i64 %vl) {246; CHECK-LABEL: test_vlseg4_nxv1i8_triscv.vector.tuple_nxv1i8_4t:247; CHECK:       # %bb.0: # %entry248; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma249; CHECK-NEXT:    vlseg4e8.v v8, (a0)250; CHECK-NEXT:    ret251entry:252  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv1i8_4t(target("riscv.vector.tuple", <vscale x 1 x i8>, 4) poison, ptr %base, i64 %vl, i64 3)253  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 4) %0254}255define target("riscv.vector.tuple", <vscale x 1 x i8>, 4) @test_vlseg4_mask_nxv1i8_triscv.vector.tuple_nxv1i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {256; CHECK-LABEL: test_vlseg4_mask_nxv1i8_triscv.vector.tuple_nxv1i8_4t:257; CHECK:       # %bb.0: # %entry258; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma259; CHECK-NEXT:    vlseg4e8.v v8, (a0), v0.t260; CHECK-NEXT:    ret261entry:262  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv1i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 3)263  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 4) %0264}265define target("riscv.vector.tuple", <vscale x 1 x i8>, 4) @test_vlseg4_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {266; CHECK-LABEL: test_vlseg4_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_4t:267; CHECK:       # %bb.0: # %entry268; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma269; CHECK-NEXT:    vlseg4e8.v v8, (a0)270; CHECK-NEXT:    ret271entry:272  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv1i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> splat (i1 true), i64 %vl, i64 1, i64 3)273  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 4) %0274}275define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_nxv2i8_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl) {276; CHECK-LABEL: test_vlseg4_nxv2i8_triscv.vector.tuple_nxv2i8_4t:277; CHECK:       # %bb.0: # %entry278; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma279; CHECK-NEXT:    vlseg4e8.v v8, (a0)280; CHECK-NEXT:    ret281entry:282  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv2i8_4t(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, i64 %vl, i64 3)283  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %0284}285define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_mask_nxv2i8_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {286; CHECK-LABEL: test_vlseg4_mask_nxv2i8_triscv.vector.tuple_nxv2i8_4t:287; CHECK:       # %bb.0: # %entry288; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma289; CHECK-NEXT:    vlseg4e8.v v8, (a0), v0.t290; CHECK-NEXT:    ret291entry:292  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv2i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 3)293  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %0294}295define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_nxv4i8_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl) {296; CHECK-LABEL: test_vlseg4_nxv4i8_triscv.vector.tuple_nxv4i8_4t:297; CHECK:       # %bb.0: # %entry298; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma299; CHECK-NEXT:    vlseg4e8.v v8, (a0)300; CHECK-NEXT:    ret301entry:302  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv4i8_4t(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, i64 %vl, i64 3)303  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %0304}305define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_mask_nxv4i8_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {306; CHECK-LABEL: test_vlseg4_mask_nxv4i8_triscv.vector.tuple_nxv4i8_4t:307; CHECK:       # %bb.0: # %entry308; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma309; CHECK-NEXT:    vlseg4e8.v v8, (a0), v0.t310; CHECK-NEXT:    ret311entry:312  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv4i8_4t.nxv4i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 3)313  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %0314}315define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv8i8_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {316; CHECK-LABEL: test_vlseg4_nxv8i8_triscv.vector.tuple_nxv8i8_4t:317; CHECK:       # %bb.0: # %entry318; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma319; CHECK-NEXT:    vlseg4e8.v v8, (a0)320; CHECK-NEXT:    ret321entry:322  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 3)323  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %0324}325define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv8i8_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {326; CHECK-LABEL: test_vlseg4_mask_nxv8i8_triscv.vector.tuple_nxv8i8_4t:327; CHECK:       # %bb.0: # %entry328; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma329; CHECK-NEXT:    vlseg4e8.v v8, (a0), v0.t330; CHECK-NEXT:    ret331entry:332  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv8i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 3)333  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %0334}335define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv16i8_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {336; CHECK-LABEL: test_vlseg4_nxv16i8_triscv.vector.tuple_nxv16i8_4t:337; CHECK:       # %bb.0: # %entry338; CHECK-NEXT:    vsetvli zero, a1, e8, m2, ta, ma339; CHECK-NEXT:    vlseg4e8.v v8, (a0)340; CHECK-NEXT:    ret341entry:342  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 3)343  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %0344}345define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv16i8_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 16 x i1> %mask) {346; CHECK-LABEL: test_vlseg4_mask_nxv16i8_triscv.vector.tuple_nxv16i8_4t:347; CHECK:       # %bb.0: # %entry348; CHECK-NEXT:    vsetvli zero, a1, e8, m2, ta, ma349; CHECK-NEXT:    vlseg4e8.v v8, (a0), v0.t350; CHECK-NEXT:    ret351entry:352  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv16i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 16 x i1> %mask, i64 %vl, i64 1, i64 3)353  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %0354}355define target("riscv.vector.tuple", <vscale x 1 x i8>, 5) @test_vlseg5_nxv1i8_triscv.vector.tuple_nxv1i8_5t(ptr %base, i64 %vl) {356; CHECK-LABEL: test_vlseg5_nxv1i8_triscv.vector.tuple_nxv1i8_5t:357; CHECK:       # %bb.0: # %entry358; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma359; CHECK-NEXT:    vlseg5e8.v v8, (a0)360; CHECK-NEXT:    ret361entry:362  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv1i8_5t(target("riscv.vector.tuple", <vscale x 1 x i8>, 5) poison, ptr %base, i64 %vl, i64 3)363  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 5) %0364}365define target("riscv.vector.tuple", <vscale x 1 x i8>, 5) @test_vlseg5_mask_nxv1i8_triscv.vector.tuple_nxv1i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {366; CHECK-LABEL: test_vlseg5_mask_nxv1i8_triscv.vector.tuple_nxv1i8_5t:367; CHECK:       # %bb.0: # %entry368; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma369; CHECK-NEXT:    vlseg5e8.v v8, (a0), v0.t370; CHECK-NEXT:    ret371entry:372  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv1i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 3)373  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 5) %0374}375define target("riscv.vector.tuple", <vscale x 1 x i8>, 5) @test_vlseg5_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {376; CHECK-LABEL: test_vlseg5_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_5t:377; CHECK:       # %bb.0: # %entry378; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma379; CHECK-NEXT:    vlseg5e8.v v8, (a0)380; CHECK-NEXT:    ret381entry:382  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv1i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> splat (i1 true), i64 %vl, i64 1, i64 3)383  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 5) %0384}385define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_nxv2i8_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl) {386; CHECK-LABEL: test_vlseg5_nxv2i8_triscv.vector.tuple_nxv2i8_5t:387; CHECK:       # %bb.0: # %entry388; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma389; CHECK-NEXT:    vlseg5e8.v v8, (a0)390; CHECK-NEXT:    ret391entry:392  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv2i8_5t(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, i64 %vl, i64 3)393  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %0394}395define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_mask_nxv2i8_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {396; CHECK-LABEL: test_vlseg5_mask_nxv2i8_triscv.vector.tuple_nxv2i8_5t:397; CHECK:       # %bb.0: # %entry398; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma399; CHECK-NEXT:    vlseg5e8.v v8, (a0), v0.t400; CHECK-NEXT:    ret401entry:402  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv2i8_5t.nxv2i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 3)403  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %0404}405define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_nxv4i8_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl) {406; CHECK-LABEL: test_vlseg5_nxv4i8_triscv.vector.tuple_nxv4i8_5t:407; CHECK:       # %bb.0: # %entry408; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma409; CHECK-NEXT:    vlseg5e8.v v8, (a0)410; CHECK-NEXT:    ret411entry:412  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv4i8_5t(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, i64 %vl, i64 3)413  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %0414}415define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_mask_nxv4i8_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {416; CHECK-LABEL: test_vlseg5_mask_nxv4i8_triscv.vector.tuple_nxv4i8_5t:417; CHECK:       # %bb.0: # %entry418; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma419; CHECK-NEXT:    vlseg5e8.v v8, (a0), v0.t420; CHECK-NEXT:    ret421entry:422  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv4i8_5t.nxv4i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 3)423  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %0424}425define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv8i8_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {426; CHECK-LABEL: test_vlseg5_nxv8i8_triscv.vector.tuple_nxv8i8_5t:427; CHECK:       # %bb.0: # %entry428; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma429; CHECK-NEXT:    vlseg5e8.v v8, (a0)430; CHECK-NEXT:    ret431entry:432  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 3)433  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %0434}435define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv8i8_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {436; CHECK-LABEL: test_vlseg5_mask_nxv8i8_triscv.vector.tuple_nxv8i8_5t:437; CHECK:       # %bb.0: # %entry438; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma439; CHECK-NEXT:    vlseg5e8.v v8, (a0), v0.t440; CHECK-NEXT:    ret441entry:442  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv8i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 3)443  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %0444}445define target("riscv.vector.tuple", <vscale x 1 x i8>, 6) @test_vlseg6_nxv1i8_triscv.vector.tuple_nxv1i8_6t(ptr %base, i64 %vl) {446; CHECK-LABEL: test_vlseg6_nxv1i8_triscv.vector.tuple_nxv1i8_6t:447; CHECK:       # %bb.0: # %entry448; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma449; CHECK-NEXT:    vlseg6e8.v v8, (a0)450; CHECK-NEXT:    ret451entry:452  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv1i8_6t(target("riscv.vector.tuple", <vscale x 1 x i8>, 6) poison, ptr %base, i64 %vl, i64 3)453  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 6) %0454}455define target("riscv.vector.tuple", <vscale x 1 x i8>, 6) @test_vlseg6_mask_nxv1i8_triscv.vector.tuple_nxv1i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {456; CHECK-LABEL: test_vlseg6_mask_nxv1i8_triscv.vector.tuple_nxv1i8_6t:457; CHECK:       # %bb.0: # %entry458; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma459; CHECK-NEXT:    vlseg6e8.v v8, (a0), v0.t460; CHECK-NEXT:    ret461entry:462  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv1i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 3)463  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 6) %0464}465define target("riscv.vector.tuple", <vscale x 1 x i8>, 6) @test_vlseg6_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {466; CHECK-LABEL: test_vlseg6_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_6t:467; CHECK:       # %bb.0: # %entry468; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma469; CHECK-NEXT:    vlseg6e8.v v8, (a0)470; CHECK-NEXT:    ret471entry:472  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv1i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> splat (i1 true), i64 %vl, i64 1, i64 3)473  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 6) %0474}475define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_nxv2i8_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl) {476; CHECK-LABEL: test_vlseg6_nxv2i8_triscv.vector.tuple_nxv2i8_6t:477; CHECK:       # %bb.0: # %entry478; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma479; CHECK-NEXT:    vlseg6e8.v v8, (a0)480; CHECK-NEXT:    ret481entry:482  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv2i8_6t(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, i64 %vl, i64 3)483  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %0484}485define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_mask_nxv2i8_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {486; CHECK-LABEL: test_vlseg6_mask_nxv2i8_triscv.vector.tuple_nxv2i8_6t:487; CHECK:       # %bb.0: # %entry488; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma489; CHECK-NEXT:    vlseg6e8.v v8, (a0), v0.t490; CHECK-NEXT:    ret491entry:492  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv2i8_6t.nxv2i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 3)493  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %0494}495define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_nxv4i8_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl) {496; CHECK-LABEL: test_vlseg6_nxv4i8_triscv.vector.tuple_nxv4i8_6t:497; CHECK:       # %bb.0: # %entry498; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma499; CHECK-NEXT:    vlseg6e8.v v8, (a0)500; CHECK-NEXT:    ret501entry:502  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv4i8_6t(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, i64 %vl, i64 3)503  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %0504}505define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_mask_nxv4i8_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {506; CHECK-LABEL: test_vlseg6_mask_nxv4i8_triscv.vector.tuple_nxv4i8_6t:507; CHECK:       # %bb.0: # %entry508; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma509; CHECK-NEXT:    vlseg6e8.v v8, (a0), v0.t510; CHECK-NEXT:    ret511entry:512  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv4i8_6t.nxv4i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 3)513  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %0514}515define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv8i8_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {516; CHECK-LABEL: test_vlseg6_nxv8i8_triscv.vector.tuple_nxv8i8_6t:517; CHECK:       # %bb.0: # %entry518; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma519; CHECK-NEXT:    vlseg6e8.v v8, (a0)520; CHECK-NEXT:    ret521entry:522  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 3)523  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %0524}525define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv8i8_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {526; CHECK-LABEL: test_vlseg6_mask_nxv8i8_triscv.vector.tuple_nxv8i8_6t:527; CHECK:       # %bb.0: # %entry528; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma529; CHECK-NEXT:    vlseg6e8.v v8, (a0), v0.t530; CHECK-NEXT:    ret531entry:532  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv8i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 3)533  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %0534}535define target("riscv.vector.tuple", <vscale x 1 x i8>, 7) @test_vlseg7_nxv1i8_triscv.vector.tuple_nxv1i8_7t(ptr %base, i64 %vl) {536; CHECK-LABEL: test_vlseg7_nxv1i8_triscv.vector.tuple_nxv1i8_7t:537; CHECK:       # %bb.0: # %entry538; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma539; CHECK-NEXT:    vlseg7e8.v v8, (a0)540; CHECK-NEXT:    ret541entry:542  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv1i8_7t(target("riscv.vector.tuple", <vscale x 1 x i8>, 7) poison, ptr %base, i64 %vl, i64 3)543  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 7) %0544}545define target("riscv.vector.tuple", <vscale x 1 x i8>, 7) @test_vlseg7_mask_nxv1i8_triscv.vector.tuple_nxv1i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {546; CHECK-LABEL: test_vlseg7_mask_nxv1i8_triscv.vector.tuple_nxv1i8_7t:547; CHECK:       # %bb.0: # %entry548; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma549; CHECK-NEXT:    vlseg7e8.v v8, (a0), v0.t550; CHECK-NEXT:    ret551entry:552  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv1i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 3)553  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 7) %0554}555define target("riscv.vector.tuple", <vscale x 1 x i8>, 7) @test_vlseg7_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {556; CHECK-LABEL: test_vlseg7_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_7t:557; CHECK:       # %bb.0: # %entry558; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma559; CHECK-NEXT:    vlseg7e8.v v8, (a0)560; CHECK-NEXT:    ret561entry:562  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv1i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> splat (i1 true), i64 %vl, i64 1, i64 3)563  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 7) %0564}565define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_nxv2i8_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl) {566; CHECK-LABEL: test_vlseg7_nxv2i8_triscv.vector.tuple_nxv2i8_7t:567; CHECK:       # %bb.0: # %entry568; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma569; CHECK-NEXT:    vlseg7e8.v v8, (a0)570; CHECK-NEXT:    ret571entry:572  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv2i8_7t(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, i64 %vl, i64 3)573  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %0574}575define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_mask_nxv2i8_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {576; CHECK-LABEL: test_vlseg7_mask_nxv2i8_triscv.vector.tuple_nxv2i8_7t:577; CHECK:       # %bb.0: # %entry578; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma579; CHECK-NEXT:    vlseg7e8.v v8, (a0), v0.t580; CHECK-NEXT:    ret581entry:582  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv2i8_7t.nxv2i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 3)583  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %0584}585define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_nxv4i8_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl) {586; CHECK-LABEL: test_vlseg7_nxv4i8_triscv.vector.tuple_nxv4i8_7t:587; CHECK:       # %bb.0: # %entry588; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma589; CHECK-NEXT:    vlseg7e8.v v8, (a0)590; CHECK-NEXT:    ret591entry:592  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv4i8_7t(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, i64 %vl, i64 3)593  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %0594}595define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_mask_nxv4i8_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {596; CHECK-LABEL: test_vlseg7_mask_nxv4i8_triscv.vector.tuple_nxv4i8_7t:597; CHECK:       # %bb.0: # %entry598; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma599; CHECK-NEXT:    vlseg7e8.v v8, (a0), v0.t600; CHECK-NEXT:    ret601entry:602  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv4i8_7t.nxv4i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 3)603  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %0604}605define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv8i8_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {606; CHECK-LABEL: test_vlseg7_nxv8i8_triscv.vector.tuple_nxv8i8_7t:607; CHECK:       # %bb.0: # %entry608; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma609; CHECK-NEXT:    vlseg7e8.v v8, (a0)610; CHECK-NEXT:    ret611entry:612  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 3)613  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %0614}615define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv8i8_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {616; CHECK-LABEL: test_vlseg7_mask_nxv8i8_triscv.vector.tuple_nxv8i8_7t:617; CHECK:       # %bb.0: # %entry618; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma619; CHECK-NEXT:    vlseg7e8.v v8, (a0), v0.t620; CHECK-NEXT:    ret621entry:622  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv8i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 3)623  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %0624}625define target("riscv.vector.tuple", <vscale x 1 x i8>, 8) @test_vlseg8_nxv1i8_triscv.vector.tuple_nxv1i8_8t(ptr %base, i64 %vl) {626; CHECK-LABEL: test_vlseg8_nxv1i8_triscv.vector.tuple_nxv1i8_8t:627; CHECK:       # %bb.0: # %entry628; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma629; CHECK-NEXT:    vlseg8e8.v v8, (a0)630; CHECK-NEXT:    ret631entry:632  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv1i8_8t(target("riscv.vector.tuple", <vscale x 1 x i8>, 8) poison, ptr %base, i64 %vl, i64 3)633  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 8) %0634}635define target("riscv.vector.tuple", <vscale x 1 x i8>, 8) @test_vlseg8_mask_nxv1i8_triscv.vector.tuple_nxv1i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {636; CHECK-LABEL: test_vlseg8_mask_nxv1i8_triscv.vector.tuple_nxv1i8_8t:637; CHECK:       # %bb.0: # %entry638; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma639; CHECK-NEXT:    vlseg8e8.v v8, (a0), v0.t640; CHECK-NEXT:    ret641entry:642  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv1i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 3)643  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 8) %0644}645define target("riscv.vector.tuple", <vscale x 1 x i8>, 8) @test_vlseg8_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {646; CHECK-LABEL: test_vlseg8_allonesmask_nxv1i8_triscv.vector.tuple_nxv1i8_8t:647; CHECK:       # %bb.0: # %entry648; CHECK-NEXT:    vsetvli zero, a1, e8, mf8, ta, ma649; CHECK-NEXT:    vlseg8e8.v v8, (a0)650; CHECK-NEXT:    ret651entry:652  %0 = tail call target("riscv.vector.tuple", <vscale x 1 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv1i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 1 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> splat (i1 true), i64 %vl, i64 1, i64 3)653  ret target("riscv.vector.tuple", <vscale x 1 x i8>, 8) %0654}655define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_nxv2i8_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl) {656; CHECK-LABEL: test_vlseg8_nxv2i8_triscv.vector.tuple_nxv2i8_8t:657; CHECK:       # %bb.0: # %entry658; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma659; CHECK-NEXT:    vlseg8e8.v v8, (a0)660; CHECK-NEXT:    ret661entry:662  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv2i8_8t(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, i64 %vl, i64 3)663  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %0664}665define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_mask_nxv2i8_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {666; CHECK-LABEL: test_vlseg8_mask_nxv2i8_triscv.vector.tuple_nxv2i8_8t:667; CHECK:       # %bb.0: # %entry668; CHECK-NEXT:    vsetvli zero, a1, e8, mf4, ta, ma669; CHECK-NEXT:    vlseg8e8.v v8, (a0), v0.t670; CHECK-NEXT:    ret671entry:672  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv2i8_8t.nxv2i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 3)673  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %0674}675define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_nxv4i8_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl) {676; CHECK-LABEL: test_vlseg8_nxv4i8_triscv.vector.tuple_nxv4i8_8t:677; CHECK:       # %bb.0: # %entry678; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma679; CHECK-NEXT:    vlseg8e8.v v8, (a0)680; CHECK-NEXT:    ret681entry:682  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv4i8_8t(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, i64 %vl, i64 3)683  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %0684}685define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_mask_nxv4i8_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {686; CHECK-LABEL: test_vlseg8_mask_nxv4i8_triscv.vector.tuple_nxv4i8_8t:687; CHECK:       # %bb.0: # %entry688; CHECK-NEXT:    vsetvli zero, a1, e8, mf2, ta, ma689; CHECK-NEXT:    vlseg8e8.v v8, (a0), v0.t690; CHECK-NEXT:    ret691entry:692  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv4i8_8t.nxv4i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 3)693  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %0694}695define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv8i8_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {696; CHECK-LABEL: test_vlseg8_nxv8i8_triscv.vector.tuple_nxv8i8_8t:697; CHECK:       # %bb.0: # %entry698; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma699; CHECK-NEXT:    vlseg8e8.v v8, (a0)700; CHECK-NEXT:    ret701entry:702  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 3)703  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %0704}705define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv8i8_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {706; CHECK-LABEL: test_vlseg8_mask_nxv8i8_triscv.vector.tuple_nxv8i8_8t:707; CHECK:       # %bb.0: # %entry708; CHECK-NEXT:    vsetvli zero, a1, e8, m1, ta, ma709; CHECK-NEXT:    vlseg8e8.v v8, (a0), v0.t710; CHECK-NEXT:    ret711entry:712  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv8i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 3)713  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %0714}715define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_nxv1i16_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl) {716; CHECK-LABEL: test_vlseg2_nxv1i16_triscv.vector.tuple_nxv2i8_2t:717; CHECK:       # %bb.0: # %entry718; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma719; CHECK-NEXT:    vlseg2e16.v v8, (a0)720; CHECK-NEXT:    ret721entry:722  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv2i8_2t(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)723  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %0724}725define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_mask_nxv1i16_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {726; CHECK-LABEL: test_vlseg2_mask_nxv1i16_triscv.vector.tuple_nxv2i8_2t:727; CHECK:       # %bb.0: # %entry728; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma729; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t730; CHECK-NEXT:    ret731entry:732  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv2i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)733  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %0734}735define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_nxv2i16_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl) {736; CHECK-LABEL: test_vlseg2_nxv2i16_triscv.vector.tuple_nxv4i8_2t:737; CHECK:       # %bb.0: # %entry738; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma739; CHECK-NEXT:    vlseg2e16.v v8, (a0)740; CHECK-NEXT:    ret741entry:742  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv4i8_2t(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)743  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %0744}745define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_mask_nxv2i16_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {746; CHECK-LABEL: test_vlseg2_mask_nxv2i16_triscv.vector.tuple_nxv4i8_2t:747; CHECK:       # %bb.0: # %entry748; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma749; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t750; CHECK-NEXT:    ret751entry:752  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv4i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)753  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %0754}755define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv4i16_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {756; CHECK-LABEL: test_vlseg2_nxv4i16_triscv.vector.tuple_nxv8i8_2t:757; CHECK:       # %bb.0: # %entry758; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma759; CHECK-NEXT:    vlseg2e16.v v8, (a0)760; CHECK-NEXT:    ret761entry:762  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)763  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %0764}765define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv4i16_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {766; CHECK-LABEL: test_vlseg2_mask_nxv4i16_triscv.vector.tuple_nxv8i8_2t:767; CHECK:       # %bb.0: # %entry768; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma769; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t770; CHECK-NEXT:    ret771entry:772  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)773  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %0774}775define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv8i16_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {776; CHECK-LABEL: test_vlseg2_nxv8i16_triscv.vector.tuple_nxv16i8_2t:777; CHECK:       # %bb.0: # %entry778; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma779; CHECK-NEXT:    vlseg2e16.v v8, (a0)780; CHECK-NEXT:    ret781entry:782  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)783  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %0784}785define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv8i16_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {786; CHECK-LABEL: test_vlseg2_mask_nxv8i16_triscv.vector.tuple_nxv16i8_2t:787; CHECK:       # %bb.0: # %entry788; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma789; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t790; CHECK-NEXT:    ret791entry:792  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)793  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %0794}795define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv16i16_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {796; CHECK-LABEL: test_vlseg2_nxv16i16_triscv.vector.tuple_nxv32i8_2t:797; CHECK:       # %bb.0: # %entry798; CHECK-NEXT:    vsetvli zero, a1, e16, m4, ta, ma799; CHECK-NEXT:    vlseg2e16.v v8, (a0)800; CHECK-NEXT:    ret801entry:802  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)803  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %0804}805define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv16i16_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 16 x i1> %mask) {806; CHECK-LABEL: test_vlseg2_mask_nxv16i16_triscv.vector.tuple_nxv32i8_2t:807; CHECK:       # %bb.0: # %entry808; CHECK-NEXT:    vsetvli zero, a1, e16, m4, ta, ma809; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t810; CHECK-NEXT:    ret811entry:812  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv16i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 16 x i1> %mask, i64 %vl, i64 1, i64 4)813  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %0814}815define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_nxv1i16_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl) {816; CHECK-LABEL: test_vlseg3_nxv1i16_triscv.vector.tuple_nxv2i8_3t:817; CHECK:       # %bb.0: # %entry818; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma819; CHECK-NEXT:    vlseg3e16.v v8, (a0)820; CHECK-NEXT:    ret821entry:822  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv2i8_3t(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)823  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %0824}825define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_mask_nxv1i16_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {826; CHECK-LABEL: test_vlseg3_mask_nxv1i16_triscv.vector.tuple_nxv2i8_3t:827; CHECK:       # %bb.0: # %entry828; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma829; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t830; CHECK-NEXT:    ret831entry:832  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv2i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)833  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %0834}835define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_nxv2i16_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl) {836; CHECK-LABEL: test_vlseg3_nxv2i16_triscv.vector.tuple_nxv4i8_3t:837; CHECK:       # %bb.0: # %entry838; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma839; CHECK-NEXT:    vlseg3e16.v v8, (a0)840; CHECK-NEXT:    ret841entry:842  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv4i8_3t(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)843  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %0844}845define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_mask_nxv2i16_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {846; CHECK-LABEL: test_vlseg3_mask_nxv2i16_triscv.vector.tuple_nxv4i8_3t:847; CHECK:       # %bb.0: # %entry848; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma849; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t850; CHECK-NEXT:    ret851entry:852  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv4i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)853  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %0854}855define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv4i16_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {856; CHECK-LABEL: test_vlseg3_nxv4i16_triscv.vector.tuple_nxv8i8_3t:857; CHECK:       # %bb.0: # %entry858; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma859; CHECK-NEXT:    vlseg3e16.v v8, (a0)860; CHECK-NEXT:    ret861entry:862  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)863  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %0864}865define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv4i16_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {866; CHECK-LABEL: test_vlseg3_mask_nxv4i16_triscv.vector.tuple_nxv8i8_3t:867; CHECK:       # %bb.0: # %entry868; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma869; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t870; CHECK-NEXT:    ret871entry:872  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)873  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %0874}875define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv8i16_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {876; CHECK-LABEL: test_vlseg3_nxv8i16_triscv.vector.tuple_nxv16i8_3t:877; CHECK:       # %bb.0: # %entry878; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma879; CHECK-NEXT:    vlseg3e16.v v8, (a0)880; CHECK-NEXT:    ret881entry:882  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)883  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %0884}885define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv8i16_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {886; CHECK-LABEL: test_vlseg3_mask_nxv8i16_triscv.vector.tuple_nxv16i8_3t:887; CHECK:       # %bb.0: # %entry888; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma889; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t890; CHECK-NEXT:    ret891entry:892  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)893  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %0894}895define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_nxv1i16_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl) {896; CHECK-LABEL: test_vlseg4_nxv1i16_triscv.vector.tuple_nxv2i8_4t:897; CHECK:       # %bb.0: # %entry898; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma899; CHECK-NEXT:    vlseg4e16.v v8, (a0)900; CHECK-NEXT:    ret901entry:902  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv2i8_4t(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)903  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %0904}905define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_mask_nxv1i16_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {906; CHECK-LABEL: test_vlseg4_mask_nxv1i16_triscv.vector.tuple_nxv2i8_4t:907; CHECK:       # %bb.0: # %entry908; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma909; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t910; CHECK-NEXT:    ret911entry:912  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv2i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)913  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %0914}915define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_nxv2i16_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl) {916; CHECK-LABEL: test_vlseg4_nxv2i16_triscv.vector.tuple_nxv4i8_4t:917; CHECK:       # %bb.0: # %entry918; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma919; CHECK-NEXT:    vlseg4e16.v v8, (a0)920; CHECK-NEXT:    ret921entry:922  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv4i8_4t(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)923  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %0924}925define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_mask_nxv2i16_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {926; CHECK-LABEL: test_vlseg4_mask_nxv2i16_triscv.vector.tuple_nxv4i8_4t:927; CHECK:       # %bb.0: # %entry928; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma929; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t930; CHECK-NEXT:    ret931entry:932  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv4i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)933  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %0934}935define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv4i16_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {936; CHECK-LABEL: test_vlseg4_nxv4i16_triscv.vector.tuple_nxv8i8_4t:937; CHECK:       # %bb.0: # %entry938; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma939; CHECK-NEXT:    vlseg4e16.v v8, (a0)940; CHECK-NEXT:    ret941entry:942  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)943  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %0944}945define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv4i16_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {946; CHECK-LABEL: test_vlseg4_mask_nxv4i16_triscv.vector.tuple_nxv8i8_4t:947; CHECK:       # %bb.0: # %entry948; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma949; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t950; CHECK-NEXT:    ret951entry:952  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)953  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %0954}955define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv8i16_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {956; CHECK-LABEL: test_vlseg4_nxv8i16_triscv.vector.tuple_nxv16i8_4t:957; CHECK:       # %bb.0: # %entry958; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma959; CHECK-NEXT:    vlseg4e16.v v8, (a0)960; CHECK-NEXT:    ret961entry:962  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)963  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %0964}965define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv8i16_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {966; CHECK-LABEL: test_vlseg4_mask_nxv8i16_triscv.vector.tuple_nxv16i8_4t:967; CHECK:       # %bb.0: # %entry968; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma969; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t970; CHECK-NEXT:    ret971entry:972  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)973  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %0974}975define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_nxv1i16_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl) {976; CHECK-LABEL: test_vlseg5_nxv1i16_triscv.vector.tuple_nxv2i8_5t:977; CHECK:       # %bb.0: # %entry978; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma979; CHECK-NEXT:    vlseg5e16.v v8, (a0)980; CHECK-NEXT:    ret981entry:982  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv2i8_5t(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)983  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %0984}985define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_mask_nxv1i16_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {986; CHECK-LABEL: test_vlseg5_mask_nxv1i16_triscv.vector.tuple_nxv2i8_5t:987; CHECK:       # %bb.0: # %entry988; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma989; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t990; CHECK-NEXT:    ret991entry:992  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv2i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)993  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %0994}995define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_nxv2i16_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl) {996; CHECK-LABEL: test_vlseg5_nxv2i16_triscv.vector.tuple_nxv4i8_5t:997; CHECK:       # %bb.0: # %entry998; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma999; CHECK-NEXT:    vlseg5e16.v v8, (a0)1000; CHECK-NEXT:    ret1001entry:1002  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv4i8_5t(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)1003  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %01004}1005define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_mask_nxv2i16_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1006; CHECK-LABEL: test_vlseg5_mask_nxv2i16_triscv.vector.tuple_nxv4i8_5t:1007; CHECK:       # %bb.0: # %entry1008; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1009; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t1010; CHECK-NEXT:    ret1011entry:1012  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv4i8_5t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)1013  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %01014}1015define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv4i16_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {1016; CHECK-LABEL: test_vlseg5_nxv4i16_triscv.vector.tuple_nxv8i8_5t:1017; CHECK:       # %bb.0: # %entry1018; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1019; CHECK-NEXT:    vlseg5e16.v v8, (a0)1020; CHECK-NEXT:    ret1021entry:1022  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)1023  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %01024}1025define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv4i16_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1026; CHECK-LABEL: test_vlseg5_mask_nxv4i16_triscv.vector.tuple_nxv8i8_5t:1027; CHECK:       # %bb.0: # %entry1028; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1029; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t1030; CHECK-NEXT:    ret1031entry:1032  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)1033  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %01034}1035define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_nxv1i16_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl) {1036; CHECK-LABEL: test_vlseg6_nxv1i16_triscv.vector.tuple_nxv2i8_6t:1037; CHECK:       # %bb.0: # %entry1038; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1039; CHECK-NEXT:    vlseg6e16.v v8, (a0)1040; CHECK-NEXT:    ret1041entry:1042  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv2i8_6t(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)1043  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %01044}1045define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_mask_nxv1i16_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1046; CHECK-LABEL: test_vlseg6_mask_nxv1i16_triscv.vector.tuple_nxv2i8_6t:1047; CHECK:       # %bb.0: # %entry1048; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1049; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t1050; CHECK-NEXT:    ret1051entry:1052  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv2i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)1053  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %01054}1055define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_nxv2i16_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl) {1056; CHECK-LABEL: test_vlseg6_nxv2i16_triscv.vector.tuple_nxv4i8_6t:1057; CHECK:       # %bb.0: # %entry1058; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1059; CHECK-NEXT:    vlseg6e16.v v8, (a0)1060; CHECK-NEXT:    ret1061entry:1062  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv4i8_6t(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)1063  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %01064}1065define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_mask_nxv2i16_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1066; CHECK-LABEL: test_vlseg6_mask_nxv2i16_triscv.vector.tuple_nxv4i8_6t:1067; CHECK:       # %bb.0: # %entry1068; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1069; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t1070; CHECK-NEXT:    ret1071entry:1072  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv4i8_6t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)1073  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %01074}1075define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv4i16_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {1076; CHECK-LABEL: test_vlseg6_nxv4i16_triscv.vector.tuple_nxv8i8_6t:1077; CHECK:       # %bb.0: # %entry1078; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1079; CHECK-NEXT:    vlseg6e16.v v8, (a0)1080; CHECK-NEXT:    ret1081entry:1082  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)1083  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %01084}1085define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv4i16_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1086; CHECK-LABEL: test_vlseg6_mask_nxv4i16_triscv.vector.tuple_nxv8i8_6t:1087; CHECK:       # %bb.0: # %entry1088; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1089; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t1090; CHECK-NEXT:    ret1091entry:1092  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)1093  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %01094}1095define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_nxv1i16_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl) {1096; CHECK-LABEL: test_vlseg7_nxv1i16_triscv.vector.tuple_nxv2i8_7t:1097; CHECK:       # %bb.0: # %entry1098; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1099; CHECK-NEXT:    vlseg7e16.v v8, (a0)1100; CHECK-NEXT:    ret1101entry:1102  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv2i8_7t(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)1103  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %01104}1105define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_mask_nxv1i16_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1106; CHECK-LABEL: test_vlseg7_mask_nxv1i16_triscv.vector.tuple_nxv2i8_7t:1107; CHECK:       # %bb.0: # %entry1108; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1109; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t1110; CHECK-NEXT:    ret1111entry:1112  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv2i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)1113  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %01114}1115define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_nxv2i16_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl) {1116; CHECK-LABEL: test_vlseg7_nxv2i16_triscv.vector.tuple_nxv4i8_7t:1117; CHECK:       # %bb.0: # %entry1118; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1119; CHECK-NEXT:    vlseg7e16.v v8, (a0)1120; CHECK-NEXT:    ret1121entry:1122  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv4i8_7t(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)1123  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %01124}1125define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_mask_nxv2i16_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1126; CHECK-LABEL: test_vlseg7_mask_nxv2i16_triscv.vector.tuple_nxv4i8_7t:1127; CHECK:       # %bb.0: # %entry1128; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1129; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t1130; CHECK-NEXT:    ret1131entry:1132  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv4i8_7t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)1133  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %01134}1135define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv4i16_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {1136; CHECK-LABEL: test_vlseg7_nxv4i16_triscv.vector.tuple_nxv8i8_7t:1137; CHECK:       # %bb.0: # %entry1138; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1139; CHECK-NEXT:    vlseg7e16.v v8, (a0)1140; CHECK-NEXT:    ret1141entry:1142  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)1143  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %01144}1145define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv4i16_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1146; CHECK-LABEL: test_vlseg7_mask_nxv4i16_triscv.vector.tuple_nxv8i8_7t:1147; CHECK:       # %bb.0: # %entry1148; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1149; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t1150; CHECK-NEXT:    ret1151entry:1152  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)1153  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %01154}1155define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_nxv1i16_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl) {1156; CHECK-LABEL: test_vlseg8_nxv1i16_triscv.vector.tuple_nxv2i8_8t:1157; CHECK:       # %bb.0: # %entry1158; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1159; CHECK-NEXT:    vlseg8e16.v v8, (a0)1160; CHECK-NEXT:    ret1161entry:1162  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv2i8_8t(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)1163  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %01164}1165define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_mask_nxv1i16_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1166; CHECK-LABEL: test_vlseg8_mask_nxv1i16_triscv.vector.tuple_nxv2i8_8t:1167; CHECK:       # %bb.0: # %entry1168; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1169; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t1170; CHECK-NEXT:    ret1171entry:1172  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv2i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)1173  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %01174}1175define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_nxv2i16_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl) {1176; CHECK-LABEL: test_vlseg8_nxv2i16_triscv.vector.tuple_nxv4i8_8t:1177; CHECK:       # %bb.0: # %entry1178; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1179; CHECK-NEXT:    vlseg8e16.v v8, (a0)1180; CHECK-NEXT:    ret1181entry:1182  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv4i8_8t(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)1183  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %01184}1185define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_mask_nxv2i16_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1186; CHECK-LABEL: test_vlseg8_mask_nxv2i16_triscv.vector.tuple_nxv4i8_8t:1187; CHECK:       # %bb.0: # %entry1188; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1189; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t1190; CHECK-NEXT:    ret1191entry:1192  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv4i8_8t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)1193  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %01194}1195define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv4i16_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {1196; CHECK-LABEL: test_vlseg8_nxv4i16_triscv.vector.tuple_nxv8i8_8t:1197; CHECK:       # %bb.0: # %entry1198; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1199; CHECK-NEXT:    vlseg8e16.v v8, (a0)1200; CHECK-NEXT:    ret1201entry:1202  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)1203  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %01204}1205define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv4i16_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1206; CHECK-LABEL: test_vlseg8_mask_nxv4i16_triscv.vector.tuple_nxv8i8_8t:1207; CHECK:       # %bb.0: # %entry1208; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1209; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t1210; CHECK-NEXT:    ret1211entry:1212  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)1213  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %01214}1215define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_nxv1i32_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl) {1216; CHECK-LABEL: test_vlseg2_nxv1i32_triscv.vector.tuple_nxv4i8_2t:1217; CHECK:       # %bb.0: # %entry1218; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1219; CHECK-NEXT:    vlseg2e32.v v8, (a0)1220; CHECK-NEXT:    ret1221entry:1222  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv4i8_2t(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)1223  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %01224}1225define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_mask_nxv1i32_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1226; CHECK-LABEL: test_vlseg2_mask_nxv1i32_triscv.vector.tuple_nxv4i8_2t:1227; CHECK:       # %bb.0: # %entry1228; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1229; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t1230; CHECK-NEXT:    ret1231entry:1232  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv4i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)1233  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %01234}1235define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv2i32_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {1236; CHECK-LABEL: test_vlseg2_nxv2i32_triscv.vector.tuple_nxv8i8_2t:1237; CHECK:       # %bb.0: # %entry1238; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1239; CHECK-NEXT:    vlseg2e32.v v8, (a0)1240; CHECK-NEXT:    ret1241entry:1242  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)1243  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %01244}1245define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv2i32_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1246; CHECK-LABEL: test_vlseg2_mask_nxv2i32_triscv.vector.tuple_nxv8i8_2t:1247; CHECK:       # %bb.0: # %entry1248; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1249; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t1250; CHECK-NEXT:    ret1251entry:1252  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)1253  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %01254}1255define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv4i32_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {1256; CHECK-LABEL: test_vlseg2_nxv4i32_triscv.vector.tuple_nxv16i8_2t:1257; CHECK:       # %bb.0: # %entry1258; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma1259; CHECK-NEXT:    vlseg2e32.v v8, (a0)1260; CHECK-NEXT:    ret1261entry:1262  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)1263  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %01264}1265define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv4i32_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1266; CHECK-LABEL: test_vlseg2_mask_nxv4i32_triscv.vector.tuple_nxv16i8_2t:1267; CHECK:       # %bb.0: # %entry1268; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma1269; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t1270; CHECK-NEXT:    ret1271entry:1272  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 5)1273  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %01274}1275define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv8i32_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {1276; CHECK-LABEL: test_vlseg2_nxv8i32_triscv.vector.tuple_nxv32i8_2t:1277; CHECK:       # %bb.0: # %entry1278; CHECK-NEXT:    vsetvli zero, a1, e32, m4, ta, ma1279; CHECK-NEXT:    vlseg2e32.v v8, (a0)1280; CHECK-NEXT:    ret1281entry:1282  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)1283  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %01284}1285define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv8i32_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {1286; CHECK-LABEL: test_vlseg2_mask_nxv8i32_triscv.vector.tuple_nxv32i8_2t:1287; CHECK:       # %bb.0: # %entry1288; CHECK-NEXT:    vsetvli zero, a1, e32, m4, ta, ma1289; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t1290; CHECK-NEXT:    ret1291entry:1292  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv8i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 5)1293  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %01294}1295define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_nxv1i32_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl) {1296; CHECK-LABEL: test_vlseg3_nxv1i32_triscv.vector.tuple_nxv4i8_3t:1297; CHECK:       # %bb.0: # %entry1298; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1299; CHECK-NEXT:    vlseg3e32.v v8, (a0)1300; CHECK-NEXT:    ret1301entry:1302  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv4i8_3t(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, i64 %vl, i64 5)1303  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %01304}1305define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_mask_nxv1i32_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1306; CHECK-LABEL: test_vlseg3_mask_nxv1i32_triscv.vector.tuple_nxv4i8_3t:1307; CHECK:       # %bb.0: # %entry1308; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1309; CHECK-NEXT:    vlseg3e32.v v8, (a0), v0.t1310; CHECK-NEXT:    ret1311entry:1312  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv4i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)1313  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %01314}1315define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv2i32_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {1316; CHECK-LABEL: test_vlseg3_nxv2i32_triscv.vector.tuple_nxv8i8_3t:1317; CHECK:       # %bb.0: # %entry1318; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1319; CHECK-NEXT:    vlseg3e32.v v8, (a0)1320; CHECK-NEXT:    ret1321entry:1322  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 5)1323  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %01324}1325define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv2i32_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1326; CHECK-LABEL: test_vlseg3_mask_nxv2i32_triscv.vector.tuple_nxv8i8_3t:1327; CHECK:       # %bb.0: # %entry1328; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1329; CHECK-NEXT:    vlseg3e32.v v8, (a0), v0.t1330; CHECK-NEXT:    ret1331entry:1332  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)1333  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %01334}1335define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv4i32_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {1336; CHECK-LABEL: test_vlseg3_nxv4i32_triscv.vector.tuple_nxv16i8_3t:1337; CHECK:       # %bb.0: # %entry1338; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma1339; CHECK-NEXT:    vlseg3e32.v v8, (a0)1340; CHECK-NEXT:    ret1341entry:1342  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 5)1343  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %01344}1345define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv4i32_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1346; CHECK-LABEL: test_vlseg3_mask_nxv4i32_triscv.vector.tuple_nxv16i8_3t:1347; CHECK:       # %bb.0: # %entry1348; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma1349; CHECK-NEXT:    vlseg3e32.v v8, (a0), v0.t1350; CHECK-NEXT:    ret1351entry:1352  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv4i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 5)1353  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %01354}1355define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_nxv1i32_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl) {1356; CHECK-LABEL: test_vlseg4_nxv1i32_triscv.vector.tuple_nxv4i8_4t:1357; CHECK:       # %bb.0: # %entry1358; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1359; CHECK-NEXT:    vlseg4e32.v v8, (a0)1360; CHECK-NEXT:    ret1361entry:1362  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv4i8_4t(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, i64 %vl, i64 5)1363  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %01364}1365define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_mask_nxv1i32_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1366; CHECK-LABEL: test_vlseg4_mask_nxv1i32_triscv.vector.tuple_nxv4i8_4t:1367; CHECK:       # %bb.0: # %entry1368; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1369; CHECK-NEXT:    vlseg4e32.v v8, (a0), v0.t1370; CHECK-NEXT:    ret1371entry:1372  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv4i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)1373  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %01374}1375define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv2i32_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {1376; CHECK-LABEL: test_vlseg4_nxv2i32_triscv.vector.tuple_nxv8i8_4t:1377; CHECK:       # %bb.0: # %entry1378; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1379; CHECK-NEXT:    vlseg4e32.v v8, (a0)1380; CHECK-NEXT:    ret1381entry:1382  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 5)1383  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %01384}1385define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv2i32_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1386; CHECK-LABEL: test_vlseg4_mask_nxv2i32_triscv.vector.tuple_nxv8i8_4t:1387; CHECK:       # %bb.0: # %entry1388; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1389; CHECK-NEXT:    vlseg4e32.v v8, (a0), v0.t1390; CHECK-NEXT:    ret1391entry:1392  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)1393  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %01394}1395define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv4i32_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {1396; CHECK-LABEL: test_vlseg4_nxv4i32_triscv.vector.tuple_nxv16i8_4t:1397; CHECK:       # %bb.0: # %entry1398; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma1399; CHECK-NEXT:    vlseg4e32.v v8, (a0)1400; CHECK-NEXT:    ret1401entry:1402  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 5)1403  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %01404}1405define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv4i32_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1406; CHECK-LABEL: test_vlseg4_mask_nxv4i32_triscv.vector.tuple_nxv16i8_4t:1407; CHECK:       # %bb.0: # %entry1408; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma1409; CHECK-NEXT:    vlseg4e32.v v8, (a0), v0.t1410; CHECK-NEXT:    ret1411entry:1412  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv4i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 5)1413  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %01414}1415define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_nxv1i32_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl) {1416; CHECK-LABEL: test_vlseg5_nxv1i32_triscv.vector.tuple_nxv4i8_5t:1417; CHECK:       # %bb.0: # %entry1418; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1419; CHECK-NEXT:    vlseg5e32.v v8, (a0)1420; CHECK-NEXT:    ret1421entry:1422  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv4i8_5t(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, i64 %vl, i64 5)1423  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %01424}1425define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_mask_nxv1i32_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1426; CHECK-LABEL: test_vlseg5_mask_nxv1i32_triscv.vector.tuple_nxv4i8_5t:1427; CHECK:       # %bb.0: # %entry1428; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1429; CHECK-NEXT:    vlseg5e32.v v8, (a0), v0.t1430; CHECK-NEXT:    ret1431entry:1432  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv4i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)1433  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %01434}1435define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv2i32_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {1436; CHECK-LABEL: test_vlseg5_nxv2i32_triscv.vector.tuple_nxv8i8_5t:1437; CHECK:       # %bb.0: # %entry1438; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1439; CHECK-NEXT:    vlseg5e32.v v8, (a0)1440; CHECK-NEXT:    ret1441entry:1442  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 5)1443  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %01444}1445define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv2i32_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1446; CHECK-LABEL: test_vlseg5_mask_nxv2i32_triscv.vector.tuple_nxv8i8_5t:1447; CHECK:       # %bb.0: # %entry1448; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1449; CHECK-NEXT:    vlseg5e32.v v8, (a0), v0.t1450; CHECK-NEXT:    ret1451entry:1452  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)1453  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %01454}1455define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_nxv1i32_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl) {1456; CHECK-LABEL: test_vlseg6_nxv1i32_triscv.vector.tuple_nxv4i8_6t:1457; CHECK:       # %bb.0: # %entry1458; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1459; CHECK-NEXT:    vlseg6e32.v v8, (a0)1460; CHECK-NEXT:    ret1461entry:1462  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv4i8_6t(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, i64 %vl, i64 5)1463  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %01464}1465define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_mask_nxv1i32_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1466; CHECK-LABEL: test_vlseg6_mask_nxv1i32_triscv.vector.tuple_nxv4i8_6t:1467; CHECK:       # %bb.0: # %entry1468; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1469; CHECK-NEXT:    vlseg6e32.v v8, (a0), v0.t1470; CHECK-NEXT:    ret1471entry:1472  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv4i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)1473  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %01474}1475define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv2i32_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {1476; CHECK-LABEL: test_vlseg6_nxv2i32_triscv.vector.tuple_nxv8i8_6t:1477; CHECK:       # %bb.0: # %entry1478; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1479; CHECK-NEXT:    vlseg6e32.v v8, (a0)1480; CHECK-NEXT:    ret1481entry:1482  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 5)1483  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %01484}1485define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv2i32_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1486; CHECK-LABEL: test_vlseg6_mask_nxv2i32_triscv.vector.tuple_nxv8i8_6t:1487; CHECK:       # %bb.0: # %entry1488; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1489; CHECK-NEXT:    vlseg6e32.v v8, (a0), v0.t1490; CHECK-NEXT:    ret1491entry:1492  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)1493  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %01494}1495define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_nxv1i32_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl) {1496; CHECK-LABEL: test_vlseg7_nxv1i32_triscv.vector.tuple_nxv4i8_7t:1497; CHECK:       # %bb.0: # %entry1498; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1499; CHECK-NEXT:    vlseg7e32.v v8, (a0)1500; CHECK-NEXT:    ret1501entry:1502  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv4i8_7t(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, i64 %vl, i64 5)1503  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %01504}1505define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_mask_nxv1i32_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1506; CHECK-LABEL: test_vlseg7_mask_nxv1i32_triscv.vector.tuple_nxv4i8_7t:1507; CHECK:       # %bb.0: # %entry1508; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1509; CHECK-NEXT:    vlseg7e32.v v8, (a0), v0.t1510; CHECK-NEXT:    ret1511entry:1512  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv4i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)1513  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %01514}1515define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv2i32_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {1516; CHECK-LABEL: test_vlseg7_nxv2i32_triscv.vector.tuple_nxv8i8_7t:1517; CHECK:       # %bb.0: # %entry1518; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1519; CHECK-NEXT:    vlseg7e32.v v8, (a0)1520; CHECK-NEXT:    ret1521entry:1522  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 5)1523  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %01524}1525define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv2i32_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1526; CHECK-LABEL: test_vlseg7_mask_nxv2i32_triscv.vector.tuple_nxv8i8_7t:1527; CHECK:       # %bb.0: # %entry1528; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1529; CHECK-NEXT:    vlseg7e32.v v8, (a0), v0.t1530; CHECK-NEXT:    ret1531entry:1532  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)1533  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %01534}1535define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_nxv1i32_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl) {1536; CHECK-LABEL: test_vlseg8_nxv1i32_triscv.vector.tuple_nxv4i8_8t:1537; CHECK:       # %bb.0: # %entry1538; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1539; CHECK-NEXT:    vlseg8e32.v v8, (a0)1540; CHECK-NEXT:    ret1541entry:1542  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv4i8_8t(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, i64 %vl, i64 5)1543  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %01544}1545define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_mask_nxv1i32_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1546; CHECK-LABEL: test_vlseg8_mask_nxv1i32_triscv.vector.tuple_nxv4i8_8t:1547; CHECK:       # %bb.0: # %entry1548; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma1549; CHECK-NEXT:    vlseg8e32.v v8, (a0), v0.t1550; CHECK-NEXT:    ret1551entry:1552  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv4i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)1553  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %01554}1555define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv2i32_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {1556; CHECK-LABEL: test_vlseg8_nxv2i32_triscv.vector.tuple_nxv8i8_8t:1557; CHECK:       # %bb.0: # %entry1558; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1559; CHECK-NEXT:    vlseg8e32.v v8, (a0)1560; CHECK-NEXT:    ret1561entry:1562  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 5)1563  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %01564}1565define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv2i32_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1566; CHECK-LABEL: test_vlseg8_mask_nxv2i32_triscv.vector.tuple_nxv8i8_8t:1567; CHECK:       # %bb.0: # %entry1568; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma1569; CHECK-NEXT:    vlseg8e32.v v8, (a0), v0.t1570; CHECK-NEXT:    ret1571entry:1572  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)1573  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %01574}1575define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv1i64_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {1576; CHECK-LABEL: test_vlseg2_nxv1i64_triscv.vector.tuple_nxv8i8_2t:1577; CHECK:       # %bb.0: # %entry1578; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1579; CHECK-NEXT:    vlseg2e64.v v8, (a0)1580; CHECK-NEXT:    ret1581entry:1582  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 6)1583  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %01584}1585define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv1i64_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1586; CHECK-LABEL: test_vlseg2_mask_nxv1i64_triscv.vector.tuple_nxv8i8_2t:1587; CHECK:       # %bb.0: # %entry1588; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1589; CHECK-NEXT:    vlseg2e64.v v8, (a0), v0.t1590; CHECK-NEXT:    ret1591entry:1592  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)1593  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %01594}1595define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv2i64_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {1596; CHECK-LABEL: test_vlseg2_nxv2i64_triscv.vector.tuple_nxv16i8_2t:1597; CHECK:       # %bb.0: # %entry1598; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma1599; CHECK-NEXT:    vlseg2e64.v v8, (a0)1600; CHECK-NEXT:    ret1601entry:1602  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 6)1603  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %01604}1605define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv2i64_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1606; CHECK-LABEL: test_vlseg2_mask_nxv2i64_triscv.vector.tuple_nxv16i8_2t:1607; CHECK:       # %bb.0: # %entry1608; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma1609; CHECK-NEXT:    vlseg2e64.v v8, (a0), v0.t1610; CHECK-NEXT:    ret1611entry:1612  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 6)1613  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %01614}1615define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv4i64_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {1616; CHECK-LABEL: test_vlseg2_nxv4i64_triscv.vector.tuple_nxv32i8_2t:1617; CHECK:       # %bb.0: # %entry1618; CHECK-NEXT:    vsetvli zero, a1, e64, m4, ta, ma1619; CHECK-NEXT:    vlseg2e64.v v8, (a0)1620; CHECK-NEXT:    ret1621entry:1622  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 6)1623  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %01624}1625define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv4i64_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1626; CHECK-LABEL: test_vlseg2_mask_nxv4i64_triscv.vector.tuple_nxv32i8_2t:1627; CHECK:       # %bb.0: # %entry1628; CHECK-NEXT:    vsetvli zero, a1, e64, m4, ta, ma1629; CHECK-NEXT:    vlseg2e64.v v8, (a0), v0.t1630; CHECK-NEXT:    ret1631entry:1632  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 6)1633  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %01634}1635define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv1i64_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {1636; CHECK-LABEL: test_vlseg3_nxv1i64_triscv.vector.tuple_nxv8i8_3t:1637; CHECK:       # %bb.0: # %entry1638; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1639; CHECK-NEXT:    vlseg3e64.v v8, (a0)1640; CHECK-NEXT:    ret1641entry:1642  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 6)1643  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %01644}1645define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv1i64_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1646; CHECK-LABEL: test_vlseg3_mask_nxv1i64_triscv.vector.tuple_nxv8i8_3t:1647; CHECK:       # %bb.0: # %entry1648; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1649; CHECK-NEXT:    vlseg3e64.v v8, (a0), v0.t1650; CHECK-NEXT:    ret1651entry:1652  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)1653  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %01654}1655define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv2i64_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {1656; CHECK-LABEL: test_vlseg3_nxv2i64_triscv.vector.tuple_nxv16i8_3t:1657; CHECK:       # %bb.0: # %entry1658; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma1659; CHECK-NEXT:    vlseg3e64.v v8, (a0)1660; CHECK-NEXT:    ret1661entry:1662  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 6)1663  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %01664}1665define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv2i64_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1666; CHECK-LABEL: test_vlseg3_mask_nxv2i64_triscv.vector.tuple_nxv16i8_3t:1667; CHECK:       # %bb.0: # %entry1668; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma1669; CHECK-NEXT:    vlseg3e64.v v8, (a0), v0.t1670; CHECK-NEXT:    ret1671entry:1672  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 6)1673  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %01674}1675define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv1i64_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {1676; CHECK-LABEL: test_vlseg4_nxv1i64_triscv.vector.tuple_nxv8i8_4t:1677; CHECK:       # %bb.0: # %entry1678; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1679; CHECK-NEXT:    vlseg4e64.v v8, (a0)1680; CHECK-NEXT:    ret1681entry:1682  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 6)1683  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %01684}1685define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv1i64_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1686; CHECK-LABEL: test_vlseg4_mask_nxv1i64_triscv.vector.tuple_nxv8i8_4t:1687; CHECK:       # %bb.0: # %entry1688; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1689; CHECK-NEXT:    vlseg4e64.v v8, (a0), v0.t1690; CHECK-NEXT:    ret1691entry:1692  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)1693  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %01694}1695define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv2i64_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {1696; CHECK-LABEL: test_vlseg4_nxv2i64_triscv.vector.tuple_nxv16i8_4t:1697; CHECK:       # %bb.0: # %entry1698; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma1699; CHECK-NEXT:    vlseg4e64.v v8, (a0)1700; CHECK-NEXT:    ret1701entry:1702  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 6)1703  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %01704}1705define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv2i64_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1706; CHECK-LABEL: test_vlseg4_mask_nxv2i64_triscv.vector.tuple_nxv16i8_4t:1707; CHECK:       # %bb.0: # %entry1708; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma1709; CHECK-NEXT:    vlseg4e64.v v8, (a0), v0.t1710; CHECK-NEXT:    ret1711entry:1712  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 6)1713  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %01714}1715define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv1i64_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {1716; CHECK-LABEL: test_vlseg5_nxv1i64_triscv.vector.tuple_nxv8i8_5t:1717; CHECK:       # %bb.0: # %entry1718; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1719; CHECK-NEXT:    vlseg5e64.v v8, (a0)1720; CHECK-NEXT:    ret1721entry:1722  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 6)1723  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %01724}1725define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv1i64_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1726; CHECK-LABEL: test_vlseg5_mask_nxv1i64_triscv.vector.tuple_nxv8i8_5t:1727; CHECK:       # %bb.0: # %entry1728; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1729; CHECK-NEXT:    vlseg5e64.v v8, (a0), v0.t1730; CHECK-NEXT:    ret1731entry:1732  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)1733  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %01734}1735define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv1i64_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {1736; CHECK-LABEL: test_vlseg6_nxv1i64_triscv.vector.tuple_nxv8i8_6t:1737; CHECK:       # %bb.0: # %entry1738; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1739; CHECK-NEXT:    vlseg6e64.v v8, (a0)1740; CHECK-NEXT:    ret1741entry:1742  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 6)1743  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %01744}1745define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv1i64_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1746; CHECK-LABEL: test_vlseg6_mask_nxv1i64_triscv.vector.tuple_nxv8i8_6t:1747; CHECK:       # %bb.0: # %entry1748; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1749; CHECK-NEXT:    vlseg6e64.v v8, (a0), v0.t1750; CHECK-NEXT:    ret1751entry:1752  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)1753  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %01754}1755define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv1i64_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {1756; CHECK-LABEL: test_vlseg7_nxv1i64_triscv.vector.tuple_nxv8i8_7t:1757; CHECK:       # %bb.0: # %entry1758; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1759; CHECK-NEXT:    vlseg7e64.v v8, (a0)1760; CHECK-NEXT:    ret1761entry:1762  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 6)1763  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %01764}1765define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv1i64_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1766; CHECK-LABEL: test_vlseg7_mask_nxv1i64_triscv.vector.tuple_nxv8i8_7t:1767; CHECK:       # %bb.0: # %entry1768; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1769; CHECK-NEXT:    vlseg7e64.v v8, (a0), v0.t1770; CHECK-NEXT:    ret1771entry:1772  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)1773  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %01774}1775define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv1i64_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {1776; CHECK-LABEL: test_vlseg8_nxv1i64_triscv.vector.tuple_nxv8i8_8t:1777; CHECK:       # %bb.0: # %entry1778; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1779; CHECK-NEXT:    vlseg8e64.v v8, (a0)1780; CHECK-NEXT:    ret1781entry:1782  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 6)1783  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %01784}1785define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv1i64_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1786; CHECK-LABEL: test_vlseg8_mask_nxv1i64_triscv.vector.tuple_nxv8i8_8t:1787; CHECK:       # %bb.0: # %entry1788; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma1789; CHECK-NEXT:    vlseg8e64.v v8, (a0), v0.t1790; CHECK-NEXT:    ret1791entry:1792  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)1793  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %01794}1795define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_nxv1f16_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl) {1796; CHECK-LABEL: test_vlseg2_nxv1f16_triscv.vector.tuple_nxv2i8_2t:1797; CHECK:       # %bb.0: # %entry1798; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1799; CHECK-NEXT:    vlseg2e16.v v8, (a0)1800; CHECK-NEXT:    ret1801entry:1802  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv2i8_2t(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)1803  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %01804}1805define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_mask_nxv1f16_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1806; CHECK-LABEL: test_vlseg2_mask_nxv1f16_triscv.vector.tuple_nxv2i8_2t:1807; CHECK:       # %bb.0: # %entry1808; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1809; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t1810; CHECK-NEXT:    ret1811entry:1812  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv2i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)1813  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %01814}1815define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_nxv2f16_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl) {1816; CHECK-LABEL: test_vlseg2_nxv2f16_triscv.vector.tuple_nxv4i8_2t:1817; CHECK:       # %bb.0: # %entry1818; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1819; CHECK-NEXT:    vlseg2e16.v v8, (a0)1820; CHECK-NEXT:    ret1821entry:1822  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv4i8_2t(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)1823  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %01824}1825define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_mask_nxv2f16_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1826; CHECK-LABEL: test_vlseg2_mask_nxv2f16_triscv.vector.tuple_nxv4i8_2t:1827; CHECK:       # %bb.0: # %entry1828; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1829; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t1830; CHECK-NEXT:    ret1831entry:1832  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv4i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)1833  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %01834}1835define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv4f16_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {1836; CHECK-LABEL: test_vlseg2_nxv4f16_triscv.vector.tuple_nxv8i8_2t:1837; CHECK:       # %bb.0: # %entry1838; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1839; CHECK-NEXT:    vlseg2e16.v v8, (a0)1840; CHECK-NEXT:    ret1841entry:1842  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)1843  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %01844}1845define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv4f16_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1846; CHECK-LABEL: test_vlseg2_mask_nxv4f16_triscv.vector.tuple_nxv8i8_2t:1847; CHECK:       # %bb.0: # %entry1848; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1849; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t1850; CHECK-NEXT:    ret1851entry:1852  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)1853  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %01854}1855define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv8f16_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {1856; CHECK-LABEL: test_vlseg2_nxv8f16_triscv.vector.tuple_nxv16i8_2t:1857; CHECK:       # %bb.0: # %entry1858; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma1859; CHECK-NEXT:    vlseg2e16.v v8, (a0)1860; CHECK-NEXT:    ret1861entry:1862  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)1863  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %01864}1865define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv8f16_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {1866; CHECK-LABEL: test_vlseg2_mask_nxv8f16_triscv.vector.tuple_nxv16i8_2t:1867; CHECK:       # %bb.0: # %entry1868; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma1869; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t1870; CHECK-NEXT:    ret1871entry:1872  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)1873  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %01874}1875define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv16f16_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {1876; CHECK-LABEL: test_vlseg2_nxv16f16_triscv.vector.tuple_nxv32i8_2t:1877; CHECK:       # %bb.0: # %entry1878; CHECK-NEXT:    vsetvli zero, a1, e16, m4, ta, ma1879; CHECK-NEXT:    vlseg2e16.v v8, (a0)1880; CHECK-NEXT:    ret1881entry:1882  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)1883  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %01884}1885define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv16f16_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 16 x i1> %mask) {1886; CHECK-LABEL: test_vlseg2_mask_nxv16f16_triscv.vector.tuple_nxv32i8_2t:1887; CHECK:       # %bb.0: # %entry1888; CHECK-NEXT:    vsetvli zero, a1, e16, m4, ta, ma1889; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t1890; CHECK-NEXT:    ret1891entry:1892  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv16i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 16 x i1> %mask, i64 %vl, i64 1, i64 4)1893  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %01894}1895define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_nxv1f16_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl) {1896; CHECK-LABEL: test_vlseg3_nxv1f16_triscv.vector.tuple_nxv2i8_3t:1897; CHECK:       # %bb.0: # %entry1898; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1899; CHECK-NEXT:    vlseg3e16.v v8, (a0)1900; CHECK-NEXT:    ret1901entry:1902  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv2i8_3t(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)1903  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %01904}1905define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_mask_nxv1f16_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1906; CHECK-LABEL: test_vlseg3_mask_nxv1f16_triscv.vector.tuple_nxv2i8_3t:1907; CHECK:       # %bb.0: # %entry1908; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1909; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t1910; CHECK-NEXT:    ret1911entry:1912  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv2i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)1913  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %01914}1915define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_nxv2f16_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl) {1916; CHECK-LABEL: test_vlseg3_nxv2f16_triscv.vector.tuple_nxv4i8_3t:1917; CHECK:       # %bb.0: # %entry1918; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1919; CHECK-NEXT:    vlseg3e16.v v8, (a0)1920; CHECK-NEXT:    ret1921entry:1922  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv4i8_3t(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)1923  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %01924}1925define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_mask_nxv2f16_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {1926; CHECK-LABEL: test_vlseg3_mask_nxv2f16_triscv.vector.tuple_nxv4i8_3t:1927; CHECK:       # %bb.0: # %entry1928; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1929; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t1930; CHECK-NEXT:    ret1931entry:1932  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv4i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)1933  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %01934}1935define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv4f16_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {1936; CHECK-LABEL: test_vlseg3_nxv4f16_triscv.vector.tuple_nxv8i8_3t:1937; CHECK:       # %bb.0: # %entry1938; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1939; CHECK-NEXT:    vlseg3e16.v v8, (a0)1940; CHECK-NEXT:    ret1941entry:1942  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)1943  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %01944}1945define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv4f16_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {1946; CHECK-LABEL: test_vlseg3_mask_nxv4f16_triscv.vector.tuple_nxv8i8_3t:1947; CHECK:       # %bb.0: # %entry1948; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma1949; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t1950; CHECK-NEXT:    ret1951entry:1952  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)1953  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %01954}1955define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv8f16_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {1956; CHECK-LABEL: test_vlseg3_nxv8f16_triscv.vector.tuple_nxv16i8_3t:1957; CHECK:       # %bb.0: # %entry1958; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma1959; CHECK-NEXT:    vlseg3e16.v v8, (a0)1960; CHECK-NEXT:    ret1961entry:1962  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)1963  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %01964}1965define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv8f16_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {1966; CHECK-LABEL: test_vlseg3_mask_nxv8f16_triscv.vector.tuple_nxv16i8_3t:1967; CHECK:       # %bb.0: # %entry1968; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma1969; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t1970; CHECK-NEXT:    ret1971entry:1972  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)1973  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %01974}1975define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_nxv1f16_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl) {1976; CHECK-LABEL: test_vlseg4_nxv1f16_triscv.vector.tuple_nxv2i8_4t:1977; CHECK:       # %bb.0: # %entry1978; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1979; CHECK-NEXT:    vlseg4e16.v v8, (a0)1980; CHECK-NEXT:    ret1981entry:1982  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv2i8_4t(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)1983  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %01984}1985define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_mask_nxv1f16_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {1986; CHECK-LABEL: test_vlseg4_mask_nxv1f16_triscv.vector.tuple_nxv2i8_4t:1987; CHECK:       # %bb.0: # %entry1988; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma1989; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t1990; CHECK-NEXT:    ret1991entry:1992  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv2i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)1993  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %01994}1995define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_nxv2f16_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl) {1996; CHECK-LABEL: test_vlseg4_nxv2f16_triscv.vector.tuple_nxv4i8_4t:1997; CHECK:       # %bb.0: # %entry1998; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma1999; CHECK-NEXT:    vlseg4e16.v v8, (a0)2000; CHECK-NEXT:    ret2001entry:2002  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv4i8_4t(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)2003  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %02004}2005define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_mask_nxv2f16_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2006; CHECK-LABEL: test_vlseg4_mask_nxv2f16_triscv.vector.tuple_nxv4i8_4t:2007; CHECK:       # %bb.0: # %entry2008; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2009; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t2010; CHECK-NEXT:    ret2011entry:2012  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv4i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)2013  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %02014}2015define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv4f16_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {2016; CHECK-LABEL: test_vlseg4_nxv4f16_triscv.vector.tuple_nxv8i8_4t:2017; CHECK:       # %bb.0: # %entry2018; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2019; CHECK-NEXT:    vlseg4e16.v v8, (a0)2020; CHECK-NEXT:    ret2021entry:2022  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)2023  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %02024}2025define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv4f16_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2026; CHECK-LABEL: test_vlseg4_mask_nxv4f16_triscv.vector.tuple_nxv8i8_4t:2027; CHECK:       # %bb.0: # %entry2028; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2029; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t2030; CHECK-NEXT:    ret2031entry:2032  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)2033  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %02034}2035define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv8f16_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {2036; CHECK-LABEL: test_vlseg4_nxv8f16_triscv.vector.tuple_nxv16i8_4t:2037; CHECK:       # %bb.0: # %entry2038; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma2039; CHECK-NEXT:    vlseg4e16.v v8, (a0)2040; CHECK-NEXT:    ret2041entry:2042  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)2043  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %02044}2045define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv8f16_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {2046; CHECK-LABEL: test_vlseg4_mask_nxv8f16_triscv.vector.tuple_nxv16i8_4t:2047; CHECK:       # %bb.0: # %entry2048; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma2049; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t2050; CHECK-NEXT:    ret2051entry:2052  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)2053  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %02054}2055define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_nxv1f16_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl) {2056; CHECK-LABEL: test_vlseg5_nxv1f16_triscv.vector.tuple_nxv2i8_5t:2057; CHECK:       # %bb.0: # %entry2058; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2059; CHECK-NEXT:    vlseg5e16.v v8, (a0)2060; CHECK-NEXT:    ret2061entry:2062  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv2i8_5t(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)2063  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %02064}2065define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_mask_nxv1f16_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2066; CHECK-LABEL: test_vlseg5_mask_nxv1f16_triscv.vector.tuple_nxv2i8_5t:2067; CHECK:       # %bb.0: # %entry2068; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2069; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t2070; CHECK-NEXT:    ret2071entry:2072  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv2i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)2073  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %02074}2075define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_nxv2f16_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl) {2076; CHECK-LABEL: test_vlseg5_nxv2f16_triscv.vector.tuple_nxv4i8_5t:2077; CHECK:       # %bb.0: # %entry2078; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2079; CHECK-NEXT:    vlseg5e16.v v8, (a0)2080; CHECK-NEXT:    ret2081entry:2082  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv4i8_5t(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)2083  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %02084}2085define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_mask_nxv2f16_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2086; CHECK-LABEL: test_vlseg5_mask_nxv2f16_triscv.vector.tuple_nxv4i8_5t:2087; CHECK:       # %bb.0: # %entry2088; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2089; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t2090; CHECK-NEXT:    ret2091entry:2092  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv4i8_5t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)2093  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %02094}2095define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv4f16_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {2096; CHECK-LABEL: test_vlseg5_nxv4f16_triscv.vector.tuple_nxv8i8_5t:2097; CHECK:       # %bb.0: # %entry2098; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2099; CHECK-NEXT:    vlseg5e16.v v8, (a0)2100; CHECK-NEXT:    ret2101entry:2102  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)2103  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %02104}2105define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv4f16_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2106; CHECK-LABEL: test_vlseg5_mask_nxv4f16_triscv.vector.tuple_nxv8i8_5t:2107; CHECK:       # %bb.0: # %entry2108; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2109; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t2110; CHECK-NEXT:    ret2111entry:2112  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)2113  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %02114}2115define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_nxv1f16_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl) {2116; CHECK-LABEL: test_vlseg6_nxv1f16_triscv.vector.tuple_nxv2i8_6t:2117; CHECK:       # %bb.0: # %entry2118; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2119; CHECK-NEXT:    vlseg6e16.v v8, (a0)2120; CHECK-NEXT:    ret2121entry:2122  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv2i8_6t(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)2123  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %02124}2125define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_mask_nxv1f16_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2126; CHECK-LABEL: test_vlseg6_mask_nxv1f16_triscv.vector.tuple_nxv2i8_6t:2127; CHECK:       # %bb.0: # %entry2128; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2129; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t2130; CHECK-NEXT:    ret2131entry:2132  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv2i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)2133  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %02134}2135define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_nxv2f16_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl) {2136; CHECK-LABEL: test_vlseg6_nxv2f16_triscv.vector.tuple_nxv4i8_6t:2137; CHECK:       # %bb.0: # %entry2138; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2139; CHECK-NEXT:    vlseg6e16.v v8, (a0)2140; CHECK-NEXT:    ret2141entry:2142  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv4i8_6t(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)2143  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %02144}2145define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_mask_nxv2f16_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2146; CHECK-LABEL: test_vlseg6_mask_nxv2f16_triscv.vector.tuple_nxv4i8_6t:2147; CHECK:       # %bb.0: # %entry2148; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2149; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t2150; CHECK-NEXT:    ret2151entry:2152  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv4i8_6t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)2153  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %02154}2155define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv4f16_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {2156; CHECK-LABEL: test_vlseg6_nxv4f16_triscv.vector.tuple_nxv8i8_6t:2157; CHECK:       # %bb.0: # %entry2158; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2159; CHECK-NEXT:    vlseg6e16.v v8, (a0)2160; CHECK-NEXT:    ret2161entry:2162  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)2163  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %02164}2165define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv4f16_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2166; CHECK-LABEL: test_vlseg6_mask_nxv4f16_triscv.vector.tuple_nxv8i8_6t:2167; CHECK:       # %bb.0: # %entry2168; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2169; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t2170; CHECK-NEXT:    ret2171entry:2172  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)2173  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %02174}2175define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_nxv1f16_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl) {2176; CHECK-LABEL: test_vlseg7_nxv1f16_triscv.vector.tuple_nxv2i8_7t:2177; CHECK:       # %bb.0: # %entry2178; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2179; CHECK-NEXT:    vlseg7e16.v v8, (a0)2180; CHECK-NEXT:    ret2181entry:2182  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv2i8_7t(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)2183  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %02184}2185define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_mask_nxv1f16_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2186; CHECK-LABEL: test_vlseg7_mask_nxv1f16_triscv.vector.tuple_nxv2i8_7t:2187; CHECK:       # %bb.0: # %entry2188; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2189; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t2190; CHECK-NEXT:    ret2191entry:2192  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv2i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)2193  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %02194}2195define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_nxv2f16_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl) {2196; CHECK-LABEL: test_vlseg7_nxv2f16_triscv.vector.tuple_nxv4i8_7t:2197; CHECK:       # %bb.0: # %entry2198; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2199; CHECK-NEXT:    vlseg7e16.v v8, (a0)2200; CHECK-NEXT:    ret2201entry:2202  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv4i8_7t(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)2203  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %02204}2205define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_mask_nxv2f16_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2206; CHECK-LABEL: test_vlseg7_mask_nxv2f16_triscv.vector.tuple_nxv4i8_7t:2207; CHECK:       # %bb.0: # %entry2208; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2209; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t2210; CHECK-NEXT:    ret2211entry:2212  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv4i8_7t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)2213  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %02214}2215define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv4f16_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {2216; CHECK-LABEL: test_vlseg7_nxv4f16_triscv.vector.tuple_nxv8i8_7t:2217; CHECK:       # %bb.0: # %entry2218; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2219; CHECK-NEXT:    vlseg7e16.v v8, (a0)2220; CHECK-NEXT:    ret2221entry:2222  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)2223  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %02224}2225define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv4f16_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2226; CHECK-LABEL: test_vlseg7_mask_nxv4f16_triscv.vector.tuple_nxv8i8_7t:2227; CHECK:       # %bb.0: # %entry2228; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2229; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t2230; CHECK-NEXT:    ret2231entry:2232  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)2233  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %02234}2235define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_nxv1f16_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl) {2236; CHECK-LABEL: test_vlseg8_nxv1f16_triscv.vector.tuple_nxv2i8_8t:2237; CHECK:       # %bb.0: # %entry2238; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2239; CHECK-NEXT:    vlseg8e16.v v8, (a0)2240; CHECK-NEXT:    ret2241entry:2242  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv2i8_8t(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)2243  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %02244}2245define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_mask_nxv1f16_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2246; CHECK-LABEL: test_vlseg8_mask_nxv1f16_triscv.vector.tuple_nxv2i8_8t:2247; CHECK:       # %bb.0: # %entry2248; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2249; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t2250; CHECK-NEXT:    ret2251entry:2252  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv2i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)2253  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %02254}2255define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_nxv2f16_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl) {2256; CHECK-LABEL: test_vlseg8_nxv2f16_triscv.vector.tuple_nxv4i8_8t:2257; CHECK:       # %bb.0: # %entry2258; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2259; CHECK-NEXT:    vlseg8e16.v v8, (a0)2260; CHECK-NEXT:    ret2261entry:2262  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv4i8_8t(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)2263  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %02264}2265define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_mask_nxv2f16_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2266; CHECK-LABEL: test_vlseg8_mask_nxv2f16_triscv.vector.tuple_nxv4i8_8t:2267; CHECK:       # %bb.0: # %entry2268; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2269; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t2270; CHECK-NEXT:    ret2271entry:2272  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv4i8_8t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)2273  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %02274}2275define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv4f16_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {2276; CHECK-LABEL: test_vlseg8_nxv4f16_triscv.vector.tuple_nxv8i8_8t:2277; CHECK:       # %bb.0: # %entry2278; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2279; CHECK-NEXT:    vlseg8e16.v v8, (a0)2280; CHECK-NEXT:    ret2281entry:2282  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)2283  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %02284}2285define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv4f16_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2286; CHECK-LABEL: test_vlseg8_mask_nxv4f16_triscv.vector.tuple_nxv8i8_8t:2287; CHECK:       # %bb.0: # %entry2288; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2289; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t2290; CHECK-NEXT:    ret2291entry:2292  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)2293  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %02294}2295define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_nxv1f32_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl) {2296; CHECK-LABEL: test_vlseg2_nxv1f32_triscv.vector.tuple_nxv4i8_2t:2297; CHECK:       # %bb.0: # %entry2298; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2299; CHECK-NEXT:    vlseg2e32.v v8, (a0)2300; CHECK-NEXT:    ret2301entry:2302  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv4i8_2t(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)2303  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %02304}2305define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_mask_nxv1f32_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2306; CHECK-LABEL: test_vlseg2_mask_nxv1f32_triscv.vector.tuple_nxv4i8_2t:2307; CHECK:       # %bb.0: # %entry2308; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2309; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t2310; CHECK-NEXT:    ret2311entry:2312  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv4i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)2313  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %02314}2315define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv2f32_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {2316; CHECK-LABEL: test_vlseg2_nxv2f32_triscv.vector.tuple_nxv8i8_2t:2317; CHECK:       # %bb.0: # %entry2318; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2319; CHECK-NEXT:    vlseg2e32.v v8, (a0)2320; CHECK-NEXT:    ret2321entry:2322  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)2323  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %02324}2325define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv2f32_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2326; CHECK-LABEL: test_vlseg2_mask_nxv2f32_triscv.vector.tuple_nxv8i8_2t:2327; CHECK:       # %bb.0: # %entry2328; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2329; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t2330; CHECK-NEXT:    ret2331entry:2332  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)2333  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %02334}2335define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv4f32_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {2336; CHECK-LABEL: test_vlseg2_nxv4f32_triscv.vector.tuple_nxv16i8_2t:2337; CHECK:       # %bb.0: # %entry2338; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma2339; CHECK-NEXT:    vlseg2e32.v v8, (a0)2340; CHECK-NEXT:    ret2341entry:2342  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)2343  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %02344}2345define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv4f32_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2346; CHECK-LABEL: test_vlseg2_mask_nxv4f32_triscv.vector.tuple_nxv16i8_2t:2347; CHECK:       # %bb.0: # %entry2348; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma2349; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t2350; CHECK-NEXT:    ret2351entry:2352  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 5)2353  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %02354}2355define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv8f32_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {2356; CHECK-LABEL: test_vlseg2_nxv8f32_triscv.vector.tuple_nxv32i8_2t:2357; CHECK:       # %bb.0: # %entry2358; CHECK-NEXT:    vsetvli zero, a1, e32, m4, ta, ma2359; CHECK-NEXT:    vlseg2e32.v v8, (a0)2360; CHECK-NEXT:    ret2361entry:2362  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 5)2363  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %02364}2365define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv8f32_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {2366; CHECK-LABEL: test_vlseg2_mask_nxv8f32_triscv.vector.tuple_nxv32i8_2t:2367; CHECK:       # %bb.0: # %entry2368; CHECK-NEXT:    vsetvli zero, a1, e32, m4, ta, ma2369; CHECK-NEXT:    vlseg2e32.v v8, (a0), v0.t2370; CHECK-NEXT:    ret2371entry:2372  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv8i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 5)2373  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %02374}2375define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_nxv1f32_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl) {2376; CHECK-LABEL: test_vlseg3_nxv1f32_triscv.vector.tuple_nxv4i8_3t:2377; CHECK:       # %bb.0: # %entry2378; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2379; CHECK-NEXT:    vlseg3e32.v v8, (a0)2380; CHECK-NEXT:    ret2381entry:2382  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv4i8_3t(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, i64 %vl, i64 5)2383  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %02384}2385define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_mask_nxv1f32_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2386; CHECK-LABEL: test_vlseg3_mask_nxv1f32_triscv.vector.tuple_nxv4i8_3t:2387; CHECK:       # %bb.0: # %entry2388; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2389; CHECK-NEXT:    vlseg3e32.v v8, (a0), v0.t2390; CHECK-NEXT:    ret2391entry:2392  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv4i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)2393  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %02394}2395define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv2f32_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {2396; CHECK-LABEL: test_vlseg3_nxv2f32_triscv.vector.tuple_nxv8i8_3t:2397; CHECK:       # %bb.0: # %entry2398; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2399; CHECK-NEXT:    vlseg3e32.v v8, (a0)2400; CHECK-NEXT:    ret2401entry:2402  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 5)2403  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %02404}2405define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv2f32_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2406; CHECK-LABEL: test_vlseg3_mask_nxv2f32_triscv.vector.tuple_nxv8i8_3t:2407; CHECK:       # %bb.0: # %entry2408; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2409; CHECK-NEXT:    vlseg3e32.v v8, (a0), v0.t2410; CHECK-NEXT:    ret2411entry:2412  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)2413  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %02414}2415define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv4f32_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {2416; CHECK-LABEL: test_vlseg3_nxv4f32_triscv.vector.tuple_nxv16i8_3t:2417; CHECK:       # %bb.0: # %entry2418; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma2419; CHECK-NEXT:    vlseg3e32.v v8, (a0)2420; CHECK-NEXT:    ret2421entry:2422  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 5)2423  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %02424}2425define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv4f32_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2426; CHECK-LABEL: test_vlseg3_mask_nxv4f32_triscv.vector.tuple_nxv16i8_3t:2427; CHECK:       # %bb.0: # %entry2428; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma2429; CHECK-NEXT:    vlseg3e32.v v8, (a0), v0.t2430; CHECK-NEXT:    ret2431entry:2432  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv4i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 5)2433  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %02434}2435define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_nxv1f32_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl) {2436; CHECK-LABEL: test_vlseg4_nxv1f32_triscv.vector.tuple_nxv4i8_4t:2437; CHECK:       # %bb.0: # %entry2438; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2439; CHECK-NEXT:    vlseg4e32.v v8, (a0)2440; CHECK-NEXT:    ret2441entry:2442  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv4i8_4t(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, i64 %vl, i64 5)2443  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %02444}2445define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_mask_nxv1f32_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2446; CHECK-LABEL: test_vlseg4_mask_nxv1f32_triscv.vector.tuple_nxv4i8_4t:2447; CHECK:       # %bb.0: # %entry2448; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2449; CHECK-NEXT:    vlseg4e32.v v8, (a0), v0.t2450; CHECK-NEXT:    ret2451entry:2452  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv4i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)2453  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %02454}2455define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv2f32_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {2456; CHECK-LABEL: test_vlseg4_nxv2f32_triscv.vector.tuple_nxv8i8_4t:2457; CHECK:       # %bb.0: # %entry2458; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2459; CHECK-NEXT:    vlseg4e32.v v8, (a0)2460; CHECK-NEXT:    ret2461entry:2462  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 5)2463  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %02464}2465define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv2f32_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2466; CHECK-LABEL: test_vlseg4_mask_nxv2f32_triscv.vector.tuple_nxv8i8_4t:2467; CHECK:       # %bb.0: # %entry2468; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2469; CHECK-NEXT:    vlseg4e32.v v8, (a0), v0.t2470; CHECK-NEXT:    ret2471entry:2472  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)2473  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %02474}2475define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv4f32_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {2476; CHECK-LABEL: test_vlseg4_nxv4f32_triscv.vector.tuple_nxv16i8_4t:2477; CHECK:       # %bb.0: # %entry2478; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma2479; CHECK-NEXT:    vlseg4e32.v v8, (a0)2480; CHECK-NEXT:    ret2481entry:2482  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 5)2483  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %02484}2485define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv4f32_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2486; CHECK-LABEL: test_vlseg4_mask_nxv4f32_triscv.vector.tuple_nxv16i8_4t:2487; CHECK:       # %bb.0: # %entry2488; CHECK-NEXT:    vsetvli zero, a1, e32, m2, ta, ma2489; CHECK-NEXT:    vlseg4e32.v v8, (a0), v0.t2490; CHECK-NEXT:    ret2491entry:2492  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv4i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 5)2493  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %02494}2495define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_nxv1f32_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl) {2496; CHECK-LABEL: test_vlseg5_nxv1f32_triscv.vector.tuple_nxv4i8_5t:2497; CHECK:       # %bb.0: # %entry2498; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2499; CHECK-NEXT:    vlseg5e32.v v8, (a0)2500; CHECK-NEXT:    ret2501entry:2502  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv4i8_5t(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, i64 %vl, i64 5)2503  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %02504}2505define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_mask_nxv1f32_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2506; CHECK-LABEL: test_vlseg5_mask_nxv1f32_triscv.vector.tuple_nxv4i8_5t:2507; CHECK:       # %bb.0: # %entry2508; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2509; CHECK-NEXT:    vlseg5e32.v v8, (a0), v0.t2510; CHECK-NEXT:    ret2511entry:2512  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv4i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)2513  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %02514}2515define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv2f32_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {2516; CHECK-LABEL: test_vlseg5_nxv2f32_triscv.vector.tuple_nxv8i8_5t:2517; CHECK:       # %bb.0: # %entry2518; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2519; CHECK-NEXT:    vlseg5e32.v v8, (a0)2520; CHECK-NEXT:    ret2521entry:2522  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 5)2523  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %02524}2525define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv2f32_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2526; CHECK-LABEL: test_vlseg5_mask_nxv2f32_triscv.vector.tuple_nxv8i8_5t:2527; CHECK:       # %bb.0: # %entry2528; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2529; CHECK-NEXT:    vlseg5e32.v v8, (a0), v0.t2530; CHECK-NEXT:    ret2531entry:2532  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)2533  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %02534}2535define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_nxv1f32_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl) {2536; CHECK-LABEL: test_vlseg6_nxv1f32_triscv.vector.tuple_nxv4i8_6t:2537; CHECK:       # %bb.0: # %entry2538; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2539; CHECK-NEXT:    vlseg6e32.v v8, (a0)2540; CHECK-NEXT:    ret2541entry:2542  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv4i8_6t(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, i64 %vl, i64 5)2543  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %02544}2545define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_mask_nxv1f32_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2546; CHECK-LABEL: test_vlseg6_mask_nxv1f32_triscv.vector.tuple_nxv4i8_6t:2547; CHECK:       # %bb.0: # %entry2548; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2549; CHECK-NEXT:    vlseg6e32.v v8, (a0), v0.t2550; CHECK-NEXT:    ret2551entry:2552  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv4i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)2553  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %02554}2555define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv2f32_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {2556; CHECK-LABEL: test_vlseg6_nxv2f32_triscv.vector.tuple_nxv8i8_6t:2557; CHECK:       # %bb.0: # %entry2558; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2559; CHECK-NEXT:    vlseg6e32.v v8, (a0)2560; CHECK-NEXT:    ret2561entry:2562  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 5)2563  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %02564}2565define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv2f32_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2566; CHECK-LABEL: test_vlseg6_mask_nxv2f32_triscv.vector.tuple_nxv8i8_6t:2567; CHECK:       # %bb.0: # %entry2568; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2569; CHECK-NEXT:    vlseg6e32.v v8, (a0), v0.t2570; CHECK-NEXT:    ret2571entry:2572  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)2573  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %02574}2575define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_nxv1f32_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl) {2576; CHECK-LABEL: test_vlseg7_nxv1f32_triscv.vector.tuple_nxv4i8_7t:2577; CHECK:       # %bb.0: # %entry2578; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2579; CHECK-NEXT:    vlseg7e32.v v8, (a0)2580; CHECK-NEXT:    ret2581entry:2582  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv4i8_7t(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, i64 %vl, i64 5)2583  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %02584}2585define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_mask_nxv1f32_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2586; CHECK-LABEL: test_vlseg7_mask_nxv1f32_triscv.vector.tuple_nxv4i8_7t:2587; CHECK:       # %bb.0: # %entry2588; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2589; CHECK-NEXT:    vlseg7e32.v v8, (a0), v0.t2590; CHECK-NEXT:    ret2591entry:2592  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv4i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)2593  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %02594}2595define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv2f32_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {2596; CHECK-LABEL: test_vlseg7_nxv2f32_triscv.vector.tuple_nxv8i8_7t:2597; CHECK:       # %bb.0: # %entry2598; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2599; CHECK-NEXT:    vlseg7e32.v v8, (a0)2600; CHECK-NEXT:    ret2601entry:2602  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 5)2603  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %02604}2605define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv2f32_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2606; CHECK-LABEL: test_vlseg7_mask_nxv2f32_triscv.vector.tuple_nxv8i8_7t:2607; CHECK:       # %bb.0: # %entry2608; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2609; CHECK-NEXT:    vlseg7e32.v v8, (a0), v0.t2610; CHECK-NEXT:    ret2611entry:2612  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)2613  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %02614}2615define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_nxv1f32_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl) {2616; CHECK-LABEL: test_vlseg8_nxv1f32_triscv.vector.tuple_nxv4i8_8t:2617; CHECK:       # %bb.0: # %entry2618; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2619; CHECK-NEXT:    vlseg8e32.v v8, (a0)2620; CHECK-NEXT:    ret2621entry:2622  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv4i8_8t(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, i64 %vl, i64 5)2623  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %02624}2625define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_mask_nxv1f32_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2626; CHECK-LABEL: test_vlseg8_mask_nxv1f32_triscv.vector.tuple_nxv4i8_8t:2627; CHECK:       # %bb.0: # %entry2628; CHECK-NEXT:    vsetvli zero, a1, e32, mf2, ta, ma2629; CHECK-NEXT:    vlseg8e32.v v8, (a0), v0.t2630; CHECK-NEXT:    ret2631entry:2632  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv4i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 5)2633  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %02634}2635define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv2f32_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {2636; CHECK-LABEL: test_vlseg8_nxv2f32_triscv.vector.tuple_nxv8i8_8t:2637; CHECK:       # %bb.0: # %entry2638; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2639; CHECK-NEXT:    vlseg8e32.v v8, (a0)2640; CHECK-NEXT:    ret2641entry:2642  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 5)2643  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %02644}2645define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv2f32_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2646; CHECK-LABEL: test_vlseg8_mask_nxv2f32_triscv.vector.tuple_nxv8i8_8t:2647; CHECK:       # %bb.0: # %entry2648; CHECK-NEXT:    vsetvli zero, a1, e32, m1, ta, ma2649; CHECK-NEXT:    vlseg8e32.v v8, (a0), v0.t2650; CHECK-NEXT:    ret2651entry:2652  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv2i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 5)2653  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %02654}2655define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv1f64_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {2656; CHECK-LABEL: test_vlseg2_nxv1f64_triscv.vector.tuple_nxv8i8_2t:2657; CHECK:       # %bb.0: # %entry2658; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2659; CHECK-NEXT:    vlseg2e64.v v8, (a0)2660; CHECK-NEXT:    ret2661entry:2662  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 6)2663  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %02664}2665define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv1f64_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2666; CHECK-LABEL: test_vlseg2_mask_nxv1f64_triscv.vector.tuple_nxv8i8_2t:2667; CHECK:       # %bb.0: # %entry2668; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2669; CHECK-NEXT:    vlseg2e64.v v8, (a0), v0.t2670; CHECK-NEXT:    ret2671entry:2672  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)2673  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %02674}2675define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv2f64_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {2676; CHECK-LABEL: test_vlseg2_nxv2f64_triscv.vector.tuple_nxv16i8_2t:2677; CHECK:       # %bb.0: # %entry2678; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma2679; CHECK-NEXT:    vlseg2e64.v v8, (a0)2680; CHECK-NEXT:    ret2681entry:2682  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 6)2683  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %02684}2685define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv2f64_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2686; CHECK-LABEL: test_vlseg2_mask_nxv2f64_triscv.vector.tuple_nxv16i8_2t:2687; CHECK:       # %bb.0: # %entry2688; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma2689; CHECK-NEXT:    vlseg2e64.v v8, (a0), v0.t2690; CHECK-NEXT:    ret2691entry:2692  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 6)2693  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %02694}2695define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv4f64_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {2696; CHECK-LABEL: test_vlseg2_nxv4f64_triscv.vector.tuple_nxv32i8_2t:2697; CHECK:       # %bb.0: # %entry2698; CHECK-NEXT:    vsetvli zero, a1, e64, m4, ta, ma2699; CHECK-NEXT:    vlseg2e64.v v8, (a0)2700; CHECK-NEXT:    ret2701entry:2702  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 6)2703  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %02704}2705define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv4f64_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2706; CHECK-LABEL: test_vlseg2_mask_nxv4f64_triscv.vector.tuple_nxv32i8_2t:2707; CHECK:       # %bb.0: # %entry2708; CHECK-NEXT:    vsetvli zero, a1, e64, m4, ta, ma2709; CHECK-NEXT:    vlseg2e64.v v8, (a0), v0.t2710; CHECK-NEXT:    ret2711entry:2712  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 6)2713  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %02714}2715define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv1f64_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {2716; CHECK-LABEL: test_vlseg3_nxv1f64_triscv.vector.tuple_nxv8i8_3t:2717; CHECK:       # %bb.0: # %entry2718; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2719; CHECK-NEXT:    vlseg3e64.v v8, (a0)2720; CHECK-NEXT:    ret2721entry:2722  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 6)2723  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %02724}2725define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv1f64_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2726; CHECK-LABEL: test_vlseg3_mask_nxv1f64_triscv.vector.tuple_nxv8i8_3t:2727; CHECK:       # %bb.0: # %entry2728; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2729; CHECK-NEXT:    vlseg3e64.v v8, (a0), v0.t2730; CHECK-NEXT:    ret2731entry:2732  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)2733  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %02734}2735define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv2f64_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {2736; CHECK-LABEL: test_vlseg3_nxv2f64_triscv.vector.tuple_nxv16i8_3t:2737; CHECK:       # %bb.0: # %entry2738; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma2739; CHECK-NEXT:    vlseg3e64.v v8, (a0)2740; CHECK-NEXT:    ret2741entry:2742  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 6)2743  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %02744}2745define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv2f64_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2746; CHECK-LABEL: test_vlseg3_mask_nxv2f64_triscv.vector.tuple_nxv16i8_3t:2747; CHECK:       # %bb.0: # %entry2748; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma2749; CHECK-NEXT:    vlseg3e64.v v8, (a0), v0.t2750; CHECK-NEXT:    ret2751entry:2752  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 6)2753  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %02754}2755define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv1f64_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {2756; CHECK-LABEL: test_vlseg4_nxv1f64_triscv.vector.tuple_nxv8i8_4t:2757; CHECK:       # %bb.0: # %entry2758; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2759; CHECK-NEXT:    vlseg4e64.v v8, (a0)2760; CHECK-NEXT:    ret2761entry:2762  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 6)2763  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %02764}2765define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv1f64_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2766; CHECK-LABEL: test_vlseg4_mask_nxv1f64_triscv.vector.tuple_nxv8i8_4t:2767; CHECK:       # %bb.0: # %entry2768; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2769; CHECK-NEXT:    vlseg4e64.v v8, (a0), v0.t2770; CHECK-NEXT:    ret2771entry:2772  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)2773  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %02774}2775define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv2f64_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {2776; CHECK-LABEL: test_vlseg4_nxv2f64_triscv.vector.tuple_nxv16i8_4t:2777; CHECK:       # %bb.0: # %entry2778; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma2779; CHECK-NEXT:    vlseg4e64.v v8, (a0)2780; CHECK-NEXT:    ret2781entry:2782  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 6)2783  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %02784}2785define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv2f64_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2786; CHECK-LABEL: test_vlseg4_mask_nxv2f64_triscv.vector.tuple_nxv16i8_4t:2787; CHECK:       # %bb.0: # %entry2788; CHECK-NEXT:    vsetvli zero, a1, e64, m2, ta, ma2789; CHECK-NEXT:    vlseg4e64.v v8, (a0), v0.t2790; CHECK-NEXT:    ret2791entry:2792  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 6)2793  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %02794}2795define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv1f64_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {2796; CHECK-LABEL: test_vlseg5_nxv1f64_triscv.vector.tuple_nxv8i8_5t:2797; CHECK:       # %bb.0: # %entry2798; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2799; CHECK-NEXT:    vlseg5e64.v v8, (a0)2800; CHECK-NEXT:    ret2801entry:2802  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 6)2803  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %02804}2805define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv1f64_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2806; CHECK-LABEL: test_vlseg5_mask_nxv1f64_triscv.vector.tuple_nxv8i8_5t:2807; CHECK:       # %bb.0: # %entry2808; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2809; CHECK-NEXT:    vlseg5e64.v v8, (a0), v0.t2810; CHECK-NEXT:    ret2811entry:2812  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)2813  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %02814}2815define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv1f64_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {2816; CHECK-LABEL: test_vlseg6_nxv1f64_triscv.vector.tuple_nxv8i8_6t:2817; CHECK:       # %bb.0: # %entry2818; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2819; CHECK-NEXT:    vlseg6e64.v v8, (a0)2820; CHECK-NEXT:    ret2821entry:2822  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 6)2823  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %02824}2825define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv1f64_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2826; CHECK-LABEL: test_vlseg6_mask_nxv1f64_triscv.vector.tuple_nxv8i8_6t:2827; CHECK:       # %bb.0: # %entry2828; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2829; CHECK-NEXT:    vlseg6e64.v v8, (a0), v0.t2830; CHECK-NEXT:    ret2831entry:2832  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)2833  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %02834}2835define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv1f64_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {2836; CHECK-LABEL: test_vlseg7_nxv1f64_triscv.vector.tuple_nxv8i8_7t:2837; CHECK:       # %bb.0: # %entry2838; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2839; CHECK-NEXT:    vlseg7e64.v v8, (a0)2840; CHECK-NEXT:    ret2841entry:2842  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 6)2843  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %02844}2845define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv1f64_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2846; CHECK-LABEL: test_vlseg7_mask_nxv1f64_triscv.vector.tuple_nxv8i8_7t:2847; CHECK:       # %bb.0: # %entry2848; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2849; CHECK-NEXT:    vlseg7e64.v v8, (a0), v0.t2850; CHECK-NEXT:    ret2851entry:2852  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)2853  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %02854}2855define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv1f64_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {2856; CHECK-LABEL: test_vlseg8_nxv1f64_triscv.vector.tuple_nxv8i8_8t:2857; CHECK:       # %bb.0: # %entry2858; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2859; CHECK-NEXT:    vlseg8e64.v v8, (a0)2860; CHECK-NEXT:    ret2861entry:2862  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 6)2863  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %02864}2865define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv1f64_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2866; CHECK-LABEL: test_vlseg8_mask_nxv1f64_triscv.vector.tuple_nxv8i8_8t:2867; CHECK:       # %bb.0: # %entry2868; CHECK-NEXT:    vsetvli zero, a1, e64, m1, ta, ma2869; CHECK-NEXT:    vlseg8e64.v v8, (a0), v0.t2870; CHECK-NEXT:    ret2871entry:2872  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 6)2873  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %02874}2875define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_nxv1bf16_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl) {2876; CHECK-LABEL: test_vlseg2_nxv1bf16_triscv.vector.tuple_nxv2i8_2t:2877; CHECK:       # %bb.0: # %entry2878; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2879; CHECK-NEXT:    vlseg2e16.v v8, (a0)2880; CHECK-NEXT:    ret2881entry:2882  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv2i8_2t(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)2883  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %02884}2885define target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @test_vlseg2_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_2t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2886; CHECK-LABEL: test_vlseg2_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_2t:2887; CHECK:       # %bb.0: # %entry2888; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2889; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t2890; CHECK-NEXT:    ret2891entry:2892  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv2i8_2t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 2) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)2893  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 2) %02894}2895define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_nxv2bf16_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl) {2896; CHECK-LABEL: test_vlseg2_nxv2bf16_triscv.vector.tuple_nxv4i8_2t:2897; CHECK:       # %bb.0: # %entry2898; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2899; CHECK-NEXT:    vlseg2e16.v v8, (a0)2900; CHECK-NEXT:    ret2901entry:2902  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv4i8_2t(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)2903  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %02904}2905define target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @test_vlseg2_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_2t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {2906; CHECK-LABEL: test_vlseg2_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_2t:2907; CHECK:       # %bb.0: # %entry2908; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2909; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t2910; CHECK-NEXT:    ret2911entry:2912  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv4i8_2t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 2) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)2913  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 2) %02914}2915define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_nxv4bf16_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl) {2916; CHECK-LABEL: test_vlseg2_nxv4bf16_triscv.vector.tuple_nxv8i8_2t:2917; CHECK:       # %bb.0: # %entry2918; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2919; CHECK-NEXT:    vlseg2e16.v v8, (a0)2920; CHECK-NEXT:    ret2921entry:2922  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv8i8_2t(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)2923  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %02924}2925define target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @test_vlseg2_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_2t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {2926; CHECK-LABEL: test_vlseg2_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_2t:2927; CHECK:       # %bb.0: # %entry2928; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma2929; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t2930; CHECK-NEXT:    ret2931entry:2932  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv8i8_2t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 2) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)2933  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 2) %02934}2935define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_nxv8bf16_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl) {2936; CHECK-LABEL: test_vlseg2_nxv8bf16_triscv.vector.tuple_nxv16i8_2t:2937; CHECK:       # %bb.0: # %entry2938; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma2939; CHECK-NEXT:    vlseg2e16.v v8, (a0)2940; CHECK-NEXT:    ret2941entry:2942  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)2943  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %02944}2945define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @test_vlseg2_mask_nxv8bf16_triscv.vector.tuple_nxv16i8_2t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {2946; CHECK-LABEL: test_vlseg2_mask_nxv8bf16_triscv.vector.tuple_nxv16i8_2t:2947; CHECK:       # %bb.0: # %entry2948; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma2949; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t2950; CHECK-NEXT:    ret2951entry:2952  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv16i8_2t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)2953  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %02954}2955define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_nxv16bf16_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl) {2956; CHECK-LABEL: test_vlseg2_nxv16bf16_triscv.vector.tuple_nxv32i8_2t:2957; CHECK:       # %bb.0: # %entry2958; CHECK-NEXT:    vsetvli zero, a1, e16, m4, ta, ma2959; CHECK-NEXT:    vlseg2e16.v v8, (a0)2960; CHECK-NEXT:    ret2961entry:2962  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.triscv.vector.tuple_nxv32i8_2t(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, i64 %vl, i64 4)2963  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %02964}2965define target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @test_vlseg2_mask_nxv16bf16_triscv.vector.tuple_nxv32i8_2t(ptr %base, i64 %vl, <vscale x 16 x i1> %mask) {2966; CHECK-LABEL: test_vlseg2_mask_nxv16bf16_triscv.vector.tuple_nxv32i8_2t:2967; CHECK:       # %bb.0: # %entry2968; CHECK-NEXT:    vsetvli zero, a1, e16, m4, ta, ma2969; CHECK-NEXT:    vlseg2e16.v v8, (a0), v0.t2970; CHECK-NEXT:    ret2971entry:2972  %0 = tail call target("riscv.vector.tuple", <vscale x 32 x i8>, 2) @llvm.riscv.vlseg2.mask.triscv.vector.tuple_nxv32i8_2t.nxv16i1(target("riscv.vector.tuple", <vscale x 32 x i8>, 2) poison, ptr %base, <vscale x 16 x i1> %mask, i64 %vl, i64 1, i64 4)2973  ret target("riscv.vector.tuple", <vscale x 32 x i8>, 2) %02974}2975define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_nxv1bf16_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl) {2976; CHECK-LABEL: test_vlseg3_nxv1bf16_triscv.vector.tuple_nxv2i8_3t:2977; CHECK:       # %bb.0: # %entry2978; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2979; CHECK-NEXT:    vlseg3e16.v v8, (a0)2980; CHECK-NEXT:    ret2981entry:2982  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv2i8_3t(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)2983  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %02984}2985define target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @test_vlseg3_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_3t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {2986; CHECK-LABEL: test_vlseg3_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_3t:2987; CHECK:       # %bb.0: # %entry2988; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma2989; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t2990; CHECK-NEXT:    ret2991entry:2992  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv2i8_3t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 3) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)2993  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 3) %02994}2995define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_nxv2bf16_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl) {2996; CHECK-LABEL: test_vlseg3_nxv2bf16_triscv.vector.tuple_nxv4i8_3t:2997; CHECK:       # %bb.0: # %entry2998; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma2999; CHECK-NEXT:    vlseg3e16.v v8, (a0)3000; CHECK-NEXT:    ret3001entry:3002  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv4i8_3t(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)3003  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %03004}3005define target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @test_vlseg3_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_3t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {3006; CHECK-LABEL: test_vlseg3_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_3t:3007; CHECK:       # %bb.0: # %entry3008; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3009; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t3010; CHECK-NEXT:    ret3011entry:3012  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv4i8_3t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 3) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)3013  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 3) %03014}3015define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_nxv4bf16_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl) {3016; CHECK-LABEL: test_vlseg3_nxv4bf16_triscv.vector.tuple_nxv8i8_3t:3017; CHECK:       # %bb.0: # %entry3018; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3019; CHECK-NEXT:    vlseg3e16.v v8, (a0)3020; CHECK-NEXT:    ret3021entry:3022  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv8i8_3t(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)3023  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %03024}3025define target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @test_vlseg3_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_3t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {3026; CHECK-LABEL: test_vlseg3_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_3t:3027; CHECK:       # %bb.0: # %entry3028; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3029; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t3030; CHECK-NEXT:    ret3031entry:3032  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv8i8_3t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 3) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)3033  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 3) %03034}3035define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_nxv8bf16_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl) {3036; CHECK-LABEL: test_vlseg3_nxv8bf16_triscv.vector.tuple_nxv16i8_3t:3037; CHECK:       # %bb.0: # %entry3038; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma3039; CHECK-NEXT:    vlseg3e16.v v8, (a0)3040; CHECK-NEXT:    ret3041entry:3042  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.triscv.vector.tuple_nxv16i8_3t(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, i64 %vl, i64 4)3043  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %03044}3045define target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @test_vlseg3_mask_nxv8bf16_triscv.vector.tuple_nxv16i8_3t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {3046; CHECK-LABEL: test_vlseg3_mask_nxv8bf16_triscv.vector.tuple_nxv16i8_3t:3047; CHECK:       # %bb.0: # %entry3048; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma3049; CHECK-NEXT:    vlseg3e16.v v8, (a0), v0.t3050; CHECK-NEXT:    ret3051entry:3052  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 3) @llvm.riscv.vlseg3.mask.triscv.vector.tuple_nxv16i8_3t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 3) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)3053  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 3) %03054}3055define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_nxv1bf16_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl) {3056; CHECK-LABEL: test_vlseg4_nxv1bf16_triscv.vector.tuple_nxv2i8_4t:3057; CHECK:       # %bb.0: # %entry3058; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3059; CHECK-NEXT:    vlseg4e16.v v8, (a0)3060; CHECK-NEXT:    ret3061entry:3062  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv2i8_4t(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)3063  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %03064}3065define target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @test_vlseg4_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_4t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {3066; CHECK-LABEL: test_vlseg4_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_4t:3067; CHECK:       # %bb.0: # %entry3068; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3069; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t3070; CHECK-NEXT:    ret3071entry:3072  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv2i8_4t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 4) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)3073  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 4) %03074}3075define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_nxv2bf16_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl) {3076; CHECK-LABEL: test_vlseg4_nxv2bf16_triscv.vector.tuple_nxv4i8_4t:3077; CHECK:       # %bb.0: # %entry3078; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3079; CHECK-NEXT:    vlseg4e16.v v8, (a0)3080; CHECK-NEXT:    ret3081entry:3082  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv4i8_4t(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)3083  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %03084}3085define target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @test_vlseg4_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_4t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {3086; CHECK-LABEL: test_vlseg4_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_4t:3087; CHECK:       # %bb.0: # %entry3088; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3089; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t3090; CHECK-NEXT:    ret3091entry:3092  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv4i8_4t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 4) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)3093  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 4) %03094}3095define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_nxv4bf16_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl) {3096; CHECK-LABEL: test_vlseg4_nxv4bf16_triscv.vector.tuple_nxv8i8_4t:3097; CHECK:       # %bb.0: # %entry3098; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3099; CHECK-NEXT:    vlseg4e16.v v8, (a0)3100; CHECK-NEXT:    ret3101entry:3102  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv8i8_4t(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)3103  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %03104}3105define target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @test_vlseg4_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_4t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {3106; CHECK-LABEL: test_vlseg4_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_4t:3107; CHECK:       # %bb.0: # %entry3108; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3109; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t3110; CHECK-NEXT:    ret3111entry:3112  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv8i8_4t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 4) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)3113  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 4) %03114}3115define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_nxv8bf16_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl) {3116; CHECK-LABEL: test_vlseg4_nxv8bf16_triscv.vector.tuple_nxv16i8_4t:3117; CHECK:       # %bb.0: # %entry3118; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma3119; CHECK-NEXT:    vlseg4e16.v v8, (a0)3120; CHECK-NEXT:    ret3121entry:3122  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.triscv.vector.tuple_nxv16i8_4t(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, i64 %vl, i64 4)3123  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %03124}3125define target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @test_vlseg4_mask_nxv8bf16_triscv.vector.tuple_nxv16i8_4t(ptr %base, i64 %vl, <vscale x 8 x i1> %mask) {3126; CHECK-LABEL: test_vlseg4_mask_nxv8bf16_triscv.vector.tuple_nxv16i8_4t:3127; CHECK:       # %bb.0: # %entry3128; CHECK-NEXT:    vsetvli zero, a1, e16, m2, ta, ma3129; CHECK-NEXT:    vlseg4e16.v v8, (a0), v0.t3130; CHECK-NEXT:    ret3131entry:3132  %0 = tail call target("riscv.vector.tuple", <vscale x 16 x i8>, 4) @llvm.riscv.vlseg4.mask.triscv.vector.tuple_nxv16i8_4t.nxv8i1(target("riscv.vector.tuple", <vscale x 16 x i8>, 4) poison, ptr %base, <vscale x 8 x i1> %mask, i64 %vl, i64 1, i64 4)3133  ret target("riscv.vector.tuple", <vscale x 16 x i8>, 4) %03134}3135define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_nxv1bf16_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl) {3136; CHECK-LABEL: test_vlseg5_nxv1bf16_triscv.vector.tuple_nxv2i8_5t:3137; CHECK:       # %bb.0: # %entry3138; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3139; CHECK-NEXT:    vlseg5e16.v v8, (a0)3140; CHECK-NEXT:    ret3141entry:3142  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv2i8_5t(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)3143  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %03144}3145define target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @test_vlseg5_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_5t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {3146; CHECK-LABEL: test_vlseg5_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_5t:3147; CHECK:       # %bb.0: # %entry3148; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3149; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t3150; CHECK-NEXT:    ret3151entry:3152  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv2i8_5t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 5) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)3153  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 5) %03154}3155define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_nxv2bf16_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl) {3156; CHECK-LABEL: test_vlseg5_nxv2bf16_triscv.vector.tuple_nxv4i8_5t:3157; CHECK:       # %bb.0: # %entry3158; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3159; CHECK-NEXT:    vlseg5e16.v v8, (a0)3160; CHECK-NEXT:    ret3161entry:3162  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv4i8_5t(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)3163  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %03164}3165define target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @test_vlseg5_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_5t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {3166; CHECK-LABEL: test_vlseg5_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_5t:3167; CHECK:       # %bb.0: # %entry3168; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3169; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t3170; CHECK-NEXT:    ret3171entry:3172  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv4i8_5t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 5) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)3173  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 5) %03174}3175define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_nxv4bf16_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl) {3176; CHECK-LABEL: test_vlseg5_nxv4bf16_triscv.vector.tuple_nxv8i8_5t:3177; CHECK:       # %bb.0: # %entry3178; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3179; CHECK-NEXT:    vlseg5e16.v v8, (a0)3180; CHECK-NEXT:    ret3181entry:3182  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.triscv.vector.tuple_nxv8i8_5t(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, i64 %vl, i64 4)3183  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %03184}3185define target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @test_vlseg5_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_5t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {3186; CHECK-LABEL: test_vlseg5_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_5t:3187; CHECK:       # %bb.0: # %entry3188; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3189; CHECK-NEXT:    vlseg5e16.v v8, (a0), v0.t3190; CHECK-NEXT:    ret3191entry:3192  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 5) @llvm.riscv.vlseg5.mask.triscv.vector.tuple_nxv8i8_5t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 5) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)3193  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 5) %03194}3195define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_nxv1bf16_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl) {3196; CHECK-LABEL: test_vlseg6_nxv1bf16_triscv.vector.tuple_nxv2i8_6t:3197; CHECK:       # %bb.0: # %entry3198; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3199; CHECK-NEXT:    vlseg6e16.v v8, (a0)3200; CHECK-NEXT:    ret3201entry:3202  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv2i8_6t(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)3203  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %03204}3205define target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @test_vlseg6_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_6t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {3206; CHECK-LABEL: test_vlseg6_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_6t:3207; CHECK:       # %bb.0: # %entry3208; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3209; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t3210; CHECK-NEXT:    ret3211entry:3212  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv2i8_6t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 6) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)3213  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 6) %03214}3215define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_nxv2bf16_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl) {3216; CHECK-LABEL: test_vlseg6_nxv2bf16_triscv.vector.tuple_nxv4i8_6t:3217; CHECK:       # %bb.0: # %entry3218; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3219; CHECK-NEXT:    vlseg6e16.v v8, (a0)3220; CHECK-NEXT:    ret3221entry:3222  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv4i8_6t(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)3223  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %03224}3225define target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @test_vlseg6_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_6t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {3226; CHECK-LABEL: test_vlseg6_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_6t:3227; CHECK:       # %bb.0: # %entry3228; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3229; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t3230; CHECK-NEXT:    ret3231entry:3232  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv4i8_6t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 6) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)3233  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 6) %03234}3235define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_nxv4bf16_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl) {3236; CHECK-LABEL: test_vlseg6_nxv4bf16_triscv.vector.tuple_nxv8i8_6t:3237; CHECK:       # %bb.0: # %entry3238; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3239; CHECK-NEXT:    vlseg6e16.v v8, (a0)3240; CHECK-NEXT:    ret3241entry:3242  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.triscv.vector.tuple_nxv8i8_6t(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, i64 %vl, i64 4)3243  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %03244}3245define target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @test_vlseg6_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_6t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {3246; CHECK-LABEL: test_vlseg6_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_6t:3247; CHECK:       # %bb.0: # %entry3248; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3249; CHECK-NEXT:    vlseg6e16.v v8, (a0), v0.t3250; CHECK-NEXT:    ret3251entry:3252  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 6) @llvm.riscv.vlseg6.mask.triscv.vector.tuple_nxv8i8_6t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 6) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)3253  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 6) %03254}3255define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_nxv1bf16_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl) {3256; CHECK-LABEL: test_vlseg7_nxv1bf16_triscv.vector.tuple_nxv2i8_7t:3257; CHECK:       # %bb.0: # %entry3258; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3259; CHECK-NEXT:    vlseg7e16.v v8, (a0)3260; CHECK-NEXT:    ret3261entry:3262  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv2i8_7t(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)3263  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %03264}3265define target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @test_vlseg7_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_7t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {3266; CHECK-LABEL: test_vlseg7_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_7t:3267; CHECK:       # %bb.0: # %entry3268; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3269; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t3270; CHECK-NEXT:    ret3271entry:3272  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv2i8_7t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 7) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)3273  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 7) %03274}3275define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_nxv2bf16_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl) {3276; CHECK-LABEL: test_vlseg7_nxv2bf16_triscv.vector.tuple_nxv4i8_7t:3277; CHECK:       # %bb.0: # %entry3278; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3279; CHECK-NEXT:    vlseg7e16.v v8, (a0)3280; CHECK-NEXT:    ret3281entry:3282  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv4i8_7t(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)3283  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %03284}3285define target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @test_vlseg7_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_7t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {3286; CHECK-LABEL: test_vlseg7_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_7t:3287; CHECK:       # %bb.0: # %entry3288; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3289; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t3290; CHECK-NEXT:    ret3291entry:3292  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv4i8_7t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 7) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)3293  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 7) %03294}3295define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_nxv4bf16_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl) {3296; CHECK-LABEL: test_vlseg7_nxv4bf16_triscv.vector.tuple_nxv8i8_7t:3297; CHECK:       # %bb.0: # %entry3298; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3299; CHECK-NEXT:    vlseg7e16.v v8, (a0)3300; CHECK-NEXT:    ret3301entry:3302  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.triscv.vector.tuple_nxv8i8_7t(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, i64 %vl, i64 4)3303  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %03304}3305define target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @test_vlseg7_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_7t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {3306; CHECK-LABEL: test_vlseg7_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_7t:3307; CHECK:       # %bb.0: # %entry3308; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3309; CHECK-NEXT:    vlseg7e16.v v8, (a0), v0.t3310; CHECK-NEXT:    ret3311entry:3312  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 7) @llvm.riscv.vlseg7.mask.triscv.vector.tuple_nxv8i8_7t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 7) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)3313  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 7) %03314}3315define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_nxv1bf16_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl) {3316; CHECK-LABEL: test_vlseg8_nxv1bf16_triscv.vector.tuple_nxv2i8_8t:3317; CHECK:       # %bb.0: # %entry3318; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3319; CHECK-NEXT:    vlseg8e16.v v8, (a0)3320; CHECK-NEXT:    ret3321entry:3322  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv2i8_8t(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)3323  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %03324}3325define target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @test_vlseg8_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_8t(ptr %base, i64 %vl, <vscale x 1 x i1> %mask) {3326; CHECK-LABEL: test_vlseg8_mask_nxv1bf16_triscv.vector.tuple_nxv2i8_8t:3327; CHECK:       # %bb.0: # %entry3328; CHECK-NEXT:    vsetvli zero, a1, e16, mf4, ta, ma3329; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t3330; CHECK-NEXT:    ret3331entry:3332  %0 = tail call target("riscv.vector.tuple", <vscale x 2 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv2i8_8t.nxv1i1(target("riscv.vector.tuple", <vscale x 2 x i8>, 8) poison, ptr %base, <vscale x 1 x i1> %mask, i64 %vl, i64 1, i64 4)3333  ret target("riscv.vector.tuple", <vscale x 2 x i8>, 8) %03334}3335define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_nxv2bf16_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl) {3336; CHECK-LABEL: test_vlseg8_nxv2bf16_triscv.vector.tuple_nxv4i8_8t:3337; CHECK:       # %bb.0: # %entry3338; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3339; CHECK-NEXT:    vlseg8e16.v v8, (a0)3340; CHECK-NEXT:    ret3341entry:3342  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv4i8_8t(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)3343  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %03344}3345define target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @test_vlseg8_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_8t(ptr %base, i64 %vl, <vscale x 2 x i1> %mask) {3346; CHECK-LABEL: test_vlseg8_mask_nxv2bf16_triscv.vector.tuple_nxv4i8_8t:3347; CHECK:       # %bb.0: # %entry3348; CHECK-NEXT:    vsetvli zero, a1, e16, mf2, ta, ma3349; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t3350; CHECK-NEXT:    ret3351entry:3352  %0 = tail call target("riscv.vector.tuple", <vscale x 4 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv4i8_8t.nxv2i1(target("riscv.vector.tuple", <vscale x 4 x i8>, 8) poison, ptr %base, <vscale x 2 x i1> %mask, i64 %vl, i64 1, i64 4)3353  ret target("riscv.vector.tuple", <vscale x 4 x i8>, 8) %03354}3355define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_nxv4bf16_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl) {3356; CHECK-LABEL: test_vlseg8_nxv4bf16_triscv.vector.tuple_nxv8i8_8t:3357; CHECK:       # %bb.0: # %entry3358; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3359; CHECK-NEXT:    vlseg8e16.v v8, (a0)3360; CHECK-NEXT:    ret3361entry:3362  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.triscv.vector.tuple_nxv8i8_8t(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, i64 %vl, i64 4)3363  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %03364}3365define target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @test_vlseg8_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_8t(ptr %base, i64 %vl, <vscale x 4 x i1> %mask) {3366; CHECK-LABEL: test_vlseg8_mask_nxv4bf16_triscv.vector.tuple_nxv8i8_8t:3367; CHECK:       # %bb.0: # %entry3368; CHECK-NEXT:    vsetvli zero, a1, e16, m1, ta, ma3369; CHECK-NEXT:    vlseg8e16.v v8, (a0), v0.t3370; CHECK-NEXT:    ret3371entry:3372  %0 = tail call target("riscv.vector.tuple", <vscale x 8 x i8>, 8) @llvm.riscv.vlseg8.mask.triscv.vector.tuple_nxv8i8_8t.nxv4i1(target("riscv.vector.tuple", <vscale x 8 x i8>, 8) poison, ptr %base, <vscale x 4 x i1> %mask, i64 %vl, i64 1, i64 4)3373  ret target("riscv.vector.tuple", <vscale x 8 x i8>, 8) %03374}3375