brintos

brintos / llvm-project-archived public Read only

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