X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fsparcv9cap.c;h=b961cbe3fa114af4050226236f3ec2e10378b930;hb=8d1b199d26c26ad75e767ddd257a952da91ce6f9;hp=ad4b3be718da69877a5adfe64bbe68d2d154a2e7;hpb=5fabb88a7816f19090384e45bb8f2a22c7f290fb;p=oweals%2Fopenssl.git 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