> David, you told us that 0.9.6a beta2 failed on Irix 6.5.11.  Have you
> tried to configure with no-asm and see if it works better?

Keep in mind that no-asm on MIPS costs almost 4 times in performance. In
either case it was bn_div_3_words which went out of sync. Attached patch
(which is committed to the HEAD branch) should fix the problem. Another
alternative is to remove -DBN_DIV3W from ./Configure lines.

Andy.

*** ./crypto/bn/asm/mips3.s.orig        Tue Aug 24 18:02:14 1999
--- ./crypto/bn/asm/mips3.s     Wed Mar 28 00:32:22 2001
***************
*** 586,598 ****
        ld      a0,(a3)
        move    ta2,a1
        ld      a1,-8(a3)
!       move    ta3,ra
!       move    v1,zero
        li      v0,-1
!       beq     a0,a2,.L_bn_div_3_words_skip_div
        bal     bn_div_words
        move    ra,ta3
- .L_bn_div_3_words_skip_div:
        dmultu  ta2,v0
        ld      t2,-16(a3)
        move    ta0,zero
--- 586,598 ----
        ld      a0,(a3)
        move    ta2,a1
        ld      a1,-8(a3)
!       bne     a0,a2,.L_bn_div_3_words_proceed
        li      v0,-1
!       jr      ra
! .L_bn_div_3_words_proceed:
!       move    ta3,ra
        bal     bn_div_words
        move    ra,ta3
        dmultu  ta2,v0
        ld      t2,-16(a3)
        move    ta0,zero
*** ./crypto/bn/bn_div.c.orig   Tue Jan 23 17:29:06 2001
--- ./crypto/bn/bn_div.c        Wed Mar 28 00:33:31 2001
***************
*** 238,243 ****
--- 238,244 ----
                {
                BN_ULONG q,l0;
  #if defined(BN_DIV3W) && !defined(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;
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to