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