summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-04-03 18:53:29 +0000
committerAndy Polyakov <appro@openssl.org>2005-04-03 18:53:29 +0000
commit60fd574cdfa5e4984f1ec193775b869fe99f544c (patch)
tree69ff506c25dbf348cf5bddaebae34c2a278446d1
parent73705abc3411ac09aaea674a8fad35a019bc90f3 (diff)
downloadopenssl-new-60fd574cdfa5e4984f1ec193775b869fe99f544c.tar.gz
Make bn/asm/x86_64-gcc.c gcc4 savvy. +r is likely to be initially
introduced for a reason [like bug in initial gcc port], but proposed =&r is treated correctly by senior 3.2, so we can assume it's safe now. PR: 1031
-rw-r--r--crypto/bn/asm/x86_64-gcc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/bn/asm/x86_64-gcc.c b/crypto/bn/asm/x86_64-gcc.c
index d13ec5a468..7378344251 100644
--- a/crypto/bn/asm/x86_64-gcc.c
+++ b/crypto/bn/asm/x86_64-gcc.c
@@ -186,7 +186,7 @@ BN_ULONG bn_add_words (BN_ULONG *rp, BN_ULONG *ap, BN_ULONG *bp,int n)
" leaq 1(%2),%2 \n"
" loop 1b \n"
" sbbq %0,%0 \n"
- : "+a"(ret),"+c"(n),"+r"(i)
+ : "=&a"(ret),"+c"(n),"=&r"(i)
: "r"(rp),"r"(ap),"r"(bp)
: "cc"
);
@@ -209,7 +209,7 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, BN_ULONG *ap, BN_ULONG *bp,int n)
" leaq 1(%2),%2 \n"
" loop 1b \n"
" sbbq %0,%0 \n"
- : "+a"(ret),"+c"(n),"+r"(i)
+ : "=&a"(ret),"+c"(n),"=&r"(i)
: "r"(rp),"r"(ap),"r"(bp)
: "cc"
);