X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fsparcv9cap.c;h=b961cbe3fa114af4050226236f3ec2e10378b930;hp=ad4b3be718da69877a5adfe64bbe68d2d154a2e7;hb=62f29eb1cf7957b4eb9ad60eccfe1e11bbac94ce;hpb=f8501464cc8fd8b7b4983462944a1894b157d735 diff --git a/crypto/sparcv9cap.c b/crypto/sparcv9cap.c index ad4b3be718..b961cbe3fa 100644 --- a/crypto/sparcv9cap.c +++ b/crypto/sparcv9cap.c @@ -20,7 +20,8 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U int bn_mul_mont_fpu(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,const BN_ULONG *n0, int num); int bn_mul_mont_int(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,const BN_ULONG *n0, int num); - if ((OPENSSL_sparcv9cap_P&(SPARCV9_PREFER_FPU|SPARCV9_VIS1)) == + if (num>=8 && !(num&1) && + (OPENSSL_sparcv9cap_P&(SPARCV9_PREFER_FPU|SPARCV9_VIS1)) == (SPARCV9_PREFER_FPU|SPARCV9_VIS1)) return bn_mul_mont_fpu(rp,ap,bp,np,n0,num); else