4458 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple riscv32-unknown-elf -o - %s \3; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV324; RUN: llc -mtriple riscv32-unknown-elf -mattr=+f -o - %s \5; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-F6; RUN: llc -mtriple riscv32-unknown-elf -mattr=+f,+d -o - %s \7; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-FD8;9; RUN: llc -mtriple riscv32-unknown-elf -mattr=+f -target-abi ilp32 -o - %s \10; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-F-ILP311; RUN: llc -mtriple riscv32-unknown-elf -mattr=+f,+d -target-abi ilp32f -o - %s \12; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-FD-ILP32F13; RUN: llc -mtriple riscv32-unknown-elf -mattr=+f,+d -target-abi ilp32 -o - %s \14; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-FD-ILP3215 16; RUN: llc -mtriple riscv32-unknown-elf -mattr=+i -target-abi ilp32e -o - %s \17; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV32I-ILP32E18; RUN: llc -mtriple riscv32-unknown-elf -mattr=+e -o - %s \19; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV32E20; RUN: llc -mtriple riscv32-unknown-elf -mattr=+e,+f -o - %s \21; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV32E-F22 23; RUN: llc -mtriple riscv32-unknown-elf -mattr=+zve32x -o - %s \24; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-V25; RUN: llc -mtriple riscv32-unknown-elf -mattr=+zve32x,+f -o - %s \26; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-FV27; RUN: llc -mtriple riscv32-unknown-elf -mattr=+zve32x,+f,+d -o - %s \28; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-FDV29;30; RUN: llc -mtriple riscv64-unknown-elf -o - %s \31; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV6432; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f -o - %s \33; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-F34; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f,+d -o - %s \35; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FD36 37; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f -target-abi=lp64 -o - %s \38; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-F-LP6439; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f,+d -target-abi=lp64f -o - %s \40; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FD-LP64F41; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f,+d -target-abi=lp64 -o - %s \42; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FD-LP6443;44; RUN: llc -mtriple riscv64-unknown-elf -mattr=+i -target-abi lp64e -o - %s \45; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64I-LP64E46; RUN: llc -mtriple riscv64-unknown-elf -mattr=+e -o - %s \47; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64E48; RUN: llc -mtriple riscv64-unknown-elf -mattr=+e,+f -o - %s \49; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64E-F50; RUN: llc -mtriple riscv64-unknown-elf -mattr=+e,+f,+d -o - %s \51; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64E-FD52;53; RUN: llc -mtriple riscv64-unknown-elf -mattr=+zve32x -o - %s \54; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-V55; RUN: llc -mtriple riscv64-unknown-elf -mattr=+zve32x,+f -o - %s \56; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FV57; RUN: llc -mtriple riscv64-unknown-elf -mattr=+zve32x,+f,+d -o - %s \58; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FDV59 60;61; Checking for special return instructions (sret, mret).62;63define void @foo_supervisor() #0 {64; CHECK-LABEL: foo_supervisor:65; CHECK: # %bb.0:66; CHECK-NEXT: sret67 ret void68}69 70define void @foo_machine() #1 {71; CHECK-LABEL: foo_machine:72; CHECK: # %bb.0:73; CHECK-NEXT: mret74 ret void75}76 77;78; Checking all Caller saved registers (arguments and temps)79; and FP registers are all saved when the handler calls another function.80;81; extern int otherfoo();82;83; __attribute__((interrupt)) void foo_with_call() {84; otherfoo();85; }86;87 88declare i32 @otherfoo(...)89define void @foo_with_call() #1 {90;91; CHECK-RV32-LABEL: foo_with_call:92; CHECK-RV32: # %bb.0:93; CHECK-RV32-NEXT: addi sp, sp, -6494; CHECK-RV32-NEXT: sw ra, 60(sp) # 4-byte Folded Spill95; CHECK-RV32-NEXT: sw t0, 56(sp) # 4-byte Folded Spill96; CHECK-RV32-NEXT: sw t1, 52(sp) # 4-byte Folded Spill97; CHECK-RV32-NEXT: sw t2, 48(sp) # 4-byte Folded Spill98; CHECK-RV32-NEXT: sw a0, 44(sp) # 4-byte Folded Spill99; CHECK-RV32-NEXT: sw a1, 40(sp) # 4-byte Folded Spill100; CHECK-RV32-NEXT: sw a2, 36(sp) # 4-byte Folded Spill101; CHECK-RV32-NEXT: sw a3, 32(sp) # 4-byte Folded Spill102; CHECK-RV32-NEXT: sw a4, 28(sp) # 4-byte Folded Spill103; CHECK-RV32-NEXT: sw a5, 24(sp) # 4-byte Folded Spill104; CHECK-RV32-NEXT: sw a6, 20(sp) # 4-byte Folded Spill105; CHECK-RV32-NEXT: sw a7, 16(sp) # 4-byte Folded Spill106; CHECK-RV32-NEXT: sw t3, 12(sp) # 4-byte Folded Spill107; CHECK-RV32-NEXT: sw t4, 8(sp) # 4-byte Folded Spill108; CHECK-RV32-NEXT: sw t5, 4(sp) # 4-byte Folded Spill109; CHECK-RV32-NEXT: sw t6, 0(sp) # 4-byte Folded Spill110; CHECK-RV32-NEXT: call otherfoo111; CHECK-RV32-NEXT: lw ra, 60(sp) # 4-byte Folded Reload112; CHECK-RV32-NEXT: lw t0, 56(sp) # 4-byte Folded Reload113; CHECK-RV32-NEXT: lw t1, 52(sp) # 4-byte Folded Reload114; CHECK-RV32-NEXT: lw t2, 48(sp) # 4-byte Folded Reload115; CHECK-RV32-NEXT: lw a0, 44(sp) # 4-byte Folded Reload116; CHECK-RV32-NEXT: lw a1, 40(sp) # 4-byte Folded Reload117; CHECK-RV32-NEXT: lw a2, 36(sp) # 4-byte Folded Reload118; CHECK-RV32-NEXT: lw a3, 32(sp) # 4-byte Folded Reload119; CHECK-RV32-NEXT: lw a4, 28(sp) # 4-byte Folded Reload120; CHECK-RV32-NEXT: lw a5, 24(sp) # 4-byte Folded Reload121; CHECK-RV32-NEXT: lw a6, 20(sp) # 4-byte Folded Reload122; CHECK-RV32-NEXT: lw a7, 16(sp) # 4-byte Folded Reload123; CHECK-RV32-NEXT: lw t3, 12(sp) # 4-byte Folded Reload124; CHECK-RV32-NEXT: lw t4, 8(sp) # 4-byte Folded Reload125; CHECK-RV32-NEXT: lw t5, 4(sp) # 4-byte Folded Reload126; CHECK-RV32-NEXT: lw t6, 0(sp) # 4-byte Folded Reload127; CHECK-RV32-NEXT: addi sp, sp, 64128; CHECK-RV32-NEXT: mret129;130; CHECK-RV32-F-LABEL: foo_with_call:131; CHECK-RV32-F: # %bb.0:132; CHECK-RV32-F-NEXT: addi sp, sp, -144133; CHECK-RV32-F-NEXT: sw ra, 140(sp) # 4-byte Folded Spill134; CHECK-RV32-F-NEXT: sw t0, 136(sp) # 4-byte Folded Spill135; CHECK-RV32-F-NEXT: sw t1, 132(sp) # 4-byte Folded Spill136; CHECK-RV32-F-NEXT: sw t2, 128(sp) # 4-byte Folded Spill137; CHECK-RV32-F-NEXT: sw a0, 124(sp) # 4-byte Folded Spill138; CHECK-RV32-F-NEXT: sw a1, 120(sp) # 4-byte Folded Spill139; CHECK-RV32-F-NEXT: sw a2, 116(sp) # 4-byte Folded Spill140; CHECK-RV32-F-NEXT: sw a3, 112(sp) # 4-byte Folded Spill141; CHECK-RV32-F-NEXT: sw a4, 108(sp) # 4-byte Folded Spill142; CHECK-RV32-F-NEXT: sw a5, 104(sp) # 4-byte Folded Spill143; CHECK-RV32-F-NEXT: sw a6, 100(sp) # 4-byte Folded Spill144; CHECK-RV32-F-NEXT: sw a7, 96(sp) # 4-byte Folded Spill145; CHECK-RV32-F-NEXT: sw t3, 92(sp) # 4-byte Folded Spill146; CHECK-RV32-F-NEXT: sw t4, 88(sp) # 4-byte Folded Spill147; CHECK-RV32-F-NEXT: sw t5, 84(sp) # 4-byte Folded Spill148; CHECK-RV32-F-NEXT: sw t6, 80(sp) # 4-byte Folded Spill149; CHECK-RV32-F-NEXT: fsw ft0, 76(sp) # 4-byte Folded Spill150; CHECK-RV32-F-NEXT: fsw ft1, 72(sp) # 4-byte Folded Spill151; CHECK-RV32-F-NEXT: fsw ft2, 68(sp) # 4-byte Folded Spill152; CHECK-RV32-F-NEXT: fsw ft3, 64(sp) # 4-byte Folded Spill153; CHECK-RV32-F-NEXT: fsw ft4, 60(sp) # 4-byte Folded Spill154; CHECK-RV32-F-NEXT: fsw ft5, 56(sp) # 4-byte Folded Spill155; CHECK-RV32-F-NEXT: fsw ft6, 52(sp) # 4-byte Folded Spill156; CHECK-RV32-F-NEXT: fsw ft7, 48(sp) # 4-byte Folded Spill157; CHECK-RV32-F-NEXT: fsw fa0, 44(sp) # 4-byte Folded Spill158; CHECK-RV32-F-NEXT: fsw fa1, 40(sp) # 4-byte Folded Spill159; CHECK-RV32-F-NEXT: fsw fa2, 36(sp) # 4-byte Folded Spill160; CHECK-RV32-F-NEXT: fsw fa3, 32(sp) # 4-byte Folded Spill161; CHECK-RV32-F-NEXT: fsw fa4, 28(sp) # 4-byte Folded Spill162; CHECK-RV32-F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill163; CHECK-RV32-F-NEXT: fsw fa6, 20(sp) # 4-byte Folded Spill164; CHECK-RV32-F-NEXT: fsw fa7, 16(sp) # 4-byte Folded Spill165; CHECK-RV32-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill166; CHECK-RV32-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill167; CHECK-RV32-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill168; CHECK-RV32-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill169; CHECK-RV32-F-NEXT: call otherfoo170; CHECK-RV32-F-NEXT: lw ra, 140(sp) # 4-byte Folded Reload171; CHECK-RV32-F-NEXT: lw t0, 136(sp) # 4-byte Folded Reload172; CHECK-RV32-F-NEXT: lw t1, 132(sp) # 4-byte Folded Reload173; CHECK-RV32-F-NEXT: lw t2, 128(sp) # 4-byte Folded Reload174; CHECK-RV32-F-NEXT: lw a0, 124(sp) # 4-byte Folded Reload175; CHECK-RV32-F-NEXT: lw a1, 120(sp) # 4-byte Folded Reload176; CHECK-RV32-F-NEXT: lw a2, 116(sp) # 4-byte Folded Reload177; CHECK-RV32-F-NEXT: lw a3, 112(sp) # 4-byte Folded Reload178; CHECK-RV32-F-NEXT: lw a4, 108(sp) # 4-byte Folded Reload179; CHECK-RV32-F-NEXT: lw a5, 104(sp) # 4-byte Folded Reload180; CHECK-RV32-F-NEXT: lw a6, 100(sp) # 4-byte Folded Reload181; CHECK-RV32-F-NEXT: lw a7, 96(sp) # 4-byte Folded Reload182; CHECK-RV32-F-NEXT: lw t3, 92(sp) # 4-byte Folded Reload183; CHECK-RV32-F-NEXT: lw t4, 88(sp) # 4-byte Folded Reload184; CHECK-RV32-F-NEXT: lw t5, 84(sp) # 4-byte Folded Reload185; CHECK-RV32-F-NEXT: lw t6, 80(sp) # 4-byte Folded Reload186; CHECK-RV32-F-NEXT: flw ft0, 76(sp) # 4-byte Folded Reload187; CHECK-RV32-F-NEXT: flw ft1, 72(sp) # 4-byte Folded Reload188; CHECK-RV32-F-NEXT: flw ft2, 68(sp) # 4-byte Folded Reload189; CHECK-RV32-F-NEXT: flw ft3, 64(sp) # 4-byte Folded Reload190; CHECK-RV32-F-NEXT: flw ft4, 60(sp) # 4-byte Folded Reload191; CHECK-RV32-F-NEXT: flw ft5, 56(sp) # 4-byte Folded Reload192; CHECK-RV32-F-NEXT: flw ft6, 52(sp) # 4-byte Folded Reload193; CHECK-RV32-F-NEXT: flw ft7, 48(sp) # 4-byte Folded Reload194; CHECK-RV32-F-NEXT: flw fa0, 44(sp) # 4-byte Folded Reload195; CHECK-RV32-F-NEXT: flw fa1, 40(sp) # 4-byte Folded Reload196; CHECK-RV32-F-NEXT: flw fa2, 36(sp) # 4-byte Folded Reload197; CHECK-RV32-F-NEXT: flw fa3, 32(sp) # 4-byte Folded Reload198; CHECK-RV32-F-NEXT: flw fa4, 28(sp) # 4-byte Folded Reload199; CHECK-RV32-F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload200; CHECK-RV32-F-NEXT: flw fa6, 20(sp) # 4-byte Folded Reload201; CHECK-RV32-F-NEXT: flw fa7, 16(sp) # 4-byte Folded Reload202; CHECK-RV32-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload203; CHECK-RV32-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload204; CHECK-RV32-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload205; CHECK-RV32-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload206; CHECK-RV32-F-NEXT: addi sp, sp, 144207; CHECK-RV32-F-NEXT: mret208;209; CHECK-RV32-FD-LABEL: foo_with_call:210; CHECK-RV32-FD: # %bb.0:211; CHECK-RV32-FD-NEXT: addi sp, sp, -224212; CHECK-RV32-FD-NEXT: sw ra, 220(sp) # 4-byte Folded Spill213; CHECK-RV32-FD-NEXT: sw t0, 216(sp) # 4-byte Folded Spill214; CHECK-RV32-FD-NEXT: sw t1, 212(sp) # 4-byte Folded Spill215; CHECK-RV32-FD-NEXT: sw t2, 208(sp) # 4-byte Folded Spill216; CHECK-RV32-FD-NEXT: sw a0, 204(sp) # 4-byte Folded Spill217; CHECK-RV32-FD-NEXT: sw a1, 200(sp) # 4-byte Folded Spill218; CHECK-RV32-FD-NEXT: sw a2, 196(sp) # 4-byte Folded Spill219; CHECK-RV32-FD-NEXT: sw a3, 192(sp) # 4-byte Folded Spill220; CHECK-RV32-FD-NEXT: sw a4, 188(sp) # 4-byte Folded Spill221; CHECK-RV32-FD-NEXT: sw a5, 184(sp) # 4-byte Folded Spill222; CHECK-RV32-FD-NEXT: sw a6, 180(sp) # 4-byte Folded Spill223; CHECK-RV32-FD-NEXT: sw a7, 176(sp) # 4-byte Folded Spill224; CHECK-RV32-FD-NEXT: sw t3, 172(sp) # 4-byte Folded Spill225; CHECK-RV32-FD-NEXT: sw t4, 168(sp) # 4-byte Folded Spill226; CHECK-RV32-FD-NEXT: sw t5, 164(sp) # 4-byte Folded Spill227; CHECK-RV32-FD-NEXT: sw t6, 160(sp) # 4-byte Folded Spill228; CHECK-RV32-FD-NEXT: fsd ft0, 152(sp) # 8-byte Folded Spill229; CHECK-RV32-FD-NEXT: fsd ft1, 144(sp) # 8-byte Folded Spill230; CHECK-RV32-FD-NEXT: fsd ft2, 136(sp) # 8-byte Folded Spill231; CHECK-RV32-FD-NEXT: fsd ft3, 128(sp) # 8-byte Folded Spill232; CHECK-RV32-FD-NEXT: fsd ft4, 120(sp) # 8-byte Folded Spill233; CHECK-RV32-FD-NEXT: fsd ft5, 112(sp) # 8-byte Folded Spill234; CHECK-RV32-FD-NEXT: fsd ft6, 104(sp) # 8-byte Folded Spill235; CHECK-RV32-FD-NEXT: fsd ft7, 96(sp) # 8-byte Folded Spill236; CHECK-RV32-FD-NEXT: fsd fa0, 88(sp) # 8-byte Folded Spill237; CHECK-RV32-FD-NEXT: fsd fa1, 80(sp) # 8-byte Folded Spill238; CHECK-RV32-FD-NEXT: fsd fa2, 72(sp) # 8-byte Folded Spill239; CHECK-RV32-FD-NEXT: fsd fa3, 64(sp) # 8-byte Folded Spill240; CHECK-RV32-FD-NEXT: fsd fa4, 56(sp) # 8-byte Folded Spill241; CHECK-RV32-FD-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill242; CHECK-RV32-FD-NEXT: fsd fa6, 40(sp) # 8-byte Folded Spill243; CHECK-RV32-FD-NEXT: fsd fa7, 32(sp) # 8-byte Folded Spill244; CHECK-RV32-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill245; CHECK-RV32-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill246; CHECK-RV32-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill247; CHECK-RV32-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill248; CHECK-RV32-FD-NEXT: call otherfoo249; CHECK-RV32-FD-NEXT: lw ra, 220(sp) # 4-byte Folded Reload250; CHECK-RV32-FD-NEXT: lw t0, 216(sp) # 4-byte Folded Reload251; CHECK-RV32-FD-NEXT: lw t1, 212(sp) # 4-byte Folded Reload252; CHECK-RV32-FD-NEXT: lw t2, 208(sp) # 4-byte Folded Reload253; CHECK-RV32-FD-NEXT: lw a0, 204(sp) # 4-byte Folded Reload254; CHECK-RV32-FD-NEXT: lw a1, 200(sp) # 4-byte Folded Reload255; CHECK-RV32-FD-NEXT: lw a2, 196(sp) # 4-byte Folded Reload256; CHECK-RV32-FD-NEXT: lw a3, 192(sp) # 4-byte Folded Reload257; CHECK-RV32-FD-NEXT: lw a4, 188(sp) # 4-byte Folded Reload258; CHECK-RV32-FD-NEXT: lw a5, 184(sp) # 4-byte Folded Reload259; CHECK-RV32-FD-NEXT: lw a6, 180(sp) # 4-byte Folded Reload260; CHECK-RV32-FD-NEXT: lw a7, 176(sp) # 4-byte Folded Reload261; CHECK-RV32-FD-NEXT: lw t3, 172(sp) # 4-byte Folded Reload262; CHECK-RV32-FD-NEXT: lw t4, 168(sp) # 4-byte Folded Reload263; CHECK-RV32-FD-NEXT: lw t5, 164(sp) # 4-byte Folded Reload264; CHECK-RV32-FD-NEXT: lw t6, 160(sp) # 4-byte Folded Reload265; CHECK-RV32-FD-NEXT: fld ft0, 152(sp) # 8-byte Folded Reload266; CHECK-RV32-FD-NEXT: fld ft1, 144(sp) # 8-byte Folded Reload267; CHECK-RV32-FD-NEXT: fld ft2, 136(sp) # 8-byte Folded Reload268; CHECK-RV32-FD-NEXT: fld ft3, 128(sp) # 8-byte Folded Reload269; CHECK-RV32-FD-NEXT: fld ft4, 120(sp) # 8-byte Folded Reload270; CHECK-RV32-FD-NEXT: fld ft5, 112(sp) # 8-byte Folded Reload271; CHECK-RV32-FD-NEXT: fld ft6, 104(sp) # 8-byte Folded Reload272; CHECK-RV32-FD-NEXT: fld ft7, 96(sp) # 8-byte Folded Reload273; CHECK-RV32-FD-NEXT: fld fa0, 88(sp) # 8-byte Folded Reload274; CHECK-RV32-FD-NEXT: fld fa1, 80(sp) # 8-byte Folded Reload275; CHECK-RV32-FD-NEXT: fld fa2, 72(sp) # 8-byte Folded Reload276; CHECK-RV32-FD-NEXT: fld fa3, 64(sp) # 8-byte Folded Reload277; CHECK-RV32-FD-NEXT: fld fa4, 56(sp) # 8-byte Folded Reload278; CHECK-RV32-FD-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload279; CHECK-RV32-FD-NEXT: fld fa6, 40(sp) # 8-byte Folded Reload280; CHECK-RV32-FD-NEXT: fld fa7, 32(sp) # 8-byte Folded Reload281; CHECK-RV32-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload282; CHECK-RV32-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload283; CHECK-RV32-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload284; CHECK-RV32-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload285; CHECK-RV32-FD-NEXT: addi sp, sp, 224286; CHECK-RV32-FD-NEXT: mret287;288; CHECK-RV32-F-ILP3-LABEL: foo_with_call:289; CHECK-RV32-F-ILP3: # %bb.0:290; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, -192291; CHECK-RV32-F-ILP3-NEXT: sw ra, 188(sp) # 4-byte Folded Spill292; CHECK-RV32-F-ILP3-NEXT: sw t0, 184(sp) # 4-byte Folded Spill293; CHECK-RV32-F-ILP3-NEXT: sw t1, 180(sp) # 4-byte Folded Spill294; CHECK-RV32-F-ILP3-NEXT: sw t2, 176(sp) # 4-byte Folded Spill295; CHECK-RV32-F-ILP3-NEXT: sw a0, 172(sp) # 4-byte Folded Spill296; CHECK-RV32-F-ILP3-NEXT: sw a1, 168(sp) # 4-byte Folded Spill297; CHECK-RV32-F-ILP3-NEXT: sw a2, 164(sp) # 4-byte Folded Spill298; CHECK-RV32-F-ILP3-NEXT: sw a3, 160(sp) # 4-byte Folded Spill299; CHECK-RV32-F-ILP3-NEXT: sw a4, 156(sp) # 4-byte Folded Spill300; CHECK-RV32-F-ILP3-NEXT: sw a5, 152(sp) # 4-byte Folded Spill301; CHECK-RV32-F-ILP3-NEXT: sw a6, 148(sp) # 4-byte Folded Spill302; CHECK-RV32-F-ILP3-NEXT: sw a7, 144(sp) # 4-byte Folded Spill303; CHECK-RV32-F-ILP3-NEXT: sw t3, 140(sp) # 4-byte Folded Spill304; CHECK-RV32-F-ILP3-NEXT: sw t4, 136(sp) # 4-byte Folded Spill305; CHECK-RV32-F-ILP3-NEXT: sw t5, 132(sp) # 4-byte Folded Spill306; CHECK-RV32-F-ILP3-NEXT: sw t6, 128(sp) # 4-byte Folded Spill307; CHECK-RV32-F-ILP3-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill308; CHECK-RV32-F-ILP3-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill309; CHECK-RV32-F-ILP3-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill310; CHECK-RV32-F-ILP3-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill311; CHECK-RV32-F-ILP3-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill312; CHECK-RV32-F-ILP3-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill313; CHECK-RV32-F-ILP3-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill314; CHECK-RV32-F-ILP3-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill315; CHECK-RV32-F-ILP3-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill316; CHECK-RV32-F-ILP3-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill317; CHECK-RV32-F-ILP3-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill318; CHECK-RV32-F-ILP3-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill319; CHECK-RV32-F-ILP3-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill320; CHECK-RV32-F-ILP3-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill321; CHECK-RV32-F-ILP3-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill322; CHECK-RV32-F-ILP3-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill323; CHECK-RV32-F-ILP3-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill324; CHECK-RV32-F-ILP3-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill325; CHECK-RV32-F-ILP3-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill326; CHECK-RV32-F-ILP3-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill327; CHECK-RV32-F-ILP3-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill328; CHECK-RV32-F-ILP3-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill329; CHECK-RV32-F-ILP3-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill330; CHECK-RV32-F-ILP3-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill331; CHECK-RV32-F-ILP3-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill332; CHECK-RV32-F-ILP3-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill333; CHECK-RV32-F-ILP3-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill334; CHECK-RV32-F-ILP3-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill335; CHECK-RV32-F-ILP3-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill336; CHECK-RV32-F-ILP3-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill337; CHECK-RV32-F-ILP3-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill338; CHECK-RV32-F-ILP3-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill339; CHECK-RV32-F-ILP3-NEXT: call otherfoo340; CHECK-RV32-F-ILP3-NEXT: lw ra, 188(sp) # 4-byte Folded Reload341; CHECK-RV32-F-ILP3-NEXT: lw t0, 184(sp) # 4-byte Folded Reload342; CHECK-RV32-F-ILP3-NEXT: lw t1, 180(sp) # 4-byte Folded Reload343; CHECK-RV32-F-ILP3-NEXT: lw t2, 176(sp) # 4-byte Folded Reload344; CHECK-RV32-F-ILP3-NEXT: lw a0, 172(sp) # 4-byte Folded Reload345; CHECK-RV32-F-ILP3-NEXT: lw a1, 168(sp) # 4-byte Folded Reload346; CHECK-RV32-F-ILP3-NEXT: lw a2, 164(sp) # 4-byte Folded Reload347; CHECK-RV32-F-ILP3-NEXT: lw a3, 160(sp) # 4-byte Folded Reload348; CHECK-RV32-F-ILP3-NEXT: lw a4, 156(sp) # 4-byte Folded Reload349; CHECK-RV32-F-ILP3-NEXT: lw a5, 152(sp) # 4-byte Folded Reload350; CHECK-RV32-F-ILP3-NEXT: lw a6, 148(sp) # 4-byte Folded Reload351; CHECK-RV32-F-ILP3-NEXT: lw a7, 144(sp) # 4-byte Folded Reload352; CHECK-RV32-F-ILP3-NEXT: lw t3, 140(sp) # 4-byte Folded Reload353; CHECK-RV32-F-ILP3-NEXT: lw t4, 136(sp) # 4-byte Folded Reload354; CHECK-RV32-F-ILP3-NEXT: lw t5, 132(sp) # 4-byte Folded Reload355; CHECK-RV32-F-ILP3-NEXT: lw t6, 128(sp) # 4-byte Folded Reload356; CHECK-RV32-F-ILP3-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload357; CHECK-RV32-F-ILP3-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload358; CHECK-RV32-F-ILP3-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload359; CHECK-RV32-F-ILP3-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload360; CHECK-RV32-F-ILP3-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload361; CHECK-RV32-F-ILP3-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload362; CHECK-RV32-F-ILP3-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload363; CHECK-RV32-F-ILP3-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload364; CHECK-RV32-F-ILP3-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload365; CHECK-RV32-F-ILP3-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload366; CHECK-RV32-F-ILP3-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload367; CHECK-RV32-F-ILP3-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload368; CHECK-RV32-F-ILP3-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload369; CHECK-RV32-F-ILP3-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload370; CHECK-RV32-F-ILP3-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload371; CHECK-RV32-F-ILP3-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload372; CHECK-RV32-F-ILP3-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload373; CHECK-RV32-F-ILP3-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload374; CHECK-RV32-F-ILP3-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload375; CHECK-RV32-F-ILP3-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload376; CHECK-RV32-F-ILP3-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload377; CHECK-RV32-F-ILP3-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload378; CHECK-RV32-F-ILP3-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload379; CHECK-RV32-F-ILP3-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload380; CHECK-RV32-F-ILP3-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload381; CHECK-RV32-F-ILP3-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload382; CHECK-RV32-F-ILP3-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload383; CHECK-RV32-F-ILP3-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload384; CHECK-RV32-F-ILP3-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload385; CHECK-RV32-F-ILP3-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload386; CHECK-RV32-F-ILP3-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload387; CHECK-RV32-F-ILP3-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload388; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, 192389; CHECK-RV32-F-ILP3-NEXT: mret390;391; CHECK-RV32-FD-ILP32F-LABEL: foo_with_call:392; CHECK-RV32-FD-ILP32F: # %bb.0:393; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, -320394; CHECK-RV32-FD-ILP32F-NEXT: sw ra, 316(sp) # 4-byte Folded Spill395; CHECK-RV32-FD-ILP32F-NEXT: sw t0, 312(sp) # 4-byte Folded Spill396; CHECK-RV32-FD-ILP32F-NEXT: sw t1, 308(sp) # 4-byte Folded Spill397; CHECK-RV32-FD-ILP32F-NEXT: sw t2, 304(sp) # 4-byte Folded Spill398; CHECK-RV32-FD-ILP32F-NEXT: sw a0, 300(sp) # 4-byte Folded Spill399; CHECK-RV32-FD-ILP32F-NEXT: sw a1, 296(sp) # 4-byte Folded Spill400; CHECK-RV32-FD-ILP32F-NEXT: sw a2, 292(sp) # 4-byte Folded Spill401; CHECK-RV32-FD-ILP32F-NEXT: sw a3, 288(sp) # 4-byte Folded Spill402; CHECK-RV32-FD-ILP32F-NEXT: sw a4, 284(sp) # 4-byte Folded Spill403; CHECK-RV32-FD-ILP32F-NEXT: sw a5, 280(sp) # 4-byte Folded Spill404; CHECK-RV32-FD-ILP32F-NEXT: sw a6, 276(sp) # 4-byte Folded Spill405; CHECK-RV32-FD-ILP32F-NEXT: sw a7, 272(sp) # 4-byte Folded Spill406; CHECK-RV32-FD-ILP32F-NEXT: sw t3, 268(sp) # 4-byte Folded Spill407; CHECK-RV32-FD-ILP32F-NEXT: sw t4, 264(sp) # 4-byte Folded Spill408; CHECK-RV32-FD-ILP32F-NEXT: sw t5, 260(sp) # 4-byte Folded Spill409; CHECK-RV32-FD-ILP32F-NEXT: sw t6, 256(sp) # 4-byte Folded Spill410; CHECK-RV32-FD-ILP32F-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill411; CHECK-RV32-FD-ILP32F-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill412; CHECK-RV32-FD-ILP32F-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill413; CHECK-RV32-FD-ILP32F-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill414; CHECK-RV32-FD-ILP32F-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill415; CHECK-RV32-FD-ILP32F-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill416; CHECK-RV32-FD-ILP32F-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill417; CHECK-RV32-FD-ILP32F-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill418; CHECK-RV32-FD-ILP32F-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill419; CHECK-RV32-FD-ILP32F-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill420; CHECK-RV32-FD-ILP32F-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill421; CHECK-RV32-FD-ILP32F-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill422; CHECK-RV32-FD-ILP32F-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill423; CHECK-RV32-FD-ILP32F-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill424; CHECK-RV32-FD-ILP32F-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill425; CHECK-RV32-FD-ILP32F-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill426; CHECK-RV32-FD-ILP32F-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill427; CHECK-RV32-FD-ILP32F-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill428; CHECK-RV32-FD-ILP32F-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill429; CHECK-RV32-FD-ILP32F-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill430; CHECK-RV32-FD-ILP32F-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill431; CHECK-RV32-FD-ILP32F-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill432; CHECK-RV32-FD-ILP32F-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill433; CHECK-RV32-FD-ILP32F-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill434; CHECK-RV32-FD-ILP32F-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill435; CHECK-RV32-FD-ILP32F-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill436; CHECK-RV32-FD-ILP32F-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill437; CHECK-RV32-FD-ILP32F-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill438; CHECK-RV32-FD-ILP32F-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill439; CHECK-RV32-FD-ILP32F-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill440; CHECK-RV32-FD-ILP32F-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill441; CHECK-RV32-FD-ILP32F-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill442; CHECK-RV32-FD-ILP32F-NEXT: call otherfoo443; CHECK-RV32-FD-ILP32F-NEXT: lw ra, 316(sp) # 4-byte Folded Reload444; CHECK-RV32-FD-ILP32F-NEXT: lw t0, 312(sp) # 4-byte Folded Reload445; CHECK-RV32-FD-ILP32F-NEXT: lw t1, 308(sp) # 4-byte Folded Reload446; CHECK-RV32-FD-ILP32F-NEXT: lw t2, 304(sp) # 4-byte Folded Reload447; CHECK-RV32-FD-ILP32F-NEXT: lw a0, 300(sp) # 4-byte Folded Reload448; CHECK-RV32-FD-ILP32F-NEXT: lw a1, 296(sp) # 4-byte Folded Reload449; CHECK-RV32-FD-ILP32F-NEXT: lw a2, 292(sp) # 4-byte Folded Reload450; CHECK-RV32-FD-ILP32F-NEXT: lw a3, 288(sp) # 4-byte Folded Reload451; CHECK-RV32-FD-ILP32F-NEXT: lw a4, 284(sp) # 4-byte Folded Reload452; CHECK-RV32-FD-ILP32F-NEXT: lw a5, 280(sp) # 4-byte Folded Reload453; CHECK-RV32-FD-ILP32F-NEXT: lw a6, 276(sp) # 4-byte Folded Reload454; CHECK-RV32-FD-ILP32F-NEXT: lw a7, 272(sp) # 4-byte Folded Reload455; CHECK-RV32-FD-ILP32F-NEXT: lw t3, 268(sp) # 4-byte Folded Reload456; CHECK-RV32-FD-ILP32F-NEXT: lw t4, 264(sp) # 4-byte Folded Reload457; CHECK-RV32-FD-ILP32F-NEXT: lw t5, 260(sp) # 4-byte Folded Reload458; CHECK-RV32-FD-ILP32F-NEXT: lw t6, 256(sp) # 4-byte Folded Reload459; CHECK-RV32-FD-ILP32F-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload460; CHECK-RV32-FD-ILP32F-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload461; CHECK-RV32-FD-ILP32F-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload462; CHECK-RV32-FD-ILP32F-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload463; CHECK-RV32-FD-ILP32F-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload464; CHECK-RV32-FD-ILP32F-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload465; CHECK-RV32-FD-ILP32F-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload466; CHECK-RV32-FD-ILP32F-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload467; CHECK-RV32-FD-ILP32F-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload468; CHECK-RV32-FD-ILP32F-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload469; CHECK-RV32-FD-ILP32F-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload470; CHECK-RV32-FD-ILP32F-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload471; CHECK-RV32-FD-ILP32F-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload472; CHECK-RV32-FD-ILP32F-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload473; CHECK-RV32-FD-ILP32F-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload474; CHECK-RV32-FD-ILP32F-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload475; CHECK-RV32-FD-ILP32F-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload476; CHECK-RV32-FD-ILP32F-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload477; CHECK-RV32-FD-ILP32F-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload478; CHECK-RV32-FD-ILP32F-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload479; CHECK-RV32-FD-ILP32F-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload480; CHECK-RV32-FD-ILP32F-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload481; CHECK-RV32-FD-ILP32F-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload482; CHECK-RV32-FD-ILP32F-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload483; CHECK-RV32-FD-ILP32F-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload484; CHECK-RV32-FD-ILP32F-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload485; CHECK-RV32-FD-ILP32F-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload486; CHECK-RV32-FD-ILP32F-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload487; CHECK-RV32-FD-ILP32F-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload488; CHECK-RV32-FD-ILP32F-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload489; CHECK-RV32-FD-ILP32F-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload490; CHECK-RV32-FD-ILP32F-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload491; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, 320492; CHECK-RV32-FD-ILP32F-NEXT: mret493;494; CHECK-RV32-FD-ILP32-LABEL: foo_with_call:495; CHECK-RV32-FD-ILP32: # %bb.0:496; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, -320497; CHECK-RV32-FD-ILP32-NEXT: sw ra, 316(sp) # 4-byte Folded Spill498; CHECK-RV32-FD-ILP32-NEXT: sw t0, 312(sp) # 4-byte Folded Spill499; CHECK-RV32-FD-ILP32-NEXT: sw t1, 308(sp) # 4-byte Folded Spill500; CHECK-RV32-FD-ILP32-NEXT: sw t2, 304(sp) # 4-byte Folded Spill501; CHECK-RV32-FD-ILP32-NEXT: sw a0, 300(sp) # 4-byte Folded Spill502; CHECK-RV32-FD-ILP32-NEXT: sw a1, 296(sp) # 4-byte Folded Spill503; CHECK-RV32-FD-ILP32-NEXT: sw a2, 292(sp) # 4-byte Folded Spill504; CHECK-RV32-FD-ILP32-NEXT: sw a3, 288(sp) # 4-byte Folded Spill505; CHECK-RV32-FD-ILP32-NEXT: sw a4, 284(sp) # 4-byte Folded Spill506; CHECK-RV32-FD-ILP32-NEXT: sw a5, 280(sp) # 4-byte Folded Spill507; CHECK-RV32-FD-ILP32-NEXT: sw a6, 276(sp) # 4-byte Folded Spill508; CHECK-RV32-FD-ILP32-NEXT: sw a7, 272(sp) # 4-byte Folded Spill509; CHECK-RV32-FD-ILP32-NEXT: sw t3, 268(sp) # 4-byte Folded Spill510; CHECK-RV32-FD-ILP32-NEXT: sw t4, 264(sp) # 4-byte Folded Spill511; CHECK-RV32-FD-ILP32-NEXT: sw t5, 260(sp) # 4-byte Folded Spill512; CHECK-RV32-FD-ILP32-NEXT: sw t6, 256(sp) # 4-byte Folded Spill513; CHECK-RV32-FD-ILP32-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill514; CHECK-RV32-FD-ILP32-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill515; CHECK-RV32-FD-ILP32-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill516; CHECK-RV32-FD-ILP32-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill517; CHECK-RV32-FD-ILP32-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill518; CHECK-RV32-FD-ILP32-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill519; CHECK-RV32-FD-ILP32-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill520; CHECK-RV32-FD-ILP32-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill521; CHECK-RV32-FD-ILP32-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill522; CHECK-RV32-FD-ILP32-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill523; CHECK-RV32-FD-ILP32-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill524; CHECK-RV32-FD-ILP32-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill525; CHECK-RV32-FD-ILP32-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill526; CHECK-RV32-FD-ILP32-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill527; CHECK-RV32-FD-ILP32-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill528; CHECK-RV32-FD-ILP32-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill529; CHECK-RV32-FD-ILP32-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill530; CHECK-RV32-FD-ILP32-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill531; CHECK-RV32-FD-ILP32-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill532; CHECK-RV32-FD-ILP32-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill533; CHECK-RV32-FD-ILP32-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill534; CHECK-RV32-FD-ILP32-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill535; CHECK-RV32-FD-ILP32-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill536; CHECK-RV32-FD-ILP32-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill537; CHECK-RV32-FD-ILP32-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill538; CHECK-RV32-FD-ILP32-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill539; CHECK-RV32-FD-ILP32-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill540; CHECK-RV32-FD-ILP32-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill541; CHECK-RV32-FD-ILP32-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill542; CHECK-RV32-FD-ILP32-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill543; CHECK-RV32-FD-ILP32-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill544; CHECK-RV32-FD-ILP32-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill545; CHECK-RV32-FD-ILP32-NEXT: call otherfoo546; CHECK-RV32-FD-ILP32-NEXT: lw ra, 316(sp) # 4-byte Folded Reload547; CHECK-RV32-FD-ILP32-NEXT: lw t0, 312(sp) # 4-byte Folded Reload548; CHECK-RV32-FD-ILP32-NEXT: lw t1, 308(sp) # 4-byte Folded Reload549; CHECK-RV32-FD-ILP32-NEXT: lw t2, 304(sp) # 4-byte Folded Reload550; CHECK-RV32-FD-ILP32-NEXT: lw a0, 300(sp) # 4-byte Folded Reload551; CHECK-RV32-FD-ILP32-NEXT: lw a1, 296(sp) # 4-byte Folded Reload552; CHECK-RV32-FD-ILP32-NEXT: lw a2, 292(sp) # 4-byte Folded Reload553; CHECK-RV32-FD-ILP32-NEXT: lw a3, 288(sp) # 4-byte Folded Reload554; CHECK-RV32-FD-ILP32-NEXT: lw a4, 284(sp) # 4-byte Folded Reload555; CHECK-RV32-FD-ILP32-NEXT: lw a5, 280(sp) # 4-byte Folded Reload556; CHECK-RV32-FD-ILP32-NEXT: lw a6, 276(sp) # 4-byte Folded Reload557; CHECK-RV32-FD-ILP32-NEXT: lw a7, 272(sp) # 4-byte Folded Reload558; CHECK-RV32-FD-ILP32-NEXT: lw t3, 268(sp) # 4-byte Folded Reload559; CHECK-RV32-FD-ILP32-NEXT: lw t4, 264(sp) # 4-byte Folded Reload560; CHECK-RV32-FD-ILP32-NEXT: lw t5, 260(sp) # 4-byte Folded Reload561; CHECK-RV32-FD-ILP32-NEXT: lw t6, 256(sp) # 4-byte Folded Reload562; CHECK-RV32-FD-ILP32-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload563; CHECK-RV32-FD-ILP32-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload564; CHECK-RV32-FD-ILP32-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload565; CHECK-RV32-FD-ILP32-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload566; CHECK-RV32-FD-ILP32-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload567; CHECK-RV32-FD-ILP32-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload568; CHECK-RV32-FD-ILP32-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload569; CHECK-RV32-FD-ILP32-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload570; CHECK-RV32-FD-ILP32-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload571; CHECK-RV32-FD-ILP32-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload572; CHECK-RV32-FD-ILP32-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload573; CHECK-RV32-FD-ILP32-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload574; CHECK-RV32-FD-ILP32-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload575; CHECK-RV32-FD-ILP32-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload576; CHECK-RV32-FD-ILP32-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload577; CHECK-RV32-FD-ILP32-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload578; CHECK-RV32-FD-ILP32-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload579; CHECK-RV32-FD-ILP32-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload580; CHECK-RV32-FD-ILP32-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload581; CHECK-RV32-FD-ILP32-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload582; CHECK-RV32-FD-ILP32-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload583; CHECK-RV32-FD-ILP32-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload584; CHECK-RV32-FD-ILP32-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload585; CHECK-RV32-FD-ILP32-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload586; CHECK-RV32-FD-ILP32-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload587; CHECK-RV32-FD-ILP32-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload588; CHECK-RV32-FD-ILP32-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload589; CHECK-RV32-FD-ILP32-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload590; CHECK-RV32-FD-ILP32-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload591; CHECK-RV32-FD-ILP32-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload592; CHECK-RV32-FD-ILP32-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload593; CHECK-RV32-FD-ILP32-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload594; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, 320595; CHECK-RV32-FD-ILP32-NEXT: mret596;597; CHECK-RV32I-ILP32E-LABEL: foo_with_call:598; CHECK-RV32I-ILP32E: # %bb.0:599; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, -104600; CHECK-RV32I-ILP32E-NEXT: sw ra, 100(sp) # 4-byte Folded Spill601; CHECK-RV32I-ILP32E-NEXT: sw t0, 96(sp) # 4-byte Folded Spill602; CHECK-RV32I-ILP32E-NEXT: sw t1, 92(sp) # 4-byte Folded Spill603; CHECK-RV32I-ILP32E-NEXT: sw t2, 88(sp) # 4-byte Folded Spill604; CHECK-RV32I-ILP32E-NEXT: sw a0, 84(sp) # 4-byte Folded Spill605; CHECK-RV32I-ILP32E-NEXT: sw a1, 80(sp) # 4-byte Folded Spill606; CHECK-RV32I-ILP32E-NEXT: sw a2, 76(sp) # 4-byte Folded Spill607; CHECK-RV32I-ILP32E-NEXT: sw a3, 72(sp) # 4-byte Folded Spill608; CHECK-RV32I-ILP32E-NEXT: sw a4, 68(sp) # 4-byte Folded Spill609; CHECK-RV32I-ILP32E-NEXT: sw a5, 64(sp) # 4-byte Folded Spill610; CHECK-RV32I-ILP32E-NEXT: sw a6, 60(sp) # 4-byte Folded Spill611; CHECK-RV32I-ILP32E-NEXT: sw a7, 56(sp) # 4-byte Folded Spill612; CHECK-RV32I-ILP32E-NEXT: sw s2, 52(sp) # 4-byte Folded Spill613; CHECK-RV32I-ILP32E-NEXT: sw s3, 48(sp) # 4-byte Folded Spill614; CHECK-RV32I-ILP32E-NEXT: sw s4, 44(sp) # 4-byte Folded Spill615; CHECK-RV32I-ILP32E-NEXT: sw s5, 40(sp) # 4-byte Folded Spill616; CHECK-RV32I-ILP32E-NEXT: sw s6, 36(sp) # 4-byte Folded Spill617; CHECK-RV32I-ILP32E-NEXT: sw s7, 32(sp) # 4-byte Folded Spill618; CHECK-RV32I-ILP32E-NEXT: sw s8, 28(sp) # 4-byte Folded Spill619; CHECK-RV32I-ILP32E-NEXT: sw s9, 24(sp) # 4-byte Folded Spill620; CHECK-RV32I-ILP32E-NEXT: sw s10, 20(sp) # 4-byte Folded Spill621; CHECK-RV32I-ILP32E-NEXT: sw s11, 16(sp) # 4-byte Folded Spill622; CHECK-RV32I-ILP32E-NEXT: sw t3, 12(sp) # 4-byte Folded Spill623; CHECK-RV32I-ILP32E-NEXT: sw t4, 8(sp) # 4-byte Folded Spill624; CHECK-RV32I-ILP32E-NEXT: sw t5, 4(sp) # 4-byte Folded Spill625; CHECK-RV32I-ILP32E-NEXT: sw t6, 0(sp) # 4-byte Folded Spill626; CHECK-RV32I-ILP32E-NEXT: call otherfoo627; CHECK-RV32I-ILP32E-NEXT: lw ra, 100(sp) # 4-byte Folded Reload628; CHECK-RV32I-ILP32E-NEXT: lw t0, 96(sp) # 4-byte Folded Reload629; CHECK-RV32I-ILP32E-NEXT: lw t1, 92(sp) # 4-byte Folded Reload630; CHECK-RV32I-ILP32E-NEXT: lw t2, 88(sp) # 4-byte Folded Reload631; CHECK-RV32I-ILP32E-NEXT: lw a0, 84(sp) # 4-byte Folded Reload632; CHECK-RV32I-ILP32E-NEXT: lw a1, 80(sp) # 4-byte Folded Reload633; CHECK-RV32I-ILP32E-NEXT: lw a2, 76(sp) # 4-byte Folded Reload634; CHECK-RV32I-ILP32E-NEXT: lw a3, 72(sp) # 4-byte Folded Reload635; CHECK-RV32I-ILP32E-NEXT: lw a4, 68(sp) # 4-byte Folded Reload636; CHECK-RV32I-ILP32E-NEXT: lw a5, 64(sp) # 4-byte Folded Reload637; CHECK-RV32I-ILP32E-NEXT: lw a6, 60(sp) # 4-byte Folded Reload638; CHECK-RV32I-ILP32E-NEXT: lw a7, 56(sp) # 4-byte Folded Reload639; CHECK-RV32I-ILP32E-NEXT: lw s2, 52(sp) # 4-byte Folded Reload640; CHECK-RV32I-ILP32E-NEXT: lw s3, 48(sp) # 4-byte Folded Reload641; CHECK-RV32I-ILP32E-NEXT: lw s4, 44(sp) # 4-byte Folded Reload642; CHECK-RV32I-ILP32E-NEXT: lw s5, 40(sp) # 4-byte Folded Reload643; CHECK-RV32I-ILP32E-NEXT: lw s6, 36(sp) # 4-byte Folded Reload644; CHECK-RV32I-ILP32E-NEXT: lw s7, 32(sp) # 4-byte Folded Reload645; CHECK-RV32I-ILP32E-NEXT: lw s8, 28(sp) # 4-byte Folded Reload646; CHECK-RV32I-ILP32E-NEXT: lw s9, 24(sp) # 4-byte Folded Reload647; CHECK-RV32I-ILP32E-NEXT: lw s10, 20(sp) # 4-byte Folded Reload648; CHECK-RV32I-ILP32E-NEXT: lw s11, 16(sp) # 4-byte Folded Reload649; CHECK-RV32I-ILP32E-NEXT: lw t3, 12(sp) # 4-byte Folded Reload650; CHECK-RV32I-ILP32E-NEXT: lw t4, 8(sp) # 4-byte Folded Reload651; CHECK-RV32I-ILP32E-NEXT: lw t5, 4(sp) # 4-byte Folded Reload652; CHECK-RV32I-ILP32E-NEXT: lw t6, 0(sp) # 4-byte Folded Reload653; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, 104654; CHECK-RV32I-ILP32E-NEXT: mret655;656; CHECK-RV32E-LABEL: foo_with_call:657; CHECK-RV32E: # %bb.0:658; CHECK-RV32E-NEXT: addi sp, sp, -40659; CHECK-RV32E-NEXT: sw ra, 36(sp) # 4-byte Folded Spill660; CHECK-RV32E-NEXT: sw t0, 32(sp) # 4-byte Folded Spill661; CHECK-RV32E-NEXT: sw t1, 28(sp) # 4-byte Folded Spill662; CHECK-RV32E-NEXT: sw t2, 24(sp) # 4-byte Folded Spill663; CHECK-RV32E-NEXT: sw a0, 20(sp) # 4-byte Folded Spill664; CHECK-RV32E-NEXT: sw a1, 16(sp) # 4-byte Folded Spill665; CHECK-RV32E-NEXT: sw a2, 12(sp) # 4-byte Folded Spill666; CHECK-RV32E-NEXT: sw a3, 8(sp) # 4-byte Folded Spill667; CHECK-RV32E-NEXT: sw a4, 4(sp) # 4-byte Folded Spill668; CHECK-RV32E-NEXT: sw a5, 0(sp) # 4-byte Folded Spill669; CHECK-RV32E-NEXT: call otherfoo670; CHECK-RV32E-NEXT: lw ra, 36(sp) # 4-byte Folded Reload671; CHECK-RV32E-NEXT: lw t0, 32(sp) # 4-byte Folded Reload672; CHECK-RV32E-NEXT: lw t1, 28(sp) # 4-byte Folded Reload673; CHECK-RV32E-NEXT: lw t2, 24(sp) # 4-byte Folded Reload674; CHECK-RV32E-NEXT: lw a0, 20(sp) # 4-byte Folded Reload675; CHECK-RV32E-NEXT: lw a1, 16(sp) # 4-byte Folded Reload676; CHECK-RV32E-NEXT: lw a2, 12(sp) # 4-byte Folded Reload677; CHECK-RV32E-NEXT: lw a3, 8(sp) # 4-byte Folded Reload678; CHECK-RV32E-NEXT: lw a4, 4(sp) # 4-byte Folded Reload679; CHECK-RV32E-NEXT: lw a5, 0(sp) # 4-byte Folded Reload680; CHECK-RV32E-NEXT: addi sp, sp, 40681; CHECK-RV32E-NEXT: mret682;683; CHECK-RV32E-F-LABEL: foo_with_call:684; CHECK-RV32E-F: # %bb.0:685; CHECK-RV32E-F-NEXT: addi sp, sp, -168686; CHECK-RV32E-F-NEXT: sw ra, 164(sp) # 4-byte Folded Spill687; CHECK-RV32E-F-NEXT: sw t0, 160(sp) # 4-byte Folded Spill688; CHECK-RV32E-F-NEXT: sw t1, 156(sp) # 4-byte Folded Spill689; CHECK-RV32E-F-NEXT: sw t2, 152(sp) # 4-byte Folded Spill690; CHECK-RV32E-F-NEXT: sw a0, 148(sp) # 4-byte Folded Spill691; CHECK-RV32E-F-NEXT: sw a1, 144(sp) # 4-byte Folded Spill692; CHECK-RV32E-F-NEXT: sw a2, 140(sp) # 4-byte Folded Spill693; CHECK-RV32E-F-NEXT: sw a3, 136(sp) # 4-byte Folded Spill694; CHECK-RV32E-F-NEXT: sw a4, 132(sp) # 4-byte Folded Spill695; CHECK-RV32E-F-NEXT: sw a5, 128(sp) # 4-byte Folded Spill696; CHECK-RV32E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill697; CHECK-RV32E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill698; CHECK-RV32E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill699; CHECK-RV32E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill700; CHECK-RV32E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill701; CHECK-RV32E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill702; CHECK-RV32E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill703; CHECK-RV32E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill704; CHECK-RV32E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill705; CHECK-RV32E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill706; CHECK-RV32E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill707; CHECK-RV32E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill708; CHECK-RV32E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill709; CHECK-RV32E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill710; CHECK-RV32E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill711; CHECK-RV32E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill712; CHECK-RV32E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill713; CHECK-RV32E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill714; CHECK-RV32E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill715; CHECK-RV32E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill716; CHECK-RV32E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill717; CHECK-RV32E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill718; CHECK-RV32E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill719; CHECK-RV32E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill720; CHECK-RV32E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill721; CHECK-RV32E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill722; CHECK-RV32E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill723; CHECK-RV32E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill724; CHECK-RV32E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill725; CHECK-RV32E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill726; CHECK-RV32E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill727; CHECK-RV32E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill728; CHECK-RV32E-F-NEXT: call otherfoo729; CHECK-RV32E-F-NEXT: lw ra, 164(sp) # 4-byte Folded Reload730; CHECK-RV32E-F-NEXT: lw t0, 160(sp) # 4-byte Folded Reload731; CHECK-RV32E-F-NEXT: lw t1, 156(sp) # 4-byte Folded Reload732; CHECK-RV32E-F-NEXT: lw t2, 152(sp) # 4-byte Folded Reload733; CHECK-RV32E-F-NEXT: lw a0, 148(sp) # 4-byte Folded Reload734; CHECK-RV32E-F-NEXT: lw a1, 144(sp) # 4-byte Folded Reload735; CHECK-RV32E-F-NEXT: lw a2, 140(sp) # 4-byte Folded Reload736; CHECK-RV32E-F-NEXT: lw a3, 136(sp) # 4-byte Folded Reload737; CHECK-RV32E-F-NEXT: lw a4, 132(sp) # 4-byte Folded Reload738; CHECK-RV32E-F-NEXT: lw a5, 128(sp) # 4-byte Folded Reload739; CHECK-RV32E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload740; CHECK-RV32E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload741; CHECK-RV32E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload742; CHECK-RV32E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload743; CHECK-RV32E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload744; CHECK-RV32E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload745; CHECK-RV32E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload746; CHECK-RV32E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload747; CHECK-RV32E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload748; CHECK-RV32E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload749; CHECK-RV32E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload750; CHECK-RV32E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload751; CHECK-RV32E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload752; CHECK-RV32E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload753; CHECK-RV32E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload754; CHECK-RV32E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload755; CHECK-RV32E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload756; CHECK-RV32E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload757; CHECK-RV32E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload758; CHECK-RV32E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload759; CHECK-RV32E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload760; CHECK-RV32E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload761; CHECK-RV32E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload762; CHECK-RV32E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload763; CHECK-RV32E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload764; CHECK-RV32E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload765; CHECK-RV32E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload766; CHECK-RV32E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload767; CHECK-RV32E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload768; CHECK-RV32E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload769; CHECK-RV32E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload770; CHECK-RV32E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload771; CHECK-RV32E-F-NEXT: addi sp, sp, 168772; CHECK-RV32E-F-NEXT: mret773;774; CHECK-RV32-V-LABEL: foo_with_call:775; CHECK-RV32-V: # %bb.0:776; CHECK-RV32-V-NEXT: addi sp, sp, -80777; CHECK-RV32-V-NEXT: sw ra, 76(sp) # 4-byte Folded Spill778; CHECK-RV32-V-NEXT: sw t0, 72(sp) # 4-byte Folded Spill779; CHECK-RV32-V-NEXT: sw t1, 68(sp) # 4-byte Folded Spill780; CHECK-RV32-V-NEXT: sw t2, 64(sp) # 4-byte Folded Spill781; CHECK-RV32-V-NEXT: sw a0, 60(sp) # 4-byte Folded Spill782; CHECK-RV32-V-NEXT: sw a1, 56(sp) # 4-byte Folded Spill783; CHECK-RV32-V-NEXT: sw a2, 52(sp) # 4-byte Folded Spill784; CHECK-RV32-V-NEXT: sw a3, 48(sp) # 4-byte Folded Spill785; CHECK-RV32-V-NEXT: sw a4, 44(sp) # 4-byte Folded Spill786; CHECK-RV32-V-NEXT: sw a5, 40(sp) # 4-byte Folded Spill787; CHECK-RV32-V-NEXT: sw a6, 36(sp) # 4-byte Folded Spill788; CHECK-RV32-V-NEXT: sw a7, 32(sp) # 4-byte Folded Spill789; CHECK-RV32-V-NEXT: sw t3, 28(sp) # 4-byte Folded Spill790; CHECK-RV32-V-NEXT: sw t4, 24(sp) # 4-byte Folded Spill791; CHECK-RV32-V-NEXT: sw t5, 20(sp) # 4-byte Folded Spill792; CHECK-RV32-V-NEXT: sw t6, 16(sp) # 4-byte Folded Spill793; CHECK-RV32-V-NEXT: csrr a0, vlenb794; CHECK-RV32-V-NEXT: slli a0, a0, 5795; CHECK-RV32-V-NEXT: sub sp, sp, a0796; CHECK-RV32-V-NEXT: csrr a0, vlenb797; CHECK-RV32-V-NEXT: slli a0, a0, 3798; CHECK-RV32-V-NEXT: mv a1, a0799; CHECK-RV32-V-NEXT: slli a0, a0, 1800; CHECK-RV32-V-NEXT: add a0, a0, a1801; CHECK-RV32-V-NEXT: add a0, sp, a0802; CHECK-RV32-V-NEXT: addi a0, a0, 16803; CHECK-RV32-V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill804; CHECK-RV32-V-NEXT: csrr a0, vlenb805; CHECK-RV32-V-NEXT: slli a0, a0, 4806; CHECK-RV32-V-NEXT: add a0, sp, a0807; CHECK-RV32-V-NEXT: addi a0, a0, 16808; CHECK-RV32-V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill809; CHECK-RV32-V-NEXT: csrr a0, vlenb810; CHECK-RV32-V-NEXT: slli a0, a0, 3811; CHECK-RV32-V-NEXT: add a0, sp, a0812; CHECK-RV32-V-NEXT: addi a0, a0, 16813; CHECK-RV32-V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill814; CHECK-RV32-V-NEXT: addi a0, sp, 16815; CHECK-RV32-V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill816; CHECK-RV32-V-NEXT: call otherfoo817; CHECK-RV32-V-NEXT: csrr a0, vlenb818; CHECK-RV32-V-NEXT: slli a0, a0, 3819; CHECK-RV32-V-NEXT: mv a1, a0820; CHECK-RV32-V-NEXT: slli a0, a0, 1821; CHECK-RV32-V-NEXT: add a0, a0, a1822; CHECK-RV32-V-NEXT: add a0, sp, a0823; CHECK-RV32-V-NEXT: addi a0, a0, 16824; CHECK-RV32-V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload825; CHECK-RV32-V-NEXT: csrr a0, vlenb826; CHECK-RV32-V-NEXT: slli a0, a0, 4827; CHECK-RV32-V-NEXT: add a0, sp, a0828; CHECK-RV32-V-NEXT: addi a0, a0, 16829; CHECK-RV32-V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload830; CHECK-RV32-V-NEXT: csrr a0, vlenb831; CHECK-RV32-V-NEXT: slli a0, a0, 3832; CHECK-RV32-V-NEXT: add a0, sp, a0833; CHECK-RV32-V-NEXT: addi a0, a0, 16834; CHECK-RV32-V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload835; CHECK-RV32-V-NEXT: addi a0, sp, 16836; CHECK-RV32-V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload837; CHECK-RV32-V-NEXT: csrr a0, vlenb838; CHECK-RV32-V-NEXT: slli a0, a0, 5839; CHECK-RV32-V-NEXT: add sp, sp, a0840; CHECK-RV32-V-NEXT: lw ra, 76(sp) # 4-byte Folded Reload841; CHECK-RV32-V-NEXT: lw t0, 72(sp) # 4-byte Folded Reload842; CHECK-RV32-V-NEXT: lw t1, 68(sp) # 4-byte Folded Reload843; CHECK-RV32-V-NEXT: lw t2, 64(sp) # 4-byte Folded Reload844; CHECK-RV32-V-NEXT: lw a0, 60(sp) # 4-byte Folded Reload845; CHECK-RV32-V-NEXT: lw a1, 56(sp) # 4-byte Folded Reload846; CHECK-RV32-V-NEXT: lw a2, 52(sp) # 4-byte Folded Reload847; CHECK-RV32-V-NEXT: lw a3, 48(sp) # 4-byte Folded Reload848; CHECK-RV32-V-NEXT: lw a4, 44(sp) # 4-byte Folded Reload849; CHECK-RV32-V-NEXT: lw a5, 40(sp) # 4-byte Folded Reload850; CHECK-RV32-V-NEXT: lw a6, 36(sp) # 4-byte Folded Reload851; CHECK-RV32-V-NEXT: lw a7, 32(sp) # 4-byte Folded Reload852; CHECK-RV32-V-NEXT: lw t3, 28(sp) # 4-byte Folded Reload853; CHECK-RV32-V-NEXT: lw t4, 24(sp) # 4-byte Folded Reload854; CHECK-RV32-V-NEXT: lw t5, 20(sp) # 4-byte Folded Reload855; CHECK-RV32-V-NEXT: lw t6, 16(sp) # 4-byte Folded Reload856; CHECK-RV32-V-NEXT: addi sp, sp, 80857; CHECK-RV32-V-NEXT: mret858;859; CHECK-RV32-FV-LABEL: foo_with_call:860; CHECK-RV32-FV: # %bb.0:861; CHECK-RV32-FV-NEXT: addi sp, sp, -160862; CHECK-RV32-FV-NEXT: sw ra, 156(sp) # 4-byte Folded Spill863; CHECK-RV32-FV-NEXT: sw t0, 152(sp) # 4-byte Folded Spill864; CHECK-RV32-FV-NEXT: sw t1, 148(sp) # 4-byte Folded Spill865; CHECK-RV32-FV-NEXT: sw t2, 144(sp) # 4-byte Folded Spill866; CHECK-RV32-FV-NEXT: sw a0, 140(sp) # 4-byte Folded Spill867; CHECK-RV32-FV-NEXT: sw a1, 136(sp) # 4-byte Folded Spill868; CHECK-RV32-FV-NEXT: sw a2, 132(sp) # 4-byte Folded Spill869; CHECK-RV32-FV-NEXT: sw a3, 128(sp) # 4-byte Folded Spill870; CHECK-RV32-FV-NEXT: sw a4, 124(sp) # 4-byte Folded Spill871; CHECK-RV32-FV-NEXT: sw a5, 120(sp) # 4-byte Folded Spill872; CHECK-RV32-FV-NEXT: sw a6, 116(sp) # 4-byte Folded Spill873; CHECK-RV32-FV-NEXT: sw a7, 112(sp) # 4-byte Folded Spill874; CHECK-RV32-FV-NEXT: sw t3, 108(sp) # 4-byte Folded Spill875; CHECK-RV32-FV-NEXT: sw t4, 104(sp) # 4-byte Folded Spill876; CHECK-RV32-FV-NEXT: sw t5, 100(sp) # 4-byte Folded Spill877; CHECK-RV32-FV-NEXT: sw t6, 96(sp) # 4-byte Folded Spill878; CHECK-RV32-FV-NEXT: fsw ft0, 92(sp) # 4-byte Folded Spill879; CHECK-RV32-FV-NEXT: fsw ft1, 88(sp) # 4-byte Folded Spill880; CHECK-RV32-FV-NEXT: fsw ft2, 84(sp) # 4-byte Folded Spill881; CHECK-RV32-FV-NEXT: fsw ft3, 80(sp) # 4-byte Folded Spill882; CHECK-RV32-FV-NEXT: fsw ft4, 76(sp) # 4-byte Folded Spill883; CHECK-RV32-FV-NEXT: fsw ft5, 72(sp) # 4-byte Folded Spill884; CHECK-RV32-FV-NEXT: fsw ft6, 68(sp) # 4-byte Folded Spill885; CHECK-RV32-FV-NEXT: fsw ft7, 64(sp) # 4-byte Folded Spill886; CHECK-RV32-FV-NEXT: fsw fa0, 60(sp) # 4-byte Folded Spill887; CHECK-RV32-FV-NEXT: fsw fa1, 56(sp) # 4-byte Folded Spill888; CHECK-RV32-FV-NEXT: fsw fa2, 52(sp) # 4-byte Folded Spill889; CHECK-RV32-FV-NEXT: fsw fa3, 48(sp) # 4-byte Folded Spill890; CHECK-RV32-FV-NEXT: fsw fa4, 44(sp) # 4-byte Folded Spill891; CHECK-RV32-FV-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill892; CHECK-RV32-FV-NEXT: fsw fa6, 36(sp) # 4-byte Folded Spill893; CHECK-RV32-FV-NEXT: fsw fa7, 32(sp) # 4-byte Folded Spill894; CHECK-RV32-FV-NEXT: fsw ft8, 28(sp) # 4-byte Folded Spill895; CHECK-RV32-FV-NEXT: fsw ft9, 24(sp) # 4-byte Folded Spill896; CHECK-RV32-FV-NEXT: fsw ft10, 20(sp) # 4-byte Folded Spill897; CHECK-RV32-FV-NEXT: fsw ft11, 16(sp) # 4-byte Folded Spill898; CHECK-RV32-FV-NEXT: csrr a0, vlenb899; CHECK-RV32-FV-NEXT: slli a0, a0, 5900; CHECK-RV32-FV-NEXT: sub sp, sp, a0901; CHECK-RV32-FV-NEXT: csrr a0, vlenb902; CHECK-RV32-FV-NEXT: slli a0, a0, 3903; CHECK-RV32-FV-NEXT: mv a1, a0904; CHECK-RV32-FV-NEXT: slli a0, a0, 1905; CHECK-RV32-FV-NEXT: add a0, a0, a1906; CHECK-RV32-FV-NEXT: add a0, sp, a0907; CHECK-RV32-FV-NEXT: addi a0, a0, 16908; CHECK-RV32-FV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill909; CHECK-RV32-FV-NEXT: csrr a0, vlenb910; CHECK-RV32-FV-NEXT: slli a0, a0, 4911; CHECK-RV32-FV-NEXT: add a0, sp, a0912; CHECK-RV32-FV-NEXT: addi a0, a0, 16913; CHECK-RV32-FV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill914; CHECK-RV32-FV-NEXT: csrr a0, vlenb915; CHECK-RV32-FV-NEXT: slli a0, a0, 3916; CHECK-RV32-FV-NEXT: add a0, sp, a0917; CHECK-RV32-FV-NEXT: addi a0, a0, 16918; CHECK-RV32-FV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill919; CHECK-RV32-FV-NEXT: addi a0, sp, 16920; CHECK-RV32-FV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill921; CHECK-RV32-FV-NEXT: call otherfoo922; CHECK-RV32-FV-NEXT: csrr a0, vlenb923; CHECK-RV32-FV-NEXT: slli a0, a0, 3924; CHECK-RV32-FV-NEXT: mv a1, a0925; CHECK-RV32-FV-NEXT: slli a0, a0, 1926; CHECK-RV32-FV-NEXT: add a0, a0, a1927; CHECK-RV32-FV-NEXT: add a0, sp, a0928; CHECK-RV32-FV-NEXT: addi a0, a0, 16929; CHECK-RV32-FV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload930; CHECK-RV32-FV-NEXT: csrr a0, vlenb931; CHECK-RV32-FV-NEXT: slli a0, a0, 4932; CHECK-RV32-FV-NEXT: add a0, sp, a0933; CHECK-RV32-FV-NEXT: addi a0, a0, 16934; CHECK-RV32-FV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload935; CHECK-RV32-FV-NEXT: csrr a0, vlenb936; CHECK-RV32-FV-NEXT: slli a0, a0, 3937; CHECK-RV32-FV-NEXT: add a0, sp, a0938; CHECK-RV32-FV-NEXT: addi a0, a0, 16939; CHECK-RV32-FV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload940; CHECK-RV32-FV-NEXT: addi a0, sp, 16941; CHECK-RV32-FV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload942; CHECK-RV32-FV-NEXT: csrr a0, vlenb943; CHECK-RV32-FV-NEXT: slli a0, a0, 5944; CHECK-RV32-FV-NEXT: add sp, sp, a0945; CHECK-RV32-FV-NEXT: lw ra, 156(sp) # 4-byte Folded Reload946; CHECK-RV32-FV-NEXT: lw t0, 152(sp) # 4-byte Folded Reload947; CHECK-RV32-FV-NEXT: lw t1, 148(sp) # 4-byte Folded Reload948; CHECK-RV32-FV-NEXT: lw t2, 144(sp) # 4-byte Folded Reload949; CHECK-RV32-FV-NEXT: lw a0, 140(sp) # 4-byte Folded Reload950; CHECK-RV32-FV-NEXT: lw a1, 136(sp) # 4-byte Folded Reload951; CHECK-RV32-FV-NEXT: lw a2, 132(sp) # 4-byte Folded Reload952; CHECK-RV32-FV-NEXT: lw a3, 128(sp) # 4-byte Folded Reload953; CHECK-RV32-FV-NEXT: lw a4, 124(sp) # 4-byte Folded Reload954; CHECK-RV32-FV-NEXT: lw a5, 120(sp) # 4-byte Folded Reload955; CHECK-RV32-FV-NEXT: lw a6, 116(sp) # 4-byte Folded Reload956; CHECK-RV32-FV-NEXT: lw a7, 112(sp) # 4-byte Folded Reload957; CHECK-RV32-FV-NEXT: lw t3, 108(sp) # 4-byte Folded Reload958; CHECK-RV32-FV-NEXT: lw t4, 104(sp) # 4-byte Folded Reload959; CHECK-RV32-FV-NEXT: lw t5, 100(sp) # 4-byte Folded Reload960; CHECK-RV32-FV-NEXT: lw t6, 96(sp) # 4-byte Folded Reload961; CHECK-RV32-FV-NEXT: flw ft0, 92(sp) # 4-byte Folded Reload962; CHECK-RV32-FV-NEXT: flw ft1, 88(sp) # 4-byte Folded Reload963; CHECK-RV32-FV-NEXT: flw ft2, 84(sp) # 4-byte Folded Reload964; CHECK-RV32-FV-NEXT: flw ft3, 80(sp) # 4-byte Folded Reload965; CHECK-RV32-FV-NEXT: flw ft4, 76(sp) # 4-byte Folded Reload966; CHECK-RV32-FV-NEXT: flw ft5, 72(sp) # 4-byte Folded Reload967; CHECK-RV32-FV-NEXT: flw ft6, 68(sp) # 4-byte Folded Reload968; CHECK-RV32-FV-NEXT: flw ft7, 64(sp) # 4-byte Folded Reload969; CHECK-RV32-FV-NEXT: flw fa0, 60(sp) # 4-byte Folded Reload970; CHECK-RV32-FV-NEXT: flw fa1, 56(sp) # 4-byte Folded Reload971; CHECK-RV32-FV-NEXT: flw fa2, 52(sp) # 4-byte Folded Reload972; CHECK-RV32-FV-NEXT: flw fa3, 48(sp) # 4-byte Folded Reload973; CHECK-RV32-FV-NEXT: flw fa4, 44(sp) # 4-byte Folded Reload974; CHECK-RV32-FV-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload975; CHECK-RV32-FV-NEXT: flw fa6, 36(sp) # 4-byte Folded Reload976; CHECK-RV32-FV-NEXT: flw fa7, 32(sp) # 4-byte Folded Reload977; CHECK-RV32-FV-NEXT: flw ft8, 28(sp) # 4-byte Folded Reload978; CHECK-RV32-FV-NEXT: flw ft9, 24(sp) # 4-byte Folded Reload979; CHECK-RV32-FV-NEXT: flw ft10, 20(sp) # 4-byte Folded Reload980; CHECK-RV32-FV-NEXT: flw ft11, 16(sp) # 4-byte Folded Reload981; CHECK-RV32-FV-NEXT: addi sp, sp, 160982; CHECK-RV32-FV-NEXT: mret983;984; CHECK-RV32-FDV-LABEL: foo_with_call:985; CHECK-RV32-FDV: # %bb.0:986; CHECK-RV32-FDV-NEXT: addi sp, sp, -240987; CHECK-RV32-FDV-NEXT: sw ra, 236(sp) # 4-byte Folded Spill988; CHECK-RV32-FDV-NEXT: sw t0, 232(sp) # 4-byte Folded Spill989; CHECK-RV32-FDV-NEXT: sw t1, 228(sp) # 4-byte Folded Spill990; CHECK-RV32-FDV-NEXT: sw t2, 224(sp) # 4-byte Folded Spill991; CHECK-RV32-FDV-NEXT: sw a0, 220(sp) # 4-byte Folded Spill992; CHECK-RV32-FDV-NEXT: sw a1, 216(sp) # 4-byte Folded Spill993; CHECK-RV32-FDV-NEXT: sw a2, 212(sp) # 4-byte Folded Spill994; CHECK-RV32-FDV-NEXT: sw a3, 208(sp) # 4-byte Folded Spill995; CHECK-RV32-FDV-NEXT: sw a4, 204(sp) # 4-byte Folded Spill996; CHECK-RV32-FDV-NEXT: sw a5, 200(sp) # 4-byte Folded Spill997; CHECK-RV32-FDV-NEXT: sw a6, 196(sp) # 4-byte Folded Spill998; CHECK-RV32-FDV-NEXT: sw a7, 192(sp) # 4-byte Folded Spill999; CHECK-RV32-FDV-NEXT: sw t3, 188(sp) # 4-byte Folded Spill1000; CHECK-RV32-FDV-NEXT: sw t4, 184(sp) # 4-byte Folded Spill1001; CHECK-RV32-FDV-NEXT: sw t5, 180(sp) # 4-byte Folded Spill1002; CHECK-RV32-FDV-NEXT: sw t6, 176(sp) # 4-byte Folded Spill1003; CHECK-RV32-FDV-NEXT: fsd ft0, 168(sp) # 8-byte Folded Spill1004; CHECK-RV32-FDV-NEXT: fsd ft1, 160(sp) # 8-byte Folded Spill1005; CHECK-RV32-FDV-NEXT: fsd ft2, 152(sp) # 8-byte Folded Spill1006; CHECK-RV32-FDV-NEXT: fsd ft3, 144(sp) # 8-byte Folded Spill1007; CHECK-RV32-FDV-NEXT: fsd ft4, 136(sp) # 8-byte Folded Spill1008; CHECK-RV32-FDV-NEXT: fsd ft5, 128(sp) # 8-byte Folded Spill1009; CHECK-RV32-FDV-NEXT: fsd ft6, 120(sp) # 8-byte Folded Spill1010; CHECK-RV32-FDV-NEXT: fsd ft7, 112(sp) # 8-byte Folded Spill1011; CHECK-RV32-FDV-NEXT: fsd fa0, 104(sp) # 8-byte Folded Spill1012; CHECK-RV32-FDV-NEXT: fsd fa1, 96(sp) # 8-byte Folded Spill1013; CHECK-RV32-FDV-NEXT: fsd fa2, 88(sp) # 8-byte Folded Spill1014; CHECK-RV32-FDV-NEXT: fsd fa3, 80(sp) # 8-byte Folded Spill1015; CHECK-RV32-FDV-NEXT: fsd fa4, 72(sp) # 8-byte Folded Spill1016; CHECK-RV32-FDV-NEXT: fsd fa5, 64(sp) # 8-byte Folded Spill1017; CHECK-RV32-FDV-NEXT: fsd fa6, 56(sp) # 8-byte Folded Spill1018; CHECK-RV32-FDV-NEXT: fsd fa7, 48(sp) # 8-byte Folded Spill1019; CHECK-RV32-FDV-NEXT: fsd ft8, 40(sp) # 8-byte Folded Spill1020; CHECK-RV32-FDV-NEXT: fsd ft9, 32(sp) # 8-byte Folded Spill1021; CHECK-RV32-FDV-NEXT: fsd ft10, 24(sp) # 8-byte Folded Spill1022; CHECK-RV32-FDV-NEXT: fsd ft11, 16(sp) # 8-byte Folded Spill1023; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1024; CHECK-RV32-FDV-NEXT: slli a0, a0, 51025; CHECK-RV32-FDV-NEXT: sub sp, sp, a01026; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1027; CHECK-RV32-FDV-NEXT: slli a0, a0, 31028; CHECK-RV32-FDV-NEXT: mv a1, a01029; CHECK-RV32-FDV-NEXT: slli a0, a0, 11030; CHECK-RV32-FDV-NEXT: add a0, a0, a11031; CHECK-RV32-FDV-NEXT: add a0, sp, a01032; CHECK-RV32-FDV-NEXT: addi a0, a0, 161033; CHECK-RV32-FDV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill1034; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1035; CHECK-RV32-FDV-NEXT: slli a0, a0, 41036; CHECK-RV32-FDV-NEXT: add a0, sp, a01037; CHECK-RV32-FDV-NEXT: addi a0, a0, 161038; CHECK-RV32-FDV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill1039; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1040; CHECK-RV32-FDV-NEXT: slli a0, a0, 31041; CHECK-RV32-FDV-NEXT: add a0, sp, a01042; CHECK-RV32-FDV-NEXT: addi a0, a0, 161043; CHECK-RV32-FDV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill1044; CHECK-RV32-FDV-NEXT: addi a0, sp, 161045; CHECK-RV32-FDV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill1046; CHECK-RV32-FDV-NEXT: call otherfoo1047; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1048; CHECK-RV32-FDV-NEXT: slli a0, a0, 31049; CHECK-RV32-FDV-NEXT: mv a1, a01050; CHECK-RV32-FDV-NEXT: slli a0, a0, 11051; CHECK-RV32-FDV-NEXT: add a0, a0, a11052; CHECK-RV32-FDV-NEXT: add a0, sp, a01053; CHECK-RV32-FDV-NEXT: addi a0, a0, 161054; CHECK-RV32-FDV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload1055; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1056; CHECK-RV32-FDV-NEXT: slli a0, a0, 41057; CHECK-RV32-FDV-NEXT: add a0, sp, a01058; CHECK-RV32-FDV-NEXT: addi a0, a0, 161059; CHECK-RV32-FDV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload1060; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1061; CHECK-RV32-FDV-NEXT: slli a0, a0, 31062; CHECK-RV32-FDV-NEXT: add a0, sp, a01063; CHECK-RV32-FDV-NEXT: addi a0, a0, 161064; CHECK-RV32-FDV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload1065; CHECK-RV32-FDV-NEXT: addi a0, sp, 161066; CHECK-RV32-FDV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload1067; CHECK-RV32-FDV-NEXT: csrr a0, vlenb1068; CHECK-RV32-FDV-NEXT: slli a0, a0, 51069; CHECK-RV32-FDV-NEXT: add sp, sp, a01070; CHECK-RV32-FDV-NEXT: lw ra, 236(sp) # 4-byte Folded Reload1071; CHECK-RV32-FDV-NEXT: lw t0, 232(sp) # 4-byte Folded Reload1072; CHECK-RV32-FDV-NEXT: lw t1, 228(sp) # 4-byte Folded Reload1073; CHECK-RV32-FDV-NEXT: lw t2, 224(sp) # 4-byte Folded Reload1074; CHECK-RV32-FDV-NEXT: lw a0, 220(sp) # 4-byte Folded Reload1075; CHECK-RV32-FDV-NEXT: lw a1, 216(sp) # 4-byte Folded Reload1076; CHECK-RV32-FDV-NEXT: lw a2, 212(sp) # 4-byte Folded Reload1077; CHECK-RV32-FDV-NEXT: lw a3, 208(sp) # 4-byte Folded Reload1078; CHECK-RV32-FDV-NEXT: lw a4, 204(sp) # 4-byte Folded Reload1079; CHECK-RV32-FDV-NEXT: lw a5, 200(sp) # 4-byte Folded Reload1080; CHECK-RV32-FDV-NEXT: lw a6, 196(sp) # 4-byte Folded Reload1081; CHECK-RV32-FDV-NEXT: lw a7, 192(sp) # 4-byte Folded Reload1082; CHECK-RV32-FDV-NEXT: lw t3, 188(sp) # 4-byte Folded Reload1083; CHECK-RV32-FDV-NEXT: lw t4, 184(sp) # 4-byte Folded Reload1084; CHECK-RV32-FDV-NEXT: lw t5, 180(sp) # 4-byte Folded Reload1085; CHECK-RV32-FDV-NEXT: lw t6, 176(sp) # 4-byte Folded Reload1086; CHECK-RV32-FDV-NEXT: fld ft0, 168(sp) # 8-byte Folded Reload1087; CHECK-RV32-FDV-NEXT: fld ft1, 160(sp) # 8-byte Folded Reload1088; CHECK-RV32-FDV-NEXT: fld ft2, 152(sp) # 8-byte Folded Reload1089; CHECK-RV32-FDV-NEXT: fld ft3, 144(sp) # 8-byte Folded Reload1090; CHECK-RV32-FDV-NEXT: fld ft4, 136(sp) # 8-byte Folded Reload1091; CHECK-RV32-FDV-NEXT: fld ft5, 128(sp) # 8-byte Folded Reload1092; CHECK-RV32-FDV-NEXT: fld ft6, 120(sp) # 8-byte Folded Reload1093; CHECK-RV32-FDV-NEXT: fld ft7, 112(sp) # 8-byte Folded Reload1094; CHECK-RV32-FDV-NEXT: fld fa0, 104(sp) # 8-byte Folded Reload1095; CHECK-RV32-FDV-NEXT: fld fa1, 96(sp) # 8-byte Folded Reload1096; CHECK-RV32-FDV-NEXT: fld fa2, 88(sp) # 8-byte Folded Reload1097; CHECK-RV32-FDV-NEXT: fld fa3, 80(sp) # 8-byte Folded Reload1098; CHECK-RV32-FDV-NEXT: fld fa4, 72(sp) # 8-byte Folded Reload1099; CHECK-RV32-FDV-NEXT: fld fa5, 64(sp) # 8-byte Folded Reload1100; CHECK-RV32-FDV-NEXT: fld fa6, 56(sp) # 8-byte Folded Reload1101; CHECK-RV32-FDV-NEXT: fld fa7, 48(sp) # 8-byte Folded Reload1102; CHECK-RV32-FDV-NEXT: fld ft8, 40(sp) # 8-byte Folded Reload1103; CHECK-RV32-FDV-NEXT: fld ft9, 32(sp) # 8-byte Folded Reload1104; CHECK-RV32-FDV-NEXT: fld ft10, 24(sp) # 8-byte Folded Reload1105; CHECK-RV32-FDV-NEXT: fld ft11, 16(sp) # 8-byte Folded Reload1106; CHECK-RV32-FDV-NEXT: addi sp, sp, 2401107; CHECK-RV32-FDV-NEXT: mret1108;1109; CHECK-RV64-LABEL: foo_with_call:1110; CHECK-RV64: # %bb.0:1111; CHECK-RV64-NEXT: addi sp, sp, -1281112; CHECK-RV64-NEXT: sd ra, 120(sp) # 8-byte Folded Spill1113; CHECK-RV64-NEXT: sd t0, 112(sp) # 8-byte Folded Spill1114; CHECK-RV64-NEXT: sd t1, 104(sp) # 8-byte Folded Spill1115; CHECK-RV64-NEXT: sd t2, 96(sp) # 8-byte Folded Spill1116; CHECK-RV64-NEXT: sd a0, 88(sp) # 8-byte Folded Spill1117; CHECK-RV64-NEXT: sd a1, 80(sp) # 8-byte Folded Spill1118; CHECK-RV64-NEXT: sd a2, 72(sp) # 8-byte Folded Spill1119; CHECK-RV64-NEXT: sd a3, 64(sp) # 8-byte Folded Spill1120; CHECK-RV64-NEXT: sd a4, 56(sp) # 8-byte Folded Spill1121; CHECK-RV64-NEXT: sd a5, 48(sp) # 8-byte Folded Spill1122; CHECK-RV64-NEXT: sd a6, 40(sp) # 8-byte Folded Spill1123; CHECK-RV64-NEXT: sd a7, 32(sp) # 8-byte Folded Spill1124; CHECK-RV64-NEXT: sd t3, 24(sp) # 8-byte Folded Spill1125; CHECK-RV64-NEXT: sd t4, 16(sp) # 8-byte Folded Spill1126; CHECK-RV64-NEXT: sd t5, 8(sp) # 8-byte Folded Spill1127; CHECK-RV64-NEXT: sd t6, 0(sp) # 8-byte Folded Spill1128; CHECK-RV64-NEXT: call otherfoo1129; CHECK-RV64-NEXT: ld ra, 120(sp) # 8-byte Folded Reload1130; CHECK-RV64-NEXT: ld t0, 112(sp) # 8-byte Folded Reload1131; CHECK-RV64-NEXT: ld t1, 104(sp) # 8-byte Folded Reload1132; CHECK-RV64-NEXT: ld t2, 96(sp) # 8-byte Folded Reload1133; CHECK-RV64-NEXT: ld a0, 88(sp) # 8-byte Folded Reload1134; CHECK-RV64-NEXT: ld a1, 80(sp) # 8-byte Folded Reload1135; CHECK-RV64-NEXT: ld a2, 72(sp) # 8-byte Folded Reload1136; CHECK-RV64-NEXT: ld a3, 64(sp) # 8-byte Folded Reload1137; CHECK-RV64-NEXT: ld a4, 56(sp) # 8-byte Folded Reload1138; CHECK-RV64-NEXT: ld a5, 48(sp) # 8-byte Folded Reload1139; CHECK-RV64-NEXT: ld a6, 40(sp) # 8-byte Folded Reload1140; CHECK-RV64-NEXT: ld a7, 32(sp) # 8-byte Folded Reload1141; CHECK-RV64-NEXT: ld t3, 24(sp) # 8-byte Folded Reload1142; CHECK-RV64-NEXT: ld t4, 16(sp) # 8-byte Folded Reload1143; CHECK-RV64-NEXT: ld t5, 8(sp) # 8-byte Folded Reload1144; CHECK-RV64-NEXT: ld t6, 0(sp) # 8-byte Folded Reload1145; CHECK-RV64-NEXT: addi sp, sp, 1281146; CHECK-RV64-NEXT: mret1147;1148; CHECK-RV64-F-LABEL: foo_with_call:1149; CHECK-RV64-F: # %bb.0:1150; CHECK-RV64-F-NEXT: addi sp, sp, -2081151; CHECK-RV64-F-NEXT: sd ra, 200(sp) # 8-byte Folded Spill1152; CHECK-RV64-F-NEXT: sd t0, 192(sp) # 8-byte Folded Spill1153; CHECK-RV64-F-NEXT: sd t1, 184(sp) # 8-byte Folded Spill1154; CHECK-RV64-F-NEXT: sd t2, 176(sp) # 8-byte Folded Spill1155; CHECK-RV64-F-NEXT: sd a0, 168(sp) # 8-byte Folded Spill1156; CHECK-RV64-F-NEXT: sd a1, 160(sp) # 8-byte Folded Spill1157; CHECK-RV64-F-NEXT: sd a2, 152(sp) # 8-byte Folded Spill1158; CHECK-RV64-F-NEXT: sd a3, 144(sp) # 8-byte Folded Spill1159; CHECK-RV64-F-NEXT: sd a4, 136(sp) # 8-byte Folded Spill1160; CHECK-RV64-F-NEXT: sd a5, 128(sp) # 8-byte Folded Spill1161; CHECK-RV64-F-NEXT: sd a6, 120(sp) # 8-byte Folded Spill1162; CHECK-RV64-F-NEXT: sd a7, 112(sp) # 8-byte Folded Spill1163; CHECK-RV64-F-NEXT: sd t3, 104(sp) # 8-byte Folded Spill1164; CHECK-RV64-F-NEXT: sd t4, 96(sp) # 8-byte Folded Spill1165; CHECK-RV64-F-NEXT: sd t5, 88(sp) # 8-byte Folded Spill1166; CHECK-RV64-F-NEXT: sd t6, 80(sp) # 8-byte Folded Spill1167; CHECK-RV64-F-NEXT: fsw ft0, 76(sp) # 4-byte Folded Spill1168; CHECK-RV64-F-NEXT: fsw ft1, 72(sp) # 4-byte Folded Spill1169; CHECK-RV64-F-NEXT: fsw ft2, 68(sp) # 4-byte Folded Spill1170; CHECK-RV64-F-NEXT: fsw ft3, 64(sp) # 4-byte Folded Spill1171; CHECK-RV64-F-NEXT: fsw ft4, 60(sp) # 4-byte Folded Spill1172; CHECK-RV64-F-NEXT: fsw ft5, 56(sp) # 4-byte Folded Spill1173; CHECK-RV64-F-NEXT: fsw ft6, 52(sp) # 4-byte Folded Spill1174; CHECK-RV64-F-NEXT: fsw ft7, 48(sp) # 4-byte Folded Spill1175; CHECK-RV64-F-NEXT: fsw fa0, 44(sp) # 4-byte Folded Spill1176; CHECK-RV64-F-NEXT: fsw fa1, 40(sp) # 4-byte Folded Spill1177; CHECK-RV64-F-NEXT: fsw fa2, 36(sp) # 4-byte Folded Spill1178; CHECK-RV64-F-NEXT: fsw fa3, 32(sp) # 4-byte Folded Spill1179; CHECK-RV64-F-NEXT: fsw fa4, 28(sp) # 4-byte Folded Spill1180; CHECK-RV64-F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill1181; CHECK-RV64-F-NEXT: fsw fa6, 20(sp) # 4-byte Folded Spill1182; CHECK-RV64-F-NEXT: fsw fa7, 16(sp) # 4-byte Folded Spill1183; CHECK-RV64-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill1184; CHECK-RV64-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill1185; CHECK-RV64-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill1186; CHECK-RV64-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill1187; CHECK-RV64-F-NEXT: call otherfoo1188; CHECK-RV64-F-NEXT: ld ra, 200(sp) # 8-byte Folded Reload1189; CHECK-RV64-F-NEXT: ld t0, 192(sp) # 8-byte Folded Reload1190; CHECK-RV64-F-NEXT: ld t1, 184(sp) # 8-byte Folded Reload1191; CHECK-RV64-F-NEXT: ld t2, 176(sp) # 8-byte Folded Reload1192; CHECK-RV64-F-NEXT: ld a0, 168(sp) # 8-byte Folded Reload1193; CHECK-RV64-F-NEXT: ld a1, 160(sp) # 8-byte Folded Reload1194; CHECK-RV64-F-NEXT: ld a2, 152(sp) # 8-byte Folded Reload1195; CHECK-RV64-F-NEXT: ld a3, 144(sp) # 8-byte Folded Reload1196; CHECK-RV64-F-NEXT: ld a4, 136(sp) # 8-byte Folded Reload1197; CHECK-RV64-F-NEXT: ld a5, 128(sp) # 8-byte Folded Reload1198; CHECK-RV64-F-NEXT: ld a6, 120(sp) # 8-byte Folded Reload1199; CHECK-RV64-F-NEXT: ld a7, 112(sp) # 8-byte Folded Reload1200; CHECK-RV64-F-NEXT: ld t3, 104(sp) # 8-byte Folded Reload1201; CHECK-RV64-F-NEXT: ld t4, 96(sp) # 8-byte Folded Reload1202; CHECK-RV64-F-NEXT: ld t5, 88(sp) # 8-byte Folded Reload1203; CHECK-RV64-F-NEXT: ld t6, 80(sp) # 8-byte Folded Reload1204; CHECK-RV64-F-NEXT: flw ft0, 76(sp) # 4-byte Folded Reload1205; CHECK-RV64-F-NEXT: flw ft1, 72(sp) # 4-byte Folded Reload1206; CHECK-RV64-F-NEXT: flw ft2, 68(sp) # 4-byte Folded Reload1207; CHECK-RV64-F-NEXT: flw ft3, 64(sp) # 4-byte Folded Reload1208; CHECK-RV64-F-NEXT: flw ft4, 60(sp) # 4-byte Folded Reload1209; CHECK-RV64-F-NEXT: flw ft5, 56(sp) # 4-byte Folded Reload1210; CHECK-RV64-F-NEXT: flw ft6, 52(sp) # 4-byte Folded Reload1211; CHECK-RV64-F-NEXT: flw ft7, 48(sp) # 4-byte Folded Reload1212; CHECK-RV64-F-NEXT: flw fa0, 44(sp) # 4-byte Folded Reload1213; CHECK-RV64-F-NEXT: flw fa1, 40(sp) # 4-byte Folded Reload1214; CHECK-RV64-F-NEXT: flw fa2, 36(sp) # 4-byte Folded Reload1215; CHECK-RV64-F-NEXT: flw fa3, 32(sp) # 4-byte Folded Reload1216; CHECK-RV64-F-NEXT: flw fa4, 28(sp) # 4-byte Folded Reload1217; CHECK-RV64-F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload1218; CHECK-RV64-F-NEXT: flw fa6, 20(sp) # 4-byte Folded Reload1219; CHECK-RV64-F-NEXT: flw fa7, 16(sp) # 4-byte Folded Reload1220; CHECK-RV64-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload1221; CHECK-RV64-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload1222; CHECK-RV64-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload1223; CHECK-RV64-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload1224; CHECK-RV64-F-NEXT: addi sp, sp, 2081225; CHECK-RV64-F-NEXT: mret1226;1227; CHECK-RV64-FD-LABEL: foo_with_call:1228; CHECK-RV64-FD: # %bb.0:1229; CHECK-RV64-FD-NEXT: addi sp, sp, -2881230; CHECK-RV64-FD-NEXT: sd ra, 280(sp) # 8-byte Folded Spill1231; CHECK-RV64-FD-NEXT: sd t0, 272(sp) # 8-byte Folded Spill1232; CHECK-RV64-FD-NEXT: sd t1, 264(sp) # 8-byte Folded Spill1233; CHECK-RV64-FD-NEXT: sd t2, 256(sp) # 8-byte Folded Spill1234; CHECK-RV64-FD-NEXT: sd a0, 248(sp) # 8-byte Folded Spill1235; CHECK-RV64-FD-NEXT: sd a1, 240(sp) # 8-byte Folded Spill1236; CHECK-RV64-FD-NEXT: sd a2, 232(sp) # 8-byte Folded Spill1237; CHECK-RV64-FD-NEXT: sd a3, 224(sp) # 8-byte Folded Spill1238; CHECK-RV64-FD-NEXT: sd a4, 216(sp) # 8-byte Folded Spill1239; CHECK-RV64-FD-NEXT: sd a5, 208(sp) # 8-byte Folded Spill1240; CHECK-RV64-FD-NEXT: sd a6, 200(sp) # 8-byte Folded Spill1241; CHECK-RV64-FD-NEXT: sd a7, 192(sp) # 8-byte Folded Spill1242; CHECK-RV64-FD-NEXT: sd t3, 184(sp) # 8-byte Folded Spill1243; CHECK-RV64-FD-NEXT: sd t4, 176(sp) # 8-byte Folded Spill1244; CHECK-RV64-FD-NEXT: sd t5, 168(sp) # 8-byte Folded Spill1245; CHECK-RV64-FD-NEXT: sd t6, 160(sp) # 8-byte Folded Spill1246; CHECK-RV64-FD-NEXT: fsd ft0, 152(sp) # 8-byte Folded Spill1247; CHECK-RV64-FD-NEXT: fsd ft1, 144(sp) # 8-byte Folded Spill1248; CHECK-RV64-FD-NEXT: fsd ft2, 136(sp) # 8-byte Folded Spill1249; CHECK-RV64-FD-NEXT: fsd ft3, 128(sp) # 8-byte Folded Spill1250; CHECK-RV64-FD-NEXT: fsd ft4, 120(sp) # 8-byte Folded Spill1251; CHECK-RV64-FD-NEXT: fsd ft5, 112(sp) # 8-byte Folded Spill1252; CHECK-RV64-FD-NEXT: fsd ft6, 104(sp) # 8-byte Folded Spill1253; CHECK-RV64-FD-NEXT: fsd ft7, 96(sp) # 8-byte Folded Spill1254; CHECK-RV64-FD-NEXT: fsd fa0, 88(sp) # 8-byte Folded Spill1255; CHECK-RV64-FD-NEXT: fsd fa1, 80(sp) # 8-byte Folded Spill1256; CHECK-RV64-FD-NEXT: fsd fa2, 72(sp) # 8-byte Folded Spill1257; CHECK-RV64-FD-NEXT: fsd fa3, 64(sp) # 8-byte Folded Spill1258; CHECK-RV64-FD-NEXT: fsd fa4, 56(sp) # 8-byte Folded Spill1259; CHECK-RV64-FD-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill1260; CHECK-RV64-FD-NEXT: fsd fa6, 40(sp) # 8-byte Folded Spill1261; CHECK-RV64-FD-NEXT: fsd fa7, 32(sp) # 8-byte Folded Spill1262; CHECK-RV64-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill1263; CHECK-RV64-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill1264; CHECK-RV64-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill1265; CHECK-RV64-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill1266; CHECK-RV64-FD-NEXT: call otherfoo1267; CHECK-RV64-FD-NEXT: ld ra, 280(sp) # 8-byte Folded Reload1268; CHECK-RV64-FD-NEXT: ld t0, 272(sp) # 8-byte Folded Reload1269; CHECK-RV64-FD-NEXT: ld t1, 264(sp) # 8-byte Folded Reload1270; CHECK-RV64-FD-NEXT: ld t2, 256(sp) # 8-byte Folded Reload1271; CHECK-RV64-FD-NEXT: ld a0, 248(sp) # 8-byte Folded Reload1272; CHECK-RV64-FD-NEXT: ld a1, 240(sp) # 8-byte Folded Reload1273; CHECK-RV64-FD-NEXT: ld a2, 232(sp) # 8-byte Folded Reload1274; CHECK-RV64-FD-NEXT: ld a3, 224(sp) # 8-byte Folded Reload1275; CHECK-RV64-FD-NEXT: ld a4, 216(sp) # 8-byte Folded Reload1276; CHECK-RV64-FD-NEXT: ld a5, 208(sp) # 8-byte Folded Reload1277; CHECK-RV64-FD-NEXT: ld a6, 200(sp) # 8-byte Folded Reload1278; CHECK-RV64-FD-NEXT: ld a7, 192(sp) # 8-byte Folded Reload1279; CHECK-RV64-FD-NEXT: ld t3, 184(sp) # 8-byte Folded Reload1280; CHECK-RV64-FD-NEXT: ld t4, 176(sp) # 8-byte Folded Reload1281; CHECK-RV64-FD-NEXT: ld t5, 168(sp) # 8-byte Folded Reload1282; CHECK-RV64-FD-NEXT: ld t6, 160(sp) # 8-byte Folded Reload1283; CHECK-RV64-FD-NEXT: fld ft0, 152(sp) # 8-byte Folded Reload1284; CHECK-RV64-FD-NEXT: fld ft1, 144(sp) # 8-byte Folded Reload1285; CHECK-RV64-FD-NEXT: fld ft2, 136(sp) # 8-byte Folded Reload1286; CHECK-RV64-FD-NEXT: fld ft3, 128(sp) # 8-byte Folded Reload1287; CHECK-RV64-FD-NEXT: fld ft4, 120(sp) # 8-byte Folded Reload1288; CHECK-RV64-FD-NEXT: fld ft5, 112(sp) # 8-byte Folded Reload1289; CHECK-RV64-FD-NEXT: fld ft6, 104(sp) # 8-byte Folded Reload1290; CHECK-RV64-FD-NEXT: fld ft7, 96(sp) # 8-byte Folded Reload1291; CHECK-RV64-FD-NEXT: fld fa0, 88(sp) # 8-byte Folded Reload1292; CHECK-RV64-FD-NEXT: fld fa1, 80(sp) # 8-byte Folded Reload1293; CHECK-RV64-FD-NEXT: fld fa2, 72(sp) # 8-byte Folded Reload1294; CHECK-RV64-FD-NEXT: fld fa3, 64(sp) # 8-byte Folded Reload1295; CHECK-RV64-FD-NEXT: fld fa4, 56(sp) # 8-byte Folded Reload1296; CHECK-RV64-FD-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload1297; CHECK-RV64-FD-NEXT: fld fa6, 40(sp) # 8-byte Folded Reload1298; CHECK-RV64-FD-NEXT: fld fa7, 32(sp) # 8-byte Folded Reload1299; CHECK-RV64-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload1300; CHECK-RV64-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload1301; CHECK-RV64-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload1302; CHECK-RV64-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload1303; CHECK-RV64-FD-NEXT: addi sp, sp, 2881304; CHECK-RV64-FD-NEXT: mret1305;1306; CHECK-RV64-F-LP64-LABEL: foo_with_call:1307; CHECK-RV64-F-LP64: # %bb.0:1308; CHECK-RV64-F-LP64-NEXT: addi sp, sp, -2561309; CHECK-RV64-F-LP64-NEXT: sd ra, 248(sp) # 8-byte Folded Spill1310; CHECK-RV64-F-LP64-NEXT: sd t0, 240(sp) # 8-byte Folded Spill1311; CHECK-RV64-F-LP64-NEXT: sd t1, 232(sp) # 8-byte Folded Spill1312; CHECK-RV64-F-LP64-NEXT: sd t2, 224(sp) # 8-byte Folded Spill1313; CHECK-RV64-F-LP64-NEXT: sd a0, 216(sp) # 8-byte Folded Spill1314; CHECK-RV64-F-LP64-NEXT: sd a1, 208(sp) # 8-byte Folded Spill1315; CHECK-RV64-F-LP64-NEXT: sd a2, 200(sp) # 8-byte Folded Spill1316; CHECK-RV64-F-LP64-NEXT: sd a3, 192(sp) # 8-byte Folded Spill1317; CHECK-RV64-F-LP64-NEXT: sd a4, 184(sp) # 8-byte Folded Spill1318; CHECK-RV64-F-LP64-NEXT: sd a5, 176(sp) # 8-byte Folded Spill1319; CHECK-RV64-F-LP64-NEXT: sd a6, 168(sp) # 8-byte Folded Spill1320; CHECK-RV64-F-LP64-NEXT: sd a7, 160(sp) # 8-byte Folded Spill1321; CHECK-RV64-F-LP64-NEXT: sd t3, 152(sp) # 8-byte Folded Spill1322; CHECK-RV64-F-LP64-NEXT: sd t4, 144(sp) # 8-byte Folded Spill1323; CHECK-RV64-F-LP64-NEXT: sd t5, 136(sp) # 8-byte Folded Spill1324; CHECK-RV64-F-LP64-NEXT: sd t6, 128(sp) # 8-byte Folded Spill1325; CHECK-RV64-F-LP64-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill1326; CHECK-RV64-F-LP64-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill1327; CHECK-RV64-F-LP64-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill1328; CHECK-RV64-F-LP64-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill1329; CHECK-RV64-F-LP64-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill1330; CHECK-RV64-F-LP64-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill1331; CHECK-RV64-F-LP64-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill1332; CHECK-RV64-F-LP64-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill1333; CHECK-RV64-F-LP64-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill1334; CHECK-RV64-F-LP64-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill1335; CHECK-RV64-F-LP64-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill1336; CHECK-RV64-F-LP64-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill1337; CHECK-RV64-F-LP64-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill1338; CHECK-RV64-F-LP64-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill1339; CHECK-RV64-F-LP64-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill1340; CHECK-RV64-F-LP64-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill1341; CHECK-RV64-F-LP64-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill1342; CHECK-RV64-F-LP64-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill1343; CHECK-RV64-F-LP64-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill1344; CHECK-RV64-F-LP64-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill1345; CHECK-RV64-F-LP64-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill1346; CHECK-RV64-F-LP64-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill1347; CHECK-RV64-F-LP64-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill1348; CHECK-RV64-F-LP64-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill1349; CHECK-RV64-F-LP64-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill1350; CHECK-RV64-F-LP64-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill1351; CHECK-RV64-F-LP64-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill1352; CHECK-RV64-F-LP64-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill1353; CHECK-RV64-F-LP64-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill1354; CHECK-RV64-F-LP64-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill1355; CHECK-RV64-F-LP64-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill1356; CHECK-RV64-F-LP64-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill1357; CHECK-RV64-F-LP64-NEXT: call otherfoo1358; CHECK-RV64-F-LP64-NEXT: ld ra, 248(sp) # 8-byte Folded Reload1359; CHECK-RV64-F-LP64-NEXT: ld t0, 240(sp) # 8-byte Folded Reload1360; CHECK-RV64-F-LP64-NEXT: ld t1, 232(sp) # 8-byte Folded Reload1361; CHECK-RV64-F-LP64-NEXT: ld t2, 224(sp) # 8-byte Folded Reload1362; CHECK-RV64-F-LP64-NEXT: ld a0, 216(sp) # 8-byte Folded Reload1363; CHECK-RV64-F-LP64-NEXT: ld a1, 208(sp) # 8-byte Folded Reload1364; CHECK-RV64-F-LP64-NEXT: ld a2, 200(sp) # 8-byte Folded Reload1365; CHECK-RV64-F-LP64-NEXT: ld a3, 192(sp) # 8-byte Folded Reload1366; CHECK-RV64-F-LP64-NEXT: ld a4, 184(sp) # 8-byte Folded Reload1367; CHECK-RV64-F-LP64-NEXT: ld a5, 176(sp) # 8-byte Folded Reload1368; CHECK-RV64-F-LP64-NEXT: ld a6, 168(sp) # 8-byte Folded Reload1369; CHECK-RV64-F-LP64-NEXT: ld a7, 160(sp) # 8-byte Folded Reload1370; CHECK-RV64-F-LP64-NEXT: ld t3, 152(sp) # 8-byte Folded Reload1371; CHECK-RV64-F-LP64-NEXT: ld t4, 144(sp) # 8-byte Folded Reload1372; CHECK-RV64-F-LP64-NEXT: ld t5, 136(sp) # 8-byte Folded Reload1373; CHECK-RV64-F-LP64-NEXT: ld t6, 128(sp) # 8-byte Folded Reload1374; CHECK-RV64-F-LP64-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload1375; CHECK-RV64-F-LP64-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload1376; CHECK-RV64-F-LP64-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload1377; CHECK-RV64-F-LP64-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload1378; CHECK-RV64-F-LP64-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload1379; CHECK-RV64-F-LP64-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload1380; CHECK-RV64-F-LP64-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload1381; CHECK-RV64-F-LP64-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload1382; CHECK-RV64-F-LP64-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload1383; CHECK-RV64-F-LP64-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload1384; CHECK-RV64-F-LP64-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload1385; CHECK-RV64-F-LP64-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload1386; CHECK-RV64-F-LP64-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload1387; CHECK-RV64-F-LP64-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload1388; CHECK-RV64-F-LP64-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload1389; CHECK-RV64-F-LP64-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload1390; CHECK-RV64-F-LP64-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload1391; CHECK-RV64-F-LP64-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload1392; CHECK-RV64-F-LP64-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload1393; CHECK-RV64-F-LP64-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload1394; CHECK-RV64-F-LP64-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload1395; CHECK-RV64-F-LP64-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload1396; CHECK-RV64-F-LP64-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload1397; CHECK-RV64-F-LP64-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload1398; CHECK-RV64-F-LP64-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload1399; CHECK-RV64-F-LP64-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload1400; CHECK-RV64-F-LP64-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload1401; CHECK-RV64-F-LP64-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload1402; CHECK-RV64-F-LP64-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload1403; CHECK-RV64-F-LP64-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload1404; CHECK-RV64-F-LP64-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload1405; CHECK-RV64-F-LP64-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload1406; CHECK-RV64-F-LP64-NEXT: addi sp, sp, 2561407; CHECK-RV64-F-LP64-NEXT: mret1408;1409; CHECK-RV64-FD-LP64F-LABEL: foo_with_call:1410; CHECK-RV64-FD-LP64F: # %bb.0:1411; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, -3841412; CHECK-RV64-FD-LP64F-NEXT: sd ra, 376(sp) # 8-byte Folded Spill1413; CHECK-RV64-FD-LP64F-NEXT: sd t0, 368(sp) # 8-byte Folded Spill1414; CHECK-RV64-FD-LP64F-NEXT: sd t1, 360(sp) # 8-byte Folded Spill1415; CHECK-RV64-FD-LP64F-NEXT: sd t2, 352(sp) # 8-byte Folded Spill1416; CHECK-RV64-FD-LP64F-NEXT: sd a0, 344(sp) # 8-byte Folded Spill1417; CHECK-RV64-FD-LP64F-NEXT: sd a1, 336(sp) # 8-byte Folded Spill1418; CHECK-RV64-FD-LP64F-NEXT: sd a2, 328(sp) # 8-byte Folded Spill1419; CHECK-RV64-FD-LP64F-NEXT: sd a3, 320(sp) # 8-byte Folded Spill1420; CHECK-RV64-FD-LP64F-NEXT: sd a4, 312(sp) # 8-byte Folded Spill1421; CHECK-RV64-FD-LP64F-NEXT: sd a5, 304(sp) # 8-byte Folded Spill1422; CHECK-RV64-FD-LP64F-NEXT: sd a6, 296(sp) # 8-byte Folded Spill1423; CHECK-RV64-FD-LP64F-NEXT: sd a7, 288(sp) # 8-byte Folded Spill1424; CHECK-RV64-FD-LP64F-NEXT: sd t3, 280(sp) # 8-byte Folded Spill1425; CHECK-RV64-FD-LP64F-NEXT: sd t4, 272(sp) # 8-byte Folded Spill1426; CHECK-RV64-FD-LP64F-NEXT: sd t5, 264(sp) # 8-byte Folded Spill1427; CHECK-RV64-FD-LP64F-NEXT: sd t6, 256(sp) # 8-byte Folded Spill1428; CHECK-RV64-FD-LP64F-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill1429; CHECK-RV64-FD-LP64F-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill1430; CHECK-RV64-FD-LP64F-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill1431; CHECK-RV64-FD-LP64F-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill1432; CHECK-RV64-FD-LP64F-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill1433; CHECK-RV64-FD-LP64F-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill1434; CHECK-RV64-FD-LP64F-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill1435; CHECK-RV64-FD-LP64F-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill1436; CHECK-RV64-FD-LP64F-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill1437; CHECK-RV64-FD-LP64F-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill1438; CHECK-RV64-FD-LP64F-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill1439; CHECK-RV64-FD-LP64F-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill1440; CHECK-RV64-FD-LP64F-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill1441; CHECK-RV64-FD-LP64F-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill1442; CHECK-RV64-FD-LP64F-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill1443; CHECK-RV64-FD-LP64F-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill1444; CHECK-RV64-FD-LP64F-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill1445; CHECK-RV64-FD-LP64F-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill1446; CHECK-RV64-FD-LP64F-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill1447; CHECK-RV64-FD-LP64F-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill1448; CHECK-RV64-FD-LP64F-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill1449; CHECK-RV64-FD-LP64F-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill1450; CHECK-RV64-FD-LP64F-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill1451; CHECK-RV64-FD-LP64F-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill1452; CHECK-RV64-FD-LP64F-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill1453; CHECK-RV64-FD-LP64F-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill1454; CHECK-RV64-FD-LP64F-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill1455; CHECK-RV64-FD-LP64F-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill1456; CHECK-RV64-FD-LP64F-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill1457; CHECK-RV64-FD-LP64F-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill1458; CHECK-RV64-FD-LP64F-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill1459; CHECK-RV64-FD-LP64F-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill1460; CHECK-RV64-FD-LP64F-NEXT: call otherfoo1461; CHECK-RV64-FD-LP64F-NEXT: ld ra, 376(sp) # 8-byte Folded Reload1462; CHECK-RV64-FD-LP64F-NEXT: ld t0, 368(sp) # 8-byte Folded Reload1463; CHECK-RV64-FD-LP64F-NEXT: ld t1, 360(sp) # 8-byte Folded Reload1464; CHECK-RV64-FD-LP64F-NEXT: ld t2, 352(sp) # 8-byte Folded Reload1465; CHECK-RV64-FD-LP64F-NEXT: ld a0, 344(sp) # 8-byte Folded Reload1466; CHECK-RV64-FD-LP64F-NEXT: ld a1, 336(sp) # 8-byte Folded Reload1467; CHECK-RV64-FD-LP64F-NEXT: ld a2, 328(sp) # 8-byte Folded Reload1468; CHECK-RV64-FD-LP64F-NEXT: ld a3, 320(sp) # 8-byte Folded Reload1469; CHECK-RV64-FD-LP64F-NEXT: ld a4, 312(sp) # 8-byte Folded Reload1470; CHECK-RV64-FD-LP64F-NEXT: ld a5, 304(sp) # 8-byte Folded Reload1471; CHECK-RV64-FD-LP64F-NEXT: ld a6, 296(sp) # 8-byte Folded Reload1472; CHECK-RV64-FD-LP64F-NEXT: ld a7, 288(sp) # 8-byte Folded Reload1473; CHECK-RV64-FD-LP64F-NEXT: ld t3, 280(sp) # 8-byte Folded Reload1474; CHECK-RV64-FD-LP64F-NEXT: ld t4, 272(sp) # 8-byte Folded Reload1475; CHECK-RV64-FD-LP64F-NEXT: ld t5, 264(sp) # 8-byte Folded Reload1476; CHECK-RV64-FD-LP64F-NEXT: ld t6, 256(sp) # 8-byte Folded Reload1477; CHECK-RV64-FD-LP64F-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload1478; CHECK-RV64-FD-LP64F-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload1479; CHECK-RV64-FD-LP64F-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload1480; CHECK-RV64-FD-LP64F-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload1481; CHECK-RV64-FD-LP64F-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload1482; CHECK-RV64-FD-LP64F-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload1483; CHECK-RV64-FD-LP64F-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload1484; CHECK-RV64-FD-LP64F-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload1485; CHECK-RV64-FD-LP64F-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload1486; CHECK-RV64-FD-LP64F-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload1487; CHECK-RV64-FD-LP64F-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload1488; CHECK-RV64-FD-LP64F-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload1489; CHECK-RV64-FD-LP64F-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload1490; CHECK-RV64-FD-LP64F-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload1491; CHECK-RV64-FD-LP64F-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload1492; CHECK-RV64-FD-LP64F-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload1493; CHECK-RV64-FD-LP64F-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload1494; CHECK-RV64-FD-LP64F-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload1495; CHECK-RV64-FD-LP64F-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload1496; CHECK-RV64-FD-LP64F-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload1497; CHECK-RV64-FD-LP64F-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload1498; CHECK-RV64-FD-LP64F-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload1499; CHECK-RV64-FD-LP64F-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload1500; CHECK-RV64-FD-LP64F-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload1501; CHECK-RV64-FD-LP64F-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload1502; CHECK-RV64-FD-LP64F-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload1503; CHECK-RV64-FD-LP64F-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload1504; CHECK-RV64-FD-LP64F-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload1505; CHECK-RV64-FD-LP64F-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload1506; CHECK-RV64-FD-LP64F-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload1507; CHECK-RV64-FD-LP64F-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload1508; CHECK-RV64-FD-LP64F-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload1509; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, 3841510; CHECK-RV64-FD-LP64F-NEXT: mret1511;1512; CHECK-RV64-FD-LP64-LABEL: foo_with_call:1513; CHECK-RV64-FD-LP64: # %bb.0:1514; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, -3841515; CHECK-RV64-FD-LP64-NEXT: sd ra, 376(sp) # 8-byte Folded Spill1516; CHECK-RV64-FD-LP64-NEXT: sd t0, 368(sp) # 8-byte Folded Spill1517; CHECK-RV64-FD-LP64-NEXT: sd t1, 360(sp) # 8-byte Folded Spill1518; CHECK-RV64-FD-LP64-NEXT: sd t2, 352(sp) # 8-byte Folded Spill1519; CHECK-RV64-FD-LP64-NEXT: sd a0, 344(sp) # 8-byte Folded Spill1520; CHECK-RV64-FD-LP64-NEXT: sd a1, 336(sp) # 8-byte Folded Spill1521; CHECK-RV64-FD-LP64-NEXT: sd a2, 328(sp) # 8-byte Folded Spill1522; CHECK-RV64-FD-LP64-NEXT: sd a3, 320(sp) # 8-byte Folded Spill1523; CHECK-RV64-FD-LP64-NEXT: sd a4, 312(sp) # 8-byte Folded Spill1524; CHECK-RV64-FD-LP64-NEXT: sd a5, 304(sp) # 8-byte Folded Spill1525; CHECK-RV64-FD-LP64-NEXT: sd a6, 296(sp) # 8-byte Folded Spill1526; CHECK-RV64-FD-LP64-NEXT: sd a7, 288(sp) # 8-byte Folded Spill1527; CHECK-RV64-FD-LP64-NEXT: sd t3, 280(sp) # 8-byte Folded Spill1528; CHECK-RV64-FD-LP64-NEXT: sd t4, 272(sp) # 8-byte Folded Spill1529; CHECK-RV64-FD-LP64-NEXT: sd t5, 264(sp) # 8-byte Folded Spill1530; CHECK-RV64-FD-LP64-NEXT: sd t6, 256(sp) # 8-byte Folded Spill1531; CHECK-RV64-FD-LP64-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill1532; CHECK-RV64-FD-LP64-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill1533; CHECK-RV64-FD-LP64-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill1534; CHECK-RV64-FD-LP64-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill1535; CHECK-RV64-FD-LP64-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill1536; CHECK-RV64-FD-LP64-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill1537; CHECK-RV64-FD-LP64-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill1538; CHECK-RV64-FD-LP64-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill1539; CHECK-RV64-FD-LP64-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill1540; CHECK-RV64-FD-LP64-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill1541; CHECK-RV64-FD-LP64-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill1542; CHECK-RV64-FD-LP64-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill1543; CHECK-RV64-FD-LP64-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill1544; CHECK-RV64-FD-LP64-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill1545; CHECK-RV64-FD-LP64-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill1546; CHECK-RV64-FD-LP64-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill1547; CHECK-RV64-FD-LP64-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill1548; CHECK-RV64-FD-LP64-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill1549; CHECK-RV64-FD-LP64-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill1550; CHECK-RV64-FD-LP64-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill1551; CHECK-RV64-FD-LP64-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill1552; CHECK-RV64-FD-LP64-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill1553; CHECK-RV64-FD-LP64-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill1554; CHECK-RV64-FD-LP64-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill1555; CHECK-RV64-FD-LP64-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill1556; CHECK-RV64-FD-LP64-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill1557; CHECK-RV64-FD-LP64-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill1558; CHECK-RV64-FD-LP64-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill1559; CHECK-RV64-FD-LP64-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill1560; CHECK-RV64-FD-LP64-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill1561; CHECK-RV64-FD-LP64-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill1562; CHECK-RV64-FD-LP64-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill1563; CHECK-RV64-FD-LP64-NEXT: call otherfoo1564; CHECK-RV64-FD-LP64-NEXT: ld ra, 376(sp) # 8-byte Folded Reload1565; CHECK-RV64-FD-LP64-NEXT: ld t0, 368(sp) # 8-byte Folded Reload1566; CHECK-RV64-FD-LP64-NEXT: ld t1, 360(sp) # 8-byte Folded Reload1567; CHECK-RV64-FD-LP64-NEXT: ld t2, 352(sp) # 8-byte Folded Reload1568; CHECK-RV64-FD-LP64-NEXT: ld a0, 344(sp) # 8-byte Folded Reload1569; CHECK-RV64-FD-LP64-NEXT: ld a1, 336(sp) # 8-byte Folded Reload1570; CHECK-RV64-FD-LP64-NEXT: ld a2, 328(sp) # 8-byte Folded Reload1571; CHECK-RV64-FD-LP64-NEXT: ld a3, 320(sp) # 8-byte Folded Reload1572; CHECK-RV64-FD-LP64-NEXT: ld a4, 312(sp) # 8-byte Folded Reload1573; CHECK-RV64-FD-LP64-NEXT: ld a5, 304(sp) # 8-byte Folded Reload1574; CHECK-RV64-FD-LP64-NEXT: ld a6, 296(sp) # 8-byte Folded Reload1575; CHECK-RV64-FD-LP64-NEXT: ld a7, 288(sp) # 8-byte Folded Reload1576; CHECK-RV64-FD-LP64-NEXT: ld t3, 280(sp) # 8-byte Folded Reload1577; CHECK-RV64-FD-LP64-NEXT: ld t4, 272(sp) # 8-byte Folded Reload1578; CHECK-RV64-FD-LP64-NEXT: ld t5, 264(sp) # 8-byte Folded Reload1579; CHECK-RV64-FD-LP64-NEXT: ld t6, 256(sp) # 8-byte Folded Reload1580; CHECK-RV64-FD-LP64-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload1581; CHECK-RV64-FD-LP64-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload1582; CHECK-RV64-FD-LP64-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload1583; CHECK-RV64-FD-LP64-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload1584; CHECK-RV64-FD-LP64-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload1585; CHECK-RV64-FD-LP64-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload1586; CHECK-RV64-FD-LP64-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload1587; CHECK-RV64-FD-LP64-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload1588; CHECK-RV64-FD-LP64-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload1589; CHECK-RV64-FD-LP64-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload1590; CHECK-RV64-FD-LP64-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload1591; CHECK-RV64-FD-LP64-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload1592; CHECK-RV64-FD-LP64-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload1593; CHECK-RV64-FD-LP64-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload1594; CHECK-RV64-FD-LP64-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload1595; CHECK-RV64-FD-LP64-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload1596; CHECK-RV64-FD-LP64-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload1597; CHECK-RV64-FD-LP64-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload1598; CHECK-RV64-FD-LP64-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload1599; CHECK-RV64-FD-LP64-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload1600; CHECK-RV64-FD-LP64-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload1601; CHECK-RV64-FD-LP64-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload1602; CHECK-RV64-FD-LP64-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload1603; CHECK-RV64-FD-LP64-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload1604; CHECK-RV64-FD-LP64-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload1605; CHECK-RV64-FD-LP64-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload1606; CHECK-RV64-FD-LP64-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload1607; CHECK-RV64-FD-LP64-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload1608; CHECK-RV64-FD-LP64-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload1609; CHECK-RV64-FD-LP64-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload1610; CHECK-RV64-FD-LP64-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload1611; CHECK-RV64-FD-LP64-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload1612; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, 3841613; CHECK-RV64-FD-LP64-NEXT: mret1614;1615; CHECK-RV64I-LP64E-LABEL: foo_with_call:1616; CHECK-RV64I-LP64E: # %bb.0:1617; CHECK-RV64I-LP64E-NEXT: addi sp, sp, -2081618; CHECK-RV64I-LP64E-NEXT: sd ra, 200(sp) # 8-byte Folded Spill1619; CHECK-RV64I-LP64E-NEXT: sd t0, 192(sp) # 8-byte Folded Spill1620; CHECK-RV64I-LP64E-NEXT: sd t1, 184(sp) # 8-byte Folded Spill1621; CHECK-RV64I-LP64E-NEXT: sd t2, 176(sp) # 8-byte Folded Spill1622; CHECK-RV64I-LP64E-NEXT: sd a0, 168(sp) # 8-byte Folded Spill1623; CHECK-RV64I-LP64E-NEXT: sd a1, 160(sp) # 8-byte Folded Spill1624; CHECK-RV64I-LP64E-NEXT: sd a2, 152(sp) # 8-byte Folded Spill1625; CHECK-RV64I-LP64E-NEXT: sd a3, 144(sp) # 8-byte Folded Spill1626; CHECK-RV64I-LP64E-NEXT: sd a4, 136(sp) # 8-byte Folded Spill1627; CHECK-RV64I-LP64E-NEXT: sd a5, 128(sp) # 8-byte Folded Spill1628; CHECK-RV64I-LP64E-NEXT: sd a6, 120(sp) # 8-byte Folded Spill1629; CHECK-RV64I-LP64E-NEXT: sd a7, 112(sp) # 8-byte Folded Spill1630; CHECK-RV64I-LP64E-NEXT: sd s2, 104(sp) # 8-byte Folded Spill1631; CHECK-RV64I-LP64E-NEXT: sd s3, 96(sp) # 8-byte Folded Spill1632; CHECK-RV64I-LP64E-NEXT: sd s4, 88(sp) # 8-byte Folded Spill1633; CHECK-RV64I-LP64E-NEXT: sd s5, 80(sp) # 8-byte Folded Spill1634; CHECK-RV64I-LP64E-NEXT: sd s6, 72(sp) # 8-byte Folded Spill1635; CHECK-RV64I-LP64E-NEXT: sd s7, 64(sp) # 8-byte Folded Spill1636; CHECK-RV64I-LP64E-NEXT: sd s8, 56(sp) # 8-byte Folded Spill1637; CHECK-RV64I-LP64E-NEXT: sd s9, 48(sp) # 8-byte Folded Spill1638; CHECK-RV64I-LP64E-NEXT: sd s10, 40(sp) # 8-byte Folded Spill1639; CHECK-RV64I-LP64E-NEXT: sd s11, 32(sp) # 8-byte Folded Spill1640; CHECK-RV64I-LP64E-NEXT: sd t3, 24(sp) # 8-byte Folded Spill1641; CHECK-RV64I-LP64E-NEXT: sd t4, 16(sp) # 8-byte Folded Spill1642; CHECK-RV64I-LP64E-NEXT: sd t5, 8(sp) # 8-byte Folded Spill1643; CHECK-RV64I-LP64E-NEXT: sd t6, 0(sp) # 8-byte Folded Spill1644; CHECK-RV64I-LP64E-NEXT: call otherfoo1645; CHECK-RV64I-LP64E-NEXT: ld ra, 200(sp) # 8-byte Folded Reload1646; CHECK-RV64I-LP64E-NEXT: ld t0, 192(sp) # 8-byte Folded Reload1647; CHECK-RV64I-LP64E-NEXT: ld t1, 184(sp) # 8-byte Folded Reload1648; CHECK-RV64I-LP64E-NEXT: ld t2, 176(sp) # 8-byte Folded Reload1649; CHECK-RV64I-LP64E-NEXT: ld a0, 168(sp) # 8-byte Folded Reload1650; CHECK-RV64I-LP64E-NEXT: ld a1, 160(sp) # 8-byte Folded Reload1651; CHECK-RV64I-LP64E-NEXT: ld a2, 152(sp) # 8-byte Folded Reload1652; CHECK-RV64I-LP64E-NEXT: ld a3, 144(sp) # 8-byte Folded Reload1653; CHECK-RV64I-LP64E-NEXT: ld a4, 136(sp) # 8-byte Folded Reload1654; CHECK-RV64I-LP64E-NEXT: ld a5, 128(sp) # 8-byte Folded Reload1655; CHECK-RV64I-LP64E-NEXT: ld a6, 120(sp) # 8-byte Folded Reload1656; CHECK-RV64I-LP64E-NEXT: ld a7, 112(sp) # 8-byte Folded Reload1657; CHECK-RV64I-LP64E-NEXT: ld s2, 104(sp) # 8-byte Folded Reload1658; CHECK-RV64I-LP64E-NEXT: ld s3, 96(sp) # 8-byte Folded Reload1659; CHECK-RV64I-LP64E-NEXT: ld s4, 88(sp) # 8-byte Folded Reload1660; CHECK-RV64I-LP64E-NEXT: ld s5, 80(sp) # 8-byte Folded Reload1661; CHECK-RV64I-LP64E-NEXT: ld s6, 72(sp) # 8-byte Folded Reload1662; CHECK-RV64I-LP64E-NEXT: ld s7, 64(sp) # 8-byte Folded Reload1663; CHECK-RV64I-LP64E-NEXT: ld s8, 56(sp) # 8-byte Folded Reload1664; CHECK-RV64I-LP64E-NEXT: ld s9, 48(sp) # 8-byte Folded Reload1665; CHECK-RV64I-LP64E-NEXT: ld s10, 40(sp) # 8-byte Folded Reload1666; CHECK-RV64I-LP64E-NEXT: ld s11, 32(sp) # 8-byte Folded Reload1667; CHECK-RV64I-LP64E-NEXT: ld t3, 24(sp) # 8-byte Folded Reload1668; CHECK-RV64I-LP64E-NEXT: ld t4, 16(sp) # 8-byte Folded Reload1669; CHECK-RV64I-LP64E-NEXT: ld t5, 8(sp) # 8-byte Folded Reload1670; CHECK-RV64I-LP64E-NEXT: ld t6, 0(sp) # 8-byte Folded Reload1671; CHECK-RV64I-LP64E-NEXT: addi sp, sp, 2081672; CHECK-RV64I-LP64E-NEXT: mret1673;1674; CHECK-RV64E-LABEL: foo_with_call:1675; CHECK-RV64E: # %bb.0:1676; CHECK-RV64E-NEXT: addi sp, sp, -801677; CHECK-RV64E-NEXT: sd ra, 72(sp) # 8-byte Folded Spill1678; CHECK-RV64E-NEXT: sd t0, 64(sp) # 8-byte Folded Spill1679; CHECK-RV64E-NEXT: sd t1, 56(sp) # 8-byte Folded Spill1680; CHECK-RV64E-NEXT: sd t2, 48(sp) # 8-byte Folded Spill1681; CHECK-RV64E-NEXT: sd a0, 40(sp) # 8-byte Folded Spill1682; CHECK-RV64E-NEXT: sd a1, 32(sp) # 8-byte Folded Spill1683; CHECK-RV64E-NEXT: sd a2, 24(sp) # 8-byte Folded Spill1684; CHECK-RV64E-NEXT: sd a3, 16(sp) # 8-byte Folded Spill1685; CHECK-RV64E-NEXT: sd a4, 8(sp) # 8-byte Folded Spill1686; CHECK-RV64E-NEXT: sd a5, 0(sp) # 8-byte Folded Spill1687; CHECK-RV64E-NEXT: call otherfoo1688; CHECK-RV64E-NEXT: ld ra, 72(sp) # 8-byte Folded Reload1689; CHECK-RV64E-NEXT: ld t0, 64(sp) # 8-byte Folded Reload1690; CHECK-RV64E-NEXT: ld t1, 56(sp) # 8-byte Folded Reload1691; CHECK-RV64E-NEXT: ld t2, 48(sp) # 8-byte Folded Reload1692; CHECK-RV64E-NEXT: ld a0, 40(sp) # 8-byte Folded Reload1693; CHECK-RV64E-NEXT: ld a1, 32(sp) # 8-byte Folded Reload1694; CHECK-RV64E-NEXT: ld a2, 24(sp) # 8-byte Folded Reload1695; CHECK-RV64E-NEXT: ld a3, 16(sp) # 8-byte Folded Reload1696; CHECK-RV64E-NEXT: ld a4, 8(sp) # 8-byte Folded Reload1697; CHECK-RV64E-NEXT: ld a5, 0(sp) # 8-byte Folded Reload1698; CHECK-RV64E-NEXT: addi sp, sp, 801699; CHECK-RV64E-NEXT: mret1700;1701; CHECK-RV64E-F-LABEL: foo_with_call:1702; CHECK-RV64E-F: # %bb.0:1703; CHECK-RV64E-F-NEXT: addi sp, sp, -2081704; CHECK-RV64E-F-NEXT: sd ra, 200(sp) # 8-byte Folded Spill1705; CHECK-RV64E-F-NEXT: sd t0, 192(sp) # 8-byte Folded Spill1706; CHECK-RV64E-F-NEXT: sd t1, 184(sp) # 8-byte Folded Spill1707; CHECK-RV64E-F-NEXT: sd t2, 176(sp) # 8-byte Folded Spill1708; CHECK-RV64E-F-NEXT: sd a0, 168(sp) # 8-byte Folded Spill1709; CHECK-RV64E-F-NEXT: sd a1, 160(sp) # 8-byte Folded Spill1710; CHECK-RV64E-F-NEXT: sd a2, 152(sp) # 8-byte Folded Spill1711; CHECK-RV64E-F-NEXT: sd a3, 144(sp) # 8-byte Folded Spill1712; CHECK-RV64E-F-NEXT: sd a4, 136(sp) # 8-byte Folded Spill1713; CHECK-RV64E-F-NEXT: sd a5, 128(sp) # 8-byte Folded Spill1714; CHECK-RV64E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill1715; CHECK-RV64E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill1716; CHECK-RV64E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill1717; CHECK-RV64E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill1718; CHECK-RV64E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill1719; CHECK-RV64E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill1720; CHECK-RV64E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill1721; CHECK-RV64E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill1722; CHECK-RV64E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill1723; CHECK-RV64E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill1724; CHECK-RV64E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill1725; CHECK-RV64E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill1726; CHECK-RV64E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill1727; CHECK-RV64E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill1728; CHECK-RV64E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill1729; CHECK-RV64E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill1730; CHECK-RV64E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill1731; CHECK-RV64E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill1732; CHECK-RV64E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill1733; CHECK-RV64E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill1734; CHECK-RV64E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill1735; CHECK-RV64E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill1736; CHECK-RV64E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill1737; CHECK-RV64E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill1738; CHECK-RV64E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill1739; CHECK-RV64E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill1740; CHECK-RV64E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill1741; CHECK-RV64E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill1742; CHECK-RV64E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill1743; CHECK-RV64E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill1744; CHECK-RV64E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill1745; CHECK-RV64E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill1746; CHECK-RV64E-F-NEXT: call otherfoo1747; CHECK-RV64E-F-NEXT: ld ra, 200(sp) # 8-byte Folded Reload1748; CHECK-RV64E-F-NEXT: ld t0, 192(sp) # 8-byte Folded Reload1749; CHECK-RV64E-F-NEXT: ld t1, 184(sp) # 8-byte Folded Reload1750; CHECK-RV64E-F-NEXT: ld t2, 176(sp) # 8-byte Folded Reload1751; CHECK-RV64E-F-NEXT: ld a0, 168(sp) # 8-byte Folded Reload1752; CHECK-RV64E-F-NEXT: ld a1, 160(sp) # 8-byte Folded Reload1753; CHECK-RV64E-F-NEXT: ld a2, 152(sp) # 8-byte Folded Reload1754; CHECK-RV64E-F-NEXT: ld a3, 144(sp) # 8-byte Folded Reload1755; CHECK-RV64E-F-NEXT: ld a4, 136(sp) # 8-byte Folded Reload1756; CHECK-RV64E-F-NEXT: ld a5, 128(sp) # 8-byte Folded Reload1757; CHECK-RV64E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload1758; CHECK-RV64E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload1759; CHECK-RV64E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload1760; CHECK-RV64E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload1761; CHECK-RV64E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload1762; CHECK-RV64E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload1763; CHECK-RV64E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload1764; CHECK-RV64E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload1765; CHECK-RV64E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload1766; CHECK-RV64E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload1767; CHECK-RV64E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload1768; CHECK-RV64E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload1769; CHECK-RV64E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload1770; CHECK-RV64E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload1771; CHECK-RV64E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload1772; CHECK-RV64E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload1773; CHECK-RV64E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload1774; CHECK-RV64E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload1775; CHECK-RV64E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload1776; CHECK-RV64E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload1777; CHECK-RV64E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload1778; CHECK-RV64E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload1779; CHECK-RV64E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload1780; CHECK-RV64E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload1781; CHECK-RV64E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload1782; CHECK-RV64E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload1783; CHECK-RV64E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload1784; CHECK-RV64E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload1785; CHECK-RV64E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload1786; CHECK-RV64E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload1787; CHECK-RV64E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload1788; CHECK-RV64E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload1789; CHECK-RV64E-F-NEXT: addi sp, sp, 2081790; CHECK-RV64E-F-NEXT: mret1791;1792; CHECK-RV64E-FD-LABEL: foo_with_call:1793; CHECK-RV64E-FD: # %bb.0:1794; CHECK-RV64E-FD-NEXT: addi sp, sp, -3361795; CHECK-RV64E-FD-NEXT: sd ra, 328(sp) # 8-byte Folded Spill1796; CHECK-RV64E-FD-NEXT: sd t0, 320(sp) # 8-byte Folded Spill1797; CHECK-RV64E-FD-NEXT: sd t1, 312(sp) # 8-byte Folded Spill1798; CHECK-RV64E-FD-NEXT: sd t2, 304(sp) # 8-byte Folded Spill1799; CHECK-RV64E-FD-NEXT: sd a0, 296(sp) # 8-byte Folded Spill1800; CHECK-RV64E-FD-NEXT: sd a1, 288(sp) # 8-byte Folded Spill1801; CHECK-RV64E-FD-NEXT: sd a2, 280(sp) # 8-byte Folded Spill1802; CHECK-RV64E-FD-NEXT: sd a3, 272(sp) # 8-byte Folded Spill1803; CHECK-RV64E-FD-NEXT: sd a4, 264(sp) # 8-byte Folded Spill1804; CHECK-RV64E-FD-NEXT: sd a5, 256(sp) # 8-byte Folded Spill1805; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill1806; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill1807; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill1808; CHECK-RV64E-FD-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill1809; CHECK-RV64E-FD-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill1810; CHECK-RV64E-FD-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill1811; CHECK-RV64E-FD-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill1812; CHECK-RV64E-FD-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill1813; CHECK-RV64E-FD-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill1814; CHECK-RV64E-FD-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill1815; CHECK-RV64E-FD-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill1816; CHECK-RV64E-FD-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill1817; CHECK-RV64E-FD-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill1818; CHECK-RV64E-FD-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill1819; CHECK-RV64E-FD-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill1820; CHECK-RV64E-FD-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill1821; CHECK-RV64E-FD-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill1822; CHECK-RV64E-FD-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill1823; CHECK-RV64E-FD-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill1824; CHECK-RV64E-FD-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill1825; CHECK-RV64E-FD-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill1826; CHECK-RV64E-FD-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill1827; CHECK-RV64E-FD-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill1828; CHECK-RV64E-FD-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill1829; CHECK-RV64E-FD-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill1830; CHECK-RV64E-FD-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill1831; CHECK-RV64E-FD-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill1832; CHECK-RV64E-FD-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill1833; CHECK-RV64E-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill1834; CHECK-RV64E-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill1835; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill1836; CHECK-RV64E-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill1837; CHECK-RV64E-FD-NEXT: call otherfoo1838; CHECK-RV64E-FD-NEXT: ld ra, 328(sp) # 8-byte Folded Reload1839; CHECK-RV64E-FD-NEXT: ld t0, 320(sp) # 8-byte Folded Reload1840; CHECK-RV64E-FD-NEXT: ld t1, 312(sp) # 8-byte Folded Reload1841; CHECK-RV64E-FD-NEXT: ld t2, 304(sp) # 8-byte Folded Reload1842; CHECK-RV64E-FD-NEXT: ld a0, 296(sp) # 8-byte Folded Reload1843; CHECK-RV64E-FD-NEXT: ld a1, 288(sp) # 8-byte Folded Reload1844; CHECK-RV64E-FD-NEXT: ld a2, 280(sp) # 8-byte Folded Reload1845; CHECK-RV64E-FD-NEXT: ld a3, 272(sp) # 8-byte Folded Reload1846; CHECK-RV64E-FD-NEXT: ld a4, 264(sp) # 8-byte Folded Reload1847; CHECK-RV64E-FD-NEXT: ld a5, 256(sp) # 8-byte Folded Reload1848; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload1849; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload1850; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload1851; CHECK-RV64E-FD-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload1852; CHECK-RV64E-FD-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload1853; CHECK-RV64E-FD-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload1854; CHECK-RV64E-FD-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload1855; CHECK-RV64E-FD-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload1856; CHECK-RV64E-FD-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload1857; CHECK-RV64E-FD-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload1858; CHECK-RV64E-FD-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload1859; CHECK-RV64E-FD-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload1860; CHECK-RV64E-FD-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload1861; CHECK-RV64E-FD-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload1862; CHECK-RV64E-FD-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload1863; CHECK-RV64E-FD-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload1864; CHECK-RV64E-FD-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload1865; CHECK-RV64E-FD-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload1866; CHECK-RV64E-FD-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload1867; CHECK-RV64E-FD-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload1868; CHECK-RV64E-FD-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload1869; CHECK-RV64E-FD-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload1870; CHECK-RV64E-FD-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload1871; CHECK-RV64E-FD-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload1872; CHECK-RV64E-FD-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload1873; CHECK-RV64E-FD-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload1874; CHECK-RV64E-FD-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload1875; CHECK-RV64E-FD-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload1876; CHECK-RV64E-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload1877; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload1878; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload1879; CHECK-RV64E-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload1880; CHECK-RV64E-FD-NEXT: addi sp, sp, 3361881; CHECK-RV64E-FD-NEXT: mret1882;1883; CHECK-RV64-V-LABEL: foo_with_call:1884; CHECK-RV64-V: # %bb.0:1885; CHECK-RV64-V-NEXT: addi sp, sp, -1441886; CHECK-RV64-V-NEXT: sd ra, 136(sp) # 8-byte Folded Spill1887; CHECK-RV64-V-NEXT: sd t0, 128(sp) # 8-byte Folded Spill1888; CHECK-RV64-V-NEXT: sd t1, 120(sp) # 8-byte Folded Spill1889; CHECK-RV64-V-NEXT: sd t2, 112(sp) # 8-byte Folded Spill1890; CHECK-RV64-V-NEXT: sd a0, 104(sp) # 8-byte Folded Spill1891; CHECK-RV64-V-NEXT: sd a1, 96(sp) # 8-byte Folded Spill1892; CHECK-RV64-V-NEXT: sd a2, 88(sp) # 8-byte Folded Spill1893; CHECK-RV64-V-NEXT: sd a3, 80(sp) # 8-byte Folded Spill1894; CHECK-RV64-V-NEXT: sd a4, 72(sp) # 8-byte Folded Spill1895; CHECK-RV64-V-NEXT: sd a5, 64(sp) # 8-byte Folded Spill1896; CHECK-RV64-V-NEXT: sd a6, 56(sp) # 8-byte Folded Spill1897; CHECK-RV64-V-NEXT: sd a7, 48(sp) # 8-byte Folded Spill1898; CHECK-RV64-V-NEXT: sd t3, 40(sp) # 8-byte Folded Spill1899; CHECK-RV64-V-NEXT: sd t4, 32(sp) # 8-byte Folded Spill1900; CHECK-RV64-V-NEXT: sd t5, 24(sp) # 8-byte Folded Spill1901; CHECK-RV64-V-NEXT: sd t6, 16(sp) # 8-byte Folded Spill1902; CHECK-RV64-V-NEXT: csrr a0, vlenb1903; CHECK-RV64-V-NEXT: slli a0, a0, 51904; CHECK-RV64-V-NEXT: sub sp, sp, a01905; CHECK-RV64-V-NEXT: csrr a0, vlenb1906; CHECK-RV64-V-NEXT: slli a0, a0, 31907; CHECK-RV64-V-NEXT: mv a1, a01908; CHECK-RV64-V-NEXT: slli a0, a0, 11909; CHECK-RV64-V-NEXT: add a0, a0, a11910; CHECK-RV64-V-NEXT: add a0, sp, a01911; CHECK-RV64-V-NEXT: addi a0, a0, 161912; CHECK-RV64-V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill1913; CHECK-RV64-V-NEXT: csrr a0, vlenb1914; CHECK-RV64-V-NEXT: slli a0, a0, 41915; CHECK-RV64-V-NEXT: add a0, sp, a01916; CHECK-RV64-V-NEXT: addi a0, a0, 161917; CHECK-RV64-V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill1918; CHECK-RV64-V-NEXT: csrr a0, vlenb1919; CHECK-RV64-V-NEXT: slli a0, a0, 31920; CHECK-RV64-V-NEXT: add a0, sp, a01921; CHECK-RV64-V-NEXT: addi a0, a0, 161922; CHECK-RV64-V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill1923; CHECK-RV64-V-NEXT: addi a0, sp, 161924; CHECK-RV64-V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill1925; CHECK-RV64-V-NEXT: call otherfoo1926; CHECK-RV64-V-NEXT: csrr a0, vlenb1927; CHECK-RV64-V-NEXT: slli a0, a0, 31928; CHECK-RV64-V-NEXT: mv a1, a01929; CHECK-RV64-V-NEXT: slli a0, a0, 11930; CHECK-RV64-V-NEXT: add a0, a0, a11931; CHECK-RV64-V-NEXT: add a0, sp, a01932; CHECK-RV64-V-NEXT: addi a0, a0, 161933; CHECK-RV64-V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload1934; CHECK-RV64-V-NEXT: csrr a0, vlenb1935; CHECK-RV64-V-NEXT: slli a0, a0, 41936; CHECK-RV64-V-NEXT: add a0, sp, a01937; CHECK-RV64-V-NEXT: addi a0, a0, 161938; CHECK-RV64-V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload1939; CHECK-RV64-V-NEXT: csrr a0, vlenb1940; CHECK-RV64-V-NEXT: slli a0, a0, 31941; CHECK-RV64-V-NEXT: add a0, sp, a01942; CHECK-RV64-V-NEXT: addi a0, a0, 161943; CHECK-RV64-V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload1944; CHECK-RV64-V-NEXT: addi a0, sp, 161945; CHECK-RV64-V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload1946; CHECK-RV64-V-NEXT: csrr a0, vlenb1947; CHECK-RV64-V-NEXT: slli a0, a0, 51948; CHECK-RV64-V-NEXT: add sp, sp, a01949; CHECK-RV64-V-NEXT: ld ra, 136(sp) # 8-byte Folded Reload1950; CHECK-RV64-V-NEXT: ld t0, 128(sp) # 8-byte Folded Reload1951; CHECK-RV64-V-NEXT: ld t1, 120(sp) # 8-byte Folded Reload1952; CHECK-RV64-V-NEXT: ld t2, 112(sp) # 8-byte Folded Reload1953; CHECK-RV64-V-NEXT: ld a0, 104(sp) # 8-byte Folded Reload1954; CHECK-RV64-V-NEXT: ld a1, 96(sp) # 8-byte Folded Reload1955; CHECK-RV64-V-NEXT: ld a2, 88(sp) # 8-byte Folded Reload1956; CHECK-RV64-V-NEXT: ld a3, 80(sp) # 8-byte Folded Reload1957; CHECK-RV64-V-NEXT: ld a4, 72(sp) # 8-byte Folded Reload1958; CHECK-RV64-V-NEXT: ld a5, 64(sp) # 8-byte Folded Reload1959; CHECK-RV64-V-NEXT: ld a6, 56(sp) # 8-byte Folded Reload1960; CHECK-RV64-V-NEXT: ld a7, 48(sp) # 8-byte Folded Reload1961; CHECK-RV64-V-NEXT: ld t3, 40(sp) # 8-byte Folded Reload1962; CHECK-RV64-V-NEXT: ld t4, 32(sp) # 8-byte Folded Reload1963; CHECK-RV64-V-NEXT: ld t5, 24(sp) # 8-byte Folded Reload1964; CHECK-RV64-V-NEXT: ld t6, 16(sp) # 8-byte Folded Reload1965; CHECK-RV64-V-NEXT: addi sp, sp, 1441966; CHECK-RV64-V-NEXT: mret1967;1968; CHECK-RV64-FV-LABEL: foo_with_call:1969; CHECK-RV64-FV: # %bb.0:1970; CHECK-RV64-FV-NEXT: addi sp, sp, -2241971; CHECK-RV64-FV-NEXT: sd ra, 216(sp) # 8-byte Folded Spill1972; CHECK-RV64-FV-NEXT: sd t0, 208(sp) # 8-byte Folded Spill1973; CHECK-RV64-FV-NEXT: sd t1, 200(sp) # 8-byte Folded Spill1974; CHECK-RV64-FV-NEXT: sd t2, 192(sp) # 8-byte Folded Spill1975; CHECK-RV64-FV-NEXT: sd a0, 184(sp) # 8-byte Folded Spill1976; CHECK-RV64-FV-NEXT: sd a1, 176(sp) # 8-byte Folded Spill1977; CHECK-RV64-FV-NEXT: sd a2, 168(sp) # 8-byte Folded Spill1978; CHECK-RV64-FV-NEXT: sd a3, 160(sp) # 8-byte Folded Spill1979; CHECK-RV64-FV-NEXT: sd a4, 152(sp) # 8-byte Folded Spill1980; CHECK-RV64-FV-NEXT: sd a5, 144(sp) # 8-byte Folded Spill1981; CHECK-RV64-FV-NEXT: sd a6, 136(sp) # 8-byte Folded Spill1982; CHECK-RV64-FV-NEXT: sd a7, 128(sp) # 8-byte Folded Spill1983; CHECK-RV64-FV-NEXT: sd t3, 120(sp) # 8-byte Folded Spill1984; CHECK-RV64-FV-NEXT: sd t4, 112(sp) # 8-byte Folded Spill1985; CHECK-RV64-FV-NEXT: sd t5, 104(sp) # 8-byte Folded Spill1986; CHECK-RV64-FV-NEXT: sd t6, 96(sp) # 8-byte Folded Spill1987; CHECK-RV64-FV-NEXT: fsw ft0, 92(sp) # 4-byte Folded Spill1988; CHECK-RV64-FV-NEXT: fsw ft1, 88(sp) # 4-byte Folded Spill1989; CHECK-RV64-FV-NEXT: fsw ft2, 84(sp) # 4-byte Folded Spill1990; CHECK-RV64-FV-NEXT: fsw ft3, 80(sp) # 4-byte Folded Spill1991; CHECK-RV64-FV-NEXT: fsw ft4, 76(sp) # 4-byte Folded Spill1992; CHECK-RV64-FV-NEXT: fsw ft5, 72(sp) # 4-byte Folded Spill1993; CHECK-RV64-FV-NEXT: fsw ft6, 68(sp) # 4-byte Folded Spill1994; CHECK-RV64-FV-NEXT: fsw ft7, 64(sp) # 4-byte Folded Spill1995; CHECK-RV64-FV-NEXT: fsw fa0, 60(sp) # 4-byte Folded Spill1996; CHECK-RV64-FV-NEXT: fsw fa1, 56(sp) # 4-byte Folded Spill1997; CHECK-RV64-FV-NEXT: fsw fa2, 52(sp) # 4-byte Folded Spill1998; CHECK-RV64-FV-NEXT: fsw fa3, 48(sp) # 4-byte Folded Spill1999; CHECK-RV64-FV-NEXT: fsw fa4, 44(sp) # 4-byte Folded Spill2000; CHECK-RV64-FV-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill2001; CHECK-RV64-FV-NEXT: fsw fa6, 36(sp) # 4-byte Folded Spill2002; CHECK-RV64-FV-NEXT: fsw fa7, 32(sp) # 4-byte Folded Spill2003; CHECK-RV64-FV-NEXT: fsw ft8, 28(sp) # 4-byte Folded Spill2004; CHECK-RV64-FV-NEXT: fsw ft9, 24(sp) # 4-byte Folded Spill2005; CHECK-RV64-FV-NEXT: fsw ft10, 20(sp) # 4-byte Folded Spill2006; CHECK-RV64-FV-NEXT: fsw ft11, 16(sp) # 4-byte Folded Spill2007; CHECK-RV64-FV-NEXT: csrr a0, vlenb2008; CHECK-RV64-FV-NEXT: slli a0, a0, 52009; CHECK-RV64-FV-NEXT: sub sp, sp, a02010; CHECK-RV64-FV-NEXT: csrr a0, vlenb2011; CHECK-RV64-FV-NEXT: slli a0, a0, 32012; CHECK-RV64-FV-NEXT: mv a1, a02013; CHECK-RV64-FV-NEXT: slli a0, a0, 12014; CHECK-RV64-FV-NEXT: add a0, a0, a12015; CHECK-RV64-FV-NEXT: add a0, sp, a02016; CHECK-RV64-FV-NEXT: addi a0, a0, 162017; CHECK-RV64-FV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill2018; CHECK-RV64-FV-NEXT: csrr a0, vlenb2019; CHECK-RV64-FV-NEXT: slli a0, a0, 42020; CHECK-RV64-FV-NEXT: add a0, sp, a02021; CHECK-RV64-FV-NEXT: addi a0, a0, 162022; CHECK-RV64-FV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill2023; CHECK-RV64-FV-NEXT: csrr a0, vlenb2024; CHECK-RV64-FV-NEXT: slli a0, a0, 32025; CHECK-RV64-FV-NEXT: add a0, sp, a02026; CHECK-RV64-FV-NEXT: addi a0, a0, 162027; CHECK-RV64-FV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill2028; CHECK-RV64-FV-NEXT: addi a0, sp, 162029; CHECK-RV64-FV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill2030; CHECK-RV64-FV-NEXT: call otherfoo2031; CHECK-RV64-FV-NEXT: csrr a0, vlenb2032; CHECK-RV64-FV-NEXT: slli a0, a0, 32033; CHECK-RV64-FV-NEXT: mv a1, a02034; CHECK-RV64-FV-NEXT: slli a0, a0, 12035; CHECK-RV64-FV-NEXT: add a0, a0, a12036; CHECK-RV64-FV-NEXT: add a0, sp, a02037; CHECK-RV64-FV-NEXT: addi a0, a0, 162038; CHECK-RV64-FV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload2039; CHECK-RV64-FV-NEXT: csrr a0, vlenb2040; CHECK-RV64-FV-NEXT: slli a0, a0, 42041; CHECK-RV64-FV-NEXT: add a0, sp, a02042; CHECK-RV64-FV-NEXT: addi a0, a0, 162043; CHECK-RV64-FV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload2044; CHECK-RV64-FV-NEXT: csrr a0, vlenb2045; CHECK-RV64-FV-NEXT: slli a0, a0, 32046; CHECK-RV64-FV-NEXT: add a0, sp, a02047; CHECK-RV64-FV-NEXT: addi a0, a0, 162048; CHECK-RV64-FV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload2049; CHECK-RV64-FV-NEXT: addi a0, sp, 162050; CHECK-RV64-FV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload2051; CHECK-RV64-FV-NEXT: csrr a0, vlenb2052; CHECK-RV64-FV-NEXT: slli a0, a0, 52053; CHECK-RV64-FV-NEXT: add sp, sp, a02054; CHECK-RV64-FV-NEXT: ld ra, 216(sp) # 8-byte Folded Reload2055; CHECK-RV64-FV-NEXT: ld t0, 208(sp) # 8-byte Folded Reload2056; CHECK-RV64-FV-NEXT: ld t1, 200(sp) # 8-byte Folded Reload2057; CHECK-RV64-FV-NEXT: ld t2, 192(sp) # 8-byte Folded Reload2058; CHECK-RV64-FV-NEXT: ld a0, 184(sp) # 8-byte Folded Reload2059; CHECK-RV64-FV-NEXT: ld a1, 176(sp) # 8-byte Folded Reload2060; CHECK-RV64-FV-NEXT: ld a2, 168(sp) # 8-byte Folded Reload2061; CHECK-RV64-FV-NEXT: ld a3, 160(sp) # 8-byte Folded Reload2062; CHECK-RV64-FV-NEXT: ld a4, 152(sp) # 8-byte Folded Reload2063; CHECK-RV64-FV-NEXT: ld a5, 144(sp) # 8-byte Folded Reload2064; CHECK-RV64-FV-NEXT: ld a6, 136(sp) # 8-byte Folded Reload2065; CHECK-RV64-FV-NEXT: ld a7, 128(sp) # 8-byte Folded Reload2066; CHECK-RV64-FV-NEXT: ld t3, 120(sp) # 8-byte Folded Reload2067; CHECK-RV64-FV-NEXT: ld t4, 112(sp) # 8-byte Folded Reload2068; CHECK-RV64-FV-NEXT: ld t5, 104(sp) # 8-byte Folded Reload2069; CHECK-RV64-FV-NEXT: ld t6, 96(sp) # 8-byte Folded Reload2070; CHECK-RV64-FV-NEXT: flw ft0, 92(sp) # 4-byte Folded Reload2071; CHECK-RV64-FV-NEXT: flw ft1, 88(sp) # 4-byte Folded Reload2072; CHECK-RV64-FV-NEXT: flw ft2, 84(sp) # 4-byte Folded Reload2073; CHECK-RV64-FV-NEXT: flw ft3, 80(sp) # 4-byte Folded Reload2074; CHECK-RV64-FV-NEXT: flw ft4, 76(sp) # 4-byte Folded Reload2075; CHECK-RV64-FV-NEXT: flw ft5, 72(sp) # 4-byte Folded Reload2076; CHECK-RV64-FV-NEXT: flw ft6, 68(sp) # 4-byte Folded Reload2077; CHECK-RV64-FV-NEXT: flw ft7, 64(sp) # 4-byte Folded Reload2078; CHECK-RV64-FV-NEXT: flw fa0, 60(sp) # 4-byte Folded Reload2079; CHECK-RV64-FV-NEXT: flw fa1, 56(sp) # 4-byte Folded Reload2080; CHECK-RV64-FV-NEXT: flw fa2, 52(sp) # 4-byte Folded Reload2081; CHECK-RV64-FV-NEXT: flw fa3, 48(sp) # 4-byte Folded Reload2082; CHECK-RV64-FV-NEXT: flw fa4, 44(sp) # 4-byte Folded Reload2083; CHECK-RV64-FV-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload2084; CHECK-RV64-FV-NEXT: flw fa6, 36(sp) # 4-byte Folded Reload2085; CHECK-RV64-FV-NEXT: flw fa7, 32(sp) # 4-byte Folded Reload2086; CHECK-RV64-FV-NEXT: flw ft8, 28(sp) # 4-byte Folded Reload2087; CHECK-RV64-FV-NEXT: flw ft9, 24(sp) # 4-byte Folded Reload2088; CHECK-RV64-FV-NEXT: flw ft10, 20(sp) # 4-byte Folded Reload2089; CHECK-RV64-FV-NEXT: flw ft11, 16(sp) # 4-byte Folded Reload2090; CHECK-RV64-FV-NEXT: addi sp, sp, 2242091; CHECK-RV64-FV-NEXT: mret2092;2093; CHECK-RV64-FDV-LABEL: foo_with_call:2094; CHECK-RV64-FDV: # %bb.0:2095; CHECK-RV64-FDV-NEXT: addi sp, sp, -3042096; CHECK-RV64-FDV-NEXT: sd ra, 296(sp) # 8-byte Folded Spill2097; CHECK-RV64-FDV-NEXT: sd t0, 288(sp) # 8-byte Folded Spill2098; CHECK-RV64-FDV-NEXT: sd t1, 280(sp) # 8-byte Folded Spill2099; CHECK-RV64-FDV-NEXT: sd t2, 272(sp) # 8-byte Folded Spill2100; CHECK-RV64-FDV-NEXT: sd a0, 264(sp) # 8-byte Folded Spill2101; CHECK-RV64-FDV-NEXT: sd a1, 256(sp) # 8-byte Folded Spill2102; CHECK-RV64-FDV-NEXT: sd a2, 248(sp) # 8-byte Folded Spill2103; CHECK-RV64-FDV-NEXT: sd a3, 240(sp) # 8-byte Folded Spill2104; CHECK-RV64-FDV-NEXT: sd a4, 232(sp) # 8-byte Folded Spill2105; CHECK-RV64-FDV-NEXT: sd a5, 224(sp) # 8-byte Folded Spill2106; CHECK-RV64-FDV-NEXT: sd a6, 216(sp) # 8-byte Folded Spill2107; CHECK-RV64-FDV-NEXT: sd a7, 208(sp) # 8-byte Folded Spill2108; CHECK-RV64-FDV-NEXT: sd t3, 200(sp) # 8-byte Folded Spill2109; CHECK-RV64-FDV-NEXT: sd t4, 192(sp) # 8-byte Folded Spill2110; CHECK-RV64-FDV-NEXT: sd t5, 184(sp) # 8-byte Folded Spill2111; CHECK-RV64-FDV-NEXT: sd t6, 176(sp) # 8-byte Folded Spill2112; CHECK-RV64-FDV-NEXT: fsd ft0, 168(sp) # 8-byte Folded Spill2113; CHECK-RV64-FDV-NEXT: fsd ft1, 160(sp) # 8-byte Folded Spill2114; CHECK-RV64-FDV-NEXT: fsd ft2, 152(sp) # 8-byte Folded Spill2115; CHECK-RV64-FDV-NEXT: fsd ft3, 144(sp) # 8-byte Folded Spill2116; CHECK-RV64-FDV-NEXT: fsd ft4, 136(sp) # 8-byte Folded Spill2117; CHECK-RV64-FDV-NEXT: fsd ft5, 128(sp) # 8-byte Folded Spill2118; CHECK-RV64-FDV-NEXT: fsd ft6, 120(sp) # 8-byte Folded Spill2119; CHECK-RV64-FDV-NEXT: fsd ft7, 112(sp) # 8-byte Folded Spill2120; CHECK-RV64-FDV-NEXT: fsd fa0, 104(sp) # 8-byte Folded Spill2121; CHECK-RV64-FDV-NEXT: fsd fa1, 96(sp) # 8-byte Folded Spill2122; CHECK-RV64-FDV-NEXT: fsd fa2, 88(sp) # 8-byte Folded Spill2123; CHECK-RV64-FDV-NEXT: fsd fa3, 80(sp) # 8-byte Folded Spill2124; CHECK-RV64-FDV-NEXT: fsd fa4, 72(sp) # 8-byte Folded Spill2125; CHECK-RV64-FDV-NEXT: fsd fa5, 64(sp) # 8-byte Folded Spill2126; CHECK-RV64-FDV-NEXT: fsd fa6, 56(sp) # 8-byte Folded Spill2127; CHECK-RV64-FDV-NEXT: fsd fa7, 48(sp) # 8-byte Folded Spill2128; CHECK-RV64-FDV-NEXT: fsd ft8, 40(sp) # 8-byte Folded Spill2129; CHECK-RV64-FDV-NEXT: fsd ft9, 32(sp) # 8-byte Folded Spill2130; CHECK-RV64-FDV-NEXT: fsd ft10, 24(sp) # 8-byte Folded Spill2131; CHECK-RV64-FDV-NEXT: fsd ft11, 16(sp) # 8-byte Folded Spill2132; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2133; CHECK-RV64-FDV-NEXT: slli a0, a0, 52134; CHECK-RV64-FDV-NEXT: sub sp, sp, a02135; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2136; CHECK-RV64-FDV-NEXT: slli a0, a0, 32137; CHECK-RV64-FDV-NEXT: mv a1, a02138; CHECK-RV64-FDV-NEXT: slli a0, a0, 12139; CHECK-RV64-FDV-NEXT: add a0, a0, a12140; CHECK-RV64-FDV-NEXT: add a0, sp, a02141; CHECK-RV64-FDV-NEXT: addi a0, a0, 162142; CHECK-RV64-FDV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill2143; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2144; CHECK-RV64-FDV-NEXT: slli a0, a0, 42145; CHECK-RV64-FDV-NEXT: add a0, sp, a02146; CHECK-RV64-FDV-NEXT: addi a0, a0, 162147; CHECK-RV64-FDV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill2148; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2149; CHECK-RV64-FDV-NEXT: slli a0, a0, 32150; CHECK-RV64-FDV-NEXT: add a0, sp, a02151; CHECK-RV64-FDV-NEXT: addi a0, a0, 162152; CHECK-RV64-FDV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill2153; CHECK-RV64-FDV-NEXT: addi a0, sp, 162154; CHECK-RV64-FDV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill2155; CHECK-RV64-FDV-NEXT: call otherfoo2156; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2157; CHECK-RV64-FDV-NEXT: slli a0, a0, 32158; CHECK-RV64-FDV-NEXT: mv a1, a02159; CHECK-RV64-FDV-NEXT: slli a0, a0, 12160; CHECK-RV64-FDV-NEXT: add a0, a0, a12161; CHECK-RV64-FDV-NEXT: add a0, sp, a02162; CHECK-RV64-FDV-NEXT: addi a0, a0, 162163; CHECK-RV64-FDV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload2164; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2165; CHECK-RV64-FDV-NEXT: slli a0, a0, 42166; CHECK-RV64-FDV-NEXT: add a0, sp, a02167; CHECK-RV64-FDV-NEXT: addi a0, a0, 162168; CHECK-RV64-FDV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload2169; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2170; CHECK-RV64-FDV-NEXT: slli a0, a0, 32171; CHECK-RV64-FDV-NEXT: add a0, sp, a02172; CHECK-RV64-FDV-NEXT: addi a0, a0, 162173; CHECK-RV64-FDV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload2174; CHECK-RV64-FDV-NEXT: addi a0, sp, 162175; CHECK-RV64-FDV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload2176; CHECK-RV64-FDV-NEXT: csrr a0, vlenb2177; CHECK-RV64-FDV-NEXT: slli a0, a0, 52178; CHECK-RV64-FDV-NEXT: add sp, sp, a02179; CHECK-RV64-FDV-NEXT: ld ra, 296(sp) # 8-byte Folded Reload2180; CHECK-RV64-FDV-NEXT: ld t0, 288(sp) # 8-byte Folded Reload2181; CHECK-RV64-FDV-NEXT: ld t1, 280(sp) # 8-byte Folded Reload2182; CHECK-RV64-FDV-NEXT: ld t2, 272(sp) # 8-byte Folded Reload2183; CHECK-RV64-FDV-NEXT: ld a0, 264(sp) # 8-byte Folded Reload2184; CHECK-RV64-FDV-NEXT: ld a1, 256(sp) # 8-byte Folded Reload2185; CHECK-RV64-FDV-NEXT: ld a2, 248(sp) # 8-byte Folded Reload2186; CHECK-RV64-FDV-NEXT: ld a3, 240(sp) # 8-byte Folded Reload2187; CHECK-RV64-FDV-NEXT: ld a4, 232(sp) # 8-byte Folded Reload2188; CHECK-RV64-FDV-NEXT: ld a5, 224(sp) # 8-byte Folded Reload2189; CHECK-RV64-FDV-NEXT: ld a6, 216(sp) # 8-byte Folded Reload2190; CHECK-RV64-FDV-NEXT: ld a7, 208(sp) # 8-byte Folded Reload2191; CHECK-RV64-FDV-NEXT: ld t3, 200(sp) # 8-byte Folded Reload2192; CHECK-RV64-FDV-NEXT: ld t4, 192(sp) # 8-byte Folded Reload2193; CHECK-RV64-FDV-NEXT: ld t5, 184(sp) # 8-byte Folded Reload2194; CHECK-RV64-FDV-NEXT: ld t6, 176(sp) # 8-byte Folded Reload2195; CHECK-RV64-FDV-NEXT: fld ft0, 168(sp) # 8-byte Folded Reload2196; CHECK-RV64-FDV-NEXT: fld ft1, 160(sp) # 8-byte Folded Reload2197; CHECK-RV64-FDV-NEXT: fld ft2, 152(sp) # 8-byte Folded Reload2198; CHECK-RV64-FDV-NEXT: fld ft3, 144(sp) # 8-byte Folded Reload2199; CHECK-RV64-FDV-NEXT: fld ft4, 136(sp) # 8-byte Folded Reload2200; CHECK-RV64-FDV-NEXT: fld ft5, 128(sp) # 8-byte Folded Reload2201; CHECK-RV64-FDV-NEXT: fld ft6, 120(sp) # 8-byte Folded Reload2202; CHECK-RV64-FDV-NEXT: fld ft7, 112(sp) # 8-byte Folded Reload2203; CHECK-RV64-FDV-NEXT: fld fa0, 104(sp) # 8-byte Folded Reload2204; CHECK-RV64-FDV-NEXT: fld fa1, 96(sp) # 8-byte Folded Reload2205; CHECK-RV64-FDV-NEXT: fld fa2, 88(sp) # 8-byte Folded Reload2206; CHECK-RV64-FDV-NEXT: fld fa3, 80(sp) # 8-byte Folded Reload2207; CHECK-RV64-FDV-NEXT: fld fa4, 72(sp) # 8-byte Folded Reload2208; CHECK-RV64-FDV-NEXT: fld fa5, 64(sp) # 8-byte Folded Reload2209; CHECK-RV64-FDV-NEXT: fld fa6, 56(sp) # 8-byte Folded Reload2210; CHECK-RV64-FDV-NEXT: fld fa7, 48(sp) # 8-byte Folded Reload2211; CHECK-RV64-FDV-NEXT: fld ft8, 40(sp) # 8-byte Folded Reload2212; CHECK-RV64-FDV-NEXT: fld ft9, 32(sp) # 8-byte Folded Reload2213; CHECK-RV64-FDV-NEXT: fld ft10, 24(sp) # 8-byte Folded Reload2214; CHECK-RV64-FDV-NEXT: fld ft11, 16(sp) # 8-byte Folded Reload2215; CHECK-RV64-FDV-NEXT: addi sp, sp, 3042216; CHECK-RV64-FDV-NEXT: mret2217 %call = call i32 @otherfoo()2218 ret void2219}2220 2221;2222; Additionally check frame pointer and return address are properly saved.2223;2224define void @foo_fp_with_call() #2 {2225;2226; CHECK-RV32-LABEL: foo_fp_with_call:2227; CHECK-RV32: # %bb.0:2228; CHECK-RV32-NEXT: addi sp, sp, -802229; CHECK-RV32-NEXT: sw ra, 76(sp) # 4-byte Folded Spill2230; CHECK-RV32-NEXT: sw t0, 72(sp) # 4-byte Folded Spill2231; CHECK-RV32-NEXT: sw t1, 68(sp) # 4-byte Folded Spill2232; CHECK-RV32-NEXT: sw t2, 64(sp) # 4-byte Folded Spill2233; CHECK-RV32-NEXT: sw s0, 60(sp) # 4-byte Folded Spill2234; CHECK-RV32-NEXT: sw a0, 56(sp) # 4-byte Folded Spill2235; CHECK-RV32-NEXT: sw a1, 52(sp) # 4-byte Folded Spill2236; CHECK-RV32-NEXT: sw a2, 48(sp) # 4-byte Folded Spill2237; CHECK-RV32-NEXT: sw a3, 44(sp) # 4-byte Folded Spill2238; CHECK-RV32-NEXT: sw a4, 40(sp) # 4-byte Folded Spill2239; CHECK-RV32-NEXT: sw a5, 36(sp) # 4-byte Folded Spill2240; CHECK-RV32-NEXT: sw a6, 32(sp) # 4-byte Folded Spill2241; CHECK-RV32-NEXT: sw a7, 28(sp) # 4-byte Folded Spill2242; CHECK-RV32-NEXT: sw t3, 24(sp) # 4-byte Folded Spill2243; CHECK-RV32-NEXT: sw t4, 20(sp) # 4-byte Folded Spill2244; CHECK-RV32-NEXT: sw t5, 16(sp) # 4-byte Folded Spill2245; CHECK-RV32-NEXT: sw t6, 12(sp) # 4-byte Folded Spill2246; CHECK-RV32-NEXT: addi s0, sp, 802247; CHECK-RV32-NEXT: call otherfoo2248; CHECK-RV32-NEXT: lw ra, 76(sp) # 4-byte Folded Reload2249; CHECK-RV32-NEXT: lw t0, 72(sp) # 4-byte Folded Reload2250; CHECK-RV32-NEXT: lw t1, 68(sp) # 4-byte Folded Reload2251; CHECK-RV32-NEXT: lw t2, 64(sp) # 4-byte Folded Reload2252; CHECK-RV32-NEXT: lw s0, 60(sp) # 4-byte Folded Reload2253; CHECK-RV32-NEXT: lw a0, 56(sp) # 4-byte Folded Reload2254; CHECK-RV32-NEXT: lw a1, 52(sp) # 4-byte Folded Reload2255; CHECK-RV32-NEXT: lw a2, 48(sp) # 4-byte Folded Reload2256; CHECK-RV32-NEXT: lw a3, 44(sp) # 4-byte Folded Reload2257; CHECK-RV32-NEXT: lw a4, 40(sp) # 4-byte Folded Reload2258; CHECK-RV32-NEXT: lw a5, 36(sp) # 4-byte Folded Reload2259; CHECK-RV32-NEXT: lw a6, 32(sp) # 4-byte Folded Reload2260; CHECK-RV32-NEXT: lw a7, 28(sp) # 4-byte Folded Reload2261; CHECK-RV32-NEXT: lw t3, 24(sp) # 4-byte Folded Reload2262; CHECK-RV32-NEXT: lw t4, 20(sp) # 4-byte Folded Reload2263; CHECK-RV32-NEXT: lw t5, 16(sp) # 4-byte Folded Reload2264; CHECK-RV32-NEXT: lw t6, 12(sp) # 4-byte Folded Reload2265; CHECK-RV32-NEXT: addi sp, sp, 802266; CHECK-RV32-NEXT: mret2267;2268; CHECK-RV32-F-LABEL: foo_fp_with_call:2269; CHECK-RV32-F: # %bb.0:2270; CHECK-RV32-F-NEXT: addi sp, sp, -1602271; CHECK-RV32-F-NEXT: sw ra, 156(sp) # 4-byte Folded Spill2272; CHECK-RV32-F-NEXT: sw t0, 152(sp) # 4-byte Folded Spill2273; CHECK-RV32-F-NEXT: sw t1, 148(sp) # 4-byte Folded Spill2274; CHECK-RV32-F-NEXT: sw t2, 144(sp) # 4-byte Folded Spill2275; CHECK-RV32-F-NEXT: sw s0, 140(sp) # 4-byte Folded Spill2276; CHECK-RV32-F-NEXT: sw a0, 136(sp) # 4-byte Folded Spill2277; CHECK-RV32-F-NEXT: sw a1, 132(sp) # 4-byte Folded Spill2278; CHECK-RV32-F-NEXT: sw a2, 128(sp) # 4-byte Folded Spill2279; CHECK-RV32-F-NEXT: sw a3, 124(sp) # 4-byte Folded Spill2280; CHECK-RV32-F-NEXT: sw a4, 120(sp) # 4-byte Folded Spill2281; CHECK-RV32-F-NEXT: sw a5, 116(sp) # 4-byte Folded Spill2282; CHECK-RV32-F-NEXT: sw a6, 112(sp) # 4-byte Folded Spill2283; CHECK-RV32-F-NEXT: sw a7, 108(sp) # 4-byte Folded Spill2284; CHECK-RV32-F-NEXT: sw t3, 104(sp) # 4-byte Folded Spill2285; CHECK-RV32-F-NEXT: sw t4, 100(sp) # 4-byte Folded Spill2286; CHECK-RV32-F-NEXT: sw t5, 96(sp) # 4-byte Folded Spill2287; CHECK-RV32-F-NEXT: sw t6, 92(sp) # 4-byte Folded Spill2288; CHECK-RV32-F-NEXT: fsw ft0, 88(sp) # 4-byte Folded Spill2289; CHECK-RV32-F-NEXT: fsw ft1, 84(sp) # 4-byte Folded Spill2290; CHECK-RV32-F-NEXT: fsw ft2, 80(sp) # 4-byte Folded Spill2291; CHECK-RV32-F-NEXT: fsw ft3, 76(sp) # 4-byte Folded Spill2292; CHECK-RV32-F-NEXT: fsw ft4, 72(sp) # 4-byte Folded Spill2293; CHECK-RV32-F-NEXT: fsw ft5, 68(sp) # 4-byte Folded Spill2294; CHECK-RV32-F-NEXT: fsw ft6, 64(sp) # 4-byte Folded Spill2295; CHECK-RV32-F-NEXT: fsw ft7, 60(sp) # 4-byte Folded Spill2296; CHECK-RV32-F-NEXT: fsw fa0, 56(sp) # 4-byte Folded Spill2297; CHECK-RV32-F-NEXT: fsw fa1, 52(sp) # 4-byte Folded Spill2298; CHECK-RV32-F-NEXT: fsw fa2, 48(sp) # 4-byte Folded Spill2299; CHECK-RV32-F-NEXT: fsw fa3, 44(sp) # 4-byte Folded Spill2300; CHECK-RV32-F-NEXT: fsw fa4, 40(sp) # 4-byte Folded Spill2301; CHECK-RV32-F-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill2302; CHECK-RV32-F-NEXT: fsw fa6, 32(sp) # 4-byte Folded Spill2303; CHECK-RV32-F-NEXT: fsw fa7, 28(sp) # 4-byte Folded Spill2304; CHECK-RV32-F-NEXT: fsw ft8, 24(sp) # 4-byte Folded Spill2305; CHECK-RV32-F-NEXT: fsw ft9, 20(sp) # 4-byte Folded Spill2306; CHECK-RV32-F-NEXT: fsw ft10, 16(sp) # 4-byte Folded Spill2307; CHECK-RV32-F-NEXT: fsw ft11, 12(sp) # 4-byte Folded Spill2308; CHECK-RV32-F-NEXT: addi s0, sp, 1602309; CHECK-RV32-F-NEXT: call otherfoo2310; CHECK-RV32-F-NEXT: lw ra, 156(sp) # 4-byte Folded Reload2311; CHECK-RV32-F-NEXT: lw t0, 152(sp) # 4-byte Folded Reload2312; CHECK-RV32-F-NEXT: lw t1, 148(sp) # 4-byte Folded Reload2313; CHECK-RV32-F-NEXT: lw t2, 144(sp) # 4-byte Folded Reload2314; CHECK-RV32-F-NEXT: lw s0, 140(sp) # 4-byte Folded Reload2315; CHECK-RV32-F-NEXT: lw a0, 136(sp) # 4-byte Folded Reload2316; CHECK-RV32-F-NEXT: lw a1, 132(sp) # 4-byte Folded Reload2317; CHECK-RV32-F-NEXT: lw a2, 128(sp) # 4-byte Folded Reload2318; CHECK-RV32-F-NEXT: lw a3, 124(sp) # 4-byte Folded Reload2319; CHECK-RV32-F-NEXT: lw a4, 120(sp) # 4-byte Folded Reload2320; CHECK-RV32-F-NEXT: lw a5, 116(sp) # 4-byte Folded Reload2321; CHECK-RV32-F-NEXT: lw a6, 112(sp) # 4-byte Folded Reload2322; CHECK-RV32-F-NEXT: lw a7, 108(sp) # 4-byte Folded Reload2323; CHECK-RV32-F-NEXT: lw t3, 104(sp) # 4-byte Folded Reload2324; CHECK-RV32-F-NEXT: lw t4, 100(sp) # 4-byte Folded Reload2325; CHECK-RV32-F-NEXT: lw t5, 96(sp) # 4-byte Folded Reload2326; CHECK-RV32-F-NEXT: lw t6, 92(sp) # 4-byte Folded Reload2327; CHECK-RV32-F-NEXT: flw ft0, 88(sp) # 4-byte Folded Reload2328; CHECK-RV32-F-NEXT: flw ft1, 84(sp) # 4-byte Folded Reload2329; CHECK-RV32-F-NEXT: flw ft2, 80(sp) # 4-byte Folded Reload2330; CHECK-RV32-F-NEXT: flw ft3, 76(sp) # 4-byte Folded Reload2331; CHECK-RV32-F-NEXT: flw ft4, 72(sp) # 4-byte Folded Reload2332; CHECK-RV32-F-NEXT: flw ft5, 68(sp) # 4-byte Folded Reload2333; CHECK-RV32-F-NEXT: flw ft6, 64(sp) # 4-byte Folded Reload2334; CHECK-RV32-F-NEXT: flw ft7, 60(sp) # 4-byte Folded Reload2335; CHECK-RV32-F-NEXT: flw fa0, 56(sp) # 4-byte Folded Reload2336; CHECK-RV32-F-NEXT: flw fa1, 52(sp) # 4-byte Folded Reload2337; CHECK-RV32-F-NEXT: flw fa2, 48(sp) # 4-byte Folded Reload2338; CHECK-RV32-F-NEXT: flw fa3, 44(sp) # 4-byte Folded Reload2339; CHECK-RV32-F-NEXT: flw fa4, 40(sp) # 4-byte Folded Reload2340; CHECK-RV32-F-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload2341; CHECK-RV32-F-NEXT: flw fa6, 32(sp) # 4-byte Folded Reload2342; CHECK-RV32-F-NEXT: flw fa7, 28(sp) # 4-byte Folded Reload2343; CHECK-RV32-F-NEXT: flw ft8, 24(sp) # 4-byte Folded Reload2344; CHECK-RV32-F-NEXT: flw ft9, 20(sp) # 4-byte Folded Reload2345; CHECK-RV32-F-NEXT: flw ft10, 16(sp) # 4-byte Folded Reload2346; CHECK-RV32-F-NEXT: flw ft11, 12(sp) # 4-byte Folded Reload2347; CHECK-RV32-F-NEXT: addi sp, sp, 1602348; CHECK-RV32-F-NEXT: mret2349;2350; CHECK-RV32-FD-LABEL: foo_fp_with_call:2351; CHECK-RV32-FD: # %bb.0:2352; CHECK-RV32-FD-NEXT: addi sp, sp, -2402353; CHECK-RV32-FD-NEXT: sw ra, 236(sp) # 4-byte Folded Spill2354; CHECK-RV32-FD-NEXT: sw t0, 232(sp) # 4-byte Folded Spill2355; CHECK-RV32-FD-NEXT: sw t1, 228(sp) # 4-byte Folded Spill2356; CHECK-RV32-FD-NEXT: sw t2, 224(sp) # 4-byte Folded Spill2357; CHECK-RV32-FD-NEXT: sw s0, 220(sp) # 4-byte Folded Spill2358; CHECK-RV32-FD-NEXT: sw a0, 216(sp) # 4-byte Folded Spill2359; CHECK-RV32-FD-NEXT: sw a1, 212(sp) # 4-byte Folded Spill2360; CHECK-RV32-FD-NEXT: sw a2, 208(sp) # 4-byte Folded Spill2361; CHECK-RV32-FD-NEXT: sw a3, 204(sp) # 4-byte Folded Spill2362; CHECK-RV32-FD-NEXT: sw a4, 200(sp) # 4-byte Folded Spill2363; CHECK-RV32-FD-NEXT: sw a5, 196(sp) # 4-byte Folded Spill2364; CHECK-RV32-FD-NEXT: sw a6, 192(sp) # 4-byte Folded Spill2365; CHECK-RV32-FD-NEXT: sw a7, 188(sp) # 4-byte Folded Spill2366; CHECK-RV32-FD-NEXT: sw t3, 184(sp) # 4-byte Folded Spill2367; CHECK-RV32-FD-NEXT: sw t4, 180(sp) # 4-byte Folded Spill2368; CHECK-RV32-FD-NEXT: sw t5, 176(sp) # 4-byte Folded Spill2369; CHECK-RV32-FD-NEXT: sw t6, 172(sp) # 4-byte Folded Spill2370; CHECK-RV32-FD-NEXT: fsd ft0, 160(sp) # 8-byte Folded Spill2371; CHECK-RV32-FD-NEXT: fsd ft1, 152(sp) # 8-byte Folded Spill2372; CHECK-RV32-FD-NEXT: fsd ft2, 144(sp) # 8-byte Folded Spill2373; CHECK-RV32-FD-NEXT: fsd ft3, 136(sp) # 8-byte Folded Spill2374; CHECK-RV32-FD-NEXT: fsd ft4, 128(sp) # 8-byte Folded Spill2375; CHECK-RV32-FD-NEXT: fsd ft5, 120(sp) # 8-byte Folded Spill2376; CHECK-RV32-FD-NEXT: fsd ft6, 112(sp) # 8-byte Folded Spill2377; CHECK-RV32-FD-NEXT: fsd ft7, 104(sp) # 8-byte Folded Spill2378; CHECK-RV32-FD-NEXT: fsd fa0, 96(sp) # 8-byte Folded Spill2379; CHECK-RV32-FD-NEXT: fsd fa1, 88(sp) # 8-byte Folded Spill2380; CHECK-RV32-FD-NEXT: fsd fa2, 80(sp) # 8-byte Folded Spill2381; CHECK-RV32-FD-NEXT: fsd fa3, 72(sp) # 8-byte Folded Spill2382; CHECK-RV32-FD-NEXT: fsd fa4, 64(sp) # 8-byte Folded Spill2383; CHECK-RV32-FD-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill2384; CHECK-RV32-FD-NEXT: fsd fa6, 48(sp) # 8-byte Folded Spill2385; CHECK-RV32-FD-NEXT: fsd fa7, 40(sp) # 8-byte Folded Spill2386; CHECK-RV32-FD-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill2387; CHECK-RV32-FD-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill2388; CHECK-RV32-FD-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill2389; CHECK-RV32-FD-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill2390; CHECK-RV32-FD-NEXT: addi s0, sp, 2402391; CHECK-RV32-FD-NEXT: call otherfoo2392; CHECK-RV32-FD-NEXT: lw ra, 236(sp) # 4-byte Folded Reload2393; CHECK-RV32-FD-NEXT: lw t0, 232(sp) # 4-byte Folded Reload2394; CHECK-RV32-FD-NEXT: lw t1, 228(sp) # 4-byte Folded Reload2395; CHECK-RV32-FD-NEXT: lw t2, 224(sp) # 4-byte Folded Reload2396; CHECK-RV32-FD-NEXT: lw s0, 220(sp) # 4-byte Folded Reload2397; CHECK-RV32-FD-NEXT: lw a0, 216(sp) # 4-byte Folded Reload2398; CHECK-RV32-FD-NEXT: lw a1, 212(sp) # 4-byte Folded Reload2399; CHECK-RV32-FD-NEXT: lw a2, 208(sp) # 4-byte Folded Reload2400; CHECK-RV32-FD-NEXT: lw a3, 204(sp) # 4-byte Folded Reload2401; CHECK-RV32-FD-NEXT: lw a4, 200(sp) # 4-byte Folded Reload2402; CHECK-RV32-FD-NEXT: lw a5, 196(sp) # 4-byte Folded Reload2403; CHECK-RV32-FD-NEXT: lw a6, 192(sp) # 4-byte Folded Reload2404; CHECK-RV32-FD-NEXT: lw a7, 188(sp) # 4-byte Folded Reload2405; CHECK-RV32-FD-NEXT: lw t3, 184(sp) # 4-byte Folded Reload2406; CHECK-RV32-FD-NEXT: lw t4, 180(sp) # 4-byte Folded Reload2407; CHECK-RV32-FD-NEXT: lw t5, 176(sp) # 4-byte Folded Reload2408; CHECK-RV32-FD-NEXT: lw t6, 172(sp) # 4-byte Folded Reload2409; CHECK-RV32-FD-NEXT: fld ft0, 160(sp) # 8-byte Folded Reload2410; CHECK-RV32-FD-NEXT: fld ft1, 152(sp) # 8-byte Folded Reload2411; CHECK-RV32-FD-NEXT: fld ft2, 144(sp) # 8-byte Folded Reload2412; CHECK-RV32-FD-NEXT: fld ft3, 136(sp) # 8-byte Folded Reload2413; CHECK-RV32-FD-NEXT: fld ft4, 128(sp) # 8-byte Folded Reload2414; CHECK-RV32-FD-NEXT: fld ft5, 120(sp) # 8-byte Folded Reload2415; CHECK-RV32-FD-NEXT: fld ft6, 112(sp) # 8-byte Folded Reload2416; CHECK-RV32-FD-NEXT: fld ft7, 104(sp) # 8-byte Folded Reload2417; CHECK-RV32-FD-NEXT: fld fa0, 96(sp) # 8-byte Folded Reload2418; CHECK-RV32-FD-NEXT: fld fa1, 88(sp) # 8-byte Folded Reload2419; CHECK-RV32-FD-NEXT: fld fa2, 80(sp) # 8-byte Folded Reload2420; CHECK-RV32-FD-NEXT: fld fa3, 72(sp) # 8-byte Folded Reload2421; CHECK-RV32-FD-NEXT: fld fa4, 64(sp) # 8-byte Folded Reload2422; CHECK-RV32-FD-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload2423; CHECK-RV32-FD-NEXT: fld fa6, 48(sp) # 8-byte Folded Reload2424; CHECK-RV32-FD-NEXT: fld fa7, 40(sp) # 8-byte Folded Reload2425; CHECK-RV32-FD-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload2426; CHECK-RV32-FD-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload2427; CHECK-RV32-FD-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload2428; CHECK-RV32-FD-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload2429; CHECK-RV32-FD-NEXT: addi sp, sp, 2402430; CHECK-RV32-FD-NEXT: mret2431;2432; CHECK-RV32-F-ILP3-LABEL: foo_fp_with_call:2433; CHECK-RV32-F-ILP3: # %bb.0:2434; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, -2082435; CHECK-RV32-F-ILP3-NEXT: sw ra, 204(sp) # 4-byte Folded Spill2436; CHECK-RV32-F-ILP3-NEXT: sw t0, 200(sp) # 4-byte Folded Spill2437; CHECK-RV32-F-ILP3-NEXT: sw t1, 196(sp) # 4-byte Folded Spill2438; CHECK-RV32-F-ILP3-NEXT: sw t2, 192(sp) # 4-byte Folded Spill2439; CHECK-RV32-F-ILP3-NEXT: sw s0, 188(sp) # 4-byte Folded Spill2440; CHECK-RV32-F-ILP3-NEXT: sw a0, 184(sp) # 4-byte Folded Spill2441; CHECK-RV32-F-ILP3-NEXT: sw a1, 180(sp) # 4-byte Folded Spill2442; CHECK-RV32-F-ILP3-NEXT: sw a2, 176(sp) # 4-byte Folded Spill2443; CHECK-RV32-F-ILP3-NEXT: sw a3, 172(sp) # 4-byte Folded Spill2444; CHECK-RV32-F-ILP3-NEXT: sw a4, 168(sp) # 4-byte Folded Spill2445; CHECK-RV32-F-ILP3-NEXT: sw a5, 164(sp) # 4-byte Folded Spill2446; CHECK-RV32-F-ILP3-NEXT: sw a6, 160(sp) # 4-byte Folded Spill2447; CHECK-RV32-F-ILP3-NEXT: sw a7, 156(sp) # 4-byte Folded Spill2448; CHECK-RV32-F-ILP3-NEXT: sw t3, 152(sp) # 4-byte Folded Spill2449; CHECK-RV32-F-ILP3-NEXT: sw t4, 148(sp) # 4-byte Folded Spill2450; CHECK-RV32-F-ILP3-NEXT: sw t5, 144(sp) # 4-byte Folded Spill2451; CHECK-RV32-F-ILP3-NEXT: sw t6, 140(sp) # 4-byte Folded Spill2452; CHECK-RV32-F-ILP3-NEXT: fsw ft0, 136(sp) # 4-byte Folded Spill2453; CHECK-RV32-F-ILP3-NEXT: fsw ft1, 132(sp) # 4-byte Folded Spill2454; CHECK-RV32-F-ILP3-NEXT: fsw ft2, 128(sp) # 4-byte Folded Spill2455; CHECK-RV32-F-ILP3-NEXT: fsw ft3, 124(sp) # 4-byte Folded Spill2456; CHECK-RV32-F-ILP3-NEXT: fsw ft4, 120(sp) # 4-byte Folded Spill2457; CHECK-RV32-F-ILP3-NEXT: fsw ft5, 116(sp) # 4-byte Folded Spill2458; CHECK-RV32-F-ILP3-NEXT: fsw ft6, 112(sp) # 4-byte Folded Spill2459; CHECK-RV32-F-ILP3-NEXT: fsw ft7, 108(sp) # 4-byte Folded Spill2460; CHECK-RV32-F-ILP3-NEXT: fsw fs0, 104(sp) # 4-byte Folded Spill2461; CHECK-RV32-F-ILP3-NEXT: fsw fs1, 100(sp) # 4-byte Folded Spill2462; CHECK-RV32-F-ILP3-NEXT: fsw fa0, 96(sp) # 4-byte Folded Spill2463; CHECK-RV32-F-ILP3-NEXT: fsw fa1, 92(sp) # 4-byte Folded Spill2464; CHECK-RV32-F-ILP3-NEXT: fsw fa2, 88(sp) # 4-byte Folded Spill2465; CHECK-RV32-F-ILP3-NEXT: fsw fa3, 84(sp) # 4-byte Folded Spill2466; CHECK-RV32-F-ILP3-NEXT: fsw fa4, 80(sp) # 4-byte Folded Spill2467; CHECK-RV32-F-ILP3-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill2468; CHECK-RV32-F-ILP3-NEXT: fsw fa6, 72(sp) # 4-byte Folded Spill2469; CHECK-RV32-F-ILP3-NEXT: fsw fa7, 68(sp) # 4-byte Folded Spill2470; CHECK-RV32-F-ILP3-NEXT: fsw fs2, 64(sp) # 4-byte Folded Spill2471; CHECK-RV32-F-ILP3-NEXT: fsw fs3, 60(sp) # 4-byte Folded Spill2472; CHECK-RV32-F-ILP3-NEXT: fsw fs4, 56(sp) # 4-byte Folded Spill2473; CHECK-RV32-F-ILP3-NEXT: fsw fs5, 52(sp) # 4-byte Folded Spill2474; CHECK-RV32-F-ILP3-NEXT: fsw fs6, 48(sp) # 4-byte Folded Spill2475; CHECK-RV32-F-ILP3-NEXT: fsw fs7, 44(sp) # 4-byte Folded Spill2476; CHECK-RV32-F-ILP3-NEXT: fsw fs8, 40(sp) # 4-byte Folded Spill2477; CHECK-RV32-F-ILP3-NEXT: fsw fs9, 36(sp) # 4-byte Folded Spill2478; CHECK-RV32-F-ILP3-NEXT: fsw fs10, 32(sp) # 4-byte Folded Spill2479; CHECK-RV32-F-ILP3-NEXT: fsw fs11, 28(sp) # 4-byte Folded Spill2480; CHECK-RV32-F-ILP3-NEXT: fsw ft8, 24(sp) # 4-byte Folded Spill2481; CHECK-RV32-F-ILP3-NEXT: fsw ft9, 20(sp) # 4-byte Folded Spill2482; CHECK-RV32-F-ILP3-NEXT: fsw ft10, 16(sp) # 4-byte Folded Spill2483; CHECK-RV32-F-ILP3-NEXT: fsw ft11, 12(sp) # 4-byte Folded Spill2484; CHECK-RV32-F-ILP3-NEXT: addi s0, sp, 2082485; CHECK-RV32-F-ILP3-NEXT: call otherfoo2486; CHECK-RV32-F-ILP3-NEXT: lw ra, 204(sp) # 4-byte Folded Reload2487; CHECK-RV32-F-ILP3-NEXT: lw t0, 200(sp) # 4-byte Folded Reload2488; CHECK-RV32-F-ILP3-NEXT: lw t1, 196(sp) # 4-byte Folded Reload2489; CHECK-RV32-F-ILP3-NEXT: lw t2, 192(sp) # 4-byte Folded Reload2490; CHECK-RV32-F-ILP3-NEXT: lw s0, 188(sp) # 4-byte Folded Reload2491; CHECK-RV32-F-ILP3-NEXT: lw a0, 184(sp) # 4-byte Folded Reload2492; CHECK-RV32-F-ILP3-NEXT: lw a1, 180(sp) # 4-byte Folded Reload2493; CHECK-RV32-F-ILP3-NEXT: lw a2, 176(sp) # 4-byte Folded Reload2494; CHECK-RV32-F-ILP3-NEXT: lw a3, 172(sp) # 4-byte Folded Reload2495; CHECK-RV32-F-ILP3-NEXT: lw a4, 168(sp) # 4-byte Folded Reload2496; CHECK-RV32-F-ILP3-NEXT: lw a5, 164(sp) # 4-byte Folded Reload2497; CHECK-RV32-F-ILP3-NEXT: lw a6, 160(sp) # 4-byte Folded Reload2498; CHECK-RV32-F-ILP3-NEXT: lw a7, 156(sp) # 4-byte Folded Reload2499; CHECK-RV32-F-ILP3-NEXT: lw t3, 152(sp) # 4-byte Folded Reload2500; CHECK-RV32-F-ILP3-NEXT: lw t4, 148(sp) # 4-byte Folded Reload2501; CHECK-RV32-F-ILP3-NEXT: lw t5, 144(sp) # 4-byte Folded Reload2502; CHECK-RV32-F-ILP3-NEXT: lw t6, 140(sp) # 4-byte Folded Reload2503; CHECK-RV32-F-ILP3-NEXT: flw ft0, 136(sp) # 4-byte Folded Reload2504; CHECK-RV32-F-ILP3-NEXT: flw ft1, 132(sp) # 4-byte Folded Reload2505; CHECK-RV32-F-ILP3-NEXT: flw ft2, 128(sp) # 4-byte Folded Reload2506; CHECK-RV32-F-ILP3-NEXT: flw ft3, 124(sp) # 4-byte Folded Reload2507; CHECK-RV32-F-ILP3-NEXT: flw ft4, 120(sp) # 4-byte Folded Reload2508; CHECK-RV32-F-ILP3-NEXT: flw ft5, 116(sp) # 4-byte Folded Reload2509; CHECK-RV32-F-ILP3-NEXT: flw ft6, 112(sp) # 4-byte Folded Reload2510; CHECK-RV32-F-ILP3-NEXT: flw ft7, 108(sp) # 4-byte Folded Reload2511; CHECK-RV32-F-ILP3-NEXT: flw fs0, 104(sp) # 4-byte Folded Reload2512; CHECK-RV32-F-ILP3-NEXT: flw fs1, 100(sp) # 4-byte Folded Reload2513; CHECK-RV32-F-ILP3-NEXT: flw fa0, 96(sp) # 4-byte Folded Reload2514; CHECK-RV32-F-ILP3-NEXT: flw fa1, 92(sp) # 4-byte Folded Reload2515; CHECK-RV32-F-ILP3-NEXT: flw fa2, 88(sp) # 4-byte Folded Reload2516; CHECK-RV32-F-ILP3-NEXT: flw fa3, 84(sp) # 4-byte Folded Reload2517; CHECK-RV32-F-ILP3-NEXT: flw fa4, 80(sp) # 4-byte Folded Reload2518; CHECK-RV32-F-ILP3-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload2519; CHECK-RV32-F-ILP3-NEXT: flw fa6, 72(sp) # 4-byte Folded Reload2520; CHECK-RV32-F-ILP3-NEXT: flw fa7, 68(sp) # 4-byte Folded Reload2521; CHECK-RV32-F-ILP3-NEXT: flw fs2, 64(sp) # 4-byte Folded Reload2522; CHECK-RV32-F-ILP3-NEXT: flw fs3, 60(sp) # 4-byte Folded Reload2523; CHECK-RV32-F-ILP3-NEXT: flw fs4, 56(sp) # 4-byte Folded Reload2524; CHECK-RV32-F-ILP3-NEXT: flw fs5, 52(sp) # 4-byte Folded Reload2525; CHECK-RV32-F-ILP3-NEXT: flw fs6, 48(sp) # 4-byte Folded Reload2526; CHECK-RV32-F-ILP3-NEXT: flw fs7, 44(sp) # 4-byte Folded Reload2527; CHECK-RV32-F-ILP3-NEXT: flw fs8, 40(sp) # 4-byte Folded Reload2528; CHECK-RV32-F-ILP3-NEXT: flw fs9, 36(sp) # 4-byte Folded Reload2529; CHECK-RV32-F-ILP3-NEXT: flw fs10, 32(sp) # 4-byte Folded Reload2530; CHECK-RV32-F-ILP3-NEXT: flw fs11, 28(sp) # 4-byte Folded Reload2531; CHECK-RV32-F-ILP3-NEXT: flw ft8, 24(sp) # 4-byte Folded Reload2532; CHECK-RV32-F-ILP3-NEXT: flw ft9, 20(sp) # 4-byte Folded Reload2533; CHECK-RV32-F-ILP3-NEXT: flw ft10, 16(sp) # 4-byte Folded Reload2534; CHECK-RV32-F-ILP3-NEXT: flw ft11, 12(sp) # 4-byte Folded Reload2535; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, 2082536; CHECK-RV32-F-ILP3-NEXT: mret2537;2538; CHECK-RV32-FD-ILP32F-LABEL: foo_fp_with_call:2539; CHECK-RV32-FD-ILP32F: # %bb.0:2540; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, -3362541; CHECK-RV32-FD-ILP32F-NEXT: sw ra, 332(sp) # 4-byte Folded Spill2542; CHECK-RV32-FD-ILP32F-NEXT: sw t0, 328(sp) # 4-byte Folded Spill2543; CHECK-RV32-FD-ILP32F-NEXT: sw t1, 324(sp) # 4-byte Folded Spill2544; CHECK-RV32-FD-ILP32F-NEXT: sw t2, 320(sp) # 4-byte Folded Spill2545; CHECK-RV32-FD-ILP32F-NEXT: sw s0, 316(sp) # 4-byte Folded Spill2546; CHECK-RV32-FD-ILP32F-NEXT: sw a0, 312(sp) # 4-byte Folded Spill2547; CHECK-RV32-FD-ILP32F-NEXT: sw a1, 308(sp) # 4-byte Folded Spill2548; CHECK-RV32-FD-ILP32F-NEXT: sw a2, 304(sp) # 4-byte Folded Spill2549; CHECK-RV32-FD-ILP32F-NEXT: sw a3, 300(sp) # 4-byte Folded Spill2550; CHECK-RV32-FD-ILP32F-NEXT: sw a4, 296(sp) # 4-byte Folded Spill2551; CHECK-RV32-FD-ILP32F-NEXT: sw a5, 292(sp) # 4-byte Folded Spill2552; CHECK-RV32-FD-ILP32F-NEXT: sw a6, 288(sp) # 4-byte Folded Spill2553; CHECK-RV32-FD-ILP32F-NEXT: sw a7, 284(sp) # 4-byte Folded Spill2554; CHECK-RV32-FD-ILP32F-NEXT: sw t3, 280(sp) # 4-byte Folded Spill2555; CHECK-RV32-FD-ILP32F-NEXT: sw t4, 276(sp) # 4-byte Folded Spill2556; CHECK-RV32-FD-ILP32F-NEXT: sw t5, 272(sp) # 4-byte Folded Spill2557; CHECK-RV32-FD-ILP32F-NEXT: sw t6, 268(sp) # 4-byte Folded Spill2558; CHECK-RV32-FD-ILP32F-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill2559; CHECK-RV32-FD-ILP32F-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill2560; CHECK-RV32-FD-ILP32F-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill2561; CHECK-RV32-FD-ILP32F-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill2562; CHECK-RV32-FD-ILP32F-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill2563; CHECK-RV32-FD-ILP32F-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill2564; CHECK-RV32-FD-ILP32F-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill2565; CHECK-RV32-FD-ILP32F-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill2566; CHECK-RV32-FD-ILP32F-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill2567; CHECK-RV32-FD-ILP32F-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill2568; CHECK-RV32-FD-ILP32F-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill2569; CHECK-RV32-FD-ILP32F-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill2570; CHECK-RV32-FD-ILP32F-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill2571; CHECK-RV32-FD-ILP32F-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill2572; CHECK-RV32-FD-ILP32F-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill2573; CHECK-RV32-FD-ILP32F-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill2574; CHECK-RV32-FD-ILP32F-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill2575; CHECK-RV32-FD-ILP32F-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill2576; CHECK-RV32-FD-ILP32F-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill2577; CHECK-RV32-FD-ILP32F-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill2578; CHECK-RV32-FD-ILP32F-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill2579; CHECK-RV32-FD-ILP32F-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill2580; CHECK-RV32-FD-ILP32F-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill2581; CHECK-RV32-FD-ILP32F-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill2582; CHECK-RV32-FD-ILP32F-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill2583; CHECK-RV32-FD-ILP32F-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill2584; CHECK-RV32-FD-ILP32F-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill2585; CHECK-RV32-FD-ILP32F-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill2586; CHECK-RV32-FD-ILP32F-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill2587; CHECK-RV32-FD-ILP32F-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill2588; CHECK-RV32-FD-ILP32F-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill2589; CHECK-RV32-FD-ILP32F-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill2590; CHECK-RV32-FD-ILP32F-NEXT: addi s0, sp, 3362591; CHECK-RV32-FD-ILP32F-NEXT: call otherfoo2592; CHECK-RV32-FD-ILP32F-NEXT: lw ra, 332(sp) # 4-byte Folded Reload2593; CHECK-RV32-FD-ILP32F-NEXT: lw t0, 328(sp) # 4-byte Folded Reload2594; CHECK-RV32-FD-ILP32F-NEXT: lw t1, 324(sp) # 4-byte Folded Reload2595; CHECK-RV32-FD-ILP32F-NEXT: lw t2, 320(sp) # 4-byte Folded Reload2596; CHECK-RV32-FD-ILP32F-NEXT: lw s0, 316(sp) # 4-byte Folded Reload2597; CHECK-RV32-FD-ILP32F-NEXT: lw a0, 312(sp) # 4-byte Folded Reload2598; CHECK-RV32-FD-ILP32F-NEXT: lw a1, 308(sp) # 4-byte Folded Reload2599; CHECK-RV32-FD-ILP32F-NEXT: lw a2, 304(sp) # 4-byte Folded Reload2600; CHECK-RV32-FD-ILP32F-NEXT: lw a3, 300(sp) # 4-byte Folded Reload2601; CHECK-RV32-FD-ILP32F-NEXT: lw a4, 296(sp) # 4-byte Folded Reload2602; CHECK-RV32-FD-ILP32F-NEXT: lw a5, 292(sp) # 4-byte Folded Reload2603; CHECK-RV32-FD-ILP32F-NEXT: lw a6, 288(sp) # 4-byte Folded Reload2604; CHECK-RV32-FD-ILP32F-NEXT: lw a7, 284(sp) # 4-byte Folded Reload2605; CHECK-RV32-FD-ILP32F-NEXT: lw t3, 280(sp) # 4-byte Folded Reload2606; CHECK-RV32-FD-ILP32F-NEXT: lw t4, 276(sp) # 4-byte Folded Reload2607; CHECK-RV32-FD-ILP32F-NEXT: lw t5, 272(sp) # 4-byte Folded Reload2608; CHECK-RV32-FD-ILP32F-NEXT: lw t6, 268(sp) # 4-byte Folded Reload2609; CHECK-RV32-FD-ILP32F-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload2610; CHECK-RV32-FD-ILP32F-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload2611; CHECK-RV32-FD-ILP32F-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload2612; CHECK-RV32-FD-ILP32F-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload2613; CHECK-RV32-FD-ILP32F-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload2614; CHECK-RV32-FD-ILP32F-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload2615; CHECK-RV32-FD-ILP32F-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload2616; CHECK-RV32-FD-ILP32F-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload2617; CHECK-RV32-FD-ILP32F-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload2618; CHECK-RV32-FD-ILP32F-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload2619; CHECK-RV32-FD-ILP32F-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload2620; CHECK-RV32-FD-ILP32F-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload2621; CHECK-RV32-FD-ILP32F-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload2622; CHECK-RV32-FD-ILP32F-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload2623; CHECK-RV32-FD-ILP32F-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload2624; CHECK-RV32-FD-ILP32F-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload2625; CHECK-RV32-FD-ILP32F-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload2626; CHECK-RV32-FD-ILP32F-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload2627; CHECK-RV32-FD-ILP32F-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload2628; CHECK-RV32-FD-ILP32F-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload2629; CHECK-RV32-FD-ILP32F-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload2630; CHECK-RV32-FD-ILP32F-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload2631; CHECK-RV32-FD-ILP32F-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload2632; CHECK-RV32-FD-ILP32F-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload2633; CHECK-RV32-FD-ILP32F-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload2634; CHECK-RV32-FD-ILP32F-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload2635; CHECK-RV32-FD-ILP32F-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload2636; CHECK-RV32-FD-ILP32F-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload2637; CHECK-RV32-FD-ILP32F-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload2638; CHECK-RV32-FD-ILP32F-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload2639; CHECK-RV32-FD-ILP32F-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload2640; CHECK-RV32-FD-ILP32F-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload2641; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, 3362642; CHECK-RV32-FD-ILP32F-NEXT: mret2643;2644; CHECK-RV32-FD-ILP32-LABEL: foo_fp_with_call:2645; CHECK-RV32-FD-ILP32: # %bb.0:2646; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, -3362647; CHECK-RV32-FD-ILP32-NEXT: sw ra, 332(sp) # 4-byte Folded Spill2648; CHECK-RV32-FD-ILP32-NEXT: sw t0, 328(sp) # 4-byte Folded Spill2649; CHECK-RV32-FD-ILP32-NEXT: sw t1, 324(sp) # 4-byte Folded Spill2650; CHECK-RV32-FD-ILP32-NEXT: sw t2, 320(sp) # 4-byte Folded Spill2651; CHECK-RV32-FD-ILP32-NEXT: sw s0, 316(sp) # 4-byte Folded Spill2652; CHECK-RV32-FD-ILP32-NEXT: sw a0, 312(sp) # 4-byte Folded Spill2653; CHECK-RV32-FD-ILP32-NEXT: sw a1, 308(sp) # 4-byte Folded Spill2654; CHECK-RV32-FD-ILP32-NEXT: sw a2, 304(sp) # 4-byte Folded Spill2655; CHECK-RV32-FD-ILP32-NEXT: sw a3, 300(sp) # 4-byte Folded Spill2656; CHECK-RV32-FD-ILP32-NEXT: sw a4, 296(sp) # 4-byte Folded Spill2657; CHECK-RV32-FD-ILP32-NEXT: sw a5, 292(sp) # 4-byte Folded Spill2658; CHECK-RV32-FD-ILP32-NEXT: sw a6, 288(sp) # 4-byte Folded Spill2659; CHECK-RV32-FD-ILP32-NEXT: sw a7, 284(sp) # 4-byte Folded Spill2660; CHECK-RV32-FD-ILP32-NEXT: sw t3, 280(sp) # 4-byte Folded Spill2661; CHECK-RV32-FD-ILP32-NEXT: sw t4, 276(sp) # 4-byte Folded Spill2662; CHECK-RV32-FD-ILP32-NEXT: sw t5, 272(sp) # 4-byte Folded Spill2663; CHECK-RV32-FD-ILP32-NEXT: sw t6, 268(sp) # 4-byte Folded Spill2664; CHECK-RV32-FD-ILP32-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill2665; CHECK-RV32-FD-ILP32-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill2666; CHECK-RV32-FD-ILP32-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill2667; CHECK-RV32-FD-ILP32-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill2668; CHECK-RV32-FD-ILP32-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill2669; CHECK-RV32-FD-ILP32-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill2670; CHECK-RV32-FD-ILP32-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill2671; CHECK-RV32-FD-ILP32-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill2672; CHECK-RV32-FD-ILP32-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill2673; CHECK-RV32-FD-ILP32-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill2674; CHECK-RV32-FD-ILP32-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill2675; CHECK-RV32-FD-ILP32-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill2676; CHECK-RV32-FD-ILP32-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill2677; CHECK-RV32-FD-ILP32-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill2678; CHECK-RV32-FD-ILP32-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill2679; CHECK-RV32-FD-ILP32-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill2680; CHECK-RV32-FD-ILP32-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill2681; CHECK-RV32-FD-ILP32-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill2682; CHECK-RV32-FD-ILP32-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill2683; CHECK-RV32-FD-ILP32-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill2684; CHECK-RV32-FD-ILP32-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill2685; CHECK-RV32-FD-ILP32-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill2686; CHECK-RV32-FD-ILP32-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill2687; CHECK-RV32-FD-ILP32-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill2688; CHECK-RV32-FD-ILP32-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill2689; CHECK-RV32-FD-ILP32-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill2690; CHECK-RV32-FD-ILP32-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill2691; CHECK-RV32-FD-ILP32-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill2692; CHECK-RV32-FD-ILP32-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill2693; CHECK-RV32-FD-ILP32-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill2694; CHECK-RV32-FD-ILP32-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill2695; CHECK-RV32-FD-ILP32-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill2696; CHECK-RV32-FD-ILP32-NEXT: addi s0, sp, 3362697; CHECK-RV32-FD-ILP32-NEXT: call otherfoo2698; CHECK-RV32-FD-ILP32-NEXT: lw ra, 332(sp) # 4-byte Folded Reload2699; CHECK-RV32-FD-ILP32-NEXT: lw t0, 328(sp) # 4-byte Folded Reload2700; CHECK-RV32-FD-ILP32-NEXT: lw t1, 324(sp) # 4-byte Folded Reload2701; CHECK-RV32-FD-ILP32-NEXT: lw t2, 320(sp) # 4-byte Folded Reload2702; CHECK-RV32-FD-ILP32-NEXT: lw s0, 316(sp) # 4-byte Folded Reload2703; CHECK-RV32-FD-ILP32-NEXT: lw a0, 312(sp) # 4-byte Folded Reload2704; CHECK-RV32-FD-ILP32-NEXT: lw a1, 308(sp) # 4-byte Folded Reload2705; CHECK-RV32-FD-ILP32-NEXT: lw a2, 304(sp) # 4-byte Folded Reload2706; CHECK-RV32-FD-ILP32-NEXT: lw a3, 300(sp) # 4-byte Folded Reload2707; CHECK-RV32-FD-ILP32-NEXT: lw a4, 296(sp) # 4-byte Folded Reload2708; CHECK-RV32-FD-ILP32-NEXT: lw a5, 292(sp) # 4-byte Folded Reload2709; CHECK-RV32-FD-ILP32-NEXT: lw a6, 288(sp) # 4-byte Folded Reload2710; CHECK-RV32-FD-ILP32-NEXT: lw a7, 284(sp) # 4-byte Folded Reload2711; CHECK-RV32-FD-ILP32-NEXT: lw t3, 280(sp) # 4-byte Folded Reload2712; CHECK-RV32-FD-ILP32-NEXT: lw t4, 276(sp) # 4-byte Folded Reload2713; CHECK-RV32-FD-ILP32-NEXT: lw t5, 272(sp) # 4-byte Folded Reload2714; CHECK-RV32-FD-ILP32-NEXT: lw t6, 268(sp) # 4-byte Folded Reload2715; CHECK-RV32-FD-ILP32-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload2716; CHECK-RV32-FD-ILP32-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload2717; CHECK-RV32-FD-ILP32-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload2718; CHECK-RV32-FD-ILP32-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload2719; CHECK-RV32-FD-ILP32-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload2720; CHECK-RV32-FD-ILP32-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload2721; CHECK-RV32-FD-ILP32-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload2722; CHECK-RV32-FD-ILP32-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload2723; CHECK-RV32-FD-ILP32-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload2724; CHECK-RV32-FD-ILP32-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload2725; CHECK-RV32-FD-ILP32-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload2726; CHECK-RV32-FD-ILP32-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload2727; CHECK-RV32-FD-ILP32-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload2728; CHECK-RV32-FD-ILP32-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload2729; CHECK-RV32-FD-ILP32-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload2730; CHECK-RV32-FD-ILP32-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload2731; CHECK-RV32-FD-ILP32-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload2732; CHECK-RV32-FD-ILP32-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload2733; CHECK-RV32-FD-ILP32-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload2734; CHECK-RV32-FD-ILP32-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload2735; CHECK-RV32-FD-ILP32-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload2736; CHECK-RV32-FD-ILP32-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload2737; CHECK-RV32-FD-ILP32-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload2738; CHECK-RV32-FD-ILP32-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload2739; CHECK-RV32-FD-ILP32-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload2740; CHECK-RV32-FD-ILP32-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload2741; CHECK-RV32-FD-ILP32-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload2742; CHECK-RV32-FD-ILP32-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload2743; CHECK-RV32-FD-ILP32-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload2744; CHECK-RV32-FD-ILP32-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload2745; CHECK-RV32-FD-ILP32-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload2746; CHECK-RV32-FD-ILP32-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload2747; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, 3362748; CHECK-RV32-FD-ILP32-NEXT: mret2749;2750; CHECK-RV32I-ILP32E-LABEL: foo_fp_with_call:2751; CHECK-RV32I-ILP32E: # %bb.0:2752; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, -1082753; CHECK-RV32I-ILP32E-NEXT: sw ra, 104(sp) # 4-byte Folded Spill2754; CHECK-RV32I-ILP32E-NEXT: sw t0, 100(sp) # 4-byte Folded Spill2755; CHECK-RV32I-ILP32E-NEXT: sw t1, 96(sp) # 4-byte Folded Spill2756; CHECK-RV32I-ILP32E-NEXT: sw t2, 92(sp) # 4-byte Folded Spill2757; CHECK-RV32I-ILP32E-NEXT: sw s0, 88(sp) # 4-byte Folded Spill2758; CHECK-RV32I-ILP32E-NEXT: sw a0, 84(sp) # 4-byte Folded Spill2759; CHECK-RV32I-ILP32E-NEXT: sw a1, 80(sp) # 4-byte Folded Spill2760; CHECK-RV32I-ILP32E-NEXT: sw a2, 76(sp) # 4-byte Folded Spill2761; CHECK-RV32I-ILP32E-NEXT: sw a3, 72(sp) # 4-byte Folded Spill2762; CHECK-RV32I-ILP32E-NEXT: sw a4, 68(sp) # 4-byte Folded Spill2763; CHECK-RV32I-ILP32E-NEXT: sw a5, 64(sp) # 4-byte Folded Spill2764; CHECK-RV32I-ILP32E-NEXT: sw a6, 60(sp) # 4-byte Folded Spill2765; CHECK-RV32I-ILP32E-NEXT: sw a7, 56(sp) # 4-byte Folded Spill2766; CHECK-RV32I-ILP32E-NEXT: sw s2, 52(sp) # 4-byte Folded Spill2767; CHECK-RV32I-ILP32E-NEXT: sw s3, 48(sp) # 4-byte Folded Spill2768; CHECK-RV32I-ILP32E-NEXT: sw s4, 44(sp) # 4-byte Folded Spill2769; CHECK-RV32I-ILP32E-NEXT: sw s5, 40(sp) # 4-byte Folded Spill2770; CHECK-RV32I-ILP32E-NEXT: sw s6, 36(sp) # 4-byte Folded Spill2771; CHECK-RV32I-ILP32E-NEXT: sw s7, 32(sp) # 4-byte Folded Spill2772; CHECK-RV32I-ILP32E-NEXT: sw s8, 28(sp) # 4-byte Folded Spill2773; CHECK-RV32I-ILP32E-NEXT: sw s9, 24(sp) # 4-byte Folded Spill2774; CHECK-RV32I-ILP32E-NEXT: sw s10, 20(sp) # 4-byte Folded Spill2775; CHECK-RV32I-ILP32E-NEXT: sw s11, 16(sp) # 4-byte Folded Spill2776; CHECK-RV32I-ILP32E-NEXT: sw t3, 12(sp) # 4-byte Folded Spill2777; CHECK-RV32I-ILP32E-NEXT: sw t4, 8(sp) # 4-byte Folded Spill2778; CHECK-RV32I-ILP32E-NEXT: sw t5, 4(sp) # 4-byte Folded Spill2779; CHECK-RV32I-ILP32E-NEXT: sw t6, 0(sp) # 4-byte Folded Spill2780; CHECK-RV32I-ILP32E-NEXT: addi s0, sp, 1082781; CHECK-RV32I-ILP32E-NEXT: call otherfoo2782; CHECK-RV32I-ILP32E-NEXT: lw ra, 104(sp) # 4-byte Folded Reload2783; CHECK-RV32I-ILP32E-NEXT: lw t0, 100(sp) # 4-byte Folded Reload2784; CHECK-RV32I-ILP32E-NEXT: lw t1, 96(sp) # 4-byte Folded Reload2785; CHECK-RV32I-ILP32E-NEXT: lw t2, 92(sp) # 4-byte Folded Reload2786; CHECK-RV32I-ILP32E-NEXT: lw s0, 88(sp) # 4-byte Folded Reload2787; CHECK-RV32I-ILP32E-NEXT: lw a0, 84(sp) # 4-byte Folded Reload2788; CHECK-RV32I-ILP32E-NEXT: lw a1, 80(sp) # 4-byte Folded Reload2789; CHECK-RV32I-ILP32E-NEXT: lw a2, 76(sp) # 4-byte Folded Reload2790; CHECK-RV32I-ILP32E-NEXT: lw a3, 72(sp) # 4-byte Folded Reload2791; CHECK-RV32I-ILP32E-NEXT: lw a4, 68(sp) # 4-byte Folded Reload2792; CHECK-RV32I-ILP32E-NEXT: lw a5, 64(sp) # 4-byte Folded Reload2793; CHECK-RV32I-ILP32E-NEXT: lw a6, 60(sp) # 4-byte Folded Reload2794; CHECK-RV32I-ILP32E-NEXT: lw a7, 56(sp) # 4-byte Folded Reload2795; CHECK-RV32I-ILP32E-NEXT: lw s2, 52(sp) # 4-byte Folded Reload2796; CHECK-RV32I-ILP32E-NEXT: lw s3, 48(sp) # 4-byte Folded Reload2797; CHECK-RV32I-ILP32E-NEXT: lw s4, 44(sp) # 4-byte Folded Reload2798; CHECK-RV32I-ILP32E-NEXT: lw s5, 40(sp) # 4-byte Folded Reload2799; CHECK-RV32I-ILP32E-NEXT: lw s6, 36(sp) # 4-byte Folded Reload2800; CHECK-RV32I-ILP32E-NEXT: lw s7, 32(sp) # 4-byte Folded Reload2801; CHECK-RV32I-ILP32E-NEXT: lw s8, 28(sp) # 4-byte Folded Reload2802; CHECK-RV32I-ILP32E-NEXT: lw s9, 24(sp) # 4-byte Folded Reload2803; CHECK-RV32I-ILP32E-NEXT: lw s10, 20(sp) # 4-byte Folded Reload2804; CHECK-RV32I-ILP32E-NEXT: lw s11, 16(sp) # 4-byte Folded Reload2805; CHECK-RV32I-ILP32E-NEXT: lw t3, 12(sp) # 4-byte Folded Reload2806; CHECK-RV32I-ILP32E-NEXT: lw t4, 8(sp) # 4-byte Folded Reload2807; CHECK-RV32I-ILP32E-NEXT: lw t5, 4(sp) # 4-byte Folded Reload2808; CHECK-RV32I-ILP32E-NEXT: lw t6, 0(sp) # 4-byte Folded Reload2809; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, 1082810; CHECK-RV32I-ILP32E-NEXT: mret2811;2812; CHECK-RV32E-LABEL: foo_fp_with_call:2813; CHECK-RV32E: # %bb.0:2814; CHECK-RV32E-NEXT: addi sp, sp, -442815; CHECK-RV32E-NEXT: sw ra, 40(sp) # 4-byte Folded Spill2816; CHECK-RV32E-NEXT: sw t0, 36(sp) # 4-byte Folded Spill2817; CHECK-RV32E-NEXT: sw t1, 32(sp) # 4-byte Folded Spill2818; CHECK-RV32E-NEXT: sw t2, 28(sp) # 4-byte Folded Spill2819; CHECK-RV32E-NEXT: sw s0, 24(sp) # 4-byte Folded Spill2820; CHECK-RV32E-NEXT: sw a0, 20(sp) # 4-byte Folded Spill2821; CHECK-RV32E-NEXT: sw a1, 16(sp) # 4-byte Folded Spill2822; CHECK-RV32E-NEXT: sw a2, 12(sp) # 4-byte Folded Spill2823; CHECK-RV32E-NEXT: sw a3, 8(sp) # 4-byte Folded Spill2824; CHECK-RV32E-NEXT: sw a4, 4(sp) # 4-byte Folded Spill2825; CHECK-RV32E-NEXT: sw a5, 0(sp) # 4-byte Folded Spill2826; CHECK-RV32E-NEXT: addi s0, sp, 442827; CHECK-RV32E-NEXT: call otherfoo2828; CHECK-RV32E-NEXT: lw ra, 40(sp) # 4-byte Folded Reload2829; CHECK-RV32E-NEXT: lw t0, 36(sp) # 4-byte Folded Reload2830; CHECK-RV32E-NEXT: lw t1, 32(sp) # 4-byte Folded Reload2831; CHECK-RV32E-NEXT: lw t2, 28(sp) # 4-byte Folded Reload2832; CHECK-RV32E-NEXT: lw s0, 24(sp) # 4-byte Folded Reload2833; CHECK-RV32E-NEXT: lw a0, 20(sp) # 4-byte Folded Reload2834; CHECK-RV32E-NEXT: lw a1, 16(sp) # 4-byte Folded Reload2835; CHECK-RV32E-NEXT: lw a2, 12(sp) # 4-byte Folded Reload2836; CHECK-RV32E-NEXT: lw a3, 8(sp) # 4-byte Folded Reload2837; CHECK-RV32E-NEXT: lw a4, 4(sp) # 4-byte Folded Reload2838; CHECK-RV32E-NEXT: lw a5, 0(sp) # 4-byte Folded Reload2839; CHECK-RV32E-NEXT: addi sp, sp, 442840; CHECK-RV32E-NEXT: mret2841;2842; CHECK-RV32E-F-LABEL: foo_fp_with_call:2843; CHECK-RV32E-F: # %bb.0:2844; CHECK-RV32E-F-NEXT: addi sp, sp, -1722845; CHECK-RV32E-F-NEXT: sw ra, 168(sp) # 4-byte Folded Spill2846; CHECK-RV32E-F-NEXT: sw t0, 164(sp) # 4-byte Folded Spill2847; CHECK-RV32E-F-NEXT: sw t1, 160(sp) # 4-byte Folded Spill2848; CHECK-RV32E-F-NEXT: sw t2, 156(sp) # 4-byte Folded Spill2849; CHECK-RV32E-F-NEXT: sw s0, 152(sp) # 4-byte Folded Spill2850; CHECK-RV32E-F-NEXT: sw a0, 148(sp) # 4-byte Folded Spill2851; CHECK-RV32E-F-NEXT: sw a1, 144(sp) # 4-byte Folded Spill2852; CHECK-RV32E-F-NEXT: sw a2, 140(sp) # 4-byte Folded Spill2853; CHECK-RV32E-F-NEXT: sw a3, 136(sp) # 4-byte Folded Spill2854; CHECK-RV32E-F-NEXT: sw a4, 132(sp) # 4-byte Folded Spill2855; CHECK-RV32E-F-NEXT: sw a5, 128(sp) # 4-byte Folded Spill2856; CHECK-RV32E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill2857; CHECK-RV32E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill2858; CHECK-RV32E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill2859; CHECK-RV32E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill2860; CHECK-RV32E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill2861; CHECK-RV32E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill2862; CHECK-RV32E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill2863; CHECK-RV32E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill2864; CHECK-RV32E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill2865; CHECK-RV32E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill2866; CHECK-RV32E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill2867; CHECK-RV32E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill2868; CHECK-RV32E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill2869; CHECK-RV32E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill2870; CHECK-RV32E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill2871; CHECK-RV32E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill2872; CHECK-RV32E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill2873; CHECK-RV32E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill2874; CHECK-RV32E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill2875; CHECK-RV32E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill2876; CHECK-RV32E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill2877; CHECK-RV32E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill2878; CHECK-RV32E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill2879; CHECK-RV32E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill2880; CHECK-RV32E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill2881; CHECK-RV32E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill2882; CHECK-RV32E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill2883; CHECK-RV32E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill2884; CHECK-RV32E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill2885; CHECK-RV32E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill2886; CHECK-RV32E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill2887; CHECK-RV32E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill2888; CHECK-RV32E-F-NEXT: addi s0, sp, 1722889; CHECK-RV32E-F-NEXT: call otherfoo2890; CHECK-RV32E-F-NEXT: lw ra, 168(sp) # 4-byte Folded Reload2891; CHECK-RV32E-F-NEXT: lw t0, 164(sp) # 4-byte Folded Reload2892; CHECK-RV32E-F-NEXT: lw t1, 160(sp) # 4-byte Folded Reload2893; CHECK-RV32E-F-NEXT: lw t2, 156(sp) # 4-byte Folded Reload2894; CHECK-RV32E-F-NEXT: lw s0, 152(sp) # 4-byte Folded Reload2895; CHECK-RV32E-F-NEXT: lw a0, 148(sp) # 4-byte Folded Reload2896; CHECK-RV32E-F-NEXT: lw a1, 144(sp) # 4-byte Folded Reload2897; CHECK-RV32E-F-NEXT: lw a2, 140(sp) # 4-byte Folded Reload2898; CHECK-RV32E-F-NEXT: lw a3, 136(sp) # 4-byte Folded Reload2899; CHECK-RV32E-F-NEXT: lw a4, 132(sp) # 4-byte Folded Reload2900; CHECK-RV32E-F-NEXT: lw a5, 128(sp) # 4-byte Folded Reload2901; CHECK-RV32E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload2902; CHECK-RV32E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload2903; CHECK-RV32E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload2904; CHECK-RV32E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload2905; CHECK-RV32E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload2906; CHECK-RV32E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload2907; CHECK-RV32E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload2908; CHECK-RV32E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload2909; CHECK-RV32E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload2910; CHECK-RV32E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload2911; CHECK-RV32E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload2912; CHECK-RV32E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload2913; CHECK-RV32E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload2914; CHECK-RV32E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload2915; CHECK-RV32E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload2916; CHECK-RV32E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload2917; CHECK-RV32E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload2918; CHECK-RV32E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload2919; CHECK-RV32E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload2920; CHECK-RV32E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload2921; CHECK-RV32E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload2922; CHECK-RV32E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload2923; CHECK-RV32E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload2924; CHECK-RV32E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload2925; CHECK-RV32E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload2926; CHECK-RV32E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload2927; CHECK-RV32E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload2928; CHECK-RV32E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload2929; CHECK-RV32E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload2930; CHECK-RV32E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload2931; CHECK-RV32E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload2932; CHECK-RV32E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload2933; CHECK-RV32E-F-NEXT: addi sp, sp, 1722934; CHECK-RV32E-F-NEXT: mret2935;2936; CHECK-RV32-V-LABEL: foo_fp_with_call:2937; CHECK-RV32-V: # %bb.0:2938; CHECK-RV32-V-NEXT: addi sp, sp, -802939; CHECK-RV32-V-NEXT: sw ra, 76(sp) # 4-byte Folded Spill2940; CHECK-RV32-V-NEXT: sw t0, 72(sp) # 4-byte Folded Spill2941; CHECK-RV32-V-NEXT: sw t1, 68(sp) # 4-byte Folded Spill2942; CHECK-RV32-V-NEXT: sw t2, 64(sp) # 4-byte Folded Spill2943; CHECK-RV32-V-NEXT: sw s0, 60(sp) # 4-byte Folded Spill2944; CHECK-RV32-V-NEXT: sw a0, 56(sp) # 4-byte Folded Spill2945; CHECK-RV32-V-NEXT: sw a1, 52(sp) # 4-byte Folded Spill2946; CHECK-RV32-V-NEXT: sw a2, 48(sp) # 4-byte Folded Spill2947; CHECK-RV32-V-NEXT: sw a3, 44(sp) # 4-byte Folded Spill2948; CHECK-RV32-V-NEXT: sw a4, 40(sp) # 4-byte Folded Spill2949; CHECK-RV32-V-NEXT: sw a5, 36(sp) # 4-byte Folded Spill2950; CHECK-RV32-V-NEXT: sw a6, 32(sp) # 4-byte Folded Spill2951; CHECK-RV32-V-NEXT: sw a7, 28(sp) # 4-byte Folded Spill2952; CHECK-RV32-V-NEXT: sw t3, 24(sp) # 4-byte Folded Spill2953; CHECK-RV32-V-NEXT: sw t4, 20(sp) # 4-byte Folded Spill2954; CHECK-RV32-V-NEXT: sw t5, 16(sp) # 4-byte Folded Spill2955; CHECK-RV32-V-NEXT: sw t6, 12(sp) # 4-byte Folded Spill2956; CHECK-RV32-V-NEXT: addi s0, sp, 802957; CHECK-RV32-V-NEXT: csrr a0, vlenb2958; CHECK-RV32-V-NEXT: slli a0, a0, 52959; CHECK-RV32-V-NEXT: sub sp, sp, a02960; CHECK-RV32-V-NEXT: csrr a0, vlenb2961; CHECK-RV32-V-NEXT: slli a0, a0, 32962; CHECK-RV32-V-NEXT: sub a0, s0, a02963; CHECK-RV32-V-NEXT: addi a0, a0, -802964; CHECK-RV32-V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill2965; CHECK-RV32-V-NEXT: csrr a0, vlenb2966; CHECK-RV32-V-NEXT: slli a0, a0, 42967; CHECK-RV32-V-NEXT: sub a0, s0, a02968; CHECK-RV32-V-NEXT: addi a0, a0, -802969; CHECK-RV32-V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill2970; CHECK-RV32-V-NEXT: csrr a0, vlenb2971; CHECK-RV32-V-NEXT: slli a0, a0, 32972; CHECK-RV32-V-NEXT: mv a1, a02973; CHECK-RV32-V-NEXT: slli a0, a0, 12974; CHECK-RV32-V-NEXT: add a0, a0, a12975; CHECK-RV32-V-NEXT: sub a0, s0, a02976; CHECK-RV32-V-NEXT: addi a0, a0, -802977; CHECK-RV32-V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill2978; CHECK-RV32-V-NEXT: csrr a0, vlenb2979; CHECK-RV32-V-NEXT: slli a0, a0, 52980; CHECK-RV32-V-NEXT: sub a0, s0, a02981; CHECK-RV32-V-NEXT: addi a0, a0, -802982; CHECK-RV32-V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill2983; CHECK-RV32-V-NEXT: call otherfoo2984; CHECK-RV32-V-NEXT: csrr a0, vlenb2985; CHECK-RV32-V-NEXT: slli a0, a0, 32986; CHECK-RV32-V-NEXT: sub a0, s0, a02987; CHECK-RV32-V-NEXT: addi a0, a0, -802988; CHECK-RV32-V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload2989; CHECK-RV32-V-NEXT: csrr a0, vlenb2990; CHECK-RV32-V-NEXT: slli a0, a0, 42991; CHECK-RV32-V-NEXT: sub a0, s0, a02992; CHECK-RV32-V-NEXT: addi a0, a0, -802993; CHECK-RV32-V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload2994; CHECK-RV32-V-NEXT: csrr a0, vlenb2995; CHECK-RV32-V-NEXT: slli a0, a0, 32996; CHECK-RV32-V-NEXT: mv a1, a02997; CHECK-RV32-V-NEXT: slli a0, a0, 12998; CHECK-RV32-V-NEXT: add a0, a0, a12999; CHECK-RV32-V-NEXT: sub a0, s0, a03000; CHECK-RV32-V-NEXT: addi a0, a0, -803001; CHECK-RV32-V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload3002; CHECK-RV32-V-NEXT: csrr a0, vlenb3003; CHECK-RV32-V-NEXT: slli a0, a0, 53004; CHECK-RV32-V-NEXT: sub a0, s0, a03005; CHECK-RV32-V-NEXT: addi a0, a0, -803006; CHECK-RV32-V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload3007; CHECK-RV32-V-NEXT: addi sp, s0, -803008; CHECK-RV32-V-NEXT: lw ra, 76(sp) # 4-byte Folded Reload3009; CHECK-RV32-V-NEXT: lw t0, 72(sp) # 4-byte Folded Reload3010; CHECK-RV32-V-NEXT: lw t1, 68(sp) # 4-byte Folded Reload3011; CHECK-RV32-V-NEXT: lw t2, 64(sp) # 4-byte Folded Reload3012; CHECK-RV32-V-NEXT: lw s0, 60(sp) # 4-byte Folded Reload3013; CHECK-RV32-V-NEXT: lw a0, 56(sp) # 4-byte Folded Reload3014; CHECK-RV32-V-NEXT: lw a1, 52(sp) # 4-byte Folded Reload3015; CHECK-RV32-V-NEXT: lw a2, 48(sp) # 4-byte Folded Reload3016; CHECK-RV32-V-NEXT: lw a3, 44(sp) # 4-byte Folded Reload3017; CHECK-RV32-V-NEXT: lw a4, 40(sp) # 4-byte Folded Reload3018; CHECK-RV32-V-NEXT: lw a5, 36(sp) # 4-byte Folded Reload3019; CHECK-RV32-V-NEXT: lw a6, 32(sp) # 4-byte Folded Reload3020; CHECK-RV32-V-NEXT: lw a7, 28(sp) # 4-byte Folded Reload3021; CHECK-RV32-V-NEXT: lw t3, 24(sp) # 4-byte Folded Reload3022; CHECK-RV32-V-NEXT: lw t4, 20(sp) # 4-byte Folded Reload3023; CHECK-RV32-V-NEXT: lw t5, 16(sp) # 4-byte Folded Reload3024; CHECK-RV32-V-NEXT: lw t6, 12(sp) # 4-byte Folded Reload3025; CHECK-RV32-V-NEXT: addi sp, sp, 803026; CHECK-RV32-V-NEXT: mret3027;3028; CHECK-RV32-FV-LABEL: foo_fp_with_call:3029; CHECK-RV32-FV: # %bb.0:3030; CHECK-RV32-FV-NEXT: addi sp, sp, -1603031; CHECK-RV32-FV-NEXT: sw ra, 156(sp) # 4-byte Folded Spill3032; CHECK-RV32-FV-NEXT: sw t0, 152(sp) # 4-byte Folded Spill3033; CHECK-RV32-FV-NEXT: sw t1, 148(sp) # 4-byte Folded Spill3034; CHECK-RV32-FV-NEXT: sw t2, 144(sp) # 4-byte Folded Spill3035; CHECK-RV32-FV-NEXT: sw s0, 140(sp) # 4-byte Folded Spill3036; CHECK-RV32-FV-NEXT: sw a0, 136(sp) # 4-byte Folded Spill3037; CHECK-RV32-FV-NEXT: sw a1, 132(sp) # 4-byte Folded Spill3038; CHECK-RV32-FV-NEXT: sw a2, 128(sp) # 4-byte Folded Spill3039; CHECK-RV32-FV-NEXT: sw a3, 124(sp) # 4-byte Folded Spill3040; CHECK-RV32-FV-NEXT: sw a4, 120(sp) # 4-byte Folded Spill3041; CHECK-RV32-FV-NEXT: sw a5, 116(sp) # 4-byte Folded Spill3042; CHECK-RV32-FV-NEXT: sw a6, 112(sp) # 4-byte Folded Spill3043; CHECK-RV32-FV-NEXT: sw a7, 108(sp) # 4-byte Folded Spill3044; CHECK-RV32-FV-NEXT: sw t3, 104(sp) # 4-byte Folded Spill3045; CHECK-RV32-FV-NEXT: sw t4, 100(sp) # 4-byte Folded Spill3046; CHECK-RV32-FV-NEXT: sw t5, 96(sp) # 4-byte Folded Spill3047; CHECK-RV32-FV-NEXT: sw t6, 92(sp) # 4-byte Folded Spill3048; CHECK-RV32-FV-NEXT: fsw ft0, 88(sp) # 4-byte Folded Spill3049; CHECK-RV32-FV-NEXT: fsw ft1, 84(sp) # 4-byte Folded Spill3050; CHECK-RV32-FV-NEXT: fsw ft2, 80(sp) # 4-byte Folded Spill3051; CHECK-RV32-FV-NEXT: fsw ft3, 76(sp) # 4-byte Folded Spill3052; CHECK-RV32-FV-NEXT: fsw ft4, 72(sp) # 4-byte Folded Spill3053; CHECK-RV32-FV-NEXT: fsw ft5, 68(sp) # 4-byte Folded Spill3054; CHECK-RV32-FV-NEXT: fsw ft6, 64(sp) # 4-byte Folded Spill3055; CHECK-RV32-FV-NEXT: fsw ft7, 60(sp) # 4-byte Folded Spill3056; CHECK-RV32-FV-NEXT: fsw fa0, 56(sp) # 4-byte Folded Spill3057; CHECK-RV32-FV-NEXT: fsw fa1, 52(sp) # 4-byte Folded Spill3058; CHECK-RV32-FV-NEXT: fsw fa2, 48(sp) # 4-byte Folded Spill3059; CHECK-RV32-FV-NEXT: fsw fa3, 44(sp) # 4-byte Folded Spill3060; CHECK-RV32-FV-NEXT: fsw fa4, 40(sp) # 4-byte Folded Spill3061; CHECK-RV32-FV-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill3062; CHECK-RV32-FV-NEXT: fsw fa6, 32(sp) # 4-byte Folded Spill3063; CHECK-RV32-FV-NEXT: fsw fa7, 28(sp) # 4-byte Folded Spill3064; CHECK-RV32-FV-NEXT: fsw ft8, 24(sp) # 4-byte Folded Spill3065; CHECK-RV32-FV-NEXT: fsw ft9, 20(sp) # 4-byte Folded Spill3066; CHECK-RV32-FV-NEXT: fsw ft10, 16(sp) # 4-byte Folded Spill3067; CHECK-RV32-FV-NEXT: fsw ft11, 12(sp) # 4-byte Folded Spill3068; CHECK-RV32-FV-NEXT: addi s0, sp, 1603069; CHECK-RV32-FV-NEXT: csrr a0, vlenb3070; CHECK-RV32-FV-NEXT: slli a0, a0, 53071; CHECK-RV32-FV-NEXT: sub sp, sp, a03072; CHECK-RV32-FV-NEXT: csrr a0, vlenb3073; CHECK-RV32-FV-NEXT: slli a0, a0, 33074; CHECK-RV32-FV-NEXT: sub a0, s0, a03075; CHECK-RV32-FV-NEXT: addi a0, a0, -1603076; CHECK-RV32-FV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill3077; CHECK-RV32-FV-NEXT: csrr a0, vlenb3078; CHECK-RV32-FV-NEXT: slli a0, a0, 43079; CHECK-RV32-FV-NEXT: sub a0, s0, a03080; CHECK-RV32-FV-NEXT: addi a0, a0, -1603081; CHECK-RV32-FV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill3082; CHECK-RV32-FV-NEXT: csrr a0, vlenb3083; CHECK-RV32-FV-NEXT: slli a0, a0, 33084; CHECK-RV32-FV-NEXT: mv a1, a03085; CHECK-RV32-FV-NEXT: slli a0, a0, 13086; CHECK-RV32-FV-NEXT: add a0, a0, a13087; CHECK-RV32-FV-NEXT: sub a0, s0, a03088; CHECK-RV32-FV-NEXT: addi a0, a0, -1603089; CHECK-RV32-FV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill3090; CHECK-RV32-FV-NEXT: csrr a0, vlenb3091; CHECK-RV32-FV-NEXT: slli a0, a0, 53092; CHECK-RV32-FV-NEXT: sub a0, s0, a03093; CHECK-RV32-FV-NEXT: addi a0, a0, -1603094; CHECK-RV32-FV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill3095; CHECK-RV32-FV-NEXT: call otherfoo3096; CHECK-RV32-FV-NEXT: csrr a0, vlenb3097; CHECK-RV32-FV-NEXT: slli a0, a0, 33098; CHECK-RV32-FV-NEXT: sub a0, s0, a03099; CHECK-RV32-FV-NEXT: addi a0, a0, -1603100; CHECK-RV32-FV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload3101; CHECK-RV32-FV-NEXT: csrr a0, vlenb3102; CHECK-RV32-FV-NEXT: slli a0, a0, 43103; CHECK-RV32-FV-NEXT: sub a0, s0, a03104; CHECK-RV32-FV-NEXT: addi a0, a0, -1603105; CHECK-RV32-FV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload3106; CHECK-RV32-FV-NEXT: csrr a0, vlenb3107; CHECK-RV32-FV-NEXT: slli a0, a0, 33108; CHECK-RV32-FV-NEXT: mv a1, a03109; CHECK-RV32-FV-NEXT: slli a0, a0, 13110; CHECK-RV32-FV-NEXT: add a0, a0, a13111; CHECK-RV32-FV-NEXT: sub a0, s0, a03112; CHECK-RV32-FV-NEXT: addi a0, a0, -1603113; CHECK-RV32-FV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload3114; CHECK-RV32-FV-NEXT: csrr a0, vlenb3115; CHECK-RV32-FV-NEXT: slli a0, a0, 53116; CHECK-RV32-FV-NEXT: sub a0, s0, a03117; CHECK-RV32-FV-NEXT: addi a0, a0, -1603118; CHECK-RV32-FV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload3119; CHECK-RV32-FV-NEXT: addi sp, s0, -1603120; CHECK-RV32-FV-NEXT: lw ra, 156(sp) # 4-byte Folded Reload3121; CHECK-RV32-FV-NEXT: lw t0, 152(sp) # 4-byte Folded Reload3122; CHECK-RV32-FV-NEXT: lw t1, 148(sp) # 4-byte Folded Reload3123; CHECK-RV32-FV-NEXT: lw t2, 144(sp) # 4-byte Folded Reload3124; CHECK-RV32-FV-NEXT: lw s0, 140(sp) # 4-byte Folded Reload3125; CHECK-RV32-FV-NEXT: lw a0, 136(sp) # 4-byte Folded Reload3126; CHECK-RV32-FV-NEXT: lw a1, 132(sp) # 4-byte Folded Reload3127; CHECK-RV32-FV-NEXT: lw a2, 128(sp) # 4-byte Folded Reload3128; CHECK-RV32-FV-NEXT: lw a3, 124(sp) # 4-byte Folded Reload3129; CHECK-RV32-FV-NEXT: lw a4, 120(sp) # 4-byte Folded Reload3130; CHECK-RV32-FV-NEXT: lw a5, 116(sp) # 4-byte Folded Reload3131; CHECK-RV32-FV-NEXT: lw a6, 112(sp) # 4-byte Folded Reload3132; CHECK-RV32-FV-NEXT: lw a7, 108(sp) # 4-byte Folded Reload3133; CHECK-RV32-FV-NEXT: lw t3, 104(sp) # 4-byte Folded Reload3134; CHECK-RV32-FV-NEXT: lw t4, 100(sp) # 4-byte Folded Reload3135; CHECK-RV32-FV-NEXT: lw t5, 96(sp) # 4-byte Folded Reload3136; CHECK-RV32-FV-NEXT: lw t6, 92(sp) # 4-byte Folded Reload3137; CHECK-RV32-FV-NEXT: flw ft0, 88(sp) # 4-byte Folded Reload3138; CHECK-RV32-FV-NEXT: flw ft1, 84(sp) # 4-byte Folded Reload3139; CHECK-RV32-FV-NEXT: flw ft2, 80(sp) # 4-byte Folded Reload3140; CHECK-RV32-FV-NEXT: flw ft3, 76(sp) # 4-byte Folded Reload3141; CHECK-RV32-FV-NEXT: flw ft4, 72(sp) # 4-byte Folded Reload3142; CHECK-RV32-FV-NEXT: flw ft5, 68(sp) # 4-byte Folded Reload3143; CHECK-RV32-FV-NEXT: flw ft6, 64(sp) # 4-byte Folded Reload3144; CHECK-RV32-FV-NEXT: flw ft7, 60(sp) # 4-byte Folded Reload3145; CHECK-RV32-FV-NEXT: flw fa0, 56(sp) # 4-byte Folded Reload3146; CHECK-RV32-FV-NEXT: flw fa1, 52(sp) # 4-byte Folded Reload3147; CHECK-RV32-FV-NEXT: flw fa2, 48(sp) # 4-byte Folded Reload3148; CHECK-RV32-FV-NEXT: flw fa3, 44(sp) # 4-byte Folded Reload3149; CHECK-RV32-FV-NEXT: flw fa4, 40(sp) # 4-byte Folded Reload3150; CHECK-RV32-FV-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload3151; CHECK-RV32-FV-NEXT: flw fa6, 32(sp) # 4-byte Folded Reload3152; CHECK-RV32-FV-NEXT: flw fa7, 28(sp) # 4-byte Folded Reload3153; CHECK-RV32-FV-NEXT: flw ft8, 24(sp) # 4-byte Folded Reload3154; CHECK-RV32-FV-NEXT: flw ft9, 20(sp) # 4-byte Folded Reload3155; CHECK-RV32-FV-NEXT: flw ft10, 16(sp) # 4-byte Folded Reload3156; CHECK-RV32-FV-NEXT: flw ft11, 12(sp) # 4-byte Folded Reload3157; CHECK-RV32-FV-NEXT: addi sp, sp, 1603158; CHECK-RV32-FV-NEXT: mret3159;3160; CHECK-RV32-FDV-LABEL: foo_fp_with_call:3161; CHECK-RV32-FDV: # %bb.0:3162; CHECK-RV32-FDV-NEXT: addi sp, sp, -2403163; CHECK-RV32-FDV-NEXT: sw ra, 236(sp) # 4-byte Folded Spill3164; CHECK-RV32-FDV-NEXT: sw t0, 232(sp) # 4-byte Folded Spill3165; CHECK-RV32-FDV-NEXT: sw t1, 228(sp) # 4-byte Folded Spill3166; CHECK-RV32-FDV-NEXT: sw t2, 224(sp) # 4-byte Folded Spill3167; CHECK-RV32-FDV-NEXT: sw s0, 220(sp) # 4-byte Folded Spill3168; CHECK-RV32-FDV-NEXT: sw a0, 216(sp) # 4-byte Folded Spill3169; CHECK-RV32-FDV-NEXT: sw a1, 212(sp) # 4-byte Folded Spill3170; CHECK-RV32-FDV-NEXT: sw a2, 208(sp) # 4-byte Folded Spill3171; CHECK-RV32-FDV-NEXT: sw a3, 204(sp) # 4-byte Folded Spill3172; CHECK-RV32-FDV-NEXT: sw a4, 200(sp) # 4-byte Folded Spill3173; CHECK-RV32-FDV-NEXT: sw a5, 196(sp) # 4-byte Folded Spill3174; CHECK-RV32-FDV-NEXT: sw a6, 192(sp) # 4-byte Folded Spill3175; CHECK-RV32-FDV-NEXT: sw a7, 188(sp) # 4-byte Folded Spill3176; CHECK-RV32-FDV-NEXT: sw t3, 184(sp) # 4-byte Folded Spill3177; CHECK-RV32-FDV-NEXT: sw t4, 180(sp) # 4-byte Folded Spill3178; CHECK-RV32-FDV-NEXT: sw t5, 176(sp) # 4-byte Folded Spill3179; CHECK-RV32-FDV-NEXT: sw t6, 172(sp) # 4-byte Folded Spill3180; CHECK-RV32-FDV-NEXT: fsd ft0, 160(sp) # 8-byte Folded Spill3181; CHECK-RV32-FDV-NEXT: fsd ft1, 152(sp) # 8-byte Folded Spill3182; CHECK-RV32-FDV-NEXT: fsd ft2, 144(sp) # 8-byte Folded Spill3183; CHECK-RV32-FDV-NEXT: fsd ft3, 136(sp) # 8-byte Folded Spill3184; CHECK-RV32-FDV-NEXT: fsd ft4, 128(sp) # 8-byte Folded Spill3185; CHECK-RV32-FDV-NEXT: fsd ft5, 120(sp) # 8-byte Folded Spill3186; CHECK-RV32-FDV-NEXT: fsd ft6, 112(sp) # 8-byte Folded Spill3187; CHECK-RV32-FDV-NEXT: fsd ft7, 104(sp) # 8-byte Folded Spill3188; CHECK-RV32-FDV-NEXT: fsd fa0, 96(sp) # 8-byte Folded Spill3189; CHECK-RV32-FDV-NEXT: fsd fa1, 88(sp) # 8-byte Folded Spill3190; CHECK-RV32-FDV-NEXT: fsd fa2, 80(sp) # 8-byte Folded Spill3191; CHECK-RV32-FDV-NEXT: fsd fa3, 72(sp) # 8-byte Folded Spill3192; CHECK-RV32-FDV-NEXT: fsd fa4, 64(sp) # 8-byte Folded Spill3193; CHECK-RV32-FDV-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill3194; CHECK-RV32-FDV-NEXT: fsd fa6, 48(sp) # 8-byte Folded Spill3195; CHECK-RV32-FDV-NEXT: fsd fa7, 40(sp) # 8-byte Folded Spill3196; CHECK-RV32-FDV-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill3197; CHECK-RV32-FDV-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill3198; CHECK-RV32-FDV-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill3199; CHECK-RV32-FDV-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill3200; CHECK-RV32-FDV-NEXT: addi s0, sp, 2403201; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3202; CHECK-RV32-FDV-NEXT: slli a0, a0, 53203; CHECK-RV32-FDV-NEXT: sub sp, sp, a03204; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3205; CHECK-RV32-FDV-NEXT: slli a0, a0, 33206; CHECK-RV32-FDV-NEXT: sub a0, s0, a03207; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403208; CHECK-RV32-FDV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill3209; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3210; CHECK-RV32-FDV-NEXT: slli a0, a0, 43211; CHECK-RV32-FDV-NEXT: sub a0, s0, a03212; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403213; CHECK-RV32-FDV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill3214; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3215; CHECK-RV32-FDV-NEXT: slli a0, a0, 33216; CHECK-RV32-FDV-NEXT: mv a1, a03217; CHECK-RV32-FDV-NEXT: slli a0, a0, 13218; CHECK-RV32-FDV-NEXT: add a0, a0, a13219; CHECK-RV32-FDV-NEXT: sub a0, s0, a03220; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403221; CHECK-RV32-FDV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill3222; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3223; CHECK-RV32-FDV-NEXT: slli a0, a0, 53224; CHECK-RV32-FDV-NEXT: sub a0, s0, a03225; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403226; CHECK-RV32-FDV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill3227; CHECK-RV32-FDV-NEXT: call otherfoo3228; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3229; CHECK-RV32-FDV-NEXT: slli a0, a0, 33230; CHECK-RV32-FDV-NEXT: sub a0, s0, a03231; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403232; CHECK-RV32-FDV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload3233; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3234; CHECK-RV32-FDV-NEXT: slli a0, a0, 43235; CHECK-RV32-FDV-NEXT: sub a0, s0, a03236; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403237; CHECK-RV32-FDV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload3238; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3239; CHECK-RV32-FDV-NEXT: slli a0, a0, 33240; CHECK-RV32-FDV-NEXT: mv a1, a03241; CHECK-RV32-FDV-NEXT: slli a0, a0, 13242; CHECK-RV32-FDV-NEXT: add a0, a0, a13243; CHECK-RV32-FDV-NEXT: sub a0, s0, a03244; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403245; CHECK-RV32-FDV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload3246; CHECK-RV32-FDV-NEXT: csrr a0, vlenb3247; CHECK-RV32-FDV-NEXT: slli a0, a0, 53248; CHECK-RV32-FDV-NEXT: sub a0, s0, a03249; CHECK-RV32-FDV-NEXT: addi a0, a0, -2403250; CHECK-RV32-FDV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload3251; CHECK-RV32-FDV-NEXT: addi sp, s0, -2403252; CHECK-RV32-FDV-NEXT: lw ra, 236(sp) # 4-byte Folded Reload3253; CHECK-RV32-FDV-NEXT: lw t0, 232(sp) # 4-byte Folded Reload3254; CHECK-RV32-FDV-NEXT: lw t1, 228(sp) # 4-byte Folded Reload3255; CHECK-RV32-FDV-NEXT: lw t2, 224(sp) # 4-byte Folded Reload3256; CHECK-RV32-FDV-NEXT: lw s0, 220(sp) # 4-byte Folded Reload3257; CHECK-RV32-FDV-NEXT: lw a0, 216(sp) # 4-byte Folded Reload3258; CHECK-RV32-FDV-NEXT: lw a1, 212(sp) # 4-byte Folded Reload3259; CHECK-RV32-FDV-NEXT: lw a2, 208(sp) # 4-byte Folded Reload3260; CHECK-RV32-FDV-NEXT: lw a3, 204(sp) # 4-byte Folded Reload3261; CHECK-RV32-FDV-NEXT: lw a4, 200(sp) # 4-byte Folded Reload3262; CHECK-RV32-FDV-NEXT: lw a5, 196(sp) # 4-byte Folded Reload3263; CHECK-RV32-FDV-NEXT: lw a6, 192(sp) # 4-byte Folded Reload3264; CHECK-RV32-FDV-NEXT: lw a7, 188(sp) # 4-byte Folded Reload3265; CHECK-RV32-FDV-NEXT: lw t3, 184(sp) # 4-byte Folded Reload3266; CHECK-RV32-FDV-NEXT: lw t4, 180(sp) # 4-byte Folded Reload3267; CHECK-RV32-FDV-NEXT: lw t5, 176(sp) # 4-byte Folded Reload3268; CHECK-RV32-FDV-NEXT: lw t6, 172(sp) # 4-byte Folded Reload3269; CHECK-RV32-FDV-NEXT: fld ft0, 160(sp) # 8-byte Folded Reload3270; CHECK-RV32-FDV-NEXT: fld ft1, 152(sp) # 8-byte Folded Reload3271; CHECK-RV32-FDV-NEXT: fld ft2, 144(sp) # 8-byte Folded Reload3272; CHECK-RV32-FDV-NEXT: fld ft3, 136(sp) # 8-byte Folded Reload3273; CHECK-RV32-FDV-NEXT: fld ft4, 128(sp) # 8-byte Folded Reload3274; CHECK-RV32-FDV-NEXT: fld ft5, 120(sp) # 8-byte Folded Reload3275; CHECK-RV32-FDV-NEXT: fld ft6, 112(sp) # 8-byte Folded Reload3276; CHECK-RV32-FDV-NEXT: fld ft7, 104(sp) # 8-byte Folded Reload3277; CHECK-RV32-FDV-NEXT: fld fa0, 96(sp) # 8-byte Folded Reload3278; CHECK-RV32-FDV-NEXT: fld fa1, 88(sp) # 8-byte Folded Reload3279; CHECK-RV32-FDV-NEXT: fld fa2, 80(sp) # 8-byte Folded Reload3280; CHECK-RV32-FDV-NEXT: fld fa3, 72(sp) # 8-byte Folded Reload3281; CHECK-RV32-FDV-NEXT: fld fa4, 64(sp) # 8-byte Folded Reload3282; CHECK-RV32-FDV-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload3283; CHECK-RV32-FDV-NEXT: fld fa6, 48(sp) # 8-byte Folded Reload3284; CHECK-RV32-FDV-NEXT: fld fa7, 40(sp) # 8-byte Folded Reload3285; CHECK-RV32-FDV-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload3286; CHECK-RV32-FDV-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload3287; CHECK-RV32-FDV-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload3288; CHECK-RV32-FDV-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload3289; CHECK-RV32-FDV-NEXT: addi sp, sp, 2403290; CHECK-RV32-FDV-NEXT: mret3291;3292; CHECK-RV64-LABEL: foo_fp_with_call:3293; CHECK-RV64: # %bb.0:3294; CHECK-RV64-NEXT: addi sp, sp, -1443295; CHECK-RV64-NEXT: sd ra, 136(sp) # 8-byte Folded Spill3296; CHECK-RV64-NEXT: sd t0, 128(sp) # 8-byte Folded Spill3297; CHECK-RV64-NEXT: sd t1, 120(sp) # 8-byte Folded Spill3298; CHECK-RV64-NEXT: sd t2, 112(sp) # 8-byte Folded Spill3299; CHECK-RV64-NEXT: sd s0, 104(sp) # 8-byte Folded Spill3300; CHECK-RV64-NEXT: sd a0, 96(sp) # 8-byte Folded Spill3301; CHECK-RV64-NEXT: sd a1, 88(sp) # 8-byte Folded Spill3302; CHECK-RV64-NEXT: sd a2, 80(sp) # 8-byte Folded Spill3303; CHECK-RV64-NEXT: sd a3, 72(sp) # 8-byte Folded Spill3304; CHECK-RV64-NEXT: sd a4, 64(sp) # 8-byte Folded Spill3305; CHECK-RV64-NEXT: sd a5, 56(sp) # 8-byte Folded Spill3306; CHECK-RV64-NEXT: sd a6, 48(sp) # 8-byte Folded Spill3307; CHECK-RV64-NEXT: sd a7, 40(sp) # 8-byte Folded Spill3308; CHECK-RV64-NEXT: sd t3, 32(sp) # 8-byte Folded Spill3309; CHECK-RV64-NEXT: sd t4, 24(sp) # 8-byte Folded Spill3310; CHECK-RV64-NEXT: sd t5, 16(sp) # 8-byte Folded Spill3311; CHECK-RV64-NEXT: sd t6, 8(sp) # 8-byte Folded Spill3312; CHECK-RV64-NEXT: addi s0, sp, 1443313; CHECK-RV64-NEXT: call otherfoo3314; CHECK-RV64-NEXT: ld ra, 136(sp) # 8-byte Folded Reload3315; CHECK-RV64-NEXT: ld t0, 128(sp) # 8-byte Folded Reload3316; CHECK-RV64-NEXT: ld t1, 120(sp) # 8-byte Folded Reload3317; CHECK-RV64-NEXT: ld t2, 112(sp) # 8-byte Folded Reload3318; CHECK-RV64-NEXT: ld s0, 104(sp) # 8-byte Folded Reload3319; CHECK-RV64-NEXT: ld a0, 96(sp) # 8-byte Folded Reload3320; CHECK-RV64-NEXT: ld a1, 88(sp) # 8-byte Folded Reload3321; CHECK-RV64-NEXT: ld a2, 80(sp) # 8-byte Folded Reload3322; CHECK-RV64-NEXT: ld a3, 72(sp) # 8-byte Folded Reload3323; CHECK-RV64-NEXT: ld a4, 64(sp) # 8-byte Folded Reload3324; CHECK-RV64-NEXT: ld a5, 56(sp) # 8-byte Folded Reload3325; CHECK-RV64-NEXT: ld a6, 48(sp) # 8-byte Folded Reload3326; CHECK-RV64-NEXT: ld a7, 40(sp) # 8-byte Folded Reload3327; CHECK-RV64-NEXT: ld t3, 32(sp) # 8-byte Folded Reload3328; CHECK-RV64-NEXT: ld t4, 24(sp) # 8-byte Folded Reload3329; CHECK-RV64-NEXT: ld t5, 16(sp) # 8-byte Folded Reload3330; CHECK-RV64-NEXT: ld t6, 8(sp) # 8-byte Folded Reload3331; CHECK-RV64-NEXT: addi sp, sp, 1443332; CHECK-RV64-NEXT: mret3333;3334; CHECK-RV64-F-LABEL: foo_fp_with_call:3335; CHECK-RV64-F: # %bb.0:3336; CHECK-RV64-F-NEXT: addi sp, sp, -2243337; CHECK-RV64-F-NEXT: sd ra, 216(sp) # 8-byte Folded Spill3338; CHECK-RV64-F-NEXT: sd t0, 208(sp) # 8-byte Folded Spill3339; CHECK-RV64-F-NEXT: sd t1, 200(sp) # 8-byte Folded Spill3340; CHECK-RV64-F-NEXT: sd t2, 192(sp) # 8-byte Folded Spill3341; CHECK-RV64-F-NEXT: sd s0, 184(sp) # 8-byte Folded Spill3342; CHECK-RV64-F-NEXT: sd a0, 176(sp) # 8-byte Folded Spill3343; CHECK-RV64-F-NEXT: sd a1, 168(sp) # 8-byte Folded Spill3344; CHECK-RV64-F-NEXT: sd a2, 160(sp) # 8-byte Folded Spill3345; CHECK-RV64-F-NEXT: sd a3, 152(sp) # 8-byte Folded Spill3346; CHECK-RV64-F-NEXT: sd a4, 144(sp) # 8-byte Folded Spill3347; CHECK-RV64-F-NEXT: sd a5, 136(sp) # 8-byte Folded Spill3348; CHECK-RV64-F-NEXT: sd a6, 128(sp) # 8-byte Folded Spill3349; CHECK-RV64-F-NEXT: sd a7, 120(sp) # 8-byte Folded Spill3350; CHECK-RV64-F-NEXT: sd t3, 112(sp) # 8-byte Folded Spill3351; CHECK-RV64-F-NEXT: sd t4, 104(sp) # 8-byte Folded Spill3352; CHECK-RV64-F-NEXT: sd t5, 96(sp) # 8-byte Folded Spill3353; CHECK-RV64-F-NEXT: sd t6, 88(sp) # 8-byte Folded Spill3354; CHECK-RV64-F-NEXT: fsw ft0, 84(sp) # 4-byte Folded Spill3355; CHECK-RV64-F-NEXT: fsw ft1, 80(sp) # 4-byte Folded Spill3356; CHECK-RV64-F-NEXT: fsw ft2, 76(sp) # 4-byte Folded Spill3357; CHECK-RV64-F-NEXT: fsw ft3, 72(sp) # 4-byte Folded Spill3358; CHECK-RV64-F-NEXT: fsw ft4, 68(sp) # 4-byte Folded Spill3359; CHECK-RV64-F-NEXT: fsw ft5, 64(sp) # 4-byte Folded Spill3360; CHECK-RV64-F-NEXT: fsw ft6, 60(sp) # 4-byte Folded Spill3361; CHECK-RV64-F-NEXT: fsw ft7, 56(sp) # 4-byte Folded Spill3362; CHECK-RV64-F-NEXT: fsw fa0, 52(sp) # 4-byte Folded Spill3363; CHECK-RV64-F-NEXT: fsw fa1, 48(sp) # 4-byte Folded Spill3364; CHECK-RV64-F-NEXT: fsw fa2, 44(sp) # 4-byte Folded Spill3365; CHECK-RV64-F-NEXT: fsw fa3, 40(sp) # 4-byte Folded Spill3366; CHECK-RV64-F-NEXT: fsw fa4, 36(sp) # 4-byte Folded Spill3367; CHECK-RV64-F-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill3368; CHECK-RV64-F-NEXT: fsw fa6, 28(sp) # 4-byte Folded Spill3369; CHECK-RV64-F-NEXT: fsw fa7, 24(sp) # 4-byte Folded Spill3370; CHECK-RV64-F-NEXT: fsw ft8, 20(sp) # 4-byte Folded Spill3371; CHECK-RV64-F-NEXT: fsw ft9, 16(sp) # 4-byte Folded Spill3372; CHECK-RV64-F-NEXT: fsw ft10, 12(sp) # 4-byte Folded Spill3373; CHECK-RV64-F-NEXT: fsw ft11, 8(sp) # 4-byte Folded Spill3374; CHECK-RV64-F-NEXT: addi s0, sp, 2243375; CHECK-RV64-F-NEXT: call otherfoo3376; CHECK-RV64-F-NEXT: ld ra, 216(sp) # 8-byte Folded Reload3377; CHECK-RV64-F-NEXT: ld t0, 208(sp) # 8-byte Folded Reload3378; CHECK-RV64-F-NEXT: ld t1, 200(sp) # 8-byte Folded Reload3379; CHECK-RV64-F-NEXT: ld t2, 192(sp) # 8-byte Folded Reload3380; CHECK-RV64-F-NEXT: ld s0, 184(sp) # 8-byte Folded Reload3381; CHECK-RV64-F-NEXT: ld a0, 176(sp) # 8-byte Folded Reload3382; CHECK-RV64-F-NEXT: ld a1, 168(sp) # 8-byte Folded Reload3383; CHECK-RV64-F-NEXT: ld a2, 160(sp) # 8-byte Folded Reload3384; CHECK-RV64-F-NEXT: ld a3, 152(sp) # 8-byte Folded Reload3385; CHECK-RV64-F-NEXT: ld a4, 144(sp) # 8-byte Folded Reload3386; CHECK-RV64-F-NEXT: ld a5, 136(sp) # 8-byte Folded Reload3387; CHECK-RV64-F-NEXT: ld a6, 128(sp) # 8-byte Folded Reload3388; CHECK-RV64-F-NEXT: ld a7, 120(sp) # 8-byte Folded Reload3389; CHECK-RV64-F-NEXT: ld t3, 112(sp) # 8-byte Folded Reload3390; CHECK-RV64-F-NEXT: ld t4, 104(sp) # 8-byte Folded Reload3391; CHECK-RV64-F-NEXT: ld t5, 96(sp) # 8-byte Folded Reload3392; CHECK-RV64-F-NEXT: ld t6, 88(sp) # 8-byte Folded Reload3393; CHECK-RV64-F-NEXT: flw ft0, 84(sp) # 4-byte Folded Reload3394; CHECK-RV64-F-NEXT: flw ft1, 80(sp) # 4-byte Folded Reload3395; CHECK-RV64-F-NEXT: flw ft2, 76(sp) # 4-byte Folded Reload3396; CHECK-RV64-F-NEXT: flw ft3, 72(sp) # 4-byte Folded Reload3397; CHECK-RV64-F-NEXT: flw ft4, 68(sp) # 4-byte Folded Reload3398; CHECK-RV64-F-NEXT: flw ft5, 64(sp) # 4-byte Folded Reload3399; CHECK-RV64-F-NEXT: flw ft6, 60(sp) # 4-byte Folded Reload3400; CHECK-RV64-F-NEXT: flw ft7, 56(sp) # 4-byte Folded Reload3401; CHECK-RV64-F-NEXT: flw fa0, 52(sp) # 4-byte Folded Reload3402; CHECK-RV64-F-NEXT: flw fa1, 48(sp) # 4-byte Folded Reload3403; CHECK-RV64-F-NEXT: flw fa2, 44(sp) # 4-byte Folded Reload3404; CHECK-RV64-F-NEXT: flw fa3, 40(sp) # 4-byte Folded Reload3405; CHECK-RV64-F-NEXT: flw fa4, 36(sp) # 4-byte Folded Reload3406; CHECK-RV64-F-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload3407; CHECK-RV64-F-NEXT: flw fa6, 28(sp) # 4-byte Folded Reload3408; CHECK-RV64-F-NEXT: flw fa7, 24(sp) # 4-byte Folded Reload3409; CHECK-RV64-F-NEXT: flw ft8, 20(sp) # 4-byte Folded Reload3410; CHECK-RV64-F-NEXT: flw ft9, 16(sp) # 4-byte Folded Reload3411; CHECK-RV64-F-NEXT: flw ft10, 12(sp) # 4-byte Folded Reload3412; CHECK-RV64-F-NEXT: flw ft11, 8(sp) # 4-byte Folded Reload3413; CHECK-RV64-F-NEXT: addi sp, sp, 2243414; CHECK-RV64-F-NEXT: mret3415;3416; CHECK-RV64-FD-LABEL: foo_fp_with_call:3417; CHECK-RV64-FD: # %bb.0:3418; CHECK-RV64-FD-NEXT: addi sp, sp, -3043419; CHECK-RV64-FD-NEXT: sd ra, 296(sp) # 8-byte Folded Spill3420; CHECK-RV64-FD-NEXT: sd t0, 288(sp) # 8-byte Folded Spill3421; CHECK-RV64-FD-NEXT: sd t1, 280(sp) # 8-byte Folded Spill3422; CHECK-RV64-FD-NEXT: sd t2, 272(sp) # 8-byte Folded Spill3423; CHECK-RV64-FD-NEXT: sd s0, 264(sp) # 8-byte Folded Spill3424; CHECK-RV64-FD-NEXT: sd a0, 256(sp) # 8-byte Folded Spill3425; CHECK-RV64-FD-NEXT: sd a1, 248(sp) # 8-byte Folded Spill3426; CHECK-RV64-FD-NEXT: sd a2, 240(sp) # 8-byte Folded Spill3427; CHECK-RV64-FD-NEXT: sd a3, 232(sp) # 8-byte Folded Spill3428; CHECK-RV64-FD-NEXT: sd a4, 224(sp) # 8-byte Folded Spill3429; CHECK-RV64-FD-NEXT: sd a5, 216(sp) # 8-byte Folded Spill3430; CHECK-RV64-FD-NEXT: sd a6, 208(sp) # 8-byte Folded Spill3431; CHECK-RV64-FD-NEXT: sd a7, 200(sp) # 8-byte Folded Spill3432; CHECK-RV64-FD-NEXT: sd t3, 192(sp) # 8-byte Folded Spill3433; CHECK-RV64-FD-NEXT: sd t4, 184(sp) # 8-byte Folded Spill3434; CHECK-RV64-FD-NEXT: sd t5, 176(sp) # 8-byte Folded Spill3435; CHECK-RV64-FD-NEXT: sd t6, 168(sp) # 8-byte Folded Spill3436; CHECK-RV64-FD-NEXT: fsd ft0, 160(sp) # 8-byte Folded Spill3437; CHECK-RV64-FD-NEXT: fsd ft1, 152(sp) # 8-byte Folded Spill3438; CHECK-RV64-FD-NEXT: fsd ft2, 144(sp) # 8-byte Folded Spill3439; CHECK-RV64-FD-NEXT: fsd ft3, 136(sp) # 8-byte Folded Spill3440; CHECK-RV64-FD-NEXT: fsd ft4, 128(sp) # 8-byte Folded Spill3441; CHECK-RV64-FD-NEXT: fsd ft5, 120(sp) # 8-byte Folded Spill3442; CHECK-RV64-FD-NEXT: fsd ft6, 112(sp) # 8-byte Folded Spill3443; CHECK-RV64-FD-NEXT: fsd ft7, 104(sp) # 8-byte Folded Spill3444; CHECK-RV64-FD-NEXT: fsd fa0, 96(sp) # 8-byte Folded Spill3445; CHECK-RV64-FD-NEXT: fsd fa1, 88(sp) # 8-byte Folded Spill3446; CHECK-RV64-FD-NEXT: fsd fa2, 80(sp) # 8-byte Folded Spill3447; CHECK-RV64-FD-NEXT: fsd fa3, 72(sp) # 8-byte Folded Spill3448; CHECK-RV64-FD-NEXT: fsd fa4, 64(sp) # 8-byte Folded Spill3449; CHECK-RV64-FD-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill3450; CHECK-RV64-FD-NEXT: fsd fa6, 48(sp) # 8-byte Folded Spill3451; CHECK-RV64-FD-NEXT: fsd fa7, 40(sp) # 8-byte Folded Spill3452; CHECK-RV64-FD-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill3453; CHECK-RV64-FD-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill3454; CHECK-RV64-FD-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill3455; CHECK-RV64-FD-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill3456; CHECK-RV64-FD-NEXT: addi s0, sp, 3043457; CHECK-RV64-FD-NEXT: call otherfoo3458; CHECK-RV64-FD-NEXT: ld ra, 296(sp) # 8-byte Folded Reload3459; CHECK-RV64-FD-NEXT: ld t0, 288(sp) # 8-byte Folded Reload3460; CHECK-RV64-FD-NEXT: ld t1, 280(sp) # 8-byte Folded Reload3461; CHECK-RV64-FD-NEXT: ld t2, 272(sp) # 8-byte Folded Reload3462; CHECK-RV64-FD-NEXT: ld s0, 264(sp) # 8-byte Folded Reload3463; CHECK-RV64-FD-NEXT: ld a0, 256(sp) # 8-byte Folded Reload3464; CHECK-RV64-FD-NEXT: ld a1, 248(sp) # 8-byte Folded Reload3465; CHECK-RV64-FD-NEXT: ld a2, 240(sp) # 8-byte Folded Reload3466; CHECK-RV64-FD-NEXT: ld a3, 232(sp) # 8-byte Folded Reload3467; CHECK-RV64-FD-NEXT: ld a4, 224(sp) # 8-byte Folded Reload3468; CHECK-RV64-FD-NEXT: ld a5, 216(sp) # 8-byte Folded Reload3469; CHECK-RV64-FD-NEXT: ld a6, 208(sp) # 8-byte Folded Reload3470; CHECK-RV64-FD-NEXT: ld a7, 200(sp) # 8-byte Folded Reload3471; CHECK-RV64-FD-NEXT: ld t3, 192(sp) # 8-byte Folded Reload3472; CHECK-RV64-FD-NEXT: ld t4, 184(sp) # 8-byte Folded Reload3473; CHECK-RV64-FD-NEXT: ld t5, 176(sp) # 8-byte Folded Reload3474; CHECK-RV64-FD-NEXT: ld t6, 168(sp) # 8-byte Folded Reload3475; CHECK-RV64-FD-NEXT: fld ft0, 160(sp) # 8-byte Folded Reload3476; CHECK-RV64-FD-NEXT: fld ft1, 152(sp) # 8-byte Folded Reload3477; CHECK-RV64-FD-NEXT: fld ft2, 144(sp) # 8-byte Folded Reload3478; CHECK-RV64-FD-NEXT: fld ft3, 136(sp) # 8-byte Folded Reload3479; CHECK-RV64-FD-NEXT: fld ft4, 128(sp) # 8-byte Folded Reload3480; CHECK-RV64-FD-NEXT: fld ft5, 120(sp) # 8-byte Folded Reload3481; CHECK-RV64-FD-NEXT: fld ft6, 112(sp) # 8-byte Folded Reload3482; CHECK-RV64-FD-NEXT: fld ft7, 104(sp) # 8-byte Folded Reload3483; CHECK-RV64-FD-NEXT: fld fa0, 96(sp) # 8-byte Folded Reload3484; CHECK-RV64-FD-NEXT: fld fa1, 88(sp) # 8-byte Folded Reload3485; CHECK-RV64-FD-NEXT: fld fa2, 80(sp) # 8-byte Folded Reload3486; CHECK-RV64-FD-NEXT: fld fa3, 72(sp) # 8-byte Folded Reload3487; CHECK-RV64-FD-NEXT: fld fa4, 64(sp) # 8-byte Folded Reload3488; CHECK-RV64-FD-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload3489; CHECK-RV64-FD-NEXT: fld fa6, 48(sp) # 8-byte Folded Reload3490; CHECK-RV64-FD-NEXT: fld fa7, 40(sp) # 8-byte Folded Reload3491; CHECK-RV64-FD-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload3492; CHECK-RV64-FD-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload3493; CHECK-RV64-FD-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload3494; CHECK-RV64-FD-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload3495; CHECK-RV64-FD-NEXT: addi sp, sp, 3043496; CHECK-RV64-FD-NEXT: mret3497;3498; CHECK-RV64-F-LP64-LABEL: foo_fp_with_call:3499; CHECK-RV64-F-LP64: # %bb.0:3500; CHECK-RV64-F-LP64-NEXT: addi sp, sp, -2723501; CHECK-RV64-F-LP64-NEXT: sd ra, 264(sp) # 8-byte Folded Spill3502; CHECK-RV64-F-LP64-NEXT: sd t0, 256(sp) # 8-byte Folded Spill3503; CHECK-RV64-F-LP64-NEXT: sd t1, 248(sp) # 8-byte Folded Spill3504; CHECK-RV64-F-LP64-NEXT: sd t2, 240(sp) # 8-byte Folded Spill3505; CHECK-RV64-F-LP64-NEXT: sd s0, 232(sp) # 8-byte Folded Spill3506; CHECK-RV64-F-LP64-NEXT: sd a0, 224(sp) # 8-byte Folded Spill3507; CHECK-RV64-F-LP64-NEXT: sd a1, 216(sp) # 8-byte Folded Spill3508; CHECK-RV64-F-LP64-NEXT: sd a2, 208(sp) # 8-byte Folded Spill3509; CHECK-RV64-F-LP64-NEXT: sd a3, 200(sp) # 8-byte Folded Spill3510; CHECK-RV64-F-LP64-NEXT: sd a4, 192(sp) # 8-byte Folded Spill3511; CHECK-RV64-F-LP64-NEXT: sd a5, 184(sp) # 8-byte Folded Spill3512; CHECK-RV64-F-LP64-NEXT: sd a6, 176(sp) # 8-byte Folded Spill3513; CHECK-RV64-F-LP64-NEXT: sd a7, 168(sp) # 8-byte Folded Spill3514; CHECK-RV64-F-LP64-NEXT: sd t3, 160(sp) # 8-byte Folded Spill3515; CHECK-RV64-F-LP64-NEXT: sd t4, 152(sp) # 8-byte Folded Spill3516; CHECK-RV64-F-LP64-NEXT: sd t5, 144(sp) # 8-byte Folded Spill3517; CHECK-RV64-F-LP64-NEXT: sd t6, 136(sp) # 8-byte Folded Spill3518; CHECK-RV64-F-LP64-NEXT: fsw ft0, 132(sp) # 4-byte Folded Spill3519; CHECK-RV64-F-LP64-NEXT: fsw ft1, 128(sp) # 4-byte Folded Spill3520; CHECK-RV64-F-LP64-NEXT: fsw ft2, 124(sp) # 4-byte Folded Spill3521; CHECK-RV64-F-LP64-NEXT: fsw ft3, 120(sp) # 4-byte Folded Spill3522; CHECK-RV64-F-LP64-NEXT: fsw ft4, 116(sp) # 4-byte Folded Spill3523; CHECK-RV64-F-LP64-NEXT: fsw ft5, 112(sp) # 4-byte Folded Spill3524; CHECK-RV64-F-LP64-NEXT: fsw ft6, 108(sp) # 4-byte Folded Spill3525; CHECK-RV64-F-LP64-NEXT: fsw ft7, 104(sp) # 4-byte Folded Spill3526; CHECK-RV64-F-LP64-NEXT: fsw fs0, 100(sp) # 4-byte Folded Spill3527; CHECK-RV64-F-LP64-NEXT: fsw fs1, 96(sp) # 4-byte Folded Spill3528; CHECK-RV64-F-LP64-NEXT: fsw fa0, 92(sp) # 4-byte Folded Spill3529; CHECK-RV64-F-LP64-NEXT: fsw fa1, 88(sp) # 4-byte Folded Spill3530; CHECK-RV64-F-LP64-NEXT: fsw fa2, 84(sp) # 4-byte Folded Spill3531; CHECK-RV64-F-LP64-NEXT: fsw fa3, 80(sp) # 4-byte Folded Spill3532; CHECK-RV64-F-LP64-NEXT: fsw fa4, 76(sp) # 4-byte Folded Spill3533; CHECK-RV64-F-LP64-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill3534; CHECK-RV64-F-LP64-NEXT: fsw fa6, 68(sp) # 4-byte Folded Spill3535; CHECK-RV64-F-LP64-NEXT: fsw fa7, 64(sp) # 4-byte Folded Spill3536; CHECK-RV64-F-LP64-NEXT: fsw fs2, 60(sp) # 4-byte Folded Spill3537; CHECK-RV64-F-LP64-NEXT: fsw fs3, 56(sp) # 4-byte Folded Spill3538; CHECK-RV64-F-LP64-NEXT: fsw fs4, 52(sp) # 4-byte Folded Spill3539; CHECK-RV64-F-LP64-NEXT: fsw fs5, 48(sp) # 4-byte Folded Spill3540; CHECK-RV64-F-LP64-NEXT: fsw fs6, 44(sp) # 4-byte Folded Spill3541; CHECK-RV64-F-LP64-NEXT: fsw fs7, 40(sp) # 4-byte Folded Spill3542; CHECK-RV64-F-LP64-NEXT: fsw fs8, 36(sp) # 4-byte Folded Spill3543; CHECK-RV64-F-LP64-NEXT: fsw fs9, 32(sp) # 4-byte Folded Spill3544; CHECK-RV64-F-LP64-NEXT: fsw fs10, 28(sp) # 4-byte Folded Spill3545; CHECK-RV64-F-LP64-NEXT: fsw fs11, 24(sp) # 4-byte Folded Spill3546; CHECK-RV64-F-LP64-NEXT: fsw ft8, 20(sp) # 4-byte Folded Spill3547; CHECK-RV64-F-LP64-NEXT: fsw ft9, 16(sp) # 4-byte Folded Spill3548; CHECK-RV64-F-LP64-NEXT: fsw ft10, 12(sp) # 4-byte Folded Spill3549; CHECK-RV64-F-LP64-NEXT: fsw ft11, 8(sp) # 4-byte Folded Spill3550; CHECK-RV64-F-LP64-NEXT: addi s0, sp, 2723551; CHECK-RV64-F-LP64-NEXT: call otherfoo3552; CHECK-RV64-F-LP64-NEXT: ld ra, 264(sp) # 8-byte Folded Reload3553; CHECK-RV64-F-LP64-NEXT: ld t0, 256(sp) # 8-byte Folded Reload3554; CHECK-RV64-F-LP64-NEXT: ld t1, 248(sp) # 8-byte Folded Reload3555; CHECK-RV64-F-LP64-NEXT: ld t2, 240(sp) # 8-byte Folded Reload3556; CHECK-RV64-F-LP64-NEXT: ld s0, 232(sp) # 8-byte Folded Reload3557; CHECK-RV64-F-LP64-NEXT: ld a0, 224(sp) # 8-byte Folded Reload3558; CHECK-RV64-F-LP64-NEXT: ld a1, 216(sp) # 8-byte Folded Reload3559; CHECK-RV64-F-LP64-NEXT: ld a2, 208(sp) # 8-byte Folded Reload3560; CHECK-RV64-F-LP64-NEXT: ld a3, 200(sp) # 8-byte Folded Reload3561; CHECK-RV64-F-LP64-NEXT: ld a4, 192(sp) # 8-byte Folded Reload3562; CHECK-RV64-F-LP64-NEXT: ld a5, 184(sp) # 8-byte Folded Reload3563; CHECK-RV64-F-LP64-NEXT: ld a6, 176(sp) # 8-byte Folded Reload3564; CHECK-RV64-F-LP64-NEXT: ld a7, 168(sp) # 8-byte Folded Reload3565; CHECK-RV64-F-LP64-NEXT: ld t3, 160(sp) # 8-byte Folded Reload3566; CHECK-RV64-F-LP64-NEXT: ld t4, 152(sp) # 8-byte Folded Reload3567; CHECK-RV64-F-LP64-NEXT: ld t5, 144(sp) # 8-byte Folded Reload3568; CHECK-RV64-F-LP64-NEXT: ld t6, 136(sp) # 8-byte Folded Reload3569; CHECK-RV64-F-LP64-NEXT: flw ft0, 132(sp) # 4-byte Folded Reload3570; CHECK-RV64-F-LP64-NEXT: flw ft1, 128(sp) # 4-byte Folded Reload3571; CHECK-RV64-F-LP64-NEXT: flw ft2, 124(sp) # 4-byte Folded Reload3572; CHECK-RV64-F-LP64-NEXT: flw ft3, 120(sp) # 4-byte Folded Reload3573; CHECK-RV64-F-LP64-NEXT: flw ft4, 116(sp) # 4-byte Folded Reload3574; CHECK-RV64-F-LP64-NEXT: flw ft5, 112(sp) # 4-byte Folded Reload3575; CHECK-RV64-F-LP64-NEXT: flw ft6, 108(sp) # 4-byte Folded Reload3576; CHECK-RV64-F-LP64-NEXT: flw ft7, 104(sp) # 4-byte Folded Reload3577; CHECK-RV64-F-LP64-NEXT: flw fs0, 100(sp) # 4-byte Folded Reload3578; CHECK-RV64-F-LP64-NEXT: flw fs1, 96(sp) # 4-byte Folded Reload3579; CHECK-RV64-F-LP64-NEXT: flw fa0, 92(sp) # 4-byte Folded Reload3580; CHECK-RV64-F-LP64-NEXT: flw fa1, 88(sp) # 4-byte Folded Reload3581; CHECK-RV64-F-LP64-NEXT: flw fa2, 84(sp) # 4-byte Folded Reload3582; CHECK-RV64-F-LP64-NEXT: flw fa3, 80(sp) # 4-byte Folded Reload3583; CHECK-RV64-F-LP64-NEXT: flw fa4, 76(sp) # 4-byte Folded Reload3584; CHECK-RV64-F-LP64-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload3585; CHECK-RV64-F-LP64-NEXT: flw fa6, 68(sp) # 4-byte Folded Reload3586; CHECK-RV64-F-LP64-NEXT: flw fa7, 64(sp) # 4-byte Folded Reload3587; CHECK-RV64-F-LP64-NEXT: flw fs2, 60(sp) # 4-byte Folded Reload3588; CHECK-RV64-F-LP64-NEXT: flw fs3, 56(sp) # 4-byte Folded Reload3589; CHECK-RV64-F-LP64-NEXT: flw fs4, 52(sp) # 4-byte Folded Reload3590; CHECK-RV64-F-LP64-NEXT: flw fs5, 48(sp) # 4-byte Folded Reload3591; CHECK-RV64-F-LP64-NEXT: flw fs6, 44(sp) # 4-byte Folded Reload3592; CHECK-RV64-F-LP64-NEXT: flw fs7, 40(sp) # 4-byte Folded Reload3593; CHECK-RV64-F-LP64-NEXT: flw fs8, 36(sp) # 4-byte Folded Reload3594; CHECK-RV64-F-LP64-NEXT: flw fs9, 32(sp) # 4-byte Folded Reload3595; CHECK-RV64-F-LP64-NEXT: flw fs10, 28(sp) # 4-byte Folded Reload3596; CHECK-RV64-F-LP64-NEXT: flw fs11, 24(sp) # 4-byte Folded Reload3597; CHECK-RV64-F-LP64-NEXT: flw ft8, 20(sp) # 4-byte Folded Reload3598; CHECK-RV64-F-LP64-NEXT: flw ft9, 16(sp) # 4-byte Folded Reload3599; CHECK-RV64-F-LP64-NEXT: flw ft10, 12(sp) # 4-byte Folded Reload3600; CHECK-RV64-F-LP64-NEXT: flw ft11, 8(sp) # 4-byte Folded Reload3601; CHECK-RV64-F-LP64-NEXT: addi sp, sp, 2723602; CHECK-RV64-F-LP64-NEXT: mret3603;3604; CHECK-RV64-FD-LP64F-LABEL: foo_fp_with_call:3605; CHECK-RV64-FD-LP64F: # %bb.0:3606; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, -4003607; CHECK-RV64-FD-LP64F-NEXT: sd ra, 392(sp) # 8-byte Folded Spill3608; CHECK-RV64-FD-LP64F-NEXT: sd t0, 384(sp) # 8-byte Folded Spill3609; CHECK-RV64-FD-LP64F-NEXT: sd t1, 376(sp) # 8-byte Folded Spill3610; CHECK-RV64-FD-LP64F-NEXT: sd t2, 368(sp) # 8-byte Folded Spill3611; CHECK-RV64-FD-LP64F-NEXT: sd s0, 360(sp) # 8-byte Folded Spill3612; CHECK-RV64-FD-LP64F-NEXT: sd a0, 352(sp) # 8-byte Folded Spill3613; CHECK-RV64-FD-LP64F-NEXT: sd a1, 344(sp) # 8-byte Folded Spill3614; CHECK-RV64-FD-LP64F-NEXT: sd a2, 336(sp) # 8-byte Folded Spill3615; CHECK-RV64-FD-LP64F-NEXT: sd a3, 328(sp) # 8-byte Folded Spill3616; CHECK-RV64-FD-LP64F-NEXT: sd a4, 320(sp) # 8-byte Folded Spill3617; CHECK-RV64-FD-LP64F-NEXT: sd a5, 312(sp) # 8-byte Folded Spill3618; CHECK-RV64-FD-LP64F-NEXT: sd a6, 304(sp) # 8-byte Folded Spill3619; CHECK-RV64-FD-LP64F-NEXT: sd a7, 296(sp) # 8-byte Folded Spill3620; CHECK-RV64-FD-LP64F-NEXT: sd t3, 288(sp) # 8-byte Folded Spill3621; CHECK-RV64-FD-LP64F-NEXT: sd t4, 280(sp) # 8-byte Folded Spill3622; CHECK-RV64-FD-LP64F-NEXT: sd t5, 272(sp) # 8-byte Folded Spill3623; CHECK-RV64-FD-LP64F-NEXT: sd t6, 264(sp) # 8-byte Folded Spill3624; CHECK-RV64-FD-LP64F-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill3625; CHECK-RV64-FD-LP64F-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill3626; CHECK-RV64-FD-LP64F-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill3627; CHECK-RV64-FD-LP64F-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill3628; CHECK-RV64-FD-LP64F-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill3629; CHECK-RV64-FD-LP64F-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill3630; CHECK-RV64-FD-LP64F-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill3631; CHECK-RV64-FD-LP64F-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill3632; CHECK-RV64-FD-LP64F-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill3633; CHECK-RV64-FD-LP64F-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill3634; CHECK-RV64-FD-LP64F-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill3635; CHECK-RV64-FD-LP64F-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill3636; CHECK-RV64-FD-LP64F-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill3637; CHECK-RV64-FD-LP64F-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill3638; CHECK-RV64-FD-LP64F-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill3639; CHECK-RV64-FD-LP64F-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill3640; CHECK-RV64-FD-LP64F-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill3641; CHECK-RV64-FD-LP64F-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill3642; CHECK-RV64-FD-LP64F-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill3643; CHECK-RV64-FD-LP64F-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill3644; CHECK-RV64-FD-LP64F-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill3645; CHECK-RV64-FD-LP64F-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill3646; CHECK-RV64-FD-LP64F-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill3647; CHECK-RV64-FD-LP64F-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill3648; CHECK-RV64-FD-LP64F-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill3649; CHECK-RV64-FD-LP64F-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill3650; CHECK-RV64-FD-LP64F-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill3651; CHECK-RV64-FD-LP64F-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill3652; CHECK-RV64-FD-LP64F-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill3653; CHECK-RV64-FD-LP64F-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill3654; CHECK-RV64-FD-LP64F-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill3655; CHECK-RV64-FD-LP64F-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill3656; CHECK-RV64-FD-LP64F-NEXT: addi s0, sp, 4003657; CHECK-RV64-FD-LP64F-NEXT: call otherfoo3658; CHECK-RV64-FD-LP64F-NEXT: ld ra, 392(sp) # 8-byte Folded Reload3659; CHECK-RV64-FD-LP64F-NEXT: ld t0, 384(sp) # 8-byte Folded Reload3660; CHECK-RV64-FD-LP64F-NEXT: ld t1, 376(sp) # 8-byte Folded Reload3661; CHECK-RV64-FD-LP64F-NEXT: ld t2, 368(sp) # 8-byte Folded Reload3662; CHECK-RV64-FD-LP64F-NEXT: ld s0, 360(sp) # 8-byte Folded Reload3663; CHECK-RV64-FD-LP64F-NEXT: ld a0, 352(sp) # 8-byte Folded Reload3664; CHECK-RV64-FD-LP64F-NEXT: ld a1, 344(sp) # 8-byte Folded Reload3665; CHECK-RV64-FD-LP64F-NEXT: ld a2, 336(sp) # 8-byte Folded Reload3666; CHECK-RV64-FD-LP64F-NEXT: ld a3, 328(sp) # 8-byte Folded Reload3667; CHECK-RV64-FD-LP64F-NEXT: ld a4, 320(sp) # 8-byte Folded Reload3668; CHECK-RV64-FD-LP64F-NEXT: ld a5, 312(sp) # 8-byte Folded Reload3669; CHECK-RV64-FD-LP64F-NEXT: ld a6, 304(sp) # 8-byte Folded Reload3670; CHECK-RV64-FD-LP64F-NEXT: ld a7, 296(sp) # 8-byte Folded Reload3671; CHECK-RV64-FD-LP64F-NEXT: ld t3, 288(sp) # 8-byte Folded Reload3672; CHECK-RV64-FD-LP64F-NEXT: ld t4, 280(sp) # 8-byte Folded Reload3673; CHECK-RV64-FD-LP64F-NEXT: ld t5, 272(sp) # 8-byte Folded Reload3674; CHECK-RV64-FD-LP64F-NEXT: ld t6, 264(sp) # 8-byte Folded Reload3675; CHECK-RV64-FD-LP64F-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload3676; CHECK-RV64-FD-LP64F-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload3677; CHECK-RV64-FD-LP64F-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload3678; CHECK-RV64-FD-LP64F-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload3679; CHECK-RV64-FD-LP64F-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload3680; CHECK-RV64-FD-LP64F-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload3681; CHECK-RV64-FD-LP64F-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload3682; CHECK-RV64-FD-LP64F-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload3683; CHECK-RV64-FD-LP64F-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload3684; CHECK-RV64-FD-LP64F-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload3685; CHECK-RV64-FD-LP64F-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload3686; CHECK-RV64-FD-LP64F-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload3687; CHECK-RV64-FD-LP64F-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload3688; CHECK-RV64-FD-LP64F-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload3689; CHECK-RV64-FD-LP64F-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload3690; CHECK-RV64-FD-LP64F-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload3691; CHECK-RV64-FD-LP64F-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload3692; CHECK-RV64-FD-LP64F-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload3693; CHECK-RV64-FD-LP64F-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload3694; CHECK-RV64-FD-LP64F-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload3695; CHECK-RV64-FD-LP64F-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload3696; CHECK-RV64-FD-LP64F-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload3697; CHECK-RV64-FD-LP64F-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload3698; CHECK-RV64-FD-LP64F-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload3699; CHECK-RV64-FD-LP64F-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload3700; CHECK-RV64-FD-LP64F-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload3701; CHECK-RV64-FD-LP64F-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload3702; CHECK-RV64-FD-LP64F-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload3703; CHECK-RV64-FD-LP64F-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload3704; CHECK-RV64-FD-LP64F-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload3705; CHECK-RV64-FD-LP64F-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload3706; CHECK-RV64-FD-LP64F-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload3707; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, 4003708; CHECK-RV64-FD-LP64F-NEXT: mret3709;3710; CHECK-RV64-FD-LP64-LABEL: foo_fp_with_call:3711; CHECK-RV64-FD-LP64: # %bb.0:3712; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, -4003713; CHECK-RV64-FD-LP64-NEXT: sd ra, 392(sp) # 8-byte Folded Spill3714; CHECK-RV64-FD-LP64-NEXT: sd t0, 384(sp) # 8-byte Folded Spill3715; CHECK-RV64-FD-LP64-NEXT: sd t1, 376(sp) # 8-byte Folded Spill3716; CHECK-RV64-FD-LP64-NEXT: sd t2, 368(sp) # 8-byte Folded Spill3717; CHECK-RV64-FD-LP64-NEXT: sd s0, 360(sp) # 8-byte Folded Spill3718; CHECK-RV64-FD-LP64-NEXT: sd a0, 352(sp) # 8-byte Folded Spill3719; CHECK-RV64-FD-LP64-NEXT: sd a1, 344(sp) # 8-byte Folded Spill3720; CHECK-RV64-FD-LP64-NEXT: sd a2, 336(sp) # 8-byte Folded Spill3721; CHECK-RV64-FD-LP64-NEXT: sd a3, 328(sp) # 8-byte Folded Spill3722; CHECK-RV64-FD-LP64-NEXT: sd a4, 320(sp) # 8-byte Folded Spill3723; CHECK-RV64-FD-LP64-NEXT: sd a5, 312(sp) # 8-byte Folded Spill3724; CHECK-RV64-FD-LP64-NEXT: sd a6, 304(sp) # 8-byte Folded Spill3725; CHECK-RV64-FD-LP64-NEXT: sd a7, 296(sp) # 8-byte Folded Spill3726; CHECK-RV64-FD-LP64-NEXT: sd t3, 288(sp) # 8-byte Folded Spill3727; CHECK-RV64-FD-LP64-NEXT: sd t4, 280(sp) # 8-byte Folded Spill3728; CHECK-RV64-FD-LP64-NEXT: sd t5, 272(sp) # 8-byte Folded Spill3729; CHECK-RV64-FD-LP64-NEXT: sd t6, 264(sp) # 8-byte Folded Spill3730; CHECK-RV64-FD-LP64-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill3731; CHECK-RV64-FD-LP64-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill3732; CHECK-RV64-FD-LP64-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill3733; CHECK-RV64-FD-LP64-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill3734; CHECK-RV64-FD-LP64-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill3735; CHECK-RV64-FD-LP64-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill3736; CHECK-RV64-FD-LP64-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill3737; CHECK-RV64-FD-LP64-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill3738; CHECK-RV64-FD-LP64-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill3739; CHECK-RV64-FD-LP64-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill3740; CHECK-RV64-FD-LP64-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill3741; CHECK-RV64-FD-LP64-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill3742; CHECK-RV64-FD-LP64-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill3743; CHECK-RV64-FD-LP64-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill3744; CHECK-RV64-FD-LP64-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill3745; CHECK-RV64-FD-LP64-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill3746; CHECK-RV64-FD-LP64-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill3747; CHECK-RV64-FD-LP64-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill3748; CHECK-RV64-FD-LP64-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill3749; CHECK-RV64-FD-LP64-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill3750; CHECK-RV64-FD-LP64-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill3751; CHECK-RV64-FD-LP64-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill3752; CHECK-RV64-FD-LP64-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill3753; CHECK-RV64-FD-LP64-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill3754; CHECK-RV64-FD-LP64-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill3755; CHECK-RV64-FD-LP64-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill3756; CHECK-RV64-FD-LP64-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill3757; CHECK-RV64-FD-LP64-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill3758; CHECK-RV64-FD-LP64-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill3759; CHECK-RV64-FD-LP64-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill3760; CHECK-RV64-FD-LP64-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill3761; CHECK-RV64-FD-LP64-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill3762; CHECK-RV64-FD-LP64-NEXT: addi s0, sp, 4003763; CHECK-RV64-FD-LP64-NEXT: call otherfoo3764; CHECK-RV64-FD-LP64-NEXT: ld ra, 392(sp) # 8-byte Folded Reload3765; CHECK-RV64-FD-LP64-NEXT: ld t0, 384(sp) # 8-byte Folded Reload3766; CHECK-RV64-FD-LP64-NEXT: ld t1, 376(sp) # 8-byte Folded Reload3767; CHECK-RV64-FD-LP64-NEXT: ld t2, 368(sp) # 8-byte Folded Reload3768; CHECK-RV64-FD-LP64-NEXT: ld s0, 360(sp) # 8-byte Folded Reload3769; CHECK-RV64-FD-LP64-NEXT: ld a0, 352(sp) # 8-byte Folded Reload3770; CHECK-RV64-FD-LP64-NEXT: ld a1, 344(sp) # 8-byte Folded Reload3771; CHECK-RV64-FD-LP64-NEXT: ld a2, 336(sp) # 8-byte Folded Reload3772; CHECK-RV64-FD-LP64-NEXT: ld a3, 328(sp) # 8-byte Folded Reload3773; CHECK-RV64-FD-LP64-NEXT: ld a4, 320(sp) # 8-byte Folded Reload3774; CHECK-RV64-FD-LP64-NEXT: ld a5, 312(sp) # 8-byte Folded Reload3775; CHECK-RV64-FD-LP64-NEXT: ld a6, 304(sp) # 8-byte Folded Reload3776; CHECK-RV64-FD-LP64-NEXT: ld a7, 296(sp) # 8-byte Folded Reload3777; CHECK-RV64-FD-LP64-NEXT: ld t3, 288(sp) # 8-byte Folded Reload3778; CHECK-RV64-FD-LP64-NEXT: ld t4, 280(sp) # 8-byte Folded Reload3779; CHECK-RV64-FD-LP64-NEXT: ld t5, 272(sp) # 8-byte Folded Reload3780; CHECK-RV64-FD-LP64-NEXT: ld t6, 264(sp) # 8-byte Folded Reload3781; CHECK-RV64-FD-LP64-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload3782; CHECK-RV64-FD-LP64-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload3783; CHECK-RV64-FD-LP64-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload3784; CHECK-RV64-FD-LP64-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload3785; CHECK-RV64-FD-LP64-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload3786; CHECK-RV64-FD-LP64-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload3787; CHECK-RV64-FD-LP64-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload3788; CHECK-RV64-FD-LP64-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload3789; CHECK-RV64-FD-LP64-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload3790; CHECK-RV64-FD-LP64-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload3791; CHECK-RV64-FD-LP64-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload3792; CHECK-RV64-FD-LP64-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload3793; CHECK-RV64-FD-LP64-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload3794; CHECK-RV64-FD-LP64-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload3795; CHECK-RV64-FD-LP64-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload3796; CHECK-RV64-FD-LP64-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload3797; CHECK-RV64-FD-LP64-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload3798; CHECK-RV64-FD-LP64-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload3799; CHECK-RV64-FD-LP64-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload3800; CHECK-RV64-FD-LP64-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload3801; CHECK-RV64-FD-LP64-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload3802; CHECK-RV64-FD-LP64-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload3803; CHECK-RV64-FD-LP64-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload3804; CHECK-RV64-FD-LP64-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload3805; CHECK-RV64-FD-LP64-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload3806; CHECK-RV64-FD-LP64-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload3807; CHECK-RV64-FD-LP64-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload3808; CHECK-RV64-FD-LP64-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload3809; CHECK-RV64-FD-LP64-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload3810; CHECK-RV64-FD-LP64-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload3811; CHECK-RV64-FD-LP64-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload3812; CHECK-RV64-FD-LP64-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload3813; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, 4003814; CHECK-RV64-FD-LP64-NEXT: mret3815;3816; CHECK-RV64I-LP64E-LABEL: foo_fp_with_call:3817; CHECK-RV64I-LP64E: # %bb.0:3818; CHECK-RV64I-LP64E-NEXT: addi sp, sp, -2163819; CHECK-RV64I-LP64E-NEXT: sd ra, 208(sp) # 8-byte Folded Spill3820; CHECK-RV64I-LP64E-NEXT: sd t0, 200(sp) # 8-byte Folded Spill3821; CHECK-RV64I-LP64E-NEXT: sd t1, 192(sp) # 8-byte Folded Spill3822; CHECK-RV64I-LP64E-NEXT: sd t2, 184(sp) # 8-byte Folded Spill3823; CHECK-RV64I-LP64E-NEXT: sd s0, 176(sp) # 8-byte Folded Spill3824; CHECK-RV64I-LP64E-NEXT: sd a0, 168(sp) # 8-byte Folded Spill3825; CHECK-RV64I-LP64E-NEXT: sd a1, 160(sp) # 8-byte Folded Spill3826; CHECK-RV64I-LP64E-NEXT: sd a2, 152(sp) # 8-byte Folded Spill3827; CHECK-RV64I-LP64E-NEXT: sd a3, 144(sp) # 8-byte Folded Spill3828; CHECK-RV64I-LP64E-NEXT: sd a4, 136(sp) # 8-byte Folded Spill3829; CHECK-RV64I-LP64E-NEXT: sd a5, 128(sp) # 8-byte Folded Spill3830; CHECK-RV64I-LP64E-NEXT: sd a6, 120(sp) # 8-byte Folded Spill3831; CHECK-RV64I-LP64E-NEXT: sd a7, 112(sp) # 8-byte Folded Spill3832; CHECK-RV64I-LP64E-NEXT: sd s2, 104(sp) # 8-byte Folded Spill3833; CHECK-RV64I-LP64E-NEXT: sd s3, 96(sp) # 8-byte Folded Spill3834; CHECK-RV64I-LP64E-NEXT: sd s4, 88(sp) # 8-byte Folded Spill3835; CHECK-RV64I-LP64E-NEXT: sd s5, 80(sp) # 8-byte Folded Spill3836; CHECK-RV64I-LP64E-NEXT: sd s6, 72(sp) # 8-byte Folded Spill3837; CHECK-RV64I-LP64E-NEXT: sd s7, 64(sp) # 8-byte Folded Spill3838; CHECK-RV64I-LP64E-NEXT: sd s8, 56(sp) # 8-byte Folded Spill3839; CHECK-RV64I-LP64E-NEXT: sd s9, 48(sp) # 8-byte Folded Spill3840; CHECK-RV64I-LP64E-NEXT: sd s10, 40(sp) # 8-byte Folded Spill3841; CHECK-RV64I-LP64E-NEXT: sd s11, 32(sp) # 8-byte Folded Spill3842; CHECK-RV64I-LP64E-NEXT: sd t3, 24(sp) # 8-byte Folded Spill3843; CHECK-RV64I-LP64E-NEXT: sd t4, 16(sp) # 8-byte Folded Spill3844; CHECK-RV64I-LP64E-NEXT: sd t5, 8(sp) # 8-byte Folded Spill3845; CHECK-RV64I-LP64E-NEXT: sd t6, 0(sp) # 8-byte Folded Spill3846; CHECK-RV64I-LP64E-NEXT: addi s0, sp, 2163847; CHECK-RV64I-LP64E-NEXT: call otherfoo3848; CHECK-RV64I-LP64E-NEXT: ld ra, 208(sp) # 8-byte Folded Reload3849; CHECK-RV64I-LP64E-NEXT: ld t0, 200(sp) # 8-byte Folded Reload3850; CHECK-RV64I-LP64E-NEXT: ld t1, 192(sp) # 8-byte Folded Reload3851; CHECK-RV64I-LP64E-NEXT: ld t2, 184(sp) # 8-byte Folded Reload3852; CHECK-RV64I-LP64E-NEXT: ld s0, 176(sp) # 8-byte Folded Reload3853; CHECK-RV64I-LP64E-NEXT: ld a0, 168(sp) # 8-byte Folded Reload3854; CHECK-RV64I-LP64E-NEXT: ld a1, 160(sp) # 8-byte Folded Reload3855; CHECK-RV64I-LP64E-NEXT: ld a2, 152(sp) # 8-byte Folded Reload3856; CHECK-RV64I-LP64E-NEXT: ld a3, 144(sp) # 8-byte Folded Reload3857; CHECK-RV64I-LP64E-NEXT: ld a4, 136(sp) # 8-byte Folded Reload3858; CHECK-RV64I-LP64E-NEXT: ld a5, 128(sp) # 8-byte Folded Reload3859; CHECK-RV64I-LP64E-NEXT: ld a6, 120(sp) # 8-byte Folded Reload3860; CHECK-RV64I-LP64E-NEXT: ld a7, 112(sp) # 8-byte Folded Reload3861; CHECK-RV64I-LP64E-NEXT: ld s2, 104(sp) # 8-byte Folded Reload3862; CHECK-RV64I-LP64E-NEXT: ld s3, 96(sp) # 8-byte Folded Reload3863; CHECK-RV64I-LP64E-NEXT: ld s4, 88(sp) # 8-byte Folded Reload3864; CHECK-RV64I-LP64E-NEXT: ld s5, 80(sp) # 8-byte Folded Reload3865; CHECK-RV64I-LP64E-NEXT: ld s6, 72(sp) # 8-byte Folded Reload3866; CHECK-RV64I-LP64E-NEXT: ld s7, 64(sp) # 8-byte Folded Reload3867; CHECK-RV64I-LP64E-NEXT: ld s8, 56(sp) # 8-byte Folded Reload3868; CHECK-RV64I-LP64E-NEXT: ld s9, 48(sp) # 8-byte Folded Reload3869; CHECK-RV64I-LP64E-NEXT: ld s10, 40(sp) # 8-byte Folded Reload3870; CHECK-RV64I-LP64E-NEXT: ld s11, 32(sp) # 8-byte Folded Reload3871; CHECK-RV64I-LP64E-NEXT: ld t3, 24(sp) # 8-byte Folded Reload3872; CHECK-RV64I-LP64E-NEXT: ld t4, 16(sp) # 8-byte Folded Reload3873; CHECK-RV64I-LP64E-NEXT: ld t5, 8(sp) # 8-byte Folded Reload3874; CHECK-RV64I-LP64E-NEXT: ld t6, 0(sp) # 8-byte Folded Reload3875; CHECK-RV64I-LP64E-NEXT: addi sp, sp, 2163876; CHECK-RV64I-LP64E-NEXT: mret3877;3878; CHECK-RV64E-LABEL: foo_fp_with_call:3879; CHECK-RV64E: # %bb.0:3880; CHECK-RV64E-NEXT: addi sp, sp, -883881; CHECK-RV64E-NEXT: sd ra, 80(sp) # 8-byte Folded Spill3882; CHECK-RV64E-NEXT: sd t0, 72(sp) # 8-byte Folded Spill3883; CHECK-RV64E-NEXT: sd t1, 64(sp) # 8-byte Folded Spill3884; CHECK-RV64E-NEXT: sd t2, 56(sp) # 8-byte Folded Spill3885; CHECK-RV64E-NEXT: sd s0, 48(sp) # 8-byte Folded Spill3886; CHECK-RV64E-NEXT: sd a0, 40(sp) # 8-byte Folded Spill3887; CHECK-RV64E-NEXT: sd a1, 32(sp) # 8-byte Folded Spill3888; CHECK-RV64E-NEXT: sd a2, 24(sp) # 8-byte Folded Spill3889; CHECK-RV64E-NEXT: sd a3, 16(sp) # 8-byte Folded Spill3890; CHECK-RV64E-NEXT: sd a4, 8(sp) # 8-byte Folded Spill3891; CHECK-RV64E-NEXT: sd a5, 0(sp) # 8-byte Folded Spill3892; CHECK-RV64E-NEXT: addi s0, sp, 883893; CHECK-RV64E-NEXT: call otherfoo3894; CHECK-RV64E-NEXT: ld ra, 80(sp) # 8-byte Folded Reload3895; CHECK-RV64E-NEXT: ld t0, 72(sp) # 8-byte Folded Reload3896; CHECK-RV64E-NEXT: ld t1, 64(sp) # 8-byte Folded Reload3897; CHECK-RV64E-NEXT: ld t2, 56(sp) # 8-byte Folded Reload3898; CHECK-RV64E-NEXT: ld s0, 48(sp) # 8-byte Folded Reload3899; CHECK-RV64E-NEXT: ld a0, 40(sp) # 8-byte Folded Reload3900; CHECK-RV64E-NEXT: ld a1, 32(sp) # 8-byte Folded Reload3901; CHECK-RV64E-NEXT: ld a2, 24(sp) # 8-byte Folded Reload3902; CHECK-RV64E-NEXT: ld a3, 16(sp) # 8-byte Folded Reload3903; CHECK-RV64E-NEXT: ld a4, 8(sp) # 8-byte Folded Reload3904; CHECK-RV64E-NEXT: ld a5, 0(sp) # 8-byte Folded Reload3905; CHECK-RV64E-NEXT: addi sp, sp, 883906; CHECK-RV64E-NEXT: mret3907;3908; CHECK-RV64E-F-LABEL: foo_fp_with_call:3909; CHECK-RV64E-F: # %bb.0:3910; CHECK-RV64E-F-NEXT: addi sp, sp, -2163911; CHECK-RV64E-F-NEXT: sd ra, 208(sp) # 8-byte Folded Spill3912; CHECK-RV64E-F-NEXT: sd t0, 200(sp) # 8-byte Folded Spill3913; CHECK-RV64E-F-NEXT: sd t1, 192(sp) # 8-byte Folded Spill3914; CHECK-RV64E-F-NEXT: sd t2, 184(sp) # 8-byte Folded Spill3915; CHECK-RV64E-F-NEXT: sd s0, 176(sp) # 8-byte Folded Spill3916; CHECK-RV64E-F-NEXT: sd a0, 168(sp) # 8-byte Folded Spill3917; CHECK-RV64E-F-NEXT: sd a1, 160(sp) # 8-byte Folded Spill3918; CHECK-RV64E-F-NEXT: sd a2, 152(sp) # 8-byte Folded Spill3919; CHECK-RV64E-F-NEXT: sd a3, 144(sp) # 8-byte Folded Spill3920; CHECK-RV64E-F-NEXT: sd a4, 136(sp) # 8-byte Folded Spill3921; CHECK-RV64E-F-NEXT: sd a5, 128(sp) # 8-byte Folded Spill3922; CHECK-RV64E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill3923; CHECK-RV64E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill3924; CHECK-RV64E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill3925; CHECK-RV64E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill3926; CHECK-RV64E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill3927; CHECK-RV64E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill3928; CHECK-RV64E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill3929; CHECK-RV64E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill3930; CHECK-RV64E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill3931; CHECK-RV64E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill3932; CHECK-RV64E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill3933; CHECK-RV64E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill3934; CHECK-RV64E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill3935; CHECK-RV64E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill3936; CHECK-RV64E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill3937; CHECK-RV64E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill3938; CHECK-RV64E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill3939; CHECK-RV64E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill3940; CHECK-RV64E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill3941; CHECK-RV64E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill3942; CHECK-RV64E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill3943; CHECK-RV64E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill3944; CHECK-RV64E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill3945; CHECK-RV64E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill3946; CHECK-RV64E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill3947; CHECK-RV64E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill3948; CHECK-RV64E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill3949; CHECK-RV64E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill3950; CHECK-RV64E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill3951; CHECK-RV64E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill3952; CHECK-RV64E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill3953; CHECK-RV64E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill3954; CHECK-RV64E-F-NEXT: addi s0, sp, 2163955; CHECK-RV64E-F-NEXT: call otherfoo3956; CHECK-RV64E-F-NEXT: ld ra, 208(sp) # 8-byte Folded Reload3957; CHECK-RV64E-F-NEXT: ld t0, 200(sp) # 8-byte Folded Reload3958; CHECK-RV64E-F-NEXT: ld t1, 192(sp) # 8-byte Folded Reload3959; CHECK-RV64E-F-NEXT: ld t2, 184(sp) # 8-byte Folded Reload3960; CHECK-RV64E-F-NEXT: ld s0, 176(sp) # 8-byte Folded Reload3961; CHECK-RV64E-F-NEXT: ld a0, 168(sp) # 8-byte Folded Reload3962; CHECK-RV64E-F-NEXT: ld a1, 160(sp) # 8-byte Folded Reload3963; CHECK-RV64E-F-NEXT: ld a2, 152(sp) # 8-byte Folded Reload3964; CHECK-RV64E-F-NEXT: ld a3, 144(sp) # 8-byte Folded Reload3965; CHECK-RV64E-F-NEXT: ld a4, 136(sp) # 8-byte Folded Reload3966; CHECK-RV64E-F-NEXT: ld a5, 128(sp) # 8-byte Folded Reload3967; CHECK-RV64E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload3968; CHECK-RV64E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload3969; CHECK-RV64E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload3970; CHECK-RV64E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload3971; CHECK-RV64E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload3972; CHECK-RV64E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload3973; CHECK-RV64E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload3974; CHECK-RV64E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload3975; CHECK-RV64E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload3976; CHECK-RV64E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload3977; CHECK-RV64E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload3978; CHECK-RV64E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload3979; CHECK-RV64E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload3980; CHECK-RV64E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload3981; CHECK-RV64E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload3982; CHECK-RV64E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload3983; CHECK-RV64E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload3984; CHECK-RV64E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload3985; CHECK-RV64E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload3986; CHECK-RV64E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload3987; CHECK-RV64E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload3988; CHECK-RV64E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload3989; CHECK-RV64E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload3990; CHECK-RV64E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload3991; CHECK-RV64E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload3992; CHECK-RV64E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload3993; CHECK-RV64E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload3994; CHECK-RV64E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload3995; CHECK-RV64E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload3996; CHECK-RV64E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload3997; CHECK-RV64E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload3998; CHECK-RV64E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload3999; CHECK-RV64E-F-NEXT: addi sp, sp, 2164000; CHECK-RV64E-F-NEXT: mret4001;4002; CHECK-RV64E-FD-LABEL: foo_fp_with_call:4003; CHECK-RV64E-FD: # %bb.0:4004; CHECK-RV64E-FD-NEXT: addi sp, sp, -3444005; CHECK-RV64E-FD-NEXT: sd ra, 336(sp) # 8-byte Folded Spill4006; CHECK-RV64E-FD-NEXT: sd t0, 328(sp) # 8-byte Folded Spill4007; CHECK-RV64E-FD-NEXT: sd t1, 320(sp) # 8-byte Folded Spill4008; CHECK-RV64E-FD-NEXT: sd t2, 312(sp) # 8-byte Folded Spill4009; CHECK-RV64E-FD-NEXT: sd s0, 304(sp) # 8-byte Folded Spill4010; CHECK-RV64E-FD-NEXT: sd a0, 296(sp) # 8-byte Folded Spill4011; CHECK-RV64E-FD-NEXT: sd a1, 288(sp) # 8-byte Folded Spill4012; CHECK-RV64E-FD-NEXT: sd a2, 280(sp) # 8-byte Folded Spill4013; CHECK-RV64E-FD-NEXT: sd a3, 272(sp) # 8-byte Folded Spill4014; CHECK-RV64E-FD-NEXT: sd a4, 264(sp) # 8-byte Folded Spill4015; CHECK-RV64E-FD-NEXT: sd a5, 256(sp) # 8-byte Folded Spill4016; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill4017; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill4018; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill4019; CHECK-RV64E-FD-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill4020; CHECK-RV64E-FD-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill4021; CHECK-RV64E-FD-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill4022; CHECK-RV64E-FD-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill4023; CHECK-RV64E-FD-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill4024; CHECK-RV64E-FD-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill4025; CHECK-RV64E-FD-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill4026; CHECK-RV64E-FD-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill4027; CHECK-RV64E-FD-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill4028; CHECK-RV64E-FD-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill4029; CHECK-RV64E-FD-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill4030; CHECK-RV64E-FD-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill4031; CHECK-RV64E-FD-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill4032; CHECK-RV64E-FD-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill4033; CHECK-RV64E-FD-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill4034; CHECK-RV64E-FD-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill4035; CHECK-RV64E-FD-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill4036; CHECK-RV64E-FD-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill4037; CHECK-RV64E-FD-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill4038; CHECK-RV64E-FD-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill4039; CHECK-RV64E-FD-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill4040; CHECK-RV64E-FD-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill4041; CHECK-RV64E-FD-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill4042; CHECK-RV64E-FD-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill4043; CHECK-RV64E-FD-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill4044; CHECK-RV64E-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill4045; CHECK-RV64E-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill4046; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill4047; CHECK-RV64E-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill4048; CHECK-RV64E-FD-NEXT: addi s0, sp, 3444049; CHECK-RV64E-FD-NEXT: call otherfoo4050; CHECK-RV64E-FD-NEXT: ld ra, 336(sp) # 8-byte Folded Reload4051; CHECK-RV64E-FD-NEXT: ld t0, 328(sp) # 8-byte Folded Reload4052; CHECK-RV64E-FD-NEXT: ld t1, 320(sp) # 8-byte Folded Reload4053; CHECK-RV64E-FD-NEXT: ld t2, 312(sp) # 8-byte Folded Reload4054; CHECK-RV64E-FD-NEXT: ld s0, 304(sp) # 8-byte Folded Reload4055; CHECK-RV64E-FD-NEXT: ld a0, 296(sp) # 8-byte Folded Reload4056; CHECK-RV64E-FD-NEXT: ld a1, 288(sp) # 8-byte Folded Reload4057; CHECK-RV64E-FD-NEXT: ld a2, 280(sp) # 8-byte Folded Reload4058; CHECK-RV64E-FD-NEXT: ld a3, 272(sp) # 8-byte Folded Reload4059; CHECK-RV64E-FD-NEXT: ld a4, 264(sp) # 8-byte Folded Reload4060; CHECK-RV64E-FD-NEXT: ld a5, 256(sp) # 8-byte Folded Reload4061; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload4062; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload4063; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload4064; CHECK-RV64E-FD-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload4065; CHECK-RV64E-FD-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload4066; CHECK-RV64E-FD-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload4067; CHECK-RV64E-FD-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload4068; CHECK-RV64E-FD-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload4069; CHECK-RV64E-FD-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload4070; CHECK-RV64E-FD-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload4071; CHECK-RV64E-FD-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload4072; CHECK-RV64E-FD-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload4073; CHECK-RV64E-FD-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload4074; CHECK-RV64E-FD-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload4075; CHECK-RV64E-FD-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload4076; CHECK-RV64E-FD-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload4077; CHECK-RV64E-FD-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload4078; CHECK-RV64E-FD-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload4079; CHECK-RV64E-FD-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload4080; CHECK-RV64E-FD-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload4081; CHECK-RV64E-FD-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload4082; CHECK-RV64E-FD-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload4083; CHECK-RV64E-FD-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload4084; CHECK-RV64E-FD-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload4085; CHECK-RV64E-FD-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload4086; CHECK-RV64E-FD-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload4087; CHECK-RV64E-FD-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload4088; CHECK-RV64E-FD-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload4089; CHECK-RV64E-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload4090; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload4091; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload4092; CHECK-RV64E-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload4093; CHECK-RV64E-FD-NEXT: addi sp, sp, 3444094; CHECK-RV64E-FD-NEXT: mret4095;4096; CHECK-RV64-V-LABEL: foo_fp_with_call:4097; CHECK-RV64-V: # %bb.0:4098; CHECK-RV64-V-NEXT: addi sp, sp, -1604099; CHECK-RV64-V-NEXT: sd ra, 152(sp) # 8-byte Folded Spill4100; CHECK-RV64-V-NEXT: sd t0, 144(sp) # 8-byte Folded Spill4101; CHECK-RV64-V-NEXT: sd t1, 136(sp) # 8-byte Folded Spill4102; CHECK-RV64-V-NEXT: sd t2, 128(sp) # 8-byte Folded Spill4103; CHECK-RV64-V-NEXT: sd s0, 120(sp) # 8-byte Folded Spill4104; CHECK-RV64-V-NEXT: sd a0, 112(sp) # 8-byte Folded Spill4105; CHECK-RV64-V-NEXT: sd a1, 104(sp) # 8-byte Folded Spill4106; CHECK-RV64-V-NEXT: sd a2, 96(sp) # 8-byte Folded Spill4107; CHECK-RV64-V-NEXT: sd a3, 88(sp) # 8-byte Folded Spill4108; CHECK-RV64-V-NEXT: sd a4, 80(sp) # 8-byte Folded Spill4109; CHECK-RV64-V-NEXT: sd a5, 72(sp) # 8-byte Folded Spill4110; CHECK-RV64-V-NEXT: sd a6, 64(sp) # 8-byte Folded Spill4111; CHECK-RV64-V-NEXT: sd a7, 56(sp) # 8-byte Folded Spill4112; CHECK-RV64-V-NEXT: sd t3, 48(sp) # 8-byte Folded Spill4113; CHECK-RV64-V-NEXT: sd t4, 40(sp) # 8-byte Folded Spill4114; CHECK-RV64-V-NEXT: sd t5, 32(sp) # 8-byte Folded Spill4115; CHECK-RV64-V-NEXT: sd t6, 24(sp) # 8-byte Folded Spill4116; CHECK-RV64-V-NEXT: addi s0, sp, 1604117; CHECK-RV64-V-NEXT: csrr a0, vlenb4118; CHECK-RV64-V-NEXT: slli a0, a0, 54119; CHECK-RV64-V-NEXT: sub sp, sp, a04120; CHECK-RV64-V-NEXT: csrr a0, vlenb4121; CHECK-RV64-V-NEXT: slli a0, a0, 34122; CHECK-RV64-V-NEXT: sub a0, s0, a04123; CHECK-RV64-V-NEXT: addi a0, a0, -1604124; CHECK-RV64-V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill4125; CHECK-RV64-V-NEXT: csrr a0, vlenb4126; CHECK-RV64-V-NEXT: slli a0, a0, 44127; CHECK-RV64-V-NEXT: sub a0, s0, a04128; CHECK-RV64-V-NEXT: addi a0, a0, -1604129; CHECK-RV64-V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill4130; CHECK-RV64-V-NEXT: csrr a0, vlenb4131; CHECK-RV64-V-NEXT: slli a0, a0, 34132; CHECK-RV64-V-NEXT: mv a1, a04133; CHECK-RV64-V-NEXT: slli a0, a0, 14134; CHECK-RV64-V-NEXT: add a0, a0, a14135; CHECK-RV64-V-NEXT: sub a0, s0, a04136; CHECK-RV64-V-NEXT: addi a0, a0, -1604137; CHECK-RV64-V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill4138; CHECK-RV64-V-NEXT: csrr a0, vlenb4139; CHECK-RV64-V-NEXT: slli a0, a0, 54140; CHECK-RV64-V-NEXT: sub a0, s0, a04141; CHECK-RV64-V-NEXT: addi a0, a0, -1604142; CHECK-RV64-V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill4143; CHECK-RV64-V-NEXT: call otherfoo4144; CHECK-RV64-V-NEXT: csrr a0, vlenb4145; CHECK-RV64-V-NEXT: slli a0, a0, 34146; CHECK-RV64-V-NEXT: sub a0, s0, a04147; CHECK-RV64-V-NEXT: addi a0, a0, -1604148; CHECK-RV64-V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload4149; CHECK-RV64-V-NEXT: csrr a0, vlenb4150; CHECK-RV64-V-NEXT: slli a0, a0, 44151; CHECK-RV64-V-NEXT: sub a0, s0, a04152; CHECK-RV64-V-NEXT: addi a0, a0, -1604153; CHECK-RV64-V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload4154; CHECK-RV64-V-NEXT: csrr a0, vlenb4155; CHECK-RV64-V-NEXT: slli a0, a0, 34156; CHECK-RV64-V-NEXT: mv a1, a04157; CHECK-RV64-V-NEXT: slli a0, a0, 14158; CHECK-RV64-V-NEXT: add a0, a0, a14159; CHECK-RV64-V-NEXT: sub a0, s0, a04160; CHECK-RV64-V-NEXT: addi a0, a0, -1604161; CHECK-RV64-V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload4162; CHECK-RV64-V-NEXT: csrr a0, vlenb4163; CHECK-RV64-V-NEXT: slli a0, a0, 54164; CHECK-RV64-V-NEXT: sub a0, s0, a04165; CHECK-RV64-V-NEXT: addi a0, a0, -1604166; CHECK-RV64-V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload4167; CHECK-RV64-V-NEXT: addi sp, s0, -1604168; CHECK-RV64-V-NEXT: ld ra, 152(sp) # 8-byte Folded Reload4169; CHECK-RV64-V-NEXT: ld t0, 144(sp) # 8-byte Folded Reload4170; CHECK-RV64-V-NEXT: ld t1, 136(sp) # 8-byte Folded Reload4171; CHECK-RV64-V-NEXT: ld t2, 128(sp) # 8-byte Folded Reload4172; CHECK-RV64-V-NEXT: ld s0, 120(sp) # 8-byte Folded Reload4173; CHECK-RV64-V-NEXT: ld a0, 112(sp) # 8-byte Folded Reload4174; CHECK-RV64-V-NEXT: ld a1, 104(sp) # 8-byte Folded Reload4175; CHECK-RV64-V-NEXT: ld a2, 96(sp) # 8-byte Folded Reload4176; CHECK-RV64-V-NEXT: ld a3, 88(sp) # 8-byte Folded Reload4177; CHECK-RV64-V-NEXT: ld a4, 80(sp) # 8-byte Folded Reload4178; CHECK-RV64-V-NEXT: ld a5, 72(sp) # 8-byte Folded Reload4179; CHECK-RV64-V-NEXT: ld a6, 64(sp) # 8-byte Folded Reload4180; CHECK-RV64-V-NEXT: ld a7, 56(sp) # 8-byte Folded Reload4181; CHECK-RV64-V-NEXT: ld t3, 48(sp) # 8-byte Folded Reload4182; CHECK-RV64-V-NEXT: ld t4, 40(sp) # 8-byte Folded Reload4183; CHECK-RV64-V-NEXT: ld t5, 32(sp) # 8-byte Folded Reload4184; CHECK-RV64-V-NEXT: ld t6, 24(sp) # 8-byte Folded Reload4185; CHECK-RV64-V-NEXT: addi sp, sp, 1604186; CHECK-RV64-V-NEXT: mret4187;4188; CHECK-RV64-FV-LABEL: foo_fp_with_call:4189; CHECK-RV64-FV: # %bb.0:4190; CHECK-RV64-FV-NEXT: addi sp, sp, -2404191; CHECK-RV64-FV-NEXT: sd ra, 232(sp) # 8-byte Folded Spill4192; CHECK-RV64-FV-NEXT: sd t0, 224(sp) # 8-byte Folded Spill4193; CHECK-RV64-FV-NEXT: sd t1, 216(sp) # 8-byte Folded Spill4194; CHECK-RV64-FV-NEXT: sd t2, 208(sp) # 8-byte Folded Spill4195; CHECK-RV64-FV-NEXT: sd s0, 200(sp) # 8-byte Folded Spill4196; CHECK-RV64-FV-NEXT: sd a0, 192(sp) # 8-byte Folded Spill4197; CHECK-RV64-FV-NEXT: sd a1, 184(sp) # 8-byte Folded Spill4198; CHECK-RV64-FV-NEXT: sd a2, 176(sp) # 8-byte Folded Spill4199; CHECK-RV64-FV-NEXT: sd a3, 168(sp) # 8-byte Folded Spill4200; CHECK-RV64-FV-NEXT: sd a4, 160(sp) # 8-byte Folded Spill4201; CHECK-RV64-FV-NEXT: sd a5, 152(sp) # 8-byte Folded Spill4202; CHECK-RV64-FV-NEXT: sd a6, 144(sp) # 8-byte Folded Spill4203; CHECK-RV64-FV-NEXT: sd a7, 136(sp) # 8-byte Folded Spill4204; CHECK-RV64-FV-NEXT: sd t3, 128(sp) # 8-byte Folded Spill4205; CHECK-RV64-FV-NEXT: sd t4, 120(sp) # 8-byte Folded Spill4206; CHECK-RV64-FV-NEXT: sd t5, 112(sp) # 8-byte Folded Spill4207; CHECK-RV64-FV-NEXT: sd t6, 104(sp) # 8-byte Folded Spill4208; CHECK-RV64-FV-NEXT: fsw ft0, 100(sp) # 4-byte Folded Spill4209; CHECK-RV64-FV-NEXT: fsw ft1, 96(sp) # 4-byte Folded Spill4210; CHECK-RV64-FV-NEXT: fsw ft2, 92(sp) # 4-byte Folded Spill4211; CHECK-RV64-FV-NEXT: fsw ft3, 88(sp) # 4-byte Folded Spill4212; CHECK-RV64-FV-NEXT: fsw ft4, 84(sp) # 4-byte Folded Spill4213; CHECK-RV64-FV-NEXT: fsw ft5, 80(sp) # 4-byte Folded Spill4214; CHECK-RV64-FV-NEXT: fsw ft6, 76(sp) # 4-byte Folded Spill4215; CHECK-RV64-FV-NEXT: fsw ft7, 72(sp) # 4-byte Folded Spill4216; CHECK-RV64-FV-NEXT: fsw fa0, 68(sp) # 4-byte Folded Spill4217; CHECK-RV64-FV-NEXT: fsw fa1, 64(sp) # 4-byte Folded Spill4218; CHECK-RV64-FV-NEXT: fsw fa2, 60(sp) # 4-byte Folded Spill4219; CHECK-RV64-FV-NEXT: fsw fa3, 56(sp) # 4-byte Folded Spill4220; CHECK-RV64-FV-NEXT: fsw fa4, 52(sp) # 4-byte Folded Spill4221; CHECK-RV64-FV-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill4222; CHECK-RV64-FV-NEXT: fsw fa6, 44(sp) # 4-byte Folded Spill4223; CHECK-RV64-FV-NEXT: fsw fa7, 40(sp) # 4-byte Folded Spill4224; CHECK-RV64-FV-NEXT: fsw ft8, 36(sp) # 4-byte Folded Spill4225; CHECK-RV64-FV-NEXT: fsw ft9, 32(sp) # 4-byte Folded Spill4226; CHECK-RV64-FV-NEXT: fsw ft10, 28(sp) # 4-byte Folded Spill4227; CHECK-RV64-FV-NEXT: fsw ft11, 24(sp) # 4-byte Folded Spill4228; CHECK-RV64-FV-NEXT: addi s0, sp, 2404229; CHECK-RV64-FV-NEXT: csrr a0, vlenb4230; CHECK-RV64-FV-NEXT: slli a0, a0, 54231; CHECK-RV64-FV-NEXT: sub sp, sp, a04232; CHECK-RV64-FV-NEXT: csrr a0, vlenb4233; CHECK-RV64-FV-NEXT: slli a0, a0, 34234; CHECK-RV64-FV-NEXT: sub a0, s0, a04235; CHECK-RV64-FV-NEXT: addi a0, a0, -2404236; CHECK-RV64-FV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill4237; CHECK-RV64-FV-NEXT: csrr a0, vlenb4238; CHECK-RV64-FV-NEXT: slli a0, a0, 44239; CHECK-RV64-FV-NEXT: sub a0, s0, a04240; CHECK-RV64-FV-NEXT: addi a0, a0, -2404241; CHECK-RV64-FV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill4242; CHECK-RV64-FV-NEXT: csrr a0, vlenb4243; CHECK-RV64-FV-NEXT: slli a0, a0, 34244; CHECK-RV64-FV-NEXT: mv a1, a04245; CHECK-RV64-FV-NEXT: slli a0, a0, 14246; CHECK-RV64-FV-NEXT: add a0, a0, a14247; CHECK-RV64-FV-NEXT: sub a0, s0, a04248; CHECK-RV64-FV-NEXT: addi a0, a0, -2404249; CHECK-RV64-FV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill4250; CHECK-RV64-FV-NEXT: csrr a0, vlenb4251; CHECK-RV64-FV-NEXT: slli a0, a0, 54252; CHECK-RV64-FV-NEXT: sub a0, s0, a04253; CHECK-RV64-FV-NEXT: addi a0, a0, -2404254; CHECK-RV64-FV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill4255; CHECK-RV64-FV-NEXT: call otherfoo4256; CHECK-RV64-FV-NEXT: csrr a0, vlenb4257; CHECK-RV64-FV-NEXT: slli a0, a0, 34258; CHECK-RV64-FV-NEXT: sub a0, s0, a04259; CHECK-RV64-FV-NEXT: addi a0, a0, -2404260; CHECK-RV64-FV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload4261; CHECK-RV64-FV-NEXT: csrr a0, vlenb4262; CHECK-RV64-FV-NEXT: slli a0, a0, 44263; CHECK-RV64-FV-NEXT: sub a0, s0, a04264; CHECK-RV64-FV-NEXT: addi a0, a0, -2404265; CHECK-RV64-FV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload4266; CHECK-RV64-FV-NEXT: csrr a0, vlenb4267; CHECK-RV64-FV-NEXT: slli a0, a0, 34268; CHECK-RV64-FV-NEXT: mv a1, a04269; CHECK-RV64-FV-NEXT: slli a0, a0, 14270; CHECK-RV64-FV-NEXT: add a0, a0, a14271; CHECK-RV64-FV-NEXT: sub a0, s0, a04272; CHECK-RV64-FV-NEXT: addi a0, a0, -2404273; CHECK-RV64-FV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload4274; CHECK-RV64-FV-NEXT: csrr a0, vlenb4275; CHECK-RV64-FV-NEXT: slli a0, a0, 54276; CHECK-RV64-FV-NEXT: sub a0, s0, a04277; CHECK-RV64-FV-NEXT: addi a0, a0, -2404278; CHECK-RV64-FV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload4279; CHECK-RV64-FV-NEXT: addi sp, s0, -2404280; CHECK-RV64-FV-NEXT: ld ra, 232(sp) # 8-byte Folded Reload4281; CHECK-RV64-FV-NEXT: ld t0, 224(sp) # 8-byte Folded Reload4282; CHECK-RV64-FV-NEXT: ld t1, 216(sp) # 8-byte Folded Reload4283; CHECK-RV64-FV-NEXT: ld t2, 208(sp) # 8-byte Folded Reload4284; CHECK-RV64-FV-NEXT: ld s0, 200(sp) # 8-byte Folded Reload4285; CHECK-RV64-FV-NEXT: ld a0, 192(sp) # 8-byte Folded Reload4286; CHECK-RV64-FV-NEXT: ld a1, 184(sp) # 8-byte Folded Reload4287; CHECK-RV64-FV-NEXT: ld a2, 176(sp) # 8-byte Folded Reload4288; CHECK-RV64-FV-NEXT: ld a3, 168(sp) # 8-byte Folded Reload4289; CHECK-RV64-FV-NEXT: ld a4, 160(sp) # 8-byte Folded Reload4290; CHECK-RV64-FV-NEXT: ld a5, 152(sp) # 8-byte Folded Reload4291; CHECK-RV64-FV-NEXT: ld a6, 144(sp) # 8-byte Folded Reload4292; CHECK-RV64-FV-NEXT: ld a7, 136(sp) # 8-byte Folded Reload4293; CHECK-RV64-FV-NEXT: ld t3, 128(sp) # 8-byte Folded Reload4294; CHECK-RV64-FV-NEXT: ld t4, 120(sp) # 8-byte Folded Reload4295; CHECK-RV64-FV-NEXT: ld t5, 112(sp) # 8-byte Folded Reload4296; CHECK-RV64-FV-NEXT: ld t6, 104(sp) # 8-byte Folded Reload4297; CHECK-RV64-FV-NEXT: flw ft0, 100(sp) # 4-byte Folded Reload4298; CHECK-RV64-FV-NEXT: flw ft1, 96(sp) # 4-byte Folded Reload4299; CHECK-RV64-FV-NEXT: flw ft2, 92(sp) # 4-byte Folded Reload4300; CHECK-RV64-FV-NEXT: flw ft3, 88(sp) # 4-byte Folded Reload4301; CHECK-RV64-FV-NEXT: flw ft4, 84(sp) # 4-byte Folded Reload4302; CHECK-RV64-FV-NEXT: flw ft5, 80(sp) # 4-byte Folded Reload4303; CHECK-RV64-FV-NEXT: flw ft6, 76(sp) # 4-byte Folded Reload4304; CHECK-RV64-FV-NEXT: flw ft7, 72(sp) # 4-byte Folded Reload4305; CHECK-RV64-FV-NEXT: flw fa0, 68(sp) # 4-byte Folded Reload4306; CHECK-RV64-FV-NEXT: flw fa1, 64(sp) # 4-byte Folded Reload4307; CHECK-RV64-FV-NEXT: flw fa2, 60(sp) # 4-byte Folded Reload4308; CHECK-RV64-FV-NEXT: flw fa3, 56(sp) # 4-byte Folded Reload4309; CHECK-RV64-FV-NEXT: flw fa4, 52(sp) # 4-byte Folded Reload4310; CHECK-RV64-FV-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload4311; CHECK-RV64-FV-NEXT: flw fa6, 44(sp) # 4-byte Folded Reload4312; CHECK-RV64-FV-NEXT: flw fa7, 40(sp) # 4-byte Folded Reload4313; CHECK-RV64-FV-NEXT: flw ft8, 36(sp) # 4-byte Folded Reload4314; CHECK-RV64-FV-NEXT: flw ft9, 32(sp) # 4-byte Folded Reload4315; CHECK-RV64-FV-NEXT: flw ft10, 28(sp) # 4-byte Folded Reload4316; CHECK-RV64-FV-NEXT: flw ft11, 24(sp) # 4-byte Folded Reload4317; CHECK-RV64-FV-NEXT: addi sp, sp, 2404318; CHECK-RV64-FV-NEXT: mret4319;4320; CHECK-RV64-FDV-LABEL: foo_fp_with_call:4321; CHECK-RV64-FDV: # %bb.0:4322; CHECK-RV64-FDV-NEXT: addi sp, sp, -3204323; CHECK-RV64-FDV-NEXT: sd ra, 312(sp) # 8-byte Folded Spill4324; CHECK-RV64-FDV-NEXT: sd t0, 304(sp) # 8-byte Folded Spill4325; CHECK-RV64-FDV-NEXT: sd t1, 296(sp) # 8-byte Folded Spill4326; CHECK-RV64-FDV-NEXT: sd t2, 288(sp) # 8-byte Folded Spill4327; CHECK-RV64-FDV-NEXT: sd s0, 280(sp) # 8-byte Folded Spill4328; CHECK-RV64-FDV-NEXT: sd a0, 272(sp) # 8-byte Folded Spill4329; CHECK-RV64-FDV-NEXT: sd a1, 264(sp) # 8-byte Folded Spill4330; CHECK-RV64-FDV-NEXT: sd a2, 256(sp) # 8-byte Folded Spill4331; CHECK-RV64-FDV-NEXT: sd a3, 248(sp) # 8-byte Folded Spill4332; CHECK-RV64-FDV-NEXT: sd a4, 240(sp) # 8-byte Folded Spill4333; CHECK-RV64-FDV-NEXT: sd a5, 232(sp) # 8-byte Folded Spill4334; CHECK-RV64-FDV-NEXT: sd a6, 224(sp) # 8-byte Folded Spill4335; CHECK-RV64-FDV-NEXT: sd a7, 216(sp) # 8-byte Folded Spill4336; CHECK-RV64-FDV-NEXT: sd t3, 208(sp) # 8-byte Folded Spill4337; CHECK-RV64-FDV-NEXT: sd t4, 200(sp) # 8-byte Folded Spill4338; CHECK-RV64-FDV-NEXT: sd t5, 192(sp) # 8-byte Folded Spill4339; CHECK-RV64-FDV-NEXT: sd t6, 184(sp) # 8-byte Folded Spill4340; CHECK-RV64-FDV-NEXT: fsd ft0, 176(sp) # 8-byte Folded Spill4341; CHECK-RV64-FDV-NEXT: fsd ft1, 168(sp) # 8-byte Folded Spill4342; CHECK-RV64-FDV-NEXT: fsd ft2, 160(sp) # 8-byte Folded Spill4343; CHECK-RV64-FDV-NEXT: fsd ft3, 152(sp) # 8-byte Folded Spill4344; CHECK-RV64-FDV-NEXT: fsd ft4, 144(sp) # 8-byte Folded Spill4345; CHECK-RV64-FDV-NEXT: fsd ft5, 136(sp) # 8-byte Folded Spill4346; CHECK-RV64-FDV-NEXT: fsd ft6, 128(sp) # 8-byte Folded Spill4347; CHECK-RV64-FDV-NEXT: fsd ft7, 120(sp) # 8-byte Folded Spill4348; CHECK-RV64-FDV-NEXT: fsd fa0, 112(sp) # 8-byte Folded Spill4349; CHECK-RV64-FDV-NEXT: fsd fa1, 104(sp) # 8-byte Folded Spill4350; CHECK-RV64-FDV-NEXT: fsd fa2, 96(sp) # 8-byte Folded Spill4351; CHECK-RV64-FDV-NEXT: fsd fa3, 88(sp) # 8-byte Folded Spill4352; CHECK-RV64-FDV-NEXT: fsd fa4, 80(sp) # 8-byte Folded Spill4353; CHECK-RV64-FDV-NEXT: fsd fa5, 72(sp) # 8-byte Folded Spill4354; CHECK-RV64-FDV-NEXT: fsd fa6, 64(sp) # 8-byte Folded Spill4355; CHECK-RV64-FDV-NEXT: fsd fa7, 56(sp) # 8-byte Folded Spill4356; CHECK-RV64-FDV-NEXT: fsd ft8, 48(sp) # 8-byte Folded Spill4357; CHECK-RV64-FDV-NEXT: fsd ft9, 40(sp) # 8-byte Folded Spill4358; CHECK-RV64-FDV-NEXT: fsd ft10, 32(sp) # 8-byte Folded Spill4359; CHECK-RV64-FDV-NEXT: fsd ft11, 24(sp) # 8-byte Folded Spill4360; CHECK-RV64-FDV-NEXT: addi s0, sp, 3204361; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4362; CHECK-RV64-FDV-NEXT: slli a0, a0, 54363; CHECK-RV64-FDV-NEXT: sub sp, sp, a04364; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4365; CHECK-RV64-FDV-NEXT: slli a0, a0, 34366; CHECK-RV64-FDV-NEXT: sub a0, s0, a04367; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204368; CHECK-RV64-FDV-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill4369; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4370; CHECK-RV64-FDV-NEXT: slli a0, a0, 44371; CHECK-RV64-FDV-NEXT: sub a0, s0, a04372; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204373; CHECK-RV64-FDV-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill4374; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4375; CHECK-RV64-FDV-NEXT: slli a0, a0, 34376; CHECK-RV64-FDV-NEXT: mv a1, a04377; CHECK-RV64-FDV-NEXT: slli a0, a0, 14378; CHECK-RV64-FDV-NEXT: add a0, a0, a14379; CHECK-RV64-FDV-NEXT: sub a0, s0, a04380; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204381; CHECK-RV64-FDV-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill4382; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4383; CHECK-RV64-FDV-NEXT: slli a0, a0, 54384; CHECK-RV64-FDV-NEXT: sub a0, s0, a04385; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204386; CHECK-RV64-FDV-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill4387; CHECK-RV64-FDV-NEXT: call otherfoo4388; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4389; CHECK-RV64-FDV-NEXT: slli a0, a0, 34390; CHECK-RV64-FDV-NEXT: sub a0, s0, a04391; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204392; CHECK-RV64-FDV-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload4393; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4394; CHECK-RV64-FDV-NEXT: slli a0, a0, 44395; CHECK-RV64-FDV-NEXT: sub a0, s0, a04396; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204397; CHECK-RV64-FDV-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload4398; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4399; CHECK-RV64-FDV-NEXT: slli a0, a0, 34400; CHECK-RV64-FDV-NEXT: mv a1, a04401; CHECK-RV64-FDV-NEXT: slli a0, a0, 14402; CHECK-RV64-FDV-NEXT: add a0, a0, a14403; CHECK-RV64-FDV-NEXT: sub a0, s0, a04404; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204405; CHECK-RV64-FDV-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload4406; CHECK-RV64-FDV-NEXT: csrr a0, vlenb4407; CHECK-RV64-FDV-NEXT: slli a0, a0, 54408; CHECK-RV64-FDV-NEXT: sub a0, s0, a04409; CHECK-RV64-FDV-NEXT: addi a0, a0, -3204410; CHECK-RV64-FDV-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload4411; CHECK-RV64-FDV-NEXT: addi sp, s0, -3204412; CHECK-RV64-FDV-NEXT: ld ra, 312(sp) # 8-byte Folded Reload4413; CHECK-RV64-FDV-NEXT: ld t0, 304(sp) # 8-byte Folded Reload4414; CHECK-RV64-FDV-NEXT: ld t1, 296(sp) # 8-byte Folded Reload4415; CHECK-RV64-FDV-NEXT: ld t2, 288(sp) # 8-byte Folded Reload4416; CHECK-RV64-FDV-NEXT: ld s0, 280(sp) # 8-byte Folded Reload4417; CHECK-RV64-FDV-NEXT: ld a0, 272(sp) # 8-byte Folded Reload4418; CHECK-RV64-FDV-NEXT: ld a1, 264(sp) # 8-byte Folded Reload4419; CHECK-RV64-FDV-NEXT: ld a2, 256(sp) # 8-byte Folded Reload4420; CHECK-RV64-FDV-NEXT: ld a3, 248(sp) # 8-byte Folded Reload4421; CHECK-RV64-FDV-NEXT: ld a4, 240(sp) # 8-byte Folded Reload4422; CHECK-RV64-FDV-NEXT: ld a5, 232(sp) # 8-byte Folded Reload4423; CHECK-RV64-FDV-NEXT: ld a6, 224(sp) # 8-byte Folded Reload4424; CHECK-RV64-FDV-NEXT: ld a7, 216(sp) # 8-byte Folded Reload4425; CHECK-RV64-FDV-NEXT: ld t3, 208(sp) # 8-byte Folded Reload4426; CHECK-RV64-FDV-NEXT: ld t4, 200(sp) # 8-byte Folded Reload4427; CHECK-RV64-FDV-NEXT: ld t5, 192(sp) # 8-byte Folded Reload4428; CHECK-RV64-FDV-NEXT: ld t6, 184(sp) # 8-byte Folded Reload4429; CHECK-RV64-FDV-NEXT: fld ft0, 176(sp) # 8-byte Folded Reload4430; CHECK-RV64-FDV-NEXT: fld ft1, 168(sp) # 8-byte Folded Reload4431; CHECK-RV64-FDV-NEXT: fld ft2, 160(sp) # 8-byte Folded Reload4432; CHECK-RV64-FDV-NEXT: fld ft3, 152(sp) # 8-byte Folded Reload4433; CHECK-RV64-FDV-NEXT: fld ft4, 144(sp) # 8-byte Folded Reload4434; CHECK-RV64-FDV-NEXT: fld ft5, 136(sp) # 8-byte Folded Reload4435; CHECK-RV64-FDV-NEXT: fld ft6, 128(sp) # 8-byte Folded Reload4436; CHECK-RV64-FDV-NEXT: fld ft7, 120(sp) # 8-byte Folded Reload4437; CHECK-RV64-FDV-NEXT: fld fa0, 112(sp) # 8-byte Folded Reload4438; CHECK-RV64-FDV-NEXT: fld fa1, 104(sp) # 8-byte Folded Reload4439; CHECK-RV64-FDV-NEXT: fld fa2, 96(sp) # 8-byte Folded Reload4440; CHECK-RV64-FDV-NEXT: fld fa3, 88(sp) # 8-byte Folded Reload4441; CHECK-RV64-FDV-NEXT: fld fa4, 80(sp) # 8-byte Folded Reload4442; CHECK-RV64-FDV-NEXT: fld fa5, 72(sp) # 8-byte Folded Reload4443; CHECK-RV64-FDV-NEXT: fld fa6, 64(sp) # 8-byte Folded Reload4444; CHECK-RV64-FDV-NEXT: fld fa7, 56(sp) # 8-byte Folded Reload4445; CHECK-RV64-FDV-NEXT: fld ft8, 48(sp) # 8-byte Folded Reload4446; CHECK-RV64-FDV-NEXT: fld ft9, 40(sp) # 8-byte Folded Reload4447; CHECK-RV64-FDV-NEXT: fld ft10, 32(sp) # 8-byte Folded Reload4448; CHECK-RV64-FDV-NEXT: fld ft11, 24(sp) # 8-byte Folded Reload4449; CHECK-RV64-FDV-NEXT: addi sp, sp, 3204450; CHECK-RV64-FDV-NEXT: mret4451 %call = call i32 @otherfoo()4452 ret void4453}4454 4455attributes #0 = { nounwind "interrupt"="supervisor" }4456attributes #1 = { nounwind "interrupt"="machine" }4457attributes #2 = { nounwind "interrupt"="machine" "frame-pointer"="all" }4458