10-float.s 1.48 KB
Newer Older
jhe's avatar
jhe committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
	.text
	.globl main
	.type main, @function
main:
	st.d $ra, $sp, -8
	st.d $fp, $sp, -16
	addi.d $fp, $sp, 0
	addi.d $sp, $sp, -80
.main_label_entry:
# %op0 = alloca float
	addi.d $t0, $fp, -28
	st.d $t0, $fp, -24
# %op1 = alloca float
	addi.d $t0, $fp, -40
	st.d $t0, $fp, -36
# %op2 = alloca float
	addi.d $t0, $fp, -52
	st.d $t0, $fp, -48
# store float 0x3ff19999a0000000, float* %op0
	ld.d $t0, $fp, -24
	lu12i.w $t8, 260300
	ori $t8, $t8, 3277
	movgr2fr.w $ft0, $t8
	fst.s $ft0, $t0, 0
# store float 0x3ff8000000000000, float* %op1
	ld.d $t0, $fp, -36
	lu12i.w $t8, 261120
	ori $t8, $t8, 0
	movgr2fr.w $ft0, $t8
	fst.s $ft0, $t0, 0
# store float 0x3ff3333340000000, float* %op2
	ld.d $t0, $fp, -48
	lu12i.w $t8, 260505
	ori $t8, $t8, 2458
	movgr2fr.w $ft0, $t8
	fst.s $ft0, $t0, 0
# %op3 = load float, float* %op0
	ld.d $t0, $fp, -24
	fld.s $ft0, $t0, 0
	fst.s $ft0, $fp, -56
# %op4 = load float, float* %op1
	ld.d $t0, $fp, -36
	fld.s $ft0, $t0, 0
	fst.s $ft0, $fp, -60
# %op5 = fmul float %op3, %op4
	fld.s $ft0, $fp, -56
	fld.s $ft1, $fp, -60
	fmul.s $ft2, $ft0, $ft1
	fst.s $ft2, $fp, -64
# %op6 = load float, float* %op2
	ld.d $t0, $fp, -48
	fld.s $ft0, $t0, 0
	fst.s $ft0, $fp, -68
# %op7 = fadd float %op5, %op6
	fld.s $ft0, $fp, -64
	fld.s $ft1, $fp, -68
	fadd.s $ft2, $ft0, $ft1
	fst.s $ft2, $fp, -72
# call void @outputFloat(float %op7)
	fld.s $fa0, $fp, -72
	bl outputFloat
# ret i32 0
	addi.w $a0, $zero, 0
	b main_exit
main_exit:
	addi.d $sp, $sp, 80
	ld.d $ra, $sp, -8
	ld.d $fp, $sp, -16
	jr $ra