1145 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -mattr=+d -target-abi=ilp32 -verify-machineinstrs < %s \3; RUN: | FileCheck %s -check-prefix=ILP324; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi=lp64 -verify-machineinstrs< %s \5; RUN: | FileCheck %s -check-prefix=LP646; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi=lp64e -verify-machineinstrs< %s \7; RUN: | FileCheck %s -check-prefix=LP64E8; RUN: llc -mtriple=riscv32 -mattr=+d -target-abi ilp32d -verify-machineinstrs < %s \9; RUN: | FileCheck %s -check-prefix=ILP32D10; RUN: llc -mtriple=riscv64 -mattr=+d -target-abi lp64d -verify-machineinstrs < %s \11; RUN: | FileCheck %s -check-prefix=LP64D12 13@var = global [32 x double] zeroinitializer14 15; All floating point registers are temporaries for the ilp32, lp64e and lp64 ABIs.16; fs0-fs11 are callee-saved for the ilp32f, ilp32d, lp64f, and lp64d ABIs.17 18; This function tests that RISCVRegisterInfo::getCalleeSavedRegs returns19; something appropriate.20 21define void @callee() nounwind {22; ILP32-LABEL: callee:23; ILP32: # %bb.0:24; ILP32-NEXT: lui a0, %hi(var)25; ILP32-NEXT: addi a0, a0, %lo(var)26; ILP32-NEXT: fld fa5, 0(a0)27; ILP32-NEXT: fld fa4, 8(a0)28; ILP32-NEXT: fld fa3, 16(a0)29; ILP32-NEXT: fld fa2, 24(a0)30; ILP32-NEXT: fld fa1, 32(a0)31; ILP32-NEXT: fld fa0, 40(a0)32; ILP32-NEXT: fld ft0, 48(a0)33; ILP32-NEXT: fld ft1, 56(a0)34; ILP32-NEXT: fld ft2, 64(a0)35; ILP32-NEXT: fld ft3, 72(a0)36; ILP32-NEXT: fld ft4, 80(a0)37; ILP32-NEXT: fld ft5, 88(a0)38; ILP32-NEXT: fld ft6, 96(a0)39; ILP32-NEXT: fld ft7, 104(a0)40; ILP32-NEXT: fld fa6, 112(a0)41; ILP32-NEXT: fld fa7, 120(a0)42; ILP32-NEXT: fld ft8, 128(a0)43; ILP32-NEXT: fld ft9, 136(a0)44; ILP32-NEXT: fld ft10, 144(a0)45; ILP32-NEXT: fld ft11, 152(a0)46; ILP32-NEXT: fld fs0, 160(a0)47; ILP32-NEXT: fld fs1, 168(a0)48; ILP32-NEXT: fld fs2, 176(a0)49; ILP32-NEXT: fld fs3, 184(a0)50; ILP32-NEXT: fld fs4, 224(a0)51; ILP32-NEXT: fld fs5, 232(a0)52; ILP32-NEXT: fld fs6, 240(a0)53; ILP32-NEXT: fld fs7, 248(a0)54; ILP32-NEXT: fld fs8, 192(a0)55; ILP32-NEXT: fld fs9, 200(a0)56; ILP32-NEXT: fld fs10, 208(a0)57; ILP32-NEXT: fld fs11, 216(a0)58; ILP32-NEXT: fsd fs7, 248(a0)59; ILP32-NEXT: fsd fs6, 240(a0)60; ILP32-NEXT: fsd fs5, 232(a0)61; ILP32-NEXT: fsd fs4, 224(a0)62; ILP32-NEXT: fsd fs11, 216(a0)63; ILP32-NEXT: fsd fs10, 208(a0)64; ILP32-NEXT: fsd fs9, 200(a0)65; ILP32-NEXT: fsd fs8, 192(a0)66; ILP32-NEXT: fsd fs3, 184(a0)67; ILP32-NEXT: fsd fs2, 176(a0)68; ILP32-NEXT: fsd fs1, 168(a0)69; ILP32-NEXT: fsd fs0, 160(a0)70; ILP32-NEXT: fsd ft11, 152(a0)71; ILP32-NEXT: fsd ft10, 144(a0)72; ILP32-NEXT: fsd ft9, 136(a0)73; ILP32-NEXT: fsd ft8, 128(a0)74; ILP32-NEXT: fsd fa7, 120(a0)75; ILP32-NEXT: fsd fa6, 112(a0)76; ILP32-NEXT: fsd ft7, 104(a0)77; ILP32-NEXT: fsd ft6, 96(a0)78; ILP32-NEXT: fsd ft5, 88(a0)79; ILP32-NEXT: fsd ft4, 80(a0)80; ILP32-NEXT: fsd ft3, 72(a0)81; ILP32-NEXT: fsd ft2, 64(a0)82; ILP32-NEXT: fsd ft1, 56(a0)83; ILP32-NEXT: fsd ft0, 48(a0)84; ILP32-NEXT: fsd fa0, 40(a0)85; ILP32-NEXT: fsd fa1, 32(a0)86; ILP32-NEXT: fsd fa2, 24(a0)87; ILP32-NEXT: fsd fa3, 16(a0)88; ILP32-NEXT: fsd fa4, 8(a0)89; ILP32-NEXT: fsd fa5, 0(a0)90; ILP32-NEXT: ret91;92; LP64-LABEL: callee:93; LP64: # %bb.0:94; LP64-NEXT: lui a0, %hi(var)95; LP64-NEXT: addi a0, a0, %lo(var)96; LP64-NEXT: fld fa5, 0(a0)97; LP64-NEXT: fld fa4, 8(a0)98; LP64-NEXT: fld fa3, 16(a0)99; LP64-NEXT: fld fa2, 24(a0)100; LP64-NEXT: fld fa1, 32(a0)101; LP64-NEXT: fld fa0, 40(a0)102; LP64-NEXT: fld ft0, 48(a0)103; LP64-NEXT: fld ft1, 56(a0)104; LP64-NEXT: fld ft2, 64(a0)105; LP64-NEXT: fld ft3, 72(a0)106; LP64-NEXT: fld ft4, 80(a0)107; LP64-NEXT: fld ft5, 88(a0)108; LP64-NEXT: fld ft6, 96(a0)109; LP64-NEXT: fld ft7, 104(a0)110; LP64-NEXT: fld fa6, 112(a0)111; LP64-NEXT: fld fa7, 120(a0)112; LP64-NEXT: fld ft8, 128(a0)113; LP64-NEXT: fld ft9, 136(a0)114; LP64-NEXT: fld ft10, 144(a0)115; LP64-NEXT: fld ft11, 152(a0)116; LP64-NEXT: fld fs0, 160(a0)117; LP64-NEXT: fld fs1, 168(a0)118; LP64-NEXT: fld fs2, 176(a0)119; LP64-NEXT: fld fs3, 184(a0)120; LP64-NEXT: fld fs4, 224(a0)121; LP64-NEXT: fld fs5, 232(a0)122; LP64-NEXT: fld fs6, 240(a0)123; LP64-NEXT: fld fs7, 248(a0)124; LP64-NEXT: fld fs8, 192(a0)125; LP64-NEXT: fld fs9, 200(a0)126; LP64-NEXT: fld fs10, 208(a0)127; LP64-NEXT: fld fs11, 216(a0)128; LP64-NEXT: fsd fs7, 248(a0)129; LP64-NEXT: fsd fs6, 240(a0)130; LP64-NEXT: fsd fs5, 232(a0)131; LP64-NEXT: fsd fs4, 224(a0)132; LP64-NEXT: fsd fs11, 216(a0)133; LP64-NEXT: fsd fs10, 208(a0)134; LP64-NEXT: fsd fs9, 200(a0)135; LP64-NEXT: fsd fs8, 192(a0)136; LP64-NEXT: fsd fs3, 184(a0)137; LP64-NEXT: fsd fs2, 176(a0)138; LP64-NEXT: fsd fs1, 168(a0)139; LP64-NEXT: fsd fs0, 160(a0)140; LP64-NEXT: fsd ft11, 152(a0)141; LP64-NEXT: fsd ft10, 144(a0)142; LP64-NEXT: fsd ft9, 136(a0)143; LP64-NEXT: fsd ft8, 128(a0)144; LP64-NEXT: fsd fa7, 120(a0)145; LP64-NEXT: fsd fa6, 112(a0)146; LP64-NEXT: fsd ft7, 104(a0)147; LP64-NEXT: fsd ft6, 96(a0)148; LP64-NEXT: fsd ft5, 88(a0)149; LP64-NEXT: fsd ft4, 80(a0)150; LP64-NEXT: fsd ft3, 72(a0)151; LP64-NEXT: fsd ft2, 64(a0)152; LP64-NEXT: fsd ft1, 56(a0)153; LP64-NEXT: fsd ft0, 48(a0)154; LP64-NEXT: fsd fa0, 40(a0)155; LP64-NEXT: fsd fa1, 32(a0)156; LP64-NEXT: fsd fa2, 24(a0)157; LP64-NEXT: fsd fa3, 16(a0)158; LP64-NEXT: fsd fa4, 8(a0)159; LP64-NEXT: fsd fa5, 0(a0)160; LP64-NEXT: ret161;162; LP64E-LABEL: callee:163; LP64E: # %bb.0:164; LP64E-NEXT: lui a0, %hi(var)165; LP64E-NEXT: addi a0, a0, %lo(var)166; LP64E-NEXT: fld fa5, 0(a0)167; LP64E-NEXT: fld fa4, 8(a0)168; LP64E-NEXT: fld fa3, 16(a0)169; LP64E-NEXT: fld fa2, 24(a0)170; LP64E-NEXT: fld fa1, 32(a0)171; LP64E-NEXT: fld fa0, 40(a0)172; LP64E-NEXT: fld ft0, 48(a0)173; LP64E-NEXT: fld ft1, 56(a0)174; LP64E-NEXT: fld ft2, 64(a0)175; LP64E-NEXT: fld ft3, 72(a0)176; LP64E-NEXT: fld ft4, 80(a0)177; LP64E-NEXT: fld ft5, 88(a0)178; LP64E-NEXT: fld ft6, 96(a0)179; LP64E-NEXT: fld ft7, 104(a0)180; LP64E-NEXT: fld fa6, 112(a0)181; LP64E-NEXT: fld fa7, 120(a0)182; LP64E-NEXT: fld ft8, 128(a0)183; LP64E-NEXT: fld ft9, 136(a0)184; LP64E-NEXT: fld ft10, 144(a0)185; LP64E-NEXT: fld ft11, 152(a0)186; LP64E-NEXT: fld fs0, 160(a0)187; LP64E-NEXT: fld fs1, 168(a0)188; LP64E-NEXT: fld fs2, 176(a0)189; LP64E-NEXT: fld fs3, 184(a0)190; LP64E-NEXT: fld fs4, 224(a0)191; LP64E-NEXT: fld fs5, 232(a0)192; LP64E-NEXT: fld fs6, 240(a0)193; LP64E-NEXT: fld fs7, 248(a0)194; LP64E-NEXT: fld fs8, 192(a0)195; LP64E-NEXT: fld fs9, 200(a0)196; LP64E-NEXT: fld fs10, 208(a0)197; LP64E-NEXT: fld fs11, 216(a0)198; LP64E-NEXT: fsd fs7, 248(a0)199; LP64E-NEXT: fsd fs6, 240(a0)200; LP64E-NEXT: fsd fs5, 232(a0)201; LP64E-NEXT: fsd fs4, 224(a0)202; LP64E-NEXT: fsd fs11, 216(a0)203; LP64E-NEXT: fsd fs10, 208(a0)204; LP64E-NEXT: fsd fs9, 200(a0)205; LP64E-NEXT: fsd fs8, 192(a0)206; LP64E-NEXT: fsd fs3, 184(a0)207; LP64E-NEXT: fsd fs2, 176(a0)208; LP64E-NEXT: fsd fs1, 168(a0)209; LP64E-NEXT: fsd fs0, 160(a0)210; LP64E-NEXT: fsd ft11, 152(a0)211; LP64E-NEXT: fsd ft10, 144(a0)212; LP64E-NEXT: fsd ft9, 136(a0)213; LP64E-NEXT: fsd ft8, 128(a0)214; LP64E-NEXT: fsd fa7, 120(a0)215; LP64E-NEXT: fsd fa6, 112(a0)216; LP64E-NEXT: fsd ft7, 104(a0)217; LP64E-NEXT: fsd ft6, 96(a0)218; LP64E-NEXT: fsd ft5, 88(a0)219; LP64E-NEXT: fsd ft4, 80(a0)220; LP64E-NEXT: fsd ft3, 72(a0)221; LP64E-NEXT: fsd ft2, 64(a0)222; LP64E-NEXT: fsd ft1, 56(a0)223; LP64E-NEXT: fsd ft0, 48(a0)224; LP64E-NEXT: fsd fa0, 40(a0)225; LP64E-NEXT: fsd fa1, 32(a0)226; LP64E-NEXT: fsd fa2, 24(a0)227; LP64E-NEXT: fsd fa3, 16(a0)228; LP64E-NEXT: fsd fa4, 8(a0)229; LP64E-NEXT: fsd fa5, 0(a0)230; LP64E-NEXT: ret231;232; ILP32D-LABEL: callee:233; ILP32D: # %bb.0:234; ILP32D-NEXT: addi sp, sp, -96235; ILP32D-NEXT: fsd fs0, 88(sp) # 8-byte Folded Spill236; ILP32D-NEXT: fsd fs1, 80(sp) # 8-byte Folded Spill237; ILP32D-NEXT: fsd fs2, 72(sp) # 8-byte Folded Spill238; ILP32D-NEXT: fsd fs3, 64(sp) # 8-byte Folded Spill239; ILP32D-NEXT: fsd fs4, 56(sp) # 8-byte Folded Spill240; ILP32D-NEXT: fsd fs5, 48(sp) # 8-byte Folded Spill241; ILP32D-NEXT: fsd fs6, 40(sp) # 8-byte Folded Spill242; ILP32D-NEXT: fsd fs7, 32(sp) # 8-byte Folded Spill243; ILP32D-NEXT: fsd fs8, 24(sp) # 8-byte Folded Spill244; ILP32D-NEXT: fsd fs9, 16(sp) # 8-byte Folded Spill245; ILP32D-NEXT: fsd fs10, 8(sp) # 8-byte Folded Spill246; ILP32D-NEXT: fsd fs11, 0(sp) # 8-byte Folded Spill247; ILP32D-NEXT: lui a0, %hi(var)248; ILP32D-NEXT: addi a0, a0, %lo(var)249; ILP32D-NEXT: fld fa5, 0(a0)250; ILP32D-NEXT: fld fa4, 8(a0)251; ILP32D-NEXT: fld fa3, 16(a0)252; ILP32D-NEXT: fld fa2, 24(a0)253; ILP32D-NEXT: fld fa1, 32(a0)254; ILP32D-NEXT: fld fa0, 40(a0)255; ILP32D-NEXT: fld ft0, 48(a0)256; ILP32D-NEXT: fld ft1, 56(a0)257; ILP32D-NEXT: fld ft2, 64(a0)258; ILP32D-NEXT: fld ft3, 72(a0)259; ILP32D-NEXT: fld ft4, 80(a0)260; ILP32D-NEXT: fld ft5, 88(a0)261; ILP32D-NEXT: fld ft6, 96(a0)262; ILP32D-NEXT: fld ft7, 104(a0)263; ILP32D-NEXT: fld fa6, 112(a0)264; ILP32D-NEXT: fld fa7, 120(a0)265; ILP32D-NEXT: fld ft8, 128(a0)266; ILP32D-NEXT: fld ft9, 136(a0)267; ILP32D-NEXT: fld ft10, 144(a0)268; ILP32D-NEXT: fld ft11, 152(a0)269; ILP32D-NEXT: fld fs0, 160(a0)270; ILP32D-NEXT: fld fs1, 168(a0)271; ILP32D-NEXT: fld fs2, 176(a0)272; ILP32D-NEXT: fld fs3, 184(a0)273; ILP32D-NEXT: fld fs4, 224(a0)274; ILP32D-NEXT: fld fs5, 232(a0)275; ILP32D-NEXT: fld fs6, 240(a0)276; ILP32D-NEXT: fld fs7, 248(a0)277; ILP32D-NEXT: fld fs8, 192(a0)278; ILP32D-NEXT: fld fs9, 200(a0)279; ILP32D-NEXT: fld fs10, 208(a0)280; ILP32D-NEXT: fld fs11, 216(a0)281; ILP32D-NEXT: fsd fs7, 248(a0)282; ILP32D-NEXT: fsd fs6, 240(a0)283; ILP32D-NEXT: fsd fs5, 232(a0)284; ILP32D-NEXT: fsd fs4, 224(a0)285; ILP32D-NEXT: fsd fs11, 216(a0)286; ILP32D-NEXT: fsd fs10, 208(a0)287; ILP32D-NEXT: fsd fs9, 200(a0)288; ILP32D-NEXT: fsd fs8, 192(a0)289; ILP32D-NEXT: fsd fs3, 184(a0)290; ILP32D-NEXT: fsd fs2, 176(a0)291; ILP32D-NEXT: fsd fs1, 168(a0)292; ILP32D-NEXT: fsd fs0, 160(a0)293; ILP32D-NEXT: fsd ft11, 152(a0)294; ILP32D-NEXT: fsd ft10, 144(a0)295; ILP32D-NEXT: fsd ft9, 136(a0)296; ILP32D-NEXT: fsd ft8, 128(a0)297; ILP32D-NEXT: fsd fa7, 120(a0)298; ILP32D-NEXT: fsd fa6, 112(a0)299; ILP32D-NEXT: fsd ft7, 104(a0)300; ILP32D-NEXT: fsd ft6, 96(a0)301; ILP32D-NEXT: fsd ft5, 88(a0)302; ILP32D-NEXT: fsd ft4, 80(a0)303; ILP32D-NEXT: fsd ft3, 72(a0)304; ILP32D-NEXT: fsd ft2, 64(a0)305; ILP32D-NEXT: fsd ft1, 56(a0)306; ILP32D-NEXT: fsd ft0, 48(a0)307; ILP32D-NEXT: fsd fa0, 40(a0)308; ILP32D-NEXT: fsd fa1, 32(a0)309; ILP32D-NEXT: fsd fa2, 24(a0)310; ILP32D-NEXT: fsd fa3, 16(a0)311; ILP32D-NEXT: fsd fa4, 8(a0)312; ILP32D-NEXT: fsd fa5, 0(a0)313; ILP32D-NEXT: fld fs0, 88(sp) # 8-byte Folded Reload314; ILP32D-NEXT: fld fs1, 80(sp) # 8-byte Folded Reload315; ILP32D-NEXT: fld fs2, 72(sp) # 8-byte Folded Reload316; ILP32D-NEXT: fld fs3, 64(sp) # 8-byte Folded Reload317; ILP32D-NEXT: fld fs4, 56(sp) # 8-byte Folded Reload318; ILP32D-NEXT: fld fs5, 48(sp) # 8-byte Folded Reload319; ILP32D-NEXT: fld fs6, 40(sp) # 8-byte Folded Reload320; ILP32D-NEXT: fld fs7, 32(sp) # 8-byte Folded Reload321; ILP32D-NEXT: fld fs8, 24(sp) # 8-byte Folded Reload322; ILP32D-NEXT: fld fs9, 16(sp) # 8-byte Folded Reload323; ILP32D-NEXT: fld fs10, 8(sp) # 8-byte Folded Reload324; ILP32D-NEXT: fld fs11, 0(sp) # 8-byte Folded Reload325; ILP32D-NEXT: addi sp, sp, 96326; ILP32D-NEXT: ret327;328; LP64D-LABEL: callee:329; LP64D: # %bb.0:330; LP64D-NEXT: addi sp, sp, -96331; LP64D-NEXT: fsd fs0, 88(sp) # 8-byte Folded Spill332; LP64D-NEXT: fsd fs1, 80(sp) # 8-byte Folded Spill333; LP64D-NEXT: fsd fs2, 72(sp) # 8-byte Folded Spill334; LP64D-NEXT: fsd fs3, 64(sp) # 8-byte Folded Spill335; LP64D-NEXT: fsd fs4, 56(sp) # 8-byte Folded Spill336; LP64D-NEXT: fsd fs5, 48(sp) # 8-byte Folded Spill337; LP64D-NEXT: fsd fs6, 40(sp) # 8-byte Folded Spill338; LP64D-NEXT: fsd fs7, 32(sp) # 8-byte Folded Spill339; LP64D-NEXT: fsd fs8, 24(sp) # 8-byte Folded Spill340; LP64D-NEXT: fsd fs9, 16(sp) # 8-byte Folded Spill341; LP64D-NEXT: fsd fs10, 8(sp) # 8-byte Folded Spill342; LP64D-NEXT: fsd fs11, 0(sp) # 8-byte Folded Spill343; LP64D-NEXT: lui a0, %hi(var)344; LP64D-NEXT: addi a0, a0, %lo(var)345; LP64D-NEXT: fld fa5, 0(a0)346; LP64D-NEXT: fld fa4, 8(a0)347; LP64D-NEXT: fld fa3, 16(a0)348; LP64D-NEXT: fld fa2, 24(a0)349; LP64D-NEXT: fld fa1, 32(a0)350; LP64D-NEXT: fld fa0, 40(a0)351; LP64D-NEXT: fld ft0, 48(a0)352; LP64D-NEXT: fld ft1, 56(a0)353; LP64D-NEXT: fld ft2, 64(a0)354; LP64D-NEXT: fld ft3, 72(a0)355; LP64D-NEXT: fld ft4, 80(a0)356; LP64D-NEXT: fld ft5, 88(a0)357; LP64D-NEXT: fld ft6, 96(a0)358; LP64D-NEXT: fld ft7, 104(a0)359; LP64D-NEXT: fld fa6, 112(a0)360; LP64D-NEXT: fld fa7, 120(a0)361; LP64D-NEXT: fld ft8, 128(a0)362; LP64D-NEXT: fld ft9, 136(a0)363; LP64D-NEXT: fld ft10, 144(a0)364; LP64D-NEXT: fld ft11, 152(a0)365; LP64D-NEXT: fld fs0, 160(a0)366; LP64D-NEXT: fld fs1, 168(a0)367; LP64D-NEXT: fld fs2, 176(a0)368; LP64D-NEXT: fld fs3, 184(a0)369; LP64D-NEXT: fld fs4, 224(a0)370; LP64D-NEXT: fld fs5, 232(a0)371; LP64D-NEXT: fld fs6, 240(a0)372; LP64D-NEXT: fld fs7, 248(a0)373; LP64D-NEXT: fld fs8, 192(a0)374; LP64D-NEXT: fld fs9, 200(a0)375; LP64D-NEXT: fld fs10, 208(a0)376; LP64D-NEXT: fld fs11, 216(a0)377; LP64D-NEXT: fsd fs7, 248(a0)378; LP64D-NEXT: fsd fs6, 240(a0)379; LP64D-NEXT: fsd fs5, 232(a0)380; LP64D-NEXT: fsd fs4, 224(a0)381; LP64D-NEXT: fsd fs11, 216(a0)382; LP64D-NEXT: fsd fs10, 208(a0)383; LP64D-NEXT: fsd fs9, 200(a0)384; LP64D-NEXT: fsd fs8, 192(a0)385; LP64D-NEXT: fsd fs3, 184(a0)386; LP64D-NEXT: fsd fs2, 176(a0)387; LP64D-NEXT: fsd fs1, 168(a0)388; LP64D-NEXT: fsd fs0, 160(a0)389; LP64D-NEXT: fsd ft11, 152(a0)390; LP64D-NEXT: fsd ft10, 144(a0)391; LP64D-NEXT: fsd ft9, 136(a0)392; LP64D-NEXT: fsd ft8, 128(a0)393; LP64D-NEXT: fsd fa7, 120(a0)394; LP64D-NEXT: fsd fa6, 112(a0)395; LP64D-NEXT: fsd ft7, 104(a0)396; LP64D-NEXT: fsd ft6, 96(a0)397; LP64D-NEXT: fsd ft5, 88(a0)398; LP64D-NEXT: fsd ft4, 80(a0)399; LP64D-NEXT: fsd ft3, 72(a0)400; LP64D-NEXT: fsd ft2, 64(a0)401; LP64D-NEXT: fsd ft1, 56(a0)402; LP64D-NEXT: fsd ft0, 48(a0)403; LP64D-NEXT: fsd fa0, 40(a0)404; LP64D-NEXT: fsd fa1, 32(a0)405; LP64D-NEXT: fsd fa2, 24(a0)406; LP64D-NEXT: fsd fa3, 16(a0)407; LP64D-NEXT: fsd fa4, 8(a0)408; LP64D-NEXT: fsd fa5, 0(a0)409; LP64D-NEXT: fld fs0, 88(sp) # 8-byte Folded Reload410; LP64D-NEXT: fld fs1, 80(sp) # 8-byte Folded Reload411; LP64D-NEXT: fld fs2, 72(sp) # 8-byte Folded Reload412; LP64D-NEXT: fld fs3, 64(sp) # 8-byte Folded Reload413; LP64D-NEXT: fld fs4, 56(sp) # 8-byte Folded Reload414; LP64D-NEXT: fld fs5, 48(sp) # 8-byte Folded Reload415; LP64D-NEXT: fld fs6, 40(sp) # 8-byte Folded Reload416; LP64D-NEXT: fld fs7, 32(sp) # 8-byte Folded Reload417; LP64D-NEXT: fld fs8, 24(sp) # 8-byte Folded Reload418; LP64D-NEXT: fld fs9, 16(sp) # 8-byte Folded Reload419; LP64D-NEXT: fld fs10, 8(sp) # 8-byte Folded Reload420; LP64D-NEXT: fld fs11, 0(sp) # 8-byte Folded Reload421; LP64D-NEXT: addi sp, sp, 96422; LP64D-NEXT: ret423 %val = load [32 x double], ptr @var424 store volatile [32 x double] %val, ptr @var425 ret void426}427 428; This function tests that RISCVRegisterInfo::getCallPreservedMask returns429; something appropriate.430;431; For the soft float ABIs, no floating point registers are preserved, and432; codegen will use only ft0 in the body of caller. For the 'f' and 'd ABIs,433; fs0-fs11 are preserved across calls.434 435define void @caller() nounwind {436; ILP32-LABEL: caller:437; ILP32: # %bb.0:438; ILP32-NEXT: addi sp, sp, -272439; ILP32-NEXT: sw ra, 268(sp) # 4-byte Folded Spill440; ILP32-NEXT: sw s0, 264(sp) # 4-byte Folded Spill441; ILP32-NEXT: lui s0, %hi(var)442; ILP32-NEXT: addi s0, s0, %lo(var)443; ILP32-NEXT: fld fa5, 0(s0)444; ILP32-NEXT: fsd fa5, 256(sp) # 8-byte Folded Spill445; ILP32-NEXT: fld fa5, 8(s0)446; ILP32-NEXT: fsd fa5, 248(sp) # 8-byte Folded Spill447; ILP32-NEXT: fld fa5, 16(s0)448; ILP32-NEXT: fsd fa5, 240(sp) # 8-byte Folded Spill449; ILP32-NEXT: fld fa5, 24(s0)450; ILP32-NEXT: fsd fa5, 232(sp) # 8-byte Folded Spill451; ILP32-NEXT: fld fa5, 32(s0)452; ILP32-NEXT: fsd fa5, 224(sp) # 8-byte Folded Spill453; ILP32-NEXT: fld fa5, 40(s0)454; ILP32-NEXT: fsd fa5, 216(sp) # 8-byte Folded Spill455; ILP32-NEXT: fld fa5, 48(s0)456; ILP32-NEXT: fsd fa5, 208(sp) # 8-byte Folded Spill457; ILP32-NEXT: fld fa5, 56(s0)458; ILP32-NEXT: fsd fa5, 200(sp) # 8-byte Folded Spill459; ILP32-NEXT: fld fa5, 64(s0)460; ILP32-NEXT: fsd fa5, 192(sp) # 8-byte Folded Spill461; ILP32-NEXT: fld fa5, 72(s0)462; ILP32-NEXT: fsd fa5, 184(sp) # 8-byte Folded Spill463; ILP32-NEXT: fld fa5, 80(s0)464; ILP32-NEXT: fsd fa5, 176(sp) # 8-byte Folded Spill465; ILP32-NEXT: fld fa5, 88(s0)466; ILP32-NEXT: fsd fa5, 168(sp) # 8-byte Folded Spill467; ILP32-NEXT: fld fa5, 96(s0)468; ILP32-NEXT: fsd fa5, 160(sp) # 8-byte Folded Spill469; ILP32-NEXT: fld fa5, 104(s0)470; ILP32-NEXT: fsd fa5, 152(sp) # 8-byte Folded Spill471; ILP32-NEXT: fld fa5, 112(s0)472; ILP32-NEXT: fsd fa5, 144(sp) # 8-byte Folded Spill473; ILP32-NEXT: fld fa5, 120(s0)474; ILP32-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill475; ILP32-NEXT: fld fa5, 128(s0)476; ILP32-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill477; ILP32-NEXT: fld fa5, 136(s0)478; ILP32-NEXT: fsd fa5, 120(sp) # 8-byte Folded Spill479; ILP32-NEXT: fld fa5, 144(s0)480; ILP32-NEXT: fsd fa5, 112(sp) # 8-byte Folded Spill481; ILP32-NEXT: fld fa5, 152(s0)482; ILP32-NEXT: fsd fa5, 104(sp) # 8-byte Folded Spill483; ILP32-NEXT: fld fa5, 160(s0)484; ILP32-NEXT: fsd fa5, 96(sp) # 8-byte Folded Spill485; ILP32-NEXT: fld fa5, 168(s0)486; ILP32-NEXT: fsd fa5, 88(sp) # 8-byte Folded Spill487; ILP32-NEXT: fld fa5, 176(s0)488; ILP32-NEXT: fsd fa5, 80(sp) # 8-byte Folded Spill489; ILP32-NEXT: fld fa5, 184(s0)490; ILP32-NEXT: fsd fa5, 72(sp) # 8-byte Folded Spill491; ILP32-NEXT: fld fa5, 192(s0)492; ILP32-NEXT: fsd fa5, 64(sp) # 8-byte Folded Spill493; ILP32-NEXT: fld fa5, 200(s0)494; ILP32-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill495; ILP32-NEXT: fld fa5, 208(s0)496; ILP32-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill497; ILP32-NEXT: fld fa5, 216(s0)498; ILP32-NEXT: fsd fa5, 40(sp) # 8-byte Folded Spill499; ILP32-NEXT: fld fa5, 224(s0)500; ILP32-NEXT: fsd fa5, 32(sp) # 8-byte Folded Spill501; ILP32-NEXT: fld fa5, 232(s0)502; ILP32-NEXT: fsd fa5, 24(sp) # 8-byte Folded Spill503; ILP32-NEXT: fld fa5, 240(s0)504; ILP32-NEXT: fsd fa5, 16(sp) # 8-byte Folded Spill505; ILP32-NEXT: fld fa5, 248(s0)506; ILP32-NEXT: fsd fa5, 8(sp) # 8-byte Folded Spill507; ILP32-NEXT: call callee508; ILP32-NEXT: fld fa5, 8(sp) # 8-byte Folded Reload509; ILP32-NEXT: fsd fa5, 248(s0)510; ILP32-NEXT: fld fa5, 16(sp) # 8-byte Folded Reload511; ILP32-NEXT: fsd fa5, 240(s0)512; ILP32-NEXT: fld fa5, 24(sp) # 8-byte Folded Reload513; ILP32-NEXT: fsd fa5, 232(s0)514; ILP32-NEXT: fld fa5, 32(sp) # 8-byte Folded Reload515; ILP32-NEXT: fsd fa5, 224(s0)516; ILP32-NEXT: fld fa5, 40(sp) # 8-byte Folded Reload517; ILP32-NEXT: fsd fa5, 216(s0)518; ILP32-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload519; ILP32-NEXT: fsd fa5, 208(s0)520; ILP32-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload521; ILP32-NEXT: fsd fa5, 200(s0)522; ILP32-NEXT: fld fa5, 64(sp) # 8-byte Folded Reload523; ILP32-NEXT: fsd fa5, 192(s0)524; ILP32-NEXT: fld fa5, 72(sp) # 8-byte Folded Reload525; ILP32-NEXT: fsd fa5, 184(s0)526; ILP32-NEXT: fld fa5, 80(sp) # 8-byte Folded Reload527; ILP32-NEXT: fsd fa5, 176(s0)528; ILP32-NEXT: fld fa5, 88(sp) # 8-byte Folded Reload529; ILP32-NEXT: fsd fa5, 168(s0)530; ILP32-NEXT: fld fa5, 96(sp) # 8-byte Folded Reload531; ILP32-NEXT: fsd fa5, 160(s0)532; ILP32-NEXT: fld fa5, 104(sp) # 8-byte Folded Reload533; ILP32-NEXT: fsd fa5, 152(s0)534; ILP32-NEXT: fld fa5, 112(sp) # 8-byte Folded Reload535; ILP32-NEXT: fsd fa5, 144(s0)536; ILP32-NEXT: fld fa5, 120(sp) # 8-byte Folded Reload537; ILP32-NEXT: fsd fa5, 136(s0)538; ILP32-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload539; ILP32-NEXT: fsd fa5, 128(s0)540; ILP32-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload541; ILP32-NEXT: fsd fa5, 120(s0)542; ILP32-NEXT: fld fa5, 144(sp) # 8-byte Folded Reload543; ILP32-NEXT: fsd fa5, 112(s0)544; ILP32-NEXT: fld fa5, 152(sp) # 8-byte Folded Reload545; ILP32-NEXT: fsd fa5, 104(s0)546; ILP32-NEXT: fld fa5, 160(sp) # 8-byte Folded Reload547; ILP32-NEXT: fsd fa5, 96(s0)548; ILP32-NEXT: fld fa5, 168(sp) # 8-byte Folded Reload549; ILP32-NEXT: fsd fa5, 88(s0)550; ILP32-NEXT: fld fa5, 176(sp) # 8-byte Folded Reload551; ILP32-NEXT: fsd fa5, 80(s0)552; ILP32-NEXT: fld fa5, 184(sp) # 8-byte Folded Reload553; ILP32-NEXT: fsd fa5, 72(s0)554; ILP32-NEXT: fld fa5, 192(sp) # 8-byte Folded Reload555; ILP32-NEXT: fsd fa5, 64(s0)556; ILP32-NEXT: fld fa5, 200(sp) # 8-byte Folded Reload557; ILP32-NEXT: fsd fa5, 56(s0)558; ILP32-NEXT: fld fa5, 208(sp) # 8-byte Folded Reload559; ILP32-NEXT: fsd fa5, 48(s0)560; ILP32-NEXT: fld fa5, 216(sp) # 8-byte Folded Reload561; ILP32-NEXT: fsd fa5, 40(s0)562; ILP32-NEXT: fld fa5, 224(sp) # 8-byte Folded Reload563; ILP32-NEXT: fsd fa5, 32(s0)564; ILP32-NEXT: fld fa5, 232(sp) # 8-byte Folded Reload565; ILP32-NEXT: fsd fa5, 24(s0)566; ILP32-NEXT: fld fa5, 240(sp) # 8-byte Folded Reload567; ILP32-NEXT: fsd fa5, 16(s0)568; ILP32-NEXT: fld fa5, 248(sp) # 8-byte Folded Reload569; ILP32-NEXT: fsd fa5, 8(s0)570; ILP32-NEXT: fld fa5, 256(sp) # 8-byte Folded Reload571; ILP32-NEXT: fsd fa5, 0(s0)572; ILP32-NEXT: lw ra, 268(sp) # 4-byte Folded Reload573; ILP32-NEXT: lw s0, 264(sp) # 4-byte Folded Reload574; ILP32-NEXT: addi sp, sp, 272575; ILP32-NEXT: ret576;577; LP64-LABEL: caller:578; LP64: # %bb.0:579; LP64-NEXT: addi sp, sp, -272580; LP64-NEXT: sd ra, 264(sp) # 8-byte Folded Spill581; LP64-NEXT: sd s0, 256(sp) # 8-byte Folded Spill582; LP64-NEXT: lui s0, %hi(var)583; LP64-NEXT: addi s0, s0, %lo(var)584; LP64-NEXT: fld fa5, 0(s0)585; LP64-NEXT: fsd fa5, 248(sp) # 8-byte Folded Spill586; LP64-NEXT: fld fa5, 8(s0)587; LP64-NEXT: fsd fa5, 240(sp) # 8-byte Folded Spill588; LP64-NEXT: fld fa5, 16(s0)589; LP64-NEXT: fsd fa5, 232(sp) # 8-byte Folded Spill590; LP64-NEXT: fld fa5, 24(s0)591; LP64-NEXT: fsd fa5, 224(sp) # 8-byte Folded Spill592; LP64-NEXT: fld fa5, 32(s0)593; LP64-NEXT: fsd fa5, 216(sp) # 8-byte Folded Spill594; LP64-NEXT: fld fa5, 40(s0)595; LP64-NEXT: fsd fa5, 208(sp) # 8-byte Folded Spill596; LP64-NEXT: fld fa5, 48(s0)597; LP64-NEXT: fsd fa5, 200(sp) # 8-byte Folded Spill598; LP64-NEXT: fld fa5, 56(s0)599; LP64-NEXT: fsd fa5, 192(sp) # 8-byte Folded Spill600; LP64-NEXT: fld fa5, 64(s0)601; LP64-NEXT: fsd fa5, 184(sp) # 8-byte Folded Spill602; LP64-NEXT: fld fa5, 72(s0)603; LP64-NEXT: fsd fa5, 176(sp) # 8-byte Folded Spill604; LP64-NEXT: fld fa5, 80(s0)605; LP64-NEXT: fsd fa5, 168(sp) # 8-byte Folded Spill606; LP64-NEXT: fld fa5, 88(s0)607; LP64-NEXT: fsd fa5, 160(sp) # 8-byte Folded Spill608; LP64-NEXT: fld fa5, 96(s0)609; LP64-NEXT: fsd fa5, 152(sp) # 8-byte Folded Spill610; LP64-NEXT: fld fa5, 104(s0)611; LP64-NEXT: fsd fa5, 144(sp) # 8-byte Folded Spill612; LP64-NEXT: fld fa5, 112(s0)613; LP64-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill614; LP64-NEXT: fld fa5, 120(s0)615; LP64-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill616; LP64-NEXT: fld fa5, 128(s0)617; LP64-NEXT: fsd fa5, 120(sp) # 8-byte Folded Spill618; LP64-NEXT: fld fa5, 136(s0)619; LP64-NEXT: fsd fa5, 112(sp) # 8-byte Folded Spill620; LP64-NEXT: fld fa5, 144(s0)621; LP64-NEXT: fsd fa5, 104(sp) # 8-byte Folded Spill622; LP64-NEXT: fld fa5, 152(s0)623; LP64-NEXT: fsd fa5, 96(sp) # 8-byte Folded Spill624; LP64-NEXT: fld fa5, 160(s0)625; LP64-NEXT: fsd fa5, 88(sp) # 8-byte Folded Spill626; LP64-NEXT: fld fa5, 168(s0)627; LP64-NEXT: fsd fa5, 80(sp) # 8-byte Folded Spill628; LP64-NEXT: fld fa5, 176(s0)629; LP64-NEXT: fsd fa5, 72(sp) # 8-byte Folded Spill630; LP64-NEXT: fld fa5, 184(s0)631; LP64-NEXT: fsd fa5, 64(sp) # 8-byte Folded Spill632; LP64-NEXT: fld fa5, 192(s0)633; LP64-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill634; LP64-NEXT: fld fa5, 200(s0)635; LP64-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill636; LP64-NEXT: fld fa5, 208(s0)637; LP64-NEXT: fsd fa5, 40(sp) # 8-byte Folded Spill638; LP64-NEXT: fld fa5, 216(s0)639; LP64-NEXT: fsd fa5, 32(sp) # 8-byte Folded Spill640; LP64-NEXT: fld fa5, 224(s0)641; LP64-NEXT: fsd fa5, 24(sp) # 8-byte Folded Spill642; LP64-NEXT: fld fa5, 232(s0)643; LP64-NEXT: fsd fa5, 16(sp) # 8-byte Folded Spill644; LP64-NEXT: fld fa5, 240(s0)645; LP64-NEXT: fsd fa5, 8(sp) # 8-byte Folded Spill646; LP64-NEXT: fld fa5, 248(s0)647; LP64-NEXT: fsd fa5, 0(sp) # 8-byte Folded Spill648; LP64-NEXT: call callee649; LP64-NEXT: fld fa5, 0(sp) # 8-byte Folded Reload650; LP64-NEXT: fsd fa5, 248(s0)651; LP64-NEXT: fld fa5, 8(sp) # 8-byte Folded Reload652; LP64-NEXT: fsd fa5, 240(s0)653; LP64-NEXT: fld fa5, 16(sp) # 8-byte Folded Reload654; LP64-NEXT: fsd fa5, 232(s0)655; LP64-NEXT: fld fa5, 24(sp) # 8-byte Folded Reload656; LP64-NEXT: fsd fa5, 224(s0)657; LP64-NEXT: fld fa5, 32(sp) # 8-byte Folded Reload658; LP64-NEXT: fsd fa5, 216(s0)659; LP64-NEXT: fld fa5, 40(sp) # 8-byte Folded Reload660; LP64-NEXT: fsd fa5, 208(s0)661; LP64-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload662; LP64-NEXT: fsd fa5, 200(s0)663; LP64-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload664; LP64-NEXT: fsd fa5, 192(s0)665; LP64-NEXT: fld fa5, 64(sp) # 8-byte Folded Reload666; LP64-NEXT: fsd fa5, 184(s0)667; LP64-NEXT: fld fa5, 72(sp) # 8-byte Folded Reload668; LP64-NEXT: fsd fa5, 176(s0)669; LP64-NEXT: fld fa5, 80(sp) # 8-byte Folded Reload670; LP64-NEXT: fsd fa5, 168(s0)671; LP64-NEXT: fld fa5, 88(sp) # 8-byte Folded Reload672; LP64-NEXT: fsd fa5, 160(s0)673; LP64-NEXT: fld fa5, 96(sp) # 8-byte Folded Reload674; LP64-NEXT: fsd fa5, 152(s0)675; LP64-NEXT: fld fa5, 104(sp) # 8-byte Folded Reload676; LP64-NEXT: fsd fa5, 144(s0)677; LP64-NEXT: fld fa5, 112(sp) # 8-byte Folded Reload678; LP64-NEXT: fsd fa5, 136(s0)679; LP64-NEXT: fld fa5, 120(sp) # 8-byte Folded Reload680; LP64-NEXT: fsd fa5, 128(s0)681; LP64-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload682; LP64-NEXT: fsd fa5, 120(s0)683; LP64-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload684; LP64-NEXT: fsd fa5, 112(s0)685; LP64-NEXT: fld fa5, 144(sp) # 8-byte Folded Reload686; LP64-NEXT: fsd fa5, 104(s0)687; LP64-NEXT: fld fa5, 152(sp) # 8-byte Folded Reload688; LP64-NEXT: fsd fa5, 96(s0)689; LP64-NEXT: fld fa5, 160(sp) # 8-byte Folded Reload690; LP64-NEXT: fsd fa5, 88(s0)691; LP64-NEXT: fld fa5, 168(sp) # 8-byte Folded Reload692; LP64-NEXT: fsd fa5, 80(s0)693; LP64-NEXT: fld fa5, 176(sp) # 8-byte Folded Reload694; LP64-NEXT: fsd fa5, 72(s0)695; LP64-NEXT: fld fa5, 184(sp) # 8-byte Folded Reload696; LP64-NEXT: fsd fa5, 64(s0)697; LP64-NEXT: fld fa5, 192(sp) # 8-byte Folded Reload698; LP64-NEXT: fsd fa5, 56(s0)699; LP64-NEXT: fld fa5, 200(sp) # 8-byte Folded Reload700; LP64-NEXT: fsd fa5, 48(s0)701; LP64-NEXT: fld fa5, 208(sp) # 8-byte Folded Reload702; LP64-NEXT: fsd fa5, 40(s0)703; LP64-NEXT: fld fa5, 216(sp) # 8-byte Folded Reload704; LP64-NEXT: fsd fa5, 32(s0)705; LP64-NEXT: fld fa5, 224(sp) # 8-byte Folded Reload706; LP64-NEXT: fsd fa5, 24(s0)707; LP64-NEXT: fld fa5, 232(sp) # 8-byte Folded Reload708; LP64-NEXT: fsd fa5, 16(s0)709; LP64-NEXT: fld fa5, 240(sp) # 8-byte Folded Reload710; LP64-NEXT: fsd fa5, 8(s0)711; LP64-NEXT: fld fa5, 248(sp) # 8-byte Folded Reload712; LP64-NEXT: fsd fa5, 0(s0)713; LP64-NEXT: ld ra, 264(sp) # 8-byte Folded Reload714; LP64-NEXT: ld s0, 256(sp) # 8-byte Folded Reload715; LP64-NEXT: addi sp, sp, 272716; LP64-NEXT: ret717;718; LP64E-LABEL: caller:719; LP64E: # %bb.0:720; LP64E-NEXT: addi sp, sp, -272721; LP64E-NEXT: sd ra, 264(sp) # 8-byte Folded Spill722; LP64E-NEXT: sd s0, 256(sp) # 8-byte Folded Spill723; LP64E-NEXT: lui s0, %hi(var)724; LP64E-NEXT: addi s0, s0, %lo(var)725; LP64E-NEXT: fld fa5, 0(s0)726; LP64E-NEXT: fsd fa5, 248(sp) # 8-byte Folded Spill727; LP64E-NEXT: fld fa5, 8(s0)728; LP64E-NEXT: fsd fa5, 240(sp) # 8-byte Folded Spill729; LP64E-NEXT: fld fa5, 16(s0)730; LP64E-NEXT: fsd fa5, 232(sp) # 8-byte Folded Spill731; LP64E-NEXT: fld fa5, 24(s0)732; LP64E-NEXT: fsd fa5, 224(sp) # 8-byte Folded Spill733; LP64E-NEXT: fld fa5, 32(s0)734; LP64E-NEXT: fsd fa5, 216(sp) # 8-byte Folded Spill735; LP64E-NEXT: fld fa5, 40(s0)736; LP64E-NEXT: fsd fa5, 208(sp) # 8-byte Folded Spill737; LP64E-NEXT: fld fa5, 48(s0)738; LP64E-NEXT: fsd fa5, 200(sp) # 8-byte Folded Spill739; LP64E-NEXT: fld fa5, 56(s0)740; LP64E-NEXT: fsd fa5, 192(sp) # 8-byte Folded Spill741; LP64E-NEXT: fld fa5, 64(s0)742; LP64E-NEXT: fsd fa5, 184(sp) # 8-byte Folded Spill743; LP64E-NEXT: fld fa5, 72(s0)744; LP64E-NEXT: fsd fa5, 176(sp) # 8-byte Folded Spill745; LP64E-NEXT: fld fa5, 80(s0)746; LP64E-NEXT: fsd fa5, 168(sp) # 8-byte Folded Spill747; LP64E-NEXT: fld fa5, 88(s0)748; LP64E-NEXT: fsd fa5, 160(sp) # 8-byte Folded Spill749; LP64E-NEXT: fld fa5, 96(s0)750; LP64E-NEXT: fsd fa5, 152(sp) # 8-byte Folded Spill751; LP64E-NEXT: fld fa5, 104(s0)752; LP64E-NEXT: fsd fa5, 144(sp) # 8-byte Folded Spill753; LP64E-NEXT: fld fa5, 112(s0)754; LP64E-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill755; LP64E-NEXT: fld fa5, 120(s0)756; LP64E-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill757; LP64E-NEXT: fld fa5, 128(s0)758; LP64E-NEXT: fsd fa5, 120(sp) # 8-byte Folded Spill759; LP64E-NEXT: fld fa5, 136(s0)760; LP64E-NEXT: fsd fa5, 112(sp) # 8-byte Folded Spill761; LP64E-NEXT: fld fa5, 144(s0)762; LP64E-NEXT: fsd fa5, 104(sp) # 8-byte Folded Spill763; LP64E-NEXT: fld fa5, 152(s0)764; LP64E-NEXT: fsd fa5, 96(sp) # 8-byte Folded Spill765; LP64E-NEXT: fld fa5, 160(s0)766; LP64E-NEXT: fsd fa5, 88(sp) # 8-byte Folded Spill767; LP64E-NEXT: fld fa5, 168(s0)768; LP64E-NEXT: fsd fa5, 80(sp) # 8-byte Folded Spill769; LP64E-NEXT: fld fa5, 176(s0)770; LP64E-NEXT: fsd fa5, 72(sp) # 8-byte Folded Spill771; LP64E-NEXT: fld fa5, 184(s0)772; LP64E-NEXT: fsd fa5, 64(sp) # 8-byte Folded Spill773; LP64E-NEXT: fld fa5, 192(s0)774; LP64E-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill775; LP64E-NEXT: fld fa5, 200(s0)776; LP64E-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill777; LP64E-NEXT: fld fa5, 208(s0)778; LP64E-NEXT: fsd fa5, 40(sp) # 8-byte Folded Spill779; LP64E-NEXT: fld fa5, 216(s0)780; LP64E-NEXT: fsd fa5, 32(sp) # 8-byte Folded Spill781; LP64E-NEXT: fld fa5, 224(s0)782; LP64E-NEXT: fsd fa5, 24(sp) # 8-byte Folded Spill783; LP64E-NEXT: fld fa5, 232(s0)784; LP64E-NEXT: fsd fa5, 16(sp) # 8-byte Folded Spill785; LP64E-NEXT: fld fa5, 240(s0)786; LP64E-NEXT: fsd fa5, 8(sp) # 8-byte Folded Spill787; LP64E-NEXT: fld fa5, 248(s0)788; LP64E-NEXT: fsd fa5, 0(sp) # 8-byte Folded Spill789; LP64E-NEXT: call callee790; LP64E-NEXT: fld fa5, 0(sp) # 8-byte Folded Reload791; LP64E-NEXT: fsd fa5, 248(s0)792; LP64E-NEXT: fld fa5, 8(sp) # 8-byte Folded Reload793; LP64E-NEXT: fsd fa5, 240(s0)794; LP64E-NEXT: fld fa5, 16(sp) # 8-byte Folded Reload795; LP64E-NEXT: fsd fa5, 232(s0)796; LP64E-NEXT: fld fa5, 24(sp) # 8-byte Folded Reload797; LP64E-NEXT: fsd fa5, 224(s0)798; LP64E-NEXT: fld fa5, 32(sp) # 8-byte Folded Reload799; LP64E-NEXT: fsd fa5, 216(s0)800; LP64E-NEXT: fld fa5, 40(sp) # 8-byte Folded Reload801; LP64E-NEXT: fsd fa5, 208(s0)802; LP64E-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload803; LP64E-NEXT: fsd fa5, 200(s0)804; LP64E-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload805; LP64E-NEXT: fsd fa5, 192(s0)806; LP64E-NEXT: fld fa5, 64(sp) # 8-byte Folded Reload807; LP64E-NEXT: fsd fa5, 184(s0)808; LP64E-NEXT: fld fa5, 72(sp) # 8-byte Folded Reload809; LP64E-NEXT: fsd fa5, 176(s0)810; LP64E-NEXT: fld fa5, 80(sp) # 8-byte Folded Reload811; LP64E-NEXT: fsd fa5, 168(s0)812; LP64E-NEXT: fld fa5, 88(sp) # 8-byte Folded Reload813; LP64E-NEXT: fsd fa5, 160(s0)814; LP64E-NEXT: fld fa5, 96(sp) # 8-byte Folded Reload815; LP64E-NEXT: fsd fa5, 152(s0)816; LP64E-NEXT: fld fa5, 104(sp) # 8-byte Folded Reload817; LP64E-NEXT: fsd fa5, 144(s0)818; LP64E-NEXT: fld fa5, 112(sp) # 8-byte Folded Reload819; LP64E-NEXT: fsd fa5, 136(s0)820; LP64E-NEXT: fld fa5, 120(sp) # 8-byte Folded Reload821; LP64E-NEXT: fsd fa5, 128(s0)822; LP64E-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload823; LP64E-NEXT: fsd fa5, 120(s0)824; LP64E-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload825; LP64E-NEXT: fsd fa5, 112(s0)826; LP64E-NEXT: fld fa5, 144(sp) # 8-byte Folded Reload827; LP64E-NEXT: fsd fa5, 104(s0)828; LP64E-NEXT: fld fa5, 152(sp) # 8-byte Folded Reload829; LP64E-NEXT: fsd fa5, 96(s0)830; LP64E-NEXT: fld fa5, 160(sp) # 8-byte Folded Reload831; LP64E-NEXT: fsd fa5, 88(s0)832; LP64E-NEXT: fld fa5, 168(sp) # 8-byte Folded Reload833; LP64E-NEXT: fsd fa5, 80(s0)834; LP64E-NEXT: fld fa5, 176(sp) # 8-byte Folded Reload835; LP64E-NEXT: fsd fa5, 72(s0)836; LP64E-NEXT: fld fa5, 184(sp) # 8-byte Folded Reload837; LP64E-NEXT: fsd fa5, 64(s0)838; LP64E-NEXT: fld fa5, 192(sp) # 8-byte Folded Reload839; LP64E-NEXT: fsd fa5, 56(s0)840; LP64E-NEXT: fld fa5, 200(sp) # 8-byte Folded Reload841; LP64E-NEXT: fsd fa5, 48(s0)842; LP64E-NEXT: fld fa5, 208(sp) # 8-byte Folded Reload843; LP64E-NEXT: fsd fa5, 40(s0)844; LP64E-NEXT: fld fa5, 216(sp) # 8-byte Folded Reload845; LP64E-NEXT: fsd fa5, 32(s0)846; LP64E-NEXT: fld fa5, 224(sp) # 8-byte Folded Reload847; LP64E-NEXT: fsd fa5, 24(s0)848; LP64E-NEXT: fld fa5, 232(sp) # 8-byte Folded Reload849; LP64E-NEXT: fsd fa5, 16(s0)850; LP64E-NEXT: fld fa5, 240(sp) # 8-byte Folded Reload851; LP64E-NEXT: fsd fa5, 8(s0)852; LP64E-NEXT: fld fa5, 248(sp) # 8-byte Folded Reload853; LP64E-NEXT: fsd fa5, 0(s0)854; LP64E-NEXT: ld ra, 264(sp) # 8-byte Folded Reload855; LP64E-NEXT: ld s0, 256(sp) # 8-byte Folded Reload856; LP64E-NEXT: addi sp, sp, 272857; LP64E-NEXT: ret858;859; ILP32D-LABEL: caller:860; ILP32D: # %bb.0:861; ILP32D-NEXT: addi sp, sp, -272862; ILP32D-NEXT: sw ra, 268(sp) # 4-byte Folded Spill863; ILP32D-NEXT: sw s0, 264(sp) # 4-byte Folded Spill864; ILP32D-NEXT: fsd fs0, 256(sp) # 8-byte Folded Spill865; ILP32D-NEXT: fsd fs1, 248(sp) # 8-byte Folded Spill866; ILP32D-NEXT: fsd fs2, 240(sp) # 8-byte Folded Spill867; ILP32D-NEXT: fsd fs3, 232(sp) # 8-byte Folded Spill868; ILP32D-NEXT: fsd fs4, 224(sp) # 8-byte Folded Spill869; ILP32D-NEXT: fsd fs5, 216(sp) # 8-byte Folded Spill870; ILP32D-NEXT: fsd fs6, 208(sp) # 8-byte Folded Spill871; ILP32D-NEXT: fsd fs7, 200(sp) # 8-byte Folded Spill872; ILP32D-NEXT: fsd fs8, 192(sp) # 8-byte Folded Spill873; ILP32D-NEXT: fsd fs9, 184(sp) # 8-byte Folded Spill874; ILP32D-NEXT: fsd fs10, 176(sp) # 8-byte Folded Spill875; ILP32D-NEXT: fsd fs11, 168(sp) # 8-byte Folded Spill876; ILP32D-NEXT: lui s0, %hi(var)877; ILP32D-NEXT: addi s0, s0, %lo(var)878; ILP32D-NEXT: fld fa5, 0(s0)879; ILP32D-NEXT: fsd fa5, 160(sp) # 8-byte Folded Spill880; ILP32D-NEXT: fld fa5, 8(s0)881; ILP32D-NEXT: fsd fa5, 152(sp) # 8-byte Folded Spill882; ILP32D-NEXT: fld fa5, 16(s0)883; ILP32D-NEXT: fsd fa5, 144(sp) # 8-byte Folded Spill884; ILP32D-NEXT: fld fa5, 24(s0)885; ILP32D-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill886; ILP32D-NEXT: fld fa5, 32(s0)887; ILP32D-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill888; ILP32D-NEXT: fld fa5, 40(s0)889; ILP32D-NEXT: fsd fa5, 120(sp) # 8-byte Folded Spill890; ILP32D-NEXT: fld fa5, 48(s0)891; ILP32D-NEXT: fsd fa5, 112(sp) # 8-byte Folded Spill892; ILP32D-NEXT: fld fa5, 56(s0)893; ILP32D-NEXT: fsd fa5, 104(sp) # 8-byte Folded Spill894; ILP32D-NEXT: fld fa5, 64(s0)895; ILP32D-NEXT: fsd fa5, 96(sp) # 8-byte Folded Spill896; ILP32D-NEXT: fld fa5, 72(s0)897; ILP32D-NEXT: fsd fa5, 88(sp) # 8-byte Folded Spill898; ILP32D-NEXT: fld fa5, 80(s0)899; ILP32D-NEXT: fsd fa5, 80(sp) # 8-byte Folded Spill900; ILP32D-NEXT: fld fa5, 88(s0)901; ILP32D-NEXT: fsd fa5, 72(sp) # 8-byte Folded Spill902; ILP32D-NEXT: fld fa5, 96(s0)903; ILP32D-NEXT: fsd fa5, 64(sp) # 8-byte Folded Spill904; ILP32D-NEXT: fld fa5, 104(s0)905; ILP32D-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill906; ILP32D-NEXT: fld fa5, 112(s0)907; ILP32D-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill908; ILP32D-NEXT: fld fa5, 120(s0)909; ILP32D-NEXT: fsd fa5, 40(sp) # 8-byte Folded Spill910; ILP32D-NEXT: fld fa5, 128(s0)911; ILP32D-NEXT: fsd fa5, 32(sp) # 8-byte Folded Spill912; ILP32D-NEXT: fld fa5, 136(s0)913; ILP32D-NEXT: fsd fa5, 24(sp) # 8-byte Folded Spill914; ILP32D-NEXT: fld fa5, 144(s0)915; ILP32D-NEXT: fsd fa5, 16(sp) # 8-byte Folded Spill916; ILP32D-NEXT: fld fa5, 152(s0)917; ILP32D-NEXT: fsd fa5, 8(sp) # 8-byte Folded Spill918; ILP32D-NEXT: fld fs8, 160(s0)919; ILP32D-NEXT: fld fs9, 168(s0)920; ILP32D-NEXT: fld fs10, 176(s0)921; ILP32D-NEXT: fld fs11, 184(s0)922; ILP32D-NEXT: fld fs0, 192(s0)923; ILP32D-NEXT: fld fs1, 200(s0)924; ILP32D-NEXT: fld fs2, 208(s0)925; ILP32D-NEXT: fld fs3, 216(s0)926; ILP32D-NEXT: fld fs4, 224(s0)927; ILP32D-NEXT: fld fs5, 232(s0)928; ILP32D-NEXT: fld fs6, 240(s0)929; ILP32D-NEXT: fld fs7, 248(s0)930; ILP32D-NEXT: call callee931; ILP32D-NEXT: fsd fs7, 248(s0)932; ILP32D-NEXT: fsd fs6, 240(s0)933; ILP32D-NEXT: fsd fs5, 232(s0)934; ILP32D-NEXT: fsd fs4, 224(s0)935; ILP32D-NEXT: fsd fs3, 216(s0)936; ILP32D-NEXT: fsd fs2, 208(s0)937; ILP32D-NEXT: fsd fs1, 200(s0)938; ILP32D-NEXT: fsd fs0, 192(s0)939; ILP32D-NEXT: fsd fs11, 184(s0)940; ILP32D-NEXT: fsd fs10, 176(s0)941; ILP32D-NEXT: fsd fs9, 168(s0)942; ILP32D-NEXT: fsd fs8, 160(s0)943; ILP32D-NEXT: fld fa5, 8(sp) # 8-byte Folded Reload944; ILP32D-NEXT: fsd fa5, 152(s0)945; ILP32D-NEXT: fld fa5, 16(sp) # 8-byte Folded Reload946; ILP32D-NEXT: fsd fa5, 144(s0)947; ILP32D-NEXT: fld fa5, 24(sp) # 8-byte Folded Reload948; ILP32D-NEXT: fsd fa5, 136(s0)949; ILP32D-NEXT: fld fa5, 32(sp) # 8-byte Folded Reload950; ILP32D-NEXT: fsd fa5, 128(s0)951; ILP32D-NEXT: fld fa5, 40(sp) # 8-byte Folded Reload952; ILP32D-NEXT: fsd fa5, 120(s0)953; ILP32D-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload954; ILP32D-NEXT: fsd fa5, 112(s0)955; ILP32D-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload956; ILP32D-NEXT: fsd fa5, 104(s0)957; ILP32D-NEXT: fld fa5, 64(sp) # 8-byte Folded Reload958; ILP32D-NEXT: fsd fa5, 96(s0)959; ILP32D-NEXT: fld fa5, 72(sp) # 8-byte Folded Reload960; ILP32D-NEXT: fsd fa5, 88(s0)961; ILP32D-NEXT: fld fa5, 80(sp) # 8-byte Folded Reload962; ILP32D-NEXT: fsd fa5, 80(s0)963; ILP32D-NEXT: fld fa5, 88(sp) # 8-byte Folded Reload964; ILP32D-NEXT: fsd fa5, 72(s0)965; ILP32D-NEXT: fld fa5, 96(sp) # 8-byte Folded Reload966; ILP32D-NEXT: fsd fa5, 64(s0)967; ILP32D-NEXT: fld fa5, 104(sp) # 8-byte Folded Reload968; ILP32D-NEXT: fsd fa5, 56(s0)969; ILP32D-NEXT: fld fa5, 112(sp) # 8-byte Folded Reload970; ILP32D-NEXT: fsd fa5, 48(s0)971; ILP32D-NEXT: fld fa5, 120(sp) # 8-byte Folded Reload972; ILP32D-NEXT: fsd fa5, 40(s0)973; ILP32D-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload974; ILP32D-NEXT: fsd fa5, 32(s0)975; ILP32D-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload976; ILP32D-NEXT: fsd fa5, 24(s0)977; ILP32D-NEXT: fld fa5, 144(sp) # 8-byte Folded Reload978; ILP32D-NEXT: fsd fa5, 16(s0)979; ILP32D-NEXT: fld fa5, 152(sp) # 8-byte Folded Reload980; ILP32D-NEXT: fsd fa5, 8(s0)981; ILP32D-NEXT: fld fa5, 160(sp) # 8-byte Folded Reload982; ILP32D-NEXT: fsd fa5, 0(s0)983; ILP32D-NEXT: lw ra, 268(sp) # 4-byte Folded Reload984; ILP32D-NEXT: lw s0, 264(sp) # 4-byte Folded Reload985; ILP32D-NEXT: fld fs0, 256(sp) # 8-byte Folded Reload986; ILP32D-NEXT: fld fs1, 248(sp) # 8-byte Folded Reload987; ILP32D-NEXT: fld fs2, 240(sp) # 8-byte Folded Reload988; ILP32D-NEXT: fld fs3, 232(sp) # 8-byte Folded Reload989; ILP32D-NEXT: fld fs4, 224(sp) # 8-byte Folded Reload990; ILP32D-NEXT: fld fs5, 216(sp) # 8-byte Folded Reload991; ILP32D-NEXT: fld fs6, 208(sp) # 8-byte Folded Reload992; ILP32D-NEXT: fld fs7, 200(sp) # 8-byte Folded Reload993; ILP32D-NEXT: fld fs8, 192(sp) # 8-byte Folded Reload994; ILP32D-NEXT: fld fs9, 184(sp) # 8-byte Folded Reload995; ILP32D-NEXT: fld fs10, 176(sp) # 8-byte Folded Reload996; ILP32D-NEXT: fld fs11, 168(sp) # 8-byte Folded Reload997; ILP32D-NEXT: addi sp, sp, 272998; ILP32D-NEXT: ret999;1000; LP64D-LABEL: caller:1001; LP64D: # %bb.0:1002; LP64D-NEXT: addi sp, sp, -2721003; LP64D-NEXT: sd ra, 264(sp) # 8-byte Folded Spill1004; LP64D-NEXT: sd s0, 256(sp) # 8-byte Folded Spill1005; LP64D-NEXT: fsd fs0, 248(sp) # 8-byte Folded Spill1006; LP64D-NEXT: fsd fs1, 240(sp) # 8-byte Folded Spill1007; LP64D-NEXT: fsd fs2, 232(sp) # 8-byte Folded Spill1008; LP64D-NEXT: fsd fs3, 224(sp) # 8-byte Folded Spill1009; LP64D-NEXT: fsd fs4, 216(sp) # 8-byte Folded Spill1010; LP64D-NEXT: fsd fs5, 208(sp) # 8-byte Folded Spill1011; LP64D-NEXT: fsd fs6, 200(sp) # 8-byte Folded Spill1012; LP64D-NEXT: fsd fs7, 192(sp) # 8-byte Folded Spill1013; LP64D-NEXT: fsd fs8, 184(sp) # 8-byte Folded Spill1014; LP64D-NEXT: fsd fs9, 176(sp) # 8-byte Folded Spill1015; LP64D-NEXT: fsd fs10, 168(sp) # 8-byte Folded Spill1016; LP64D-NEXT: fsd fs11, 160(sp) # 8-byte Folded Spill1017; LP64D-NEXT: lui s0, %hi(var)1018; LP64D-NEXT: addi s0, s0, %lo(var)1019; LP64D-NEXT: fld fa5, 0(s0)1020; LP64D-NEXT: fsd fa5, 152(sp) # 8-byte Folded Spill1021; LP64D-NEXT: fld fa5, 8(s0)1022; LP64D-NEXT: fsd fa5, 144(sp) # 8-byte Folded Spill1023; LP64D-NEXT: fld fa5, 16(s0)1024; LP64D-NEXT: fsd fa5, 136(sp) # 8-byte Folded Spill1025; LP64D-NEXT: fld fa5, 24(s0)1026; LP64D-NEXT: fsd fa5, 128(sp) # 8-byte Folded Spill1027; LP64D-NEXT: fld fa5, 32(s0)1028; LP64D-NEXT: fsd fa5, 120(sp) # 8-byte Folded Spill1029; LP64D-NEXT: fld fa5, 40(s0)1030; LP64D-NEXT: fsd fa5, 112(sp) # 8-byte Folded Spill1031; LP64D-NEXT: fld fa5, 48(s0)1032; LP64D-NEXT: fsd fa5, 104(sp) # 8-byte Folded Spill1033; LP64D-NEXT: fld fa5, 56(s0)1034; LP64D-NEXT: fsd fa5, 96(sp) # 8-byte Folded Spill1035; LP64D-NEXT: fld fa5, 64(s0)1036; LP64D-NEXT: fsd fa5, 88(sp) # 8-byte Folded Spill1037; LP64D-NEXT: fld fa5, 72(s0)1038; LP64D-NEXT: fsd fa5, 80(sp) # 8-byte Folded Spill1039; LP64D-NEXT: fld fa5, 80(s0)1040; LP64D-NEXT: fsd fa5, 72(sp) # 8-byte Folded Spill1041; LP64D-NEXT: fld fa5, 88(s0)1042; LP64D-NEXT: fsd fa5, 64(sp) # 8-byte Folded Spill1043; LP64D-NEXT: fld fa5, 96(s0)1044; LP64D-NEXT: fsd fa5, 56(sp) # 8-byte Folded Spill1045; LP64D-NEXT: fld fa5, 104(s0)1046; LP64D-NEXT: fsd fa5, 48(sp) # 8-byte Folded Spill1047; LP64D-NEXT: fld fa5, 112(s0)1048; LP64D-NEXT: fsd fa5, 40(sp) # 8-byte Folded Spill1049; LP64D-NEXT: fld fa5, 120(s0)1050; LP64D-NEXT: fsd fa5, 32(sp) # 8-byte Folded Spill1051; LP64D-NEXT: fld fa5, 128(s0)1052; LP64D-NEXT: fsd fa5, 24(sp) # 8-byte Folded Spill1053; LP64D-NEXT: fld fa5, 136(s0)1054; LP64D-NEXT: fsd fa5, 16(sp) # 8-byte Folded Spill1055; LP64D-NEXT: fld fa5, 144(s0)1056; LP64D-NEXT: fsd fa5, 8(sp) # 8-byte Folded Spill1057; LP64D-NEXT: fld fa5, 152(s0)1058; LP64D-NEXT: fsd fa5, 0(sp) # 8-byte Folded Spill1059; LP64D-NEXT: fld fs8, 160(s0)1060; LP64D-NEXT: fld fs9, 168(s0)1061; LP64D-NEXT: fld fs10, 176(s0)1062; LP64D-NEXT: fld fs11, 184(s0)1063; LP64D-NEXT: fld fs0, 192(s0)1064; LP64D-NEXT: fld fs1, 200(s0)1065; LP64D-NEXT: fld fs2, 208(s0)1066; LP64D-NEXT: fld fs3, 216(s0)1067; LP64D-NEXT: fld fs4, 224(s0)1068; LP64D-NEXT: fld fs5, 232(s0)1069; LP64D-NEXT: fld fs6, 240(s0)1070; LP64D-NEXT: fld fs7, 248(s0)1071; LP64D-NEXT: call callee1072; LP64D-NEXT: fsd fs7, 248(s0)1073; LP64D-NEXT: fsd fs6, 240(s0)1074; LP64D-NEXT: fsd fs5, 232(s0)1075; LP64D-NEXT: fsd fs4, 224(s0)1076; LP64D-NEXT: fsd fs3, 216(s0)1077; LP64D-NEXT: fsd fs2, 208(s0)1078; LP64D-NEXT: fsd fs1, 200(s0)1079; LP64D-NEXT: fsd fs0, 192(s0)1080; LP64D-NEXT: fsd fs11, 184(s0)1081; LP64D-NEXT: fsd fs10, 176(s0)1082; LP64D-NEXT: fsd fs9, 168(s0)1083; LP64D-NEXT: fsd fs8, 160(s0)1084; LP64D-NEXT: fld fa5, 0(sp) # 8-byte Folded Reload1085; LP64D-NEXT: fsd fa5, 152(s0)1086; LP64D-NEXT: fld fa5, 8(sp) # 8-byte Folded Reload1087; LP64D-NEXT: fsd fa5, 144(s0)1088; LP64D-NEXT: fld fa5, 16(sp) # 8-byte Folded Reload1089; LP64D-NEXT: fsd fa5, 136(s0)1090; LP64D-NEXT: fld fa5, 24(sp) # 8-byte Folded Reload1091; LP64D-NEXT: fsd fa5, 128(s0)1092; LP64D-NEXT: fld fa5, 32(sp) # 8-byte Folded Reload1093; LP64D-NEXT: fsd fa5, 120(s0)1094; LP64D-NEXT: fld fa5, 40(sp) # 8-byte Folded Reload1095; LP64D-NEXT: fsd fa5, 112(s0)1096; LP64D-NEXT: fld fa5, 48(sp) # 8-byte Folded Reload1097; LP64D-NEXT: fsd fa5, 104(s0)1098; LP64D-NEXT: fld fa5, 56(sp) # 8-byte Folded Reload1099; LP64D-NEXT: fsd fa5, 96(s0)1100; LP64D-NEXT: fld fa5, 64(sp) # 8-byte Folded Reload1101; LP64D-NEXT: fsd fa5, 88(s0)1102; LP64D-NEXT: fld fa5, 72(sp) # 8-byte Folded Reload1103; LP64D-NEXT: fsd fa5, 80(s0)1104; LP64D-NEXT: fld fa5, 80(sp) # 8-byte Folded Reload1105; LP64D-NEXT: fsd fa5, 72(s0)1106; LP64D-NEXT: fld fa5, 88(sp) # 8-byte Folded Reload1107; LP64D-NEXT: fsd fa5, 64(s0)1108; LP64D-NEXT: fld fa5, 96(sp) # 8-byte Folded Reload1109; LP64D-NEXT: fsd fa5, 56(s0)1110; LP64D-NEXT: fld fa5, 104(sp) # 8-byte Folded Reload1111; LP64D-NEXT: fsd fa5, 48(s0)1112; LP64D-NEXT: fld fa5, 112(sp) # 8-byte Folded Reload1113; LP64D-NEXT: fsd fa5, 40(s0)1114; LP64D-NEXT: fld fa5, 120(sp) # 8-byte Folded Reload1115; LP64D-NEXT: fsd fa5, 32(s0)1116; LP64D-NEXT: fld fa5, 128(sp) # 8-byte Folded Reload1117; LP64D-NEXT: fsd fa5, 24(s0)1118; LP64D-NEXT: fld fa5, 136(sp) # 8-byte Folded Reload1119; LP64D-NEXT: fsd fa5, 16(s0)1120; LP64D-NEXT: fld fa5, 144(sp) # 8-byte Folded Reload1121; LP64D-NEXT: fsd fa5, 8(s0)1122; LP64D-NEXT: fld fa5, 152(sp) # 8-byte Folded Reload1123; LP64D-NEXT: fsd fa5, 0(s0)1124; LP64D-NEXT: ld ra, 264(sp) # 8-byte Folded Reload1125; LP64D-NEXT: ld s0, 256(sp) # 8-byte Folded Reload1126; LP64D-NEXT: fld fs0, 248(sp) # 8-byte Folded Reload1127; LP64D-NEXT: fld fs1, 240(sp) # 8-byte Folded Reload1128; LP64D-NEXT: fld fs2, 232(sp) # 8-byte Folded Reload1129; LP64D-NEXT: fld fs3, 224(sp) # 8-byte Folded Reload1130; LP64D-NEXT: fld fs4, 216(sp) # 8-byte Folded Reload1131; LP64D-NEXT: fld fs5, 208(sp) # 8-byte Folded Reload1132; LP64D-NEXT: fld fs6, 200(sp) # 8-byte Folded Reload1133; LP64D-NEXT: fld fs7, 192(sp) # 8-byte Folded Reload1134; LP64D-NEXT: fld fs8, 184(sp) # 8-byte Folded Reload1135; LP64D-NEXT: fld fs9, 176(sp) # 8-byte Folded Reload1136; LP64D-NEXT: fld fs10, 168(sp) # 8-byte Folded Reload1137; LP64D-NEXT: fld fs11, 160(sp) # 8-byte Folded Reload1138; LP64D-NEXT: addi sp, sp, 2721139; LP64D-NEXT: ret1140 %val = load [32 x double], ptr @var1141 call void @callee()1142 store volatile [32 x double] %val, ptr @var1143 ret void1144}1145