summaryrefslogtreecommitdiff
path: root/mpn/powerpc64/rshift.asm
diff options
context:
space:
mode:
authortege <tege@gmplib.org>2003-10-19 13:09:53 +0200
committertege <tege@gmplib.org>2003-10-19 13:09:53 +0200
commit20d0036d457c06a91c8c92c4ee8783ff543cdaf6 (patch)
tree5bee6ff00f64542ed50c1430a639fc3cace40822 /mpn/powerpc64/rshift.asm
parent73bbe758665ba1fba155446e45f3484b5922282c (diff)
downloadgmp-20d0036d457c06a91c8c92c4ee8783ff543cdaf6.tar.gz
Handle mode32 ABI.
Diffstat (limited to 'mpn/powerpc64/rshift.asm')
-rw-r--r--mpn/powerpc64/rshift.asm12
1 files changed, 10 insertions, 2 deletions
diff --git a/mpn/powerpc64/rshift.asm b/mpn/powerpc64/rshift.asm
index d295b295b..b9fdeebc0 100644
--- a/mpn/powerpc64/rshift.asm
+++ b/mpn/powerpc64/rshift.asm
@@ -87,7 +87,11 @@ PROLOGUE(mpn_rshift)
or h1, v0, h1
std h1, 8(rp)
.L1: std h0, 16(rp)
- mr r3, r12
+ifdef(`HAVE_ABI_mode32',
+` srdi r3, r12, 32
+ mr r4, r12
+',` mr r3, r12
+')
blr
.Lexit: sld v0, u0, tnc
@@ -99,6 +103,10 @@ PROLOGUE(mpn_rshift)
or h0, v1, h0
stdu h0, 16(rp)
std h1, 8(rp)
- mr r3, r12
+ifdef(`HAVE_ABI_mode32',
+` srdi r3, r12, 32
+ mr r4, r12
+',` mr r3, r12
+')
blr
EPILOGUE()