Deleted Added
full compact
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 ---