Reviewed-by: Richard Levitte <levitte@openssl.org>
.align 32
poly1305_blocks:
save %sp,-STACK_FRAME,%sp
.align 32
poly1305_blocks:
save %sp,-STACK_FRAME,%sp
brz,pn $len,.Lno_data
nop
brz,pn $len,.Lno_data
nop
umul $r1,$h0,$d1
umul $r2,$h0,$d2
umul $r3,$h0,$d3
umul $r1,$h0,$d1
umul $r2,$h0,$d2
umul $r3,$h0,$d3
add $inp,16,$inp
umul $s3,$h1,$t0
add $inp,16,$inp
umul $s3,$h1,$t0
.align 32
poly1305_blocks_vis3:
save %sp,-STACK_FRAME,%sp
.align 32
poly1305_blocks_vis3:
save %sp,-STACK_FRAME,%sp
brz,pn $len,.Lno_data
nop
brz,pn $len,.Lno_data
nop
.Linp_aligned_vis3:
addcc $D0,$H0,$H0 ! accumulate input
.Linp_aligned_vis3:
addcc $D0,$H0,$H0 ! accumulate input
addxccc $D1,$H1,$H1
add $inp,16,$inp
addxccc $D1,$H1,$H1
add $inp,16,$inp
.align 32
poly1305_blocks_fma:
save %sp,-STACK_FRAME-48,%sp
.align 32
poly1305_blocks_fma:
save %sp,-STACK_FRAME-48,%sp
brz,pn $len,.Labort
sub $len,1,$len
brz,pn $len,.Labort
sub $len,1,$len