Commit ff823ee8 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

SPARC assembly pack: add missing .type directives.

parent 38e19eb9
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ aes_fx_encrypt:
	orn		%g0, $mask, $mask
	retl
	stda		%f8, [$out + $mask]0xc0	! partial store
.type	aes_fx_encrypt,#function
.size	aes_fx_encrypt,.-aes_fx_encrypt

.globl	aes_fx_decrypt
@@ -180,6 +181,7 @@ aes_fx_decrypt:
	orn		%g0, $mask, $mask
	retl
	stda		%f8, [$out + $mask]0xc0	! partial store
.type	aes_fx_decrypt,#function
.size	aes_fx_decrypt,.-aes_fx_decrypt
___
}
@@ -193,6 +195,7 @@ aes_fx_set_decrypt_key:
	mov		-1, $inc
	retl
	nop
.type	aes_fx_set_decrypt_key,#function
.size	aes_fx_set_decrypt_key,.-aes_fx_set_decrypt_key

.globl	aes_fx_set_encrypt_key
@@ -329,6 +332,7 @@ $code.=<<___;
	std		%f2, [$out + 8]
	retl
	xor		%o0, %o0, %o0		! return 0
.type	aes_fx_set_encrypt_key,#function
.size	aes_fx_set_encrypt_key,.-aes_fx_set_encrypt_key
___
}
+35 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ my ($bi,$a0,$mask,$carry)=(map("%i$_",(3..5)),"%g1");
my ($rp_real,$ap_real)=("%g2","%g3");

$code.=<<___;
.type	ecp_nistz256_precomputed,#object
.size	ecp_nistz256_precomputed,.-ecp_nistz256_precomputed
.align	64
.LRR:	! 2^512 mod P precomputed for NIST P256 polynomial
@@ -122,6 +123,7 @@ ecp_nistz256_to_mont:
	nop
	ret
	restore
.type	ecp_nistz256_to_mont,#function
.size	ecp_nistz256_to_mont,.-ecp_nistz256_to_mont

! void	ecp_nistz256_from_mont(BN_ULONG %i0[8],const BN_ULONG %i1[8]);
@@ -136,6 +138,7 @@ ecp_nistz256_from_mont:
	nop
	ret
	restore
.type	ecp_nistz256_from_mont,#function
.size	ecp_nistz256_from_mont,.-ecp_nistz256_from_mont

