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