ppccap.c: addenum to recent EC optimizations.
authorAndy Polyakov <appro@openssl.org>
Sat, 21 May 2011 10:17:02 +0000 (10:17 +0000)
committerAndy Polyakov <appro@openssl.org>
Sat, 21 May 2011 10:17:02 +0000 (10:17 +0000)
crypto/ppccap.c

index 6ccd99185d379d779c3a65960fc9ae47f8ccd2b4..ab89ccaa12c8d1bfd165171fb91d10b69e76e94e 100644 (file)
@@ -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