! void	ecp_nistz256_mul_mont(BN_ULONG %i0[8],const BN_ULONG %i1[8],
@@ -149,6 +152,7 @@ ecp_nistz256_mul_mont:
	nop
	ret
	restore
.type	ecp_nistz256_mul_mont,#function
.size	ecp_nistz256_mul_mont,.-ecp_nistz256_mul_mont

! void	ecp_nistz256_sqr_mont(BN_ULONG %i0[8],const BN_ULONG %i2[8]);
@@ -161,6 +165,7 @@ ecp_nistz256_sqr_mont:
	nop
	ret
	restore
.type	ecp_nistz256_sqr_mont,#function
.size	ecp_nistz256_sqr_mont,.-ecp_nistz256_sqr_mont
___

@@ -360,6 +365,7 @@ $code.=<<___;
	st	@acc[6],[$rp+24]
	retl
	st	@acc[7],[$rp+28]
.type	__ecp_nistz256_mul_mont,#function
.size	__ecp_nistz256_mul_mont,.-__ecp_nistz256_mul_mont

! void	ecp_nistz256_add(BN_ULONG %i0[8],const BN_ULONG %i1[8],
@@ -379,6 +385,7 @@ ecp_nistz256_add:
	ld	[$ap+28],@acc[7]
	ret
	restore
.type	ecp_nistz256_add,#function
.size	ecp_nistz256_add,.-ecp_nistz256_add

.align	32
@@ -429,6 +436,7 @@ __ecp_nistz256_add:
	st	@acc[6],[$rp+24]
	retl
	st	@acc[7],[$rp+28]
.type	__ecp_nistz256_add,#function
.size	__ecp_nistz256_add,.-__ecp_nistz256_add

! void	ecp_nistz256_mul_by_2(BN_ULONG %i0[8],const BN_ULONG %i1[8]);
@@ -447,6 +455,7 @@ ecp_nistz256_mul_by_2:
	ld	[$ap+28],@acc[7]
	ret
	restore
.type	ecp_nistz256_mul_by_2,#function
.size	ecp_nistz256_mul_by_2,.-ecp_nistz256_mul_by_2

.align	32
@@ -461,6 +470,7 @@ __ecp_nistz256_mul_by_2:
	addccc	@acc[7],@acc[7],@acc[7]
	b	.Lreduce_by_sub
	subc	%g0,%g0,$carry		! broadcast carry bit
.type	__ecp_nistz256_mul_by_2,#function
.size	__ecp_nistz256_mul_by_2,.-__ecp_nistz256_mul_by_2

! void	ecp_nistz256_mul_by_3(BN_ULONG %i0[8],const BN_ULONG %i1[8]);
@@ -479,6 +489,7 @@ ecp_nistz256_mul_by_3:
	ld	[$ap+28],@acc[7]
	ret
	restore
.type	ecp_nistz256_mul_by_3,#function
.size	ecp_nistz256_mul_by_3,.-ecp_nistz256_mul_by_3

.align	32
@@ -513,6 +524,7 @@ __ecp_nistz256_mul_by_3:
	addccc	$t7,@acc[7],@acc[7]
	b	.Lreduce_by_sub
	subc	%g0,%g0,$carry		! broadcast carry bit
.type	__ecp_nistz256_mul_by_3,#function
.size	__ecp_nistz256_mul_by_3,.-__ecp_nistz256_mul_by_3

! void	ecp_nistz256_sub(BN_ULONG %i0[8],const BN_ULONG %i1[8],
@@ -532,6 +544,7 @@ ecp_nistz256_sub:
	ld	[$ap+28],@acc[7]
	ret
	restore
.type	ecp_nistz256_sub,#function
.size	ecp_nistz256_sub,.-ecp_nistz256_sub

! void	ecp_nistz256_neg(BN_ULONG %i0[8],const BN_ULONG %i1[8]);
@@ -551,6 +564,7 @@ ecp_nistz256_neg:
	mov	0,@acc[7]
	ret
	restore
.type	ecp_nistz256_neg,#function
.size	ecp_nistz256_neg,.-ecp_nistz256_neg

.align	32
@@ -601,6 +615,7 @@ __ecp_nistz256_sub_from:
	st	@acc[6],[$rp+24]
	retl
	st	@acc[7],[$rp+28]
.type	__ecp_nistz256_sub_from,#function
.size	__ecp_nistz256_sub_from,.-__ecp_nistz256_sub_from

.align	32
@@ -623,6 +638,7 @@ __ecp_nistz256_sub_morf:
	subccc	$t7,@acc[7],@acc[7]
	b	.Lreduce_by_add
	subc	%g0,%g0,$carry		! broadcast borrow bit
.type	__ecp_nistz256_sub_morf,#function
.size	__ecp_nistz256_sub_morf,.-__ecp_nistz256_sub_morf

! void	ecp_nistz256_div_by_2(BN_ULONG %i0[8],const BN_ULONG %i1[8]);
@@ -641,6 +657,7 @@ ecp_nistz256_div_by_2:
	ld	[$ap+28],@acc[7]
	ret
	restore
.type	ecp_nistz256_div_by_2,#function
.size	ecp_nistz256_div_by_2,.-ecp_nistz256_div_by_2

.align	32
@@ -694,6 +711,7 @@ __ecp_nistz256_div_by_2:
	st	@acc[6],[$rp+24]
	retl
	st	@acc[7],[$rp+28]
.type	__ecp_nistz256_div_by_2,#function
.size	__ecp_nistz256_div_by_2,.-__ecp_nistz256_div_by_2
___

@@ -823,6 +841,7 @@ ecp_nistz256_point_double:

	ret
	restore
.type	ecp_nistz256_point_double,#function
.size	ecp_nistz256_point_double,.-ecp_nistz256_point_double
___
}
@@ -1125,6 +1144,7 @@ $code.=<<___;
.Ladd_done:
	ret
	restore
.type	ecp_nistz256_point_add,#function
.size	ecp_nistz256_point_add,.-ecp_nistz256_point_add
___
}
@@ -1348,6 +1368,7 @@ ___
$code.=<<___;
	ret
	restore
.type	ecp_nistz256_point_add_affine,#function
.size	ecp_nistz256_point_add_affine,.-ecp_nistz256_point_add_affine
___
}								}}}
@@ -1423,6 +1444,7 @@ ecp_nistz256_scatter_w5:

	ret
	restore
.type	ecp_nistz256_scatter_w5,#function
.size	ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5

! void	ecp_nistz256_gather_w5(P256_POINT *%i0,const void *%i1,
@@ -1520,6 +1542,7 @@ ecp_nistz256_gather_w5:

	ret
	restore
.type	ecp_nistz256_gather_w5,#function
.size	ecp_nistz256_gather_w5,.-ecp_nistz256_gather_w5

! void	ecp_nistz256_scatter_w7(void *%i0,const P256_POINT_AFFINE *%i1,
@@ -1547,6 +1570,7 @@ ecp_nistz256_scatter_w7:

	ret
	restore
.type	ecp_nistz256_scatter_w7,#function
.size	ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7

! void	ecp_nistz256_gather_w7(P256_POINT_AFFINE *%i0,const void *%i1,
@@ -1587,6 +1611,7 @@ ecp_nistz256_gather_w7:

	ret
	restore
.type	ecp_nistz256_gather_w7,#function
.size	ecp_nistz256_gather_w7,.-ecp_nistz256_gather_w7
___
}}}
@@ -1614,6 +1639,7 @@ __ecp_nistz256_mul_by_2_vis3:
	addxccc	$acc3,$acc3,$acc3
	b	.Lreduce_by_sub_vis3
	addxc	%g0,%g0,$acc4		! did it carry?
