diff --git a/crypto/ppccap.c b/crypto/ppccap.c index 6ccd99185..ab89ccaa1 100644 --- a/crypto/ppccap.c +++ b/crypto/ppccap.c @@ -22,7 +22,7 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U if (sizeof(size_t)==4) { #if (defined(__APPLE__) && defined(__MACH__)) - if ((OPENSSL_ppccap_P&PPC_FPU64)) + if (num>=8 && (num&3)==0 && (OPENSSL_ppccap_P&PPC_FPU64)) return bn_mul_mont_fpu64(rp,ap,bp,np,n0,num); #else /* boundary of 32 was experimentally determined on