1da0755f7SAlex Bradbury; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2da0755f7SAlex Bradbury; RUN: llc -mtriple=riscv32 -mattr=+d -verify-machineinstrs < %s \ 3da0755f7SAlex Bradbury; RUN: -target-abi=ilp32d | FileCheck -check-prefix=RV32ID %s 4da0755f7SAlex Bradbury; RUN: llc -mtriple=riscv64 -mattr=+d -verify-machineinstrs < %s \ 5da0755f7SAlex Bradbury; RUN: -target-abi=lp64d | FileCheck -check-prefix=RV64ID %s 6da0755f7SAlex Bradbury 7da0755f7SAlex Bradbury; A GPR<->FPR move (fmv.?.?) is unnecessary in all of the tests below, as in 8da0755f7SAlex Bradbury; the value can be loaded/stored directly from/to the stack. 9da0755f7SAlex Bradbury 10da0755f7SAlex Bradburydefine float @spill_i32_to_float(i32 %a) nounwind { 11da0755f7SAlex Bradbury; RV32ID-LABEL: spill_i32_to_float: 12da0755f7SAlex Bradbury; RV32ID: # %bb.0: 13da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -160 14da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 156(sp) # 4-byte Folded Spill 15da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 152(sp) # 4-byte Folded Spill 16da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 148(sp) # 4-byte Folded Spill 17da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 144(sp) # 4-byte Folded Spill 18da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 140(sp) # 4-byte Folded Spill 19da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 136(sp) # 4-byte Folded Spill 20da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 132(sp) # 4-byte Folded Spill 21da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 128(sp) # 4-byte Folded Spill 22da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 124(sp) # 4-byte Folded Spill 23da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 120(sp) # 4-byte Folded Spill 24da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 116(sp) # 4-byte Folded Spill 25da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 112(sp) # 4-byte Folded Spill 26da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 108(sp) # 4-byte Folded Spill 27da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 28da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 29da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 30da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 31da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 32da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 33da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 34da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 35da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 36da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 37da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 38da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 39da0755f7SAlex Bradbury; RV32ID-NEXT: fmv.w.x fa5, a0 40da0755f7SAlex Bradbury; RV32ID-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill 41da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 42da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 43da0755f7SAlex Bradbury; RV32ID-NEXT: flw fa0, 4(sp) # 4-byte Folded Reload 44da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 156(sp) # 4-byte Folded Reload 45da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 152(sp) # 4-byte Folded Reload 46da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 148(sp) # 4-byte Folded Reload 47da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 144(sp) # 4-byte Folded Reload 48da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 140(sp) # 4-byte Folded Reload 49da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 136(sp) # 4-byte Folded Reload 50da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 132(sp) # 4-byte Folded Reload 51da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 128(sp) # 4-byte Folded Reload 52da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 124(sp) # 4-byte Folded Reload 53da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 120(sp) # 4-byte Folded Reload 54da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 116(sp) # 4-byte Folded Reload 55da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 112(sp) # 4-byte Folded Reload 56da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 108(sp) # 4-byte Folded Reload 57da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 58da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 59da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 60da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 61da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 62da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 63da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 64da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 65da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 66da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 67da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 68da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 69da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 160 70da0755f7SAlex Bradbury; RV32ID-NEXT: ret 71da0755f7SAlex Bradbury; 72da0755f7SAlex Bradbury; RV64ID-LABEL: spill_i32_to_float: 73da0755f7SAlex Bradbury; RV64ID: # %bb.0: 74da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 75da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 76da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 77da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 78da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 79da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 80da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 81da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 82da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 83da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 84da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 85da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 86da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 87da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 88da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 89da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 90da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 91da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 92da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 93da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 94da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 95da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 96da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 97da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 98da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 99da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 100da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.w.x fa5, a0 101da0755f7SAlex Bradbury; RV64ID-NEXT: fsw fa5, 4(sp) # 4-byte Folded Spill 102da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 103da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 104da0755f7SAlex Bradbury; RV64ID-NEXT: flw fa0, 4(sp) # 4-byte Folded Reload 105da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 106da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 107da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 108da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 109da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 110da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 111da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 112da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 113da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 114da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 115da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 116da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 117da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 118da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 119da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 120da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 121da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 122da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 123da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 124da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 125da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 126da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 127da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 128da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 129da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 130da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 131da0755f7SAlex Bradbury; RV64ID-NEXT: ret 132da0755f7SAlex Bradbury %1 = bitcast i32 %a to float 133da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 134da0755f7SAlex Bradbury ret float %1 135da0755f7SAlex Bradbury} 136da0755f7SAlex Bradbury 137da0755f7SAlex Bradburydefine i32 @spill_float_to_i32(float %a) nounwind { 138da0755f7SAlex Bradbury; RV32ID-LABEL: spill_float_to_i32: 139da0755f7SAlex Bradbury; RV32ID: # %bb.0: 140da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -160 141da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 156(sp) # 4-byte Folded Spill 142da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 152(sp) # 4-byte Folded Spill 143da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 148(sp) # 4-byte Folded Spill 144da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 144(sp) # 4-byte Folded Spill 145da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 140(sp) # 4-byte Folded Spill 146da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 136(sp) # 4-byte Folded Spill 147da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 132(sp) # 4-byte Folded Spill 148da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 128(sp) # 4-byte Folded Spill 149da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 124(sp) # 4-byte Folded Spill 150da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 120(sp) # 4-byte Folded Spill 151da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 116(sp) # 4-byte Folded Spill 152da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 112(sp) # 4-byte Folded Spill 153da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 108(sp) # 4-byte Folded Spill 154da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 155da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 156da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 157da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 158da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 159da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 160da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 161da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 162da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 163da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 164da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 165da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 166da0755f7SAlex Bradbury; RV32ID-NEXT: fmv.x.w a0, fa0 167da0755f7SAlex Bradbury; RV32ID-NEXT: sw a0, 4(sp) # 4-byte Folded Spill 168da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 169da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 170da0755f7SAlex Bradbury; RV32ID-NEXT: lw a0, 4(sp) # 4-byte Folded Reload 171da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 156(sp) # 4-byte Folded Reload 172da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 152(sp) # 4-byte Folded Reload 173da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 148(sp) # 4-byte Folded Reload 174da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 144(sp) # 4-byte Folded Reload 175da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 140(sp) # 4-byte Folded Reload 176da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 136(sp) # 4-byte Folded Reload 177da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 132(sp) # 4-byte Folded Reload 178da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 128(sp) # 4-byte Folded Reload 179da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 124(sp) # 4-byte Folded Reload 180da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 120(sp) # 4-byte Folded Reload 181da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 116(sp) # 4-byte Folded Reload 182da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 112(sp) # 4-byte Folded Reload 183da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 108(sp) # 4-byte Folded Reload 184da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 185da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 186da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 187da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 188da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 189da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 190da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 191da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 192da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 193da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 194da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 195da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 196da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 160 197da0755f7SAlex Bradbury; RV32ID-NEXT: ret 198da0755f7SAlex Bradbury; 199da0755f7SAlex Bradbury; RV64ID-LABEL: spill_float_to_i32: 200da0755f7SAlex Bradbury; RV64ID: # %bb.0: 201da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 202da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 203da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 204da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 205da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 206da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 207da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 208da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 209da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 210da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 211da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 212da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 213da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 214da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 215da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 216da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 217da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 218da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 219da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 220da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 221da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 222da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 223da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 224da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 225da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 226da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 227da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.x.w a0, fa0 228da0755f7SAlex Bradbury; RV64ID-NEXT: sd a0, 0(sp) # 8-byte Folded Spill 229da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 230da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 231da0755f7SAlex Bradbury; RV64ID-NEXT: ld a0, 0(sp) # 8-byte Folded Reload 232da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 233da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 234da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 235da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 236da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 237da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 238da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 239da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 240da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 241da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 242da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 243da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 244da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 245da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 246da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 247da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 248da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 249da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 250da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 251da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 252da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 253da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 254da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 255da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 256da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 257da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 258da0755f7SAlex Bradbury; RV64ID-NEXT: ret 259da0755f7SAlex Bradbury %1 = bitcast float %a to i32 260da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 261da0755f7SAlex Bradbury ret i32 %1 262da0755f7SAlex Bradbury} 263da0755f7SAlex Bradbury 264da0755f7SAlex Bradburydefine double @spill_i64_to_double(i64 %a) nounwind { 265da0755f7SAlex Bradbury; RV32ID-LABEL: spill_i64_to_double: 266da0755f7SAlex Bradbury; RV32ID: # %bb.0: 267da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -176 268da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 172(sp) # 4-byte Folded Spill 269da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 168(sp) # 4-byte Folded Spill 270da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 164(sp) # 4-byte Folded Spill 271da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 160(sp) # 4-byte Folded Spill 272da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 156(sp) # 4-byte Folded Spill 273da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 152(sp) # 4-byte Folded Spill 274da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 148(sp) # 4-byte Folded Spill 275da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 144(sp) # 4-byte Folded Spill 276da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 140(sp) # 4-byte Folded Spill 277da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 136(sp) # 4-byte Folded Spill 278da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 132(sp) # 4-byte Folded Spill 279da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 128(sp) # 4-byte Folded Spill 280da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 124(sp) # 4-byte Folded Spill 281da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 112(sp) # 8-byte Folded Spill 282da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 104(sp) # 8-byte Folded Spill 283da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 96(sp) # 8-byte Folded Spill 284da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 88(sp) # 8-byte Folded Spill 285da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 80(sp) # 8-byte Folded Spill 286da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 72(sp) # 8-byte Folded Spill 287da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 64(sp) # 8-byte Folded Spill 288da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 56(sp) # 8-byte Folded Spill 289da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 48(sp) # 8-byte Folded Spill 290da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 40(sp) # 8-byte Folded Spill 291da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 32(sp) # 8-byte Folded Spill 292da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 24(sp) # 8-byte Folded Spill 293da0755f7SAlex Bradbury; RV32ID-NEXT: sw a0, 16(sp) 294*f5c90f30SCraig Topper; RV32ID-NEXT: sw a1, 20(sp) 295da0755f7SAlex Bradbury; RV32ID-NEXT: fld fa5, 16(sp) 296da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fa5, 8(sp) # 8-byte Folded Spill 297da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 298da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 299da0755f7SAlex Bradbury; RV32ID-NEXT: fld fa0, 8(sp) # 8-byte Folded Reload 300da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 172(sp) # 4-byte Folded Reload 301da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 168(sp) # 4-byte Folded Reload 302da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 164(sp) # 4-byte Folded Reload 303da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 160(sp) # 4-byte Folded Reload 304da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 156(sp) # 4-byte Folded Reload 305da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 152(sp) # 4-byte Folded Reload 306da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 148(sp) # 4-byte Folded Reload 307da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 144(sp) # 4-byte Folded Reload 308da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 140(sp) # 4-byte Folded Reload 309da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 136(sp) # 4-byte Folded Reload 310da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 132(sp) # 4-byte Folded Reload 311da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 128(sp) # 4-byte Folded Reload 312da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 124(sp) # 4-byte Folded Reload 313da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 112(sp) # 8-byte Folded Reload 314da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 104(sp) # 8-byte Folded Reload 315da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 96(sp) # 8-byte Folded Reload 316da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 88(sp) # 8-byte Folded Reload 317da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 80(sp) # 8-byte Folded Reload 318da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 72(sp) # 8-byte Folded Reload 319da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 64(sp) # 8-byte Folded Reload 320da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 56(sp) # 8-byte Folded Reload 321da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 48(sp) # 8-byte Folded Reload 322da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 40(sp) # 8-byte Folded Reload 323da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 32(sp) # 8-byte Folded Reload 324da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 24(sp) # 8-byte Folded Reload 325da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 176 326da0755f7SAlex Bradbury; RV32ID-NEXT: ret 327da0755f7SAlex Bradbury; 328da0755f7SAlex Bradbury; RV64ID-LABEL: spill_i64_to_double: 329da0755f7SAlex Bradbury; RV64ID: # %bb.0: 330da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 331da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 332da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 333da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 334da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 335da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 336da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 337da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 338da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 339da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 340da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 341da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 342da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 343da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 344da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 345da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 346da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 347da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 348da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 349da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 350da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 351da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 352da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 353da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 354da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 355da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 356da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.d.x fa5, a0 357da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fa5, 0(sp) # 8-byte Folded Spill 358da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 359da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 360da0755f7SAlex Bradbury; RV64ID-NEXT: fld fa0, 0(sp) # 8-byte Folded Reload 361da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 362da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 363da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 364da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 365da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 366da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 367da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 368da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 369da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 370da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 371da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 372da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 373da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 374da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 375da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 376da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 377da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 378da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 379da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 380da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 381da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 382da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 383da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 384da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 385da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 386da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 387da0755f7SAlex Bradbury; RV64ID-NEXT: ret 388da0755f7SAlex Bradbury %1 = bitcast i64 %a to double 389da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 390da0755f7SAlex Bradbury ret double %1 391da0755f7SAlex Bradbury} 392da0755f7SAlex Bradbury 393da0755f7SAlex Bradburydefine i64 @spill_double_to_i64(double %a) nounwind { 394da0755f7SAlex Bradbury; RV32ID-LABEL: spill_double_to_i64: 395da0755f7SAlex Bradbury; RV32ID: # %bb.0: 396da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -176 397da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 172(sp) # 4-byte Folded Spill 398da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 168(sp) # 4-byte Folded Spill 399da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 164(sp) # 4-byte Folded Spill 400da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 160(sp) # 4-byte Folded Spill 401da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 156(sp) # 4-byte Folded Spill 402da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 152(sp) # 4-byte Folded Spill 403da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 148(sp) # 4-byte Folded Spill 404da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 144(sp) # 4-byte Folded Spill 405da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 140(sp) # 4-byte Folded Spill 406da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 136(sp) # 4-byte Folded Spill 407da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 132(sp) # 4-byte Folded Spill 408da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 128(sp) # 4-byte Folded Spill 409da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 124(sp) # 4-byte Folded Spill 410da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 112(sp) # 8-byte Folded Spill 411da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 104(sp) # 8-byte Folded Spill 412da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 96(sp) # 8-byte Folded Spill 413da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 88(sp) # 8-byte Folded Spill 414da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 80(sp) # 8-byte Folded Spill 415da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 72(sp) # 8-byte Folded Spill 416da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 64(sp) # 8-byte Folded Spill 417da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 56(sp) # 8-byte Folded Spill 418da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 48(sp) # 8-byte Folded Spill 419da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 40(sp) # 8-byte Folded Spill 420da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 32(sp) # 8-byte Folded Spill 421da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 24(sp) # 8-byte Folded Spill 422da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fa0, 16(sp) 423da0755f7SAlex Bradbury; RV32ID-NEXT: lw a0, 16(sp) 424da0755f7SAlex Bradbury; RV32ID-NEXT: sw a0, 12(sp) # 4-byte Folded Spill 425da0755f7SAlex Bradbury; RV32ID-NEXT: lw a0, 20(sp) 426da0755f7SAlex Bradbury; RV32ID-NEXT: sw a0, 8(sp) # 4-byte Folded Spill 427da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 428da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 429da0755f7SAlex Bradbury; RV32ID-NEXT: lw a0, 12(sp) # 4-byte Folded Reload 430da0755f7SAlex Bradbury; RV32ID-NEXT: lw a1, 8(sp) # 4-byte Folded Reload 431da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 172(sp) # 4-byte Folded Reload 432da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 168(sp) # 4-byte Folded Reload 433da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 164(sp) # 4-byte Folded Reload 434da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 160(sp) # 4-byte Folded Reload 435da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 156(sp) # 4-byte Folded Reload 436da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 152(sp) # 4-byte Folded Reload 437da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 148(sp) # 4-byte Folded Reload 438da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 144(sp) # 4-byte Folded Reload 439da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 140(sp) # 4-byte Folded Reload 440da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 136(sp) # 4-byte Folded Reload 441da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 132(sp) # 4-byte Folded Reload 442da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 128(sp) # 4-byte Folded Reload 443da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 124(sp) # 4-byte Folded Reload 444da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 112(sp) # 8-byte Folded Reload 445da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 104(sp) # 8-byte Folded Reload 446da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 96(sp) # 8-byte Folded Reload 447da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 88(sp) # 8-byte Folded Reload 448da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 80(sp) # 8-byte Folded Reload 449da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 72(sp) # 8-byte Folded Reload 450da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 64(sp) # 8-byte Folded Reload 451da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 56(sp) # 8-byte Folded Reload 452da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 48(sp) # 8-byte Folded Reload 453da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 40(sp) # 8-byte Folded Reload 454da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 32(sp) # 8-byte Folded Reload 455da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 24(sp) # 8-byte Folded Reload 456da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 176 457da0755f7SAlex Bradbury; RV32ID-NEXT: ret 458da0755f7SAlex Bradbury; 459da0755f7SAlex Bradbury; RV64ID-LABEL: spill_double_to_i64: 460da0755f7SAlex Bradbury; RV64ID: # %bb.0: 461da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 462da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 463da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 464da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 465da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 466da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 467da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 468da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 469da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 470da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 471da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 472da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 473da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 474da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 475da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 476da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 477da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 478da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 479da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 480da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 481da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 482da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 483da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 484da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 485da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 486da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 487da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.x.d a0, fa0 488da0755f7SAlex Bradbury; RV64ID-NEXT: sd a0, 0(sp) # 8-byte Folded Spill 489da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 490da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 491da0755f7SAlex Bradbury; RV64ID-NEXT: ld a0, 0(sp) # 8-byte Folded Reload 492da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 493da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 494da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 495da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 496da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 497da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 498da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 499da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 500da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 501da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 502da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 503da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 504da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 505da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 506da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 507da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 508da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 509da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 510da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 511da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 512da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 513da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 514da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 515da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 516da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 517da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 518da0755f7SAlex Bradbury; RV64ID-NEXT: ret 519da0755f7SAlex Bradbury %1 = bitcast double %a to i64 520da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 521da0755f7SAlex Bradbury ret i64 %1 522da0755f7SAlex Bradbury} 523da0755f7SAlex Bradbury 524da0755f7SAlex Bradburydefine float @fill_i32_to_float(i32 %a) nounwind { 525da0755f7SAlex Bradbury; RV32ID-LABEL: fill_i32_to_float: 526da0755f7SAlex Bradbury; RV32ID: # %bb.0: 527da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -160 528da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 156(sp) # 4-byte Folded Spill 529da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 152(sp) # 4-byte Folded Spill 530da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 148(sp) # 4-byte Folded Spill 531da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 144(sp) # 4-byte Folded Spill 532da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 140(sp) # 4-byte Folded Spill 533da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 136(sp) # 4-byte Folded Spill 534da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 132(sp) # 4-byte Folded Spill 535da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 128(sp) # 4-byte Folded Spill 536da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 124(sp) # 4-byte Folded Spill 537da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 120(sp) # 4-byte Folded Spill 538da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 116(sp) # 4-byte Folded Spill 539da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 112(sp) # 4-byte Folded Spill 540da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 108(sp) # 4-byte Folded Spill 541da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 542da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 543da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 544da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 545da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 546da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 547da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 548da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 549da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 550da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 551da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 552da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 553da0755f7SAlex Bradbury; RV32ID-NEXT: sw a0, 4(sp) # 4-byte Folded Spill 554da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 555da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 556da0755f7SAlex Bradbury; RV32ID-NEXT: lw a0, 4(sp) # 4-byte Folded Reload 557da0755f7SAlex Bradbury; RV32ID-NEXT: fmv.w.x fa0, a0 558da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 156(sp) # 4-byte Folded Reload 559da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 152(sp) # 4-byte Folded Reload 560da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 148(sp) # 4-byte Folded Reload 561da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 144(sp) # 4-byte Folded Reload 562da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 140(sp) # 4-byte Folded Reload 563da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 136(sp) # 4-byte Folded Reload 564da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 132(sp) # 4-byte Folded Reload 565da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 128(sp) # 4-byte Folded Reload 566da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 124(sp) # 4-byte Folded Reload 567da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 120(sp) # 4-byte Folded Reload 568da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 116(sp) # 4-byte Folded Reload 569da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 112(sp) # 4-byte Folded Reload 570da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 108(sp) # 4-byte Folded Reload 571da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 572da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 573da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 574da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 575da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 576da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 577da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 578da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 579da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 580da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 581da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 582da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 583da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 160 584da0755f7SAlex Bradbury; RV32ID-NEXT: ret 585da0755f7SAlex Bradbury; 586da0755f7SAlex Bradbury; RV64ID-LABEL: fill_i32_to_float: 587da0755f7SAlex Bradbury; RV64ID: # %bb.0: 588da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 589da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 590da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 591da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 592da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 593da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 594da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 595da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 596da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 597da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 598da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 599da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 600da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 601da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 602da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 603da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 604da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 605da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 606da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 607da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 608da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 609da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 610da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 611da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 612da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 613da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 614da0755f7SAlex Bradbury; RV64ID-NEXT: sd a0, 0(sp) # 8-byte Folded Spill 615da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 616da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 617da0755f7SAlex Bradbury; RV64ID-NEXT: ld a0, 0(sp) # 8-byte Folded Reload 618da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.w.x fa0, a0 619da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 620da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 621da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 622da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 623da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 624da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 625da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 626da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 627da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 628da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 629da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 630da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 631da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 632da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 633da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 634da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 635da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 636da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 637da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 638da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 639da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 640da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 641da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 642da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 643da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 644da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 645da0755f7SAlex Bradbury; RV64ID-NEXT: ret 646da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 647da0755f7SAlex Bradbury %1 = bitcast i32 %a to float 648da0755f7SAlex Bradbury ret float %1 649da0755f7SAlex Bradbury} 650da0755f7SAlex Bradbury 651da0755f7SAlex Bradburydefine i32 @fill_float_to_i32(float %a) nounwind { 652da0755f7SAlex Bradbury; RV32ID-LABEL: fill_float_to_i32: 653da0755f7SAlex Bradbury; RV32ID: # %bb.0: 654da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -160 655da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 156(sp) # 4-byte Folded Spill 656da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 152(sp) # 4-byte Folded Spill 657da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 148(sp) # 4-byte Folded Spill 658da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 144(sp) # 4-byte Folded Spill 659da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 140(sp) # 4-byte Folded Spill 660da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 136(sp) # 4-byte Folded Spill 661da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 132(sp) # 4-byte Folded Spill 662da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 128(sp) # 4-byte Folded Spill 663da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 124(sp) # 4-byte Folded Spill 664da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 120(sp) # 4-byte Folded Spill 665da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 116(sp) # 4-byte Folded Spill 666da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 112(sp) # 4-byte Folded Spill 667da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 108(sp) # 4-byte Folded Spill 668da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 669da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 670da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 671da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 672da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 673da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 674da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 675da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 676da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 677da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 678da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 679da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 680da0755f7SAlex Bradbury; RV32ID-NEXT: fsw fa0, 4(sp) # 4-byte Folded Spill 681da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 682da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 683da0755f7SAlex Bradbury; RV32ID-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload 684da0755f7SAlex Bradbury; RV32ID-NEXT: fmv.x.w a0, fa5 685da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 156(sp) # 4-byte Folded Reload 686da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 152(sp) # 4-byte Folded Reload 687da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 148(sp) # 4-byte Folded Reload 688da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 144(sp) # 4-byte Folded Reload 689da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 140(sp) # 4-byte Folded Reload 690da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 136(sp) # 4-byte Folded Reload 691da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 132(sp) # 4-byte Folded Reload 692da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 128(sp) # 4-byte Folded Reload 693da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 124(sp) # 4-byte Folded Reload 694da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 120(sp) # 4-byte Folded Reload 695da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 116(sp) # 4-byte Folded Reload 696da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 112(sp) # 4-byte Folded Reload 697da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 108(sp) # 4-byte Folded Reload 698da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 699da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 700da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 701da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 702da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 703da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 704da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 705da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 706da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 707da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 708da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 709da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 710da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 160 711da0755f7SAlex Bradbury; RV32ID-NEXT: ret 712da0755f7SAlex Bradbury; 713da0755f7SAlex Bradbury; RV64ID-LABEL: fill_float_to_i32: 714da0755f7SAlex Bradbury; RV64ID: # %bb.0: 715da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 716da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 717da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 718da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 719da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 720da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 721da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 722da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 723da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 724da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 725da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 726da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 727da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 728da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 729da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 730da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 731da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 732da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 733da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 734da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 735da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 736da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 737da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 738da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 739da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 740da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 741da0755f7SAlex Bradbury; RV64ID-NEXT: fsw fa0, 4(sp) # 4-byte Folded Spill 742da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 743da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 744da0755f7SAlex Bradbury; RV64ID-NEXT: flw fa5, 4(sp) # 4-byte Folded Reload 745da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.x.w a0, fa5 746da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 747da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 748da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 749da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 750da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 751da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 752da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 753da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 754da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 755da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 756da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 757da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 758da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 759da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 760da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 761da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 762da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 763da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 764da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 765da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 766da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 767da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 768da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 769da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 770da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 771da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 772da0755f7SAlex Bradbury; RV64ID-NEXT: ret 773da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 774da0755f7SAlex Bradbury %1 = bitcast float %a to i32 775da0755f7SAlex Bradbury ret i32 %1 776da0755f7SAlex Bradbury} 777da0755f7SAlex Bradbury 778da0755f7SAlex Bradburydefine double @fill_i64_to_double(i64 %a) nounwind { 779da0755f7SAlex Bradbury; RV32ID-LABEL: fill_i64_to_double: 780da0755f7SAlex Bradbury; RV32ID: # %bb.0: 781da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -176 782da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 172(sp) # 4-byte Folded Spill 783da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 168(sp) # 4-byte Folded Spill 784da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 164(sp) # 4-byte Folded Spill 785da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 160(sp) # 4-byte Folded Spill 786da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 156(sp) # 4-byte Folded Spill 787da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 152(sp) # 4-byte Folded Spill 788da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 148(sp) # 4-byte Folded Spill 789da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 144(sp) # 4-byte Folded Spill 790da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 140(sp) # 4-byte Folded Spill 791da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 136(sp) # 4-byte Folded Spill 792da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 132(sp) # 4-byte Folded Spill 793da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 128(sp) # 4-byte Folded Spill 794da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 124(sp) # 4-byte Folded Spill 795da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 112(sp) # 8-byte Folded Spill 796da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 104(sp) # 8-byte Folded Spill 797da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 96(sp) # 8-byte Folded Spill 798da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 88(sp) # 8-byte Folded Spill 799da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 80(sp) # 8-byte Folded Spill 800da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 72(sp) # 8-byte Folded Spill 801da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 64(sp) # 8-byte Folded Spill 802da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 56(sp) # 8-byte Folded Spill 803da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 48(sp) # 8-byte Folded Spill 804da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 40(sp) # 8-byte Folded Spill 805da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 32(sp) # 8-byte Folded Spill 806da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 24(sp) # 8-byte Folded Spill 807*f5c90f30SCraig Topper; RV32ID-NEXT: sw a1, 12(sp) # 4-byte Folded Spill 808*f5c90f30SCraig Topper; RV32ID-NEXT: sw a0, 8(sp) # 4-byte Folded Spill 809da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 810da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 811*f5c90f30SCraig Topper; RV32ID-NEXT: lw a0, 8(sp) # 4-byte Folded Reload 812*f5c90f30SCraig Topper; RV32ID-NEXT: sw a0, 16(sp) 813*f5c90f30SCraig Topper; RV32ID-NEXT: lw a0, 12(sp) # 4-byte Folded Reload 814*f5c90f30SCraig Topper; RV32ID-NEXT: sw a0, 20(sp) 815*f5c90f30SCraig Topper; RV32ID-NEXT: fld fa0, 16(sp) 816da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 172(sp) # 4-byte Folded Reload 817da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 168(sp) # 4-byte Folded Reload 818da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 164(sp) # 4-byte Folded Reload 819da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 160(sp) # 4-byte Folded Reload 820da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 156(sp) # 4-byte Folded Reload 821da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 152(sp) # 4-byte Folded Reload 822da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 148(sp) # 4-byte Folded Reload 823da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 144(sp) # 4-byte Folded Reload 824da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 140(sp) # 4-byte Folded Reload 825da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 136(sp) # 4-byte Folded Reload 826da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 132(sp) # 4-byte Folded Reload 827da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 128(sp) # 4-byte Folded Reload 828da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 124(sp) # 4-byte Folded Reload 829da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 112(sp) # 8-byte Folded Reload 830da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 104(sp) # 8-byte Folded Reload 831da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 96(sp) # 8-byte Folded Reload 832da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 88(sp) # 8-byte Folded Reload 833da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 80(sp) # 8-byte Folded Reload 834da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 72(sp) # 8-byte Folded Reload 835da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 64(sp) # 8-byte Folded Reload 836da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 56(sp) # 8-byte Folded Reload 837da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 48(sp) # 8-byte Folded Reload 838da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 40(sp) # 8-byte Folded Reload 839da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 32(sp) # 8-byte Folded Reload 840da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 24(sp) # 8-byte Folded Reload 841da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 176 842da0755f7SAlex Bradbury; RV32ID-NEXT: ret 843da0755f7SAlex Bradbury; 844da0755f7SAlex Bradbury; RV64ID-LABEL: fill_i64_to_double: 845da0755f7SAlex Bradbury; RV64ID: # %bb.0: 846da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 847da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 848da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 849da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 850da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 851da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 852da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 853da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 854da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 855da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 856da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 857da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 858da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 859da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 860da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 861da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 862da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 863da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 864da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 865da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 866da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 867da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 868da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 869da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 870da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 871da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 872da0755f7SAlex Bradbury; RV64ID-NEXT: sd a0, 0(sp) # 8-byte Folded Spill 873da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 874da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 875da0755f7SAlex Bradbury; RV64ID-NEXT: ld a0, 0(sp) # 8-byte Folded Reload 876da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.d.x fa0, a0 877da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 878da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 879da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 880da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 881da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 882da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 883da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 884da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 885da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 886da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 887da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 888da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 889da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 890da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 891da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 892da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 893da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 894da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 895da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 896da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 897da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 898da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 899da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 900da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 901da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 902da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 903da0755f7SAlex Bradbury; RV64ID-NEXT: ret 904da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 905da0755f7SAlex Bradbury %1 = bitcast i64 %a to double 906da0755f7SAlex Bradbury ret double %1 907da0755f7SAlex Bradbury} 908da0755f7SAlex Bradbury 909da0755f7SAlex Bradburydefine i64 @fill_double_to_i64(double %a) nounwind { 910da0755f7SAlex Bradbury; RV32ID-LABEL: fill_double_to_i64: 911da0755f7SAlex Bradbury; RV32ID: # %bb.0: 912da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, -176 913da0755f7SAlex Bradbury; RV32ID-NEXT: sw ra, 172(sp) # 4-byte Folded Spill 914da0755f7SAlex Bradbury; RV32ID-NEXT: sw s0, 168(sp) # 4-byte Folded Spill 915da0755f7SAlex Bradbury; RV32ID-NEXT: sw s1, 164(sp) # 4-byte Folded Spill 916da0755f7SAlex Bradbury; RV32ID-NEXT: sw s2, 160(sp) # 4-byte Folded Spill 917da0755f7SAlex Bradbury; RV32ID-NEXT: sw s3, 156(sp) # 4-byte Folded Spill 918da0755f7SAlex Bradbury; RV32ID-NEXT: sw s4, 152(sp) # 4-byte Folded Spill 919da0755f7SAlex Bradbury; RV32ID-NEXT: sw s5, 148(sp) # 4-byte Folded Spill 920da0755f7SAlex Bradbury; RV32ID-NEXT: sw s6, 144(sp) # 4-byte Folded Spill 921da0755f7SAlex Bradbury; RV32ID-NEXT: sw s7, 140(sp) # 4-byte Folded Spill 922da0755f7SAlex Bradbury; RV32ID-NEXT: sw s8, 136(sp) # 4-byte Folded Spill 923da0755f7SAlex Bradbury; RV32ID-NEXT: sw s9, 132(sp) # 4-byte Folded Spill 924da0755f7SAlex Bradbury; RV32ID-NEXT: sw s10, 128(sp) # 4-byte Folded Spill 925da0755f7SAlex Bradbury; RV32ID-NEXT: sw s11, 124(sp) # 4-byte Folded Spill 926da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs0, 112(sp) # 8-byte Folded Spill 927da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs1, 104(sp) # 8-byte Folded Spill 928da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs2, 96(sp) # 8-byte Folded Spill 929da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs3, 88(sp) # 8-byte Folded Spill 930da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs4, 80(sp) # 8-byte Folded Spill 931da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs5, 72(sp) # 8-byte Folded Spill 932da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs6, 64(sp) # 8-byte Folded Spill 933da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs7, 56(sp) # 8-byte Folded Spill 934da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs8, 48(sp) # 8-byte Folded Spill 935da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs9, 40(sp) # 8-byte Folded Spill 936da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs10, 32(sp) # 8-byte Folded Spill 937da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fs11, 24(sp) # 8-byte Folded Spill 938da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fa0, 8(sp) # 8-byte Folded Spill 939da0755f7SAlex Bradbury; RV32ID-NEXT: #APP 940da0755f7SAlex Bradbury; RV32ID-NEXT: #NO_APP 941da0755f7SAlex Bradbury; RV32ID-NEXT: fld fa5, 8(sp) # 8-byte Folded Reload 942da0755f7SAlex Bradbury; RV32ID-NEXT: fsd fa5, 16(sp) 943da0755f7SAlex Bradbury; RV32ID-NEXT: lw a0, 16(sp) 944da0755f7SAlex Bradbury; RV32ID-NEXT: lw a1, 20(sp) 945da0755f7SAlex Bradbury; RV32ID-NEXT: lw ra, 172(sp) # 4-byte Folded Reload 946da0755f7SAlex Bradbury; RV32ID-NEXT: lw s0, 168(sp) # 4-byte Folded Reload 947da0755f7SAlex Bradbury; RV32ID-NEXT: lw s1, 164(sp) # 4-byte Folded Reload 948da0755f7SAlex Bradbury; RV32ID-NEXT: lw s2, 160(sp) # 4-byte Folded Reload 949da0755f7SAlex Bradbury; RV32ID-NEXT: lw s3, 156(sp) # 4-byte Folded Reload 950da0755f7SAlex Bradbury; RV32ID-NEXT: lw s4, 152(sp) # 4-byte Folded Reload 951da0755f7SAlex Bradbury; RV32ID-NEXT: lw s5, 148(sp) # 4-byte Folded Reload 952da0755f7SAlex Bradbury; RV32ID-NEXT: lw s6, 144(sp) # 4-byte Folded Reload 953da0755f7SAlex Bradbury; RV32ID-NEXT: lw s7, 140(sp) # 4-byte Folded Reload 954da0755f7SAlex Bradbury; RV32ID-NEXT: lw s8, 136(sp) # 4-byte Folded Reload 955da0755f7SAlex Bradbury; RV32ID-NEXT: lw s9, 132(sp) # 4-byte Folded Reload 956da0755f7SAlex Bradbury; RV32ID-NEXT: lw s10, 128(sp) # 4-byte Folded Reload 957da0755f7SAlex Bradbury; RV32ID-NEXT: lw s11, 124(sp) # 4-byte Folded Reload 958da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs0, 112(sp) # 8-byte Folded Reload 959da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs1, 104(sp) # 8-byte Folded Reload 960da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs2, 96(sp) # 8-byte Folded Reload 961da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs3, 88(sp) # 8-byte Folded Reload 962da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs4, 80(sp) # 8-byte Folded Reload 963da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs5, 72(sp) # 8-byte Folded Reload 964da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs6, 64(sp) # 8-byte Folded Reload 965da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs7, 56(sp) # 8-byte Folded Reload 966da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs8, 48(sp) # 8-byte Folded Reload 967da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs9, 40(sp) # 8-byte Folded Reload 968da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs10, 32(sp) # 8-byte Folded Reload 969da0755f7SAlex Bradbury; RV32ID-NEXT: fld fs11, 24(sp) # 8-byte Folded Reload 970da0755f7SAlex Bradbury; RV32ID-NEXT: addi sp, sp, 176 971da0755f7SAlex Bradbury; RV32ID-NEXT: ret 972da0755f7SAlex Bradbury; 973da0755f7SAlex Bradbury; RV64ID-LABEL: fill_double_to_i64: 974da0755f7SAlex Bradbury; RV64ID: # %bb.0: 975da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, -208 976da0755f7SAlex Bradbury; RV64ID-NEXT: sd ra, 200(sp) # 8-byte Folded Spill 977da0755f7SAlex Bradbury; RV64ID-NEXT: sd s0, 192(sp) # 8-byte Folded Spill 978da0755f7SAlex Bradbury; RV64ID-NEXT: sd s1, 184(sp) # 8-byte Folded Spill 979da0755f7SAlex Bradbury; RV64ID-NEXT: sd s2, 176(sp) # 8-byte Folded Spill 980da0755f7SAlex Bradbury; RV64ID-NEXT: sd s3, 168(sp) # 8-byte Folded Spill 981da0755f7SAlex Bradbury; RV64ID-NEXT: sd s4, 160(sp) # 8-byte Folded Spill 982da0755f7SAlex Bradbury; RV64ID-NEXT: sd s5, 152(sp) # 8-byte Folded Spill 983da0755f7SAlex Bradbury; RV64ID-NEXT: sd s6, 144(sp) # 8-byte Folded Spill 984da0755f7SAlex Bradbury; RV64ID-NEXT: sd s7, 136(sp) # 8-byte Folded Spill 985da0755f7SAlex Bradbury; RV64ID-NEXT: sd s8, 128(sp) # 8-byte Folded Spill 986da0755f7SAlex Bradbury; RV64ID-NEXT: sd s9, 120(sp) # 8-byte Folded Spill 987da0755f7SAlex Bradbury; RV64ID-NEXT: sd s10, 112(sp) # 8-byte Folded Spill 988da0755f7SAlex Bradbury; RV64ID-NEXT: sd s11, 104(sp) # 8-byte Folded Spill 989da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs0, 96(sp) # 8-byte Folded Spill 990da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs1, 88(sp) # 8-byte Folded Spill 991da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs2, 80(sp) # 8-byte Folded Spill 992da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs3, 72(sp) # 8-byte Folded Spill 993da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs4, 64(sp) # 8-byte Folded Spill 994da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs5, 56(sp) # 8-byte Folded Spill 995da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs6, 48(sp) # 8-byte Folded Spill 996da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs7, 40(sp) # 8-byte Folded Spill 997da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs8, 32(sp) # 8-byte Folded Spill 998da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs9, 24(sp) # 8-byte Folded Spill 999da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs10, 16(sp) # 8-byte Folded Spill 1000da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fs11, 8(sp) # 8-byte Folded Spill 1001da0755f7SAlex Bradbury; RV64ID-NEXT: fsd fa0, 0(sp) # 8-byte Folded Spill 1002da0755f7SAlex Bradbury; RV64ID-NEXT: #APP 1003da0755f7SAlex Bradbury; RV64ID-NEXT: #NO_APP 1004da0755f7SAlex Bradbury; RV64ID-NEXT: fld fa5, 0(sp) # 8-byte Folded Reload 1005da0755f7SAlex Bradbury; RV64ID-NEXT: fmv.x.d a0, fa5 1006da0755f7SAlex Bradbury; RV64ID-NEXT: ld ra, 200(sp) # 8-byte Folded Reload 1007da0755f7SAlex Bradbury; RV64ID-NEXT: ld s0, 192(sp) # 8-byte Folded Reload 1008da0755f7SAlex Bradbury; RV64ID-NEXT: ld s1, 184(sp) # 8-byte Folded Reload 1009da0755f7SAlex Bradbury; RV64ID-NEXT: ld s2, 176(sp) # 8-byte Folded Reload 1010da0755f7SAlex Bradbury; RV64ID-NEXT: ld s3, 168(sp) # 8-byte Folded Reload 1011da0755f7SAlex Bradbury; RV64ID-NEXT: ld s4, 160(sp) # 8-byte Folded Reload 1012da0755f7SAlex Bradbury; RV64ID-NEXT: ld s5, 152(sp) # 8-byte Folded Reload 1013da0755f7SAlex Bradbury; RV64ID-NEXT: ld s6, 144(sp) # 8-byte Folded Reload 1014da0755f7SAlex Bradbury; RV64ID-NEXT: ld s7, 136(sp) # 8-byte Folded Reload 1015da0755f7SAlex Bradbury; RV64ID-NEXT: ld s8, 128(sp) # 8-byte Folded Reload 1016da0755f7SAlex Bradbury; RV64ID-NEXT: ld s9, 120(sp) # 8-byte Folded Reload 1017da0755f7SAlex Bradbury; RV64ID-NEXT: ld s10, 112(sp) # 8-byte Folded Reload 1018da0755f7SAlex Bradbury; RV64ID-NEXT: ld s11, 104(sp) # 8-byte Folded Reload 1019da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs0, 96(sp) # 8-byte Folded Reload 1020da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs1, 88(sp) # 8-byte Folded Reload 1021da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs2, 80(sp) # 8-byte Folded Reload 1022da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs3, 72(sp) # 8-byte Folded Reload 1023da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs4, 64(sp) # 8-byte Folded Reload 1024da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs5, 56(sp) # 8-byte Folded Reload 1025da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs6, 48(sp) # 8-byte Folded Reload 1026da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs7, 40(sp) # 8-byte Folded Reload 1027da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs8, 32(sp) # 8-byte Folded Reload 1028da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs9, 24(sp) # 8-byte Folded Reload 1029da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs10, 16(sp) # 8-byte Folded Reload 1030da0755f7SAlex Bradbury; RV64ID-NEXT: fld fs11, 8(sp) # 8-byte Folded Reload 1031da0755f7SAlex Bradbury; RV64ID-NEXT: addi sp, sp, 208 1032da0755f7SAlex Bradbury; RV64ID-NEXT: ret 1033da0755f7SAlex Bradbury call void asm sideeffect "", "~{x0},~{x1},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{x29},~{x30},~{x31},~{f0_d},~{f1_d},~{f2_d},~{f3_d},~{f4_d},~{f5_d},~{f6_d},~{f7_d},~{f8_d},~{f9_d},~{f10_d},~{f11_d},~{f12_d},~{f13_d},~{f14_d},~{f15_d},~{f16_d},~{f17_d},~{f18_d},~{f19_d},~{f20_d},~{f21_d},~{f22_d},~{f23_d},~{f24_d},~{f25_d},~{f26_d},~{f27_d},~{f28_d},~{f29_d},~{f30_d},~{f31_d}"() nounwind 1034da0755f7SAlex Bradbury %1 = bitcast double %a to i64 1035da0755f7SAlex Bradbury ret i64 %1 1036da0755f7SAlex Bradbury} 1037