The IRIX fix. Asm recap and corresponding declation.
authorAndy Polyakov <appro@openssl.org>
Tue, 27 Mar 2001 22:30:46 +0000 (22:30 +0000)
committerAndy Polyakov <appro@openssl.org>
Tue, 27 Mar 2001 22:30:46 +0000 (22:30 +0000)
Submitted by:
Reviewed by:
PR:

crypto/bn/asm/mips3.s
crypto/bn/bn_div.c

index 2df4dcd..45786c0 100644 (file)
@@ -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
index bbd0994..d0b68dc 100644 (file)
@@ -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;