--- a/libs/context/src/asm/jump_mips64_n64_elf_gas.S
|
|
+++ b/libs/context/src/asm/jump_mips64_n64_elf_gas.S
|
|
@@ -67,7 +67,7 @@ jump_fcontext:
|
|
sd $ra, 144($sp) # save RA
|
|
sd $ra, 152($sp) # save RA as PC
|
|
|
|
-
|
|
+#if defined(__mips_hard_float)
|
|
s.d $f24, 0($sp) # save F24
|
|
s.d $f25, 8($sp) # save F25
|
|
s.d $f26, 16($sp) # save F26
|
|
@@ -76,6 +76,7 @@ jump_fcontext:
|
|
s.d $f29, 40($sp) # save F29
|
|
s.d $f30, 48($sp) # save F30
|
|
s.d $f31, 56($sp) # save F31
|
|
+#endif
|
|
|
|
# store SP (pointing to old context-data) in v0 as return
|
|
move $v0, $sp
|
|
@@ -83,6 +84,7 @@ jump_fcontext:
|
|
# get SP (pointing to new context-data) from a0 param
|
|
move $sp, $a0
|
|
|
|
+#if defined(__mips_hard_float)
|
|
l.d $f24, 0($sp) # restore F24
|
|
l.d $f25, 8($sp) # restore F25
|
|
l.d $f26, 16($sp) # restore F26
|
|
@@ -91,6 +93,7 @@ jump_fcontext:
|
|
l.d $f29, 40($sp) # restore F29
|
|
l.d $f30, 48($sp) # restore F30
|
|
l.d $f31, 56($sp) # restore F31
|
|
+#endif
|
|
|
|
ld $s0, 64($sp) # restore S0
|
|
ld $s1, 72($sp) # restore S1
|
|
--- a/libs/context/src/asm/ontop_mips64_n64_elf_gas.S
|
|
+++ b/libs/context/src/asm/ontop_mips64_n64_elf_gas.S
|
|
@@ -67,7 +67,7 @@ ontop_fcontext:
|
|
sd $ra, 144($sp) # save RA
|
|
sd $ra, 152($sp) # save RA as PC
|
|
|
|
-
|
|
+#if defined(__mips_hard_float)
|
|
s.d $f24, 0($sp) # save F24
|
|
s.d $f25, 8($sp) # save F25
|
|
s.d $f26, 16($sp) # save F26
|
|
@@ -76,6 +76,7 @@ ontop_fcontext:
|
|
s.d $f29, 40($sp) # save F29
|
|
s.d $f30, 48($sp) # save F30
|
|
s.d $f31, 56($sp) # save F31
|
|
+#endif
|
|
|
|
# store SP (pointing to context-data) in t0
|
|
move $t0, $sp
|
|
@@ -83,6 +84,7 @@ ontop_fcontext:
|
|
# restore SP (pointing to context-data) from a0
|
|
move $sp, $a0
|
|
|
|
+#if defined(__mips_hard_float)
|
|
l.d $f24, 0($sp) # restore F24
|
|
l.d $f25, 8($sp) # restore F25
|
|
l.d $f26, 16($sp) # restore F26
|
|
@@ -91,6 +93,7 @@ ontop_fcontext:
|
|
l.d $f29, 40($sp) # restore F29
|
|
l.d $f30, 48($sp) # restore F30
|
|
l.d $f31, 56($sp) # restore F31
|
|
+#endif
|
|
|
|
ld $s0, 64($sp) # restore S0
|
|
ld $s1, 72($sp) # restore S1
|