add floating point register saving/restoring to mips setjmp/longjmp
[musl] / src / setjmp / mips / longjmp.s
index 9cf6f8d..fc8e726 100644 (file)
@@ -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)