bz,pn %icc,.L1stskip
std $nlod,[%sp+$bias+$frame+24]
\f
-.align 32,0x1000000
+.align 32 ! incidentally already aligned !
.L1st:
add $ap,$j,%o4
add $np,$j,%o5
bnz %icc,.Louter
nop
\f
- ld [$np-4],%o1
- subcc %g0,%g0,%g0 ! clear %icc.c
add $tp,8,$tp ! adjust tp to point at the end
- srl %o1,30,%o1 ! boundary condition...
orn %g0,%g0,%g4
- brz,pn %o1,.Lcopy ! ... is met
sub %g0,$num,%o7 ! n=-num
-
-.align 32,0x1000000
+ ba .Lsub
+ subcc %g0,%g0,%g0 ! clear %icc.c
+
+.align 32
.Lsub:
ldx [$tp+%o7],%o0
add $np,%o7,%g1
st %o3,[%g1+4]
subc $carry,0,%g4
sub %g0,$num,%o7 ! n=-num
+ ba .Lcopy
+ nop
-.align 32,0x1000000
+.align 32
.Lcopy:
ldx [$tp+%o7],%o0
add $rp,%o7,%g1
st %o1,[%g1+4]
sub %g0,$num,%o7 ! n=-num
-.align 32,0x1000000
.Lzap:
stx %g0,[$ap_l+%o7]
stx %g0,[$ap_h+%o7]
.type $fname,#function
.size $fname,(.-$fname)
.asciz "Montgomery Multipltication for UltraSPARC, CRYPTOGAMS by <appro\@openssl.org>"
+.align 32
___
$code =~ s/\`([^\`]*)\`/eval($1)/gem;