.type	__ecp_nistz256_mul_by_2_vis3,#function
.size	__ecp_nistz256_mul_by_2_vis3,.-__ecp_nistz256_mul_by_2_vis3

.align	32
@@ -1647,6 +1673,7 @@ __ecp_nistz256_add_noload_vis3:
	stx	$acc2,[$rp+16]
	retl
	stx	$acc3,[$rp+24]
.type	__ecp_nistz256_add_vis3,#function
.size	__ecp_nistz256_add_vis3,.-__ecp_nistz256_add_vis3

! Trouble with subtraction is that there is no subtraction with 64-bit
@@ -1693,6 +1720,7 @@ __ecp_nistz256_sub_from_vis3:
	subc	%g0,%g0,$acc4		! did it borrow?
	b	.Lreduce_by_add_vis3
	or	$acc3,$acc5,$acc3
.type	__ecp_nistz256_sub_from_vis3,#function
.size	__ecp_nistz256_sub_from_vis3,.-__ecp_nistz256_sub_from_vis3

.align	32
@@ -1751,6 +1779,7 @@ __ecp_nistz256_sub_morf_vis3:
	stx	$acc2,[$rp+16]
	retl
	stx	$acc3,[$rp+24]
.type	__ecp_nistz256_sub_morf_vis3,#function
.size	__ecp_nistz256_sub_morf_vis3,.-__ecp_nistz256_sub_morf_vis3

.align	32
@@ -1791,6 +1820,7 @@ __ecp_nistz256_div_by_2_vis3:
	stx	$acc2,[$rp+16]
	retl
	stx	$acc3,[$rp+24]
.type	__ecp_nistz256_div_by_2_vis3,#function
.size	__ecp_nistz256_div_by_2_vis3,.-__ecp_nistz256_div_by_2_vis3

! compared to __ecp_nistz256_mul_mont it's almost 4x smaller and
@@ -1888,6 +1918,7 @@ $code.=<<___;
	addxccc	$acc4,$t3,$acc3
	b	.Lmul_final_vis3	! see below
	addxc	$acc5,%g0,$acc4
.type	__ecp_nistz256_mul_mont_vis3,#function
.size	__ecp_nistz256_mul_mont_vis3,.-__ecp_nistz256_mul_mont_vis3

! compared to above __ecp_nistz256_mul_mont_vis3 it's 21% less
@@ -2012,6 +2043,7 @@ $code.=<<___;
	stx	$acc2,[$rp+16]
	retl
	stx	$acc3,[$rp+24]
.type	__ecp_nistz256_sqr_mont_vis3,#function
.size	__ecp_nistz256_sqr_mont_vis3,.-__ecp_nistz256_sqr_mont_vis3
___

@@ -2275,6 +2307,7 @@ ecp_nistz256_point_double_vis3:

	ret
	restore
.type	ecp_nistz256_point_double_vis3,#function
.size	ecp_nistz256_point_double_vis3,.-ecp_nistz256_point_double_vis3
___
}
@@ -2695,6 +2728,7 @@ $code.=<<___;
.Ladd_done_vis3:
	ret
	restore
.type	ecp_nistz256_point_add_vis3,#function
.size	ecp_nistz256_point_add_vis3,.-ecp_nistz256_point_add_vis3
___
}
@@ -3013,6 +3047,7 @@ ___
$code.=<<___;
	ret
	restore
.type	ecp_nistz256_point_add_affine_vis3,#function
.size	ecp_nistz256_point_add_affine_vis3,.-ecp_nistz256_point_add_affine_vis3
.align	64
.Lone_mont_vis3:
+7 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ poly1305_init:
.Lno_key:
	ret
	restore	%g0,%g0,%o0		! return 0
.type	poly1305_init,#function
.size	poly1305_init,.-poly1305_init

.globl	poly1305_blocks
@@ -271,6 +272,7 @@ poly1305_blocks:
.Lno_data:
	ret
	restore
.type	poly1305_blocks,#function
.size	poly1305_blocks,.-poly1305_blocks
___
########################################################################
@@ -361,6 +363,7 @@ poly1305_blocks_vis3:

	ret
	restore
.type	poly1305_blocks_vis3,#function
.size	poly1305_blocks_vis3,.-poly1305_blocks_vis3
___
}
@@ -433,6 +436,7 @@ poly1305_emit:

	ret
	restore
.type	poly1305_emit,#function
.size	poly1305_emit,.-poly1305_emit
___

@@ -598,6 +602,7 @@ poly1305_init_fma:
.Lno_key_fma:
	ret
	restore	%g0,%g0,%o0			! return 0
.type	poly1305_init_fma,#function
.size	poly1305_init_fma,.-poly1305_init_fma

.align	32
@@ -905,6 +910,7 @@ poly1305_blocks_fma:
.Labort:
	ret
	restore
.type	poly1305_blocks_fma,#function
.size	poly1305_blocks_fma,.-poly1305_blocks_fma
___
{
@@ -1011,6 +1017,7 @@ poly1305_emit_fma:

	ret
	restore
.type	poly1305_emit_fma,#function
.size	poly1305_emit_fma,.-poly1305_emit_fma
___
}