X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fbn%2Fasm%2Fvms.mar;h=465f2774b6267e0b6dd4e983bfc35926860e7d31;hp=754ab5347a47839dd985b27385712d668fbdce0f;hb=81b5eeed6acda357d449dbbba83310881852874d;hpb=73343ac38abfbe34cf889e9da286d5c577ce7973 diff --git a/crypto/bn/asm/vms.mar b/crypto/bn/asm/vms.mar index 754ab5347a..465f2774b6 100644 --- a/crypto/bn/asm/vms.mar +++ b/crypto/bn/asm/vms.mar @@ -261,6 +261,7 @@ d=12 ;(AP) d by value (input) movl #0,r5 movl #0,r8 movl #0,r0 +; movl #0,r1 rotl #-1,r2,r6 ; a20 = l >> 1 (almost) rotl #-1,r3,r7 ; a21 = h >> 1 (almost) @@ -278,17 +279,17 @@ d=12 ;(AP) d by value (input) xorl2 #^X80000000,r7 ; fixup a21 so highest bit is 1 2\$: tstl r9 - bgeq 666\$ ; Uh-oh, the divisor is 0... + beql 666\$ ; Uh-oh, the divisor is 0... bgtr 3\$ - xorl2 #^X80000000,r9 ; fixup b2 so highest bit is 1 - incl r8 + xorl2 #^X80000000,r9 ; fixup b2 so highest bit is 0 + incl r8 ; b' = 1 3\$: tstl r9 - bneq 4\$ ; if b2 is 0, we know that bprim is 1 - tstl r7 + bneq 4\$ ; if b2 is 0, we know that b' is 1 + tstl r3 bneq 666\$ ; if higher half isn't 0, we overflow - movl r0,r6 ; otherwise, we have our result - brb 42\$ + movl r2,r10 ; otherwise, we have our result + brb 42\$ ; This is a success, really. 4\$: ediv r9,r6,r10,r11