ppc-mont.pl (302408) | ppc-mont.pl (337982) |
---|---|
1#!/usr/bin/env perl 2 3# ==================================================================== 4# Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL 5# project. The module is, however, dual licensed under OpenSSL and 6# CRYPTOGAMS licenses depending on where you obtain it. For further 7# details see http://www.openssl.org/~appro/cryptogams/. 8# ==================================================================== --- 280 unchanged lines hidden (view full) --- 289 subfe $aj,$nj,$tj ; tp[j]-np[j] 290 $STX $aj,$rp,$j 291 addi $j,$j,$BNSZ 292 bdnz Lsub 293 294 li $j,0 295 mtctr $num 296 subfe $ovf,$j,$ovf ; handle upmost overflow bit | 1#!/usr/bin/env perl 2 3# ==================================================================== 4# Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL 5# project. The module is, however, dual licensed under OpenSSL and 6# CRYPTOGAMS licenses depending on where you obtain it. For further 7# details see http://www.openssl.org/~appro/cryptogams/. 8# ==================================================================== --- 280 unchanged lines hidden (view full) --- 289 subfe $aj,$nj,$tj ; tp[j]-np[j] 290 $STX $aj,$rp,$j 291 addi $j,$j,$BNSZ 292 bdnz Lsub 293 294 li $j,0 295 mtctr $num 296 subfe $ovf,$j,$ovf ; handle upmost overflow bit |
297 and $ap,$tp,$ovf 298 andc $np,$rp,$ovf 299 or $ap,$ap,$np ; ap=borrow?tp:rp | |
300 301.align 4 | 297 298.align 4 |
302Lcopy: ; copy or in-place refresh 303 $LDX $tj,$ap,$j 304 $STX $tj,$rp,$j | 299Lcopy: ; conditional copy 300 $LDX $tj,$tp,$j 301 $LDX $aj,$rp,$j 302 and $tj,$tj,$ovf 303 andc $aj,$aj,$ovf |
305 $STX $j,$tp,$j ; zap at once | 304 $STX $j,$tp,$j ; zap at once |
305 or $aj,$aj,$tj 306 $STX $aj,$rp,$j |
|
306 addi $j,$j,$BNSZ 307 bdnz Lcopy 308 309 $POP $tj,0($sp) 310 li r3,1 311 $POP r20,`-12*$SIZE_T`($tj) 312 $POP r21,`-11*$SIZE_T`($tj) 313 $POP r22,`-10*$SIZE_T`($tj) --- 22 unchanged lines hidden --- | 307 addi $j,$j,$BNSZ 308 bdnz Lcopy 309 310 $POP $tj,0($sp) 311 li r3,1 312 $POP r20,`-12*$SIZE_T`($tj) 313 $POP r21,`-11*$SIZE_T`($tj) 314 $POP r22,`-10*$SIZE_T`($tj) --- 22 unchanged lines hidden --- |