summaryrefslogtreecommitdiff
path: root/src/setjmp
diff options
context:
space:
mode:
Diffstat (limited to 'src/setjmp')
-rw-r--r--src/setjmp/mips/longjmp.s16
-rw-r--r--src/setjmp/mips/setjmp.s14
2 files changed, 29 insertions, 1 deletions
diff --git a/src/setjmp/mips/longjmp.s b/src/setjmp/mips/longjmp.s
index 9cf6f8d0..fc8e7260 100644
--- a/src/setjmp/mips/longjmp.s
+++ b/src/setjmp/mips/longjmp.s
@@ -10,7 +10,21 @@ longjmp:
bne $2, $0, 1f
nop
addu $2, $2, 1
-1: lw $ra, 0($4)
+1: lw $8, 48($4)
+ ctc1 $8, $31
+ lwc1 $20, 56($4)
+ lwc1 $21, 60($4)
+ lwc1 $22, 64($4)
+ lwc1 $23, 68($4)
+ lwc1 $24, 72($4)
+ lwc1 $25, 76($4)
+ lwc1 $26, 80($4)
+ lwc1 $27, 84($4)
+ lwc1 $28, 88($4)
+ lwc1 $29, 92($4)
+ lwc1 $30, 96($4)
+ lwc1 $31, 100($4)
+ lw $ra, 0($4)
lw $sp, 4($4)
lw $16, 8($4)
lw $17, 12($4)
diff --git a/src/setjmp/mips/setjmp.s b/src/setjmp/mips/setjmp.s
index 38ed5e00..1b79525f 100644
--- a/src/setjmp/mips/setjmp.s
+++ b/src/setjmp/mips/setjmp.s
@@ -21,5 +21,19 @@ setjmp:
sw $23, 36($4)
sw $30, 40($4)
sw $28, 44($4)
+ cfc1 $8, $31
+ sw $8, 48($4)
+ swc1 $20, 56($4)
+ swc1 $21, 60($4)
+ swc1 $22, 64($4)
+ swc1 $23, 68($4)
+ swc1 $24, 72($4)
+ swc1 $25, 76($4)
+ swc1 $26, 80($4)
+ swc1 $27, 84($4)
+ swc1 $28, 88($4)
+ swc1 $29, 92($4)
+ swc1 $30, 96($4)
+ swc1 $31, 100($4)
jr $ra
li $2, 0