1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple riscv32-unknown-elf -o - %s \ 3; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32 4; RUN: llc -mtriple riscv32-unknown-elf -mattr=+f -o - %s \ 5; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-F 6; RUN: llc -mtriple riscv32-unknown-elf -mattr=+f,+d -o - %s \ 7; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV32-FD 8; 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-ILP3 11; 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-ILP32F 13; 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-ILP32 15 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-ILP32E 18; RUN: llc -mtriple riscv32-unknown-elf -mattr=+e -o - %s \ 19; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV32E 20; RUN: llc -mtriple riscv32-unknown-elf -mattr=+e,+f -o - %s \ 21; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV32E-F 22; 23; RUN: llc -mtriple riscv64-unknown-elf -o - %s \ 24; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64 25; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f -o - %s \ 26; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-F 27; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f,+d -o - %s \ 28; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FD 29 30; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f -target-abi=lp64 -o - %s \ 31; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-F-LP64 32; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f,+d -target-abi=lp64f -o - %s \ 33; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FD-LP64F 34; RUN: llc -mtriple riscv64-unknown-elf -mattr=+f,+d -target-abi=lp64 -o - %s \ 35; RUN: 2>&1 | FileCheck %s -check-prefix CHECK -check-prefix CHECK-RV64-FD-LP64 36; 37; RUN: llc -mtriple riscv64-unknown-elf -mattr=+i -target-abi lp64e -o - %s \ 38; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64I-LP64E 39; RUN: llc -mtriple riscv64-unknown-elf -mattr=+e -o - %s \ 40; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64E 41; RUN: llc -mtriple riscv64-unknown-elf -mattr=+e,+f -o - %s \ 42; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64E-F 43; RUN: llc -mtriple riscv64-unknown-elf -mattr=+e,+f,+d -o - %s \ 44; RUN: 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-RV64E-FD 45 46; 47; Checking for special return instructions (sret, mret). 48; 49define void @foo_supervisor() #0 { 50; CHECK-LABEL: foo_supervisor: 51; CHECK: # %bb.0: 52; CHECK-NEXT: sret 53 ret void 54} 55 56define void @foo_machine() #1 { 57; CHECK-LABEL: foo_machine: 58; CHECK: # %bb.0: 59; CHECK-NEXT: mret 60 ret void 61} 62 63; 64; Checking all Caller saved registers (arguments and temps) 65; and FP registers are all saved when the handler calls another function. 66; 67; extern int otherfoo(); 68; 69; __attribute__((interrupt)) void foo_with_call() { 70; otherfoo(); 71; } 72; 73 74declare i32 @otherfoo(...) 75define void @foo_with_call() #1 { 76; 77; CHECK-RV32-LABEL: foo_with_call: 78; CHECK-RV32: # %bb.0: 79; CHECK-RV32-NEXT: addi sp, sp, -64 80; CHECK-RV32-NEXT: sw ra, 60(sp) # 4-byte Folded Spill 81; CHECK-RV32-NEXT: sw t0, 56(sp) # 4-byte Folded Spill 82; CHECK-RV32-NEXT: sw t1, 52(sp) # 4-byte Folded Spill 83; CHECK-RV32-NEXT: sw t2, 48(sp) # 4-byte Folded Spill 84; CHECK-RV32-NEXT: sw a0, 44(sp) # 4-byte Folded Spill 85; CHECK-RV32-NEXT: sw a1, 40(sp) # 4-byte Folded Spill 86; CHECK-RV32-NEXT: sw a2, 36(sp) # 4-byte Folded Spill 87; CHECK-RV32-NEXT: sw a3, 32(sp) # 4-byte Folded Spill 88; CHECK-RV32-NEXT: sw a4, 28(sp) # 4-byte Folded Spill 89; CHECK-RV32-NEXT: sw a5, 24(sp) # 4-byte Folded Spill 90; CHECK-RV32-NEXT: sw a6, 20(sp) # 4-byte Folded Spill 91; CHECK-RV32-NEXT: sw a7, 16(sp) # 4-byte Folded Spill 92; CHECK-RV32-NEXT: sw t3, 12(sp) # 4-byte Folded Spill 93; CHECK-RV32-NEXT: sw t4, 8(sp) # 4-byte Folded Spill 94; CHECK-RV32-NEXT: sw t5, 4(sp) # 4-byte Folded Spill 95; CHECK-RV32-NEXT: sw t6, 0(sp) # 4-byte Folded Spill 96; CHECK-RV32-NEXT: call otherfoo 97; CHECK-RV32-NEXT: lw ra, 60(sp) # 4-byte Folded Reload 98; CHECK-RV32-NEXT: lw t0, 56(sp) # 4-byte Folded Reload 99; CHECK-RV32-NEXT: lw t1, 52(sp) # 4-byte Folded Reload 100; CHECK-RV32-NEXT: lw t2, 48(sp) # 4-byte Folded Reload 101; CHECK-RV32-NEXT: lw a0, 44(sp) # 4-byte Folded Reload 102; CHECK-RV32-NEXT: lw a1, 40(sp) # 4-byte Folded Reload 103; CHECK-RV32-NEXT: lw a2, 36(sp) # 4-byte Folded Reload 104; CHECK-RV32-NEXT: lw a3, 32(sp) # 4-byte Folded Reload 105; CHECK-RV32-NEXT: lw a4, 28(sp) # 4-byte Folded Reload 106; CHECK-RV32-NEXT: lw a5, 24(sp) # 4-byte Folded Reload 107; CHECK-RV32-NEXT: lw a6, 20(sp) # 4-byte Folded Reload 108; CHECK-RV32-NEXT: lw a7, 16(sp) # 4-byte Folded Reload 109; CHECK-RV32-NEXT: lw t3, 12(sp) # 4-byte Folded Reload 110; CHECK-RV32-NEXT: lw t4, 8(sp) # 4-byte Folded Reload 111; CHECK-RV32-NEXT: lw t5, 4(sp) # 4-byte Folded Reload 112; CHECK-RV32-NEXT: lw t6, 0(sp) # 4-byte Folded Reload 113; CHECK-RV32-NEXT: addi sp, sp, 64 114; CHECK-RV32-NEXT: mret 115; 116; CHECK-RV32-F-LABEL: foo_with_call: 117; CHECK-RV32-F: # %bb.0: 118; CHECK-RV32-F-NEXT: addi sp, sp, -144 119; CHECK-RV32-F-NEXT: sw ra, 140(sp) # 4-byte Folded Spill 120; CHECK-RV32-F-NEXT: sw t0, 136(sp) # 4-byte Folded Spill 121; CHECK-RV32-F-NEXT: sw t1, 132(sp) # 4-byte Folded Spill 122; CHECK-RV32-F-NEXT: sw t2, 128(sp) # 4-byte Folded Spill 123; CHECK-RV32-F-NEXT: sw a0, 124(sp) # 4-byte Folded Spill 124; CHECK-RV32-F-NEXT: sw a1, 120(sp) # 4-byte Folded Spill 125; CHECK-RV32-F-NEXT: sw a2, 116(sp) # 4-byte Folded Spill 126; CHECK-RV32-F-NEXT: sw a3, 112(sp) # 4-byte Folded Spill 127; CHECK-RV32-F-NEXT: sw a4, 108(sp) # 4-byte Folded Spill 128; CHECK-RV32-F-NEXT: sw a5, 104(sp) # 4-byte Folded Spill 129; CHECK-RV32-F-NEXT: sw a6, 100(sp) # 4-byte Folded Spill 130; CHECK-RV32-F-NEXT: sw a7, 96(sp) # 4-byte Folded Spill 131; CHECK-RV32-F-NEXT: sw t3, 92(sp) # 4-byte Folded Spill 132; CHECK-RV32-F-NEXT: sw t4, 88(sp) # 4-byte Folded Spill 133; CHECK-RV32-F-NEXT: sw t5, 84(sp) # 4-byte Folded Spill 134; CHECK-RV32-F-NEXT: sw t6, 80(sp) # 4-byte Folded Spill 135; CHECK-RV32-F-NEXT: fsw ft0, 76(sp) # 4-byte Folded Spill 136; CHECK-RV32-F-NEXT: fsw ft1, 72(sp) # 4-byte Folded Spill 137; CHECK-RV32-F-NEXT: fsw ft2, 68(sp) # 4-byte Folded Spill 138; CHECK-RV32-F-NEXT: fsw ft3, 64(sp) # 4-byte Folded Spill 139; CHECK-RV32-F-NEXT: fsw ft4, 60(sp) # 4-byte Folded Spill 140; CHECK-RV32-F-NEXT: fsw ft5, 56(sp) # 4-byte Folded Spill 141; CHECK-RV32-F-NEXT: fsw ft6, 52(sp) # 4-byte Folded Spill 142; CHECK-RV32-F-NEXT: fsw ft7, 48(sp) # 4-byte Folded Spill 143; CHECK-RV32-F-NEXT: fsw fa0, 44(sp) # 4-byte Folded Spill 144; CHECK-RV32-F-NEXT: fsw fa1, 40(sp) # 4-byte Folded Spill 145; CHECK-RV32-F-NEXT: fsw fa2, 36(sp) # 4-byte Folded Spill 146; CHECK-RV32-F-NEXT: fsw fa3, 32(sp) # 4-byte Folded Spill 147; CHECK-RV32-F-NEXT: fsw fa4, 28(sp) # 4-byte Folded Spill 148; CHECK-RV32-F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 149; CHECK-RV32-F-NEXT: fsw fa6, 20(sp) # 4-byte Folded Spill 150; CHECK-RV32-F-NEXT: fsw fa7, 16(sp) # 4-byte Folded Spill 151; CHECK-RV32-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 152; CHECK-RV32-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 153; CHECK-RV32-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 154; CHECK-RV32-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 155; CHECK-RV32-F-NEXT: call otherfoo 156; CHECK-RV32-F-NEXT: lw ra, 140(sp) # 4-byte Folded Reload 157; CHECK-RV32-F-NEXT: lw t0, 136(sp) # 4-byte Folded Reload 158; CHECK-RV32-F-NEXT: lw t1, 132(sp) # 4-byte Folded Reload 159; CHECK-RV32-F-NEXT: lw t2, 128(sp) # 4-byte Folded Reload 160; CHECK-RV32-F-NEXT: lw a0, 124(sp) # 4-byte Folded Reload 161; CHECK-RV32-F-NEXT: lw a1, 120(sp) # 4-byte Folded Reload 162; CHECK-RV32-F-NEXT: lw a2, 116(sp) # 4-byte Folded Reload 163; CHECK-RV32-F-NEXT: lw a3, 112(sp) # 4-byte Folded Reload 164; CHECK-RV32-F-NEXT: lw a4, 108(sp) # 4-byte Folded Reload 165; CHECK-RV32-F-NEXT: lw a5, 104(sp) # 4-byte Folded Reload 166; CHECK-RV32-F-NEXT: lw a6, 100(sp) # 4-byte Folded Reload 167; CHECK-RV32-F-NEXT: lw a7, 96(sp) # 4-byte Folded Reload 168; CHECK-RV32-F-NEXT: lw t3, 92(sp) # 4-byte Folded Reload 169; CHECK-RV32-F-NEXT: lw t4, 88(sp) # 4-byte Folded Reload 170; CHECK-RV32-F-NEXT: lw t5, 84(sp) # 4-byte Folded Reload 171; CHECK-RV32-F-NEXT: lw t6, 80(sp) # 4-byte Folded Reload 172; CHECK-RV32-F-NEXT: flw ft0, 76(sp) # 4-byte Folded Reload 173; CHECK-RV32-F-NEXT: flw ft1, 72(sp) # 4-byte Folded Reload 174; CHECK-RV32-F-NEXT: flw ft2, 68(sp) # 4-byte Folded Reload 175; CHECK-RV32-F-NEXT: flw ft3, 64(sp) # 4-byte Folded Reload 176; CHECK-RV32-F-NEXT: flw ft4, 60(sp) # 4-byte Folded Reload 177; CHECK-RV32-F-NEXT: flw ft5, 56(sp) # 4-byte Folded Reload 178; CHECK-RV32-F-NEXT: flw ft6, 52(sp) # 4-byte Folded Reload 179; CHECK-RV32-F-NEXT: flw ft7, 48(sp) # 4-byte Folded Reload 180; CHECK-RV32-F-NEXT: flw fa0, 44(sp) # 4-byte Folded Reload 181; CHECK-RV32-F-NEXT: flw fa1, 40(sp) # 4-byte Folded Reload 182; CHECK-RV32-F-NEXT: flw fa2, 36(sp) # 4-byte Folded Reload 183; CHECK-RV32-F-NEXT: flw fa3, 32(sp) # 4-byte Folded Reload 184; CHECK-RV32-F-NEXT: flw fa4, 28(sp) # 4-byte Folded Reload 185; CHECK-RV32-F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 186; CHECK-RV32-F-NEXT: flw fa6, 20(sp) # 4-byte Folded Reload 187; CHECK-RV32-F-NEXT: flw fa7, 16(sp) # 4-byte Folded Reload 188; CHECK-RV32-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 189; CHECK-RV32-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 190; CHECK-RV32-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 191; CHECK-RV32-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 192; CHECK-RV32-F-NEXT: addi sp, sp, 144 193; CHECK-RV32-F-NEXT: mret 194; 195; CHECK-RV32-FD-LABEL: foo_with_call: 196; CHECK-RV32-FD: # %bb.0: 197; CHECK-RV32-FD-NEXT: addi sp, sp, -224 198; CHECK-RV32-FD-NEXT: sw ra, 220(sp) # 4-byte Folded Spill 199; CHECK-RV32-FD-NEXT: sw t0, 216(sp) # 4-byte Folded Spill 200; CHECK-RV32-FD-NEXT: sw t1, 212(sp) # 4-byte Folded Spill 201; CHECK-RV32-FD-NEXT: sw t2, 208(sp) # 4-byte Folded Spill 202; CHECK-RV32-FD-NEXT: sw a0, 204(sp) # 4-byte Folded Spill 203; CHECK-RV32-FD-NEXT: sw a1, 200(sp) # 4-byte Folded Spill 204; CHECK-RV32-FD-NEXT: sw a2, 196(sp) # 4-byte Folded Spill 205; CHECK-RV32-FD-NEXT: sw a3, 192(sp) # 4-byte Folded Spill 206; CHECK-RV32-FD-NEXT: sw a4, 188(sp) # 4-byte Folded Spill 207; CHECK-RV32-FD-NEXT: sw a5, 184(sp) # 4-byte Folded Spill 208; CHECK-RV32-FD-NEXT: sw a6, 180(sp) # 4-byte Folded Spill 209; CHECK-RV32-FD-NEXT: sw a7, 176(sp) # 4-byte Folded Spill 210; CHECK-RV32-FD-NEXT: sw t3, 172(sp) # 4-byte Folded Spill 211; CHECK-RV32-FD-NEXT: sw t4, 168(sp) # 4-byte Folded Spill 212; CHECK-RV32-FD-NEXT: sw t5, 164(sp) # 4-byte Folded Spill 213; CHECK-RV32-FD-NEXT: sw t6, 160(sp) # 4-byte Folded Spill 214; CHECK-RV32-FD-NEXT: fsd ft0, 152(sp) # 8-byte Folded Spill 215; CHECK-RV32-FD-NEXT: fsd ft1, 144(sp) # 8-byte Folded Spill 216; CHECK-RV32-FD-NEXT: fsd ft2, 136(sp) # 8-byte Folded Spill 217; CHECK-RV32-FD-NEXT: fsd ft3, 128(sp) # 8-byte Folded Spill 218; CHECK-RV32-FD-NEXT: fsd ft4, 120(sp) # 8-byte Folded Spill 219; CHECK-RV32-FD-NEXT: fsd ft5, 112(sp) # 8-byte Folded Spill 220; CHECK-RV32-FD-NEXT: fsd ft6, 104(sp) # 8-byte Folded Spill 221; CHECK-RV32-FD-NEXT: fsd ft7, 96(sp) # 8-byte Folded Spill 222; CHECK-RV32-FD-NEXT: fsd fa0, 88(sp) # 8-byte Folded Spill 223; CHECK-RV32-FD-NEXT: fsd fa1, 80(sp) # 8-byte Folded Spill 224; CHECK-RV32-FD-NEXT: fsd fa2, 72(sp) # 8-byte Folded Spill 225; CHECK-RV32-FD-NEXT: fsd fa3, 64(sp) # 8-byte Folded Spill 226; CHECK-RV32-FD-NEXT: fsd fa4, 56(sp) # 8-byte Folded Spill 227; CHECK-RV32-FD-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill 228; CHECK-RV32-FD-NEXT: fsd fa6, 40(sp) # 8-byte Folded Spill 229; CHECK-RV32-FD-NEXT: fsd fa7, 32(sp) # 8-byte Folded Spill 230; CHECK-RV32-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 231; CHECK-RV32-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 232; CHECK-RV32-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 233; CHECK-RV32-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 234; CHECK-RV32-FD-NEXT: call otherfoo 235; CHECK-RV32-FD-NEXT: lw ra, 220(sp) # 4-byte Folded Reload 236; CHECK-RV32-FD-NEXT: lw t0, 216(sp) # 4-byte Folded Reload 237; CHECK-RV32-FD-NEXT: lw t1, 212(sp) # 4-byte Folded Reload 238; CHECK-RV32-FD-NEXT: lw t2, 208(sp) # 4-byte Folded Reload 239; CHECK-RV32-FD-NEXT: lw a0, 204(sp) # 4-byte Folded Reload 240; CHECK-RV32-FD-NEXT: lw a1, 200(sp) # 4-byte Folded Reload 241; CHECK-RV32-FD-NEXT: lw a2, 196(sp) # 4-byte Folded Reload 242; CHECK-RV32-FD-NEXT: lw a3, 192(sp) # 4-byte Folded Reload 243; CHECK-RV32-FD-NEXT: lw a4, 188(sp) # 4-byte Folded Reload 244; CHECK-RV32-FD-NEXT: lw a5, 184(sp) # 4-byte Folded Reload 245; CHECK-RV32-FD-NEXT: lw a6, 180(sp) # 4-byte Folded Reload 246; CHECK-RV32-FD-NEXT: lw a7, 176(sp) # 4-byte Folded Reload 247; CHECK-RV32-FD-NEXT: lw t3, 172(sp) # 4-byte Folded Reload 248; CHECK-RV32-FD-NEXT: lw t4, 168(sp) # 4-byte Folded Reload 249; CHECK-RV32-FD-NEXT: lw t5, 164(sp) # 4-byte Folded Reload 250; CHECK-RV32-FD-NEXT: lw t6, 160(sp) # 4-byte Folded Reload 251; CHECK-RV32-FD-NEXT: fld ft0, 152(sp) # 8-byte Folded Reload 252; CHECK-RV32-FD-NEXT: fld ft1, 144(sp) # 8-byte Folded Reload 253; CHECK-RV32-FD-NEXT: fld ft2, 136(sp) # 8-byte Folded Reload 254; CHECK-RV32-FD-NEXT: fld ft3, 128(sp) # 8-byte Folded Reload 255; CHECK-RV32-FD-NEXT: fld ft4, 120(sp) # 8-byte Folded Reload 256; CHECK-RV32-FD-NEXT: fld ft5, 112(sp) # 8-byte Folded Reload 257; CHECK-RV32-FD-NEXT: fld ft6, 104(sp) # 8-byte Folded Reload 258; CHECK-RV32-FD-NEXT: fld ft7, 96(sp) # 8-byte Folded Reload 259; CHECK-RV32-FD-NEXT: fld fa0, 88(sp) # 8-byte Folded Reload 260; CHECK-RV32-FD-NEXT: fld fa1, 80(sp) # 8-byte Folded Reload 261; CHECK-RV32-FD-NEXT: fld fa2, 72(sp) # 8-byte Folded Reload 262; CHECK-RV32-FD-NEXT: fld fa3, 64(sp) # 8-byte Folded Reload 263; CHECK-RV32-FD-NEXT: fld fa4, 56(sp) # 8-byte Folded Reload 264; CHECK-RV32-FD-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload 265; CHECK-RV32-FD-NEXT: fld fa6, 40(sp) # 8-byte Folded Reload 266; CHECK-RV32-FD-NEXT: fld fa7, 32(sp) # 8-byte Folded Reload 267; CHECK-RV32-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 268; CHECK-RV32-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 269; CHECK-RV32-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 270; CHECK-RV32-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 271; CHECK-RV32-FD-NEXT: addi sp, sp, 224 272; CHECK-RV32-FD-NEXT: mret 273; 274; CHECK-RV32-F-ILP3-LABEL: foo_with_call: 275; CHECK-RV32-F-ILP3: # %bb.0: 276; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, -192 277; CHECK-RV32-F-ILP3-NEXT: sw ra, 188(sp) # 4-byte Folded Spill 278; CHECK-RV32-F-ILP3-NEXT: sw t0, 184(sp) # 4-byte Folded Spill 279; CHECK-RV32-F-ILP3-NEXT: sw t1, 180(sp) # 4-byte Folded Spill 280; CHECK-RV32-F-ILP3-NEXT: sw t2, 176(sp) # 4-byte Folded Spill 281; CHECK-RV32-F-ILP3-NEXT: sw a0, 172(sp) # 4-byte Folded Spill 282; CHECK-RV32-F-ILP3-NEXT: sw a1, 168(sp) # 4-byte Folded Spill 283; CHECK-RV32-F-ILP3-NEXT: sw a2, 164(sp) # 4-byte Folded Spill 284; CHECK-RV32-F-ILP3-NEXT: sw a3, 160(sp) # 4-byte Folded Spill 285; CHECK-RV32-F-ILP3-NEXT: sw a4, 156(sp) # 4-byte Folded Spill 286; CHECK-RV32-F-ILP3-NEXT: sw a5, 152(sp) # 4-byte Folded Spill 287; CHECK-RV32-F-ILP3-NEXT: sw a6, 148(sp) # 4-byte Folded Spill 288; CHECK-RV32-F-ILP3-NEXT: sw a7, 144(sp) # 4-byte Folded Spill 289; CHECK-RV32-F-ILP3-NEXT: sw t3, 140(sp) # 4-byte Folded Spill 290; CHECK-RV32-F-ILP3-NEXT: sw t4, 136(sp) # 4-byte Folded Spill 291; CHECK-RV32-F-ILP3-NEXT: sw t5, 132(sp) # 4-byte Folded Spill 292; CHECK-RV32-F-ILP3-NEXT: sw t6, 128(sp) # 4-byte Folded Spill 293; CHECK-RV32-F-ILP3-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill 294; CHECK-RV32-F-ILP3-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill 295; CHECK-RV32-F-ILP3-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill 296; CHECK-RV32-F-ILP3-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill 297; CHECK-RV32-F-ILP3-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill 298; CHECK-RV32-F-ILP3-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill 299; CHECK-RV32-F-ILP3-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill 300; CHECK-RV32-F-ILP3-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill 301; CHECK-RV32-F-ILP3-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill 302; CHECK-RV32-F-ILP3-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill 303; CHECK-RV32-F-ILP3-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill 304; CHECK-RV32-F-ILP3-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill 305; CHECK-RV32-F-ILP3-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill 306; CHECK-RV32-F-ILP3-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill 307; CHECK-RV32-F-ILP3-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill 308; CHECK-RV32-F-ILP3-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 309; CHECK-RV32-F-ILP3-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill 310; CHECK-RV32-F-ILP3-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill 311; CHECK-RV32-F-ILP3-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill 312; CHECK-RV32-F-ILP3-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill 313; CHECK-RV32-F-ILP3-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill 314; CHECK-RV32-F-ILP3-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill 315; CHECK-RV32-F-ILP3-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill 316; CHECK-RV32-F-ILP3-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill 317; CHECK-RV32-F-ILP3-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill 318; CHECK-RV32-F-ILP3-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill 319; CHECK-RV32-F-ILP3-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill 320; CHECK-RV32-F-ILP3-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill 321; CHECK-RV32-F-ILP3-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 322; CHECK-RV32-F-ILP3-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 323; CHECK-RV32-F-ILP3-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 324; CHECK-RV32-F-ILP3-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 325; CHECK-RV32-F-ILP3-NEXT: call otherfoo 326; CHECK-RV32-F-ILP3-NEXT: lw ra, 188(sp) # 4-byte Folded Reload 327; CHECK-RV32-F-ILP3-NEXT: lw t0, 184(sp) # 4-byte Folded Reload 328; CHECK-RV32-F-ILP3-NEXT: lw t1, 180(sp) # 4-byte Folded Reload 329; CHECK-RV32-F-ILP3-NEXT: lw t2, 176(sp) # 4-byte Folded Reload 330; CHECK-RV32-F-ILP3-NEXT: lw a0, 172(sp) # 4-byte Folded Reload 331; CHECK-RV32-F-ILP3-NEXT: lw a1, 168(sp) # 4-byte Folded Reload 332; CHECK-RV32-F-ILP3-NEXT: lw a2, 164(sp) # 4-byte Folded Reload 333; CHECK-RV32-F-ILP3-NEXT: lw a3, 160(sp) # 4-byte Folded Reload 334; CHECK-RV32-F-ILP3-NEXT: lw a4, 156(sp) # 4-byte Folded Reload 335; CHECK-RV32-F-ILP3-NEXT: lw a5, 152(sp) # 4-byte Folded Reload 336; CHECK-RV32-F-ILP3-NEXT: lw a6, 148(sp) # 4-byte Folded Reload 337; CHECK-RV32-F-ILP3-NEXT: lw a7, 144(sp) # 4-byte Folded Reload 338; CHECK-RV32-F-ILP3-NEXT: lw t3, 140(sp) # 4-byte Folded Reload 339; CHECK-RV32-F-ILP3-NEXT: lw t4, 136(sp) # 4-byte Folded Reload 340; CHECK-RV32-F-ILP3-NEXT: lw t5, 132(sp) # 4-byte Folded Reload 341; CHECK-RV32-F-ILP3-NEXT: lw t6, 128(sp) # 4-byte Folded Reload 342; CHECK-RV32-F-ILP3-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload 343; CHECK-RV32-F-ILP3-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload 344; CHECK-RV32-F-ILP3-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload 345; CHECK-RV32-F-ILP3-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload 346; CHECK-RV32-F-ILP3-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload 347; CHECK-RV32-F-ILP3-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload 348; CHECK-RV32-F-ILP3-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload 349; CHECK-RV32-F-ILP3-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload 350; CHECK-RV32-F-ILP3-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload 351; CHECK-RV32-F-ILP3-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload 352; CHECK-RV32-F-ILP3-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload 353; CHECK-RV32-F-ILP3-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload 354; CHECK-RV32-F-ILP3-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload 355; CHECK-RV32-F-ILP3-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload 356; CHECK-RV32-F-ILP3-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload 357; CHECK-RV32-F-ILP3-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 358; CHECK-RV32-F-ILP3-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload 359; CHECK-RV32-F-ILP3-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload 360; CHECK-RV32-F-ILP3-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload 361; CHECK-RV32-F-ILP3-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload 362; CHECK-RV32-F-ILP3-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload 363; CHECK-RV32-F-ILP3-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload 364; CHECK-RV32-F-ILP3-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload 365; CHECK-RV32-F-ILP3-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload 366; CHECK-RV32-F-ILP3-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload 367; CHECK-RV32-F-ILP3-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload 368; CHECK-RV32-F-ILP3-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload 369; CHECK-RV32-F-ILP3-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload 370; CHECK-RV32-F-ILP3-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 371; CHECK-RV32-F-ILP3-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 372; CHECK-RV32-F-ILP3-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 373; CHECK-RV32-F-ILP3-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 374; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, 192 375; CHECK-RV32-F-ILP3-NEXT: mret 376; 377; CHECK-RV32-FD-ILP32F-LABEL: foo_with_call: 378; CHECK-RV32-FD-ILP32F: # %bb.0: 379; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, -320 380; CHECK-RV32-FD-ILP32F-NEXT: sw ra, 316(sp) # 4-byte Folded Spill 381; CHECK-RV32-FD-ILP32F-NEXT: sw t0, 312(sp) # 4-byte Folded Spill 382; CHECK-RV32-FD-ILP32F-NEXT: sw t1, 308(sp) # 4-byte Folded Spill 383; CHECK-RV32-FD-ILP32F-NEXT: sw t2, 304(sp) # 4-byte Folded Spill 384; CHECK-RV32-FD-ILP32F-NEXT: sw a0, 300(sp) # 4-byte Folded Spill 385; CHECK-RV32-FD-ILP32F-NEXT: sw a1, 296(sp) # 4-byte Folded Spill 386; CHECK-RV32-FD-ILP32F-NEXT: sw a2, 292(sp) # 4-byte Folded Spill 387; CHECK-RV32-FD-ILP32F-NEXT: sw a3, 288(sp) # 4-byte Folded Spill 388; CHECK-RV32-FD-ILP32F-NEXT: sw a4, 284(sp) # 4-byte Folded Spill 389; CHECK-RV32-FD-ILP32F-NEXT: sw a5, 280(sp) # 4-byte Folded Spill 390; CHECK-RV32-FD-ILP32F-NEXT: sw a6, 276(sp) # 4-byte Folded Spill 391; CHECK-RV32-FD-ILP32F-NEXT: sw a7, 272(sp) # 4-byte Folded Spill 392; CHECK-RV32-FD-ILP32F-NEXT: sw t3, 268(sp) # 4-byte Folded Spill 393; CHECK-RV32-FD-ILP32F-NEXT: sw t4, 264(sp) # 4-byte Folded Spill 394; CHECK-RV32-FD-ILP32F-NEXT: sw t5, 260(sp) # 4-byte Folded Spill 395; CHECK-RV32-FD-ILP32F-NEXT: sw t6, 256(sp) # 4-byte Folded Spill 396; CHECK-RV32-FD-ILP32F-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill 397; CHECK-RV32-FD-ILP32F-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill 398; CHECK-RV32-FD-ILP32F-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill 399; CHECK-RV32-FD-ILP32F-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill 400; CHECK-RV32-FD-ILP32F-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill 401; CHECK-RV32-FD-ILP32F-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill 402; CHECK-RV32-FD-ILP32F-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill 403; CHECK-RV32-FD-ILP32F-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill 404; CHECK-RV32-FD-ILP32F-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill 405; CHECK-RV32-FD-ILP32F-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill 406; CHECK-RV32-FD-ILP32F-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill 407; CHECK-RV32-FD-ILP32F-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill 408; CHECK-RV32-FD-ILP32F-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill 409; CHECK-RV32-FD-ILP32F-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill 410; CHECK-RV32-FD-ILP32F-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill 411; CHECK-RV32-FD-ILP32F-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill 412; CHECK-RV32-FD-ILP32F-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill 413; CHECK-RV32-FD-ILP32F-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill 414; CHECK-RV32-FD-ILP32F-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill 415; CHECK-RV32-FD-ILP32F-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill 416; CHECK-RV32-FD-ILP32F-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill 417; CHECK-RV32-FD-ILP32F-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill 418; CHECK-RV32-FD-ILP32F-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill 419; CHECK-RV32-FD-ILP32F-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill 420; CHECK-RV32-FD-ILP32F-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill 421; CHECK-RV32-FD-ILP32F-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill 422; CHECK-RV32-FD-ILP32F-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill 423; CHECK-RV32-FD-ILP32F-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill 424; CHECK-RV32-FD-ILP32F-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 425; CHECK-RV32-FD-ILP32F-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 426; CHECK-RV32-FD-ILP32F-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 427; CHECK-RV32-FD-ILP32F-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 428; CHECK-RV32-FD-ILP32F-NEXT: call otherfoo 429; CHECK-RV32-FD-ILP32F-NEXT: lw ra, 316(sp) # 4-byte Folded Reload 430; CHECK-RV32-FD-ILP32F-NEXT: lw t0, 312(sp) # 4-byte Folded Reload 431; CHECK-RV32-FD-ILP32F-NEXT: lw t1, 308(sp) # 4-byte Folded Reload 432; CHECK-RV32-FD-ILP32F-NEXT: lw t2, 304(sp) # 4-byte Folded Reload 433; CHECK-RV32-FD-ILP32F-NEXT: lw a0, 300(sp) # 4-byte Folded Reload 434; CHECK-RV32-FD-ILP32F-NEXT: lw a1, 296(sp) # 4-byte Folded Reload 435; CHECK-RV32-FD-ILP32F-NEXT: lw a2, 292(sp) # 4-byte Folded Reload 436; CHECK-RV32-FD-ILP32F-NEXT: lw a3, 288(sp) # 4-byte Folded Reload 437; CHECK-RV32-FD-ILP32F-NEXT: lw a4, 284(sp) # 4-byte Folded Reload 438; CHECK-RV32-FD-ILP32F-NEXT: lw a5, 280(sp) # 4-byte Folded Reload 439; CHECK-RV32-FD-ILP32F-NEXT: lw a6, 276(sp) # 4-byte Folded Reload 440; CHECK-RV32-FD-ILP32F-NEXT: lw a7, 272(sp) # 4-byte Folded Reload 441; CHECK-RV32-FD-ILP32F-NEXT: lw t3, 268(sp) # 4-byte Folded Reload 442; CHECK-RV32-FD-ILP32F-NEXT: lw t4, 264(sp) # 4-byte Folded Reload 443; CHECK-RV32-FD-ILP32F-NEXT: lw t5, 260(sp) # 4-byte Folded Reload 444; CHECK-RV32-FD-ILP32F-NEXT: lw t6, 256(sp) # 4-byte Folded Reload 445; CHECK-RV32-FD-ILP32F-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload 446; CHECK-RV32-FD-ILP32F-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload 447; CHECK-RV32-FD-ILP32F-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload 448; CHECK-RV32-FD-ILP32F-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload 449; CHECK-RV32-FD-ILP32F-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload 450; CHECK-RV32-FD-ILP32F-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload 451; CHECK-RV32-FD-ILP32F-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload 452; CHECK-RV32-FD-ILP32F-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload 453; CHECK-RV32-FD-ILP32F-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload 454; CHECK-RV32-FD-ILP32F-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload 455; CHECK-RV32-FD-ILP32F-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload 456; CHECK-RV32-FD-ILP32F-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload 457; CHECK-RV32-FD-ILP32F-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload 458; CHECK-RV32-FD-ILP32F-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload 459; CHECK-RV32-FD-ILP32F-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload 460; CHECK-RV32-FD-ILP32F-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload 461; CHECK-RV32-FD-ILP32F-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload 462; CHECK-RV32-FD-ILP32F-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload 463; CHECK-RV32-FD-ILP32F-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload 464; CHECK-RV32-FD-ILP32F-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload 465; CHECK-RV32-FD-ILP32F-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload 466; CHECK-RV32-FD-ILP32F-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload 467; CHECK-RV32-FD-ILP32F-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload 468; CHECK-RV32-FD-ILP32F-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload 469; CHECK-RV32-FD-ILP32F-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload 470; CHECK-RV32-FD-ILP32F-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload 471; CHECK-RV32-FD-ILP32F-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload 472; CHECK-RV32-FD-ILP32F-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload 473; CHECK-RV32-FD-ILP32F-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 474; CHECK-RV32-FD-ILP32F-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 475; CHECK-RV32-FD-ILP32F-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 476; CHECK-RV32-FD-ILP32F-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 477; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, 320 478; CHECK-RV32-FD-ILP32F-NEXT: mret 479; 480; CHECK-RV32-FD-ILP32-LABEL: foo_with_call: 481; CHECK-RV32-FD-ILP32: # %bb.0: 482; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, -320 483; CHECK-RV32-FD-ILP32-NEXT: sw ra, 316(sp) # 4-byte Folded Spill 484; CHECK-RV32-FD-ILP32-NEXT: sw t0, 312(sp) # 4-byte Folded Spill 485; CHECK-RV32-FD-ILP32-NEXT: sw t1, 308(sp) # 4-byte Folded Spill 486; CHECK-RV32-FD-ILP32-NEXT: sw t2, 304(sp) # 4-byte Folded Spill 487; CHECK-RV32-FD-ILP32-NEXT: sw a0, 300(sp) # 4-byte Folded Spill 488; CHECK-RV32-FD-ILP32-NEXT: sw a1, 296(sp) # 4-byte Folded Spill 489; CHECK-RV32-FD-ILP32-NEXT: sw a2, 292(sp) # 4-byte Folded Spill 490; CHECK-RV32-FD-ILP32-NEXT: sw a3, 288(sp) # 4-byte Folded Spill 491; CHECK-RV32-FD-ILP32-NEXT: sw a4, 284(sp) # 4-byte Folded Spill 492; CHECK-RV32-FD-ILP32-NEXT: sw a5, 280(sp) # 4-byte Folded Spill 493; CHECK-RV32-FD-ILP32-NEXT: sw a6, 276(sp) # 4-byte Folded Spill 494; CHECK-RV32-FD-ILP32-NEXT: sw a7, 272(sp) # 4-byte Folded Spill 495; CHECK-RV32-FD-ILP32-NEXT: sw t3, 268(sp) # 4-byte Folded Spill 496; CHECK-RV32-FD-ILP32-NEXT: sw t4, 264(sp) # 4-byte Folded Spill 497; CHECK-RV32-FD-ILP32-NEXT: sw t5, 260(sp) # 4-byte Folded Spill 498; CHECK-RV32-FD-ILP32-NEXT: sw t6, 256(sp) # 4-byte Folded Spill 499; CHECK-RV32-FD-ILP32-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill 500; CHECK-RV32-FD-ILP32-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill 501; CHECK-RV32-FD-ILP32-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill 502; CHECK-RV32-FD-ILP32-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill 503; CHECK-RV32-FD-ILP32-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill 504; CHECK-RV32-FD-ILP32-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill 505; CHECK-RV32-FD-ILP32-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill 506; CHECK-RV32-FD-ILP32-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill 507; CHECK-RV32-FD-ILP32-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill 508; CHECK-RV32-FD-ILP32-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill 509; CHECK-RV32-FD-ILP32-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill 510; CHECK-RV32-FD-ILP32-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill 511; CHECK-RV32-FD-ILP32-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill 512; CHECK-RV32-FD-ILP32-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill 513; CHECK-RV32-FD-ILP32-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill 514; CHECK-RV32-FD-ILP32-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill 515; CHECK-RV32-FD-ILP32-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill 516; CHECK-RV32-FD-ILP32-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill 517; CHECK-RV32-FD-ILP32-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill 518; CHECK-RV32-FD-ILP32-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill 519; CHECK-RV32-FD-ILP32-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill 520; CHECK-RV32-FD-ILP32-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill 521; CHECK-RV32-FD-ILP32-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill 522; CHECK-RV32-FD-ILP32-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill 523; CHECK-RV32-FD-ILP32-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill 524; CHECK-RV32-FD-ILP32-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill 525; CHECK-RV32-FD-ILP32-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill 526; CHECK-RV32-FD-ILP32-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill 527; CHECK-RV32-FD-ILP32-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 528; CHECK-RV32-FD-ILP32-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 529; CHECK-RV32-FD-ILP32-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 530; CHECK-RV32-FD-ILP32-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 531; CHECK-RV32-FD-ILP32-NEXT: call otherfoo 532; CHECK-RV32-FD-ILP32-NEXT: lw ra, 316(sp) # 4-byte Folded Reload 533; CHECK-RV32-FD-ILP32-NEXT: lw t0, 312(sp) # 4-byte Folded Reload 534; CHECK-RV32-FD-ILP32-NEXT: lw t1, 308(sp) # 4-byte Folded Reload 535; CHECK-RV32-FD-ILP32-NEXT: lw t2, 304(sp) # 4-byte Folded Reload 536; CHECK-RV32-FD-ILP32-NEXT: lw a0, 300(sp) # 4-byte Folded Reload 537; CHECK-RV32-FD-ILP32-NEXT: lw a1, 296(sp) # 4-byte Folded Reload 538; CHECK-RV32-FD-ILP32-NEXT: lw a2, 292(sp) # 4-byte Folded Reload 539; CHECK-RV32-FD-ILP32-NEXT: lw a3, 288(sp) # 4-byte Folded Reload 540; CHECK-RV32-FD-ILP32-NEXT: lw a4, 284(sp) # 4-byte Folded Reload 541; CHECK-RV32-FD-ILP32-NEXT: lw a5, 280(sp) # 4-byte Folded Reload 542; CHECK-RV32-FD-ILP32-NEXT: lw a6, 276(sp) # 4-byte Folded Reload 543; CHECK-RV32-FD-ILP32-NEXT: lw a7, 272(sp) # 4-byte Folded Reload 544; CHECK-RV32-FD-ILP32-NEXT: lw t3, 268(sp) # 4-byte Folded Reload 545; CHECK-RV32-FD-ILP32-NEXT: lw t4, 264(sp) # 4-byte Folded Reload 546; CHECK-RV32-FD-ILP32-NEXT: lw t5, 260(sp) # 4-byte Folded Reload 547; CHECK-RV32-FD-ILP32-NEXT: lw t6, 256(sp) # 4-byte Folded Reload 548; CHECK-RV32-FD-ILP32-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload 549; CHECK-RV32-FD-ILP32-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload 550; CHECK-RV32-FD-ILP32-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload 551; CHECK-RV32-FD-ILP32-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload 552; CHECK-RV32-FD-ILP32-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload 553; CHECK-RV32-FD-ILP32-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload 554; CHECK-RV32-FD-ILP32-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload 555; CHECK-RV32-FD-ILP32-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload 556; CHECK-RV32-FD-ILP32-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload 557; CHECK-RV32-FD-ILP32-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload 558; CHECK-RV32-FD-ILP32-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload 559; CHECK-RV32-FD-ILP32-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload 560; CHECK-RV32-FD-ILP32-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload 561; CHECK-RV32-FD-ILP32-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload 562; CHECK-RV32-FD-ILP32-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload 563; CHECK-RV32-FD-ILP32-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload 564; CHECK-RV32-FD-ILP32-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload 565; CHECK-RV32-FD-ILP32-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload 566; CHECK-RV32-FD-ILP32-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload 567; CHECK-RV32-FD-ILP32-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload 568; CHECK-RV32-FD-ILP32-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload 569; CHECK-RV32-FD-ILP32-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload 570; CHECK-RV32-FD-ILP32-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload 571; CHECK-RV32-FD-ILP32-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload 572; CHECK-RV32-FD-ILP32-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload 573; CHECK-RV32-FD-ILP32-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload 574; CHECK-RV32-FD-ILP32-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload 575; CHECK-RV32-FD-ILP32-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload 576; CHECK-RV32-FD-ILP32-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 577; CHECK-RV32-FD-ILP32-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 578; CHECK-RV32-FD-ILP32-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 579; CHECK-RV32-FD-ILP32-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 580; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, 320 581; CHECK-RV32-FD-ILP32-NEXT: mret 582; 583; CHECK-RV32I-ILP32E-LABEL: foo_with_call: 584; CHECK-RV32I-ILP32E: # %bb.0: 585; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, -104 586; CHECK-RV32I-ILP32E-NEXT: sw ra, 100(sp) # 4-byte Folded Spill 587; CHECK-RV32I-ILP32E-NEXT: sw t0, 96(sp) # 4-byte Folded Spill 588; CHECK-RV32I-ILP32E-NEXT: sw t1, 92(sp) # 4-byte Folded Spill 589; CHECK-RV32I-ILP32E-NEXT: sw t2, 88(sp) # 4-byte Folded Spill 590; CHECK-RV32I-ILP32E-NEXT: sw a0, 84(sp) # 4-byte Folded Spill 591; CHECK-RV32I-ILP32E-NEXT: sw a1, 80(sp) # 4-byte Folded Spill 592; CHECK-RV32I-ILP32E-NEXT: sw a2, 76(sp) # 4-byte Folded Spill 593; CHECK-RV32I-ILP32E-NEXT: sw a3, 72(sp) # 4-byte Folded Spill 594; CHECK-RV32I-ILP32E-NEXT: sw a4, 68(sp) # 4-byte Folded Spill 595; CHECK-RV32I-ILP32E-NEXT: sw a5, 64(sp) # 4-byte Folded Spill 596; CHECK-RV32I-ILP32E-NEXT: sw a6, 60(sp) # 4-byte Folded Spill 597; CHECK-RV32I-ILP32E-NEXT: sw a7, 56(sp) # 4-byte Folded Spill 598; CHECK-RV32I-ILP32E-NEXT: sw s2, 52(sp) # 4-byte Folded Spill 599; CHECK-RV32I-ILP32E-NEXT: sw s3, 48(sp) # 4-byte Folded Spill 600; CHECK-RV32I-ILP32E-NEXT: sw s4, 44(sp) # 4-byte Folded Spill 601; CHECK-RV32I-ILP32E-NEXT: sw s5, 40(sp) # 4-byte Folded Spill 602; CHECK-RV32I-ILP32E-NEXT: sw s6, 36(sp) # 4-byte Folded Spill 603; CHECK-RV32I-ILP32E-NEXT: sw s7, 32(sp) # 4-byte Folded Spill 604; CHECK-RV32I-ILP32E-NEXT: sw s8, 28(sp) # 4-byte Folded Spill 605; CHECK-RV32I-ILP32E-NEXT: sw s9, 24(sp) # 4-byte Folded Spill 606; CHECK-RV32I-ILP32E-NEXT: sw s10, 20(sp) # 4-byte Folded Spill 607; CHECK-RV32I-ILP32E-NEXT: sw s11, 16(sp) # 4-byte Folded Spill 608; CHECK-RV32I-ILP32E-NEXT: sw t3, 12(sp) # 4-byte Folded Spill 609; CHECK-RV32I-ILP32E-NEXT: sw t4, 8(sp) # 4-byte Folded Spill 610; CHECK-RV32I-ILP32E-NEXT: sw t5, 4(sp) # 4-byte Folded Spill 611; CHECK-RV32I-ILP32E-NEXT: sw t6, 0(sp) # 4-byte Folded Spill 612; CHECK-RV32I-ILP32E-NEXT: call otherfoo 613; CHECK-RV32I-ILP32E-NEXT: lw ra, 100(sp) # 4-byte Folded Reload 614; CHECK-RV32I-ILP32E-NEXT: lw t0, 96(sp) # 4-byte Folded Reload 615; CHECK-RV32I-ILP32E-NEXT: lw t1, 92(sp) # 4-byte Folded Reload 616; CHECK-RV32I-ILP32E-NEXT: lw t2, 88(sp) # 4-byte Folded Reload 617; CHECK-RV32I-ILP32E-NEXT: lw a0, 84(sp) # 4-byte Folded Reload 618; CHECK-RV32I-ILP32E-NEXT: lw a1, 80(sp) # 4-byte Folded Reload 619; CHECK-RV32I-ILP32E-NEXT: lw a2, 76(sp) # 4-byte Folded Reload 620; CHECK-RV32I-ILP32E-NEXT: lw a3, 72(sp) # 4-byte Folded Reload 621; CHECK-RV32I-ILP32E-NEXT: lw a4, 68(sp) # 4-byte Folded Reload 622; CHECK-RV32I-ILP32E-NEXT: lw a5, 64(sp) # 4-byte Folded Reload 623; CHECK-RV32I-ILP32E-NEXT: lw a6, 60(sp) # 4-byte Folded Reload 624; CHECK-RV32I-ILP32E-NEXT: lw a7, 56(sp) # 4-byte Folded Reload 625; CHECK-RV32I-ILP32E-NEXT: lw s2, 52(sp) # 4-byte Folded Reload 626; CHECK-RV32I-ILP32E-NEXT: lw s3, 48(sp) # 4-byte Folded Reload 627; CHECK-RV32I-ILP32E-NEXT: lw s4, 44(sp) # 4-byte Folded Reload 628; CHECK-RV32I-ILP32E-NEXT: lw s5, 40(sp) # 4-byte Folded Reload 629; CHECK-RV32I-ILP32E-NEXT: lw s6, 36(sp) # 4-byte Folded Reload 630; CHECK-RV32I-ILP32E-NEXT: lw s7, 32(sp) # 4-byte Folded Reload 631; CHECK-RV32I-ILP32E-NEXT: lw s8, 28(sp) # 4-byte Folded Reload 632; CHECK-RV32I-ILP32E-NEXT: lw s9, 24(sp) # 4-byte Folded Reload 633; CHECK-RV32I-ILP32E-NEXT: lw s10, 20(sp) # 4-byte Folded Reload 634; CHECK-RV32I-ILP32E-NEXT: lw s11, 16(sp) # 4-byte Folded Reload 635; CHECK-RV32I-ILP32E-NEXT: lw t3, 12(sp) # 4-byte Folded Reload 636; CHECK-RV32I-ILP32E-NEXT: lw t4, 8(sp) # 4-byte Folded Reload 637; CHECK-RV32I-ILP32E-NEXT: lw t5, 4(sp) # 4-byte Folded Reload 638; CHECK-RV32I-ILP32E-NEXT: lw t6, 0(sp) # 4-byte Folded Reload 639; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, 104 640; CHECK-RV32I-ILP32E-NEXT: mret 641; 642; CHECK-RV32E-LABEL: foo_with_call: 643; CHECK-RV32E: # %bb.0: 644; CHECK-RV32E-NEXT: addi sp, sp, -40 645; CHECK-RV32E-NEXT: sw ra, 36(sp) # 4-byte Folded Spill 646; CHECK-RV32E-NEXT: sw t0, 32(sp) # 4-byte Folded Spill 647; CHECK-RV32E-NEXT: sw t1, 28(sp) # 4-byte Folded Spill 648; CHECK-RV32E-NEXT: sw t2, 24(sp) # 4-byte Folded Spill 649; CHECK-RV32E-NEXT: sw a0, 20(sp) # 4-byte Folded Spill 650; CHECK-RV32E-NEXT: sw a1, 16(sp) # 4-byte Folded Spill 651; CHECK-RV32E-NEXT: sw a2, 12(sp) # 4-byte Folded Spill 652; CHECK-RV32E-NEXT: sw a3, 8(sp) # 4-byte Folded Spill 653; CHECK-RV32E-NEXT: sw a4, 4(sp) # 4-byte Folded Spill 654; CHECK-RV32E-NEXT: sw a5, 0(sp) # 4-byte Folded Spill 655; CHECK-RV32E-NEXT: call otherfoo 656; CHECK-RV32E-NEXT: lw ra, 36(sp) # 4-byte Folded Reload 657; CHECK-RV32E-NEXT: lw t0, 32(sp) # 4-byte Folded Reload 658; CHECK-RV32E-NEXT: lw t1, 28(sp) # 4-byte Folded Reload 659; CHECK-RV32E-NEXT: lw t2, 24(sp) # 4-byte Folded Reload 660; CHECK-RV32E-NEXT: lw a0, 20(sp) # 4-byte Folded Reload 661; CHECK-RV32E-NEXT: lw a1, 16(sp) # 4-byte Folded Reload 662; CHECK-RV32E-NEXT: lw a2, 12(sp) # 4-byte Folded Reload 663; CHECK-RV32E-NEXT: lw a3, 8(sp) # 4-byte Folded Reload 664; CHECK-RV32E-NEXT: lw a4, 4(sp) # 4-byte Folded Reload 665; CHECK-RV32E-NEXT: lw a5, 0(sp) # 4-byte Folded Reload 666; CHECK-RV32E-NEXT: addi sp, sp, 40 667; CHECK-RV32E-NEXT: mret 668; 669; CHECK-RV32E-F-LABEL: foo_with_call: 670; CHECK-RV32E-F: # %bb.0: 671; CHECK-RV32E-F-NEXT: addi sp, sp, -168 672; CHECK-RV32E-F-NEXT: sw ra, 164(sp) # 4-byte Folded Spill 673; CHECK-RV32E-F-NEXT: sw t0, 160(sp) # 4-byte Folded Spill 674; CHECK-RV32E-F-NEXT: sw t1, 156(sp) # 4-byte Folded Spill 675; CHECK-RV32E-F-NEXT: sw t2, 152(sp) # 4-byte Folded Spill 676; CHECK-RV32E-F-NEXT: sw a0, 148(sp) # 4-byte Folded Spill 677; CHECK-RV32E-F-NEXT: sw a1, 144(sp) # 4-byte Folded Spill 678; CHECK-RV32E-F-NEXT: sw a2, 140(sp) # 4-byte Folded Spill 679; CHECK-RV32E-F-NEXT: sw a3, 136(sp) # 4-byte Folded Spill 680; CHECK-RV32E-F-NEXT: sw a4, 132(sp) # 4-byte Folded Spill 681; CHECK-RV32E-F-NEXT: sw a5, 128(sp) # 4-byte Folded Spill 682; CHECK-RV32E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill 683; CHECK-RV32E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill 684; CHECK-RV32E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill 685; CHECK-RV32E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill 686; CHECK-RV32E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill 687; CHECK-RV32E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill 688; CHECK-RV32E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill 689; CHECK-RV32E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill 690; CHECK-RV32E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill 691; CHECK-RV32E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill 692; CHECK-RV32E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill 693; CHECK-RV32E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill 694; CHECK-RV32E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill 695; CHECK-RV32E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill 696; CHECK-RV32E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill 697; CHECK-RV32E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 698; CHECK-RV32E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill 699; CHECK-RV32E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill 700; CHECK-RV32E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill 701; CHECK-RV32E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill 702; CHECK-RV32E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill 703; CHECK-RV32E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill 704; CHECK-RV32E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill 705; CHECK-RV32E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill 706; CHECK-RV32E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill 707; CHECK-RV32E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill 708; CHECK-RV32E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill 709; CHECK-RV32E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill 710; CHECK-RV32E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 711; CHECK-RV32E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 712; CHECK-RV32E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 713; CHECK-RV32E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 714; CHECK-RV32E-F-NEXT: call otherfoo 715; CHECK-RV32E-F-NEXT: lw ra, 164(sp) # 4-byte Folded Reload 716; CHECK-RV32E-F-NEXT: lw t0, 160(sp) # 4-byte Folded Reload 717; CHECK-RV32E-F-NEXT: lw t1, 156(sp) # 4-byte Folded Reload 718; CHECK-RV32E-F-NEXT: lw t2, 152(sp) # 4-byte Folded Reload 719; CHECK-RV32E-F-NEXT: lw a0, 148(sp) # 4-byte Folded Reload 720; CHECK-RV32E-F-NEXT: lw a1, 144(sp) # 4-byte Folded Reload 721; CHECK-RV32E-F-NEXT: lw a2, 140(sp) # 4-byte Folded Reload 722; CHECK-RV32E-F-NEXT: lw a3, 136(sp) # 4-byte Folded Reload 723; CHECK-RV32E-F-NEXT: lw a4, 132(sp) # 4-byte Folded Reload 724; CHECK-RV32E-F-NEXT: lw a5, 128(sp) # 4-byte Folded Reload 725; CHECK-RV32E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload 726; CHECK-RV32E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload 727; CHECK-RV32E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload 728; CHECK-RV32E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload 729; CHECK-RV32E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload 730; CHECK-RV32E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload 731; CHECK-RV32E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload 732; CHECK-RV32E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload 733; CHECK-RV32E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload 734; CHECK-RV32E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload 735; CHECK-RV32E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload 736; CHECK-RV32E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload 737; CHECK-RV32E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload 738; CHECK-RV32E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload 739; CHECK-RV32E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload 740; CHECK-RV32E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 741; CHECK-RV32E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload 742; CHECK-RV32E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload 743; CHECK-RV32E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload 744; CHECK-RV32E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload 745; CHECK-RV32E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload 746; CHECK-RV32E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload 747; CHECK-RV32E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload 748; CHECK-RV32E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload 749; CHECK-RV32E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload 750; CHECK-RV32E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload 751; CHECK-RV32E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload 752; CHECK-RV32E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload 753; CHECK-RV32E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 754; CHECK-RV32E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 755; CHECK-RV32E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 756; CHECK-RV32E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 757; CHECK-RV32E-F-NEXT: addi sp, sp, 168 758; CHECK-RV32E-F-NEXT: mret 759; 760; CHECK-RV64-LABEL: foo_with_call: 761; CHECK-RV64: # %bb.0: 762; CHECK-RV64-NEXT: addi sp, sp, -128 763; CHECK-RV64-NEXT: sd ra, 120(sp) # 8-byte Folded Spill 764; CHECK-RV64-NEXT: sd t0, 112(sp) # 8-byte Folded Spill 765; CHECK-RV64-NEXT: sd t1, 104(sp) # 8-byte Folded Spill 766; CHECK-RV64-NEXT: sd t2, 96(sp) # 8-byte Folded Spill 767; CHECK-RV64-NEXT: sd a0, 88(sp) # 8-byte Folded Spill 768; CHECK-RV64-NEXT: sd a1, 80(sp) # 8-byte Folded Spill 769; CHECK-RV64-NEXT: sd a2, 72(sp) # 8-byte Folded Spill 770; CHECK-RV64-NEXT: sd a3, 64(sp) # 8-byte Folded Spill 771; CHECK-RV64-NEXT: sd a4, 56(sp) # 8-byte Folded Spill 772; CHECK-RV64-NEXT: sd a5, 48(sp) # 8-byte Folded Spill 773; CHECK-RV64-NEXT: sd a6, 40(sp) # 8-byte Folded Spill 774; CHECK-RV64-NEXT: sd a7, 32(sp) # 8-byte Folded Spill 775; CHECK-RV64-NEXT: sd t3, 24(sp) # 8-byte Folded Spill 776; CHECK-RV64-NEXT: sd t4, 16(sp) # 8-byte Folded Spill 777; CHECK-RV64-NEXT: sd t5, 8(sp) # 8-byte Folded Spill 778; CHECK-RV64-NEXT: sd t6, 0(sp) # 8-byte Folded Spill 779; CHECK-RV64-NEXT: call otherfoo 780; CHECK-RV64-NEXT: ld ra, 120(sp) # 8-byte Folded Reload 781; CHECK-RV64-NEXT: ld t0, 112(sp) # 8-byte Folded Reload 782; CHECK-RV64-NEXT: ld t1, 104(sp) # 8-byte Folded Reload 783; CHECK-RV64-NEXT: ld t2, 96(sp) # 8-byte Folded Reload 784; CHECK-RV64-NEXT: ld a0, 88(sp) # 8-byte Folded Reload 785; CHECK-RV64-NEXT: ld a1, 80(sp) # 8-byte Folded Reload 786; CHECK-RV64-NEXT: ld a2, 72(sp) # 8-byte Folded Reload 787; CHECK-RV64-NEXT: ld a3, 64(sp) # 8-byte Folded Reload 788; CHECK-RV64-NEXT: ld a4, 56(sp) # 8-byte Folded Reload 789; CHECK-RV64-NEXT: ld a5, 48(sp) # 8-byte Folded Reload 790; CHECK-RV64-NEXT: ld a6, 40(sp) # 8-byte Folded Reload 791; CHECK-RV64-NEXT: ld a7, 32(sp) # 8-byte Folded Reload 792; CHECK-RV64-NEXT: ld t3, 24(sp) # 8-byte Folded Reload 793; CHECK-RV64-NEXT: ld t4, 16(sp) # 8-byte Folded Reload 794; CHECK-RV64-NEXT: ld t5, 8(sp) # 8-byte Folded Reload 795; CHECK-RV64-NEXT: ld t6, 0(sp) # 8-byte Folded Reload 796; CHECK-RV64-NEXT: addi sp, sp, 128 797; CHECK-RV64-NEXT: mret 798; 799; CHECK-RV64-F-LABEL: foo_with_call: 800; CHECK-RV64-F: # %bb.0: 801; CHECK-RV64-F-NEXT: addi sp, sp, -208 802; CHECK-RV64-F-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 803; CHECK-RV64-F-NEXT: sd t0, 192(sp) # 8-byte Folded Spill 804; CHECK-RV64-F-NEXT: sd t1, 184(sp) # 8-byte Folded Spill 805; CHECK-RV64-F-NEXT: sd t2, 176(sp) # 8-byte Folded Spill 806; CHECK-RV64-F-NEXT: sd a0, 168(sp) # 8-byte Folded Spill 807; CHECK-RV64-F-NEXT: sd a1, 160(sp) # 8-byte Folded Spill 808; CHECK-RV64-F-NEXT: sd a2, 152(sp) # 8-byte Folded Spill 809; CHECK-RV64-F-NEXT: sd a3, 144(sp) # 8-byte Folded Spill 810; CHECK-RV64-F-NEXT: sd a4, 136(sp) # 8-byte Folded Spill 811; CHECK-RV64-F-NEXT: sd a5, 128(sp) # 8-byte Folded Spill 812; CHECK-RV64-F-NEXT: sd a6, 120(sp) # 8-byte Folded Spill 813; CHECK-RV64-F-NEXT: sd a7, 112(sp) # 8-byte Folded Spill 814; CHECK-RV64-F-NEXT: sd t3, 104(sp) # 8-byte Folded Spill 815; CHECK-RV64-F-NEXT: sd t4, 96(sp) # 8-byte Folded Spill 816; CHECK-RV64-F-NEXT: sd t5, 88(sp) # 8-byte Folded Spill 817; CHECK-RV64-F-NEXT: sd t6, 80(sp) # 8-byte Folded Spill 818; CHECK-RV64-F-NEXT: fsw ft0, 76(sp) # 4-byte Folded Spill 819; CHECK-RV64-F-NEXT: fsw ft1, 72(sp) # 4-byte Folded Spill 820; CHECK-RV64-F-NEXT: fsw ft2, 68(sp) # 4-byte Folded Spill 821; CHECK-RV64-F-NEXT: fsw ft3, 64(sp) # 4-byte Folded Spill 822; CHECK-RV64-F-NEXT: fsw ft4, 60(sp) # 4-byte Folded Spill 823; CHECK-RV64-F-NEXT: fsw ft5, 56(sp) # 4-byte Folded Spill 824; CHECK-RV64-F-NEXT: fsw ft6, 52(sp) # 4-byte Folded Spill 825; CHECK-RV64-F-NEXT: fsw ft7, 48(sp) # 4-byte Folded Spill 826; CHECK-RV64-F-NEXT: fsw fa0, 44(sp) # 4-byte Folded Spill 827; CHECK-RV64-F-NEXT: fsw fa1, 40(sp) # 4-byte Folded Spill 828; CHECK-RV64-F-NEXT: fsw fa2, 36(sp) # 4-byte Folded Spill 829; CHECK-RV64-F-NEXT: fsw fa3, 32(sp) # 4-byte Folded Spill 830; CHECK-RV64-F-NEXT: fsw fa4, 28(sp) # 4-byte Folded Spill 831; CHECK-RV64-F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 832; CHECK-RV64-F-NEXT: fsw fa6, 20(sp) # 4-byte Folded Spill 833; CHECK-RV64-F-NEXT: fsw fa7, 16(sp) # 4-byte Folded Spill 834; CHECK-RV64-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 835; CHECK-RV64-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 836; CHECK-RV64-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 837; CHECK-RV64-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 838; CHECK-RV64-F-NEXT: call otherfoo 839; CHECK-RV64-F-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 840; CHECK-RV64-F-NEXT: ld t0, 192(sp) # 8-byte Folded Reload 841; CHECK-RV64-F-NEXT: ld t1, 184(sp) # 8-byte Folded Reload 842; CHECK-RV64-F-NEXT: ld t2, 176(sp) # 8-byte Folded Reload 843; CHECK-RV64-F-NEXT: ld a0, 168(sp) # 8-byte Folded Reload 844; CHECK-RV64-F-NEXT: ld a1, 160(sp) # 8-byte Folded Reload 845; CHECK-RV64-F-NEXT: ld a2, 152(sp) # 8-byte Folded Reload 846; CHECK-RV64-F-NEXT: ld a3, 144(sp) # 8-byte Folded Reload 847; CHECK-RV64-F-NEXT: ld a4, 136(sp) # 8-byte Folded Reload 848; CHECK-RV64-F-NEXT: ld a5, 128(sp) # 8-byte Folded Reload 849; CHECK-RV64-F-NEXT: ld a6, 120(sp) # 8-byte Folded Reload 850; CHECK-RV64-F-NEXT: ld a7, 112(sp) # 8-byte Folded Reload 851; CHECK-RV64-F-NEXT: ld t3, 104(sp) # 8-byte Folded Reload 852; CHECK-RV64-F-NEXT: ld t4, 96(sp) # 8-byte Folded Reload 853; CHECK-RV64-F-NEXT: ld t5, 88(sp) # 8-byte Folded Reload 854; CHECK-RV64-F-NEXT: ld t6, 80(sp) # 8-byte Folded Reload 855; CHECK-RV64-F-NEXT: flw ft0, 76(sp) # 4-byte Folded Reload 856; CHECK-RV64-F-NEXT: flw ft1, 72(sp) # 4-byte Folded Reload 857; CHECK-RV64-F-NEXT: flw ft2, 68(sp) # 4-byte Folded Reload 858; CHECK-RV64-F-NEXT: flw ft3, 64(sp) # 4-byte Folded Reload 859; CHECK-RV64-F-NEXT: flw ft4, 60(sp) # 4-byte Folded Reload 860; CHECK-RV64-F-NEXT: flw ft5, 56(sp) # 4-byte Folded Reload 861; CHECK-RV64-F-NEXT: flw ft6, 52(sp) # 4-byte Folded Reload 862; CHECK-RV64-F-NEXT: flw ft7, 48(sp) # 4-byte Folded Reload 863; CHECK-RV64-F-NEXT: flw fa0, 44(sp) # 4-byte Folded Reload 864; CHECK-RV64-F-NEXT: flw fa1, 40(sp) # 4-byte Folded Reload 865; CHECK-RV64-F-NEXT: flw fa2, 36(sp) # 4-byte Folded Reload 866; CHECK-RV64-F-NEXT: flw fa3, 32(sp) # 4-byte Folded Reload 867; CHECK-RV64-F-NEXT: flw fa4, 28(sp) # 4-byte Folded Reload 868; CHECK-RV64-F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 869; CHECK-RV64-F-NEXT: flw fa6, 20(sp) # 4-byte Folded Reload 870; CHECK-RV64-F-NEXT: flw fa7, 16(sp) # 4-byte Folded Reload 871; CHECK-RV64-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 872; CHECK-RV64-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 873; CHECK-RV64-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 874; CHECK-RV64-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 875; CHECK-RV64-F-NEXT: addi sp, sp, 208 876; CHECK-RV64-F-NEXT: mret 877; 878; CHECK-RV64-FD-LABEL: foo_with_call: 879; CHECK-RV64-FD: # %bb.0: 880; CHECK-RV64-FD-NEXT: addi sp, sp, -288 881; CHECK-RV64-FD-NEXT: sd ra, 280(sp) # 8-byte Folded Spill 882; CHECK-RV64-FD-NEXT: sd t0, 272(sp) # 8-byte Folded Spill 883; CHECK-RV64-FD-NEXT: sd t1, 264(sp) # 8-byte Folded Spill 884; CHECK-RV64-FD-NEXT: sd t2, 256(sp) # 8-byte Folded Spill 885; CHECK-RV64-FD-NEXT: sd a0, 248(sp) # 8-byte Folded Spill 886; CHECK-RV64-FD-NEXT: sd a1, 240(sp) # 8-byte Folded Spill 887; CHECK-RV64-FD-NEXT: sd a2, 232(sp) # 8-byte Folded Spill 888; CHECK-RV64-FD-NEXT: sd a3, 224(sp) # 8-byte Folded Spill 889; CHECK-RV64-FD-NEXT: sd a4, 216(sp) # 8-byte Folded Spill 890; CHECK-RV64-FD-NEXT: sd a5, 208(sp) # 8-byte Folded Spill 891; CHECK-RV64-FD-NEXT: sd a6, 200(sp) # 8-byte Folded Spill 892; CHECK-RV64-FD-NEXT: sd a7, 192(sp) # 8-byte Folded Spill 893; CHECK-RV64-FD-NEXT: sd t3, 184(sp) # 8-byte Folded Spill 894; CHECK-RV64-FD-NEXT: sd t4, 176(sp) # 8-byte Folded Spill 895; CHECK-RV64-FD-NEXT: sd t5, 168(sp) # 8-byte Folded Spill 896; CHECK-RV64-FD-NEXT: sd t6, 160(sp) # 8-byte Folded Spill 897; CHECK-RV64-FD-NEXT: fsd ft0, 152(sp) # 8-byte Folded Spill 898; CHECK-RV64-FD-NEXT: fsd ft1, 144(sp) # 8-byte Folded Spill 899; CHECK-RV64-FD-NEXT: fsd ft2, 136(sp) # 8-byte Folded Spill 900; CHECK-RV64-FD-NEXT: fsd ft3, 128(sp) # 8-byte Folded Spill 901; CHECK-RV64-FD-NEXT: fsd ft4, 120(sp) # 8-byte Folded Spill 902; CHECK-RV64-FD-NEXT: fsd ft5, 112(sp) # 8-byte Folded Spill 903; CHECK-RV64-FD-NEXT: fsd ft6, 104(sp) # 8-byte Folded Spill 904; CHECK-RV64-FD-NEXT: fsd ft7, 96(sp) # 8-byte Folded Spill 905; CHECK-RV64-FD-NEXT: fsd fa0, 88(sp) # 8-byte Folded Spill 906; CHECK-RV64-FD-NEXT: fsd fa1, 80(sp) # 8-byte Folded Spill 907; CHECK-RV64-FD-NEXT: fsd fa2, 72(sp) # 8-byte Folded Spill 908; CHECK-RV64-FD-NEXT: fsd fa3, 64(sp) # 8-byte Folded Spill 909; CHECK-RV64-FD-NEXT: fsd fa4, 56(sp) # 8-byte Folded Spill 910; CHECK-RV64-FD-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill 911; CHECK-RV64-FD-NEXT: fsd fa6, 40(sp) # 8-byte Folded Spill 912; CHECK-RV64-FD-NEXT: fsd fa7, 32(sp) # 8-byte Folded Spill 913; CHECK-RV64-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 914; CHECK-RV64-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 915; CHECK-RV64-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 916; CHECK-RV64-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 917; CHECK-RV64-FD-NEXT: call otherfoo 918; CHECK-RV64-FD-NEXT: ld ra, 280(sp) # 8-byte Folded Reload 919; CHECK-RV64-FD-NEXT: ld t0, 272(sp) # 8-byte Folded Reload 920; CHECK-RV64-FD-NEXT: ld t1, 264(sp) # 8-byte Folded Reload 921; CHECK-RV64-FD-NEXT: ld t2, 256(sp) # 8-byte Folded Reload 922; CHECK-RV64-FD-NEXT: ld a0, 248(sp) # 8-byte Folded Reload 923; CHECK-RV64-FD-NEXT: ld a1, 240(sp) # 8-byte Folded Reload 924; CHECK-RV64-FD-NEXT: ld a2, 232(sp) # 8-byte Folded Reload 925; CHECK-RV64-FD-NEXT: ld a3, 224(sp) # 8-byte Folded Reload 926; CHECK-RV64-FD-NEXT: ld a4, 216(sp) # 8-byte Folded Reload 927; CHECK-RV64-FD-NEXT: ld a5, 208(sp) # 8-byte Folded Reload 928; CHECK-RV64-FD-NEXT: ld a6, 200(sp) # 8-byte Folded Reload 929; CHECK-RV64-FD-NEXT: ld a7, 192(sp) # 8-byte Folded Reload 930; CHECK-RV64-FD-NEXT: ld t3, 184(sp) # 8-byte Folded Reload 931; CHECK-RV64-FD-NEXT: ld t4, 176(sp) # 8-byte Folded Reload 932; CHECK-RV64-FD-NEXT: ld t5, 168(sp) # 8-byte Folded Reload 933; CHECK-RV64-FD-NEXT: ld t6, 160(sp) # 8-byte Folded Reload 934; CHECK-RV64-FD-NEXT: fld ft0, 152(sp) # 8-byte Folded Reload 935; CHECK-RV64-FD-NEXT: fld ft1, 144(sp) # 8-byte Folded Reload 936; CHECK-RV64-FD-NEXT: fld ft2, 136(sp) # 8-byte Folded Reload 937; CHECK-RV64-FD-NEXT: fld ft3, 128(sp) # 8-byte Folded Reload 938; CHECK-RV64-FD-NEXT: fld ft4, 120(sp) # 8-byte Folded Reload 939; CHECK-RV64-FD-NEXT: fld ft5, 112(sp) # 8-byte Folded Reload 940; CHECK-RV64-FD-NEXT: fld ft6, 104(sp) # 8-byte Folded Reload 941; CHECK-RV64-FD-NEXT: fld ft7, 96(sp) # 8-byte Folded Reload 942; CHECK-RV64-FD-NEXT: fld fa0, 88(sp) # 8-byte Folded Reload 943; CHECK-RV64-FD-NEXT: fld fa1, 80(sp) # 8-byte Folded Reload 944; CHECK-RV64-FD-NEXT: fld fa2, 72(sp) # 8-byte Folded Reload 945; CHECK-RV64-FD-NEXT: fld fa3, 64(sp) # 8-byte Folded Reload 946; CHECK-RV64-FD-NEXT: fld fa4, 56(sp) # 8-byte Folded Reload 947; CHECK-RV64-FD-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload 948; CHECK-RV64-FD-NEXT: fld fa6, 40(sp) # 8-byte Folded Reload 949; CHECK-RV64-FD-NEXT: fld fa7, 32(sp) # 8-byte Folded Reload 950; CHECK-RV64-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 951; CHECK-RV64-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 952; CHECK-RV64-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 953; CHECK-RV64-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 954; CHECK-RV64-FD-NEXT: addi sp, sp, 288 955; CHECK-RV64-FD-NEXT: mret 956; 957; CHECK-RV64-F-LP64-LABEL: foo_with_call: 958; CHECK-RV64-F-LP64: # %bb.0: 959; CHECK-RV64-F-LP64-NEXT: addi sp, sp, -256 960; CHECK-RV64-F-LP64-NEXT: sd ra, 248(sp) # 8-byte Folded Spill 961; CHECK-RV64-F-LP64-NEXT: sd t0, 240(sp) # 8-byte Folded Spill 962; CHECK-RV64-F-LP64-NEXT: sd t1, 232(sp) # 8-byte Folded Spill 963; CHECK-RV64-F-LP64-NEXT: sd t2, 224(sp) # 8-byte Folded Spill 964; CHECK-RV64-F-LP64-NEXT: sd a0, 216(sp) # 8-byte Folded Spill 965; CHECK-RV64-F-LP64-NEXT: sd a1, 208(sp) # 8-byte Folded Spill 966; CHECK-RV64-F-LP64-NEXT: sd a2, 200(sp) # 8-byte Folded Spill 967; CHECK-RV64-F-LP64-NEXT: sd a3, 192(sp) # 8-byte Folded Spill 968; CHECK-RV64-F-LP64-NEXT: sd a4, 184(sp) # 8-byte Folded Spill 969; CHECK-RV64-F-LP64-NEXT: sd a5, 176(sp) # 8-byte Folded Spill 970; CHECK-RV64-F-LP64-NEXT: sd a6, 168(sp) # 8-byte Folded Spill 971; CHECK-RV64-F-LP64-NEXT: sd a7, 160(sp) # 8-byte Folded Spill 972; CHECK-RV64-F-LP64-NEXT: sd t3, 152(sp) # 8-byte Folded Spill 973; CHECK-RV64-F-LP64-NEXT: sd t4, 144(sp) # 8-byte Folded Spill 974; CHECK-RV64-F-LP64-NEXT: sd t5, 136(sp) # 8-byte Folded Spill 975; CHECK-RV64-F-LP64-NEXT: sd t6, 128(sp) # 8-byte Folded Spill 976; CHECK-RV64-F-LP64-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill 977; CHECK-RV64-F-LP64-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill 978; CHECK-RV64-F-LP64-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill 979; CHECK-RV64-F-LP64-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill 980; CHECK-RV64-F-LP64-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill 981; CHECK-RV64-F-LP64-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill 982; CHECK-RV64-F-LP64-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill 983; CHECK-RV64-F-LP64-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill 984; CHECK-RV64-F-LP64-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill 985; CHECK-RV64-F-LP64-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill 986; CHECK-RV64-F-LP64-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill 987; CHECK-RV64-F-LP64-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill 988; CHECK-RV64-F-LP64-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill 989; CHECK-RV64-F-LP64-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill 990; CHECK-RV64-F-LP64-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill 991; CHECK-RV64-F-LP64-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 992; CHECK-RV64-F-LP64-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill 993; CHECK-RV64-F-LP64-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill 994; CHECK-RV64-F-LP64-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill 995; CHECK-RV64-F-LP64-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill 996; CHECK-RV64-F-LP64-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill 997; CHECK-RV64-F-LP64-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill 998; CHECK-RV64-F-LP64-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill 999; CHECK-RV64-F-LP64-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill 1000; CHECK-RV64-F-LP64-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill 1001; CHECK-RV64-F-LP64-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill 1002; CHECK-RV64-F-LP64-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill 1003; CHECK-RV64-F-LP64-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill 1004; CHECK-RV64-F-LP64-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 1005; CHECK-RV64-F-LP64-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 1006; CHECK-RV64-F-LP64-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 1007; CHECK-RV64-F-LP64-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 1008; CHECK-RV64-F-LP64-NEXT: call otherfoo 1009; CHECK-RV64-F-LP64-NEXT: ld ra, 248(sp) # 8-byte Folded Reload 1010; CHECK-RV64-F-LP64-NEXT: ld t0, 240(sp) # 8-byte Folded Reload 1011; CHECK-RV64-F-LP64-NEXT: ld t1, 232(sp) # 8-byte Folded Reload 1012; CHECK-RV64-F-LP64-NEXT: ld t2, 224(sp) # 8-byte Folded Reload 1013; CHECK-RV64-F-LP64-NEXT: ld a0, 216(sp) # 8-byte Folded Reload 1014; CHECK-RV64-F-LP64-NEXT: ld a1, 208(sp) # 8-byte Folded Reload 1015; CHECK-RV64-F-LP64-NEXT: ld a2, 200(sp) # 8-byte Folded Reload 1016; CHECK-RV64-F-LP64-NEXT: ld a3, 192(sp) # 8-byte Folded Reload 1017; CHECK-RV64-F-LP64-NEXT: ld a4, 184(sp) # 8-byte Folded Reload 1018; CHECK-RV64-F-LP64-NEXT: ld a5, 176(sp) # 8-byte Folded Reload 1019; CHECK-RV64-F-LP64-NEXT: ld a6, 168(sp) # 8-byte Folded Reload 1020; CHECK-RV64-F-LP64-NEXT: ld a7, 160(sp) # 8-byte Folded Reload 1021; CHECK-RV64-F-LP64-NEXT: ld t3, 152(sp) # 8-byte Folded Reload 1022; CHECK-RV64-F-LP64-NEXT: ld t4, 144(sp) # 8-byte Folded Reload 1023; CHECK-RV64-F-LP64-NEXT: ld t5, 136(sp) # 8-byte Folded Reload 1024; CHECK-RV64-F-LP64-NEXT: ld t6, 128(sp) # 8-byte Folded Reload 1025; CHECK-RV64-F-LP64-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload 1026; CHECK-RV64-F-LP64-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload 1027; CHECK-RV64-F-LP64-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload 1028; CHECK-RV64-F-LP64-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload 1029; CHECK-RV64-F-LP64-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload 1030; CHECK-RV64-F-LP64-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload 1031; CHECK-RV64-F-LP64-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload 1032; CHECK-RV64-F-LP64-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload 1033; CHECK-RV64-F-LP64-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload 1034; CHECK-RV64-F-LP64-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload 1035; CHECK-RV64-F-LP64-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload 1036; CHECK-RV64-F-LP64-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload 1037; CHECK-RV64-F-LP64-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload 1038; CHECK-RV64-F-LP64-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload 1039; CHECK-RV64-F-LP64-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload 1040; CHECK-RV64-F-LP64-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1041; CHECK-RV64-F-LP64-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload 1042; CHECK-RV64-F-LP64-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload 1043; CHECK-RV64-F-LP64-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload 1044; CHECK-RV64-F-LP64-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload 1045; CHECK-RV64-F-LP64-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload 1046; CHECK-RV64-F-LP64-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload 1047; CHECK-RV64-F-LP64-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload 1048; CHECK-RV64-F-LP64-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload 1049; CHECK-RV64-F-LP64-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload 1050; CHECK-RV64-F-LP64-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload 1051; CHECK-RV64-F-LP64-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload 1052; CHECK-RV64-F-LP64-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload 1053; CHECK-RV64-F-LP64-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 1054; CHECK-RV64-F-LP64-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 1055; CHECK-RV64-F-LP64-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 1056; CHECK-RV64-F-LP64-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 1057; CHECK-RV64-F-LP64-NEXT: addi sp, sp, 256 1058; CHECK-RV64-F-LP64-NEXT: mret 1059; 1060; CHECK-RV64-FD-LP64F-LABEL: foo_with_call: 1061; CHECK-RV64-FD-LP64F: # %bb.0: 1062; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, -384 1063; CHECK-RV64-FD-LP64F-NEXT: sd ra, 376(sp) # 8-byte Folded Spill 1064; CHECK-RV64-FD-LP64F-NEXT: sd t0, 368(sp) # 8-byte Folded Spill 1065; CHECK-RV64-FD-LP64F-NEXT: sd t1, 360(sp) # 8-byte Folded Spill 1066; CHECK-RV64-FD-LP64F-NEXT: sd t2, 352(sp) # 8-byte Folded Spill 1067; CHECK-RV64-FD-LP64F-NEXT: sd a0, 344(sp) # 8-byte Folded Spill 1068; CHECK-RV64-FD-LP64F-NEXT: sd a1, 336(sp) # 8-byte Folded Spill 1069; CHECK-RV64-FD-LP64F-NEXT: sd a2, 328(sp) # 8-byte Folded Spill 1070; CHECK-RV64-FD-LP64F-NEXT: sd a3, 320(sp) # 8-byte Folded Spill 1071; CHECK-RV64-FD-LP64F-NEXT: sd a4, 312(sp) # 8-byte Folded Spill 1072; CHECK-RV64-FD-LP64F-NEXT: sd a5, 304(sp) # 8-byte Folded Spill 1073; CHECK-RV64-FD-LP64F-NEXT: sd a6, 296(sp) # 8-byte Folded Spill 1074; CHECK-RV64-FD-LP64F-NEXT: sd a7, 288(sp) # 8-byte Folded Spill 1075; CHECK-RV64-FD-LP64F-NEXT: sd t3, 280(sp) # 8-byte Folded Spill 1076; CHECK-RV64-FD-LP64F-NEXT: sd t4, 272(sp) # 8-byte Folded Spill 1077; CHECK-RV64-FD-LP64F-NEXT: sd t5, 264(sp) # 8-byte Folded Spill 1078; CHECK-RV64-FD-LP64F-NEXT: sd t6, 256(sp) # 8-byte Folded Spill 1079; CHECK-RV64-FD-LP64F-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill 1080; CHECK-RV64-FD-LP64F-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill 1081; CHECK-RV64-FD-LP64F-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill 1082; CHECK-RV64-FD-LP64F-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill 1083; CHECK-RV64-FD-LP64F-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill 1084; CHECK-RV64-FD-LP64F-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill 1085; CHECK-RV64-FD-LP64F-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill 1086; CHECK-RV64-FD-LP64F-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill 1087; CHECK-RV64-FD-LP64F-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill 1088; CHECK-RV64-FD-LP64F-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill 1089; CHECK-RV64-FD-LP64F-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill 1090; CHECK-RV64-FD-LP64F-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill 1091; CHECK-RV64-FD-LP64F-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill 1092; CHECK-RV64-FD-LP64F-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill 1093; CHECK-RV64-FD-LP64F-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill 1094; CHECK-RV64-FD-LP64F-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill 1095; CHECK-RV64-FD-LP64F-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill 1096; CHECK-RV64-FD-LP64F-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill 1097; CHECK-RV64-FD-LP64F-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill 1098; CHECK-RV64-FD-LP64F-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill 1099; CHECK-RV64-FD-LP64F-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill 1100; CHECK-RV64-FD-LP64F-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill 1101; CHECK-RV64-FD-LP64F-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill 1102; CHECK-RV64-FD-LP64F-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill 1103; CHECK-RV64-FD-LP64F-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill 1104; CHECK-RV64-FD-LP64F-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill 1105; CHECK-RV64-FD-LP64F-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill 1106; CHECK-RV64-FD-LP64F-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill 1107; CHECK-RV64-FD-LP64F-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 1108; CHECK-RV64-FD-LP64F-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 1109; CHECK-RV64-FD-LP64F-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 1110; CHECK-RV64-FD-LP64F-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 1111; CHECK-RV64-FD-LP64F-NEXT: call otherfoo 1112; CHECK-RV64-FD-LP64F-NEXT: ld ra, 376(sp) # 8-byte Folded Reload 1113; CHECK-RV64-FD-LP64F-NEXT: ld t0, 368(sp) # 8-byte Folded Reload 1114; CHECK-RV64-FD-LP64F-NEXT: ld t1, 360(sp) # 8-byte Folded Reload 1115; CHECK-RV64-FD-LP64F-NEXT: ld t2, 352(sp) # 8-byte Folded Reload 1116; CHECK-RV64-FD-LP64F-NEXT: ld a0, 344(sp) # 8-byte Folded Reload 1117; CHECK-RV64-FD-LP64F-NEXT: ld a1, 336(sp) # 8-byte Folded Reload 1118; CHECK-RV64-FD-LP64F-NEXT: ld a2, 328(sp) # 8-byte Folded Reload 1119; CHECK-RV64-FD-LP64F-NEXT: ld a3, 320(sp) # 8-byte Folded Reload 1120; CHECK-RV64-FD-LP64F-NEXT: ld a4, 312(sp) # 8-byte Folded Reload 1121; CHECK-RV64-FD-LP64F-NEXT: ld a5, 304(sp) # 8-byte Folded Reload 1122; CHECK-RV64-FD-LP64F-NEXT: ld a6, 296(sp) # 8-byte Folded Reload 1123; CHECK-RV64-FD-LP64F-NEXT: ld a7, 288(sp) # 8-byte Folded Reload 1124; CHECK-RV64-FD-LP64F-NEXT: ld t3, 280(sp) # 8-byte Folded Reload 1125; CHECK-RV64-FD-LP64F-NEXT: ld t4, 272(sp) # 8-byte Folded Reload 1126; CHECK-RV64-FD-LP64F-NEXT: ld t5, 264(sp) # 8-byte Folded Reload 1127; CHECK-RV64-FD-LP64F-NEXT: ld t6, 256(sp) # 8-byte Folded Reload 1128; CHECK-RV64-FD-LP64F-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload 1129; CHECK-RV64-FD-LP64F-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload 1130; CHECK-RV64-FD-LP64F-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload 1131; CHECK-RV64-FD-LP64F-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload 1132; CHECK-RV64-FD-LP64F-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload 1133; CHECK-RV64-FD-LP64F-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload 1134; CHECK-RV64-FD-LP64F-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload 1135; CHECK-RV64-FD-LP64F-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload 1136; CHECK-RV64-FD-LP64F-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload 1137; CHECK-RV64-FD-LP64F-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload 1138; CHECK-RV64-FD-LP64F-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload 1139; CHECK-RV64-FD-LP64F-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload 1140; CHECK-RV64-FD-LP64F-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload 1141; CHECK-RV64-FD-LP64F-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload 1142; CHECK-RV64-FD-LP64F-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload 1143; CHECK-RV64-FD-LP64F-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload 1144; CHECK-RV64-FD-LP64F-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload 1145; CHECK-RV64-FD-LP64F-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload 1146; CHECK-RV64-FD-LP64F-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload 1147; CHECK-RV64-FD-LP64F-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload 1148; CHECK-RV64-FD-LP64F-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload 1149; CHECK-RV64-FD-LP64F-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload 1150; CHECK-RV64-FD-LP64F-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload 1151; CHECK-RV64-FD-LP64F-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload 1152; CHECK-RV64-FD-LP64F-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload 1153; CHECK-RV64-FD-LP64F-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload 1154; CHECK-RV64-FD-LP64F-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload 1155; CHECK-RV64-FD-LP64F-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload 1156; CHECK-RV64-FD-LP64F-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 1157; CHECK-RV64-FD-LP64F-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 1158; CHECK-RV64-FD-LP64F-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 1159; CHECK-RV64-FD-LP64F-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 1160; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, 384 1161; CHECK-RV64-FD-LP64F-NEXT: mret 1162; 1163; CHECK-RV64-FD-LP64-LABEL: foo_with_call: 1164; CHECK-RV64-FD-LP64: # %bb.0: 1165; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, -384 1166; CHECK-RV64-FD-LP64-NEXT: sd ra, 376(sp) # 8-byte Folded Spill 1167; CHECK-RV64-FD-LP64-NEXT: sd t0, 368(sp) # 8-byte Folded Spill 1168; CHECK-RV64-FD-LP64-NEXT: sd t1, 360(sp) # 8-byte Folded Spill 1169; CHECK-RV64-FD-LP64-NEXT: sd t2, 352(sp) # 8-byte Folded Spill 1170; CHECK-RV64-FD-LP64-NEXT: sd a0, 344(sp) # 8-byte Folded Spill 1171; CHECK-RV64-FD-LP64-NEXT: sd a1, 336(sp) # 8-byte Folded Spill 1172; CHECK-RV64-FD-LP64-NEXT: sd a2, 328(sp) # 8-byte Folded Spill 1173; CHECK-RV64-FD-LP64-NEXT: sd a3, 320(sp) # 8-byte Folded Spill 1174; CHECK-RV64-FD-LP64-NEXT: sd a4, 312(sp) # 8-byte Folded Spill 1175; CHECK-RV64-FD-LP64-NEXT: sd a5, 304(sp) # 8-byte Folded Spill 1176; CHECK-RV64-FD-LP64-NEXT: sd a6, 296(sp) # 8-byte Folded Spill 1177; CHECK-RV64-FD-LP64-NEXT: sd a7, 288(sp) # 8-byte Folded Spill 1178; CHECK-RV64-FD-LP64-NEXT: sd t3, 280(sp) # 8-byte Folded Spill 1179; CHECK-RV64-FD-LP64-NEXT: sd t4, 272(sp) # 8-byte Folded Spill 1180; CHECK-RV64-FD-LP64-NEXT: sd t5, 264(sp) # 8-byte Folded Spill 1181; CHECK-RV64-FD-LP64-NEXT: sd t6, 256(sp) # 8-byte Folded Spill 1182; CHECK-RV64-FD-LP64-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill 1183; CHECK-RV64-FD-LP64-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill 1184; CHECK-RV64-FD-LP64-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill 1185; CHECK-RV64-FD-LP64-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill 1186; CHECK-RV64-FD-LP64-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill 1187; CHECK-RV64-FD-LP64-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill 1188; CHECK-RV64-FD-LP64-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill 1189; CHECK-RV64-FD-LP64-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill 1190; CHECK-RV64-FD-LP64-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill 1191; CHECK-RV64-FD-LP64-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill 1192; CHECK-RV64-FD-LP64-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill 1193; CHECK-RV64-FD-LP64-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill 1194; CHECK-RV64-FD-LP64-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill 1195; CHECK-RV64-FD-LP64-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill 1196; CHECK-RV64-FD-LP64-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill 1197; CHECK-RV64-FD-LP64-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill 1198; CHECK-RV64-FD-LP64-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill 1199; CHECK-RV64-FD-LP64-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill 1200; CHECK-RV64-FD-LP64-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill 1201; CHECK-RV64-FD-LP64-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill 1202; CHECK-RV64-FD-LP64-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill 1203; CHECK-RV64-FD-LP64-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill 1204; CHECK-RV64-FD-LP64-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill 1205; CHECK-RV64-FD-LP64-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill 1206; CHECK-RV64-FD-LP64-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill 1207; CHECK-RV64-FD-LP64-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill 1208; CHECK-RV64-FD-LP64-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill 1209; CHECK-RV64-FD-LP64-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill 1210; CHECK-RV64-FD-LP64-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 1211; CHECK-RV64-FD-LP64-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 1212; CHECK-RV64-FD-LP64-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 1213; CHECK-RV64-FD-LP64-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 1214; CHECK-RV64-FD-LP64-NEXT: call otherfoo 1215; CHECK-RV64-FD-LP64-NEXT: ld ra, 376(sp) # 8-byte Folded Reload 1216; CHECK-RV64-FD-LP64-NEXT: ld t0, 368(sp) # 8-byte Folded Reload 1217; CHECK-RV64-FD-LP64-NEXT: ld t1, 360(sp) # 8-byte Folded Reload 1218; CHECK-RV64-FD-LP64-NEXT: ld t2, 352(sp) # 8-byte Folded Reload 1219; CHECK-RV64-FD-LP64-NEXT: ld a0, 344(sp) # 8-byte Folded Reload 1220; CHECK-RV64-FD-LP64-NEXT: ld a1, 336(sp) # 8-byte Folded Reload 1221; CHECK-RV64-FD-LP64-NEXT: ld a2, 328(sp) # 8-byte Folded Reload 1222; CHECK-RV64-FD-LP64-NEXT: ld a3, 320(sp) # 8-byte Folded Reload 1223; CHECK-RV64-FD-LP64-NEXT: ld a4, 312(sp) # 8-byte Folded Reload 1224; CHECK-RV64-FD-LP64-NEXT: ld a5, 304(sp) # 8-byte Folded Reload 1225; CHECK-RV64-FD-LP64-NEXT: ld a6, 296(sp) # 8-byte Folded Reload 1226; CHECK-RV64-FD-LP64-NEXT: ld a7, 288(sp) # 8-byte Folded Reload 1227; CHECK-RV64-FD-LP64-NEXT: ld t3, 280(sp) # 8-byte Folded Reload 1228; CHECK-RV64-FD-LP64-NEXT: ld t4, 272(sp) # 8-byte Folded Reload 1229; CHECK-RV64-FD-LP64-NEXT: ld t5, 264(sp) # 8-byte Folded Reload 1230; CHECK-RV64-FD-LP64-NEXT: ld t6, 256(sp) # 8-byte Folded Reload 1231; CHECK-RV64-FD-LP64-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload 1232; CHECK-RV64-FD-LP64-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload 1233; CHECK-RV64-FD-LP64-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload 1234; CHECK-RV64-FD-LP64-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload 1235; CHECK-RV64-FD-LP64-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload 1236; CHECK-RV64-FD-LP64-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload 1237; CHECK-RV64-FD-LP64-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload 1238; CHECK-RV64-FD-LP64-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload 1239; CHECK-RV64-FD-LP64-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload 1240; CHECK-RV64-FD-LP64-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload 1241; CHECK-RV64-FD-LP64-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload 1242; CHECK-RV64-FD-LP64-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload 1243; CHECK-RV64-FD-LP64-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload 1244; CHECK-RV64-FD-LP64-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload 1245; CHECK-RV64-FD-LP64-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload 1246; CHECK-RV64-FD-LP64-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload 1247; CHECK-RV64-FD-LP64-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload 1248; CHECK-RV64-FD-LP64-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload 1249; CHECK-RV64-FD-LP64-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload 1250; CHECK-RV64-FD-LP64-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload 1251; CHECK-RV64-FD-LP64-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload 1252; CHECK-RV64-FD-LP64-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload 1253; CHECK-RV64-FD-LP64-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload 1254; CHECK-RV64-FD-LP64-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload 1255; CHECK-RV64-FD-LP64-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload 1256; CHECK-RV64-FD-LP64-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload 1257; CHECK-RV64-FD-LP64-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload 1258; CHECK-RV64-FD-LP64-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload 1259; CHECK-RV64-FD-LP64-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 1260; CHECK-RV64-FD-LP64-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 1261; CHECK-RV64-FD-LP64-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 1262; CHECK-RV64-FD-LP64-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 1263; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, 384 1264; CHECK-RV64-FD-LP64-NEXT: mret 1265; 1266; CHECK-RV64I-LP64E-LABEL: foo_with_call: 1267; CHECK-RV64I-LP64E: # %bb.0: 1268; CHECK-RV64I-LP64E-NEXT: addi sp, sp, -208 1269; CHECK-RV64I-LP64E-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 1270; CHECK-RV64I-LP64E-NEXT: sd t0, 192(sp) # 8-byte Folded Spill 1271; CHECK-RV64I-LP64E-NEXT: sd t1, 184(sp) # 8-byte Folded Spill 1272; CHECK-RV64I-LP64E-NEXT: sd t2, 176(sp) # 8-byte Folded Spill 1273; CHECK-RV64I-LP64E-NEXT: sd a0, 168(sp) # 8-byte Folded Spill 1274; CHECK-RV64I-LP64E-NEXT: sd a1, 160(sp) # 8-byte Folded Spill 1275; CHECK-RV64I-LP64E-NEXT: sd a2, 152(sp) # 8-byte Folded Spill 1276; CHECK-RV64I-LP64E-NEXT: sd a3, 144(sp) # 8-byte Folded Spill 1277; CHECK-RV64I-LP64E-NEXT: sd a4, 136(sp) # 8-byte Folded Spill 1278; CHECK-RV64I-LP64E-NEXT: sd a5, 128(sp) # 8-byte Folded Spill 1279; CHECK-RV64I-LP64E-NEXT: sd a6, 120(sp) # 8-byte Folded Spill 1280; CHECK-RV64I-LP64E-NEXT: sd a7, 112(sp) # 8-byte Folded Spill 1281; CHECK-RV64I-LP64E-NEXT: sd s2, 104(sp) # 8-byte Folded Spill 1282; CHECK-RV64I-LP64E-NEXT: sd s3, 96(sp) # 8-byte Folded Spill 1283; CHECK-RV64I-LP64E-NEXT: sd s4, 88(sp) # 8-byte Folded Spill 1284; CHECK-RV64I-LP64E-NEXT: sd s5, 80(sp) # 8-byte Folded Spill 1285; CHECK-RV64I-LP64E-NEXT: sd s6, 72(sp) # 8-byte Folded Spill 1286; CHECK-RV64I-LP64E-NEXT: sd s7, 64(sp) # 8-byte Folded Spill 1287; CHECK-RV64I-LP64E-NEXT: sd s8, 56(sp) # 8-byte Folded Spill 1288; CHECK-RV64I-LP64E-NEXT: sd s9, 48(sp) # 8-byte Folded Spill 1289; CHECK-RV64I-LP64E-NEXT: sd s10, 40(sp) # 8-byte Folded Spill 1290; CHECK-RV64I-LP64E-NEXT: sd s11, 32(sp) # 8-byte Folded Spill 1291; CHECK-RV64I-LP64E-NEXT: sd t3, 24(sp) # 8-byte Folded Spill 1292; CHECK-RV64I-LP64E-NEXT: sd t4, 16(sp) # 8-byte Folded Spill 1293; CHECK-RV64I-LP64E-NEXT: sd t5, 8(sp) # 8-byte Folded Spill 1294; CHECK-RV64I-LP64E-NEXT: sd t6, 0(sp) # 8-byte Folded Spill 1295; CHECK-RV64I-LP64E-NEXT: call otherfoo 1296; CHECK-RV64I-LP64E-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 1297; CHECK-RV64I-LP64E-NEXT: ld t0, 192(sp) # 8-byte Folded Reload 1298; CHECK-RV64I-LP64E-NEXT: ld t1, 184(sp) # 8-byte Folded Reload 1299; CHECK-RV64I-LP64E-NEXT: ld t2, 176(sp) # 8-byte Folded Reload 1300; CHECK-RV64I-LP64E-NEXT: ld a0, 168(sp) # 8-byte Folded Reload 1301; CHECK-RV64I-LP64E-NEXT: ld a1, 160(sp) # 8-byte Folded Reload 1302; CHECK-RV64I-LP64E-NEXT: ld a2, 152(sp) # 8-byte Folded Reload 1303; CHECK-RV64I-LP64E-NEXT: ld a3, 144(sp) # 8-byte Folded Reload 1304; CHECK-RV64I-LP64E-NEXT: ld a4, 136(sp) # 8-byte Folded Reload 1305; CHECK-RV64I-LP64E-NEXT: ld a5, 128(sp) # 8-byte Folded Reload 1306; CHECK-RV64I-LP64E-NEXT: ld a6, 120(sp) # 8-byte Folded Reload 1307; CHECK-RV64I-LP64E-NEXT: ld a7, 112(sp) # 8-byte Folded Reload 1308; CHECK-RV64I-LP64E-NEXT: ld s2, 104(sp) # 8-byte Folded Reload 1309; CHECK-RV64I-LP64E-NEXT: ld s3, 96(sp) # 8-byte Folded Reload 1310; CHECK-RV64I-LP64E-NEXT: ld s4, 88(sp) # 8-byte Folded Reload 1311; CHECK-RV64I-LP64E-NEXT: ld s5, 80(sp) # 8-byte Folded Reload 1312; CHECK-RV64I-LP64E-NEXT: ld s6, 72(sp) # 8-byte Folded Reload 1313; CHECK-RV64I-LP64E-NEXT: ld s7, 64(sp) # 8-byte Folded Reload 1314; CHECK-RV64I-LP64E-NEXT: ld s8, 56(sp) # 8-byte Folded Reload 1315; CHECK-RV64I-LP64E-NEXT: ld s9, 48(sp) # 8-byte Folded Reload 1316; CHECK-RV64I-LP64E-NEXT: ld s10, 40(sp) # 8-byte Folded Reload 1317; CHECK-RV64I-LP64E-NEXT: ld s11, 32(sp) # 8-byte Folded Reload 1318; CHECK-RV64I-LP64E-NEXT: ld t3, 24(sp) # 8-byte Folded Reload 1319; CHECK-RV64I-LP64E-NEXT: ld t4, 16(sp) # 8-byte Folded Reload 1320; CHECK-RV64I-LP64E-NEXT: ld t5, 8(sp) # 8-byte Folded Reload 1321; CHECK-RV64I-LP64E-NEXT: ld t6, 0(sp) # 8-byte Folded Reload 1322; CHECK-RV64I-LP64E-NEXT: addi sp, sp, 208 1323; CHECK-RV64I-LP64E-NEXT: mret 1324; 1325; CHECK-RV64E-LABEL: foo_with_call: 1326; CHECK-RV64E: # %bb.0: 1327; CHECK-RV64E-NEXT: addi sp, sp, -80 1328; CHECK-RV64E-NEXT: sd ra, 72(sp) # 8-byte Folded Spill 1329; CHECK-RV64E-NEXT: sd t0, 64(sp) # 8-byte Folded Spill 1330; CHECK-RV64E-NEXT: sd t1, 56(sp) # 8-byte Folded Spill 1331; CHECK-RV64E-NEXT: sd t2, 48(sp) # 8-byte Folded Spill 1332; CHECK-RV64E-NEXT: sd a0, 40(sp) # 8-byte Folded Spill 1333; CHECK-RV64E-NEXT: sd a1, 32(sp) # 8-byte Folded Spill 1334; CHECK-RV64E-NEXT: sd a2, 24(sp) # 8-byte Folded Spill 1335; CHECK-RV64E-NEXT: sd a3, 16(sp) # 8-byte Folded Spill 1336; CHECK-RV64E-NEXT: sd a4, 8(sp) # 8-byte Folded Spill 1337; CHECK-RV64E-NEXT: sd a5, 0(sp) # 8-byte Folded Spill 1338; CHECK-RV64E-NEXT: call otherfoo 1339; CHECK-RV64E-NEXT: ld ra, 72(sp) # 8-byte Folded Reload 1340; CHECK-RV64E-NEXT: ld t0, 64(sp) # 8-byte Folded Reload 1341; CHECK-RV64E-NEXT: ld t1, 56(sp) # 8-byte Folded Reload 1342; CHECK-RV64E-NEXT: ld t2, 48(sp) # 8-byte Folded Reload 1343; CHECK-RV64E-NEXT: ld a0, 40(sp) # 8-byte Folded Reload 1344; CHECK-RV64E-NEXT: ld a1, 32(sp) # 8-byte Folded Reload 1345; CHECK-RV64E-NEXT: ld a2, 24(sp) # 8-byte Folded Reload 1346; CHECK-RV64E-NEXT: ld a3, 16(sp) # 8-byte Folded Reload 1347; CHECK-RV64E-NEXT: ld a4, 8(sp) # 8-byte Folded Reload 1348; CHECK-RV64E-NEXT: ld a5, 0(sp) # 8-byte Folded Reload 1349; CHECK-RV64E-NEXT: addi sp, sp, 80 1350; CHECK-RV64E-NEXT: mret 1351; 1352; CHECK-RV64E-F-LABEL: foo_with_call: 1353; CHECK-RV64E-F: # %bb.0: 1354; CHECK-RV64E-F-NEXT: addi sp, sp, -208 1355; CHECK-RV64E-F-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 1356; CHECK-RV64E-F-NEXT: sd t0, 192(sp) # 8-byte Folded Spill 1357; CHECK-RV64E-F-NEXT: sd t1, 184(sp) # 8-byte Folded Spill 1358; CHECK-RV64E-F-NEXT: sd t2, 176(sp) # 8-byte Folded Spill 1359; CHECK-RV64E-F-NEXT: sd a0, 168(sp) # 8-byte Folded Spill 1360; CHECK-RV64E-F-NEXT: sd a1, 160(sp) # 8-byte Folded Spill 1361; CHECK-RV64E-F-NEXT: sd a2, 152(sp) # 8-byte Folded Spill 1362; CHECK-RV64E-F-NEXT: sd a3, 144(sp) # 8-byte Folded Spill 1363; CHECK-RV64E-F-NEXT: sd a4, 136(sp) # 8-byte Folded Spill 1364; CHECK-RV64E-F-NEXT: sd a5, 128(sp) # 8-byte Folded Spill 1365; CHECK-RV64E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill 1366; CHECK-RV64E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill 1367; CHECK-RV64E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill 1368; CHECK-RV64E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill 1369; CHECK-RV64E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill 1370; CHECK-RV64E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill 1371; CHECK-RV64E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill 1372; CHECK-RV64E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill 1373; CHECK-RV64E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill 1374; CHECK-RV64E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill 1375; CHECK-RV64E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill 1376; CHECK-RV64E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill 1377; CHECK-RV64E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill 1378; CHECK-RV64E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill 1379; CHECK-RV64E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill 1380; CHECK-RV64E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 1381; CHECK-RV64E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill 1382; CHECK-RV64E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill 1383; CHECK-RV64E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill 1384; CHECK-RV64E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill 1385; CHECK-RV64E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill 1386; CHECK-RV64E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill 1387; CHECK-RV64E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill 1388; CHECK-RV64E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill 1389; CHECK-RV64E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill 1390; CHECK-RV64E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill 1391; CHECK-RV64E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill 1392; CHECK-RV64E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill 1393; CHECK-RV64E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 1394; CHECK-RV64E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 1395; CHECK-RV64E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 1396; CHECK-RV64E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 1397; CHECK-RV64E-F-NEXT: call otherfoo 1398; CHECK-RV64E-F-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 1399; CHECK-RV64E-F-NEXT: ld t0, 192(sp) # 8-byte Folded Reload 1400; CHECK-RV64E-F-NEXT: ld t1, 184(sp) # 8-byte Folded Reload 1401; CHECK-RV64E-F-NEXT: ld t2, 176(sp) # 8-byte Folded Reload 1402; CHECK-RV64E-F-NEXT: ld a0, 168(sp) # 8-byte Folded Reload 1403; CHECK-RV64E-F-NEXT: ld a1, 160(sp) # 8-byte Folded Reload 1404; CHECK-RV64E-F-NEXT: ld a2, 152(sp) # 8-byte Folded Reload 1405; CHECK-RV64E-F-NEXT: ld a3, 144(sp) # 8-byte Folded Reload 1406; CHECK-RV64E-F-NEXT: ld a4, 136(sp) # 8-byte Folded Reload 1407; CHECK-RV64E-F-NEXT: ld a5, 128(sp) # 8-byte Folded Reload 1408; CHECK-RV64E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload 1409; CHECK-RV64E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload 1410; CHECK-RV64E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload 1411; CHECK-RV64E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload 1412; CHECK-RV64E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload 1413; CHECK-RV64E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload 1414; CHECK-RV64E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload 1415; CHECK-RV64E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload 1416; CHECK-RV64E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload 1417; CHECK-RV64E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload 1418; CHECK-RV64E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload 1419; CHECK-RV64E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload 1420; CHECK-RV64E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload 1421; CHECK-RV64E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload 1422; CHECK-RV64E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload 1423; CHECK-RV64E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1424; CHECK-RV64E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload 1425; CHECK-RV64E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload 1426; CHECK-RV64E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload 1427; CHECK-RV64E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload 1428; CHECK-RV64E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload 1429; CHECK-RV64E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload 1430; CHECK-RV64E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload 1431; CHECK-RV64E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload 1432; CHECK-RV64E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload 1433; CHECK-RV64E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload 1434; CHECK-RV64E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload 1435; CHECK-RV64E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload 1436; CHECK-RV64E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 1437; CHECK-RV64E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 1438; CHECK-RV64E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 1439; CHECK-RV64E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 1440; CHECK-RV64E-F-NEXT: addi sp, sp, 208 1441; CHECK-RV64E-F-NEXT: mret 1442; 1443; CHECK-RV64E-FD-LABEL: foo_with_call: 1444; CHECK-RV64E-FD: # %bb.0: 1445; CHECK-RV64E-FD-NEXT: addi sp, sp, -464 1446; CHECK-RV64E-FD-NEXT: sd ra, 456(sp) # 8-byte Folded Spill 1447; CHECK-RV64E-FD-NEXT: sd t0, 448(sp) # 8-byte Folded Spill 1448; CHECK-RV64E-FD-NEXT: sd t1, 440(sp) # 8-byte Folded Spill 1449; CHECK-RV64E-FD-NEXT: sd t2, 432(sp) # 8-byte Folded Spill 1450; CHECK-RV64E-FD-NEXT: sd a0, 424(sp) # 8-byte Folded Spill 1451; CHECK-RV64E-FD-NEXT: sd a1, 416(sp) # 8-byte Folded Spill 1452; CHECK-RV64E-FD-NEXT: sd a2, 408(sp) # 8-byte Folded Spill 1453; CHECK-RV64E-FD-NEXT: sd a3, 400(sp) # 8-byte Folded Spill 1454; CHECK-RV64E-FD-NEXT: sd a4, 392(sp) # 8-byte Folded Spill 1455; CHECK-RV64E-FD-NEXT: sd a5, 384(sp) # 8-byte Folded Spill 1456; CHECK-RV64E-FD-NEXT: sd a6, 376(sp) # 8-byte Folded Spill 1457; CHECK-RV64E-FD-NEXT: sd a7, 368(sp) # 8-byte Folded Spill 1458; CHECK-RV64E-FD-NEXT: sd s2, 360(sp) # 8-byte Folded Spill 1459; CHECK-RV64E-FD-NEXT: sd s3, 352(sp) # 8-byte Folded Spill 1460; CHECK-RV64E-FD-NEXT: sd s4, 344(sp) # 8-byte Folded Spill 1461; CHECK-RV64E-FD-NEXT: sd s5, 336(sp) # 8-byte Folded Spill 1462; CHECK-RV64E-FD-NEXT: sd s6, 328(sp) # 8-byte Folded Spill 1463; CHECK-RV64E-FD-NEXT: sd s7, 320(sp) # 8-byte Folded Spill 1464; CHECK-RV64E-FD-NEXT: sd s8, 312(sp) # 8-byte Folded Spill 1465; CHECK-RV64E-FD-NEXT: sd s9, 304(sp) # 8-byte Folded Spill 1466; CHECK-RV64E-FD-NEXT: sd s10, 296(sp) # 8-byte Folded Spill 1467; CHECK-RV64E-FD-NEXT: sd s11, 288(sp) # 8-byte Folded Spill 1468; CHECK-RV64E-FD-NEXT: sd t3, 280(sp) # 8-byte Folded Spill 1469; CHECK-RV64E-FD-NEXT: sd t4, 272(sp) # 8-byte Folded Spill 1470; CHECK-RV64E-FD-NEXT: sd t5, 264(sp) # 8-byte Folded Spill 1471; CHECK-RV64E-FD-NEXT: sd t6, 256(sp) # 8-byte Folded Spill 1472; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill 1473; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill 1474; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill 1475; CHECK-RV64E-FD-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill 1476; CHECK-RV64E-FD-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill 1477; CHECK-RV64E-FD-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill 1478; CHECK-RV64E-FD-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill 1479; CHECK-RV64E-FD-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill 1480; CHECK-RV64E-FD-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill 1481; CHECK-RV64E-FD-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill 1482; CHECK-RV64E-FD-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill 1483; CHECK-RV64E-FD-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill 1484; CHECK-RV64E-FD-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill 1485; CHECK-RV64E-FD-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill 1486; CHECK-RV64E-FD-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill 1487; CHECK-RV64E-FD-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill 1488; CHECK-RV64E-FD-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill 1489; CHECK-RV64E-FD-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill 1490; CHECK-RV64E-FD-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill 1491; CHECK-RV64E-FD-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill 1492; CHECK-RV64E-FD-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill 1493; CHECK-RV64E-FD-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill 1494; CHECK-RV64E-FD-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill 1495; CHECK-RV64E-FD-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill 1496; CHECK-RV64E-FD-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill 1497; CHECK-RV64E-FD-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill 1498; CHECK-RV64E-FD-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill 1499; CHECK-RV64E-FD-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill 1500; CHECK-RV64E-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 1501; CHECK-RV64E-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 1502; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 1503; CHECK-RV64E-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 1504; CHECK-RV64E-FD-NEXT: call otherfoo 1505; CHECK-RV64E-FD-NEXT: ld ra, 456(sp) # 8-byte Folded Reload 1506; CHECK-RV64E-FD-NEXT: ld t0, 448(sp) # 8-byte Folded Reload 1507; CHECK-RV64E-FD-NEXT: ld t1, 440(sp) # 8-byte Folded Reload 1508; CHECK-RV64E-FD-NEXT: ld t2, 432(sp) # 8-byte Folded Reload 1509; CHECK-RV64E-FD-NEXT: ld a0, 424(sp) # 8-byte Folded Reload 1510; CHECK-RV64E-FD-NEXT: ld a1, 416(sp) # 8-byte Folded Reload 1511; CHECK-RV64E-FD-NEXT: ld a2, 408(sp) # 8-byte Folded Reload 1512; CHECK-RV64E-FD-NEXT: ld a3, 400(sp) # 8-byte Folded Reload 1513; CHECK-RV64E-FD-NEXT: ld a4, 392(sp) # 8-byte Folded Reload 1514; CHECK-RV64E-FD-NEXT: ld a5, 384(sp) # 8-byte Folded Reload 1515; CHECK-RV64E-FD-NEXT: ld a6, 376(sp) # 8-byte Folded Reload 1516; CHECK-RV64E-FD-NEXT: ld a7, 368(sp) # 8-byte Folded Reload 1517; CHECK-RV64E-FD-NEXT: ld s2, 360(sp) # 8-byte Folded Reload 1518; CHECK-RV64E-FD-NEXT: ld s3, 352(sp) # 8-byte Folded Reload 1519; CHECK-RV64E-FD-NEXT: ld s4, 344(sp) # 8-byte Folded Reload 1520; CHECK-RV64E-FD-NEXT: ld s5, 336(sp) # 8-byte Folded Reload 1521; CHECK-RV64E-FD-NEXT: ld s6, 328(sp) # 8-byte Folded Reload 1522; CHECK-RV64E-FD-NEXT: ld s7, 320(sp) # 8-byte Folded Reload 1523; CHECK-RV64E-FD-NEXT: ld s8, 312(sp) # 8-byte Folded Reload 1524; CHECK-RV64E-FD-NEXT: ld s9, 304(sp) # 8-byte Folded Reload 1525; CHECK-RV64E-FD-NEXT: ld s10, 296(sp) # 8-byte Folded Reload 1526; CHECK-RV64E-FD-NEXT: ld s11, 288(sp) # 8-byte Folded Reload 1527; CHECK-RV64E-FD-NEXT: ld t3, 280(sp) # 8-byte Folded Reload 1528; CHECK-RV64E-FD-NEXT: ld t4, 272(sp) # 8-byte Folded Reload 1529; CHECK-RV64E-FD-NEXT: ld t5, 264(sp) # 8-byte Folded Reload 1530; CHECK-RV64E-FD-NEXT: ld t6, 256(sp) # 8-byte Folded Reload 1531; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload 1532; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload 1533; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload 1534; CHECK-RV64E-FD-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload 1535; CHECK-RV64E-FD-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload 1536; CHECK-RV64E-FD-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload 1537; CHECK-RV64E-FD-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload 1538; CHECK-RV64E-FD-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload 1539; CHECK-RV64E-FD-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload 1540; CHECK-RV64E-FD-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload 1541; CHECK-RV64E-FD-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload 1542; CHECK-RV64E-FD-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload 1543; CHECK-RV64E-FD-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload 1544; CHECK-RV64E-FD-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload 1545; CHECK-RV64E-FD-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload 1546; CHECK-RV64E-FD-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload 1547; CHECK-RV64E-FD-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload 1548; CHECK-RV64E-FD-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload 1549; CHECK-RV64E-FD-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload 1550; CHECK-RV64E-FD-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload 1551; CHECK-RV64E-FD-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload 1552; CHECK-RV64E-FD-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload 1553; CHECK-RV64E-FD-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload 1554; CHECK-RV64E-FD-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload 1555; CHECK-RV64E-FD-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload 1556; CHECK-RV64E-FD-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload 1557; CHECK-RV64E-FD-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload 1558; CHECK-RV64E-FD-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload 1559; CHECK-RV64E-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 1560; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 1561; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 1562; CHECK-RV64E-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 1563; CHECK-RV64E-FD-NEXT: addi sp, sp, 464 1564; CHECK-RV64E-FD-NEXT: mret 1565 %call = call i32 @otherfoo() 1566 ret void 1567} 1568 1569; 1570; Additionally check frame pointer and return address are properly saved. 1571; 1572define void @foo_fp_with_call() #2 { 1573; 1574; CHECK-RV32-LABEL: foo_fp_with_call: 1575; CHECK-RV32: # %bb.0: 1576; CHECK-RV32-NEXT: addi sp, sp, -80 1577; CHECK-RV32-NEXT: sw ra, 76(sp) # 4-byte Folded Spill 1578; CHECK-RV32-NEXT: sw t0, 72(sp) # 4-byte Folded Spill 1579; CHECK-RV32-NEXT: sw t1, 68(sp) # 4-byte Folded Spill 1580; CHECK-RV32-NEXT: sw t2, 64(sp) # 4-byte Folded Spill 1581; CHECK-RV32-NEXT: sw s0, 60(sp) # 4-byte Folded Spill 1582; CHECK-RV32-NEXT: sw a0, 56(sp) # 4-byte Folded Spill 1583; CHECK-RV32-NEXT: sw a1, 52(sp) # 4-byte Folded Spill 1584; CHECK-RV32-NEXT: sw a2, 48(sp) # 4-byte Folded Spill 1585; CHECK-RV32-NEXT: sw a3, 44(sp) # 4-byte Folded Spill 1586; CHECK-RV32-NEXT: sw a4, 40(sp) # 4-byte Folded Spill 1587; CHECK-RV32-NEXT: sw a5, 36(sp) # 4-byte Folded Spill 1588; CHECK-RV32-NEXT: sw a6, 32(sp) # 4-byte Folded Spill 1589; CHECK-RV32-NEXT: sw a7, 28(sp) # 4-byte Folded Spill 1590; CHECK-RV32-NEXT: sw t3, 24(sp) # 4-byte Folded Spill 1591; CHECK-RV32-NEXT: sw t4, 20(sp) # 4-byte Folded Spill 1592; CHECK-RV32-NEXT: sw t5, 16(sp) # 4-byte Folded Spill 1593; CHECK-RV32-NEXT: sw t6, 12(sp) # 4-byte Folded Spill 1594; CHECK-RV32-NEXT: addi s0, sp, 80 1595; CHECK-RV32-NEXT: call otherfoo 1596; CHECK-RV32-NEXT: lw ra, 76(sp) # 4-byte Folded Reload 1597; CHECK-RV32-NEXT: lw t0, 72(sp) # 4-byte Folded Reload 1598; CHECK-RV32-NEXT: lw t1, 68(sp) # 4-byte Folded Reload 1599; CHECK-RV32-NEXT: lw t2, 64(sp) # 4-byte Folded Reload 1600; CHECK-RV32-NEXT: lw s0, 60(sp) # 4-byte Folded Reload 1601; CHECK-RV32-NEXT: lw a0, 56(sp) # 4-byte Folded Reload 1602; CHECK-RV32-NEXT: lw a1, 52(sp) # 4-byte Folded Reload 1603; CHECK-RV32-NEXT: lw a2, 48(sp) # 4-byte Folded Reload 1604; CHECK-RV32-NEXT: lw a3, 44(sp) # 4-byte Folded Reload 1605; CHECK-RV32-NEXT: lw a4, 40(sp) # 4-byte Folded Reload 1606; CHECK-RV32-NEXT: lw a5, 36(sp) # 4-byte Folded Reload 1607; CHECK-RV32-NEXT: lw a6, 32(sp) # 4-byte Folded Reload 1608; CHECK-RV32-NEXT: lw a7, 28(sp) # 4-byte Folded Reload 1609; CHECK-RV32-NEXT: lw t3, 24(sp) # 4-byte Folded Reload 1610; CHECK-RV32-NEXT: lw t4, 20(sp) # 4-byte Folded Reload 1611; CHECK-RV32-NEXT: lw t5, 16(sp) # 4-byte Folded Reload 1612; CHECK-RV32-NEXT: lw t6, 12(sp) # 4-byte Folded Reload 1613; CHECK-RV32-NEXT: addi sp, sp, 80 1614; CHECK-RV32-NEXT: mret 1615; 1616; CHECK-RV32-F-LABEL: foo_fp_with_call: 1617; CHECK-RV32-F: # %bb.0: 1618; CHECK-RV32-F-NEXT: addi sp, sp, -160 1619; CHECK-RV32-F-NEXT: sw ra, 156(sp) # 4-byte Folded Spill 1620; CHECK-RV32-F-NEXT: sw t0, 152(sp) # 4-byte Folded Spill 1621; CHECK-RV32-F-NEXT: sw t1, 148(sp) # 4-byte Folded Spill 1622; CHECK-RV32-F-NEXT: sw t2, 144(sp) # 4-byte Folded Spill 1623; CHECK-RV32-F-NEXT: sw s0, 140(sp) # 4-byte Folded Spill 1624; CHECK-RV32-F-NEXT: sw a0, 136(sp) # 4-byte Folded Spill 1625; CHECK-RV32-F-NEXT: sw a1, 132(sp) # 4-byte Folded Spill 1626; CHECK-RV32-F-NEXT: sw a2, 128(sp) # 4-byte Folded Spill 1627; CHECK-RV32-F-NEXT: sw a3, 124(sp) # 4-byte Folded Spill 1628; CHECK-RV32-F-NEXT: sw a4, 120(sp) # 4-byte Folded Spill 1629; CHECK-RV32-F-NEXT: sw a5, 116(sp) # 4-byte Folded Spill 1630; CHECK-RV32-F-NEXT: sw a6, 112(sp) # 4-byte Folded Spill 1631; CHECK-RV32-F-NEXT: sw a7, 108(sp) # 4-byte Folded Spill 1632; CHECK-RV32-F-NEXT: sw t3, 104(sp) # 4-byte Folded Spill 1633; CHECK-RV32-F-NEXT: sw t4, 100(sp) # 4-byte Folded Spill 1634; CHECK-RV32-F-NEXT: sw t5, 96(sp) # 4-byte Folded Spill 1635; CHECK-RV32-F-NEXT: sw t6, 92(sp) # 4-byte Folded Spill 1636; CHECK-RV32-F-NEXT: fsw ft0, 88(sp) # 4-byte Folded Spill 1637; CHECK-RV32-F-NEXT: fsw ft1, 84(sp) # 4-byte Folded Spill 1638; CHECK-RV32-F-NEXT: fsw ft2, 80(sp) # 4-byte Folded Spill 1639; CHECK-RV32-F-NEXT: fsw ft3, 76(sp) # 4-byte Folded Spill 1640; CHECK-RV32-F-NEXT: fsw ft4, 72(sp) # 4-byte Folded Spill 1641; CHECK-RV32-F-NEXT: fsw ft5, 68(sp) # 4-byte Folded Spill 1642; CHECK-RV32-F-NEXT: fsw ft6, 64(sp) # 4-byte Folded Spill 1643; CHECK-RV32-F-NEXT: fsw ft7, 60(sp) # 4-byte Folded Spill 1644; CHECK-RV32-F-NEXT: fsw fa0, 56(sp) # 4-byte Folded Spill 1645; CHECK-RV32-F-NEXT: fsw fa1, 52(sp) # 4-byte Folded Spill 1646; CHECK-RV32-F-NEXT: fsw fa2, 48(sp) # 4-byte Folded Spill 1647; CHECK-RV32-F-NEXT: fsw fa3, 44(sp) # 4-byte Folded Spill 1648; CHECK-RV32-F-NEXT: fsw fa4, 40(sp) # 4-byte Folded Spill 1649; CHECK-RV32-F-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 1650; CHECK-RV32-F-NEXT: fsw fa6, 32(sp) # 4-byte Folded Spill 1651; CHECK-RV32-F-NEXT: fsw fa7, 28(sp) # 4-byte Folded Spill 1652; CHECK-RV32-F-NEXT: fsw ft8, 24(sp) # 4-byte Folded Spill 1653; CHECK-RV32-F-NEXT: fsw ft9, 20(sp) # 4-byte Folded Spill 1654; CHECK-RV32-F-NEXT: fsw ft10, 16(sp) # 4-byte Folded Spill 1655; CHECK-RV32-F-NEXT: fsw ft11, 12(sp) # 4-byte Folded Spill 1656; CHECK-RV32-F-NEXT: addi s0, sp, 160 1657; CHECK-RV32-F-NEXT: call otherfoo 1658; CHECK-RV32-F-NEXT: lw ra, 156(sp) # 4-byte Folded Reload 1659; CHECK-RV32-F-NEXT: lw t0, 152(sp) # 4-byte Folded Reload 1660; CHECK-RV32-F-NEXT: lw t1, 148(sp) # 4-byte Folded Reload 1661; CHECK-RV32-F-NEXT: lw t2, 144(sp) # 4-byte Folded Reload 1662; CHECK-RV32-F-NEXT: lw s0, 140(sp) # 4-byte Folded Reload 1663; CHECK-RV32-F-NEXT: lw a0, 136(sp) # 4-byte Folded Reload 1664; CHECK-RV32-F-NEXT: lw a1, 132(sp) # 4-byte Folded Reload 1665; CHECK-RV32-F-NEXT: lw a2, 128(sp) # 4-byte Folded Reload 1666; CHECK-RV32-F-NEXT: lw a3, 124(sp) # 4-byte Folded Reload 1667; CHECK-RV32-F-NEXT: lw a4, 120(sp) # 4-byte Folded Reload 1668; CHECK-RV32-F-NEXT: lw a5, 116(sp) # 4-byte Folded Reload 1669; CHECK-RV32-F-NEXT: lw a6, 112(sp) # 4-byte Folded Reload 1670; CHECK-RV32-F-NEXT: lw a7, 108(sp) # 4-byte Folded Reload 1671; CHECK-RV32-F-NEXT: lw t3, 104(sp) # 4-byte Folded Reload 1672; CHECK-RV32-F-NEXT: lw t4, 100(sp) # 4-byte Folded Reload 1673; CHECK-RV32-F-NEXT: lw t5, 96(sp) # 4-byte Folded Reload 1674; CHECK-RV32-F-NEXT: lw t6, 92(sp) # 4-byte Folded Reload 1675; CHECK-RV32-F-NEXT: flw ft0, 88(sp) # 4-byte Folded Reload 1676; CHECK-RV32-F-NEXT: flw ft1, 84(sp) # 4-byte Folded Reload 1677; CHECK-RV32-F-NEXT: flw ft2, 80(sp) # 4-byte Folded Reload 1678; CHECK-RV32-F-NEXT: flw ft3, 76(sp) # 4-byte Folded Reload 1679; CHECK-RV32-F-NEXT: flw ft4, 72(sp) # 4-byte Folded Reload 1680; CHECK-RV32-F-NEXT: flw ft5, 68(sp) # 4-byte Folded Reload 1681; CHECK-RV32-F-NEXT: flw ft6, 64(sp) # 4-byte Folded Reload 1682; CHECK-RV32-F-NEXT: flw ft7, 60(sp) # 4-byte Folded Reload 1683; CHECK-RV32-F-NEXT: flw fa0, 56(sp) # 4-byte Folded Reload 1684; CHECK-RV32-F-NEXT: flw fa1, 52(sp) # 4-byte Folded Reload 1685; CHECK-RV32-F-NEXT: flw fa2, 48(sp) # 4-byte Folded Reload 1686; CHECK-RV32-F-NEXT: flw fa3, 44(sp) # 4-byte Folded Reload 1687; CHECK-RV32-F-NEXT: flw fa4, 40(sp) # 4-byte Folded Reload 1688; CHECK-RV32-F-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 1689; CHECK-RV32-F-NEXT: flw fa6, 32(sp) # 4-byte Folded Reload 1690; CHECK-RV32-F-NEXT: flw fa7, 28(sp) # 4-byte Folded Reload 1691; CHECK-RV32-F-NEXT: flw ft8, 24(sp) # 4-byte Folded Reload 1692; CHECK-RV32-F-NEXT: flw ft9, 20(sp) # 4-byte Folded Reload 1693; CHECK-RV32-F-NEXT: flw ft10, 16(sp) # 4-byte Folded Reload 1694; CHECK-RV32-F-NEXT: flw ft11, 12(sp) # 4-byte Folded Reload 1695; CHECK-RV32-F-NEXT: addi sp, sp, 160 1696; CHECK-RV32-F-NEXT: mret 1697; 1698; CHECK-RV32-FD-LABEL: foo_fp_with_call: 1699; CHECK-RV32-FD: # %bb.0: 1700; CHECK-RV32-FD-NEXT: addi sp, sp, -240 1701; CHECK-RV32-FD-NEXT: sw ra, 236(sp) # 4-byte Folded Spill 1702; CHECK-RV32-FD-NEXT: sw t0, 232(sp) # 4-byte Folded Spill 1703; CHECK-RV32-FD-NEXT: sw t1, 228(sp) # 4-byte Folded Spill 1704; CHECK-RV32-FD-NEXT: sw t2, 224(sp) # 4-byte Folded Spill 1705; CHECK-RV32-FD-NEXT: sw s0, 220(sp) # 4-byte Folded Spill 1706; CHECK-RV32-FD-NEXT: sw a0, 216(sp) # 4-byte Folded Spill 1707; CHECK-RV32-FD-NEXT: sw a1, 212(sp) # 4-byte Folded Spill 1708; CHECK-RV32-FD-NEXT: sw a2, 208(sp) # 4-byte Folded Spill 1709; CHECK-RV32-FD-NEXT: sw a3, 204(sp) # 4-byte Folded Spill 1710; CHECK-RV32-FD-NEXT: sw a4, 200(sp) # 4-byte Folded Spill 1711; CHECK-RV32-FD-NEXT: sw a5, 196(sp) # 4-byte Folded Spill 1712; CHECK-RV32-FD-NEXT: sw a6, 192(sp) # 4-byte Folded Spill 1713; CHECK-RV32-FD-NEXT: sw a7, 188(sp) # 4-byte Folded Spill 1714; CHECK-RV32-FD-NEXT: sw t3, 184(sp) # 4-byte Folded Spill 1715; CHECK-RV32-FD-NEXT: sw t4, 180(sp) # 4-byte Folded Spill 1716; CHECK-RV32-FD-NEXT: sw t5, 176(sp) # 4-byte Folded Spill 1717; CHECK-RV32-FD-NEXT: sw t6, 172(sp) # 4-byte Folded Spill 1718; CHECK-RV32-FD-NEXT: fsd ft0, 160(sp) # 8-byte Folded Spill 1719; CHECK-RV32-FD-NEXT: fsd ft1, 152(sp) # 8-byte Folded Spill 1720; CHECK-RV32-FD-NEXT: fsd ft2, 144(sp) # 8-byte Folded Spill 1721; CHECK-RV32-FD-NEXT: fsd ft3, 136(sp) # 8-byte Folded Spill 1722; CHECK-RV32-FD-NEXT: fsd ft4, 128(sp) # 8-byte Folded Spill 1723; CHECK-RV32-FD-NEXT: fsd ft5, 120(sp) # 8-byte Folded Spill 1724; CHECK-RV32-FD-NEXT: fsd ft6, 112(sp) # 8-byte Folded Spill 1725; CHECK-RV32-FD-NEXT: fsd ft7, 104(sp) # 8-byte Folded Spill 1726; CHECK-RV32-FD-NEXT: fsd fa0, 96(sp) # 8-byte Folded Spill 1727; CHECK-RV32-FD-NEXT: fsd fa1, 88(sp) # 8-byte Folded Spill 1728; CHECK-RV32-FD-NEXT: fsd fa2, 80(sp) # 8-byte Folded Spill 1729; CHECK-RV32-FD-NEXT: fsd fa3, 72(sp) # 8-byte Folded Spill 1730; CHECK-RV32-FD-NEXT: fsd fa4, 64(sp) # 8-byte Folded Spill 1731; CHECK-RV32-FD-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill 1732; CHECK-RV32-FD-NEXT: fsd fa6, 48(sp) # 8-byte Folded Spill 1733; CHECK-RV32-FD-NEXT: fsd fa7, 40(sp) # 8-byte Folded Spill 1734; CHECK-RV32-FD-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill 1735; CHECK-RV32-FD-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill 1736; CHECK-RV32-FD-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill 1737; CHECK-RV32-FD-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill 1738; CHECK-RV32-FD-NEXT: addi s0, sp, 240 1739; CHECK-RV32-FD-NEXT: call otherfoo 1740; CHECK-RV32-FD-NEXT: lw ra, 236(sp) # 4-byte Folded Reload 1741; CHECK-RV32-FD-NEXT: lw t0, 232(sp) # 4-byte Folded Reload 1742; CHECK-RV32-FD-NEXT: lw t1, 228(sp) # 4-byte Folded Reload 1743; CHECK-RV32-FD-NEXT: lw t2, 224(sp) # 4-byte Folded Reload 1744; CHECK-RV32-FD-NEXT: lw s0, 220(sp) # 4-byte Folded Reload 1745; CHECK-RV32-FD-NEXT: lw a0, 216(sp) # 4-byte Folded Reload 1746; CHECK-RV32-FD-NEXT: lw a1, 212(sp) # 4-byte Folded Reload 1747; CHECK-RV32-FD-NEXT: lw a2, 208(sp) # 4-byte Folded Reload 1748; CHECK-RV32-FD-NEXT: lw a3, 204(sp) # 4-byte Folded Reload 1749; CHECK-RV32-FD-NEXT: lw a4, 200(sp) # 4-byte Folded Reload 1750; CHECK-RV32-FD-NEXT: lw a5, 196(sp) # 4-byte Folded Reload 1751; CHECK-RV32-FD-NEXT: lw a6, 192(sp) # 4-byte Folded Reload 1752; CHECK-RV32-FD-NEXT: lw a7, 188(sp) # 4-byte Folded Reload 1753; CHECK-RV32-FD-NEXT: lw t3, 184(sp) # 4-byte Folded Reload 1754; CHECK-RV32-FD-NEXT: lw t4, 180(sp) # 4-byte Folded Reload 1755; CHECK-RV32-FD-NEXT: lw t5, 176(sp) # 4-byte Folded Reload 1756; CHECK-RV32-FD-NEXT: lw t6, 172(sp) # 4-byte Folded Reload 1757; CHECK-RV32-FD-NEXT: fld ft0, 160(sp) # 8-byte Folded Reload 1758; CHECK-RV32-FD-NEXT: fld ft1, 152(sp) # 8-byte Folded Reload 1759; CHECK-RV32-FD-NEXT: fld ft2, 144(sp) # 8-byte Folded Reload 1760; CHECK-RV32-FD-NEXT: fld ft3, 136(sp) # 8-byte Folded Reload 1761; CHECK-RV32-FD-NEXT: fld ft4, 128(sp) # 8-byte Folded Reload 1762; CHECK-RV32-FD-NEXT: fld ft5, 120(sp) # 8-byte Folded Reload 1763; CHECK-RV32-FD-NEXT: fld ft6, 112(sp) # 8-byte Folded Reload 1764; CHECK-RV32-FD-NEXT: fld ft7, 104(sp) # 8-byte Folded Reload 1765; CHECK-RV32-FD-NEXT: fld fa0, 96(sp) # 8-byte Folded Reload 1766; CHECK-RV32-FD-NEXT: fld fa1, 88(sp) # 8-byte Folded Reload 1767; CHECK-RV32-FD-NEXT: fld fa2, 80(sp) # 8-byte Folded Reload 1768; CHECK-RV32-FD-NEXT: fld fa3, 72(sp) # 8-byte Folded Reload 1769; CHECK-RV32-FD-NEXT: fld fa4, 64(sp) # 8-byte Folded Reload 1770; CHECK-RV32-FD-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload 1771; CHECK-RV32-FD-NEXT: fld fa6, 48(sp) # 8-byte Folded Reload 1772; CHECK-RV32-FD-NEXT: fld fa7, 40(sp) # 8-byte Folded Reload 1773; CHECK-RV32-FD-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload 1774; CHECK-RV32-FD-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload 1775; CHECK-RV32-FD-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload 1776; CHECK-RV32-FD-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload 1777; CHECK-RV32-FD-NEXT: addi sp, sp, 240 1778; CHECK-RV32-FD-NEXT: mret 1779; 1780; CHECK-RV32-F-ILP3-LABEL: foo_fp_with_call: 1781; CHECK-RV32-F-ILP3: # %bb.0: 1782; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, -208 1783; CHECK-RV32-F-ILP3-NEXT: sw ra, 204(sp) # 4-byte Folded Spill 1784; CHECK-RV32-F-ILP3-NEXT: sw t0, 200(sp) # 4-byte Folded Spill 1785; CHECK-RV32-F-ILP3-NEXT: sw t1, 196(sp) # 4-byte Folded Spill 1786; CHECK-RV32-F-ILP3-NEXT: sw t2, 192(sp) # 4-byte Folded Spill 1787; CHECK-RV32-F-ILP3-NEXT: sw s0, 188(sp) # 4-byte Folded Spill 1788; CHECK-RV32-F-ILP3-NEXT: sw a0, 184(sp) # 4-byte Folded Spill 1789; CHECK-RV32-F-ILP3-NEXT: sw a1, 180(sp) # 4-byte Folded Spill 1790; CHECK-RV32-F-ILP3-NEXT: sw a2, 176(sp) # 4-byte Folded Spill 1791; CHECK-RV32-F-ILP3-NEXT: sw a3, 172(sp) # 4-byte Folded Spill 1792; CHECK-RV32-F-ILP3-NEXT: sw a4, 168(sp) # 4-byte Folded Spill 1793; CHECK-RV32-F-ILP3-NEXT: sw a5, 164(sp) # 4-byte Folded Spill 1794; CHECK-RV32-F-ILP3-NEXT: sw a6, 160(sp) # 4-byte Folded Spill 1795; CHECK-RV32-F-ILP3-NEXT: sw a7, 156(sp) # 4-byte Folded Spill 1796; CHECK-RV32-F-ILP3-NEXT: sw t3, 152(sp) # 4-byte Folded Spill 1797; CHECK-RV32-F-ILP3-NEXT: sw t4, 148(sp) # 4-byte Folded Spill 1798; CHECK-RV32-F-ILP3-NEXT: sw t5, 144(sp) # 4-byte Folded Spill 1799; CHECK-RV32-F-ILP3-NEXT: sw t6, 140(sp) # 4-byte Folded Spill 1800; CHECK-RV32-F-ILP3-NEXT: fsw ft0, 136(sp) # 4-byte Folded Spill 1801; CHECK-RV32-F-ILP3-NEXT: fsw ft1, 132(sp) # 4-byte Folded Spill 1802; CHECK-RV32-F-ILP3-NEXT: fsw ft2, 128(sp) # 4-byte Folded Spill 1803; CHECK-RV32-F-ILP3-NEXT: fsw ft3, 124(sp) # 4-byte Folded Spill 1804; CHECK-RV32-F-ILP3-NEXT: fsw ft4, 120(sp) # 4-byte Folded Spill 1805; CHECK-RV32-F-ILP3-NEXT: fsw ft5, 116(sp) # 4-byte Folded Spill 1806; CHECK-RV32-F-ILP3-NEXT: fsw ft6, 112(sp) # 4-byte Folded Spill 1807; CHECK-RV32-F-ILP3-NEXT: fsw ft7, 108(sp) # 4-byte Folded Spill 1808; CHECK-RV32-F-ILP3-NEXT: fsw fs0, 104(sp) # 4-byte Folded Spill 1809; CHECK-RV32-F-ILP3-NEXT: fsw fs1, 100(sp) # 4-byte Folded Spill 1810; CHECK-RV32-F-ILP3-NEXT: fsw fa0, 96(sp) # 4-byte Folded Spill 1811; CHECK-RV32-F-ILP3-NEXT: fsw fa1, 92(sp) # 4-byte Folded Spill 1812; CHECK-RV32-F-ILP3-NEXT: fsw fa2, 88(sp) # 4-byte Folded Spill 1813; CHECK-RV32-F-ILP3-NEXT: fsw fa3, 84(sp) # 4-byte Folded Spill 1814; CHECK-RV32-F-ILP3-NEXT: fsw fa4, 80(sp) # 4-byte Folded Spill 1815; CHECK-RV32-F-ILP3-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 1816; CHECK-RV32-F-ILP3-NEXT: fsw fa6, 72(sp) # 4-byte Folded Spill 1817; CHECK-RV32-F-ILP3-NEXT: fsw fa7, 68(sp) # 4-byte Folded Spill 1818; CHECK-RV32-F-ILP3-NEXT: fsw fs2, 64(sp) # 4-byte Folded Spill 1819; CHECK-RV32-F-ILP3-NEXT: fsw fs3, 60(sp) # 4-byte Folded Spill 1820; CHECK-RV32-F-ILP3-NEXT: fsw fs4, 56(sp) # 4-byte Folded Spill 1821; CHECK-RV32-F-ILP3-NEXT: fsw fs5, 52(sp) # 4-byte Folded Spill 1822; CHECK-RV32-F-ILP3-NEXT: fsw fs6, 48(sp) # 4-byte Folded Spill 1823; CHECK-RV32-F-ILP3-NEXT: fsw fs7, 44(sp) # 4-byte Folded Spill 1824; CHECK-RV32-F-ILP3-NEXT: fsw fs8, 40(sp) # 4-byte Folded Spill 1825; CHECK-RV32-F-ILP3-NEXT: fsw fs9, 36(sp) # 4-byte Folded Spill 1826; CHECK-RV32-F-ILP3-NEXT: fsw fs10, 32(sp) # 4-byte Folded Spill 1827; CHECK-RV32-F-ILP3-NEXT: fsw fs11, 28(sp) # 4-byte Folded Spill 1828; CHECK-RV32-F-ILP3-NEXT: fsw ft8, 24(sp) # 4-byte Folded Spill 1829; CHECK-RV32-F-ILP3-NEXT: fsw ft9, 20(sp) # 4-byte Folded Spill 1830; CHECK-RV32-F-ILP3-NEXT: fsw ft10, 16(sp) # 4-byte Folded Spill 1831; CHECK-RV32-F-ILP3-NEXT: fsw ft11, 12(sp) # 4-byte Folded Spill 1832; CHECK-RV32-F-ILP3-NEXT: addi s0, sp, 208 1833; CHECK-RV32-F-ILP3-NEXT: call otherfoo 1834; CHECK-RV32-F-ILP3-NEXT: lw ra, 204(sp) # 4-byte Folded Reload 1835; CHECK-RV32-F-ILP3-NEXT: lw t0, 200(sp) # 4-byte Folded Reload 1836; CHECK-RV32-F-ILP3-NEXT: lw t1, 196(sp) # 4-byte Folded Reload 1837; CHECK-RV32-F-ILP3-NEXT: lw t2, 192(sp) # 4-byte Folded Reload 1838; CHECK-RV32-F-ILP3-NEXT: lw s0, 188(sp) # 4-byte Folded Reload 1839; CHECK-RV32-F-ILP3-NEXT: lw a0, 184(sp) # 4-byte Folded Reload 1840; CHECK-RV32-F-ILP3-NEXT: lw a1, 180(sp) # 4-byte Folded Reload 1841; CHECK-RV32-F-ILP3-NEXT: lw a2, 176(sp) # 4-byte Folded Reload 1842; CHECK-RV32-F-ILP3-NEXT: lw a3, 172(sp) # 4-byte Folded Reload 1843; CHECK-RV32-F-ILP3-NEXT: lw a4, 168(sp) # 4-byte Folded Reload 1844; CHECK-RV32-F-ILP3-NEXT: lw a5, 164(sp) # 4-byte Folded Reload 1845; CHECK-RV32-F-ILP3-NEXT: lw a6, 160(sp) # 4-byte Folded Reload 1846; CHECK-RV32-F-ILP3-NEXT: lw a7, 156(sp) # 4-byte Folded Reload 1847; CHECK-RV32-F-ILP3-NEXT: lw t3, 152(sp) # 4-byte Folded Reload 1848; CHECK-RV32-F-ILP3-NEXT: lw t4, 148(sp) # 4-byte Folded Reload 1849; CHECK-RV32-F-ILP3-NEXT: lw t5, 144(sp) # 4-byte Folded Reload 1850; CHECK-RV32-F-ILP3-NEXT: lw t6, 140(sp) # 4-byte Folded Reload 1851; CHECK-RV32-F-ILP3-NEXT: flw ft0, 136(sp) # 4-byte Folded Reload 1852; CHECK-RV32-F-ILP3-NEXT: flw ft1, 132(sp) # 4-byte Folded Reload 1853; CHECK-RV32-F-ILP3-NEXT: flw ft2, 128(sp) # 4-byte Folded Reload 1854; CHECK-RV32-F-ILP3-NEXT: flw ft3, 124(sp) # 4-byte Folded Reload 1855; CHECK-RV32-F-ILP3-NEXT: flw ft4, 120(sp) # 4-byte Folded Reload 1856; CHECK-RV32-F-ILP3-NEXT: flw ft5, 116(sp) # 4-byte Folded Reload 1857; CHECK-RV32-F-ILP3-NEXT: flw ft6, 112(sp) # 4-byte Folded Reload 1858; CHECK-RV32-F-ILP3-NEXT: flw ft7, 108(sp) # 4-byte Folded Reload 1859; CHECK-RV32-F-ILP3-NEXT: flw fs0, 104(sp) # 4-byte Folded Reload 1860; CHECK-RV32-F-ILP3-NEXT: flw fs1, 100(sp) # 4-byte Folded Reload 1861; CHECK-RV32-F-ILP3-NEXT: flw fa0, 96(sp) # 4-byte Folded Reload 1862; CHECK-RV32-F-ILP3-NEXT: flw fa1, 92(sp) # 4-byte Folded Reload 1863; CHECK-RV32-F-ILP3-NEXT: flw fa2, 88(sp) # 4-byte Folded Reload 1864; CHECK-RV32-F-ILP3-NEXT: flw fa3, 84(sp) # 4-byte Folded Reload 1865; CHECK-RV32-F-ILP3-NEXT: flw fa4, 80(sp) # 4-byte Folded Reload 1866; CHECK-RV32-F-ILP3-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 1867; CHECK-RV32-F-ILP3-NEXT: flw fa6, 72(sp) # 4-byte Folded Reload 1868; CHECK-RV32-F-ILP3-NEXT: flw fa7, 68(sp) # 4-byte Folded Reload 1869; CHECK-RV32-F-ILP3-NEXT: flw fs2, 64(sp) # 4-byte Folded Reload 1870; CHECK-RV32-F-ILP3-NEXT: flw fs3, 60(sp) # 4-byte Folded Reload 1871; CHECK-RV32-F-ILP3-NEXT: flw fs4, 56(sp) # 4-byte Folded Reload 1872; CHECK-RV32-F-ILP3-NEXT: flw fs5, 52(sp) # 4-byte Folded Reload 1873; CHECK-RV32-F-ILP3-NEXT: flw fs6, 48(sp) # 4-byte Folded Reload 1874; CHECK-RV32-F-ILP3-NEXT: flw fs7, 44(sp) # 4-byte Folded Reload 1875; CHECK-RV32-F-ILP3-NEXT: flw fs8, 40(sp) # 4-byte Folded Reload 1876; CHECK-RV32-F-ILP3-NEXT: flw fs9, 36(sp) # 4-byte Folded Reload 1877; CHECK-RV32-F-ILP3-NEXT: flw fs10, 32(sp) # 4-byte Folded Reload 1878; CHECK-RV32-F-ILP3-NEXT: flw fs11, 28(sp) # 4-byte Folded Reload 1879; CHECK-RV32-F-ILP3-NEXT: flw ft8, 24(sp) # 4-byte Folded Reload 1880; CHECK-RV32-F-ILP3-NEXT: flw ft9, 20(sp) # 4-byte Folded Reload 1881; CHECK-RV32-F-ILP3-NEXT: flw ft10, 16(sp) # 4-byte Folded Reload 1882; CHECK-RV32-F-ILP3-NEXT: flw ft11, 12(sp) # 4-byte Folded Reload 1883; CHECK-RV32-F-ILP3-NEXT: addi sp, sp, 208 1884; CHECK-RV32-F-ILP3-NEXT: mret 1885; 1886; CHECK-RV32-FD-ILP32F-LABEL: foo_fp_with_call: 1887; CHECK-RV32-FD-ILP32F: # %bb.0: 1888; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, -336 1889; CHECK-RV32-FD-ILP32F-NEXT: sw ra, 332(sp) # 4-byte Folded Spill 1890; CHECK-RV32-FD-ILP32F-NEXT: sw t0, 328(sp) # 4-byte Folded Spill 1891; CHECK-RV32-FD-ILP32F-NEXT: sw t1, 324(sp) # 4-byte Folded Spill 1892; CHECK-RV32-FD-ILP32F-NEXT: sw t2, 320(sp) # 4-byte Folded Spill 1893; CHECK-RV32-FD-ILP32F-NEXT: sw s0, 316(sp) # 4-byte Folded Spill 1894; CHECK-RV32-FD-ILP32F-NEXT: sw a0, 312(sp) # 4-byte Folded Spill 1895; CHECK-RV32-FD-ILP32F-NEXT: sw a1, 308(sp) # 4-byte Folded Spill 1896; CHECK-RV32-FD-ILP32F-NEXT: sw a2, 304(sp) # 4-byte Folded Spill 1897; CHECK-RV32-FD-ILP32F-NEXT: sw a3, 300(sp) # 4-byte Folded Spill 1898; CHECK-RV32-FD-ILP32F-NEXT: sw a4, 296(sp) # 4-byte Folded Spill 1899; CHECK-RV32-FD-ILP32F-NEXT: sw a5, 292(sp) # 4-byte Folded Spill 1900; CHECK-RV32-FD-ILP32F-NEXT: sw a6, 288(sp) # 4-byte Folded Spill 1901; CHECK-RV32-FD-ILP32F-NEXT: sw a7, 284(sp) # 4-byte Folded Spill 1902; CHECK-RV32-FD-ILP32F-NEXT: sw t3, 280(sp) # 4-byte Folded Spill 1903; CHECK-RV32-FD-ILP32F-NEXT: sw t4, 276(sp) # 4-byte Folded Spill 1904; CHECK-RV32-FD-ILP32F-NEXT: sw t5, 272(sp) # 4-byte Folded Spill 1905; CHECK-RV32-FD-ILP32F-NEXT: sw t6, 268(sp) # 4-byte Folded Spill 1906; CHECK-RV32-FD-ILP32F-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill 1907; CHECK-RV32-FD-ILP32F-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill 1908; CHECK-RV32-FD-ILP32F-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill 1909; CHECK-RV32-FD-ILP32F-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill 1910; CHECK-RV32-FD-ILP32F-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill 1911; CHECK-RV32-FD-ILP32F-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill 1912; CHECK-RV32-FD-ILP32F-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill 1913; CHECK-RV32-FD-ILP32F-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill 1914; CHECK-RV32-FD-ILP32F-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill 1915; CHECK-RV32-FD-ILP32F-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill 1916; CHECK-RV32-FD-ILP32F-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill 1917; CHECK-RV32-FD-ILP32F-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill 1918; CHECK-RV32-FD-ILP32F-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill 1919; CHECK-RV32-FD-ILP32F-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill 1920; CHECK-RV32-FD-ILP32F-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill 1921; CHECK-RV32-FD-ILP32F-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill 1922; CHECK-RV32-FD-ILP32F-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill 1923; CHECK-RV32-FD-ILP32F-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill 1924; CHECK-RV32-FD-ILP32F-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill 1925; CHECK-RV32-FD-ILP32F-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill 1926; CHECK-RV32-FD-ILP32F-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill 1927; CHECK-RV32-FD-ILP32F-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill 1928; CHECK-RV32-FD-ILP32F-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill 1929; CHECK-RV32-FD-ILP32F-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill 1930; CHECK-RV32-FD-ILP32F-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill 1931; CHECK-RV32-FD-ILP32F-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill 1932; CHECK-RV32-FD-ILP32F-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill 1933; CHECK-RV32-FD-ILP32F-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill 1934; CHECK-RV32-FD-ILP32F-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill 1935; CHECK-RV32-FD-ILP32F-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill 1936; CHECK-RV32-FD-ILP32F-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill 1937; CHECK-RV32-FD-ILP32F-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill 1938; CHECK-RV32-FD-ILP32F-NEXT: addi s0, sp, 336 1939; CHECK-RV32-FD-ILP32F-NEXT: call otherfoo 1940; CHECK-RV32-FD-ILP32F-NEXT: lw ra, 332(sp) # 4-byte Folded Reload 1941; CHECK-RV32-FD-ILP32F-NEXT: lw t0, 328(sp) # 4-byte Folded Reload 1942; CHECK-RV32-FD-ILP32F-NEXT: lw t1, 324(sp) # 4-byte Folded Reload 1943; CHECK-RV32-FD-ILP32F-NEXT: lw t2, 320(sp) # 4-byte Folded Reload 1944; CHECK-RV32-FD-ILP32F-NEXT: lw s0, 316(sp) # 4-byte Folded Reload 1945; CHECK-RV32-FD-ILP32F-NEXT: lw a0, 312(sp) # 4-byte Folded Reload 1946; CHECK-RV32-FD-ILP32F-NEXT: lw a1, 308(sp) # 4-byte Folded Reload 1947; CHECK-RV32-FD-ILP32F-NEXT: lw a2, 304(sp) # 4-byte Folded Reload 1948; CHECK-RV32-FD-ILP32F-NEXT: lw a3, 300(sp) # 4-byte Folded Reload 1949; CHECK-RV32-FD-ILP32F-NEXT: lw a4, 296(sp) # 4-byte Folded Reload 1950; CHECK-RV32-FD-ILP32F-NEXT: lw a5, 292(sp) # 4-byte Folded Reload 1951; CHECK-RV32-FD-ILP32F-NEXT: lw a6, 288(sp) # 4-byte Folded Reload 1952; CHECK-RV32-FD-ILP32F-NEXT: lw a7, 284(sp) # 4-byte Folded Reload 1953; CHECK-RV32-FD-ILP32F-NEXT: lw t3, 280(sp) # 4-byte Folded Reload 1954; CHECK-RV32-FD-ILP32F-NEXT: lw t4, 276(sp) # 4-byte Folded Reload 1955; CHECK-RV32-FD-ILP32F-NEXT: lw t5, 272(sp) # 4-byte Folded Reload 1956; CHECK-RV32-FD-ILP32F-NEXT: lw t6, 268(sp) # 4-byte Folded Reload 1957; CHECK-RV32-FD-ILP32F-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload 1958; CHECK-RV32-FD-ILP32F-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload 1959; CHECK-RV32-FD-ILP32F-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload 1960; CHECK-RV32-FD-ILP32F-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload 1961; CHECK-RV32-FD-ILP32F-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload 1962; CHECK-RV32-FD-ILP32F-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload 1963; CHECK-RV32-FD-ILP32F-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload 1964; CHECK-RV32-FD-ILP32F-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload 1965; CHECK-RV32-FD-ILP32F-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload 1966; CHECK-RV32-FD-ILP32F-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload 1967; CHECK-RV32-FD-ILP32F-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload 1968; CHECK-RV32-FD-ILP32F-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload 1969; CHECK-RV32-FD-ILP32F-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload 1970; CHECK-RV32-FD-ILP32F-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload 1971; CHECK-RV32-FD-ILP32F-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload 1972; CHECK-RV32-FD-ILP32F-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload 1973; CHECK-RV32-FD-ILP32F-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload 1974; CHECK-RV32-FD-ILP32F-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload 1975; CHECK-RV32-FD-ILP32F-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload 1976; CHECK-RV32-FD-ILP32F-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload 1977; CHECK-RV32-FD-ILP32F-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload 1978; CHECK-RV32-FD-ILP32F-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload 1979; CHECK-RV32-FD-ILP32F-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload 1980; CHECK-RV32-FD-ILP32F-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload 1981; CHECK-RV32-FD-ILP32F-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload 1982; CHECK-RV32-FD-ILP32F-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload 1983; CHECK-RV32-FD-ILP32F-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload 1984; CHECK-RV32-FD-ILP32F-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload 1985; CHECK-RV32-FD-ILP32F-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload 1986; CHECK-RV32-FD-ILP32F-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload 1987; CHECK-RV32-FD-ILP32F-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload 1988; CHECK-RV32-FD-ILP32F-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload 1989; CHECK-RV32-FD-ILP32F-NEXT: addi sp, sp, 336 1990; CHECK-RV32-FD-ILP32F-NEXT: mret 1991; 1992; CHECK-RV32-FD-ILP32-LABEL: foo_fp_with_call: 1993; CHECK-RV32-FD-ILP32: # %bb.0: 1994; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, -336 1995; CHECK-RV32-FD-ILP32-NEXT: sw ra, 332(sp) # 4-byte Folded Spill 1996; CHECK-RV32-FD-ILP32-NEXT: sw t0, 328(sp) # 4-byte Folded Spill 1997; CHECK-RV32-FD-ILP32-NEXT: sw t1, 324(sp) # 4-byte Folded Spill 1998; CHECK-RV32-FD-ILP32-NEXT: sw t2, 320(sp) # 4-byte Folded Spill 1999; CHECK-RV32-FD-ILP32-NEXT: sw s0, 316(sp) # 4-byte Folded Spill 2000; CHECK-RV32-FD-ILP32-NEXT: sw a0, 312(sp) # 4-byte Folded Spill 2001; CHECK-RV32-FD-ILP32-NEXT: sw a1, 308(sp) # 4-byte Folded Spill 2002; CHECK-RV32-FD-ILP32-NEXT: sw a2, 304(sp) # 4-byte Folded Spill 2003; CHECK-RV32-FD-ILP32-NEXT: sw a3, 300(sp) # 4-byte Folded Spill 2004; CHECK-RV32-FD-ILP32-NEXT: sw a4, 296(sp) # 4-byte Folded Spill 2005; CHECK-RV32-FD-ILP32-NEXT: sw a5, 292(sp) # 4-byte Folded Spill 2006; CHECK-RV32-FD-ILP32-NEXT: sw a6, 288(sp) # 4-byte Folded Spill 2007; CHECK-RV32-FD-ILP32-NEXT: sw a7, 284(sp) # 4-byte Folded Spill 2008; CHECK-RV32-FD-ILP32-NEXT: sw t3, 280(sp) # 4-byte Folded Spill 2009; CHECK-RV32-FD-ILP32-NEXT: sw t4, 276(sp) # 4-byte Folded Spill 2010; CHECK-RV32-FD-ILP32-NEXT: sw t5, 272(sp) # 4-byte Folded Spill 2011; CHECK-RV32-FD-ILP32-NEXT: sw t6, 268(sp) # 4-byte Folded Spill 2012; CHECK-RV32-FD-ILP32-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill 2013; CHECK-RV32-FD-ILP32-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill 2014; CHECK-RV32-FD-ILP32-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill 2015; CHECK-RV32-FD-ILP32-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill 2016; CHECK-RV32-FD-ILP32-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill 2017; CHECK-RV32-FD-ILP32-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill 2018; CHECK-RV32-FD-ILP32-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill 2019; CHECK-RV32-FD-ILP32-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill 2020; CHECK-RV32-FD-ILP32-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill 2021; CHECK-RV32-FD-ILP32-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill 2022; CHECK-RV32-FD-ILP32-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill 2023; CHECK-RV32-FD-ILP32-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill 2024; CHECK-RV32-FD-ILP32-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill 2025; CHECK-RV32-FD-ILP32-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill 2026; CHECK-RV32-FD-ILP32-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill 2027; CHECK-RV32-FD-ILP32-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill 2028; CHECK-RV32-FD-ILP32-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill 2029; CHECK-RV32-FD-ILP32-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill 2030; CHECK-RV32-FD-ILP32-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill 2031; CHECK-RV32-FD-ILP32-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill 2032; CHECK-RV32-FD-ILP32-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill 2033; CHECK-RV32-FD-ILP32-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill 2034; CHECK-RV32-FD-ILP32-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill 2035; CHECK-RV32-FD-ILP32-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill 2036; CHECK-RV32-FD-ILP32-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill 2037; CHECK-RV32-FD-ILP32-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill 2038; CHECK-RV32-FD-ILP32-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill 2039; CHECK-RV32-FD-ILP32-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill 2040; CHECK-RV32-FD-ILP32-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill 2041; CHECK-RV32-FD-ILP32-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill 2042; CHECK-RV32-FD-ILP32-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill 2043; CHECK-RV32-FD-ILP32-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill 2044; CHECK-RV32-FD-ILP32-NEXT: addi s0, sp, 336 2045; CHECK-RV32-FD-ILP32-NEXT: call otherfoo 2046; CHECK-RV32-FD-ILP32-NEXT: lw ra, 332(sp) # 4-byte Folded Reload 2047; CHECK-RV32-FD-ILP32-NEXT: lw t0, 328(sp) # 4-byte Folded Reload 2048; CHECK-RV32-FD-ILP32-NEXT: lw t1, 324(sp) # 4-byte Folded Reload 2049; CHECK-RV32-FD-ILP32-NEXT: lw t2, 320(sp) # 4-byte Folded Reload 2050; CHECK-RV32-FD-ILP32-NEXT: lw s0, 316(sp) # 4-byte Folded Reload 2051; CHECK-RV32-FD-ILP32-NEXT: lw a0, 312(sp) # 4-byte Folded Reload 2052; CHECK-RV32-FD-ILP32-NEXT: lw a1, 308(sp) # 4-byte Folded Reload 2053; CHECK-RV32-FD-ILP32-NEXT: lw a2, 304(sp) # 4-byte Folded Reload 2054; CHECK-RV32-FD-ILP32-NEXT: lw a3, 300(sp) # 4-byte Folded Reload 2055; CHECK-RV32-FD-ILP32-NEXT: lw a4, 296(sp) # 4-byte Folded Reload 2056; CHECK-RV32-FD-ILP32-NEXT: lw a5, 292(sp) # 4-byte Folded Reload 2057; CHECK-RV32-FD-ILP32-NEXT: lw a6, 288(sp) # 4-byte Folded Reload 2058; CHECK-RV32-FD-ILP32-NEXT: lw a7, 284(sp) # 4-byte Folded Reload 2059; CHECK-RV32-FD-ILP32-NEXT: lw t3, 280(sp) # 4-byte Folded Reload 2060; CHECK-RV32-FD-ILP32-NEXT: lw t4, 276(sp) # 4-byte Folded Reload 2061; CHECK-RV32-FD-ILP32-NEXT: lw t5, 272(sp) # 4-byte Folded Reload 2062; CHECK-RV32-FD-ILP32-NEXT: lw t6, 268(sp) # 4-byte Folded Reload 2063; CHECK-RV32-FD-ILP32-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload 2064; CHECK-RV32-FD-ILP32-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload 2065; CHECK-RV32-FD-ILP32-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload 2066; CHECK-RV32-FD-ILP32-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload 2067; CHECK-RV32-FD-ILP32-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload 2068; CHECK-RV32-FD-ILP32-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload 2069; CHECK-RV32-FD-ILP32-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload 2070; CHECK-RV32-FD-ILP32-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload 2071; CHECK-RV32-FD-ILP32-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload 2072; CHECK-RV32-FD-ILP32-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload 2073; CHECK-RV32-FD-ILP32-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload 2074; CHECK-RV32-FD-ILP32-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload 2075; CHECK-RV32-FD-ILP32-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload 2076; CHECK-RV32-FD-ILP32-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload 2077; CHECK-RV32-FD-ILP32-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload 2078; CHECK-RV32-FD-ILP32-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload 2079; CHECK-RV32-FD-ILP32-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload 2080; CHECK-RV32-FD-ILP32-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload 2081; CHECK-RV32-FD-ILP32-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload 2082; CHECK-RV32-FD-ILP32-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload 2083; CHECK-RV32-FD-ILP32-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload 2084; CHECK-RV32-FD-ILP32-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload 2085; CHECK-RV32-FD-ILP32-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload 2086; CHECK-RV32-FD-ILP32-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload 2087; CHECK-RV32-FD-ILP32-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload 2088; CHECK-RV32-FD-ILP32-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload 2089; CHECK-RV32-FD-ILP32-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload 2090; CHECK-RV32-FD-ILP32-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload 2091; CHECK-RV32-FD-ILP32-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload 2092; CHECK-RV32-FD-ILP32-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload 2093; CHECK-RV32-FD-ILP32-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload 2094; CHECK-RV32-FD-ILP32-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload 2095; CHECK-RV32-FD-ILP32-NEXT: addi sp, sp, 336 2096; CHECK-RV32-FD-ILP32-NEXT: mret 2097; 2098; CHECK-RV32I-ILP32E-LABEL: foo_fp_with_call: 2099; CHECK-RV32I-ILP32E: # %bb.0: 2100; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, -108 2101; CHECK-RV32I-ILP32E-NEXT: sw ra, 104(sp) # 4-byte Folded Spill 2102; CHECK-RV32I-ILP32E-NEXT: sw t0, 100(sp) # 4-byte Folded Spill 2103; CHECK-RV32I-ILP32E-NEXT: sw t1, 96(sp) # 4-byte Folded Spill 2104; CHECK-RV32I-ILP32E-NEXT: sw t2, 92(sp) # 4-byte Folded Spill 2105; CHECK-RV32I-ILP32E-NEXT: sw s0, 88(sp) # 4-byte Folded Spill 2106; CHECK-RV32I-ILP32E-NEXT: sw a0, 84(sp) # 4-byte Folded Spill 2107; CHECK-RV32I-ILP32E-NEXT: sw a1, 80(sp) # 4-byte Folded Spill 2108; CHECK-RV32I-ILP32E-NEXT: sw a2, 76(sp) # 4-byte Folded Spill 2109; CHECK-RV32I-ILP32E-NEXT: sw a3, 72(sp) # 4-byte Folded Spill 2110; CHECK-RV32I-ILP32E-NEXT: sw a4, 68(sp) # 4-byte Folded Spill 2111; CHECK-RV32I-ILP32E-NEXT: sw a5, 64(sp) # 4-byte Folded Spill 2112; CHECK-RV32I-ILP32E-NEXT: sw a6, 60(sp) # 4-byte Folded Spill 2113; CHECK-RV32I-ILP32E-NEXT: sw a7, 56(sp) # 4-byte Folded Spill 2114; CHECK-RV32I-ILP32E-NEXT: sw s2, 52(sp) # 4-byte Folded Spill 2115; CHECK-RV32I-ILP32E-NEXT: sw s3, 48(sp) # 4-byte Folded Spill 2116; CHECK-RV32I-ILP32E-NEXT: sw s4, 44(sp) # 4-byte Folded Spill 2117; CHECK-RV32I-ILP32E-NEXT: sw s5, 40(sp) # 4-byte Folded Spill 2118; CHECK-RV32I-ILP32E-NEXT: sw s6, 36(sp) # 4-byte Folded Spill 2119; CHECK-RV32I-ILP32E-NEXT: sw s7, 32(sp) # 4-byte Folded Spill 2120; CHECK-RV32I-ILP32E-NEXT: sw s8, 28(sp) # 4-byte Folded Spill 2121; CHECK-RV32I-ILP32E-NEXT: sw s9, 24(sp) # 4-byte Folded Spill 2122; CHECK-RV32I-ILP32E-NEXT: sw s10, 20(sp) # 4-byte Folded Spill 2123; CHECK-RV32I-ILP32E-NEXT: sw s11, 16(sp) # 4-byte Folded Spill 2124; CHECK-RV32I-ILP32E-NEXT: sw t3, 12(sp) # 4-byte Folded Spill 2125; CHECK-RV32I-ILP32E-NEXT: sw t4, 8(sp) # 4-byte Folded Spill 2126; CHECK-RV32I-ILP32E-NEXT: sw t5, 4(sp) # 4-byte Folded Spill 2127; CHECK-RV32I-ILP32E-NEXT: sw t6, 0(sp) # 4-byte Folded Spill 2128; CHECK-RV32I-ILP32E-NEXT: addi s0, sp, 108 2129; CHECK-RV32I-ILP32E-NEXT: call otherfoo 2130; CHECK-RV32I-ILP32E-NEXT: lw ra, 104(sp) # 4-byte Folded Reload 2131; CHECK-RV32I-ILP32E-NEXT: lw t0, 100(sp) # 4-byte Folded Reload 2132; CHECK-RV32I-ILP32E-NEXT: lw t1, 96(sp) # 4-byte Folded Reload 2133; CHECK-RV32I-ILP32E-NEXT: lw t2, 92(sp) # 4-byte Folded Reload 2134; CHECK-RV32I-ILP32E-NEXT: lw s0, 88(sp) # 4-byte Folded Reload 2135; CHECK-RV32I-ILP32E-NEXT: lw a0, 84(sp) # 4-byte Folded Reload 2136; CHECK-RV32I-ILP32E-NEXT: lw a1, 80(sp) # 4-byte Folded Reload 2137; CHECK-RV32I-ILP32E-NEXT: lw a2, 76(sp) # 4-byte Folded Reload 2138; CHECK-RV32I-ILP32E-NEXT: lw a3, 72(sp) # 4-byte Folded Reload 2139; CHECK-RV32I-ILP32E-NEXT: lw a4, 68(sp) # 4-byte Folded Reload 2140; CHECK-RV32I-ILP32E-NEXT: lw a5, 64(sp) # 4-byte Folded Reload 2141; CHECK-RV32I-ILP32E-NEXT: lw a6, 60(sp) # 4-byte Folded Reload 2142; CHECK-RV32I-ILP32E-NEXT: lw a7, 56(sp) # 4-byte Folded Reload 2143; CHECK-RV32I-ILP32E-NEXT: lw s2, 52(sp) # 4-byte Folded Reload 2144; CHECK-RV32I-ILP32E-NEXT: lw s3, 48(sp) # 4-byte Folded Reload 2145; CHECK-RV32I-ILP32E-NEXT: lw s4, 44(sp) # 4-byte Folded Reload 2146; CHECK-RV32I-ILP32E-NEXT: lw s5, 40(sp) # 4-byte Folded Reload 2147; CHECK-RV32I-ILP32E-NEXT: lw s6, 36(sp) # 4-byte Folded Reload 2148; CHECK-RV32I-ILP32E-NEXT: lw s7, 32(sp) # 4-byte Folded Reload 2149; CHECK-RV32I-ILP32E-NEXT: lw s8, 28(sp) # 4-byte Folded Reload 2150; CHECK-RV32I-ILP32E-NEXT: lw s9, 24(sp) # 4-byte Folded Reload 2151; CHECK-RV32I-ILP32E-NEXT: lw s10, 20(sp) # 4-byte Folded Reload 2152; CHECK-RV32I-ILP32E-NEXT: lw s11, 16(sp) # 4-byte Folded Reload 2153; CHECK-RV32I-ILP32E-NEXT: lw t3, 12(sp) # 4-byte Folded Reload 2154; CHECK-RV32I-ILP32E-NEXT: lw t4, 8(sp) # 4-byte Folded Reload 2155; CHECK-RV32I-ILP32E-NEXT: lw t5, 4(sp) # 4-byte Folded Reload 2156; CHECK-RV32I-ILP32E-NEXT: lw t6, 0(sp) # 4-byte Folded Reload 2157; CHECK-RV32I-ILP32E-NEXT: addi sp, sp, 108 2158; CHECK-RV32I-ILP32E-NEXT: mret 2159; 2160; CHECK-RV32E-LABEL: foo_fp_with_call: 2161; CHECK-RV32E: # %bb.0: 2162; CHECK-RV32E-NEXT: addi sp, sp, -44 2163; CHECK-RV32E-NEXT: sw ra, 40(sp) # 4-byte Folded Spill 2164; CHECK-RV32E-NEXT: sw t0, 36(sp) # 4-byte Folded Spill 2165; CHECK-RV32E-NEXT: sw t1, 32(sp) # 4-byte Folded Spill 2166; CHECK-RV32E-NEXT: sw t2, 28(sp) # 4-byte Folded Spill 2167; CHECK-RV32E-NEXT: sw s0, 24(sp) # 4-byte Folded Spill 2168; CHECK-RV32E-NEXT: sw a0, 20(sp) # 4-byte Folded Spill 2169; CHECK-RV32E-NEXT: sw a1, 16(sp) # 4-byte Folded Spill 2170; CHECK-RV32E-NEXT: sw a2, 12(sp) # 4-byte Folded Spill 2171; CHECK-RV32E-NEXT: sw a3, 8(sp) # 4-byte Folded Spill 2172; CHECK-RV32E-NEXT: sw a4, 4(sp) # 4-byte Folded Spill 2173; CHECK-RV32E-NEXT: sw a5, 0(sp) # 4-byte Folded Spill 2174; CHECK-RV32E-NEXT: addi s0, sp, 44 2175; CHECK-RV32E-NEXT: call otherfoo 2176; CHECK-RV32E-NEXT: lw ra, 40(sp) # 4-byte Folded Reload 2177; CHECK-RV32E-NEXT: lw t0, 36(sp) # 4-byte Folded Reload 2178; CHECK-RV32E-NEXT: lw t1, 32(sp) # 4-byte Folded Reload 2179; CHECK-RV32E-NEXT: lw t2, 28(sp) # 4-byte Folded Reload 2180; CHECK-RV32E-NEXT: lw s0, 24(sp) # 4-byte Folded Reload 2181; CHECK-RV32E-NEXT: lw a0, 20(sp) # 4-byte Folded Reload 2182; CHECK-RV32E-NEXT: lw a1, 16(sp) # 4-byte Folded Reload 2183; CHECK-RV32E-NEXT: lw a2, 12(sp) # 4-byte Folded Reload 2184; CHECK-RV32E-NEXT: lw a3, 8(sp) # 4-byte Folded Reload 2185; CHECK-RV32E-NEXT: lw a4, 4(sp) # 4-byte Folded Reload 2186; CHECK-RV32E-NEXT: lw a5, 0(sp) # 4-byte Folded Reload 2187; CHECK-RV32E-NEXT: addi sp, sp, 44 2188; CHECK-RV32E-NEXT: mret 2189; 2190; CHECK-RV32E-F-LABEL: foo_fp_with_call: 2191; CHECK-RV32E-F: # %bb.0: 2192; CHECK-RV32E-F-NEXT: addi sp, sp, -172 2193; CHECK-RV32E-F-NEXT: sw ra, 168(sp) # 4-byte Folded Spill 2194; CHECK-RV32E-F-NEXT: sw t0, 164(sp) # 4-byte Folded Spill 2195; CHECK-RV32E-F-NEXT: sw t1, 160(sp) # 4-byte Folded Spill 2196; CHECK-RV32E-F-NEXT: sw t2, 156(sp) # 4-byte Folded Spill 2197; CHECK-RV32E-F-NEXT: sw s0, 152(sp) # 4-byte Folded Spill 2198; CHECK-RV32E-F-NEXT: sw a0, 148(sp) # 4-byte Folded Spill 2199; CHECK-RV32E-F-NEXT: sw a1, 144(sp) # 4-byte Folded Spill 2200; CHECK-RV32E-F-NEXT: sw a2, 140(sp) # 4-byte Folded Spill 2201; CHECK-RV32E-F-NEXT: sw a3, 136(sp) # 4-byte Folded Spill 2202; CHECK-RV32E-F-NEXT: sw a4, 132(sp) # 4-byte Folded Spill 2203; CHECK-RV32E-F-NEXT: sw a5, 128(sp) # 4-byte Folded Spill 2204; CHECK-RV32E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill 2205; CHECK-RV32E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill 2206; CHECK-RV32E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill 2207; CHECK-RV32E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill 2208; CHECK-RV32E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill 2209; CHECK-RV32E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill 2210; CHECK-RV32E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill 2211; CHECK-RV32E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill 2212; CHECK-RV32E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill 2213; CHECK-RV32E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill 2214; CHECK-RV32E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill 2215; CHECK-RV32E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill 2216; CHECK-RV32E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill 2217; CHECK-RV32E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill 2218; CHECK-RV32E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill 2219; CHECK-RV32E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 2220; CHECK-RV32E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill 2221; CHECK-RV32E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill 2222; CHECK-RV32E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill 2223; CHECK-RV32E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill 2224; CHECK-RV32E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill 2225; CHECK-RV32E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill 2226; CHECK-RV32E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill 2227; CHECK-RV32E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill 2228; CHECK-RV32E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill 2229; CHECK-RV32E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill 2230; CHECK-RV32E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill 2231; CHECK-RV32E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill 2232; CHECK-RV32E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 2233; CHECK-RV32E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 2234; CHECK-RV32E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 2235; CHECK-RV32E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 2236; CHECK-RV32E-F-NEXT: addi s0, sp, 172 2237; CHECK-RV32E-F-NEXT: call otherfoo 2238; CHECK-RV32E-F-NEXT: lw ra, 168(sp) # 4-byte Folded Reload 2239; CHECK-RV32E-F-NEXT: lw t0, 164(sp) # 4-byte Folded Reload 2240; CHECK-RV32E-F-NEXT: lw t1, 160(sp) # 4-byte Folded Reload 2241; CHECK-RV32E-F-NEXT: lw t2, 156(sp) # 4-byte Folded Reload 2242; CHECK-RV32E-F-NEXT: lw s0, 152(sp) # 4-byte Folded Reload 2243; CHECK-RV32E-F-NEXT: lw a0, 148(sp) # 4-byte Folded Reload 2244; CHECK-RV32E-F-NEXT: lw a1, 144(sp) # 4-byte Folded Reload 2245; CHECK-RV32E-F-NEXT: lw a2, 140(sp) # 4-byte Folded Reload 2246; CHECK-RV32E-F-NEXT: lw a3, 136(sp) # 4-byte Folded Reload 2247; CHECK-RV32E-F-NEXT: lw a4, 132(sp) # 4-byte Folded Reload 2248; CHECK-RV32E-F-NEXT: lw a5, 128(sp) # 4-byte Folded Reload 2249; CHECK-RV32E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload 2250; CHECK-RV32E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload 2251; CHECK-RV32E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload 2252; CHECK-RV32E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload 2253; CHECK-RV32E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload 2254; CHECK-RV32E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload 2255; CHECK-RV32E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload 2256; CHECK-RV32E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload 2257; CHECK-RV32E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload 2258; CHECK-RV32E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload 2259; CHECK-RV32E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload 2260; CHECK-RV32E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload 2261; CHECK-RV32E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload 2262; CHECK-RV32E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload 2263; CHECK-RV32E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload 2264; CHECK-RV32E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 2265; CHECK-RV32E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload 2266; CHECK-RV32E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload 2267; CHECK-RV32E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload 2268; CHECK-RV32E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload 2269; CHECK-RV32E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload 2270; CHECK-RV32E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload 2271; CHECK-RV32E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload 2272; CHECK-RV32E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload 2273; CHECK-RV32E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload 2274; CHECK-RV32E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload 2275; CHECK-RV32E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload 2276; CHECK-RV32E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload 2277; CHECK-RV32E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 2278; CHECK-RV32E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 2279; CHECK-RV32E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 2280; CHECK-RV32E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 2281; CHECK-RV32E-F-NEXT: addi sp, sp, 172 2282; CHECK-RV32E-F-NEXT: mret 2283; 2284; CHECK-RV64-LABEL: foo_fp_with_call: 2285; CHECK-RV64: # %bb.0: 2286; CHECK-RV64-NEXT: addi sp, sp, -144 2287; CHECK-RV64-NEXT: sd ra, 136(sp) # 8-byte Folded Spill 2288; CHECK-RV64-NEXT: sd t0, 128(sp) # 8-byte Folded Spill 2289; CHECK-RV64-NEXT: sd t1, 120(sp) # 8-byte Folded Spill 2290; CHECK-RV64-NEXT: sd t2, 112(sp) # 8-byte Folded Spill 2291; CHECK-RV64-NEXT: sd s0, 104(sp) # 8-byte Folded Spill 2292; CHECK-RV64-NEXT: sd a0, 96(sp) # 8-byte Folded Spill 2293; CHECK-RV64-NEXT: sd a1, 88(sp) # 8-byte Folded Spill 2294; CHECK-RV64-NEXT: sd a2, 80(sp) # 8-byte Folded Spill 2295; CHECK-RV64-NEXT: sd a3, 72(sp) # 8-byte Folded Spill 2296; CHECK-RV64-NEXT: sd a4, 64(sp) # 8-byte Folded Spill 2297; CHECK-RV64-NEXT: sd a5, 56(sp) # 8-byte Folded Spill 2298; CHECK-RV64-NEXT: sd a6, 48(sp) # 8-byte Folded Spill 2299; CHECK-RV64-NEXT: sd a7, 40(sp) # 8-byte Folded Spill 2300; CHECK-RV64-NEXT: sd t3, 32(sp) # 8-byte Folded Spill 2301; CHECK-RV64-NEXT: sd t4, 24(sp) # 8-byte Folded Spill 2302; CHECK-RV64-NEXT: sd t5, 16(sp) # 8-byte Folded Spill 2303; CHECK-RV64-NEXT: sd t6, 8(sp) # 8-byte Folded Spill 2304; CHECK-RV64-NEXT: addi s0, sp, 144 2305; CHECK-RV64-NEXT: call otherfoo 2306; CHECK-RV64-NEXT: ld ra, 136(sp) # 8-byte Folded Reload 2307; CHECK-RV64-NEXT: ld t0, 128(sp) # 8-byte Folded Reload 2308; CHECK-RV64-NEXT: ld t1, 120(sp) # 8-byte Folded Reload 2309; CHECK-RV64-NEXT: ld t2, 112(sp) # 8-byte Folded Reload 2310; CHECK-RV64-NEXT: ld s0, 104(sp) # 8-byte Folded Reload 2311; CHECK-RV64-NEXT: ld a0, 96(sp) # 8-byte Folded Reload 2312; CHECK-RV64-NEXT: ld a1, 88(sp) # 8-byte Folded Reload 2313; CHECK-RV64-NEXT: ld a2, 80(sp) # 8-byte Folded Reload 2314; CHECK-RV64-NEXT: ld a3, 72(sp) # 8-byte Folded Reload 2315; CHECK-RV64-NEXT: ld a4, 64(sp) # 8-byte Folded Reload 2316; CHECK-RV64-NEXT: ld a5, 56(sp) # 8-byte Folded Reload 2317; CHECK-RV64-NEXT: ld a6, 48(sp) # 8-byte Folded Reload 2318; CHECK-RV64-NEXT: ld a7, 40(sp) # 8-byte Folded Reload 2319; CHECK-RV64-NEXT: ld t3, 32(sp) # 8-byte Folded Reload 2320; CHECK-RV64-NEXT: ld t4, 24(sp) # 8-byte Folded Reload 2321; CHECK-RV64-NEXT: ld t5, 16(sp) # 8-byte Folded Reload 2322; CHECK-RV64-NEXT: ld t6, 8(sp) # 8-byte Folded Reload 2323; CHECK-RV64-NEXT: addi sp, sp, 144 2324; CHECK-RV64-NEXT: mret 2325; 2326; CHECK-RV64-F-LABEL: foo_fp_with_call: 2327; CHECK-RV64-F: # %bb.0: 2328; CHECK-RV64-F-NEXT: addi sp, sp, -224 2329; CHECK-RV64-F-NEXT: sd ra, 216(sp) # 8-byte Folded Spill 2330; CHECK-RV64-F-NEXT: sd t0, 208(sp) # 8-byte Folded Spill 2331; CHECK-RV64-F-NEXT: sd t1, 200(sp) # 8-byte Folded Spill 2332; CHECK-RV64-F-NEXT: sd t2, 192(sp) # 8-byte Folded Spill 2333; CHECK-RV64-F-NEXT: sd s0, 184(sp) # 8-byte Folded Spill 2334; CHECK-RV64-F-NEXT: sd a0, 176(sp) # 8-byte Folded Spill 2335; CHECK-RV64-F-NEXT: sd a1, 168(sp) # 8-byte Folded Spill 2336; CHECK-RV64-F-NEXT: sd a2, 160(sp) # 8-byte Folded Spill 2337; CHECK-RV64-F-NEXT: sd a3, 152(sp) # 8-byte Folded Spill 2338; CHECK-RV64-F-NEXT: sd a4, 144(sp) # 8-byte Folded Spill 2339; CHECK-RV64-F-NEXT: sd a5, 136(sp) # 8-byte Folded Spill 2340; CHECK-RV64-F-NEXT: sd a6, 128(sp) # 8-byte Folded Spill 2341; CHECK-RV64-F-NEXT: sd a7, 120(sp) # 8-byte Folded Spill 2342; CHECK-RV64-F-NEXT: sd t3, 112(sp) # 8-byte Folded Spill 2343; CHECK-RV64-F-NEXT: sd t4, 104(sp) # 8-byte Folded Spill 2344; CHECK-RV64-F-NEXT: sd t5, 96(sp) # 8-byte Folded Spill 2345; CHECK-RV64-F-NEXT: sd t6, 88(sp) # 8-byte Folded Spill 2346; CHECK-RV64-F-NEXT: fsw ft0, 84(sp) # 4-byte Folded Spill 2347; CHECK-RV64-F-NEXT: fsw ft1, 80(sp) # 4-byte Folded Spill 2348; CHECK-RV64-F-NEXT: fsw ft2, 76(sp) # 4-byte Folded Spill 2349; CHECK-RV64-F-NEXT: fsw ft3, 72(sp) # 4-byte Folded Spill 2350; CHECK-RV64-F-NEXT: fsw ft4, 68(sp) # 4-byte Folded Spill 2351; CHECK-RV64-F-NEXT: fsw ft5, 64(sp) # 4-byte Folded Spill 2352; CHECK-RV64-F-NEXT: fsw ft6, 60(sp) # 4-byte Folded Spill 2353; CHECK-RV64-F-NEXT: fsw ft7, 56(sp) # 4-byte Folded Spill 2354; CHECK-RV64-F-NEXT: fsw fa0, 52(sp) # 4-byte Folded Spill 2355; CHECK-RV64-F-NEXT: fsw fa1, 48(sp) # 4-byte Folded Spill 2356; CHECK-RV64-F-NEXT: fsw fa2, 44(sp) # 4-byte Folded Spill 2357; CHECK-RV64-F-NEXT: fsw fa3, 40(sp) # 4-byte Folded Spill 2358; CHECK-RV64-F-NEXT: fsw fa4, 36(sp) # 4-byte Folded Spill 2359; CHECK-RV64-F-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 2360; CHECK-RV64-F-NEXT: fsw fa6, 28(sp) # 4-byte Folded Spill 2361; CHECK-RV64-F-NEXT: fsw fa7, 24(sp) # 4-byte Folded Spill 2362; CHECK-RV64-F-NEXT: fsw ft8, 20(sp) # 4-byte Folded Spill 2363; CHECK-RV64-F-NEXT: fsw ft9, 16(sp) # 4-byte Folded Spill 2364; CHECK-RV64-F-NEXT: fsw ft10, 12(sp) # 4-byte Folded Spill 2365; CHECK-RV64-F-NEXT: fsw ft11, 8(sp) # 4-byte Folded Spill 2366; CHECK-RV64-F-NEXT: addi s0, sp, 224 2367; CHECK-RV64-F-NEXT: call otherfoo 2368; CHECK-RV64-F-NEXT: ld ra, 216(sp) # 8-byte Folded Reload 2369; CHECK-RV64-F-NEXT: ld t0, 208(sp) # 8-byte Folded Reload 2370; CHECK-RV64-F-NEXT: ld t1, 200(sp) # 8-byte Folded Reload 2371; CHECK-RV64-F-NEXT: ld t2, 192(sp) # 8-byte Folded Reload 2372; CHECK-RV64-F-NEXT: ld s0, 184(sp) # 8-byte Folded Reload 2373; CHECK-RV64-F-NEXT: ld a0, 176(sp) # 8-byte Folded Reload 2374; CHECK-RV64-F-NEXT: ld a1, 168(sp) # 8-byte Folded Reload 2375; CHECK-RV64-F-NEXT: ld a2, 160(sp) # 8-byte Folded Reload 2376; CHECK-RV64-F-NEXT: ld a3, 152(sp) # 8-byte Folded Reload 2377; CHECK-RV64-F-NEXT: ld a4, 144(sp) # 8-byte Folded Reload 2378; CHECK-RV64-F-NEXT: ld a5, 136(sp) # 8-byte Folded Reload 2379; CHECK-RV64-F-NEXT: ld a6, 128(sp) # 8-byte Folded Reload 2380; CHECK-RV64-F-NEXT: ld a7, 120(sp) # 8-byte Folded Reload 2381; CHECK-RV64-F-NEXT: ld t3, 112(sp) # 8-byte Folded Reload 2382; CHECK-RV64-F-NEXT: ld t4, 104(sp) # 8-byte Folded Reload 2383; CHECK-RV64-F-NEXT: ld t5, 96(sp) # 8-byte Folded Reload 2384; CHECK-RV64-F-NEXT: ld t6, 88(sp) # 8-byte Folded Reload 2385; CHECK-RV64-F-NEXT: flw ft0, 84(sp) # 4-byte Folded Reload 2386; CHECK-RV64-F-NEXT: flw ft1, 80(sp) # 4-byte Folded Reload 2387; CHECK-RV64-F-NEXT: flw ft2, 76(sp) # 4-byte Folded Reload 2388; CHECK-RV64-F-NEXT: flw ft3, 72(sp) # 4-byte Folded Reload 2389; CHECK-RV64-F-NEXT: flw ft4, 68(sp) # 4-byte Folded Reload 2390; CHECK-RV64-F-NEXT: flw ft5, 64(sp) # 4-byte Folded Reload 2391; CHECK-RV64-F-NEXT: flw ft6, 60(sp) # 4-byte Folded Reload 2392; CHECK-RV64-F-NEXT: flw ft7, 56(sp) # 4-byte Folded Reload 2393; CHECK-RV64-F-NEXT: flw fa0, 52(sp) # 4-byte Folded Reload 2394; CHECK-RV64-F-NEXT: flw fa1, 48(sp) # 4-byte Folded Reload 2395; CHECK-RV64-F-NEXT: flw fa2, 44(sp) # 4-byte Folded Reload 2396; CHECK-RV64-F-NEXT: flw fa3, 40(sp) # 4-byte Folded Reload 2397; CHECK-RV64-F-NEXT: flw fa4, 36(sp) # 4-byte Folded Reload 2398; CHECK-RV64-F-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 2399; CHECK-RV64-F-NEXT: flw fa6, 28(sp) # 4-byte Folded Reload 2400; CHECK-RV64-F-NEXT: flw fa7, 24(sp) # 4-byte Folded Reload 2401; CHECK-RV64-F-NEXT: flw ft8, 20(sp) # 4-byte Folded Reload 2402; CHECK-RV64-F-NEXT: flw ft9, 16(sp) # 4-byte Folded Reload 2403; CHECK-RV64-F-NEXT: flw ft10, 12(sp) # 4-byte Folded Reload 2404; CHECK-RV64-F-NEXT: flw ft11, 8(sp) # 4-byte Folded Reload 2405; CHECK-RV64-F-NEXT: addi sp, sp, 224 2406; CHECK-RV64-F-NEXT: mret 2407; 2408; CHECK-RV64-FD-LABEL: foo_fp_with_call: 2409; CHECK-RV64-FD: # %bb.0: 2410; CHECK-RV64-FD-NEXT: addi sp, sp, -304 2411; CHECK-RV64-FD-NEXT: sd ra, 296(sp) # 8-byte Folded Spill 2412; CHECK-RV64-FD-NEXT: sd t0, 288(sp) # 8-byte Folded Spill 2413; CHECK-RV64-FD-NEXT: sd t1, 280(sp) # 8-byte Folded Spill 2414; CHECK-RV64-FD-NEXT: sd t2, 272(sp) # 8-byte Folded Spill 2415; CHECK-RV64-FD-NEXT: sd s0, 264(sp) # 8-byte Folded Spill 2416; CHECK-RV64-FD-NEXT: sd a0, 256(sp) # 8-byte Folded Spill 2417; CHECK-RV64-FD-NEXT: sd a1, 248(sp) # 8-byte Folded Spill 2418; CHECK-RV64-FD-NEXT: sd a2, 240(sp) # 8-byte Folded Spill 2419; CHECK-RV64-FD-NEXT: sd a3, 232(sp) # 8-byte Folded Spill 2420; CHECK-RV64-FD-NEXT: sd a4, 224(sp) # 8-byte Folded Spill 2421; CHECK-RV64-FD-NEXT: sd a5, 216(sp) # 8-byte Folded Spill 2422; CHECK-RV64-FD-NEXT: sd a6, 208(sp) # 8-byte Folded Spill 2423; CHECK-RV64-FD-NEXT: sd a7, 200(sp) # 8-byte Folded Spill 2424; CHECK-RV64-FD-NEXT: sd t3, 192(sp) # 8-byte Folded Spill 2425; CHECK-RV64-FD-NEXT: sd t4, 184(sp) # 8-byte Folded Spill 2426; CHECK-RV64-FD-NEXT: sd t5, 176(sp) # 8-byte Folded Spill 2427; CHECK-RV64-FD-NEXT: sd t6, 168(sp) # 8-byte Folded Spill 2428; CHECK-RV64-FD-NEXT: fsd ft0, 160(sp) # 8-byte Folded Spill 2429; CHECK-RV64-FD-NEXT: fsd ft1, 152(sp) # 8-byte Folded Spill 2430; CHECK-RV64-FD-NEXT: fsd ft2, 144(sp) # 8-byte Folded Spill 2431; CHECK-RV64-FD-NEXT: fsd ft3, 136(sp) # 8-byte Folded Spill 2432; CHECK-RV64-FD-NEXT: fsd ft4, 128(sp) # 8-byte Folded Spill 2433; CHECK-RV64-FD-NEXT: fsd ft5, 120(sp) # 8-byte Folded Spill 2434; CHECK-RV64-FD-NEXT: fsd ft6, 112(sp) # 8-byte Folded Spill 2435; CHECK-RV64-FD-NEXT: fsd ft7, 104(sp) # 8-byte Folded Spill 2436; CHECK-RV64-FD-NEXT: fsd fa0, 96(sp) # 8-byte Folded Spill 2437; CHECK-RV64-FD-NEXT: fsd fa1, 88(sp) # 8-byte Folded Spill 2438; CHECK-RV64-FD-NEXT: fsd fa2, 80(sp) # 8-byte Folded Spill 2439; CHECK-RV64-FD-NEXT: fsd fa3, 72(sp) # 8-byte Folded Spill 2440; CHECK-RV64-FD-NEXT: fsd fa4, 64(sp) # 8-byte Folded Spill 2441; CHECK-RV64-FD-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill 2442; CHECK-RV64-FD-NEXT: fsd fa6, 48(sp) # 8-byte Folded Spill 2443; CHECK-RV64-FD-NEXT: fsd fa7, 40(sp) # 8-byte Folded Spill 2444; CHECK-RV64-FD-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill 2445; CHECK-RV64-FD-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill 2446; CHECK-RV64-FD-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill 2447; CHECK-RV64-FD-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill 2448; CHECK-RV64-FD-NEXT: addi s0, sp, 304 2449; CHECK-RV64-FD-NEXT: call otherfoo 2450; CHECK-RV64-FD-NEXT: ld ra, 296(sp) # 8-byte Folded Reload 2451; CHECK-RV64-FD-NEXT: ld t0, 288(sp) # 8-byte Folded Reload 2452; CHECK-RV64-FD-NEXT: ld t1, 280(sp) # 8-byte Folded Reload 2453; CHECK-RV64-FD-NEXT: ld t2, 272(sp) # 8-byte Folded Reload 2454; CHECK-RV64-FD-NEXT: ld s0, 264(sp) # 8-byte Folded Reload 2455; CHECK-RV64-FD-NEXT: ld a0, 256(sp) # 8-byte Folded Reload 2456; CHECK-RV64-FD-NEXT: ld a1, 248(sp) # 8-byte Folded Reload 2457; CHECK-RV64-FD-NEXT: ld a2, 240(sp) # 8-byte Folded Reload 2458; CHECK-RV64-FD-NEXT: ld a3, 232(sp) # 8-byte Folded Reload 2459; CHECK-RV64-FD-NEXT: ld a4, 224(sp) # 8-byte Folded Reload 2460; CHECK-RV64-FD-NEXT: ld a5, 216(sp) # 8-byte Folded Reload 2461; CHECK-RV64-FD-NEXT: ld a6, 208(sp) # 8-byte Folded Reload 2462; CHECK-RV64-FD-NEXT: ld a7, 200(sp) # 8-byte Folded Reload 2463; CHECK-RV64-FD-NEXT: ld t3, 192(sp) # 8-byte Folded Reload 2464; CHECK-RV64-FD-NEXT: ld t4, 184(sp) # 8-byte Folded Reload 2465; CHECK-RV64-FD-NEXT: ld t5, 176(sp) # 8-byte Folded Reload 2466; CHECK-RV64-FD-NEXT: ld t6, 168(sp) # 8-byte Folded Reload 2467; CHECK-RV64-FD-NEXT: fld ft0, 160(sp) # 8-byte Folded Reload 2468; CHECK-RV64-FD-NEXT: fld ft1, 152(sp) # 8-byte Folded Reload 2469; CHECK-RV64-FD-NEXT: fld ft2, 144(sp) # 8-byte Folded Reload 2470; CHECK-RV64-FD-NEXT: fld ft3, 136(sp) # 8-byte Folded Reload 2471; CHECK-RV64-FD-NEXT: fld ft4, 128(sp) # 8-byte Folded Reload 2472; CHECK-RV64-FD-NEXT: fld ft5, 120(sp) # 8-byte Folded Reload 2473; CHECK-RV64-FD-NEXT: fld ft6, 112(sp) # 8-byte Folded Reload 2474; CHECK-RV64-FD-NEXT: fld ft7, 104(sp) # 8-byte Folded Reload 2475; CHECK-RV64-FD-NEXT: fld fa0, 96(sp) # 8-byte Folded Reload 2476; CHECK-RV64-FD-NEXT: fld fa1, 88(sp) # 8-byte Folded Reload 2477; CHECK-RV64-FD-NEXT: fld fa2, 80(sp) # 8-byte Folded Reload 2478; CHECK-RV64-FD-NEXT: fld fa3, 72(sp) # 8-byte Folded Reload 2479; CHECK-RV64-FD-NEXT: fld fa4, 64(sp) # 8-byte Folded Reload 2480; CHECK-RV64-FD-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload 2481; CHECK-RV64-FD-NEXT: fld fa6, 48(sp) # 8-byte Folded Reload 2482; CHECK-RV64-FD-NEXT: fld fa7, 40(sp) # 8-byte Folded Reload 2483; CHECK-RV64-FD-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload 2484; CHECK-RV64-FD-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload 2485; CHECK-RV64-FD-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload 2486; CHECK-RV64-FD-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload 2487; CHECK-RV64-FD-NEXT: addi sp, sp, 304 2488; CHECK-RV64-FD-NEXT: mret 2489; 2490; CHECK-RV64-F-LP64-LABEL: foo_fp_with_call: 2491; CHECK-RV64-F-LP64: # %bb.0: 2492; CHECK-RV64-F-LP64-NEXT: addi sp, sp, -272 2493; CHECK-RV64-F-LP64-NEXT: sd ra, 264(sp) # 8-byte Folded Spill 2494; CHECK-RV64-F-LP64-NEXT: sd t0, 256(sp) # 8-byte Folded Spill 2495; CHECK-RV64-F-LP64-NEXT: sd t1, 248(sp) # 8-byte Folded Spill 2496; CHECK-RV64-F-LP64-NEXT: sd t2, 240(sp) # 8-byte Folded Spill 2497; CHECK-RV64-F-LP64-NEXT: sd s0, 232(sp) # 8-byte Folded Spill 2498; CHECK-RV64-F-LP64-NEXT: sd a0, 224(sp) # 8-byte Folded Spill 2499; CHECK-RV64-F-LP64-NEXT: sd a1, 216(sp) # 8-byte Folded Spill 2500; CHECK-RV64-F-LP64-NEXT: sd a2, 208(sp) # 8-byte Folded Spill 2501; CHECK-RV64-F-LP64-NEXT: sd a3, 200(sp) # 8-byte Folded Spill 2502; CHECK-RV64-F-LP64-NEXT: sd a4, 192(sp) # 8-byte Folded Spill 2503; CHECK-RV64-F-LP64-NEXT: sd a5, 184(sp) # 8-byte Folded Spill 2504; CHECK-RV64-F-LP64-NEXT: sd a6, 176(sp) # 8-byte Folded Spill 2505; CHECK-RV64-F-LP64-NEXT: sd a7, 168(sp) # 8-byte Folded Spill 2506; CHECK-RV64-F-LP64-NEXT: sd t3, 160(sp) # 8-byte Folded Spill 2507; CHECK-RV64-F-LP64-NEXT: sd t4, 152(sp) # 8-byte Folded Spill 2508; CHECK-RV64-F-LP64-NEXT: sd t5, 144(sp) # 8-byte Folded Spill 2509; CHECK-RV64-F-LP64-NEXT: sd t6, 136(sp) # 8-byte Folded Spill 2510; CHECK-RV64-F-LP64-NEXT: fsw ft0, 132(sp) # 4-byte Folded Spill 2511; CHECK-RV64-F-LP64-NEXT: fsw ft1, 128(sp) # 4-byte Folded Spill 2512; CHECK-RV64-F-LP64-NEXT: fsw ft2, 124(sp) # 4-byte Folded Spill 2513; CHECK-RV64-F-LP64-NEXT: fsw ft3, 120(sp) # 4-byte Folded Spill 2514; CHECK-RV64-F-LP64-NEXT: fsw ft4, 116(sp) # 4-byte Folded Spill 2515; CHECK-RV64-F-LP64-NEXT: fsw ft5, 112(sp) # 4-byte Folded Spill 2516; CHECK-RV64-F-LP64-NEXT: fsw ft6, 108(sp) # 4-byte Folded Spill 2517; CHECK-RV64-F-LP64-NEXT: fsw ft7, 104(sp) # 4-byte Folded Spill 2518; CHECK-RV64-F-LP64-NEXT: fsw fs0, 100(sp) # 4-byte Folded Spill 2519; CHECK-RV64-F-LP64-NEXT: fsw fs1, 96(sp) # 4-byte Folded Spill 2520; CHECK-RV64-F-LP64-NEXT: fsw fa0, 92(sp) # 4-byte Folded Spill 2521; CHECK-RV64-F-LP64-NEXT: fsw fa1, 88(sp) # 4-byte Folded Spill 2522; CHECK-RV64-F-LP64-NEXT: fsw fa2, 84(sp) # 4-byte Folded Spill 2523; CHECK-RV64-F-LP64-NEXT: fsw fa3, 80(sp) # 4-byte Folded Spill 2524; CHECK-RV64-F-LP64-NEXT: fsw fa4, 76(sp) # 4-byte Folded Spill 2525; CHECK-RV64-F-LP64-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 2526; CHECK-RV64-F-LP64-NEXT: fsw fa6, 68(sp) # 4-byte Folded Spill 2527; CHECK-RV64-F-LP64-NEXT: fsw fa7, 64(sp) # 4-byte Folded Spill 2528; CHECK-RV64-F-LP64-NEXT: fsw fs2, 60(sp) # 4-byte Folded Spill 2529; CHECK-RV64-F-LP64-NEXT: fsw fs3, 56(sp) # 4-byte Folded Spill 2530; CHECK-RV64-F-LP64-NEXT: fsw fs4, 52(sp) # 4-byte Folded Spill 2531; CHECK-RV64-F-LP64-NEXT: fsw fs5, 48(sp) # 4-byte Folded Spill 2532; CHECK-RV64-F-LP64-NEXT: fsw fs6, 44(sp) # 4-byte Folded Spill 2533; CHECK-RV64-F-LP64-NEXT: fsw fs7, 40(sp) # 4-byte Folded Spill 2534; CHECK-RV64-F-LP64-NEXT: fsw fs8, 36(sp) # 4-byte Folded Spill 2535; CHECK-RV64-F-LP64-NEXT: fsw fs9, 32(sp) # 4-byte Folded Spill 2536; CHECK-RV64-F-LP64-NEXT: fsw fs10, 28(sp) # 4-byte Folded Spill 2537; CHECK-RV64-F-LP64-NEXT: fsw fs11, 24(sp) # 4-byte Folded Spill 2538; CHECK-RV64-F-LP64-NEXT: fsw ft8, 20(sp) # 4-byte Folded Spill 2539; CHECK-RV64-F-LP64-NEXT: fsw ft9, 16(sp) # 4-byte Folded Spill 2540; CHECK-RV64-F-LP64-NEXT: fsw ft10, 12(sp) # 4-byte Folded Spill 2541; CHECK-RV64-F-LP64-NEXT: fsw ft11, 8(sp) # 4-byte Folded Spill 2542; CHECK-RV64-F-LP64-NEXT: addi s0, sp, 272 2543; CHECK-RV64-F-LP64-NEXT: call otherfoo 2544; CHECK-RV64-F-LP64-NEXT: ld ra, 264(sp) # 8-byte Folded Reload 2545; CHECK-RV64-F-LP64-NEXT: ld t0, 256(sp) # 8-byte Folded Reload 2546; CHECK-RV64-F-LP64-NEXT: ld t1, 248(sp) # 8-byte Folded Reload 2547; CHECK-RV64-F-LP64-NEXT: ld t2, 240(sp) # 8-byte Folded Reload 2548; CHECK-RV64-F-LP64-NEXT: ld s0, 232(sp) # 8-byte Folded Reload 2549; CHECK-RV64-F-LP64-NEXT: ld a0, 224(sp) # 8-byte Folded Reload 2550; CHECK-RV64-F-LP64-NEXT: ld a1, 216(sp) # 8-byte Folded Reload 2551; CHECK-RV64-F-LP64-NEXT: ld a2, 208(sp) # 8-byte Folded Reload 2552; CHECK-RV64-F-LP64-NEXT: ld a3, 200(sp) # 8-byte Folded Reload 2553; CHECK-RV64-F-LP64-NEXT: ld a4, 192(sp) # 8-byte Folded Reload 2554; CHECK-RV64-F-LP64-NEXT: ld a5, 184(sp) # 8-byte Folded Reload 2555; CHECK-RV64-F-LP64-NEXT: ld a6, 176(sp) # 8-byte Folded Reload 2556; CHECK-RV64-F-LP64-NEXT: ld a7, 168(sp) # 8-byte Folded Reload 2557; CHECK-RV64-F-LP64-NEXT: ld t3, 160(sp) # 8-byte Folded Reload 2558; CHECK-RV64-F-LP64-NEXT: ld t4, 152(sp) # 8-byte Folded Reload 2559; CHECK-RV64-F-LP64-NEXT: ld t5, 144(sp) # 8-byte Folded Reload 2560; CHECK-RV64-F-LP64-NEXT: ld t6, 136(sp) # 8-byte Folded Reload 2561; CHECK-RV64-F-LP64-NEXT: flw ft0, 132(sp) # 4-byte Folded Reload 2562; CHECK-RV64-F-LP64-NEXT: flw ft1, 128(sp) # 4-byte Folded Reload 2563; CHECK-RV64-F-LP64-NEXT: flw ft2, 124(sp) # 4-byte Folded Reload 2564; CHECK-RV64-F-LP64-NEXT: flw ft3, 120(sp) # 4-byte Folded Reload 2565; CHECK-RV64-F-LP64-NEXT: flw ft4, 116(sp) # 4-byte Folded Reload 2566; CHECK-RV64-F-LP64-NEXT: flw ft5, 112(sp) # 4-byte Folded Reload 2567; CHECK-RV64-F-LP64-NEXT: flw ft6, 108(sp) # 4-byte Folded Reload 2568; CHECK-RV64-F-LP64-NEXT: flw ft7, 104(sp) # 4-byte Folded Reload 2569; CHECK-RV64-F-LP64-NEXT: flw fs0, 100(sp) # 4-byte Folded Reload 2570; CHECK-RV64-F-LP64-NEXT: flw fs1, 96(sp) # 4-byte Folded Reload 2571; CHECK-RV64-F-LP64-NEXT: flw fa0, 92(sp) # 4-byte Folded Reload 2572; CHECK-RV64-F-LP64-NEXT: flw fa1, 88(sp) # 4-byte Folded Reload 2573; CHECK-RV64-F-LP64-NEXT: flw fa2, 84(sp) # 4-byte Folded Reload 2574; CHECK-RV64-F-LP64-NEXT: flw fa3, 80(sp) # 4-byte Folded Reload 2575; CHECK-RV64-F-LP64-NEXT: flw fa4, 76(sp) # 4-byte Folded Reload 2576; CHECK-RV64-F-LP64-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 2577; CHECK-RV64-F-LP64-NEXT: flw fa6, 68(sp) # 4-byte Folded Reload 2578; CHECK-RV64-F-LP64-NEXT: flw fa7, 64(sp) # 4-byte Folded Reload 2579; CHECK-RV64-F-LP64-NEXT: flw fs2, 60(sp) # 4-byte Folded Reload 2580; CHECK-RV64-F-LP64-NEXT: flw fs3, 56(sp) # 4-byte Folded Reload 2581; CHECK-RV64-F-LP64-NEXT: flw fs4, 52(sp) # 4-byte Folded Reload 2582; CHECK-RV64-F-LP64-NEXT: flw fs5, 48(sp) # 4-byte Folded Reload 2583; CHECK-RV64-F-LP64-NEXT: flw fs6, 44(sp) # 4-byte Folded Reload 2584; CHECK-RV64-F-LP64-NEXT: flw fs7, 40(sp) # 4-byte Folded Reload 2585; CHECK-RV64-F-LP64-NEXT: flw fs8, 36(sp) # 4-byte Folded Reload 2586; CHECK-RV64-F-LP64-NEXT: flw fs9, 32(sp) # 4-byte Folded Reload 2587; CHECK-RV64-F-LP64-NEXT: flw fs10, 28(sp) # 4-byte Folded Reload 2588; CHECK-RV64-F-LP64-NEXT: flw fs11, 24(sp) # 4-byte Folded Reload 2589; CHECK-RV64-F-LP64-NEXT: flw ft8, 20(sp) # 4-byte Folded Reload 2590; CHECK-RV64-F-LP64-NEXT: flw ft9, 16(sp) # 4-byte Folded Reload 2591; CHECK-RV64-F-LP64-NEXT: flw ft10, 12(sp) # 4-byte Folded Reload 2592; CHECK-RV64-F-LP64-NEXT: flw ft11, 8(sp) # 4-byte Folded Reload 2593; CHECK-RV64-F-LP64-NEXT: addi sp, sp, 272 2594; CHECK-RV64-F-LP64-NEXT: mret 2595; 2596; CHECK-RV64-FD-LP64F-LABEL: foo_fp_with_call: 2597; CHECK-RV64-FD-LP64F: # %bb.0: 2598; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, -400 2599; CHECK-RV64-FD-LP64F-NEXT: sd ra, 392(sp) # 8-byte Folded Spill 2600; CHECK-RV64-FD-LP64F-NEXT: sd t0, 384(sp) # 8-byte Folded Spill 2601; CHECK-RV64-FD-LP64F-NEXT: sd t1, 376(sp) # 8-byte Folded Spill 2602; CHECK-RV64-FD-LP64F-NEXT: sd t2, 368(sp) # 8-byte Folded Spill 2603; CHECK-RV64-FD-LP64F-NEXT: sd s0, 360(sp) # 8-byte Folded Spill 2604; CHECK-RV64-FD-LP64F-NEXT: sd a0, 352(sp) # 8-byte Folded Spill 2605; CHECK-RV64-FD-LP64F-NEXT: sd a1, 344(sp) # 8-byte Folded Spill 2606; CHECK-RV64-FD-LP64F-NEXT: sd a2, 336(sp) # 8-byte Folded Spill 2607; CHECK-RV64-FD-LP64F-NEXT: sd a3, 328(sp) # 8-byte Folded Spill 2608; CHECK-RV64-FD-LP64F-NEXT: sd a4, 320(sp) # 8-byte Folded Spill 2609; CHECK-RV64-FD-LP64F-NEXT: sd a5, 312(sp) # 8-byte Folded Spill 2610; CHECK-RV64-FD-LP64F-NEXT: sd a6, 304(sp) # 8-byte Folded Spill 2611; CHECK-RV64-FD-LP64F-NEXT: sd a7, 296(sp) # 8-byte Folded Spill 2612; CHECK-RV64-FD-LP64F-NEXT: sd t3, 288(sp) # 8-byte Folded Spill 2613; CHECK-RV64-FD-LP64F-NEXT: sd t4, 280(sp) # 8-byte Folded Spill 2614; CHECK-RV64-FD-LP64F-NEXT: sd t5, 272(sp) # 8-byte Folded Spill 2615; CHECK-RV64-FD-LP64F-NEXT: sd t6, 264(sp) # 8-byte Folded Spill 2616; CHECK-RV64-FD-LP64F-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill 2617; CHECK-RV64-FD-LP64F-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill 2618; CHECK-RV64-FD-LP64F-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill 2619; CHECK-RV64-FD-LP64F-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill 2620; CHECK-RV64-FD-LP64F-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill 2621; CHECK-RV64-FD-LP64F-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill 2622; CHECK-RV64-FD-LP64F-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill 2623; CHECK-RV64-FD-LP64F-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill 2624; CHECK-RV64-FD-LP64F-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill 2625; CHECK-RV64-FD-LP64F-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill 2626; CHECK-RV64-FD-LP64F-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill 2627; CHECK-RV64-FD-LP64F-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill 2628; CHECK-RV64-FD-LP64F-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill 2629; CHECK-RV64-FD-LP64F-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill 2630; CHECK-RV64-FD-LP64F-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill 2631; CHECK-RV64-FD-LP64F-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill 2632; CHECK-RV64-FD-LP64F-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill 2633; CHECK-RV64-FD-LP64F-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill 2634; CHECK-RV64-FD-LP64F-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill 2635; CHECK-RV64-FD-LP64F-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill 2636; CHECK-RV64-FD-LP64F-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill 2637; CHECK-RV64-FD-LP64F-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill 2638; CHECK-RV64-FD-LP64F-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill 2639; CHECK-RV64-FD-LP64F-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill 2640; CHECK-RV64-FD-LP64F-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill 2641; CHECK-RV64-FD-LP64F-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill 2642; CHECK-RV64-FD-LP64F-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill 2643; CHECK-RV64-FD-LP64F-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill 2644; CHECK-RV64-FD-LP64F-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill 2645; CHECK-RV64-FD-LP64F-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill 2646; CHECK-RV64-FD-LP64F-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill 2647; CHECK-RV64-FD-LP64F-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill 2648; CHECK-RV64-FD-LP64F-NEXT: addi s0, sp, 400 2649; CHECK-RV64-FD-LP64F-NEXT: call otherfoo 2650; CHECK-RV64-FD-LP64F-NEXT: ld ra, 392(sp) # 8-byte Folded Reload 2651; CHECK-RV64-FD-LP64F-NEXT: ld t0, 384(sp) # 8-byte Folded Reload 2652; CHECK-RV64-FD-LP64F-NEXT: ld t1, 376(sp) # 8-byte Folded Reload 2653; CHECK-RV64-FD-LP64F-NEXT: ld t2, 368(sp) # 8-byte Folded Reload 2654; CHECK-RV64-FD-LP64F-NEXT: ld s0, 360(sp) # 8-byte Folded Reload 2655; CHECK-RV64-FD-LP64F-NEXT: ld a0, 352(sp) # 8-byte Folded Reload 2656; CHECK-RV64-FD-LP64F-NEXT: ld a1, 344(sp) # 8-byte Folded Reload 2657; CHECK-RV64-FD-LP64F-NEXT: ld a2, 336(sp) # 8-byte Folded Reload 2658; CHECK-RV64-FD-LP64F-NEXT: ld a3, 328(sp) # 8-byte Folded Reload 2659; CHECK-RV64-FD-LP64F-NEXT: ld a4, 320(sp) # 8-byte Folded Reload 2660; CHECK-RV64-FD-LP64F-NEXT: ld a5, 312(sp) # 8-byte Folded Reload 2661; CHECK-RV64-FD-LP64F-NEXT: ld a6, 304(sp) # 8-byte Folded Reload 2662; CHECK-RV64-FD-LP64F-NEXT: ld a7, 296(sp) # 8-byte Folded Reload 2663; CHECK-RV64-FD-LP64F-NEXT: ld t3, 288(sp) # 8-byte Folded Reload 2664; CHECK-RV64-FD-LP64F-NEXT: ld t4, 280(sp) # 8-byte Folded Reload 2665; CHECK-RV64-FD-LP64F-NEXT: ld t5, 272(sp) # 8-byte Folded Reload 2666; CHECK-RV64-FD-LP64F-NEXT: ld t6, 264(sp) # 8-byte Folded Reload 2667; CHECK-RV64-FD-LP64F-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload 2668; CHECK-RV64-FD-LP64F-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload 2669; CHECK-RV64-FD-LP64F-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload 2670; CHECK-RV64-FD-LP64F-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload 2671; CHECK-RV64-FD-LP64F-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload 2672; CHECK-RV64-FD-LP64F-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload 2673; CHECK-RV64-FD-LP64F-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload 2674; CHECK-RV64-FD-LP64F-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload 2675; CHECK-RV64-FD-LP64F-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload 2676; CHECK-RV64-FD-LP64F-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload 2677; CHECK-RV64-FD-LP64F-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload 2678; CHECK-RV64-FD-LP64F-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload 2679; CHECK-RV64-FD-LP64F-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload 2680; CHECK-RV64-FD-LP64F-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload 2681; CHECK-RV64-FD-LP64F-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload 2682; CHECK-RV64-FD-LP64F-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload 2683; CHECK-RV64-FD-LP64F-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload 2684; CHECK-RV64-FD-LP64F-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload 2685; CHECK-RV64-FD-LP64F-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload 2686; CHECK-RV64-FD-LP64F-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload 2687; CHECK-RV64-FD-LP64F-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload 2688; CHECK-RV64-FD-LP64F-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload 2689; CHECK-RV64-FD-LP64F-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload 2690; CHECK-RV64-FD-LP64F-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload 2691; CHECK-RV64-FD-LP64F-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload 2692; CHECK-RV64-FD-LP64F-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload 2693; CHECK-RV64-FD-LP64F-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload 2694; CHECK-RV64-FD-LP64F-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload 2695; CHECK-RV64-FD-LP64F-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload 2696; CHECK-RV64-FD-LP64F-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload 2697; CHECK-RV64-FD-LP64F-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload 2698; CHECK-RV64-FD-LP64F-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload 2699; CHECK-RV64-FD-LP64F-NEXT: addi sp, sp, 400 2700; CHECK-RV64-FD-LP64F-NEXT: mret 2701; 2702; CHECK-RV64-FD-LP64-LABEL: foo_fp_with_call: 2703; CHECK-RV64-FD-LP64: # %bb.0: 2704; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, -400 2705; CHECK-RV64-FD-LP64-NEXT: sd ra, 392(sp) # 8-byte Folded Spill 2706; CHECK-RV64-FD-LP64-NEXT: sd t0, 384(sp) # 8-byte Folded Spill 2707; CHECK-RV64-FD-LP64-NEXT: sd t1, 376(sp) # 8-byte Folded Spill 2708; CHECK-RV64-FD-LP64-NEXT: sd t2, 368(sp) # 8-byte Folded Spill 2709; CHECK-RV64-FD-LP64-NEXT: sd s0, 360(sp) # 8-byte Folded Spill 2710; CHECK-RV64-FD-LP64-NEXT: sd a0, 352(sp) # 8-byte Folded Spill 2711; CHECK-RV64-FD-LP64-NEXT: sd a1, 344(sp) # 8-byte Folded Spill 2712; CHECK-RV64-FD-LP64-NEXT: sd a2, 336(sp) # 8-byte Folded Spill 2713; CHECK-RV64-FD-LP64-NEXT: sd a3, 328(sp) # 8-byte Folded Spill 2714; CHECK-RV64-FD-LP64-NEXT: sd a4, 320(sp) # 8-byte Folded Spill 2715; CHECK-RV64-FD-LP64-NEXT: sd a5, 312(sp) # 8-byte Folded Spill 2716; CHECK-RV64-FD-LP64-NEXT: sd a6, 304(sp) # 8-byte Folded Spill 2717; CHECK-RV64-FD-LP64-NEXT: sd a7, 296(sp) # 8-byte Folded Spill 2718; CHECK-RV64-FD-LP64-NEXT: sd t3, 288(sp) # 8-byte Folded Spill 2719; CHECK-RV64-FD-LP64-NEXT: sd t4, 280(sp) # 8-byte Folded Spill 2720; CHECK-RV64-FD-LP64-NEXT: sd t5, 272(sp) # 8-byte Folded Spill 2721; CHECK-RV64-FD-LP64-NEXT: sd t6, 264(sp) # 8-byte Folded Spill 2722; CHECK-RV64-FD-LP64-NEXT: fsd ft0, 256(sp) # 8-byte Folded Spill 2723; CHECK-RV64-FD-LP64-NEXT: fsd ft1, 248(sp) # 8-byte Folded Spill 2724; CHECK-RV64-FD-LP64-NEXT: fsd ft2, 240(sp) # 8-byte Folded Spill 2725; CHECK-RV64-FD-LP64-NEXT: fsd ft3, 232(sp) # 8-byte Folded Spill 2726; CHECK-RV64-FD-LP64-NEXT: fsd ft4, 224(sp) # 8-byte Folded Spill 2727; CHECK-RV64-FD-LP64-NEXT: fsd ft5, 216(sp) # 8-byte Folded Spill 2728; CHECK-RV64-FD-LP64-NEXT: fsd ft6, 208(sp) # 8-byte Folded Spill 2729; CHECK-RV64-FD-LP64-NEXT: fsd ft7, 200(sp) # 8-byte Folded Spill 2730; CHECK-RV64-FD-LP64-NEXT: fsd fs0, 192(sp) # 8-byte Folded Spill 2731; CHECK-RV64-FD-LP64-NEXT: fsd fs1, 184(sp) # 8-byte Folded Spill 2732; CHECK-RV64-FD-LP64-NEXT: fsd fa0, 176(sp) # 8-byte Folded Spill 2733; CHECK-RV64-FD-LP64-NEXT: fsd fa1, 168(sp) # 8-byte Folded Spill 2734; CHECK-RV64-FD-LP64-NEXT: fsd fa2, 160(sp) # 8-byte Folded Spill 2735; CHECK-RV64-FD-LP64-NEXT: fsd fa3, 152(sp) # 8-byte Folded Spill 2736; CHECK-RV64-FD-LP64-NEXT: fsd fa4, 144(sp) # 8-byte Folded Spill 2737; CHECK-RV64-FD-LP64-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill 2738; CHECK-RV64-FD-LP64-NEXT: fsd fa6, 128(sp) # 8-byte Folded Spill 2739; CHECK-RV64-FD-LP64-NEXT: fsd fa7, 120(sp) # 8-byte Folded Spill 2740; CHECK-RV64-FD-LP64-NEXT: fsd fs2, 112(sp) # 8-byte Folded Spill 2741; CHECK-RV64-FD-LP64-NEXT: fsd fs3, 104(sp) # 8-byte Folded Spill 2742; CHECK-RV64-FD-LP64-NEXT: fsd fs4, 96(sp) # 8-byte Folded Spill 2743; CHECK-RV64-FD-LP64-NEXT: fsd fs5, 88(sp) # 8-byte Folded Spill 2744; CHECK-RV64-FD-LP64-NEXT: fsd fs6, 80(sp) # 8-byte Folded Spill 2745; CHECK-RV64-FD-LP64-NEXT: fsd fs7, 72(sp) # 8-byte Folded Spill 2746; CHECK-RV64-FD-LP64-NEXT: fsd fs8, 64(sp) # 8-byte Folded Spill 2747; CHECK-RV64-FD-LP64-NEXT: fsd fs9, 56(sp) # 8-byte Folded Spill 2748; CHECK-RV64-FD-LP64-NEXT: fsd fs10, 48(sp) # 8-byte Folded Spill 2749; CHECK-RV64-FD-LP64-NEXT: fsd fs11, 40(sp) # 8-byte Folded Spill 2750; CHECK-RV64-FD-LP64-NEXT: fsd ft8, 32(sp) # 8-byte Folded Spill 2751; CHECK-RV64-FD-LP64-NEXT: fsd ft9, 24(sp) # 8-byte Folded Spill 2752; CHECK-RV64-FD-LP64-NEXT: fsd ft10, 16(sp) # 8-byte Folded Spill 2753; CHECK-RV64-FD-LP64-NEXT: fsd ft11, 8(sp) # 8-byte Folded Spill 2754; CHECK-RV64-FD-LP64-NEXT: addi s0, sp, 400 2755; CHECK-RV64-FD-LP64-NEXT: call otherfoo 2756; CHECK-RV64-FD-LP64-NEXT: ld ra, 392(sp) # 8-byte Folded Reload 2757; CHECK-RV64-FD-LP64-NEXT: ld t0, 384(sp) # 8-byte Folded Reload 2758; CHECK-RV64-FD-LP64-NEXT: ld t1, 376(sp) # 8-byte Folded Reload 2759; CHECK-RV64-FD-LP64-NEXT: ld t2, 368(sp) # 8-byte Folded Reload 2760; CHECK-RV64-FD-LP64-NEXT: ld s0, 360(sp) # 8-byte Folded Reload 2761; CHECK-RV64-FD-LP64-NEXT: ld a0, 352(sp) # 8-byte Folded Reload 2762; CHECK-RV64-FD-LP64-NEXT: ld a1, 344(sp) # 8-byte Folded Reload 2763; CHECK-RV64-FD-LP64-NEXT: ld a2, 336(sp) # 8-byte Folded Reload 2764; CHECK-RV64-FD-LP64-NEXT: ld a3, 328(sp) # 8-byte Folded Reload 2765; CHECK-RV64-FD-LP64-NEXT: ld a4, 320(sp) # 8-byte Folded Reload 2766; CHECK-RV64-FD-LP64-NEXT: ld a5, 312(sp) # 8-byte Folded Reload 2767; CHECK-RV64-FD-LP64-NEXT: ld a6, 304(sp) # 8-byte Folded Reload 2768; CHECK-RV64-FD-LP64-NEXT: ld a7, 296(sp) # 8-byte Folded Reload 2769; CHECK-RV64-FD-LP64-NEXT: ld t3, 288(sp) # 8-byte Folded Reload 2770; CHECK-RV64-FD-LP64-NEXT: ld t4, 280(sp) # 8-byte Folded Reload 2771; CHECK-RV64-FD-LP64-NEXT: ld t5, 272(sp) # 8-byte Folded Reload 2772; CHECK-RV64-FD-LP64-NEXT: ld t6, 264(sp) # 8-byte Folded Reload 2773; CHECK-RV64-FD-LP64-NEXT: fld ft0, 256(sp) # 8-byte Folded Reload 2774; CHECK-RV64-FD-LP64-NEXT: fld ft1, 248(sp) # 8-byte Folded Reload 2775; CHECK-RV64-FD-LP64-NEXT: fld ft2, 240(sp) # 8-byte Folded Reload 2776; CHECK-RV64-FD-LP64-NEXT: fld ft3, 232(sp) # 8-byte Folded Reload 2777; CHECK-RV64-FD-LP64-NEXT: fld ft4, 224(sp) # 8-byte Folded Reload 2778; CHECK-RV64-FD-LP64-NEXT: fld ft5, 216(sp) # 8-byte Folded Reload 2779; CHECK-RV64-FD-LP64-NEXT: fld ft6, 208(sp) # 8-byte Folded Reload 2780; CHECK-RV64-FD-LP64-NEXT: fld ft7, 200(sp) # 8-byte Folded Reload 2781; CHECK-RV64-FD-LP64-NEXT: fld fs0, 192(sp) # 8-byte Folded Reload 2782; CHECK-RV64-FD-LP64-NEXT: fld fs1, 184(sp) # 8-byte Folded Reload 2783; CHECK-RV64-FD-LP64-NEXT: fld fa0, 176(sp) # 8-byte Folded Reload 2784; CHECK-RV64-FD-LP64-NEXT: fld fa1, 168(sp) # 8-byte Folded Reload 2785; CHECK-RV64-FD-LP64-NEXT: fld fa2, 160(sp) # 8-byte Folded Reload 2786; CHECK-RV64-FD-LP64-NEXT: fld fa3, 152(sp) # 8-byte Folded Reload 2787; CHECK-RV64-FD-LP64-NEXT: fld fa4, 144(sp) # 8-byte Folded Reload 2788; CHECK-RV64-FD-LP64-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload 2789; CHECK-RV64-FD-LP64-NEXT: fld fa6, 128(sp) # 8-byte Folded Reload 2790; CHECK-RV64-FD-LP64-NEXT: fld fa7, 120(sp) # 8-byte Folded Reload 2791; CHECK-RV64-FD-LP64-NEXT: fld fs2, 112(sp) # 8-byte Folded Reload 2792; CHECK-RV64-FD-LP64-NEXT: fld fs3, 104(sp) # 8-byte Folded Reload 2793; CHECK-RV64-FD-LP64-NEXT: fld fs4, 96(sp) # 8-byte Folded Reload 2794; CHECK-RV64-FD-LP64-NEXT: fld fs5, 88(sp) # 8-byte Folded Reload 2795; CHECK-RV64-FD-LP64-NEXT: fld fs6, 80(sp) # 8-byte Folded Reload 2796; CHECK-RV64-FD-LP64-NEXT: fld fs7, 72(sp) # 8-byte Folded Reload 2797; CHECK-RV64-FD-LP64-NEXT: fld fs8, 64(sp) # 8-byte Folded Reload 2798; CHECK-RV64-FD-LP64-NEXT: fld fs9, 56(sp) # 8-byte Folded Reload 2799; CHECK-RV64-FD-LP64-NEXT: fld fs10, 48(sp) # 8-byte Folded Reload 2800; CHECK-RV64-FD-LP64-NEXT: fld fs11, 40(sp) # 8-byte Folded Reload 2801; CHECK-RV64-FD-LP64-NEXT: fld ft8, 32(sp) # 8-byte Folded Reload 2802; CHECK-RV64-FD-LP64-NEXT: fld ft9, 24(sp) # 8-byte Folded Reload 2803; CHECK-RV64-FD-LP64-NEXT: fld ft10, 16(sp) # 8-byte Folded Reload 2804; CHECK-RV64-FD-LP64-NEXT: fld ft11, 8(sp) # 8-byte Folded Reload 2805; CHECK-RV64-FD-LP64-NEXT: addi sp, sp, 400 2806; CHECK-RV64-FD-LP64-NEXT: mret 2807; 2808; CHECK-RV64I-LP64E-LABEL: foo_fp_with_call: 2809; CHECK-RV64I-LP64E: # %bb.0: 2810; CHECK-RV64I-LP64E-NEXT: addi sp, sp, -216 2811; CHECK-RV64I-LP64E-NEXT: sd ra, 208(sp) # 8-byte Folded Spill 2812; CHECK-RV64I-LP64E-NEXT: sd t0, 200(sp) # 8-byte Folded Spill 2813; CHECK-RV64I-LP64E-NEXT: sd t1, 192(sp) # 8-byte Folded Spill 2814; CHECK-RV64I-LP64E-NEXT: sd t2, 184(sp) # 8-byte Folded Spill 2815; CHECK-RV64I-LP64E-NEXT: sd s0, 176(sp) # 8-byte Folded Spill 2816; CHECK-RV64I-LP64E-NEXT: sd a0, 168(sp) # 8-byte Folded Spill 2817; CHECK-RV64I-LP64E-NEXT: sd a1, 160(sp) # 8-byte Folded Spill 2818; CHECK-RV64I-LP64E-NEXT: sd a2, 152(sp) # 8-byte Folded Spill 2819; CHECK-RV64I-LP64E-NEXT: sd a3, 144(sp) # 8-byte Folded Spill 2820; CHECK-RV64I-LP64E-NEXT: sd a4, 136(sp) # 8-byte Folded Spill 2821; CHECK-RV64I-LP64E-NEXT: sd a5, 128(sp) # 8-byte Folded Spill 2822; CHECK-RV64I-LP64E-NEXT: sd a6, 120(sp) # 8-byte Folded Spill 2823; CHECK-RV64I-LP64E-NEXT: sd a7, 112(sp) # 8-byte Folded Spill 2824; CHECK-RV64I-LP64E-NEXT: sd s2, 104(sp) # 8-byte Folded Spill 2825; CHECK-RV64I-LP64E-NEXT: sd s3, 96(sp) # 8-byte Folded Spill 2826; CHECK-RV64I-LP64E-NEXT: sd s4, 88(sp) # 8-byte Folded Spill 2827; CHECK-RV64I-LP64E-NEXT: sd s5, 80(sp) # 8-byte Folded Spill 2828; CHECK-RV64I-LP64E-NEXT: sd s6, 72(sp) # 8-byte Folded Spill 2829; CHECK-RV64I-LP64E-NEXT: sd s7, 64(sp) # 8-byte Folded Spill 2830; CHECK-RV64I-LP64E-NEXT: sd s8, 56(sp) # 8-byte Folded Spill 2831; CHECK-RV64I-LP64E-NEXT: sd s9, 48(sp) # 8-byte Folded Spill 2832; CHECK-RV64I-LP64E-NEXT: sd s10, 40(sp) # 8-byte Folded Spill 2833; CHECK-RV64I-LP64E-NEXT: sd s11, 32(sp) # 8-byte Folded Spill 2834; CHECK-RV64I-LP64E-NEXT: sd t3, 24(sp) # 8-byte Folded Spill 2835; CHECK-RV64I-LP64E-NEXT: sd t4, 16(sp) # 8-byte Folded Spill 2836; CHECK-RV64I-LP64E-NEXT: sd t5, 8(sp) # 8-byte Folded Spill 2837; CHECK-RV64I-LP64E-NEXT: sd t6, 0(sp) # 8-byte Folded Spill 2838; CHECK-RV64I-LP64E-NEXT: addi s0, sp, 216 2839; CHECK-RV64I-LP64E-NEXT: call otherfoo 2840; CHECK-RV64I-LP64E-NEXT: ld ra, 208(sp) # 8-byte Folded Reload 2841; CHECK-RV64I-LP64E-NEXT: ld t0, 200(sp) # 8-byte Folded Reload 2842; CHECK-RV64I-LP64E-NEXT: ld t1, 192(sp) # 8-byte Folded Reload 2843; CHECK-RV64I-LP64E-NEXT: ld t2, 184(sp) # 8-byte Folded Reload 2844; CHECK-RV64I-LP64E-NEXT: ld s0, 176(sp) # 8-byte Folded Reload 2845; CHECK-RV64I-LP64E-NEXT: ld a0, 168(sp) # 8-byte Folded Reload 2846; CHECK-RV64I-LP64E-NEXT: ld a1, 160(sp) # 8-byte Folded Reload 2847; CHECK-RV64I-LP64E-NEXT: ld a2, 152(sp) # 8-byte Folded Reload 2848; CHECK-RV64I-LP64E-NEXT: ld a3, 144(sp) # 8-byte Folded Reload 2849; CHECK-RV64I-LP64E-NEXT: ld a4, 136(sp) # 8-byte Folded Reload 2850; CHECK-RV64I-LP64E-NEXT: ld a5, 128(sp) # 8-byte Folded Reload 2851; CHECK-RV64I-LP64E-NEXT: ld a6, 120(sp) # 8-byte Folded Reload 2852; CHECK-RV64I-LP64E-NEXT: ld a7, 112(sp) # 8-byte Folded Reload 2853; CHECK-RV64I-LP64E-NEXT: ld s2, 104(sp) # 8-byte Folded Reload 2854; CHECK-RV64I-LP64E-NEXT: ld s3, 96(sp) # 8-byte Folded Reload 2855; CHECK-RV64I-LP64E-NEXT: ld s4, 88(sp) # 8-byte Folded Reload 2856; CHECK-RV64I-LP64E-NEXT: ld s5, 80(sp) # 8-byte Folded Reload 2857; CHECK-RV64I-LP64E-NEXT: ld s6, 72(sp) # 8-byte Folded Reload 2858; CHECK-RV64I-LP64E-NEXT: ld s7, 64(sp) # 8-byte Folded Reload 2859; CHECK-RV64I-LP64E-NEXT: ld s8, 56(sp) # 8-byte Folded Reload 2860; CHECK-RV64I-LP64E-NEXT: ld s9, 48(sp) # 8-byte Folded Reload 2861; CHECK-RV64I-LP64E-NEXT: ld s10, 40(sp) # 8-byte Folded Reload 2862; CHECK-RV64I-LP64E-NEXT: ld s11, 32(sp) # 8-byte Folded Reload 2863; CHECK-RV64I-LP64E-NEXT: ld t3, 24(sp) # 8-byte Folded Reload 2864; CHECK-RV64I-LP64E-NEXT: ld t4, 16(sp) # 8-byte Folded Reload 2865; CHECK-RV64I-LP64E-NEXT: ld t5, 8(sp) # 8-byte Folded Reload 2866; CHECK-RV64I-LP64E-NEXT: ld t6, 0(sp) # 8-byte Folded Reload 2867; CHECK-RV64I-LP64E-NEXT: addi sp, sp, 216 2868; CHECK-RV64I-LP64E-NEXT: mret 2869; 2870; CHECK-RV64E-LABEL: foo_fp_with_call: 2871; CHECK-RV64E: # %bb.0: 2872; CHECK-RV64E-NEXT: addi sp, sp, -88 2873; CHECK-RV64E-NEXT: sd ra, 80(sp) # 8-byte Folded Spill 2874; CHECK-RV64E-NEXT: sd t0, 72(sp) # 8-byte Folded Spill 2875; CHECK-RV64E-NEXT: sd t1, 64(sp) # 8-byte Folded Spill 2876; CHECK-RV64E-NEXT: sd t2, 56(sp) # 8-byte Folded Spill 2877; CHECK-RV64E-NEXT: sd s0, 48(sp) # 8-byte Folded Spill 2878; CHECK-RV64E-NEXT: sd a0, 40(sp) # 8-byte Folded Spill 2879; CHECK-RV64E-NEXT: sd a1, 32(sp) # 8-byte Folded Spill 2880; CHECK-RV64E-NEXT: sd a2, 24(sp) # 8-byte Folded Spill 2881; CHECK-RV64E-NEXT: sd a3, 16(sp) # 8-byte Folded Spill 2882; CHECK-RV64E-NEXT: sd a4, 8(sp) # 8-byte Folded Spill 2883; CHECK-RV64E-NEXT: sd a5, 0(sp) # 8-byte Folded Spill 2884; CHECK-RV64E-NEXT: addi s0, sp, 88 2885; CHECK-RV64E-NEXT: call otherfoo 2886; CHECK-RV64E-NEXT: ld ra, 80(sp) # 8-byte Folded Reload 2887; CHECK-RV64E-NEXT: ld t0, 72(sp) # 8-byte Folded Reload 2888; CHECK-RV64E-NEXT: ld t1, 64(sp) # 8-byte Folded Reload 2889; CHECK-RV64E-NEXT: ld t2, 56(sp) # 8-byte Folded Reload 2890; CHECK-RV64E-NEXT: ld s0, 48(sp) # 8-byte Folded Reload 2891; CHECK-RV64E-NEXT: ld a0, 40(sp) # 8-byte Folded Reload 2892; CHECK-RV64E-NEXT: ld a1, 32(sp) # 8-byte Folded Reload 2893; CHECK-RV64E-NEXT: ld a2, 24(sp) # 8-byte Folded Reload 2894; CHECK-RV64E-NEXT: ld a3, 16(sp) # 8-byte Folded Reload 2895; CHECK-RV64E-NEXT: ld a4, 8(sp) # 8-byte Folded Reload 2896; CHECK-RV64E-NEXT: ld a5, 0(sp) # 8-byte Folded Reload 2897; CHECK-RV64E-NEXT: addi sp, sp, 88 2898; CHECK-RV64E-NEXT: mret 2899; 2900; CHECK-RV64E-F-LABEL: foo_fp_with_call: 2901; CHECK-RV64E-F: # %bb.0: 2902; CHECK-RV64E-F-NEXT: addi sp, sp, -216 2903; CHECK-RV64E-F-NEXT: sd ra, 208(sp) # 8-byte Folded Spill 2904; CHECK-RV64E-F-NEXT: sd t0, 200(sp) # 8-byte Folded Spill 2905; CHECK-RV64E-F-NEXT: sd t1, 192(sp) # 8-byte Folded Spill 2906; CHECK-RV64E-F-NEXT: sd t2, 184(sp) # 8-byte Folded Spill 2907; CHECK-RV64E-F-NEXT: sd s0, 176(sp) # 8-byte Folded Spill 2908; CHECK-RV64E-F-NEXT: sd a0, 168(sp) # 8-byte Folded Spill 2909; CHECK-RV64E-F-NEXT: sd a1, 160(sp) # 8-byte Folded Spill 2910; CHECK-RV64E-F-NEXT: sd a2, 152(sp) # 8-byte Folded Spill 2911; CHECK-RV64E-F-NEXT: sd a3, 144(sp) # 8-byte Folded Spill 2912; CHECK-RV64E-F-NEXT: sd a4, 136(sp) # 8-byte Folded Spill 2913; CHECK-RV64E-F-NEXT: sd a5, 128(sp) # 8-byte Folded Spill 2914; CHECK-RV64E-F-NEXT: fsw ft0, 124(sp) # 4-byte Folded Spill 2915; CHECK-RV64E-F-NEXT: fsw ft1, 120(sp) # 4-byte Folded Spill 2916; CHECK-RV64E-F-NEXT: fsw ft2, 116(sp) # 4-byte Folded Spill 2917; CHECK-RV64E-F-NEXT: fsw ft3, 112(sp) # 4-byte Folded Spill 2918; CHECK-RV64E-F-NEXT: fsw ft4, 108(sp) # 4-byte Folded Spill 2919; CHECK-RV64E-F-NEXT: fsw ft5, 104(sp) # 4-byte Folded Spill 2920; CHECK-RV64E-F-NEXT: fsw ft6, 100(sp) # 4-byte Folded Spill 2921; CHECK-RV64E-F-NEXT: fsw ft7, 96(sp) # 4-byte Folded Spill 2922; CHECK-RV64E-F-NEXT: fsw fs0, 92(sp) # 4-byte Folded Spill 2923; CHECK-RV64E-F-NEXT: fsw fs1, 88(sp) # 4-byte Folded Spill 2924; CHECK-RV64E-F-NEXT: fsw fa0, 84(sp) # 4-byte Folded Spill 2925; CHECK-RV64E-F-NEXT: fsw fa1, 80(sp) # 4-byte Folded Spill 2926; CHECK-RV64E-F-NEXT: fsw fa2, 76(sp) # 4-byte Folded Spill 2927; CHECK-RV64E-F-NEXT: fsw fa3, 72(sp) # 4-byte Folded Spill 2928; CHECK-RV64E-F-NEXT: fsw fa4, 68(sp) # 4-byte Folded Spill 2929; CHECK-RV64E-F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 2930; CHECK-RV64E-F-NEXT: fsw fa6, 60(sp) # 4-byte Folded Spill 2931; CHECK-RV64E-F-NEXT: fsw fa7, 56(sp) # 4-byte Folded Spill 2932; CHECK-RV64E-F-NEXT: fsw fs2, 52(sp) # 4-byte Folded Spill 2933; CHECK-RV64E-F-NEXT: fsw fs3, 48(sp) # 4-byte Folded Spill 2934; CHECK-RV64E-F-NEXT: fsw fs4, 44(sp) # 4-byte Folded Spill 2935; CHECK-RV64E-F-NEXT: fsw fs5, 40(sp) # 4-byte Folded Spill 2936; CHECK-RV64E-F-NEXT: fsw fs6, 36(sp) # 4-byte Folded Spill 2937; CHECK-RV64E-F-NEXT: fsw fs7, 32(sp) # 4-byte Folded Spill 2938; CHECK-RV64E-F-NEXT: fsw fs8, 28(sp) # 4-byte Folded Spill 2939; CHECK-RV64E-F-NEXT: fsw fs9, 24(sp) # 4-byte Folded Spill 2940; CHECK-RV64E-F-NEXT: fsw fs10, 20(sp) # 4-byte Folded Spill 2941; CHECK-RV64E-F-NEXT: fsw fs11, 16(sp) # 4-byte Folded Spill 2942; CHECK-RV64E-F-NEXT: fsw ft8, 12(sp) # 4-byte Folded Spill 2943; CHECK-RV64E-F-NEXT: fsw ft9, 8(sp) # 4-byte Folded Spill 2944; CHECK-RV64E-F-NEXT: fsw ft10, 4(sp) # 4-byte Folded Spill 2945; CHECK-RV64E-F-NEXT: fsw ft11, 0(sp) # 4-byte Folded Spill 2946; CHECK-RV64E-F-NEXT: addi s0, sp, 216 2947; CHECK-RV64E-F-NEXT: call otherfoo 2948; CHECK-RV64E-F-NEXT: ld ra, 208(sp) # 8-byte Folded Reload 2949; CHECK-RV64E-F-NEXT: ld t0, 200(sp) # 8-byte Folded Reload 2950; CHECK-RV64E-F-NEXT: ld t1, 192(sp) # 8-byte Folded Reload 2951; CHECK-RV64E-F-NEXT: ld t2, 184(sp) # 8-byte Folded Reload 2952; CHECK-RV64E-F-NEXT: ld s0, 176(sp) # 8-byte Folded Reload 2953; CHECK-RV64E-F-NEXT: ld a0, 168(sp) # 8-byte Folded Reload 2954; CHECK-RV64E-F-NEXT: ld a1, 160(sp) # 8-byte Folded Reload 2955; CHECK-RV64E-F-NEXT: ld a2, 152(sp) # 8-byte Folded Reload 2956; CHECK-RV64E-F-NEXT: ld a3, 144(sp) # 8-byte Folded Reload 2957; CHECK-RV64E-F-NEXT: ld a4, 136(sp) # 8-byte Folded Reload 2958; CHECK-RV64E-F-NEXT: ld a5, 128(sp) # 8-byte Folded Reload 2959; CHECK-RV64E-F-NEXT: flw ft0, 124(sp) # 4-byte Folded Reload 2960; CHECK-RV64E-F-NEXT: flw ft1, 120(sp) # 4-byte Folded Reload 2961; CHECK-RV64E-F-NEXT: flw ft2, 116(sp) # 4-byte Folded Reload 2962; CHECK-RV64E-F-NEXT: flw ft3, 112(sp) # 4-byte Folded Reload 2963; CHECK-RV64E-F-NEXT: flw ft4, 108(sp) # 4-byte Folded Reload 2964; CHECK-RV64E-F-NEXT: flw ft5, 104(sp) # 4-byte Folded Reload 2965; CHECK-RV64E-F-NEXT: flw ft6, 100(sp) # 4-byte Folded Reload 2966; CHECK-RV64E-F-NEXT: flw ft7, 96(sp) # 4-byte Folded Reload 2967; CHECK-RV64E-F-NEXT: flw fs0, 92(sp) # 4-byte Folded Reload 2968; CHECK-RV64E-F-NEXT: flw fs1, 88(sp) # 4-byte Folded Reload 2969; CHECK-RV64E-F-NEXT: flw fa0, 84(sp) # 4-byte Folded Reload 2970; CHECK-RV64E-F-NEXT: flw fa1, 80(sp) # 4-byte Folded Reload 2971; CHECK-RV64E-F-NEXT: flw fa2, 76(sp) # 4-byte Folded Reload 2972; CHECK-RV64E-F-NEXT: flw fa3, 72(sp) # 4-byte Folded Reload 2973; CHECK-RV64E-F-NEXT: flw fa4, 68(sp) # 4-byte Folded Reload 2974; CHECK-RV64E-F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 2975; CHECK-RV64E-F-NEXT: flw fa6, 60(sp) # 4-byte Folded Reload 2976; CHECK-RV64E-F-NEXT: flw fa7, 56(sp) # 4-byte Folded Reload 2977; CHECK-RV64E-F-NEXT: flw fs2, 52(sp) # 4-byte Folded Reload 2978; CHECK-RV64E-F-NEXT: flw fs3, 48(sp) # 4-byte Folded Reload 2979; CHECK-RV64E-F-NEXT: flw fs4, 44(sp) # 4-byte Folded Reload 2980; CHECK-RV64E-F-NEXT: flw fs5, 40(sp) # 4-byte Folded Reload 2981; CHECK-RV64E-F-NEXT: flw fs6, 36(sp) # 4-byte Folded Reload 2982; CHECK-RV64E-F-NEXT: flw fs7, 32(sp) # 4-byte Folded Reload 2983; CHECK-RV64E-F-NEXT: flw fs8, 28(sp) # 4-byte Folded Reload 2984; CHECK-RV64E-F-NEXT: flw fs9, 24(sp) # 4-byte Folded Reload 2985; CHECK-RV64E-F-NEXT: flw fs10, 20(sp) # 4-byte Folded Reload 2986; CHECK-RV64E-F-NEXT: flw fs11, 16(sp) # 4-byte Folded Reload 2987; CHECK-RV64E-F-NEXT: flw ft8, 12(sp) # 4-byte Folded Reload 2988; CHECK-RV64E-F-NEXT: flw ft9, 8(sp) # 4-byte Folded Reload 2989; CHECK-RV64E-F-NEXT: flw ft10, 4(sp) # 4-byte Folded Reload 2990; CHECK-RV64E-F-NEXT: flw ft11, 0(sp) # 4-byte Folded Reload 2991; CHECK-RV64E-F-NEXT: addi sp, sp, 216 2992; CHECK-RV64E-F-NEXT: mret 2993; 2994; CHECK-RV64E-FD-LABEL: foo_fp_with_call: 2995; CHECK-RV64E-FD: # %bb.0: 2996; CHECK-RV64E-FD-NEXT: addi sp, sp, -472 2997; CHECK-RV64E-FD-NEXT: sd ra, 464(sp) # 8-byte Folded Spill 2998; CHECK-RV64E-FD-NEXT: sd t0, 456(sp) # 8-byte Folded Spill 2999; CHECK-RV64E-FD-NEXT: sd t1, 448(sp) # 8-byte Folded Spill 3000; CHECK-RV64E-FD-NEXT: sd t2, 440(sp) # 8-byte Folded Spill 3001; CHECK-RV64E-FD-NEXT: sd s0, 432(sp) # 8-byte Folded Spill 3002; CHECK-RV64E-FD-NEXT: sd a0, 424(sp) # 8-byte Folded Spill 3003; CHECK-RV64E-FD-NEXT: sd a1, 416(sp) # 8-byte Folded Spill 3004; CHECK-RV64E-FD-NEXT: sd a2, 408(sp) # 8-byte Folded Spill 3005; CHECK-RV64E-FD-NEXT: sd a3, 400(sp) # 8-byte Folded Spill 3006; CHECK-RV64E-FD-NEXT: sd a4, 392(sp) # 8-byte Folded Spill 3007; CHECK-RV64E-FD-NEXT: sd a5, 384(sp) # 8-byte Folded Spill 3008; CHECK-RV64E-FD-NEXT: sd a6, 376(sp) # 8-byte Folded Spill 3009; CHECK-RV64E-FD-NEXT: sd a7, 368(sp) # 8-byte Folded Spill 3010; CHECK-RV64E-FD-NEXT: sd s2, 360(sp) # 8-byte Folded Spill 3011; CHECK-RV64E-FD-NEXT: sd s3, 352(sp) # 8-byte Folded Spill 3012; CHECK-RV64E-FD-NEXT: sd s4, 344(sp) # 8-byte Folded Spill 3013; CHECK-RV64E-FD-NEXT: sd s5, 336(sp) # 8-byte Folded Spill 3014; CHECK-RV64E-FD-NEXT: sd s6, 328(sp) # 8-byte Folded Spill 3015; CHECK-RV64E-FD-NEXT: sd s7, 320(sp) # 8-byte Folded Spill 3016; CHECK-RV64E-FD-NEXT: sd s8, 312(sp) # 8-byte Folded Spill 3017; CHECK-RV64E-FD-NEXT: sd s9, 304(sp) # 8-byte Folded Spill 3018; CHECK-RV64E-FD-NEXT: sd s10, 296(sp) # 8-byte Folded Spill 3019; CHECK-RV64E-FD-NEXT: sd s11, 288(sp) # 8-byte Folded Spill 3020; CHECK-RV64E-FD-NEXT: sd t3, 280(sp) # 8-byte Folded Spill 3021; CHECK-RV64E-FD-NEXT: sd t4, 272(sp) # 8-byte Folded Spill 3022; CHECK-RV64E-FD-NEXT: sd t5, 264(sp) # 8-byte Folded Spill 3023; CHECK-RV64E-FD-NEXT: sd t6, 256(sp) # 8-byte Folded Spill 3024; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill 3025; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill 3026; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill 3027; CHECK-RV64E-FD-NEXT: fsd ft3, 224(sp) # 8-byte Folded Spill 3028; CHECK-RV64E-FD-NEXT: fsd ft4, 216(sp) # 8-byte Folded Spill 3029; CHECK-RV64E-FD-NEXT: fsd ft5, 208(sp) # 8-byte Folded Spill 3030; CHECK-RV64E-FD-NEXT: fsd ft6, 200(sp) # 8-byte Folded Spill 3031; CHECK-RV64E-FD-NEXT: fsd ft7, 192(sp) # 8-byte Folded Spill 3032; CHECK-RV64E-FD-NEXT: fsd fs0, 184(sp) # 8-byte Folded Spill 3033; CHECK-RV64E-FD-NEXT: fsd fs1, 176(sp) # 8-byte Folded Spill 3034; CHECK-RV64E-FD-NEXT: fsd fa0, 168(sp) # 8-byte Folded Spill 3035; CHECK-RV64E-FD-NEXT: fsd fa1, 160(sp) # 8-byte Folded Spill 3036; CHECK-RV64E-FD-NEXT: fsd fa2, 152(sp) # 8-byte Folded Spill 3037; CHECK-RV64E-FD-NEXT: fsd fa3, 144(sp) # 8-byte Folded Spill 3038; CHECK-RV64E-FD-NEXT: fsd fa4, 136(sp) # 8-byte Folded Spill 3039; CHECK-RV64E-FD-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill 3040; CHECK-RV64E-FD-NEXT: fsd fa6, 120(sp) # 8-byte Folded Spill 3041; CHECK-RV64E-FD-NEXT: fsd fa7, 112(sp) # 8-byte Folded Spill 3042; CHECK-RV64E-FD-NEXT: fsd fs2, 104(sp) # 8-byte Folded Spill 3043; CHECK-RV64E-FD-NEXT: fsd fs3, 96(sp) # 8-byte Folded Spill 3044; CHECK-RV64E-FD-NEXT: fsd fs4, 88(sp) # 8-byte Folded Spill 3045; CHECK-RV64E-FD-NEXT: fsd fs5, 80(sp) # 8-byte Folded Spill 3046; CHECK-RV64E-FD-NEXT: fsd fs6, 72(sp) # 8-byte Folded Spill 3047; CHECK-RV64E-FD-NEXT: fsd fs7, 64(sp) # 8-byte Folded Spill 3048; CHECK-RV64E-FD-NEXT: fsd fs8, 56(sp) # 8-byte Folded Spill 3049; CHECK-RV64E-FD-NEXT: fsd fs9, 48(sp) # 8-byte Folded Spill 3050; CHECK-RV64E-FD-NEXT: fsd fs10, 40(sp) # 8-byte Folded Spill 3051; CHECK-RV64E-FD-NEXT: fsd fs11, 32(sp) # 8-byte Folded Spill 3052; CHECK-RV64E-FD-NEXT: fsd ft8, 24(sp) # 8-byte Folded Spill 3053; CHECK-RV64E-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill 3054; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill 3055; CHECK-RV64E-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill 3056; CHECK-RV64E-FD-NEXT: addi s0, sp, 472 3057; CHECK-RV64E-FD-NEXT: call otherfoo 3058; CHECK-RV64E-FD-NEXT: ld ra, 464(sp) # 8-byte Folded Reload 3059; CHECK-RV64E-FD-NEXT: ld t0, 456(sp) # 8-byte Folded Reload 3060; CHECK-RV64E-FD-NEXT: ld t1, 448(sp) # 8-byte Folded Reload 3061; CHECK-RV64E-FD-NEXT: ld t2, 440(sp) # 8-byte Folded Reload 3062; CHECK-RV64E-FD-NEXT: ld s0, 432(sp) # 8-byte Folded Reload 3063; CHECK-RV64E-FD-NEXT: ld a0, 424(sp) # 8-byte Folded Reload 3064; CHECK-RV64E-FD-NEXT: ld a1, 416(sp) # 8-byte Folded Reload 3065; CHECK-RV64E-FD-NEXT: ld a2, 408(sp) # 8-byte Folded Reload 3066; CHECK-RV64E-FD-NEXT: ld a3, 400(sp) # 8-byte Folded Reload 3067; CHECK-RV64E-FD-NEXT: ld a4, 392(sp) # 8-byte Folded Reload 3068; CHECK-RV64E-FD-NEXT: ld a5, 384(sp) # 8-byte Folded Reload 3069; CHECK-RV64E-FD-NEXT: ld a6, 376(sp) # 8-byte Folded Reload 3070; CHECK-RV64E-FD-NEXT: ld a7, 368(sp) # 8-byte Folded Reload 3071; CHECK-RV64E-FD-NEXT: ld s2, 360(sp) # 8-byte Folded Reload 3072; CHECK-RV64E-FD-NEXT: ld s3, 352(sp) # 8-byte Folded Reload 3073; CHECK-RV64E-FD-NEXT: ld s4, 344(sp) # 8-byte Folded Reload 3074; CHECK-RV64E-FD-NEXT: ld s5, 336(sp) # 8-byte Folded Reload 3075; CHECK-RV64E-FD-NEXT: ld s6, 328(sp) # 8-byte Folded Reload 3076; CHECK-RV64E-FD-NEXT: ld s7, 320(sp) # 8-byte Folded Reload 3077; CHECK-RV64E-FD-NEXT: ld s8, 312(sp) # 8-byte Folded Reload 3078; CHECK-RV64E-FD-NEXT: ld s9, 304(sp) # 8-byte Folded Reload 3079; CHECK-RV64E-FD-NEXT: ld s10, 296(sp) # 8-byte Folded Reload 3080; CHECK-RV64E-FD-NEXT: ld s11, 288(sp) # 8-byte Folded Reload 3081; CHECK-RV64E-FD-NEXT: ld t3, 280(sp) # 8-byte Folded Reload 3082; CHECK-RV64E-FD-NEXT: ld t4, 272(sp) # 8-byte Folded Reload 3083; CHECK-RV64E-FD-NEXT: ld t5, 264(sp) # 8-byte Folded Reload 3084; CHECK-RV64E-FD-NEXT: ld t6, 256(sp) # 8-byte Folded Reload 3085; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload 3086; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload 3087; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload 3088; CHECK-RV64E-FD-NEXT: fld ft3, 224(sp) # 8-byte Folded Reload 3089; CHECK-RV64E-FD-NEXT: fld ft4, 216(sp) # 8-byte Folded Reload 3090; CHECK-RV64E-FD-NEXT: fld ft5, 208(sp) # 8-byte Folded Reload 3091; CHECK-RV64E-FD-NEXT: fld ft6, 200(sp) # 8-byte Folded Reload 3092; CHECK-RV64E-FD-NEXT: fld ft7, 192(sp) # 8-byte Folded Reload 3093; CHECK-RV64E-FD-NEXT: fld fs0, 184(sp) # 8-byte Folded Reload 3094; CHECK-RV64E-FD-NEXT: fld fs1, 176(sp) # 8-byte Folded Reload 3095; CHECK-RV64E-FD-NEXT: fld fa0, 168(sp) # 8-byte Folded Reload 3096; CHECK-RV64E-FD-NEXT: fld fa1, 160(sp) # 8-byte Folded Reload 3097; CHECK-RV64E-FD-NEXT: fld fa2, 152(sp) # 8-byte Folded Reload 3098; CHECK-RV64E-FD-NEXT: fld fa3, 144(sp) # 8-byte Folded Reload 3099; CHECK-RV64E-FD-NEXT: fld fa4, 136(sp) # 8-byte Folded Reload 3100; CHECK-RV64E-FD-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload 3101; CHECK-RV64E-FD-NEXT: fld fa6, 120(sp) # 8-byte Folded Reload 3102; CHECK-RV64E-FD-NEXT: fld fa7, 112(sp) # 8-byte Folded Reload 3103; CHECK-RV64E-FD-NEXT: fld fs2, 104(sp) # 8-byte Folded Reload 3104; CHECK-RV64E-FD-NEXT: fld fs3, 96(sp) # 8-byte Folded Reload 3105; CHECK-RV64E-FD-NEXT: fld fs4, 88(sp) # 8-byte Folded Reload 3106; CHECK-RV64E-FD-NEXT: fld fs5, 80(sp) # 8-byte Folded Reload 3107; CHECK-RV64E-FD-NEXT: fld fs6, 72(sp) # 8-byte Folded Reload 3108; CHECK-RV64E-FD-NEXT: fld fs7, 64(sp) # 8-byte Folded Reload 3109; CHECK-RV64E-FD-NEXT: fld fs8, 56(sp) # 8-byte Folded Reload 3110; CHECK-RV64E-FD-NEXT: fld fs9, 48(sp) # 8-byte Folded Reload 3111; CHECK-RV64E-FD-NEXT: fld fs10, 40(sp) # 8-byte Folded Reload 3112; CHECK-RV64E-FD-NEXT: fld fs11, 32(sp) # 8-byte Folded Reload 3113; CHECK-RV64E-FD-NEXT: fld ft8, 24(sp) # 8-byte Folded Reload 3114; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload 3115; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload 3116; CHECK-RV64E-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload 3117; CHECK-RV64E-FD-NEXT: addi sp, sp, 472 3118; CHECK-RV64E-FD-NEXT: mret 3119 %call = call i32 @otherfoo() 3120 ret void 3121} 3122 3123attributes #0 = { nounwind "interrupt"="supervisor" } 3124attributes #1 = { nounwind "interrupt"="machine" } 3125attributes #2 = { nounwind "interrupt"="machine" "frame-pointer"="all" } 3126