summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2011-12-09 14:26:28 +0000
committerAndy Polyakov <appro@openssl.org>2011-12-09 14:26:28 +0000
commit8ee0591f284bf984c13a0fe5dbac02315fe4c786 (patch)
tree01135a2ea8f1be5356adfb9adc2476dcde68f837
parent97d0c596a165727a33ca233739ea23ba464c28b8 (diff)
x86-mont.pl: fix bug in integer-only squaring path.
PR: 2648
-rwxr-xr-xcrypto/bn/asm/x86-mont.pl4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/bn/asm/x86-mont.pl b/crypto/bn/asm/x86-mont.pl
index 5cd3cd2ed5..e8f6b05084 100755
--- a/crypto/bn/asm/x86-mont.pl
+++ b/crypto/bn/asm/x86-mont.pl
@@ -527,8 +527,10 @@ $sbit=$num;
&jle (&label("sqradd"));
&mov ($carry,"edx");
- &lea ("edx",&DWP(0,$sbit,"edx",2));
+ &add ("edx","edx");
&shr ($carry,31);
+ &add ("edx",$sbit);
+ &adc ($carry,0);
&set_label("sqrlast");
&mov ($word,$_n0);
&mov ($inp,$_np);