From 500230ee94ef5fc9d08b3cf7c92996f4366f1584 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Tue, 27 Mar 2001 22:30:46 +0000 Subject: [PATCH] The IRIX fix. Asm recap and corresponding declation. Submitted by: Reviewed by: PR: --- crypto/bn/asm/mips3.s | 8 ++++---- crypto/bn/bn_div.c | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crypto/bn/asm/mips3.s b/crypto/bn/asm/mips3.s index 2df4dcd4b0..45786c00a5 100644 --- a/crypto/bn/asm/mips3.s +++ b/crypto/bn/asm/mips3.s @@ -586,13 +586,13 @@ LEAF(bn_div_3_words) ld a0,(a3) move ta2,a1 ld a1,-8(a3) - move ta3,ra - move v1,zero + bne a0,a2,.L_bn_div_3_words_proceed li v0,-1 - beq a0,a2,.L_bn_div_3_words_skip_div + jr ra +.L_bn_div_3_words_proceed: + move ta3,ra bal bn_div_words move ra,ta3 -.L_bn_div_3_words_skip_div: dmultu ta2,v0 ld t2,-16(a3) move ta0,zero diff --git a/crypto/bn/bn_div.c b/crypto/bn/bn_div.c index bbd0994008..d0b68dc246 100644 --- a/crypto/bn/bn_div.c +++ b/crypto/bn/bn_div.c @@ -250,6 +250,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor, { BN_ULONG q,l0; #if defined(BN_DIV3W) && !defined(OPENSSL_NO_ASM) + BN_ULONG bn_div_3_words(BN_ULONG*,BN_ULONG,BN_ULONG); q=bn_div_3_words(wnump,d1,d0); #else BN_ULONG n0,n1,rem=0;