diff options
author | Andy Polyakov <appro@openssl.org> | 1999-07-21 13:53:01 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 1999-07-21 13:53:01 +0000 |
commit | cea538154bfb543b5fe1d2556a779cccd2572a5e (patch) | |
tree | 977167ec016d257cc572040666e666d6f3e666a6 /crypto/bn/bn_asm.c | |
parent | 5f12fc006e54f903dfbcebb3198f0dbcbec54da7 (diff) |
Get rid of redundant multiplications in bn_div_words.
Diffstat (limited to 'crypto/bn/bn_asm.c')
-rw-r--r-- | crypto/bn/bn_asm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/crypto/bn/bn_asm.c b/crypto/bn/bn_asm.c index 7f4c3ff3b2..286a0f1e74 100644 --- a/crypto/bn/bn_asm.c +++ b/crypto/bn/bn_asm.c @@ -266,16 +266,16 @@ BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d) for (;;) { - t=(h-q*dh); + t=(h-(th=q*dh)); + tl=BN_MASK2; if ((t&BN_MASK2h) || - ((dl*q) <= ( - (t<<BN_BITS4)+ + ((tl=dl*q) <= ( + (t<<BN_BITS4)| ((l&BN_MASK2h)>>BN_BITS4)))) break; q--; } - th=q*dh; - tl=q*dl; + if (tl==BN_MASK2) tl=q*dl; t=(tl>>BN_BITS4); tl=(tl<<BN_BITS4)&BN_MASK2h; th+=t; |