1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32 -verify-machineinstrs < %s \ 3; RUN: | FileCheck %s -check-prefix=ILP32 4; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32e -verify-machineinstrs < %s \ 5; RUN: | FileCheck %s -check-prefix=ILP32E 6; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64 -verify-machineinstrs < %s \ 7; RUN: | FileCheck %s -check-prefix=LP64 8; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64e -verify-machineinstrs < %s \ 9; RUN: | FileCheck %s -check-prefix=LP64E 10; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi ilp32f -verify-machineinstrs < %s \ 11; RUN: | FileCheck %s -check-prefix=ILP32F 12; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi lp64f -verify-machineinstrs < %s \ 13; RUN: | FileCheck %s -check-prefix=LP64F 14; RUN: llc -mtriple=riscv32 -mattr=+d -target-abi ilp32d -verify-machineinstrs < %s \ 15; RUN: | FileCheck %s -check-prefix=ILP32D 16; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi lp64d -verify-machineinstrs < %s \ 17; RUN: | FileCheck %s -check-prefix=LP64D 18 19@var = global [32 x float] zeroinitializer 20 21; All floating point registers are temporaries for the ilp32, ilp32e, lp64e and lp64 22; ABIs. fs0-fs11 are callee-saved for the ilp32f, ilp32d, lp64f, and lp64d ABIs. 23 24; This function tests that RISCVRegisterInfo::getCalleeSavedRegs returns 25; something appropriate. 26 27define void @callee() nounwind { 28; ILP32-LABEL: callee: 29; ILP32: # %bb.0: 30; ILP32-NEXT: lui a0, %hi(var) 31; ILP32-NEXT: flw fa5, %lo(var)(a0) 32; ILP32-NEXT: flw fa4, %lo(var+4)(a0) 33; ILP32-NEXT: flw fa3, %lo(var+8)(a0) 34; ILP32-NEXT: flw fa2, %lo(var+12)(a0) 35; ILP32-NEXT: addi a1, a0, %lo(var) 36; ILP32-NEXT: flw fa1, 16(a1) 37; ILP32-NEXT: flw fa0, 20(a1) 38; ILP32-NEXT: flw ft0, 24(a1) 39; ILP32-NEXT: flw ft1, 28(a1) 40; ILP32-NEXT: flw ft2, 32(a1) 41; ILP32-NEXT: flw ft3, 36(a1) 42; ILP32-NEXT: flw ft4, 40(a1) 43; ILP32-NEXT: flw ft5, 44(a1) 44; ILP32-NEXT: flw ft6, 48(a1) 45; ILP32-NEXT: flw ft7, 52(a1) 46; ILP32-NEXT: flw fa6, 56(a1) 47; ILP32-NEXT: flw fa7, 60(a1) 48; ILP32-NEXT: flw ft8, 64(a1) 49; ILP32-NEXT: flw ft9, 68(a1) 50; ILP32-NEXT: flw ft10, 72(a1) 51; ILP32-NEXT: flw ft11, 76(a1) 52; ILP32-NEXT: flw fs0, 80(a1) 53; ILP32-NEXT: flw fs1, 84(a1) 54; ILP32-NEXT: flw fs2, 88(a1) 55; ILP32-NEXT: flw fs3, 92(a1) 56; ILP32-NEXT: flw fs4, 112(a1) 57; ILP32-NEXT: flw fs5, 116(a1) 58; ILP32-NEXT: flw fs6, 120(a1) 59; ILP32-NEXT: flw fs7, 124(a1) 60; ILP32-NEXT: flw fs8, 96(a1) 61; ILP32-NEXT: flw fs9, 100(a1) 62; ILP32-NEXT: flw fs10, 104(a1) 63; ILP32-NEXT: flw fs11, 108(a1) 64; ILP32-NEXT: fsw fs7, 124(a1) 65; ILP32-NEXT: fsw fs6, 120(a1) 66; ILP32-NEXT: fsw fs5, 116(a1) 67; ILP32-NEXT: fsw fs4, 112(a1) 68; ILP32-NEXT: fsw fs11, 108(a1) 69; ILP32-NEXT: fsw fs10, 104(a1) 70; ILP32-NEXT: fsw fs9, 100(a1) 71; ILP32-NEXT: fsw fs8, 96(a1) 72; ILP32-NEXT: fsw fs3, 92(a1) 73; ILP32-NEXT: fsw fs2, 88(a1) 74; ILP32-NEXT: fsw fs1, 84(a1) 75; ILP32-NEXT: fsw fs0, 80(a1) 76; ILP32-NEXT: fsw ft11, 76(a1) 77; ILP32-NEXT: fsw ft10, 72(a1) 78; ILP32-NEXT: fsw ft9, 68(a1) 79; ILP32-NEXT: fsw ft8, 64(a1) 80; ILP32-NEXT: fsw fa7, 60(a1) 81; ILP32-NEXT: fsw fa6, 56(a1) 82; ILP32-NEXT: fsw ft7, 52(a1) 83; ILP32-NEXT: fsw ft6, 48(a1) 84; ILP32-NEXT: fsw ft5, 44(a1) 85; ILP32-NEXT: fsw ft4, 40(a1) 86; ILP32-NEXT: fsw ft3, 36(a1) 87; ILP32-NEXT: fsw ft2, 32(a1) 88; ILP32-NEXT: fsw ft1, 28(a1) 89; ILP32-NEXT: fsw ft0, 24(a1) 90; ILP32-NEXT: fsw fa0, 20(a1) 91; ILP32-NEXT: fsw fa1, 16(a1) 92; ILP32-NEXT: fsw fa2, %lo(var+12)(a0) 93; ILP32-NEXT: fsw fa3, %lo(var+8)(a0) 94; ILP32-NEXT: fsw fa4, %lo(var+4)(a0) 95; ILP32-NEXT: fsw fa5, %lo(var)(a0) 96; ILP32-NEXT: ret 97; 98; ILP32E-LABEL: callee: 99; ILP32E: # %bb.0: 100; ILP32E-NEXT: lui a0, %hi(var) 101; ILP32E-NEXT: flw fa5, %lo(var)(a0) 102; ILP32E-NEXT: flw fa4, %lo(var+4)(a0) 103; ILP32E-NEXT: flw fa3, %lo(var+8)(a0) 104; ILP32E-NEXT: flw fa2, %lo(var+12)(a0) 105; ILP32E-NEXT: addi a1, a0, %lo(var) 106; ILP32E-NEXT: flw fa1, 16(a1) 107; ILP32E-NEXT: flw fa0, 20(a1) 108; ILP32E-NEXT: flw ft0, 24(a1) 109; ILP32E-NEXT: flw ft1, 28(a1) 110; ILP32E-NEXT: flw ft2, 32(a1) 111; ILP32E-NEXT: flw ft3, 36(a1) 112; ILP32E-NEXT: flw ft4, 40(a1) 113; ILP32E-NEXT: flw ft5, 44(a1) 114; ILP32E-NEXT: flw ft6, 48(a1) 115; ILP32E-NEXT: flw ft7, 52(a1) 116; ILP32E-NEXT: flw fa6, 56(a1) 117; ILP32E-NEXT: flw fa7, 60(a1) 118; ILP32E-NEXT: flw ft8, 64(a1) 119; ILP32E-NEXT: flw ft9, 68(a1) 120; ILP32E-NEXT: flw ft10, 72(a1) 121; ILP32E-NEXT: flw ft11, 76(a1) 122; ILP32E-NEXT: flw fs0, 80(a1) 123; ILP32E-NEXT: flw fs1, 84(a1) 124; ILP32E-NEXT: flw fs2, 88(a1) 125; ILP32E-NEXT: flw fs3, 92(a1) 126; ILP32E-NEXT: flw fs4, 112(a1) 127; ILP32E-NEXT: flw fs5, 116(a1) 128; ILP32E-NEXT: flw fs6, 120(a1) 129; ILP32E-NEXT: flw fs7, 124(a1) 130; ILP32E-NEXT: flw fs8, 96(a1) 131; ILP32E-NEXT: flw fs9, 100(a1) 132; ILP32E-NEXT: flw fs10, 104(a1) 133; ILP32E-NEXT: flw fs11, 108(a1) 134; ILP32E-NEXT: fsw fs7, 124(a1) 135; ILP32E-NEXT: fsw fs6, 120(a1) 136; ILP32E-NEXT: fsw fs5, 116(a1) 137; ILP32E-NEXT: fsw fs4, 112(a1) 138; ILP32E-NEXT: fsw fs11, 108(a1) 139; ILP32E-NEXT: fsw fs10, 104(a1) 140; ILP32E-NEXT: fsw fs9, 100(a1) 141; ILP32E-NEXT: fsw fs8, 96(a1) 142; ILP32E-NEXT: fsw fs3, 92(a1) 143; ILP32E-NEXT: fsw fs2, 88(a1) 144; ILP32E-NEXT: fsw fs1, 84(a1) 145; ILP32E-NEXT: fsw fs0, 80(a1) 146; ILP32E-NEXT: fsw ft11, 76(a1) 147; ILP32E-NEXT: fsw ft10, 72(a1) 148; ILP32E-NEXT: fsw ft9, 68(a1) 149; ILP32E-NEXT: fsw ft8, 64(a1) 150; ILP32E-NEXT: fsw fa7, 60(a1) 151; ILP32E-NEXT: fsw fa6, 56(a1) 152; ILP32E-NEXT: fsw ft7, 52(a1) 153; ILP32E-NEXT: fsw ft6, 48(a1) 154; ILP32E-NEXT: fsw ft5, 44(a1) 155; ILP32E-NEXT: fsw ft4, 40(a1) 156; ILP32E-NEXT: fsw ft3, 36(a1) 157; ILP32E-NEXT: fsw ft2, 32(a1) 158; ILP32E-NEXT: fsw ft1, 28(a1) 159; ILP32E-NEXT: fsw ft0, 24(a1) 160; ILP32E-NEXT: fsw fa0, 20(a1) 161; ILP32E-NEXT: fsw fa1, 16(a1) 162; ILP32E-NEXT: fsw fa2, %lo(var+12)(a0) 163; ILP32E-NEXT: fsw fa3, %lo(var+8)(a0) 164; ILP32E-NEXT: fsw fa4, %lo(var+4)(a0) 165; ILP32E-NEXT: fsw fa5, %lo(var)(a0) 166; ILP32E-NEXT: ret 167; 168; LP64-LABEL: callee: 169; LP64: # %bb.0: 170; LP64-NEXT: lui a0, %hi(var) 171; LP64-NEXT: flw fa5, %lo(var)(a0) 172; LP64-NEXT: flw fa4, %lo(var+4)(a0) 173; LP64-NEXT: flw fa3, %lo(var+8)(a0) 174; LP64-NEXT: flw fa2, %lo(var+12)(a0) 175; LP64-NEXT: addi a1, a0, %lo(var) 176; LP64-NEXT: flw fa1, 16(a1) 177; LP64-NEXT: flw fa0, 20(a1) 178; LP64-NEXT: flw ft0, 24(a1) 179; LP64-NEXT: flw ft1, 28(a1) 180; LP64-NEXT: flw ft2, 32(a1) 181; LP64-NEXT: flw ft3, 36(a1) 182; LP64-NEXT: flw ft4, 40(a1) 183; LP64-NEXT: flw ft5, 44(a1) 184; LP64-NEXT: flw ft6, 48(a1) 185; LP64-NEXT: flw ft7, 52(a1) 186; LP64-NEXT: flw fa6, 56(a1) 187; LP64-NEXT: flw fa7, 60(a1) 188; LP64-NEXT: flw ft8, 64(a1) 189; LP64-NEXT: flw ft9, 68(a1) 190; LP64-NEXT: flw ft10, 72(a1) 191; LP64-NEXT: flw ft11, 76(a1) 192; LP64-NEXT: flw fs0, 80(a1) 193; LP64-NEXT: flw fs1, 84(a1) 194; LP64-NEXT: flw fs2, 88(a1) 195; LP64-NEXT: flw fs3, 92(a1) 196; LP64-NEXT: flw fs4, 112(a1) 197; LP64-NEXT: flw fs5, 116(a1) 198; LP64-NEXT: flw fs6, 120(a1) 199; LP64-NEXT: flw fs7, 124(a1) 200; LP64-NEXT: flw fs8, 96(a1) 201; LP64-NEXT: flw fs9, 100(a1) 202; LP64-NEXT: flw fs10, 104(a1) 203; LP64-NEXT: flw fs11, 108(a1) 204; LP64-NEXT: fsw fs7, 124(a1) 205; LP64-NEXT: fsw fs6, 120(a1) 206; LP64-NEXT: fsw fs5, 116(a1) 207; LP64-NEXT: fsw fs4, 112(a1) 208; LP64-NEXT: fsw fs11, 108(a1) 209; LP64-NEXT: fsw fs10, 104(a1) 210; LP64-NEXT: fsw fs9, 100(a1) 211; LP64-NEXT: fsw fs8, 96(a1) 212; LP64-NEXT: fsw fs3, 92(a1) 213; LP64-NEXT: fsw fs2, 88(a1) 214; LP64-NEXT: fsw fs1, 84(a1) 215; LP64-NEXT: fsw fs0, 80(a1) 216; LP64-NEXT: fsw ft11, 76(a1) 217; LP64-NEXT: fsw ft10, 72(a1) 218; LP64-NEXT: fsw ft9, 68(a1) 219; LP64-NEXT: fsw ft8, 64(a1) 220; LP64-NEXT: fsw fa7, 60(a1) 221; LP64-NEXT: fsw fa6, 56(a1) 222; LP64-NEXT: fsw ft7, 52(a1) 223; LP64-NEXT: fsw ft6, 48(a1) 224; LP64-NEXT: fsw ft5, 44(a1) 225; LP64-NEXT: fsw ft4, 40(a1) 226; LP64-NEXT: fsw ft3, 36(a1) 227; LP64-NEXT: fsw ft2, 32(a1) 228; LP64-NEXT: fsw ft1, 28(a1) 229; LP64-NEXT: fsw ft0, 24(a1) 230; LP64-NEXT: fsw fa0, 20(a1) 231; LP64-NEXT: fsw fa1, 16(a1) 232; LP64-NEXT: fsw fa2, %lo(var+12)(a0) 233; LP64-NEXT: fsw fa3, %lo(var+8)(a0) 234; LP64-NEXT: fsw fa4, %lo(var+4)(a0) 235; LP64-NEXT: fsw fa5, %lo(var)(a0) 236; LP64-NEXT: ret 237; 238; LP64E-LABEL: callee: 239; LP64E: # %bb.0: 240; LP64E-NEXT: lui a0, %hi(var) 241; LP64E-NEXT: flw fa5, %lo(var)(a0) 242; LP64E-NEXT: flw fa4, %lo(var+4)(a0) 243; LP64E-NEXT: flw fa3, %lo(var+8)(a0) 244; LP64E-NEXT: flw fa2, %lo(var+12)(a0) 245; LP64E-NEXT: addi a1, a0, %lo(var) 246; LP64E-NEXT: flw fa1, 16(a1) 247; LP64E-NEXT: flw fa0, 20(a1) 248; LP64E-NEXT: flw ft0, 24(a1) 249; LP64E-NEXT: flw ft1, 28(a1) 250; LP64E-NEXT: flw ft2, 32(a1) 251; LP64E-NEXT: flw ft3, 36(a1) 252; LP64E-NEXT: flw ft4, 40(a1) 253; LP64E-NEXT: flw ft5, 44(a1) 254; LP64E-NEXT: flw ft6, 48(a1) 255; LP64E-NEXT: flw ft7, 52(a1) 256; LP64E-NEXT: flw fa6, 56(a1) 257; LP64E-NEXT: flw fa7, 60(a1) 258; LP64E-NEXT: flw ft8, 64(a1) 259; LP64E-NEXT: flw ft9, 68(a1) 260; LP64E-NEXT: flw ft10, 72(a1) 261; LP64E-NEXT: flw ft11, 76(a1) 262; LP64E-NEXT: flw fs0, 80(a1) 263; LP64E-NEXT: flw fs1, 84(a1) 264; LP64E-NEXT: flw fs2, 88(a1) 265; LP64E-NEXT: flw fs3, 92(a1) 266; LP64E-NEXT: flw fs4, 112(a1) 267; LP64E-NEXT: flw fs5, 116(a1) 268; LP64E-NEXT: flw fs6, 120(a1) 269; LP64E-NEXT: flw fs7, 124(a1) 270; LP64E-NEXT: flw fs8, 96(a1) 271; LP64E-NEXT: flw fs9, 100(a1) 272; LP64E-NEXT: flw fs10, 104(a1) 273; LP64E-NEXT: flw fs11, 108(a1) 274; LP64E-NEXT: fsw fs7, 124(a1) 275; LP64E-NEXT: fsw fs6, 120(a1) 276; LP64E-NEXT: fsw fs5, 116(a1) 277; LP64E-NEXT: fsw fs4, 112(a1) 278; LP64E-NEXT: fsw fs11, 108(a1) 279; LP64E-NEXT: fsw fs10, 104(a1) 280; LP64E-NEXT: fsw fs9, 100(a1) 281; LP64E-NEXT: fsw fs8, 96(a1) 282; LP64E-NEXT: fsw fs3, 92(a1) 283; LP64E-NEXT: fsw fs2, 88(a1) 284; LP64E-NEXT: fsw fs1, 84(a1) 285; LP64E-NEXT: fsw fs0, 80(a1) 286; LP64E-NEXT: fsw ft11, 76(a1) 287; LP64E-NEXT: fsw ft10, 72(a1) 288; LP64E-NEXT: fsw ft9, 68(a1) 289; LP64E-NEXT: fsw ft8, 64(a1) 290; LP64E-NEXT: fsw fa7, 60(a1) 291; LP64E-NEXT: fsw fa6, 56(a1) 292; LP64E-NEXT: fsw ft7, 52(a1) 293; LP64E-NEXT: fsw ft6, 48(a1) 294; LP64E-NEXT: fsw ft5, 44(a1) 295; LP64E-NEXT: fsw ft4, 40(a1) 296; LP64E-NEXT: fsw ft3, 36(a1) 297; LP64E-NEXT: fsw ft2, 32(a1) 298; LP64E-NEXT: fsw ft1, 28(a1) 299; LP64E-NEXT: fsw ft0, 24(a1) 300; LP64E-NEXT: fsw fa0, 20(a1) 301; LP64E-NEXT: fsw fa1, 16(a1) 302; LP64E-NEXT: fsw fa2, %lo(var+12)(a0) 303; LP64E-NEXT: fsw fa3, %lo(var+8)(a0) 304; LP64E-NEXT: fsw fa4, %lo(var+4)(a0) 305; LP64E-NEXT: fsw fa5, %lo(var)(a0) 306; LP64E-NEXT: ret 307; 308; ILP32F-LABEL: callee: 309; ILP32F: # %bb.0: 310; ILP32F-NEXT: addi sp, sp, -48 311; ILP32F-NEXT: fsw fs0, 44(sp) # 4-byte Folded Spill 312; ILP32F-NEXT: fsw fs1, 40(sp) # 4-byte Folded Spill 313; ILP32F-NEXT: fsw fs2, 36(sp) # 4-byte Folded Spill 314; ILP32F-NEXT: fsw fs3, 32(sp) # 4-byte Folded Spill 315; ILP32F-NEXT: fsw fs4, 28(sp) # 4-byte Folded Spill 316; ILP32F-NEXT: fsw fs5, 24(sp) # 4-byte Folded Spill 317; ILP32F-NEXT: fsw fs6, 20(sp) # 4-byte Folded Spill 318; ILP32F-NEXT: fsw fs7, 16(sp) # 4-byte Folded Spill 319; ILP32F-NEXT: fsw fs8, 12(sp) # 4-byte Folded Spill 320; ILP32F-NEXT: fsw fs9, 8(sp) # 4-byte Folded Spill 321; ILP32F-NEXT: fsw fs10, 4(sp) # 4-byte Folded Spill 322; ILP32F-NEXT: fsw fs11, 0(sp) # 4-byte Folded Spill 323; ILP32F-NEXT: lui a0, %hi(var) 324; ILP32F-NEXT: flw fa5, %lo(var)(a0) 325; ILP32F-NEXT: flw fa4, %lo(var+4)(a0) 326; ILP32F-NEXT: flw fa3, %lo(var+8)(a0) 327; ILP32F-NEXT: flw fa2, %lo(var+12)(a0) 328; ILP32F-NEXT: addi a1, a0, %lo(var) 329; ILP32F-NEXT: flw fa1, 16(a1) 330; ILP32F-NEXT: flw fa0, 20(a1) 331; ILP32F-NEXT: flw ft0, 24(a1) 332; ILP32F-NEXT: flw ft1, 28(a1) 333; ILP32F-NEXT: flw ft2, 32(a1) 334; ILP32F-NEXT: flw ft3, 36(a1) 335; ILP32F-NEXT: flw ft4, 40(a1) 336; ILP32F-NEXT: flw ft5, 44(a1) 337; ILP32F-NEXT: flw ft6, 48(a1) 338; ILP32F-NEXT: flw ft7, 52(a1) 339; ILP32F-NEXT: flw fa6, 56(a1) 340; ILP32F-NEXT: flw fa7, 60(a1) 341; ILP32F-NEXT: flw ft8, 64(a1) 342; ILP32F-NEXT: flw ft9, 68(a1) 343; ILP32F-NEXT: flw ft10, 72(a1) 344; ILP32F-NEXT: flw ft11, 76(a1) 345; ILP32F-NEXT: flw fs0, 80(a1) 346; ILP32F-NEXT: flw fs1, 84(a1) 347; ILP32F-NEXT: flw fs2, 88(a1) 348; ILP32F-NEXT: flw fs3, 92(a1) 349; ILP32F-NEXT: flw fs4, 112(a1) 350; ILP32F-NEXT: flw fs5, 116(a1) 351; ILP32F-NEXT: flw fs6, 120(a1) 352; ILP32F-NEXT: flw fs7, 124(a1) 353; ILP32F-NEXT: flw fs8, 96(a1) 354; ILP32F-NEXT: flw fs9, 100(a1) 355; ILP32F-NEXT: flw fs10, 104(a1) 356; ILP32F-NEXT: flw fs11, 108(a1) 357; ILP32F-NEXT: fsw fs7, 124(a1) 358; ILP32F-NEXT: fsw fs6, 120(a1) 359; ILP32F-NEXT: fsw fs5, 116(a1) 360; ILP32F-NEXT: fsw fs4, 112(a1) 361; ILP32F-NEXT: fsw fs11, 108(a1) 362; ILP32F-NEXT: fsw fs10, 104(a1) 363; ILP32F-NEXT: fsw fs9, 100(a1) 364; ILP32F-NEXT: fsw fs8, 96(a1) 365; ILP32F-NEXT: fsw fs3, 92(a1) 366; ILP32F-NEXT: fsw fs2, 88(a1) 367; ILP32F-NEXT: fsw fs1, 84(a1) 368; ILP32F-NEXT: fsw fs0, 80(a1) 369; ILP32F-NEXT: fsw ft11, 76(a1) 370; ILP32F-NEXT: fsw ft10, 72(a1) 371; ILP32F-NEXT: fsw ft9, 68(a1) 372; ILP32F-NEXT: fsw ft8, 64(a1) 373; ILP32F-NEXT: fsw fa7, 60(a1) 374; ILP32F-NEXT: fsw fa6, 56(a1) 375; ILP32F-NEXT: fsw ft7, 52(a1) 376; ILP32F-NEXT: fsw ft6, 48(a1) 377; ILP32F-NEXT: fsw ft5, 44(a1) 378; ILP32F-NEXT: fsw ft4, 40(a1) 379; ILP32F-NEXT: fsw ft3, 36(a1) 380; ILP32F-NEXT: fsw ft2, 32(a1) 381; ILP32F-NEXT: fsw ft1, 28(a1) 382; ILP32F-NEXT: fsw ft0, 24(a1) 383; ILP32F-NEXT: fsw fa0, 20(a1) 384; ILP32F-NEXT: fsw fa1, 16(a1) 385; ILP32F-NEXT: fsw fa2, %lo(var+12)(a0) 386; ILP32F-NEXT: fsw fa3, %lo(var+8)(a0) 387; ILP32F-NEXT: fsw fa4, %lo(var+4)(a0) 388; ILP32F-NEXT: fsw fa5, %lo(var)(a0) 389; ILP32F-NEXT: flw fs0, 44(sp) # 4-byte Folded Reload 390; ILP32F-NEXT: flw fs1, 40(sp) # 4-byte Folded Reload 391; ILP32F-NEXT: flw fs2, 36(sp) # 4-byte Folded Reload 392; ILP32F-NEXT: flw fs3, 32(sp) # 4-byte Folded Reload 393; ILP32F-NEXT: flw fs4, 28(sp) # 4-byte Folded Reload 394; ILP32F-NEXT: flw fs5, 24(sp) # 4-byte Folded Reload 395; ILP32F-NEXT: flw fs6, 20(sp) # 4-byte Folded Reload 396; ILP32F-NEXT: flw fs7, 16(sp) # 4-byte Folded Reload 397; ILP32F-NEXT: flw fs8, 12(sp) # 4-byte Folded Reload 398; ILP32F-NEXT: flw fs9, 8(sp) # 4-byte Folded Reload 399; ILP32F-NEXT: flw fs10, 4(sp) # 4-byte Folded Reload 400; ILP32F-NEXT: flw fs11, 0(sp) # 4-byte Folded Reload 401; ILP32F-NEXT: addi sp, sp, 48 402; ILP32F-NEXT: ret 403; 404; LP64F-LABEL: callee: 405; LP64F: # %bb.0: 406; LP64F-NEXT: addi sp, sp, -48 407; LP64F-NEXT: fsw fs0, 44(sp) # 4-byte Folded Spill 408; LP64F-NEXT: fsw fs1, 40(sp) # 4-byte Folded Spill 409; LP64F-NEXT: fsw fs2, 36(sp) # 4-byte Folded Spill 410; LP64F-NEXT: fsw fs3, 32(sp) # 4-byte Folded Spill 411; LP64F-NEXT: fsw fs4, 28(sp) # 4-byte Folded Spill 412; LP64F-NEXT: fsw fs5, 24(sp) # 4-byte Folded Spill 413; LP64F-NEXT: fsw fs6, 20(sp) # 4-byte Folded Spill 414; LP64F-NEXT: fsw fs7, 16(sp) # 4-byte Folded Spill 415; LP64F-NEXT: fsw fs8, 12(sp) # 4-byte Folded Spill 416; LP64F-NEXT: fsw fs9, 8(sp) # 4-byte Folded Spill 417; LP64F-NEXT: fsw fs10, 4(sp) # 4-byte Folded Spill 418; LP64F-NEXT: fsw fs11, 0(sp) # 4-byte Folded Spill 419; LP64F-NEXT: lui a0, %hi(var) 420; LP64F-NEXT: flw fa5, %lo(var)(a0) 421; LP64F-NEXT: flw fa4, %lo(var+4)(a0) 422; LP64F-NEXT: flw fa3, %lo(var+8)(a0) 423; LP64F-NEXT: flw fa2, %lo(var+12)(a0) 424; LP64F-NEXT: addi a1, a0, %lo(var) 425; LP64F-NEXT: flw fa1, 16(a1) 426; LP64F-NEXT: flw fa0, 20(a1) 427; LP64F-NEXT: flw ft0, 24(a1) 428; LP64F-NEXT: flw ft1, 28(a1) 429; LP64F-NEXT: flw ft2, 32(a1) 430; LP64F-NEXT: flw ft3, 36(a1) 431; LP64F-NEXT: flw ft4, 40(a1) 432; LP64F-NEXT: flw ft5, 44(a1) 433; LP64F-NEXT: flw ft6, 48(a1) 434; LP64F-NEXT: flw ft7, 52(a1) 435; LP64F-NEXT: flw fa6, 56(a1) 436; LP64F-NEXT: flw fa7, 60(a1) 437; LP64F-NEXT: flw ft8, 64(a1) 438; LP64F-NEXT: flw ft9, 68(a1) 439; LP64F-NEXT: flw ft10, 72(a1) 440; LP64F-NEXT: flw ft11, 76(a1) 441; LP64F-NEXT: flw fs0, 80(a1) 442; LP64F-NEXT: flw fs1, 84(a1) 443; LP64F-NEXT: flw fs2, 88(a1) 444; LP64F-NEXT: flw fs3, 92(a1) 445; LP64F-NEXT: flw fs4, 112(a1) 446; LP64F-NEXT: flw fs5, 116(a1) 447; LP64F-NEXT: flw fs6, 120(a1) 448; LP64F-NEXT: flw fs7, 124(a1) 449; LP64F-NEXT: flw fs8, 96(a1) 450; LP64F-NEXT: flw fs9, 100(a1) 451; LP64F-NEXT: flw fs10, 104(a1) 452; LP64F-NEXT: flw fs11, 108(a1) 453; LP64F-NEXT: fsw fs7, 124(a1) 454; LP64F-NEXT: fsw fs6, 120(a1) 455; LP64F-NEXT: fsw fs5, 116(a1) 456; LP64F-NEXT: fsw fs4, 112(a1) 457; LP64F-NEXT: fsw fs11, 108(a1) 458; LP64F-NEXT: fsw fs10, 104(a1) 459; LP64F-NEXT: fsw fs9, 100(a1) 460; LP64F-NEXT: fsw fs8, 96(a1) 461; LP64F-NEXT: fsw fs3, 92(a1) 462; LP64F-NEXT: fsw fs2, 88(a1) 463; LP64F-NEXT: fsw fs1, 84(a1) 464; LP64F-NEXT: fsw fs0, 80(a1) 465; LP64F-NEXT: fsw ft11, 76(a1) 466; LP64F-NEXT: fsw ft10, 72(a1) 467; LP64F-NEXT: fsw ft9, 68(a1) 468; LP64F-NEXT: fsw ft8, 64(a1) 469; LP64F-NEXT: fsw fa7, 60(a1) 470; LP64F-NEXT: fsw fa6, 56(a1) 471; LP64F-NEXT: fsw ft7, 52(a1) 472; LP64F-NEXT: fsw ft6, 48(a1) 473; LP64F-NEXT: fsw ft5, 44(a1) 474; LP64F-NEXT: fsw ft4, 40(a1) 475; LP64F-NEXT: fsw ft3, 36(a1) 476; LP64F-NEXT: fsw ft2, 32(a1) 477; LP64F-NEXT: fsw ft1, 28(a1) 478; LP64F-NEXT: fsw ft0, 24(a1) 479; LP64F-NEXT: fsw fa0, 20(a1) 480; LP64F-NEXT: fsw fa1, 16(a1) 481; LP64F-NEXT: fsw fa2, %lo(var+12)(a0) 482; LP64F-NEXT: fsw fa3, %lo(var+8)(a0) 483; LP64F-NEXT: fsw fa4, %lo(var+4)(a0) 484; LP64F-NEXT: fsw fa5, %lo(var)(a0) 485; LP64F-NEXT: flw fs0, 44(sp) # 4-byte Folded Reload 486; LP64F-NEXT: flw fs1, 40(sp) # 4-byte Folded Reload 487; LP64F-NEXT: flw fs2, 36(sp) # 4-byte Folded Reload 488; LP64F-NEXT: flw fs3, 32(sp) # 4-byte Folded Reload 489; LP64F-NEXT: flw fs4, 28(sp) # 4-byte Folded Reload 490; LP64F-NEXT: flw fs5, 24(sp) # 4-byte Folded Reload 491; LP64F-NEXT: flw fs6, 20(sp) # 4-byte Folded Reload 492; LP64F-NEXT: flw fs7, 16(sp) # 4-byte Folded Reload 493; LP64F-NEXT: flw fs8, 12(sp) # 4-byte Folded Reload 494; LP64F-NEXT: flw fs9, 8(sp) # 4-byte Folded Reload 495; LP64F-NEXT: flw fs10, 4(sp) # 4-byte Folded Reload 496; LP64F-NEXT: flw fs11, 0(sp) # 4-byte Folded Reload 497; LP64F-NEXT: addi sp, sp, 48 498; LP64F-NEXT: ret 499; 500; ILP32D-LABEL: callee: 501; ILP32D: # %bb.0: 502; ILP32D-NEXT: addi sp, sp, -96 503; ILP32D-NEXT: fsd fs0, 88(sp) # 8-byte Folded Spill 504; ILP32D-NEXT: fsd fs1, 80(sp) # 8-byte Folded Spill 505; ILP32D-NEXT: fsd fs2, 72(sp) # 8-byte Folded Spill 506; ILP32D-NEXT: fsd fs3, 64(sp) # 8-byte Folded Spill 507; ILP32D-NEXT: fsd fs4, 56(sp) # 8-byte Folded Spill 508; ILP32D-NEXT: fsd fs5, 48(sp) # 8-byte Folded Spill 509; ILP32D-NEXT: fsd fs6, 40(sp) # 8-byte Folded Spill 510; ILP32D-NEXT: fsd fs7, 32(sp) # 8-byte Folded Spill 511; ILP32D-NEXT: fsd fs8, 24(sp) # 8-byte Folded Spill 512; ILP32D-NEXT: fsd fs9, 16(sp) # 8-byte Folded Spill 513; ILP32D-NEXT: fsd fs10, 8(sp) # 8-byte Folded Spill 514; ILP32D-NEXT: fsd fs11, 0(sp) # 8-byte Folded Spill 515; ILP32D-NEXT: lui a0, %hi(var) 516; ILP32D-NEXT: flw fa5, %lo(var)(a0) 517; ILP32D-NEXT: flw fa4, %lo(var+4)(a0) 518; ILP32D-NEXT: flw fa3, %lo(var+8)(a0) 519; ILP32D-NEXT: flw fa2, %lo(var+12)(a0) 520; ILP32D-NEXT: addi a1, a0, %lo(var) 521; ILP32D-NEXT: flw fa1, 16(a1) 522; ILP32D-NEXT: flw fa0, 20(a1) 523; ILP32D-NEXT: flw ft0, 24(a1) 524; ILP32D-NEXT: flw ft1, 28(a1) 525; ILP32D-NEXT: flw ft2, 32(a1) 526; ILP32D-NEXT: flw ft3, 36(a1) 527; ILP32D-NEXT: flw ft4, 40(a1) 528; ILP32D-NEXT: flw ft5, 44(a1) 529; ILP32D-NEXT: flw ft6, 48(a1) 530; ILP32D-NEXT: flw ft7, 52(a1) 531; ILP32D-NEXT: flw fa6, 56(a1) 532; ILP32D-NEXT: flw fa7, 60(a1) 533; ILP32D-NEXT: flw ft8, 64(a1) 534; ILP32D-NEXT: flw ft9, 68(a1) 535; ILP32D-NEXT: flw ft10, 72(a1) 536; ILP32D-NEXT: flw ft11, 76(a1) 537; ILP32D-NEXT: flw fs0, 80(a1) 538; ILP32D-NEXT: flw fs1, 84(a1) 539; ILP32D-NEXT: flw fs2, 88(a1) 540; ILP32D-NEXT: flw fs3, 92(a1) 541; ILP32D-NEXT: flw fs4, 112(a1) 542; ILP32D-NEXT: flw fs5, 116(a1) 543; ILP32D-NEXT: flw fs6, 120(a1) 544; ILP32D-NEXT: flw fs7, 124(a1) 545; ILP32D-NEXT: flw fs8, 96(a1) 546; ILP32D-NEXT: flw fs9, 100(a1) 547; ILP32D-NEXT: flw fs10, 104(a1) 548; ILP32D-NEXT: flw fs11, 108(a1) 549; ILP32D-NEXT: fsw fs7, 124(a1) 550; ILP32D-NEXT: fsw fs6, 120(a1) 551; ILP32D-NEXT: fsw fs5, 116(a1) 552; ILP32D-NEXT: fsw fs4, 112(a1) 553; ILP32D-NEXT: fsw fs11, 108(a1) 554; ILP32D-NEXT: fsw fs10, 104(a1) 555; ILP32D-NEXT: fsw fs9, 100(a1) 556; ILP32D-NEXT: fsw fs8, 96(a1) 557; ILP32D-NEXT: fsw fs3, 92(a1) 558; ILP32D-NEXT: fsw fs2, 88(a1) 559; ILP32D-NEXT: fsw fs1, 84(a1) 560; ILP32D-NEXT: fsw fs0, 80(a1) 561; ILP32D-NEXT: fsw ft11, 76(a1) 562; ILP32D-NEXT: fsw ft10, 72(a1) 563; ILP32D-NEXT: fsw ft9, 68(a1) 564; ILP32D-NEXT: fsw ft8, 64(a1) 565; ILP32D-NEXT: fsw fa7, 60(a1) 566; ILP32D-NEXT: fsw fa6, 56(a1) 567; ILP32D-NEXT: fsw ft7, 52(a1) 568; ILP32D-NEXT: fsw ft6, 48(a1) 569; ILP32D-NEXT: fsw ft5, 44(a1) 570; ILP32D-NEXT: fsw ft4, 40(a1) 571; ILP32D-NEXT: fsw ft3, 36(a1) 572; ILP32D-NEXT: fsw ft2, 32(a1) 573; ILP32D-NEXT: fsw ft1, 28(a1) 574; ILP32D-NEXT: fsw ft0, 24(a1) 575; ILP32D-NEXT: fsw fa0, 20(a1) 576; ILP32D-NEXT: fsw fa1, 16(a1) 577; ILP32D-NEXT: fsw fa2, %lo(var+12)(a0) 578; ILP32D-NEXT: fsw fa3, %lo(var+8)(a0) 579; ILP32D-NEXT: fsw fa4, %lo(var+4)(a0) 580; ILP32D-NEXT: fsw fa5, %lo(var)(a0) 581; ILP32D-NEXT: fld fs0, 88(sp) # 8-byte Folded Reload 582; ILP32D-NEXT: fld fs1, 80(sp) # 8-byte Folded Reload 583; ILP32D-NEXT: fld fs2, 72(sp) # 8-byte Folded Reload 584; ILP32D-NEXT: fld fs3, 64(sp) # 8-byte Folded Reload 585; ILP32D-NEXT: fld fs4, 56(sp) # 8-byte Folded Reload 586; ILP32D-NEXT: fld fs5, 48(sp) # 8-byte Folded Reload 587; ILP32D-NEXT: fld fs6, 40(sp) # 8-byte Folded Reload 588; ILP32D-NEXT: fld fs7, 32(sp) # 8-byte Folded Reload 589; ILP32D-NEXT: fld fs8, 24(sp) # 8-byte Folded Reload 590; ILP32D-NEXT: fld fs9, 16(sp) # 8-byte Folded Reload 591; ILP32D-NEXT: fld fs10, 8(sp) # 8-byte Folded Reload 592; ILP32D-NEXT: fld fs11, 0(sp) # 8-byte Folded Reload 593; ILP32D-NEXT: addi sp, sp, 96 594; ILP32D-NEXT: ret 595; 596; LP64D-LABEL: callee: 597; LP64D: # %bb.0: 598; LP64D-NEXT: addi sp, sp, -96 599; LP64D-NEXT: fsd fs0, 88(sp) # 8-byte Folded Spill 600; LP64D-NEXT: fsd fs1, 80(sp) # 8-byte Folded Spill 601; LP64D-NEXT: fsd fs2, 72(sp) # 8-byte Folded Spill 602; LP64D-NEXT: fsd fs3, 64(sp) # 8-byte Folded Spill 603; LP64D-NEXT: fsd fs4, 56(sp) # 8-byte Folded Spill 604; LP64D-NEXT: fsd fs5, 48(sp) # 8-byte Folded Spill 605; LP64D-NEXT: fsd fs6, 40(sp) # 8-byte Folded Spill 606; LP64D-NEXT: fsd fs7, 32(sp) # 8-byte Folded Spill 607; LP64D-NEXT: fsd fs8, 24(sp) # 8-byte Folded Spill 608; LP64D-NEXT: fsd fs9, 16(sp) # 8-byte Folded Spill 609; LP64D-NEXT: fsd fs10, 8(sp) # 8-byte Folded Spill 610; LP64D-NEXT: fsd fs11, 0(sp) # 8-byte Folded Spill 611; LP64D-NEXT: lui a0, %hi(var) 612; LP64D-NEXT: flw fa5, %lo(var)(a0) 613; LP64D-NEXT: flw fa4, %lo(var+4)(a0) 614; LP64D-NEXT: flw fa3, %lo(var+8)(a0) 615; LP64D-NEXT: flw fa2, %lo(var+12)(a0) 616; LP64D-NEXT: addi a1, a0, %lo(var) 617; LP64D-NEXT: flw fa1, 16(a1) 618; LP64D-NEXT: flw fa0, 20(a1) 619; LP64D-NEXT: flw ft0, 24(a1) 620; LP64D-NEXT: flw ft1, 28(a1) 621; LP64D-NEXT: flw ft2, 32(a1) 622; LP64D-NEXT: flw ft3, 36(a1) 623; LP64D-NEXT: flw ft4, 40(a1) 624; LP64D-NEXT: flw ft5, 44(a1) 625; LP64D-NEXT: flw ft6, 48(a1) 626; LP64D-NEXT: flw ft7, 52(a1) 627; LP64D-NEXT: flw fa6, 56(a1) 628; LP64D-NEXT: flw fa7, 60(a1) 629; LP64D-NEXT: flw ft8, 64(a1) 630; LP64D-NEXT: flw ft9, 68(a1) 631; LP64D-NEXT: flw ft10, 72(a1) 632; LP64D-NEXT: flw ft11, 76(a1) 633; LP64D-NEXT: flw fs0, 80(a1) 634; LP64D-NEXT: flw fs1, 84(a1) 635; LP64D-NEXT: flw fs2, 88(a1) 636; LP64D-NEXT: flw fs3, 92(a1) 637; LP64D-NEXT: flw fs4, 112(a1) 638; LP64D-NEXT: flw fs5, 116(a1) 639; LP64D-NEXT: flw fs6, 120(a1) 640; LP64D-NEXT: flw fs7, 124(a1) 641; LP64D-NEXT: flw fs8, 96(a1) 642; LP64D-NEXT: flw fs9, 100(a1) 643; LP64D-NEXT: flw fs10, 104(a1) 644; LP64D-NEXT: flw fs11, 108(a1) 645; LP64D-NEXT: fsw fs7, 124(a1) 646; LP64D-NEXT: fsw fs6, 120(a1) 647; LP64D-NEXT: fsw fs5, 116(a1) 648; LP64D-NEXT: fsw fs4, 112(a1) 649; LP64D-NEXT: fsw fs11, 108(a1) 650; LP64D-NEXT: fsw fs10, 104(a1) 651; LP64D-NEXT: fsw fs9, 100(a1) 652; LP64D-NEXT: fsw fs8, 96(a1) 653; LP64D-NEXT: fsw fs3, 92(a1) 654; LP64D-NEXT: fsw fs2, 88(a1) 655; LP64D-NEXT: fsw fs1, 84(a1) 656; LP64D-NEXT: fsw fs0, 80(a1) 657; LP64D-NEXT: fsw ft11, 76(a1) 658; LP64D-NEXT: fsw ft10, 72(a1) 659; LP64D-NEXT: fsw ft9, 68(a1) 660; LP64D-NEXT: fsw ft8, 64(a1) 661; LP64D-NEXT: fsw fa7, 60(a1) 662; LP64D-NEXT: fsw fa6, 56(a1) 663; LP64D-NEXT: fsw ft7, 52(a1) 664; LP64D-NEXT: fsw ft6, 48(a1) 665; LP64D-NEXT: fsw ft5, 44(a1) 666; LP64D-NEXT: fsw ft4, 40(a1) 667; LP64D-NEXT: fsw ft3, 36(a1) 668; LP64D-NEXT: fsw ft2, 32(a1) 669; LP64D-NEXT: fsw ft1, 28(a1) 670; LP64D-NEXT: fsw ft0, 24(a1) 671; LP64D-NEXT: fsw fa0, 20(a1) 672; LP64D-NEXT: fsw fa1, 16(a1) 673; LP64D-NEXT: fsw fa2, %lo(var+12)(a0) 674; LP64D-NEXT: fsw fa3, %lo(var+8)(a0) 675; LP64D-NEXT: fsw fa4, %lo(var+4)(a0) 676; LP64D-NEXT: fsw fa5, %lo(var)(a0) 677; LP64D-NEXT: fld fs0, 88(sp) # 8-byte Folded Reload 678; LP64D-NEXT: fld fs1, 80(sp) # 8-byte Folded Reload 679; LP64D-NEXT: fld fs2, 72(sp) # 8-byte Folded Reload 680; LP64D-NEXT: fld fs3, 64(sp) # 8-byte Folded Reload 681; LP64D-NEXT: fld fs4, 56(sp) # 8-byte Folded Reload 682; LP64D-NEXT: fld fs5, 48(sp) # 8-byte Folded Reload 683; LP64D-NEXT: fld fs6, 40(sp) # 8-byte Folded Reload 684; LP64D-NEXT: fld fs7, 32(sp) # 8-byte Folded Reload 685; LP64D-NEXT: fld fs8, 24(sp) # 8-byte Folded Reload 686; LP64D-NEXT: fld fs9, 16(sp) # 8-byte Folded Reload 687; LP64D-NEXT: fld fs10, 8(sp) # 8-byte Folded Reload 688; LP64D-NEXT: fld fs11, 0(sp) # 8-byte Folded Reload 689; LP64D-NEXT: addi sp, sp, 96 690; LP64D-NEXT: ret 691 %val = load [32 x float], ptr @var 692 store volatile [32 x float] %val, ptr @var 693 ret void 694} 695 696; This function tests that RISCVRegisterInfo::getCallPreservedMask returns 697; something appropriate. 698; 699; For the soft float ABIs, no floating point registers are preserved, and 700; codegen will use only ft0 in the body of caller. For the 'f' and 'd ABIs, 701; fs0-fs11 are preserved across calls. 702 703define void @caller() nounwind { 704; ILP32-LABEL: caller: 705; ILP32: # %bb.0: 706; ILP32-NEXT: addi sp, sp, -144 707; ILP32-NEXT: sw ra, 140(sp) # 4-byte Folded Spill 708; ILP32-NEXT: sw s0, 136(sp) # 4-byte Folded Spill 709; ILP32-NEXT: sw s1, 132(sp) # 4-byte Folded Spill 710; ILP32-NEXT: lui s0, %hi(var) 711; ILP32-NEXT: flw fa5, %lo(var)(s0) 712; ILP32-NEXT: fsw fa5, 128(sp) # 4-byte Folded Spill 713; ILP32-NEXT: flw fa5, %lo(var+4)(s0) 714; ILP32-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill 715; ILP32-NEXT: flw fa5, %lo(var+8)(s0) 716; ILP32-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill 717; ILP32-NEXT: flw fa5, %lo(var+12)(s0) 718; ILP32-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill 719; ILP32-NEXT: addi s1, s0, %lo(var) 720; ILP32-NEXT: flw fa5, 16(s1) 721; ILP32-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill 722; ILP32-NEXT: flw fa5, 20(s1) 723; ILP32-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill 724; ILP32-NEXT: flw fa5, 24(s1) 725; ILP32-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill 726; ILP32-NEXT: flw fa5, 28(s1) 727; ILP32-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill 728; ILP32-NEXT: flw fa5, 32(s1) 729; ILP32-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill 730; ILP32-NEXT: flw fa5, 36(s1) 731; ILP32-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill 732; ILP32-NEXT: flw fa5, 40(s1) 733; ILP32-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill 734; ILP32-NEXT: flw fa5, 44(s1) 735; ILP32-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill 736; ILP32-NEXT: flw fa5, 48(s1) 737; ILP32-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill 738; ILP32-NEXT: flw fa5, 52(s1) 739; ILP32-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 740; ILP32-NEXT: flw fa5, 56(s1) 741; ILP32-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 742; ILP32-NEXT: flw fa5, 60(s1) 743; ILP32-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 744; ILP32-NEXT: flw fa5, 64(s1) 745; ILP32-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 746; ILP32-NEXT: flw fa5, 68(s1) 747; ILP32-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 748; ILP32-NEXT: flw fa5, 72(s1) 749; ILP32-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 750; ILP32-NEXT: flw fa5, 76(s1) 751; ILP32-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 752; ILP32-NEXT: flw fa5, 80(s1) 753; ILP32-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 754; ILP32-NEXT: flw fa5, 84(s1) 755; ILP32-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 756; ILP32-NEXT: flw fa5, 88(s1) 757; ILP32-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 758; ILP32-NEXT: flw fa5, 92(s1) 759; ILP32-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 760; ILP32-NEXT: flw fa5, 96(s1) 761; ILP32-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 762; ILP32-NEXT: flw fa5, 100(s1) 763; ILP32-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 764; ILP32-NEXT: flw fa5, 104(s1) 765; ILP32-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 766; ILP32-NEXT: flw fa5, 108(s1) 767; ILP32-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 768; ILP32-NEXT: flw fa5, 112(s1) 769; ILP32-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 770; ILP32-NEXT: flw fa5, 116(s1) 771; ILP32-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 772; ILP32-NEXT: flw fa5, 120(s1) 773; ILP32-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 774; ILP32-NEXT: flw fa5, 124(s1) 775; ILP32-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill 776; ILP32-NEXT: call callee 777; ILP32-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload 778; ILP32-NEXT: fsw fa5, 124(s1) 779; ILP32-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 780; ILP32-NEXT: fsw fa5, 120(s1) 781; ILP32-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 782; ILP32-NEXT: fsw fa5, 116(s1) 783; ILP32-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 784; ILP32-NEXT: fsw fa5, 112(s1) 785; ILP32-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 786; ILP32-NEXT: fsw fa5, 108(s1) 787; ILP32-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 788; ILP32-NEXT: fsw fa5, 104(s1) 789; ILP32-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 790; ILP32-NEXT: fsw fa5, 100(s1) 791; ILP32-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 792; ILP32-NEXT: fsw fa5, 96(s1) 793; ILP32-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 794; ILP32-NEXT: fsw fa5, 92(s1) 795; ILP32-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 796; ILP32-NEXT: fsw fa5, 88(s1) 797; ILP32-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 798; ILP32-NEXT: fsw fa5, 84(s1) 799; ILP32-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 800; ILP32-NEXT: fsw fa5, 80(s1) 801; ILP32-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 802; ILP32-NEXT: fsw fa5, 76(s1) 803; ILP32-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 804; ILP32-NEXT: fsw fa5, 72(s1) 805; ILP32-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 806; ILP32-NEXT: fsw fa5, 68(s1) 807; ILP32-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 808; ILP32-NEXT: fsw fa5, 64(s1) 809; ILP32-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 810; ILP32-NEXT: fsw fa5, 60(s1) 811; ILP32-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 812; ILP32-NEXT: fsw fa5, 56(s1) 813; ILP32-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 814; ILP32-NEXT: fsw fa5, 52(s1) 815; ILP32-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload 816; ILP32-NEXT: fsw fa5, 48(s1) 817; ILP32-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload 818; ILP32-NEXT: fsw fa5, 44(s1) 819; ILP32-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload 820; ILP32-NEXT: fsw fa5, 40(s1) 821; ILP32-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload 822; ILP32-NEXT: fsw fa5, 36(s1) 823; ILP32-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload 824; ILP32-NEXT: fsw fa5, 32(s1) 825; ILP32-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload 826; ILP32-NEXT: fsw fa5, 28(s1) 827; ILP32-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload 828; ILP32-NEXT: fsw fa5, 24(s1) 829; ILP32-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload 830; ILP32-NEXT: fsw fa5, 20(s1) 831; ILP32-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload 832; ILP32-NEXT: fsw fa5, 16(s1) 833; ILP32-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload 834; ILP32-NEXT: fsw fa5, %lo(var+12)(s0) 835; ILP32-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload 836; ILP32-NEXT: fsw fa5, %lo(var+8)(s0) 837; ILP32-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload 838; ILP32-NEXT: fsw fa5, %lo(var+4)(s0) 839; ILP32-NEXT: flw fa5, 128(sp) # 4-byte Folded Reload 840; ILP32-NEXT: fsw fa5, %lo(var)(s0) 841; ILP32-NEXT: lw ra, 140(sp) # 4-byte Folded Reload 842; ILP32-NEXT: lw s0, 136(sp) # 4-byte Folded Reload 843; ILP32-NEXT: lw s1, 132(sp) # 4-byte Folded Reload 844; ILP32-NEXT: addi sp, sp, 144 845; ILP32-NEXT: ret 846; 847; ILP32E-LABEL: caller: 848; ILP32E: # %bb.0: 849; ILP32E-NEXT: addi sp, sp, -140 850; ILP32E-NEXT: sw ra, 136(sp) # 4-byte Folded Spill 851; ILP32E-NEXT: sw s0, 132(sp) # 4-byte Folded Spill 852; ILP32E-NEXT: sw s1, 128(sp) # 4-byte Folded Spill 853; ILP32E-NEXT: lui s0, %hi(var) 854; ILP32E-NEXT: flw fa5, %lo(var)(s0) 855; ILP32E-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill 856; ILP32E-NEXT: flw fa5, %lo(var+4)(s0) 857; ILP32E-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill 858; ILP32E-NEXT: flw fa5, %lo(var+8)(s0) 859; ILP32E-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill 860; ILP32E-NEXT: flw fa5, %lo(var+12)(s0) 861; ILP32E-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill 862; ILP32E-NEXT: addi s1, s0, %lo(var) 863; ILP32E-NEXT: flw fa5, 16(s1) 864; ILP32E-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill 865; ILP32E-NEXT: flw fa5, 20(s1) 866; ILP32E-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill 867; ILP32E-NEXT: flw fa5, 24(s1) 868; ILP32E-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill 869; ILP32E-NEXT: flw fa5, 28(s1) 870; ILP32E-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill 871; ILP32E-NEXT: flw fa5, 32(s1) 872; ILP32E-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill 873; ILP32E-NEXT: flw fa5, 36(s1) 874; ILP32E-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill 875; ILP32E-NEXT: flw fa5, 40(s1) 876; ILP32E-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill 877; ILP32E-NEXT: flw fa5, 44(s1) 878; ILP32E-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill 879; ILP32E-NEXT: flw fa5, 48(s1) 880; ILP32E-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 881; ILP32E-NEXT: flw fa5, 52(s1) 882; ILP32E-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 883; ILP32E-NEXT: flw fa5, 56(s1) 884; ILP32E-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 885; ILP32E-NEXT: flw fa5, 60(s1) 886; ILP32E-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 887; ILP32E-NEXT: flw fa5, 64(s1) 888; ILP32E-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 889; ILP32E-NEXT: flw fa5, 68(s1) 890; ILP32E-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 891; ILP32E-NEXT: flw fa5, 72(s1) 892; ILP32E-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 893; ILP32E-NEXT: flw fa5, 76(s1) 894; ILP32E-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 895; ILP32E-NEXT: flw fa5, 80(s1) 896; ILP32E-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 897; ILP32E-NEXT: flw fa5, 84(s1) 898; ILP32E-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 899; ILP32E-NEXT: flw fa5, 88(s1) 900; ILP32E-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 901; ILP32E-NEXT: flw fa5, 92(s1) 902; ILP32E-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 903; ILP32E-NEXT: flw fa5, 96(s1) 904; ILP32E-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 905; ILP32E-NEXT: flw fa5, 100(s1) 906; ILP32E-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 907; ILP32E-NEXT: flw fa5, 104(s1) 908; ILP32E-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 909; ILP32E-NEXT: flw fa5, 108(s1) 910; ILP32E-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 911; ILP32E-NEXT: flw fa5, 112(s1) 912; ILP32E-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 913; ILP32E-NEXT: flw fa5, 116(s1) 914; ILP32E-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 915; ILP32E-NEXT: flw fa5, 120(s1) 916; ILP32E-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill 917; ILP32E-NEXT: flw fa5, 124(s1) 918; ILP32E-NEXT: fsw fa5, 0(sp) # 4-byte Folded Spill 919; ILP32E-NEXT: call callee 920; ILP32E-NEXT: flw fa5, 0(sp) # 4-byte Folded Reload 921; ILP32E-NEXT: fsw fa5, 124(s1) 922; ILP32E-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload 923; ILP32E-NEXT: fsw fa5, 120(s1) 924; ILP32E-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 925; ILP32E-NEXT: fsw fa5, 116(s1) 926; ILP32E-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 927; ILP32E-NEXT: fsw fa5, 112(s1) 928; ILP32E-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 929; ILP32E-NEXT: fsw fa5, 108(s1) 930; ILP32E-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 931; ILP32E-NEXT: fsw fa5, 104(s1) 932; ILP32E-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 933; ILP32E-NEXT: fsw fa5, 100(s1) 934; ILP32E-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 935; ILP32E-NEXT: fsw fa5, 96(s1) 936; ILP32E-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 937; ILP32E-NEXT: fsw fa5, 92(s1) 938; ILP32E-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 939; ILP32E-NEXT: fsw fa5, 88(s1) 940; ILP32E-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 941; ILP32E-NEXT: fsw fa5, 84(s1) 942; ILP32E-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 943; ILP32E-NEXT: fsw fa5, 80(s1) 944; ILP32E-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 945; ILP32E-NEXT: fsw fa5, 76(s1) 946; ILP32E-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 947; ILP32E-NEXT: fsw fa5, 72(s1) 948; ILP32E-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 949; ILP32E-NEXT: fsw fa5, 68(s1) 950; ILP32E-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 951; ILP32E-NEXT: fsw fa5, 64(s1) 952; ILP32E-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 953; ILP32E-NEXT: fsw fa5, 60(s1) 954; ILP32E-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 955; ILP32E-NEXT: fsw fa5, 56(s1) 956; ILP32E-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 957; ILP32E-NEXT: fsw fa5, 52(s1) 958; ILP32E-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 959; ILP32E-NEXT: fsw fa5, 48(s1) 960; ILP32E-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload 961; ILP32E-NEXT: fsw fa5, 44(s1) 962; ILP32E-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload 963; ILP32E-NEXT: fsw fa5, 40(s1) 964; ILP32E-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload 965; ILP32E-NEXT: fsw fa5, 36(s1) 966; ILP32E-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload 967; ILP32E-NEXT: fsw fa5, 32(s1) 968; ILP32E-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload 969; ILP32E-NEXT: fsw fa5, 28(s1) 970; ILP32E-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload 971; ILP32E-NEXT: fsw fa5, 24(s1) 972; ILP32E-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload 973; ILP32E-NEXT: fsw fa5, 20(s1) 974; ILP32E-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload 975; ILP32E-NEXT: fsw fa5, 16(s1) 976; ILP32E-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload 977; ILP32E-NEXT: fsw fa5, %lo(var+12)(s0) 978; ILP32E-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload 979; ILP32E-NEXT: fsw fa5, %lo(var+8)(s0) 980; ILP32E-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload 981; ILP32E-NEXT: fsw fa5, %lo(var+4)(s0) 982; ILP32E-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload 983; ILP32E-NEXT: fsw fa5, %lo(var)(s0) 984; ILP32E-NEXT: lw ra, 136(sp) # 4-byte Folded Reload 985; ILP32E-NEXT: lw s0, 132(sp) # 4-byte Folded Reload 986; ILP32E-NEXT: lw s1, 128(sp) # 4-byte Folded Reload 987; ILP32E-NEXT: addi sp, sp, 140 988; ILP32E-NEXT: ret 989; 990; LP64-LABEL: caller: 991; LP64: # %bb.0: 992; LP64-NEXT: addi sp, sp, -160 993; LP64-NEXT: sd ra, 152(sp) # 8-byte Folded Spill 994; LP64-NEXT: sd s0, 144(sp) # 8-byte Folded Spill 995; LP64-NEXT: sd s1, 136(sp) # 8-byte Folded Spill 996; LP64-NEXT: lui s0, %hi(var) 997; LP64-NEXT: flw fa5, %lo(var)(s0) 998; LP64-NEXT: fsw fa5, 132(sp) # 4-byte Folded Spill 999; LP64-NEXT: flw fa5, %lo(var+4)(s0) 1000; LP64-NEXT: fsw fa5, 128(sp) # 4-byte Folded Spill 1001; LP64-NEXT: flw fa5, %lo(var+8)(s0) 1002; LP64-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill 1003; LP64-NEXT: flw fa5, %lo(var+12)(s0) 1004; LP64-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill 1005; LP64-NEXT: addi s1, s0, %lo(var) 1006; LP64-NEXT: flw fa5, 16(s1) 1007; LP64-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill 1008; LP64-NEXT: flw fa5, 20(s1) 1009; LP64-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill 1010; LP64-NEXT: flw fa5, 24(s1) 1011; LP64-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill 1012; LP64-NEXT: flw fa5, 28(s1) 1013; LP64-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill 1014; LP64-NEXT: flw fa5, 32(s1) 1015; LP64-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill 1016; LP64-NEXT: flw fa5, 36(s1) 1017; LP64-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill 1018; LP64-NEXT: flw fa5, 40(s1) 1019; LP64-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill 1020; LP64-NEXT: flw fa5, 44(s1) 1021; LP64-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill 1022; LP64-NEXT: flw fa5, 48(s1) 1023; LP64-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill 1024; LP64-NEXT: flw fa5, 52(s1) 1025; LP64-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill 1026; LP64-NEXT: flw fa5, 56(s1) 1027; LP64-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 1028; LP64-NEXT: flw fa5, 60(s1) 1029; LP64-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 1030; LP64-NEXT: flw fa5, 64(s1) 1031; LP64-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 1032; LP64-NEXT: flw fa5, 68(s1) 1033; LP64-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 1034; LP64-NEXT: flw fa5, 72(s1) 1035; LP64-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 1036; LP64-NEXT: flw fa5, 76(s1) 1037; LP64-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 1038; LP64-NEXT: flw fa5, 80(s1) 1039; LP64-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 1040; LP64-NEXT: flw fa5, 84(s1) 1041; LP64-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 1042; LP64-NEXT: flw fa5, 88(s1) 1043; LP64-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 1044; LP64-NEXT: flw fa5, 92(s1) 1045; LP64-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 1046; LP64-NEXT: flw fa5, 96(s1) 1047; LP64-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 1048; LP64-NEXT: flw fa5, 100(s1) 1049; LP64-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 1050; LP64-NEXT: flw fa5, 104(s1) 1051; LP64-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 1052; LP64-NEXT: flw fa5, 108(s1) 1053; LP64-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 1054; LP64-NEXT: flw fa5, 112(s1) 1055; LP64-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 1056; LP64-NEXT: flw fa5, 116(s1) 1057; LP64-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 1058; LP64-NEXT: flw fa5, 120(s1) 1059; LP64-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 1060; LP64-NEXT: flw fa5, 124(s1) 1061; LP64-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 1062; LP64-NEXT: call callee 1063; LP64-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 1064; LP64-NEXT: fsw fa5, 124(s1) 1065; LP64-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 1066; LP64-NEXT: fsw fa5, 120(s1) 1067; LP64-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 1068; LP64-NEXT: fsw fa5, 116(s1) 1069; LP64-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 1070; LP64-NEXT: fsw fa5, 112(s1) 1071; LP64-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 1072; LP64-NEXT: fsw fa5, 108(s1) 1073; LP64-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 1074; LP64-NEXT: fsw fa5, 104(s1) 1075; LP64-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 1076; LP64-NEXT: fsw fa5, 100(s1) 1077; LP64-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 1078; LP64-NEXT: fsw fa5, 96(s1) 1079; LP64-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 1080; LP64-NEXT: fsw fa5, 92(s1) 1081; LP64-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 1082; LP64-NEXT: fsw fa5, 88(s1) 1083; LP64-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 1084; LP64-NEXT: fsw fa5, 84(s1) 1085; LP64-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 1086; LP64-NEXT: fsw fa5, 80(s1) 1087; LP64-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 1088; LP64-NEXT: fsw fa5, 76(s1) 1089; LP64-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 1090; LP64-NEXT: fsw fa5, 72(s1) 1091; LP64-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1092; LP64-NEXT: fsw fa5, 68(s1) 1093; LP64-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 1094; LP64-NEXT: fsw fa5, 64(s1) 1095; LP64-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 1096; LP64-NEXT: fsw fa5, 60(s1) 1097; LP64-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 1098; LP64-NEXT: fsw fa5, 56(s1) 1099; LP64-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload 1100; LP64-NEXT: fsw fa5, 52(s1) 1101; LP64-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload 1102; LP64-NEXT: fsw fa5, 48(s1) 1103; LP64-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload 1104; LP64-NEXT: fsw fa5, 44(s1) 1105; LP64-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload 1106; LP64-NEXT: fsw fa5, 40(s1) 1107; LP64-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload 1108; LP64-NEXT: fsw fa5, 36(s1) 1109; LP64-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload 1110; LP64-NEXT: fsw fa5, 32(s1) 1111; LP64-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload 1112; LP64-NEXT: fsw fa5, 28(s1) 1113; LP64-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload 1114; LP64-NEXT: fsw fa5, 24(s1) 1115; LP64-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload 1116; LP64-NEXT: fsw fa5, 20(s1) 1117; LP64-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload 1118; LP64-NEXT: fsw fa5, 16(s1) 1119; LP64-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload 1120; LP64-NEXT: fsw fa5, %lo(var+12)(s0) 1121; LP64-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload 1122; LP64-NEXT: fsw fa5, %lo(var+8)(s0) 1123; LP64-NEXT: flw fa5, 128(sp) # 4-byte Folded Reload 1124; LP64-NEXT: fsw fa5, %lo(var+4)(s0) 1125; LP64-NEXT: flw fa5, 132(sp) # 4-byte Folded Reload 1126; LP64-NEXT: fsw fa5, %lo(var)(s0) 1127; LP64-NEXT: ld ra, 152(sp) # 8-byte Folded Reload 1128; LP64-NEXT: ld s0, 144(sp) # 8-byte Folded Reload 1129; LP64-NEXT: ld s1, 136(sp) # 8-byte Folded Reload 1130; LP64-NEXT: addi sp, sp, 160 1131; LP64-NEXT: ret 1132; 1133; LP64E-LABEL: caller: 1134; LP64E: # %bb.0: 1135; LP64E-NEXT: addi sp, sp, -152 1136; LP64E-NEXT: sd ra, 144(sp) # 8-byte Folded Spill 1137; LP64E-NEXT: sd s0, 136(sp) # 8-byte Folded Spill 1138; LP64E-NEXT: sd s1, 128(sp) # 8-byte Folded Spill 1139; LP64E-NEXT: lui s0, %hi(var) 1140; LP64E-NEXT: flw fa5, %lo(var)(s0) 1141; LP64E-NEXT: fsw fa5, 124(sp) # 4-byte Folded Spill 1142; LP64E-NEXT: flw fa5, %lo(var+4)(s0) 1143; LP64E-NEXT: fsw fa5, 120(sp) # 4-byte Folded Spill 1144; LP64E-NEXT: flw fa5, %lo(var+8)(s0) 1145; LP64E-NEXT: fsw fa5, 116(sp) # 4-byte Folded Spill 1146; LP64E-NEXT: flw fa5, %lo(var+12)(s0) 1147; LP64E-NEXT: fsw fa5, 112(sp) # 4-byte Folded Spill 1148; LP64E-NEXT: addi s1, s0, %lo(var) 1149; LP64E-NEXT: flw fa5, 16(s1) 1150; LP64E-NEXT: fsw fa5, 108(sp) # 4-byte Folded Spill 1151; LP64E-NEXT: flw fa5, 20(s1) 1152; LP64E-NEXT: fsw fa5, 104(sp) # 4-byte Folded Spill 1153; LP64E-NEXT: flw fa5, 24(s1) 1154; LP64E-NEXT: fsw fa5, 100(sp) # 4-byte Folded Spill 1155; LP64E-NEXT: flw fa5, 28(s1) 1156; LP64E-NEXT: fsw fa5, 96(sp) # 4-byte Folded Spill 1157; LP64E-NEXT: flw fa5, 32(s1) 1158; LP64E-NEXT: fsw fa5, 92(sp) # 4-byte Folded Spill 1159; LP64E-NEXT: flw fa5, 36(s1) 1160; LP64E-NEXT: fsw fa5, 88(sp) # 4-byte Folded Spill 1161; LP64E-NEXT: flw fa5, 40(s1) 1162; LP64E-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill 1163; LP64E-NEXT: flw fa5, 44(s1) 1164; LP64E-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill 1165; LP64E-NEXT: flw fa5, 48(s1) 1166; LP64E-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 1167; LP64E-NEXT: flw fa5, 52(s1) 1168; LP64E-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 1169; LP64E-NEXT: flw fa5, 56(s1) 1170; LP64E-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 1171; LP64E-NEXT: flw fa5, 60(s1) 1172; LP64E-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 1173; LP64E-NEXT: flw fa5, 64(s1) 1174; LP64E-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 1175; LP64E-NEXT: flw fa5, 68(s1) 1176; LP64E-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 1177; LP64E-NEXT: flw fa5, 72(s1) 1178; LP64E-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 1179; LP64E-NEXT: flw fa5, 76(s1) 1180; LP64E-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 1181; LP64E-NEXT: flw fa5, 80(s1) 1182; LP64E-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 1183; LP64E-NEXT: flw fa5, 84(s1) 1184; LP64E-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 1185; LP64E-NEXT: flw fa5, 88(s1) 1186; LP64E-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 1187; LP64E-NEXT: flw fa5, 92(s1) 1188; LP64E-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 1189; LP64E-NEXT: flw fa5, 96(s1) 1190; LP64E-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 1191; LP64E-NEXT: flw fa5, 100(s1) 1192; LP64E-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 1193; LP64E-NEXT: flw fa5, 104(s1) 1194; LP64E-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 1195; LP64E-NEXT: flw fa5, 108(s1) 1196; LP64E-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 1197; LP64E-NEXT: flw fa5, 112(s1) 1198; LP64E-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 1199; LP64E-NEXT: flw fa5, 116(s1) 1200; LP64E-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 1201; LP64E-NEXT: flw fa5, 120(s1) 1202; LP64E-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill 1203; LP64E-NEXT: flw fa5, 124(s1) 1204; LP64E-NEXT: fsw fa5, 0(sp) # 4-byte Folded Spill 1205; LP64E-NEXT: call callee 1206; LP64E-NEXT: flw fa5, 0(sp) # 4-byte Folded Reload 1207; LP64E-NEXT: fsw fa5, 124(s1) 1208; LP64E-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload 1209; LP64E-NEXT: fsw fa5, 120(s1) 1210; LP64E-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 1211; LP64E-NEXT: fsw fa5, 116(s1) 1212; LP64E-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 1213; LP64E-NEXT: fsw fa5, 112(s1) 1214; LP64E-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 1215; LP64E-NEXT: fsw fa5, 108(s1) 1216; LP64E-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 1217; LP64E-NEXT: fsw fa5, 104(s1) 1218; LP64E-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 1219; LP64E-NEXT: fsw fa5, 100(s1) 1220; LP64E-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 1221; LP64E-NEXT: fsw fa5, 96(s1) 1222; LP64E-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 1223; LP64E-NEXT: fsw fa5, 92(s1) 1224; LP64E-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 1225; LP64E-NEXT: fsw fa5, 88(s1) 1226; LP64E-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 1227; LP64E-NEXT: fsw fa5, 84(s1) 1228; LP64E-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 1229; LP64E-NEXT: fsw fa5, 80(s1) 1230; LP64E-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 1231; LP64E-NEXT: fsw fa5, 76(s1) 1232; LP64E-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 1233; LP64E-NEXT: fsw fa5, 72(s1) 1234; LP64E-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 1235; LP64E-NEXT: fsw fa5, 68(s1) 1236; LP64E-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 1237; LP64E-NEXT: fsw fa5, 64(s1) 1238; LP64E-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1239; LP64E-NEXT: fsw fa5, 60(s1) 1240; LP64E-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 1241; LP64E-NEXT: fsw fa5, 56(s1) 1242; LP64E-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 1243; LP64E-NEXT: fsw fa5, 52(s1) 1244; LP64E-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 1245; LP64E-NEXT: fsw fa5, 48(s1) 1246; LP64E-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload 1247; LP64E-NEXT: fsw fa5, 44(s1) 1248; LP64E-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload 1249; LP64E-NEXT: fsw fa5, 40(s1) 1250; LP64E-NEXT: flw fa5, 88(sp) # 4-byte Folded Reload 1251; LP64E-NEXT: fsw fa5, 36(s1) 1252; LP64E-NEXT: flw fa5, 92(sp) # 4-byte Folded Reload 1253; LP64E-NEXT: fsw fa5, 32(s1) 1254; LP64E-NEXT: flw fa5, 96(sp) # 4-byte Folded Reload 1255; LP64E-NEXT: fsw fa5, 28(s1) 1256; LP64E-NEXT: flw fa5, 100(sp) # 4-byte Folded Reload 1257; LP64E-NEXT: fsw fa5, 24(s1) 1258; LP64E-NEXT: flw fa5, 104(sp) # 4-byte Folded Reload 1259; LP64E-NEXT: fsw fa5, 20(s1) 1260; LP64E-NEXT: flw fa5, 108(sp) # 4-byte Folded Reload 1261; LP64E-NEXT: fsw fa5, 16(s1) 1262; LP64E-NEXT: flw fa5, 112(sp) # 4-byte Folded Reload 1263; LP64E-NEXT: fsw fa5, %lo(var+12)(s0) 1264; LP64E-NEXT: flw fa5, 116(sp) # 4-byte Folded Reload 1265; LP64E-NEXT: fsw fa5, %lo(var+8)(s0) 1266; LP64E-NEXT: flw fa5, 120(sp) # 4-byte Folded Reload 1267; LP64E-NEXT: fsw fa5, %lo(var+4)(s0) 1268; LP64E-NEXT: flw fa5, 124(sp) # 4-byte Folded Reload 1269; LP64E-NEXT: fsw fa5, %lo(var)(s0) 1270; LP64E-NEXT: ld ra, 144(sp) # 8-byte Folded Reload 1271; LP64E-NEXT: ld s0, 136(sp) # 8-byte Folded Reload 1272; LP64E-NEXT: ld s1, 128(sp) # 8-byte Folded Reload 1273; LP64E-NEXT: addi sp, sp, 152 1274; LP64E-NEXT: ret 1275; 1276; ILP32F-LABEL: caller: 1277; ILP32F: # %bb.0: 1278; ILP32F-NEXT: addi sp, sp, -144 1279; ILP32F-NEXT: sw ra, 140(sp) # 4-byte Folded Spill 1280; ILP32F-NEXT: sw s0, 136(sp) # 4-byte Folded Spill 1281; ILP32F-NEXT: sw s1, 132(sp) # 4-byte Folded Spill 1282; ILP32F-NEXT: fsw fs0, 128(sp) # 4-byte Folded Spill 1283; ILP32F-NEXT: fsw fs1, 124(sp) # 4-byte Folded Spill 1284; ILP32F-NEXT: fsw fs2, 120(sp) # 4-byte Folded Spill 1285; ILP32F-NEXT: fsw fs3, 116(sp) # 4-byte Folded Spill 1286; ILP32F-NEXT: fsw fs4, 112(sp) # 4-byte Folded Spill 1287; ILP32F-NEXT: fsw fs5, 108(sp) # 4-byte Folded Spill 1288; ILP32F-NEXT: fsw fs6, 104(sp) # 4-byte Folded Spill 1289; ILP32F-NEXT: fsw fs7, 100(sp) # 4-byte Folded Spill 1290; ILP32F-NEXT: fsw fs8, 96(sp) # 4-byte Folded Spill 1291; ILP32F-NEXT: fsw fs9, 92(sp) # 4-byte Folded Spill 1292; ILP32F-NEXT: fsw fs10, 88(sp) # 4-byte Folded Spill 1293; ILP32F-NEXT: fsw fs11, 84(sp) # 4-byte Folded Spill 1294; ILP32F-NEXT: lui s0, %hi(var) 1295; ILP32F-NEXT: flw fa5, %lo(var)(s0) 1296; ILP32F-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill 1297; ILP32F-NEXT: flw fa5, %lo(var+4)(s0) 1298; ILP32F-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 1299; ILP32F-NEXT: flw fa5, %lo(var+8)(s0) 1300; ILP32F-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 1301; ILP32F-NEXT: flw fa5, %lo(var+12)(s0) 1302; ILP32F-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 1303; ILP32F-NEXT: addi s1, s0, %lo(var) 1304; ILP32F-NEXT: flw fa5, 16(s1) 1305; ILP32F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 1306; ILP32F-NEXT: flw fa5, 20(s1) 1307; ILP32F-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 1308; ILP32F-NEXT: flw fa5, 24(s1) 1309; ILP32F-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 1310; ILP32F-NEXT: flw fa5, 28(s1) 1311; ILP32F-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 1312; ILP32F-NEXT: flw fa5, 32(s1) 1313; ILP32F-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 1314; ILP32F-NEXT: flw fa5, 36(s1) 1315; ILP32F-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 1316; ILP32F-NEXT: flw fa5, 40(s1) 1317; ILP32F-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 1318; ILP32F-NEXT: flw fa5, 44(s1) 1319; ILP32F-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 1320; ILP32F-NEXT: flw fa5, 48(s1) 1321; ILP32F-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 1322; ILP32F-NEXT: flw fa5, 52(s1) 1323; ILP32F-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 1324; ILP32F-NEXT: flw fa5, 56(s1) 1325; ILP32F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 1326; ILP32F-NEXT: flw fa5, 60(s1) 1327; ILP32F-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 1328; ILP32F-NEXT: flw fa5, 64(s1) 1329; ILP32F-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 1330; ILP32F-NEXT: flw fa5, 68(s1) 1331; ILP32F-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 1332; ILP32F-NEXT: flw fa5, 72(s1) 1333; ILP32F-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 1334; ILP32F-NEXT: flw fa5, 76(s1) 1335; ILP32F-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill 1336; ILP32F-NEXT: flw fs8, 80(s1) 1337; ILP32F-NEXT: flw fs9, 84(s1) 1338; ILP32F-NEXT: flw fs10, 88(s1) 1339; ILP32F-NEXT: flw fs11, 92(s1) 1340; ILP32F-NEXT: flw fs0, 96(s1) 1341; ILP32F-NEXT: flw fs1, 100(s1) 1342; ILP32F-NEXT: flw fs2, 104(s1) 1343; ILP32F-NEXT: flw fs3, 108(s1) 1344; ILP32F-NEXT: flw fs4, 112(s1) 1345; ILP32F-NEXT: flw fs5, 116(s1) 1346; ILP32F-NEXT: flw fs6, 120(s1) 1347; ILP32F-NEXT: flw fs7, 124(s1) 1348; ILP32F-NEXT: call callee 1349; ILP32F-NEXT: fsw fs7, 124(s1) 1350; ILP32F-NEXT: fsw fs6, 120(s1) 1351; ILP32F-NEXT: fsw fs5, 116(s1) 1352; ILP32F-NEXT: fsw fs4, 112(s1) 1353; ILP32F-NEXT: fsw fs3, 108(s1) 1354; ILP32F-NEXT: fsw fs2, 104(s1) 1355; ILP32F-NEXT: fsw fs1, 100(s1) 1356; ILP32F-NEXT: fsw fs0, 96(s1) 1357; ILP32F-NEXT: fsw fs11, 92(s1) 1358; ILP32F-NEXT: fsw fs10, 88(s1) 1359; ILP32F-NEXT: fsw fs9, 84(s1) 1360; ILP32F-NEXT: fsw fs8, 80(s1) 1361; ILP32F-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload 1362; ILP32F-NEXT: fsw fa5, 76(s1) 1363; ILP32F-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 1364; ILP32F-NEXT: fsw fa5, 72(s1) 1365; ILP32F-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 1366; ILP32F-NEXT: fsw fa5, 68(s1) 1367; ILP32F-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 1368; ILP32F-NEXT: fsw fa5, 64(s1) 1369; ILP32F-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 1370; ILP32F-NEXT: fsw fa5, 60(s1) 1371; ILP32F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 1372; ILP32F-NEXT: fsw fa5, 56(s1) 1373; ILP32F-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 1374; ILP32F-NEXT: fsw fa5, 52(s1) 1375; ILP32F-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 1376; ILP32F-NEXT: fsw fa5, 48(s1) 1377; ILP32F-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 1378; ILP32F-NEXT: fsw fa5, 44(s1) 1379; ILP32F-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 1380; ILP32F-NEXT: fsw fa5, 40(s1) 1381; ILP32F-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 1382; ILP32F-NEXT: fsw fa5, 36(s1) 1383; ILP32F-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 1384; ILP32F-NEXT: fsw fa5, 32(s1) 1385; ILP32F-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 1386; ILP32F-NEXT: fsw fa5, 28(s1) 1387; ILP32F-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 1388; ILP32F-NEXT: fsw fa5, 24(s1) 1389; ILP32F-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 1390; ILP32F-NEXT: fsw fa5, 20(s1) 1391; ILP32F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1392; ILP32F-NEXT: fsw fa5, 16(s1) 1393; ILP32F-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 1394; ILP32F-NEXT: fsw fa5, %lo(var+12)(s0) 1395; ILP32F-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 1396; ILP32F-NEXT: fsw fa5, %lo(var+8)(s0) 1397; ILP32F-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 1398; ILP32F-NEXT: fsw fa5, %lo(var+4)(s0) 1399; ILP32F-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload 1400; ILP32F-NEXT: fsw fa5, %lo(var)(s0) 1401; ILP32F-NEXT: lw ra, 140(sp) # 4-byte Folded Reload 1402; ILP32F-NEXT: lw s0, 136(sp) # 4-byte Folded Reload 1403; ILP32F-NEXT: lw s1, 132(sp) # 4-byte Folded Reload 1404; ILP32F-NEXT: flw fs0, 128(sp) # 4-byte Folded Reload 1405; ILP32F-NEXT: flw fs1, 124(sp) # 4-byte Folded Reload 1406; ILP32F-NEXT: flw fs2, 120(sp) # 4-byte Folded Reload 1407; ILP32F-NEXT: flw fs3, 116(sp) # 4-byte Folded Reload 1408; ILP32F-NEXT: flw fs4, 112(sp) # 4-byte Folded Reload 1409; ILP32F-NEXT: flw fs5, 108(sp) # 4-byte Folded Reload 1410; ILP32F-NEXT: flw fs6, 104(sp) # 4-byte Folded Reload 1411; ILP32F-NEXT: flw fs7, 100(sp) # 4-byte Folded Reload 1412; ILP32F-NEXT: flw fs8, 96(sp) # 4-byte Folded Reload 1413; ILP32F-NEXT: flw fs9, 92(sp) # 4-byte Folded Reload 1414; ILP32F-NEXT: flw fs10, 88(sp) # 4-byte Folded Reload 1415; ILP32F-NEXT: flw fs11, 84(sp) # 4-byte Folded Reload 1416; ILP32F-NEXT: addi sp, sp, 144 1417; ILP32F-NEXT: ret 1418; 1419; LP64F-LABEL: caller: 1420; LP64F: # %bb.0: 1421; LP64F-NEXT: addi sp, sp, -160 1422; LP64F-NEXT: sd ra, 152(sp) # 8-byte Folded Spill 1423; LP64F-NEXT: sd s0, 144(sp) # 8-byte Folded Spill 1424; LP64F-NEXT: sd s1, 136(sp) # 8-byte Folded Spill 1425; LP64F-NEXT: fsw fs0, 132(sp) # 4-byte Folded Spill 1426; LP64F-NEXT: fsw fs1, 128(sp) # 4-byte Folded Spill 1427; LP64F-NEXT: fsw fs2, 124(sp) # 4-byte Folded Spill 1428; LP64F-NEXT: fsw fs3, 120(sp) # 4-byte Folded Spill 1429; LP64F-NEXT: fsw fs4, 116(sp) # 4-byte Folded Spill 1430; LP64F-NEXT: fsw fs5, 112(sp) # 4-byte Folded Spill 1431; LP64F-NEXT: fsw fs6, 108(sp) # 4-byte Folded Spill 1432; LP64F-NEXT: fsw fs7, 104(sp) # 4-byte Folded Spill 1433; LP64F-NEXT: fsw fs8, 100(sp) # 4-byte Folded Spill 1434; LP64F-NEXT: fsw fs9, 96(sp) # 4-byte Folded Spill 1435; LP64F-NEXT: fsw fs10, 92(sp) # 4-byte Folded Spill 1436; LP64F-NEXT: fsw fs11, 88(sp) # 4-byte Folded Spill 1437; LP64F-NEXT: lui s0, %hi(var) 1438; LP64F-NEXT: flw fa5, %lo(var)(s0) 1439; LP64F-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill 1440; LP64F-NEXT: flw fa5, %lo(var+4)(s0) 1441; LP64F-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill 1442; LP64F-NEXT: flw fa5, %lo(var+8)(s0) 1443; LP64F-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 1444; LP64F-NEXT: flw fa5, %lo(var+12)(s0) 1445; LP64F-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 1446; LP64F-NEXT: addi s1, s0, %lo(var) 1447; LP64F-NEXT: flw fa5, 16(s1) 1448; LP64F-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 1449; LP64F-NEXT: flw fa5, 20(s1) 1450; LP64F-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 1451; LP64F-NEXT: flw fa5, 24(s1) 1452; LP64F-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 1453; LP64F-NEXT: flw fa5, 28(s1) 1454; LP64F-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 1455; LP64F-NEXT: flw fa5, 32(s1) 1456; LP64F-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 1457; LP64F-NEXT: flw fa5, 36(s1) 1458; LP64F-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 1459; LP64F-NEXT: flw fa5, 40(s1) 1460; LP64F-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 1461; LP64F-NEXT: flw fa5, 44(s1) 1462; LP64F-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 1463; LP64F-NEXT: flw fa5, 48(s1) 1464; LP64F-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 1465; LP64F-NEXT: flw fa5, 52(s1) 1466; LP64F-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 1467; LP64F-NEXT: flw fa5, 56(s1) 1468; LP64F-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 1469; LP64F-NEXT: flw fa5, 60(s1) 1470; LP64F-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 1471; LP64F-NEXT: flw fa5, 64(s1) 1472; LP64F-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 1473; LP64F-NEXT: flw fa5, 68(s1) 1474; LP64F-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 1475; LP64F-NEXT: flw fa5, 72(s1) 1476; LP64F-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 1477; LP64F-NEXT: flw fa5, 76(s1) 1478; LP64F-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 1479; LP64F-NEXT: flw fs8, 80(s1) 1480; LP64F-NEXT: flw fs9, 84(s1) 1481; LP64F-NEXT: flw fs10, 88(s1) 1482; LP64F-NEXT: flw fs11, 92(s1) 1483; LP64F-NEXT: flw fs0, 96(s1) 1484; LP64F-NEXT: flw fs1, 100(s1) 1485; LP64F-NEXT: flw fs2, 104(s1) 1486; LP64F-NEXT: flw fs3, 108(s1) 1487; LP64F-NEXT: flw fs4, 112(s1) 1488; LP64F-NEXT: flw fs5, 116(s1) 1489; LP64F-NEXT: flw fs6, 120(s1) 1490; LP64F-NEXT: flw fs7, 124(s1) 1491; LP64F-NEXT: call callee 1492; LP64F-NEXT: fsw fs7, 124(s1) 1493; LP64F-NEXT: fsw fs6, 120(s1) 1494; LP64F-NEXT: fsw fs5, 116(s1) 1495; LP64F-NEXT: fsw fs4, 112(s1) 1496; LP64F-NEXT: fsw fs3, 108(s1) 1497; LP64F-NEXT: fsw fs2, 104(s1) 1498; LP64F-NEXT: fsw fs1, 100(s1) 1499; LP64F-NEXT: fsw fs0, 96(s1) 1500; LP64F-NEXT: fsw fs11, 92(s1) 1501; LP64F-NEXT: fsw fs10, 88(s1) 1502; LP64F-NEXT: fsw fs9, 84(s1) 1503; LP64F-NEXT: fsw fs8, 80(s1) 1504; LP64F-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 1505; LP64F-NEXT: fsw fa5, 76(s1) 1506; LP64F-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 1507; LP64F-NEXT: fsw fa5, 72(s1) 1508; LP64F-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 1509; LP64F-NEXT: fsw fa5, 68(s1) 1510; LP64F-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 1511; LP64F-NEXT: fsw fa5, 64(s1) 1512; LP64F-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 1513; LP64F-NEXT: fsw fa5, 60(s1) 1514; LP64F-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 1515; LP64F-NEXT: fsw fa5, 56(s1) 1516; LP64F-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 1517; LP64F-NEXT: fsw fa5, 52(s1) 1518; LP64F-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 1519; LP64F-NEXT: fsw fa5, 48(s1) 1520; LP64F-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 1521; LP64F-NEXT: fsw fa5, 44(s1) 1522; LP64F-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 1523; LP64F-NEXT: fsw fa5, 40(s1) 1524; LP64F-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 1525; LP64F-NEXT: fsw fa5, 36(s1) 1526; LP64F-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 1527; LP64F-NEXT: fsw fa5, 32(s1) 1528; LP64F-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 1529; LP64F-NEXT: fsw fa5, 28(s1) 1530; LP64F-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 1531; LP64F-NEXT: fsw fa5, 24(s1) 1532; LP64F-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1533; LP64F-NEXT: fsw fa5, 20(s1) 1534; LP64F-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 1535; LP64F-NEXT: fsw fa5, 16(s1) 1536; LP64F-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 1537; LP64F-NEXT: fsw fa5, %lo(var+12)(s0) 1538; LP64F-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 1539; LP64F-NEXT: fsw fa5, %lo(var+8)(s0) 1540; LP64F-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload 1541; LP64F-NEXT: fsw fa5, %lo(var+4)(s0) 1542; LP64F-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload 1543; LP64F-NEXT: fsw fa5, %lo(var)(s0) 1544; LP64F-NEXT: ld ra, 152(sp) # 8-byte Folded Reload 1545; LP64F-NEXT: ld s0, 144(sp) # 8-byte Folded Reload 1546; LP64F-NEXT: ld s1, 136(sp) # 8-byte Folded Reload 1547; LP64F-NEXT: flw fs0, 132(sp) # 4-byte Folded Reload 1548; LP64F-NEXT: flw fs1, 128(sp) # 4-byte Folded Reload 1549; LP64F-NEXT: flw fs2, 124(sp) # 4-byte Folded Reload 1550; LP64F-NEXT: flw fs3, 120(sp) # 4-byte Folded Reload 1551; LP64F-NEXT: flw fs4, 116(sp) # 4-byte Folded Reload 1552; LP64F-NEXT: flw fs5, 112(sp) # 4-byte Folded Reload 1553; LP64F-NEXT: flw fs6, 108(sp) # 4-byte Folded Reload 1554; LP64F-NEXT: flw fs7, 104(sp) # 4-byte Folded Reload 1555; LP64F-NEXT: flw fs8, 100(sp) # 4-byte Folded Reload 1556; LP64F-NEXT: flw fs9, 96(sp) # 4-byte Folded Reload 1557; LP64F-NEXT: flw fs10, 92(sp) # 4-byte Folded Reload 1558; LP64F-NEXT: flw fs11, 88(sp) # 4-byte Folded Reload 1559; LP64F-NEXT: addi sp, sp, 160 1560; LP64F-NEXT: ret 1561; 1562; ILP32D-LABEL: caller: 1563; ILP32D: # %bb.0: 1564; ILP32D-NEXT: addi sp, sp, -192 1565; ILP32D-NEXT: sw ra, 188(sp) # 4-byte Folded Spill 1566; ILP32D-NEXT: sw s0, 184(sp) # 4-byte Folded Spill 1567; ILP32D-NEXT: sw s1, 180(sp) # 4-byte Folded Spill 1568; ILP32D-NEXT: fsd fs0, 168(sp) # 8-byte Folded Spill 1569; ILP32D-NEXT: fsd fs1, 160(sp) # 8-byte Folded Spill 1570; ILP32D-NEXT: fsd fs2, 152(sp) # 8-byte Folded Spill 1571; ILP32D-NEXT: fsd fs3, 144(sp) # 8-byte Folded Spill 1572; ILP32D-NEXT: fsd fs4, 136(sp) # 8-byte Folded Spill 1573; ILP32D-NEXT: fsd fs5, 128(sp) # 8-byte Folded Spill 1574; ILP32D-NEXT: fsd fs6, 120(sp) # 8-byte Folded Spill 1575; ILP32D-NEXT: fsd fs7, 112(sp) # 8-byte Folded Spill 1576; ILP32D-NEXT: fsd fs8, 104(sp) # 8-byte Folded Spill 1577; ILP32D-NEXT: fsd fs9, 96(sp) # 8-byte Folded Spill 1578; ILP32D-NEXT: fsd fs10, 88(sp) # 8-byte Folded Spill 1579; ILP32D-NEXT: fsd fs11, 80(sp) # 8-byte Folded Spill 1580; ILP32D-NEXT: lui s0, %hi(var) 1581; ILP32D-NEXT: flw fa5, %lo(var)(s0) 1582; ILP32D-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 1583; ILP32D-NEXT: flw fa5, %lo(var+4)(s0) 1584; ILP32D-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 1585; ILP32D-NEXT: flw fa5, %lo(var+8)(s0) 1586; ILP32D-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 1587; ILP32D-NEXT: flw fa5, %lo(var+12)(s0) 1588; ILP32D-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 1589; ILP32D-NEXT: addi s1, s0, %lo(var) 1590; ILP32D-NEXT: flw fa5, 16(s1) 1591; ILP32D-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 1592; ILP32D-NEXT: flw fa5, 20(s1) 1593; ILP32D-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 1594; ILP32D-NEXT: flw fa5, 24(s1) 1595; ILP32D-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 1596; ILP32D-NEXT: flw fa5, 28(s1) 1597; ILP32D-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 1598; ILP32D-NEXT: flw fa5, 32(s1) 1599; ILP32D-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 1600; ILP32D-NEXT: flw fa5, 36(s1) 1601; ILP32D-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 1602; ILP32D-NEXT: flw fa5, 40(s1) 1603; ILP32D-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 1604; ILP32D-NEXT: flw fa5, 44(s1) 1605; ILP32D-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 1606; ILP32D-NEXT: flw fa5, 48(s1) 1607; ILP32D-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 1608; ILP32D-NEXT: flw fa5, 52(s1) 1609; ILP32D-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 1610; ILP32D-NEXT: flw fa5, 56(s1) 1611; ILP32D-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 1612; ILP32D-NEXT: flw fa5, 60(s1) 1613; ILP32D-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 1614; ILP32D-NEXT: flw fa5, 64(s1) 1615; ILP32D-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 1616; ILP32D-NEXT: flw fa5, 68(s1) 1617; ILP32D-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 1618; ILP32D-NEXT: flw fa5, 72(s1) 1619; ILP32D-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill 1620; ILP32D-NEXT: flw fa5, 76(s1) 1621; ILP32D-NEXT: fsw fa5, 0(sp) # 4-byte Folded Spill 1622; ILP32D-NEXT: flw fs8, 80(s1) 1623; ILP32D-NEXT: flw fs9, 84(s1) 1624; ILP32D-NEXT: flw fs10, 88(s1) 1625; ILP32D-NEXT: flw fs11, 92(s1) 1626; ILP32D-NEXT: flw fs0, 96(s1) 1627; ILP32D-NEXT: flw fs1, 100(s1) 1628; ILP32D-NEXT: flw fs2, 104(s1) 1629; ILP32D-NEXT: flw fs3, 108(s1) 1630; ILP32D-NEXT: flw fs4, 112(s1) 1631; ILP32D-NEXT: flw fs5, 116(s1) 1632; ILP32D-NEXT: flw fs6, 120(s1) 1633; ILP32D-NEXT: flw fs7, 124(s1) 1634; ILP32D-NEXT: call callee 1635; ILP32D-NEXT: fsw fs7, 124(s1) 1636; ILP32D-NEXT: fsw fs6, 120(s1) 1637; ILP32D-NEXT: fsw fs5, 116(s1) 1638; ILP32D-NEXT: fsw fs4, 112(s1) 1639; ILP32D-NEXT: fsw fs3, 108(s1) 1640; ILP32D-NEXT: fsw fs2, 104(s1) 1641; ILP32D-NEXT: fsw fs1, 100(s1) 1642; ILP32D-NEXT: fsw fs0, 96(s1) 1643; ILP32D-NEXT: fsw fs11, 92(s1) 1644; ILP32D-NEXT: fsw fs10, 88(s1) 1645; ILP32D-NEXT: fsw fs9, 84(s1) 1646; ILP32D-NEXT: fsw fs8, 80(s1) 1647; ILP32D-NEXT: flw fa5, 0(sp) # 4-byte Folded Reload 1648; ILP32D-NEXT: fsw fa5, 76(s1) 1649; ILP32D-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload 1650; ILP32D-NEXT: fsw fa5, 72(s1) 1651; ILP32D-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 1652; ILP32D-NEXT: fsw fa5, 68(s1) 1653; ILP32D-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 1654; ILP32D-NEXT: fsw fa5, 64(s1) 1655; ILP32D-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 1656; ILP32D-NEXT: fsw fa5, 60(s1) 1657; ILP32D-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 1658; ILP32D-NEXT: fsw fa5, 56(s1) 1659; ILP32D-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 1660; ILP32D-NEXT: fsw fa5, 52(s1) 1661; ILP32D-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 1662; ILP32D-NEXT: fsw fa5, 48(s1) 1663; ILP32D-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 1664; ILP32D-NEXT: fsw fa5, 44(s1) 1665; ILP32D-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 1666; ILP32D-NEXT: fsw fa5, 40(s1) 1667; ILP32D-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 1668; ILP32D-NEXT: fsw fa5, 36(s1) 1669; ILP32D-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 1670; ILP32D-NEXT: fsw fa5, 32(s1) 1671; ILP32D-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 1672; ILP32D-NEXT: fsw fa5, 28(s1) 1673; ILP32D-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 1674; ILP32D-NEXT: fsw fa5, 24(s1) 1675; ILP32D-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 1676; ILP32D-NEXT: fsw fa5, 20(s1) 1677; ILP32D-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 1678; ILP32D-NEXT: fsw fa5, 16(s1) 1679; ILP32D-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1680; ILP32D-NEXT: fsw fa5, %lo(var+12)(s0) 1681; ILP32D-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 1682; ILP32D-NEXT: fsw fa5, %lo(var+8)(s0) 1683; ILP32D-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 1684; ILP32D-NEXT: fsw fa5, %lo(var+4)(s0) 1685; ILP32D-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 1686; ILP32D-NEXT: fsw fa5, %lo(var)(s0) 1687; ILP32D-NEXT: lw ra, 188(sp) # 4-byte Folded Reload 1688; ILP32D-NEXT: lw s0, 184(sp) # 4-byte Folded Reload 1689; ILP32D-NEXT: lw s1, 180(sp) # 4-byte Folded Reload 1690; ILP32D-NEXT: fld fs0, 168(sp) # 8-byte Folded Reload 1691; ILP32D-NEXT: fld fs1, 160(sp) # 8-byte Folded Reload 1692; ILP32D-NEXT: fld fs2, 152(sp) # 8-byte Folded Reload 1693; ILP32D-NEXT: fld fs3, 144(sp) # 8-byte Folded Reload 1694; ILP32D-NEXT: fld fs4, 136(sp) # 8-byte Folded Reload 1695; ILP32D-NEXT: fld fs5, 128(sp) # 8-byte Folded Reload 1696; ILP32D-NEXT: fld fs6, 120(sp) # 8-byte Folded Reload 1697; ILP32D-NEXT: fld fs7, 112(sp) # 8-byte Folded Reload 1698; ILP32D-NEXT: fld fs8, 104(sp) # 8-byte Folded Reload 1699; ILP32D-NEXT: fld fs9, 96(sp) # 8-byte Folded Reload 1700; ILP32D-NEXT: fld fs10, 88(sp) # 8-byte Folded Reload 1701; ILP32D-NEXT: fld fs11, 80(sp) # 8-byte Folded Reload 1702; ILP32D-NEXT: addi sp, sp, 192 1703; ILP32D-NEXT: ret 1704; 1705; LP64D-LABEL: caller: 1706; LP64D: # %bb.0: 1707; LP64D-NEXT: addi sp, sp, -208 1708; LP64D-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 1709; LP64D-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 1710; LP64D-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 1711; LP64D-NEXT: fsd fs0, 176(sp) # 8-byte Folded Spill 1712; LP64D-NEXT: fsd fs1, 168(sp) # 8-byte Folded Spill 1713; LP64D-NEXT: fsd fs2, 160(sp) # 8-byte Folded Spill 1714; LP64D-NEXT: fsd fs3, 152(sp) # 8-byte Folded Spill 1715; LP64D-NEXT: fsd fs4, 144(sp) # 8-byte Folded Spill 1716; LP64D-NEXT: fsd fs5, 136(sp) # 8-byte Folded Spill 1717; LP64D-NEXT: fsd fs6, 128(sp) # 8-byte Folded Spill 1718; LP64D-NEXT: fsd fs7, 120(sp) # 8-byte Folded Spill 1719; LP64D-NEXT: fsd fs8, 112(sp) # 8-byte Folded Spill 1720; LP64D-NEXT: fsd fs9, 104(sp) # 8-byte Folded Spill 1721; LP64D-NEXT: fsd fs10, 96(sp) # 8-byte Folded Spill 1722; LP64D-NEXT: fsd fs11, 88(sp) # 8-byte Folded Spill 1723; LP64D-NEXT: lui s0, %hi(var) 1724; LP64D-NEXT: flw fa5, %lo(var)(s0) 1725; LP64D-NEXT: fsw fa5, 84(sp) # 4-byte Folded Spill 1726; LP64D-NEXT: flw fa5, %lo(var+4)(s0) 1727; LP64D-NEXT: fsw fa5, 80(sp) # 4-byte Folded Spill 1728; LP64D-NEXT: flw fa5, %lo(var+8)(s0) 1729; LP64D-NEXT: fsw fa5, 76(sp) # 4-byte Folded Spill 1730; LP64D-NEXT: flw fa5, %lo(var+12)(s0) 1731; LP64D-NEXT: fsw fa5, 72(sp) # 4-byte Folded Spill 1732; LP64D-NEXT: addi s1, s0, %lo(var) 1733; LP64D-NEXT: flw fa5, 16(s1) 1734; LP64D-NEXT: fsw fa5, 68(sp) # 4-byte Folded Spill 1735; LP64D-NEXT: flw fa5, 20(s1) 1736; LP64D-NEXT: fsw fa5, 64(sp) # 4-byte Folded Spill 1737; LP64D-NEXT: flw fa5, 24(s1) 1738; LP64D-NEXT: fsw fa5, 60(sp) # 4-byte Folded Spill 1739; LP64D-NEXT: flw fa5, 28(s1) 1740; LP64D-NEXT: fsw fa5, 56(sp) # 4-byte Folded Spill 1741; LP64D-NEXT: flw fa5, 32(s1) 1742; LP64D-NEXT: fsw fa5, 52(sp) # 4-byte Folded Spill 1743; LP64D-NEXT: flw fa5, 36(s1) 1744; LP64D-NEXT: fsw fa5, 48(sp) # 4-byte Folded Spill 1745; LP64D-NEXT: flw fa5, 40(s1) 1746; LP64D-NEXT: fsw fa5, 44(sp) # 4-byte Folded Spill 1747; LP64D-NEXT: flw fa5, 44(s1) 1748; LP64D-NEXT: fsw fa5, 40(sp) # 4-byte Folded Spill 1749; LP64D-NEXT: flw fa5, 48(s1) 1750; LP64D-NEXT: fsw fa5, 36(sp) # 4-byte Folded Spill 1751; LP64D-NEXT: flw fa5, 52(s1) 1752; LP64D-NEXT: fsw fa5, 32(sp) # 4-byte Folded Spill 1753; LP64D-NEXT: flw fa5, 56(s1) 1754; LP64D-NEXT: fsw fa5, 28(sp) # 4-byte Folded Spill 1755; LP64D-NEXT: flw fa5, 60(s1) 1756; LP64D-NEXT: fsw fa5, 24(sp) # 4-byte Folded Spill 1757; LP64D-NEXT: flw fa5, 64(s1) 1758; LP64D-NEXT: fsw fa5, 20(sp) # 4-byte Folded Spill 1759; LP64D-NEXT: flw fa5, 68(s1) 1760; LP64D-NEXT: fsw fa5, 16(sp) # 4-byte Folded Spill 1761; LP64D-NEXT: flw fa5, 72(s1) 1762; LP64D-NEXT: fsw fa5, 12(sp) # 4-byte Folded Spill 1763; LP64D-NEXT: flw fa5, 76(s1) 1764; LP64D-NEXT: fsw fa5, 8(sp) # 4-byte Folded Spill 1765; LP64D-NEXT: flw fs8, 80(s1) 1766; LP64D-NEXT: flw fs9, 84(s1) 1767; LP64D-NEXT: flw fs10, 88(s1) 1768; LP64D-NEXT: flw fs11, 92(s1) 1769; LP64D-NEXT: flw fs0, 96(s1) 1770; LP64D-NEXT: flw fs1, 100(s1) 1771; LP64D-NEXT: flw fs2, 104(s1) 1772; LP64D-NEXT: flw fs3, 108(s1) 1773; LP64D-NEXT: flw fs4, 112(s1) 1774; LP64D-NEXT: flw fs5, 116(s1) 1775; LP64D-NEXT: flw fs6, 120(s1) 1776; LP64D-NEXT: flw fs7, 124(s1) 1777; LP64D-NEXT: call callee 1778; LP64D-NEXT: fsw fs7, 124(s1) 1779; LP64D-NEXT: fsw fs6, 120(s1) 1780; LP64D-NEXT: fsw fs5, 116(s1) 1781; LP64D-NEXT: fsw fs4, 112(s1) 1782; LP64D-NEXT: fsw fs3, 108(s1) 1783; LP64D-NEXT: fsw fs2, 104(s1) 1784; LP64D-NEXT: fsw fs1, 100(s1) 1785; LP64D-NEXT: fsw fs0, 96(s1) 1786; LP64D-NEXT: fsw fs11, 92(s1) 1787; LP64D-NEXT: fsw fs10, 88(s1) 1788; LP64D-NEXT: fsw fs9, 84(s1) 1789; LP64D-NEXT: fsw fs8, 80(s1) 1790; LP64D-NEXT: flw fa5, 8(sp) # 4-byte Folded Reload 1791; LP64D-NEXT: fsw fa5, 76(s1) 1792; LP64D-NEXT: flw fa5, 12(sp) # 4-byte Folded Reload 1793; LP64D-NEXT: fsw fa5, 72(s1) 1794; LP64D-NEXT: flw fa5, 16(sp) # 4-byte Folded Reload 1795; LP64D-NEXT: fsw fa5, 68(s1) 1796; LP64D-NEXT: flw fa5, 20(sp) # 4-byte Folded Reload 1797; LP64D-NEXT: fsw fa5, 64(s1) 1798; LP64D-NEXT: flw fa5, 24(sp) # 4-byte Folded Reload 1799; LP64D-NEXT: fsw fa5, 60(s1) 1800; LP64D-NEXT: flw fa5, 28(sp) # 4-byte Folded Reload 1801; LP64D-NEXT: fsw fa5, 56(s1) 1802; LP64D-NEXT: flw fa5, 32(sp) # 4-byte Folded Reload 1803; LP64D-NEXT: fsw fa5, 52(s1) 1804; LP64D-NEXT: flw fa5, 36(sp) # 4-byte Folded Reload 1805; LP64D-NEXT: fsw fa5, 48(s1) 1806; LP64D-NEXT: flw fa5, 40(sp) # 4-byte Folded Reload 1807; LP64D-NEXT: fsw fa5, 44(s1) 1808; LP64D-NEXT: flw fa5, 44(sp) # 4-byte Folded Reload 1809; LP64D-NEXT: fsw fa5, 40(s1) 1810; LP64D-NEXT: flw fa5, 48(sp) # 4-byte Folded Reload 1811; LP64D-NEXT: fsw fa5, 36(s1) 1812; LP64D-NEXT: flw fa5, 52(sp) # 4-byte Folded Reload 1813; LP64D-NEXT: fsw fa5, 32(s1) 1814; LP64D-NEXT: flw fa5, 56(sp) # 4-byte Folded Reload 1815; LP64D-NEXT: fsw fa5, 28(s1) 1816; LP64D-NEXT: flw fa5, 60(sp) # 4-byte Folded Reload 1817; LP64D-NEXT: fsw fa5, 24(s1) 1818; LP64D-NEXT: flw fa5, 64(sp) # 4-byte Folded Reload 1819; LP64D-NEXT: fsw fa5, 20(s1) 1820; LP64D-NEXT: flw fa5, 68(sp) # 4-byte Folded Reload 1821; LP64D-NEXT: fsw fa5, 16(s1) 1822; LP64D-NEXT: flw fa5, 72(sp) # 4-byte Folded Reload 1823; LP64D-NEXT: fsw fa5, %lo(var+12)(s0) 1824; LP64D-NEXT: flw fa5, 76(sp) # 4-byte Folded Reload 1825; LP64D-NEXT: fsw fa5, %lo(var+8)(s0) 1826; LP64D-NEXT: flw fa5, 80(sp) # 4-byte Folded Reload 1827; LP64D-NEXT: fsw fa5, %lo(var+4)(s0) 1828; LP64D-NEXT: flw fa5, 84(sp) # 4-byte Folded Reload 1829; LP64D-NEXT: fsw fa5, %lo(var)(s0) 1830; LP64D-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 1831; LP64D-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 1832; LP64D-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 1833; LP64D-NEXT: fld fs0, 176(sp) # 8-byte Folded Reload 1834; LP64D-NEXT: fld fs1, 168(sp) # 8-byte Folded Reload 1835; LP64D-NEXT: fld fs2, 160(sp) # 8-byte Folded Reload 1836; LP64D-NEXT: fld fs3, 152(sp) # 8-byte Folded Reload 1837; LP64D-NEXT: fld fs4, 144(sp) # 8-byte Folded Reload 1838; LP64D-NEXT: fld fs5, 136(sp) # 8-byte Folded Reload 1839; LP64D-NEXT: fld fs6, 128(sp) # 8-byte Folded Reload 1840; LP64D-NEXT: fld fs7, 120(sp) # 8-byte Folded Reload 1841; LP64D-NEXT: fld fs8, 112(sp) # 8-byte Folded Reload 1842; LP64D-NEXT: fld fs9, 104(sp) # 8-byte Folded Reload 1843; LP64D-NEXT: fld fs10, 96(sp) # 8-byte Folded Reload 1844; LP64D-NEXT: fld fs11, 88(sp) # 8-byte Folded Reload 1845; LP64D-NEXT: addi sp, sp, 208 1846; LP64D-NEXT: ret 1847 %val = load [32 x float], ptr @var 1848 call void @callee() 1849 store volatile [32 x float] %val, ptr @var 1850 ret void 1851} 1852