summaryrefslogtreecommitdiff
path: root/src/setjmp/sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/setjmp/sh')
-rw-r--r--src/setjmp/sh/longjmp.S (renamed from src/setjmp/sh/longjmp.s)2
-rw-r--r--src/setjmp/sh/setjmp.S (renamed from src/setjmp/sh/setjmp.s)4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/setjmp/sh/longjmp.s b/src/setjmp/sh/longjmp.S
index e9aa4e50..08f668b8 100644
--- a/src/setjmp/sh/longjmp.s
+++ b/src/setjmp/sh/longjmp.S
@@ -13,10 +13,12 @@ longjmp:
mov.l @r4+, r14
mov.l @r4+, r15
lds.l @r4+, pr
+#if __SH_FPU_ANY__ || __SH4__
fmov.s @r4+, fr12
fmov.s @r4+, fr13
fmov.s @r4+, fr14
fmov.s @r4+, fr15
+#endif
tst r5, r5
movt r0
diff --git a/src/setjmp/sh/setjmp.s b/src/setjmp/sh/setjmp.S
index ffde8687..d476e639 100644
--- a/src/setjmp/sh/setjmp.s
+++ b/src/setjmp/sh/setjmp.S
@@ -10,11 +10,15 @@ ___setjmp:
__setjmp:
_setjmp:
setjmp:
+#if __SH_FPU_ANY__ || __SH4__
add #52, r4
fmov.s fr15, @-r4
fmov.s fr14, @-r4
fmov.s fr13, @-r4
fmov.s fr12, @-r4
+#else
+ add #36, r4
+#endif
sts.l pr, @-r4
mov.l r15, @-r4
mov.l r14, @-r4