summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortege <tege@gmplib.org>2002-05-21 01:33:57 +0200
committertege <tege@gmplib.org>2002-05-21 01:33:57 +0200
commit5006aae27e1a6fb3616a9b18710e8535bce41634 (patch)
tree55539ed307546bda29cf5d99e768f1414a7f7e14
parentd9c394bf83e2be9e03db34e4f52c8fc02fb61ae5 (diff)
downloadgmp-5006aae27e1a6fb3616a9b18710e8535bce41634.tar.gz
From Jakub Jelinek:
(add_ssaaaa,sub_ddmmss) [64-bit sparc]: Make it actually work.
-rw-r--r--longlong.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/longlong.h b/longlong.h
index fdff795dd..d4da24123 100644
--- a/longlong.h
+++ b/longlong.h
@@ -1347,21 +1347,21 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO ((UWtype *, UWtype, UWtype, UWtype));
#if defined (__sparc__) && W_TYPE_SIZE == 64
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ( \
- "addcc %4,%5,%1\n" \
- " addccc %6,%7,%%g0\n" \
- " addc %2,%3,%0" \
+ "addcc %r4,%5,%1\n" \
+ " addccc %r6,%7,%%g0\n" \
+ " addc %r2,%3,%0" \
: "=r" (sh), "=&r" (sl) \
: "%rJ" (ah), "rI" (bh), "%rJ" (al), "rI" (bl), \
- "rJ" ((al) >> 32), "rJ" ((bl) >> 32) \
+ "%rJ" ((al) >> 32), "rI" ((bl) >> 32) \
__CLOBBER_CC)
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
__asm__ ( \
- "subcc %4,%5,%1\n" \
- " subccc %6,%7,%%g0\n" \
- " subc %2,%3,%0" \
+ "subcc %r4,%5,%1\n" \
+ " subccc %r6,%7,%%g0\n" \
+ " subc %r2,%3,%0" \
: "=r" (sh), "=&r" (sl) \
- : "%rJ" (ah), "rI" (bh), "%rJ" (al), "rI" (bl), \
- "rJ" ((al) >> 32), "rJ" ((bl) >> 32) \
+ : "rJ" (ah), "rI" (bh), "rJ" (al), "rI" (bl), \
+ "rJ" ((al) >> 32), "rI" ((bl) >> 32) \
__CLOBBER_CC)
#endif