summaryrefslogtreecommitdiffstats
path: root/lib/libc/powerpc/gen/_setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/powerpc/gen/_setjmp.S')
-rw-r--r--lib/libc/powerpc/gen/_setjmp.S42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/libc/powerpc/gen/_setjmp.S b/lib/libc/powerpc/gen/_setjmp.S
index e28386c..663a8b6 100644
--- a/lib/libc/powerpc/gen/_setjmp.S
+++ b/lib/libc/powerpc/gen/_setjmp.S
@@ -56,12 +56,54 @@ ENTRY(_setjmp)
mr %r10,%r1
mr %r9,%r2
stmw %r9,20(%r3)
+
+ /* FPRs */
+ stfd %f14,112+0*8(%r3)
+ stfd %f15,112+1*8(%r3)
+ stfd %f16,112+2*8(%r3)
+ stfd %f17,112+3*8(%r3)
+ stfd %f18,112+4*8(%r3)
+ stfd %f19,112+5*8(%r3)
+ stfd %f20,112+6*8(%r3)
+ stfd %f21,112+7*8(%r3)
+ stfd %f22,112+8*8(%r3)
+ stfd %f23,112+9*8(%r3)
+ stfd %f24,112+10*8(%r3)
+ stfd %f25,112+11*8(%r3)
+ stfd %f26,112+12*8(%r3)
+ stfd %f27,112+13*8(%r3)
+ stfd %f28,112+14*8(%r3)
+ stfd %f29,112+15*8(%r3)
+ stfd %f30,112+16*8(%r3)
+ stfd %f31,112+17*8(%r3)
+
li %r3,0
blr
END(_setjmp)
ENTRY(_longjmp)
lmw %r9,20(%r3)
+
+ /* FPRs */
+ lfd %f14,112+0*8(%r3)
+ lfd %f15,112+1*8(%r3)
+ lfd %f16,112+2*8(%r3)
+ lfd %f17,112+3*8(%r3)
+ lfd %f18,112+4*8(%r3)
+ lfd %f19,112+5*8(%r3)
+ lfd %f20,112+6*8(%r3)
+ lfd %f21,112+7*8(%r3)
+ lfd %f22,112+8*8(%r3)
+ lfd %f23,112+9*8(%r3)
+ lfd %f24,112+10*8(%r3)
+ lfd %f25,112+11*8(%r3)
+ lfd %f26,112+12*8(%r3)
+ lfd %f27,112+13*8(%r3)
+ lfd %f28,112+14*8(%r3)
+ lfd %f29,112+15*8(%r3)
+ lfd %f30,112+16*8(%r3)
+ lfd %f31,112+17*8(%r3)
+
mtlr %r11
mtcr %r12
mr %r1,%r10
OpenPOWER on IntegriCloud