summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/darwin-fpsave.asm
diff options
context:
space:
mode:
authorStan Shebs <shebs@apple.com>2004-12-09 18:25:15 +0000
committerStan Shebs <shebs@gcc.gnu.org>2004-12-09 18:25:15 +0000
commitdc4d6ffa26ba4902c278fe0e11053ad4813a762c (patch)
tree1f1bc5c17b0dd7a123c0c9718c6193ffd68a420a /gcc/config/rs6000/darwin-fpsave.asm
parent366e6bd1733bb53b0f555ea4365e9d16f24fa143 (diff)
downloadgcc-dc4d6ffa26ba4902c278fe0e11053ad4813a762c.tar.gz
darwin-asm.h: New file, 32/64-bit assembly macros formerly in darwin-tramp.asm.
* config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros formerly in darwin-tramp.asm. * config/rs6000/darwin-tramp.asm: Include darwin-asm.h. * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros. * config/rs6000/t-darwin: Add dependencies. From-SVN: r91960
Diffstat (limited to 'gcc/config/rs6000/darwin-fpsave.asm')
-rw-r--r--gcc/config/rs6000/darwin-fpsave.asm10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/rs6000/darwin-fpsave.asm b/gcc/config/rs6000/darwin-fpsave.asm
index c8c646b09db..4e6e2fa86d3 100644
--- a/gcc/config/rs6000/darwin-fpsave.asm
+++ b/gcc/config/rs6000/darwin-fpsave.asm
@@ -40,10 +40,12 @@
MORAL: DO NOT MESS AROUND WITH THESE FUNCTIONS! */
+#include "darwin-asm.h"
+
.text
.align 2
-/* saveFP saves R0 -- assumed to be the callers LR -- to 8(R1). */
+/* saveFP saves R0 -- assumed to be the callers LR -- to 8/16(R1). */
.private_extern saveFP
saveFP:
@@ -65,10 +67,10 @@ saveFP:
stfd f29,-24(r1)
stfd f30,-16(r1)
stfd f31,-8(r1)
- stw r0,8(r1)
+ stg r0,SAVED_LR_OFFSET(r1)
blr
-/* restFP restores the caller`s LR from 8(R1). Note that the code for
+/* restFP restores the caller`s LR from 8/16(R1). Note that the code for
this starts at the offset of F30 restoration, so calling this
routine in an attempt to restore only F31 WILL NOT WORK (it would
be a stupid thing to do, anyway.) */
@@ -92,7 +94,7 @@ restFP:
lfd f28,-32(r1)
lfd f29,-24(r1)
/* <OFFSET OF F30 RESTORE> restore callers LR */
- lwz r0,8(r1)
+ lg r0,SAVED_LR_OFFSET(r1)
lfd f30,-16(r1)
/* and prepare for return to caller */
mtlr r0