summaryrefslogtreecommitdiffstats
path: root/crypto/bn/bn_asm.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-10-22 20:20:06 +0000
committerAndy Polyakov <appro@openssl.org>2005-10-22 20:20:06 +0000
commit8c0ceb17a245a8784e0f7dce44c5a2ac6510f307 (patch)
treea76e82e540c7fc3b43f25d2f6b932916c8ee4c02 /crypto/bn/bn_asm.c
parentc2012f9b8253f72aa6259b6c42b56aead25a4e33 (diff)
bn_asm.c update.
Diffstat (limited to 'crypto/bn/bn_asm.c')
-rw-r--r--crypto/bn/bn_asm.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/crypto/bn/bn_asm.c b/crypto/bn/bn_asm.c
index acb9937504..230258bcdd 100644
--- a/crypto/bn/bn_asm.c
+++ b/crypto/bn/bn_asm.c
@@ -828,7 +828,9 @@ void bn_sqr_comba4(BN_ULONG *r, const BN_ULONG *a)
r[7]=c2;
}
+#ifdef OPENSSL_NO_ASM
#ifdef OPENSSL_BN_ASM_MONT
+#include <alloca.h>
/*
* This is essentially reference implementation, which may or may not
* result in performance improvement. E.g. on IA-32 this routine was
@@ -914,9 +916,10 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U
* performed to signal the caller to fall down to alternative/original
* code-path.
*/
-int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,BN_ULONG n0, int num)
+int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,const BN_ULONG *n0, int num)
{ return 0; }
#endif /* OPENSSL_BN_ASM_MONT */
+#endif
#else /* !BN_MUL_COMBA */
@@ -955,10 +958,12 @@ void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
r[15]=bn_mul_add_words(&(r[7]),a,8,b[7]);
}
+#ifdef OPENSSL_NO_ASM
#ifdef OPENSSL_BN_ASM_MONT
-int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,BN_ULONG n0, int num)
+#include <alloca.h>
+int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,const BN_ULONG *n0p, int num)
{
- BN_ULONG c0,c1,*tp;
+ BN_ULONG c0,c1,*tp,n0=*n0p;
volatile BN_ULONG *vp;
int i=0,j;
@@ -995,8 +1000,9 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U
return 1;
}
#else
-int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,BN_ULONG n0, int num)
+int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,const BN_ULONG *n0, int num)
{ return 0; }
#endif /* OPENSSL_BN_ASM_MONT */
+#endif
#endif /* !BN_MUL_COMBA */