bn/asm/*-mont.pl: harmonize with BN_from_montgomery_word.
[openssl.git] / crypto / bn / asm / alpha-mont.pl
index cd0e1fb82deff57523c50122f964095cd289e4d4..cc5c30e7a6e79f5273746bca98b8d8b48d5c48c3 100644 (file)
@@ -297,15 +297,12 @@ bn_mul_mont:
        mov     sp,$tp
        mov     $bp,$rp         # restore rp
 
-       and     sp,$hi0,$ap
-       bic     $bp,$hi0,$bp
-       bis     $bp,$ap,$ap     # ap=borrow?tp:rp
-
 .align 4
-.Lcopy:        ldq     $aj,0($ap)      # copy or in-place refresh
+.Lcopy:        ldq     $aj,0($tp)      # conditional copy
+       ldq     $nj,0($rp)
        lda     $tp,8($tp)
        lda     $rp,8($rp)
-       lda     $ap,8($ap)
+       cmoveq  $hi0,$nj,$aj
        stq     zero,-8($tp)    # zap tp
        cmpult  $tp,$tj,AT
        stq     $aj,-8($rp)