brintos

brintos / llvm-project-archived public Read only

0
0
Text · 15.0 KiB · 14beee2 Raw
367 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -mattr=+v -O0 < %s \3; RUN:    | FileCheck --check-prefix=SPILL-O0 %s4; RUN: llc -mtriple=riscv32 -mattr=+v -O2 < %s \5; RUN:    | FileCheck --check-prefix=SPILL-O2 %s6; RUN: llc -mtriple=riscv32 -mattr=+v,+prefer-vsetvli-over-read-vlenb -O0 < %s \7; RUN:    | FileCheck --check-prefix=SPILL-O0-VSETVLI %s8; RUN: llc -mtriple=riscv32 -mattr=+v,+prefer-vsetvli-over-read-vlenb -O2 < %s \9; RUN:    | FileCheck --check-prefix=SPILL-O2-VSETVLI %s10 11define <vscale x 1 x i32> @spill_lmul_mf2(<vscale x 1 x i32> %va) nounwind {12; SPILL-O0-LABEL: spill_lmul_mf2:13; SPILL-O0:       # %bb.0: # %entry14; SPILL-O0-NEXT:    addi sp, sp, -1615; SPILL-O0-NEXT:    csrr a0, vlenb16; SPILL-O0-NEXT:    sub sp, sp, a017; SPILL-O0-NEXT:    addi a0, sp, 1618; SPILL-O0-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill19; SPILL-O0-NEXT:    #APP20; SPILL-O0-NEXT:    #NO_APP21; SPILL-O0-NEXT:    addi a0, sp, 1622; SPILL-O0-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload23; SPILL-O0-NEXT:    csrr a0, vlenb24; SPILL-O0-NEXT:    add sp, sp, a025; SPILL-O0-NEXT:    addi sp, sp, 1626; SPILL-O0-NEXT:    ret27;28; SPILL-O2-LABEL: spill_lmul_mf2:29; SPILL-O2:       # %bb.0: # %entry30; SPILL-O2-NEXT:    addi sp, sp, -1631; SPILL-O2-NEXT:    csrr a0, vlenb32; SPILL-O2-NEXT:    sub sp, sp, a033; SPILL-O2-NEXT:    addi a0, sp, 1634; SPILL-O2-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill35; SPILL-O2-NEXT:    #APP36; SPILL-O2-NEXT:    #NO_APP37; SPILL-O2-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload38; SPILL-O2-NEXT:    csrr a0, vlenb39; SPILL-O2-NEXT:    add sp, sp, a040; SPILL-O2-NEXT:    addi sp, sp, 1641; SPILL-O2-NEXT:    ret42;43; SPILL-O0-VSETVLI-LABEL: spill_lmul_mf2:44; SPILL-O0-VSETVLI:       # %bb.0: # %entry45; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, -1646; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma47; SPILL-O0-VSETVLI-NEXT:    sub sp, sp, a048; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 1649; SPILL-O0-VSETVLI-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill50; SPILL-O0-VSETVLI-NEXT:    #APP51; SPILL-O0-VSETVLI-NEXT:    #NO_APP52; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 1653; SPILL-O0-VSETVLI-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload54; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma55; SPILL-O0-VSETVLI-NEXT:    add sp, sp, a056; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, 1657; SPILL-O0-VSETVLI-NEXT:    ret58;59; SPILL-O2-VSETVLI-LABEL: spill_lmul_mf2:60; SPILL-O2-VSETVLI:       # %bb.0: # %entry61; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, -1662; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma63; SPILL-O2-VSETVLI-NEXT:    sub sp, sp, a064; SPILL-O2-VSETVLI-NEXT:    addi a0, sp, 1665; SPILL-O2-VSETVLI-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill66; SPILL-O2-VSETVLI-NEXT:    #APP67; SPILL-O2-VSETVLI-NEXT:    #NO_APP68; SPILL-O2-VSETVLI-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload69; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma70; SPILL-O2-VSETVLI-NEXT:    add sp, sp, a071; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, 1672; SPILL-O2-VSETVLI-NEXT:    ret73entry:74  call void asm sideeffect "",75  "~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()76 77  ret <vscale x 1 x i32> %va78}79 80define <vscale x 2 x i32> @spill_lmul_1(<vscale x 2 x i32> %va) nounwind {81; SPILL-O0-LABEL: spill_lmul_1:82; SPILL-O0:       # %bb.0: # %entry83; SPILL-O0-NEXT:    addi sp, sp, -1684; SPILL-O0-NEXT:    csrr a0, vlenb85; SPILL-O0-NEXT:    sub sp, sp, a086; SPILL-O0-NEXT:    addi a0, sp, 1687; SPILL-O0-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill88; SPILL-O0-NEXT:    #APP89; SPILL-O0-NEXT:    #NO_APP90; SPILL-O0-NEXT:    addi a0, sp, 1691; SPILL-O0-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload92; SPILL-O0-NEXT:    csrr a0, vlenb93; SPILL-O0-NEXT:    add sp, sp, a094; SPILL-O0-NEXT:    addi sp, sp, 1695; SPILL-O0-NEXT:    ret96;97; SPILL-O2-LABEL: spill_lmul_1:98; SPILL-O2:       # %bb.0: # %entry99; SPILL-O2-NEXT:    addi sp, sp, -16100; SPILL-O2-NEXT:    csrr a0, vlenb101; SPILL-O2-NEXT:    sub sp, sp, a0102; SPILL-O2-NEXT:    addi a0, sp, 16103; SPILL-O2-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill104; SPILL-O2-NEXT:    #APP105; SPILL-O2-NEXT:    #NO_APP106; SPILL-O2-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload107; SPILL-O2-NEXT:    csrr a0, vlenb108; SPILL-O2-NEXT:    add sp, sp, a0109; SPILL-O2-NEXT:    addi sp, sp, 16110; SPILL-O2-NEXT:    ret111;112; SPILL-O0-VSETVLI-LABEL: spill_lmul_1:113; SPILL-O0-VSETVLI:       # %bb.0: # %entry114; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, -16115; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma116; SPILL-O0-VSETVLI-NEXT:    sub sp, sp, a0117; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16118; SPILL-O0-VSETVLI-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill119; SPILL-O0-VSETVLI-NEXT:    #APP120; SPILL-O0-VSETVLI-NEXT:    #NO_APP121; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16122; SPILL-O0-VSETVLI-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload123; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma124; SPILL-O0-VSETVLI-NEXT:    add sp, sp, a0125; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, 16126; SPILL-O0-VSETVLI-NEXT:    ret127;128; SPILL-O2-VSETVLI-LABEL: spill_lmul_1:129; SPILL-O2-VSETVLI:       # %bb.0: # %entry130; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, -16131; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma132; SPILL-O2-VSETVLI-NEXT:    sub sp, sp, a0133; SPILL-O2-VSETVLI-NEXT:    addi a0, sp, 16134; SPILL-O2-VSETVLI-NEXT:    vs1r.v v8, (a0) # vscale x 8-byte Folded Spill135; SPILL-O2-VSETVLI-NEXT:    #APP136; SPILL-O2-VSETVLI-NEXT:    #NO_APP137; SPILL-O2-VSETVLI-NEXT:    vl1r.v v8, (a0) # vscale x 8-byte Folded Reload138; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m1, ta, ma139; SPILL-O2-VSETVLI-NEXT:    add sp, sp, a0140; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, 16141; SPILL-O2-VSETVLI-NEXT:    ret142entry:143  call void asm sideeffect "",144  "~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()145 146  ret <vscale x 2 x i32> %va147}148 149define <vscale x 4 x i32> @spill_lmul_2(<vscale x 4 x i32> %va) nounwind {150; SPILL-O0-LABEL: spill_lmul_2:151; SPILL-O0:       # %bb.0: # %entry152; SPILL-O0-NEXT:    addi sp, sp, -16153; SPILL-O0-NEXT:    csrr a0, vlenb154; SPILL-O0-NEXT:    slli a0, a0, 1155; SPILL-O0-NEXT:    sub sp, sp, a0156; SPILL-O0-NEXT:    addi a0, sp, 16157; SPILL-O0-NEXT:    vs2r.v v8, (a0) # vscale x 16-byte Folded Spill158; SPILL-O0-NEXT:    #APP159; SPILL-O0-NEXT:    #NO_APP160; SPILL-O0-NEXT:    addi a0, sp, 16161; SPILL-O0-NEXT:    vl2r.v v8, (a0) # vscale x 16-byte Folded Reload162; SPILL-O0-NEXT:    csrr a0, vlenb163; SPILL-O0-NEXT:    slli a0, a0, 1164; SPILL-O0-NEXT:    add sp, sp, a0165; SPILL-O0-NEXT:    addi sp, sp, 16166; SPILL-O0-NEXT:    ret167;168; SPILL-O2-LABEL: spill_lmul_2:169; SPILL-O2:       # %bb.0: # %entry170; SPILL-O2-NEXT:    addi sp, sp, -16171; SPILL-O2-NEXT:    csrr a0, vlenb172; SPILL-O2-NEXT:    slli a0, a0, 1173; SPILL-O2-NEXT:    sub sp, sp, a0174; SPILL-O2-NEXT:    addi a0, sp, 16175; SPILL-O2-NEXT:    vs2r.v v8, (a0) # vscale x 16-byte Folded Spill176; SPILL-O2-NEXT:    #APP177; SPILL-O2-NEXT:    #NO_APP178; SPILL-O2-NEXT:    vl2r.v v8, (a0) # vscale x 16-byte Folded Reload179; SPILL-O2-NEXT:    csrr a0, vlenb180; SPILL-O2-NEXT:    slli a0, a0, 1181; SPILL-O2-NEXT:    add sp, sp, a0182; SPILL-O2-NEXT:    addi sp, sp, 16183; SPILL-O2-NEXT:    ret184;185; SPILL-O0-VSETVLI-LABEL: spill_lmul_2:186; SPILL-O0-VSETVLI:       # %bb.0: # %entry187; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, -16188; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m2, ta, ma189; SPILL-O0-VSETVLI-NEXT:    sub sp, sp, a0190; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16191; SPILL-O0-VSETVLI-NEXT:    vs2r.v v8, (a0) # vscale x 16-byte Folded Spill192; SPILL-O0-VSETVLI-NEXT:    #APP193; SPILL-O0-VSETVLI-NEXT:    #NO_APP194; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16195; SPILL-O0-VSETVLI-NEXT:    vl2r.v v8, (a0) # vscale x 16-byte Folded Reload196; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m2, ta, ma197; SPILL-O0-VSETVLI-NEXT:    add sp, sp, a0198; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, 16199; SPILL-O0-VSETVLI-NEXT:    ret200;201; SPILL-O2-VSETVLI-LABEL: spill_lmul_2:202; SPILL-O2-VSETVLI:       # %bb.0: # %entry203; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, -16204; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m2, ta, ma205; SPILL-O2-VSETVLI-NEXT:    sub sp, sp, a0206; SPILL-O2-VSETVLI-NEXT:    addi a0, sp, 16207; SPILL-O2-VSETVLI-NEXT:    vs2r.v v8, (a0) # vscale x 16-byte Folded Spill208; SPILL-O2-VSETVLI-NEXT:    #APP209; SPILL-O2-VSETVLI-NEXT:    #NO_APP210; SPILL-O2-VSETVLI-NEXT:    vl2r.v v8, (a0) # vscale x 16-byte Folded Reload211; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m2, ta, ma212; SPILL-O2-VSETVLI-NEXT:    add sp, sp, a0213; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, 16214; SPILL-O2-VSETVLI-NEXT:    ret215entry:216  call void asm sideeffect "",217  "~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()218 219  ret <vscale x 4 x i32> %va220}221 222define <vscale x 8 x i32> @spill_lmul_4(<vscale x 8 x i32> %va) nounwind {223; SPILL-O0-LABEL: spill_lmul_4:224; SPILL-O0:       # %bb.0: # %entry225; SPILL-O0-NEXT:    addi sp, sp, -16226; SPILL-O0-NEXT:    csrr a0, vlenb227; SPILL-O0-NEXT:    slli a0, a0, 2228; SPILL-O0-NEXT:    sub sp, sp, a0229; SPILL-O0-NEXT:    addi a0, sp, 16230; SPILL-O0-NEXT:    vs4r.v v8, (a0) # vscale x 32-byte Folded Spill231; SPILL-O0-NEXT:    #APP232; SPILL-O0-NEXT:    #NO_APP233; SPILL-O0-NEXT:    addi a0, sp, 16234; SPILL-O0-NEXT:    vl4r.v v8, (a0) # vscale x 32-byte Folded Reload235; SPILL-O0-NEXT:    csrr a0, vlenb236; SPILL-O0-NEXT:    slli a0, a0, 2237; SPILL-O0-NEXT:    add sp, sp, a0238; SPILL-O0-NEXT:    addi sp, sp, 16239; SPILL-O0-NEXT:    ret240;241; SPILL-O2-LABEL: spill_lmul_4:242; SPILL-O2:       # %bb.0: # %entry243; SPILL-O2-NEXT:    addi sp, sp, -16244; SPILL-O2-NEXT:    csrr a0, vlenb245; SPILL-O2-NEXT:    slli a0, a0, 2246; SPILL-O2-NEXT:    sub sp, sp, a0247; SPILL-O2-NEXT:    addi a0, sp, 16248; SPILL-O2-NEXT:    vs4r.v v8, (a0) # vscale x 32-byte Folded Spill249; SPILL-O2-NEXT:    #APP250; SPILL-O2-NEXT:    #NO_APP251; SPILL-O2-NEXT:    vl4r.v v8, (a0) # vscale x 32-byte Folded Reload252; SPILL-O2-NEXT:    csrr a0, vlenb253; SPILL-O2-NEXT:    slli a0, a0, 2254; SPILL-O2-NEXT:    add sp, sp, a0255; SPILL-O2-NEXT:    addi sp, sp, 16256; SPILL-O2-NEXT:    ret257;258; SPILL-O0-VSETVLI-LABEL: spill_lmul_4:259; SPILL-O0-VSETVLI:       # %bb.0: # %entry260; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, -16261; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m4, ta, ma262; SPILL-O0-VSETVLI-NEXT:    sub sp, sp, a0263; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16264; SPILL-O0-VSETVLI-NEXT:    vs4r.v v8, (a0) # vscale x 32-byte Folded Spill265; SPILL-O0-VSETVLI-NEXT:    #APP266; SPILL-O0-VSETVLI-NEXT:    #NO_APP267; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16268; SPILL-O0-VSETVLI-NEXT:    vl4r.v v8, (a0) # vscale x 32-byte Folded Reload269; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m4, ta, ma270; SPILL-O0-VSETVLI-NEXT:    add sp, sp, a0271; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, 16272; SPILL-O0-VSETVLI-NEXT:    ret273;274; SPILL-O2-VSETVLI-LABEL: spill_lmul_4:275; SPILL-O2-VSETVLI:       # %bb.0: # %entry276; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, -16277; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m4, ta, ma278; SPILL-O2-VSETVLI-NEXT:    sub sp, sp, a0279; SPILL-O2-VSETVLI-NEXT:    addi a0, sp, 16280; SPILL-O2-VSETVLI-NEXT:    vs4r.v v8, (a0) # vscale x 32-byte Folded Spill281; SPILL-O2-VSETVLI-NEXT:    #APP282; SPILL-O2-VSETVLI-NEXT:    #NO_APP283; SPILL-O2-VSETVLI-NEXT:    vl4r.v v8, (a0) # vscale x 32-byte Folded Reload284; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m4, ta, ma285; SPILL-O2-VSETVLI-NEXT:    add sp, sp, a0286; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, 16287; SPILL-O2-VSETVLI-NEXT:    ret288entry:289  call void asm sideeffect "",290  "~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()291 292  ret <vscale x 8 x i32> %va293}294 295define <vscale x 16 x i32> @spill_lmul_8(<vscale x 16 x i32> %va) nounwind {296; SPILL-O0-LABEL: spill_lmul_8:297; SPILL-O0:       # %bb.0: # %entry298; SPILL-O0-NEXT:    addi sp, sp, -16299; SPILL-O0-NEXT:    csrr a0, vlenb300; SPILL-O0-NEXT:    slli a0, a0, 3301; SPILL-O0-NEXT:    sub sp, sp, a0302; SPILL-O0-NEXT:    addi a0, sp, 16303; SPILL-O0-NEXT:    vs8r.v v8, (a0) # vscale x 64-byte Folded Spill304; SPILL-O0-NEXT:    #APP305; SPILL-O0-NEXT:    #NO_APP306; SPILL-O0-NEXT:    addi a0, sp, 16307; SPILL-O0-NEXT:    vl8r.v v8, (a0) # vscale x 64-byte Folded Reload308; SPILL-O0-NEXT:    csrr a0, vlenb309; SPILL-O0-NEXT:    slli a0, a0, 3310; SPILL-O0-NEXT:    add sp, sp, a0311; SPILL-O0-NEXT:    addi sp, sp, 16312; SPILL-O0-NEXT:    ret313;314; SPILL-O2-LABEL: spill_lmul_8:315; SPILL-O2:       # %bb.0: # %entry316; SPILL-O2-NEXT:    addi sp, sp, -16317; SPILL-O2-NEXT:    csrr a0, vlenb318; SPILL-O2-NEXT:    slli a0, a0, 3319; SPILL-O2-NEXT:    sub sp, sp, a0320; SPILL-O2-NEXT:    addi a0, sp, 16321; SPILL-O2-NEXT:    vs8r.v v8, (a0) # vscale x 64-byte Folded Spill322; SPILL-O2-NEXT:    #APP323; SPILL-O2-NEXT:    #NO_APP324; SPILL-O2-NEXT:    vl8r.v v8, (a0) # vscale x 64-byte Folded Reload325; SPILL-O2-NEXT:    csrr a0, vlenb326; SPILL-O2-NEXT:    slli a0, a0, 3327; SPILL-O2-NEXT:    add sp, sp, a0328; SPILL-O2-NEXT:    addi sp, sp, 16329; SPILL-O2-NEXT:    ret330;331; SPILL-O0-VSETVLI-LABEL: spill_lmul_8:332; SPILL-O0-VSETVLI:       # %bb.0: # %entry333; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, -16334; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m8, ta, ma335; SPILL-O0-VSETVLI-NEXT:    sub sp, sp, a0336; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16337; SPILL-O0-VSETVLI-NEXT:    vs8r.v v8, (a0) # vscale x 64-byte Folded Spill338; SPILL-O0-VSETVLI-NEXT:    #APP339; SPILL-O0-VSETVLI-NEXT:    #NO_APP340; SPILL-O0-VSETVLI-NEXT:    addi a0, sp, 16341; SPILL-O0-VSETVLI-NEXT:    vl8r.v v8, (a0) # vscale x 64-byte Folded Reload342; SPILL-O0-VSETVLI-NEXT:    vsetvli a0, zero, e8, m8, ta, ma343; SPILL-O0-VSETVLI-NEXT:    add sp, sp, a0344; SPILL-O0-VSETVLI-NEXT:    addi sp, sp, 16345; SPILL-O0-VSETVLI-NEXT:    ret346;347; SPILL-O2-VSETVLI-LABEL: spill_lmul_8:348; SPILL-O2-VSETVLI:       # %bb.0: # %entry349; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, -16350; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m8, ta, ma351; SPILL-O2-VSETVLI-NEXT:    sub sp, sp, a0352; SPILL-O2-VSETVLI-NEXT:    addi a0, sp, 16353; SPILL-O2-VSETVLI-NEXT:    vs8r.v v8, (a0) # vscale x 64-byte Folded Spill354; SPILL-O2-VSETVLI-NEXT:    #APP355; SPILL-O2-VSETVLI-NEXT:    #NO_APP356; SPILL-O2-VSETVLI-NEXT:    vl8r.v v8, (a0) # vscale x 64-byte Folded Reload357; SPILL-O2-VSETVLI-NEXT:    vsetvli a0, zero, e8, m8, ta, ma358; SPILL-O2-VSETVLI-NEXT:    add sp, sp, a0359; SPILL-O2-VSETVLI-NEXT:    addi sp, sp, 16360; SPILL-O2-VSETVLI-NEXT:    ret361entry:362  call void asm sideeffect "",363  "~{v0},~{v1},~{v2},~{v3},~{v4},~{v5},~{v6},~{v7},~{v8},~{v9},~{v10},~{v11},~{v12},~{v13},~{v14},~{v15},~{v16},~{v17},~{v18},~{v19},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()364 365  ret <vscale x 16 x i32> %va366}367