From ff823ee89b678a92a6f74898609f73f51dae38a7 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Fri, 27 May 2016 22:13:16 +0200 Subject: [PATCH] SPARC assembly pack: add missing .type directives. Reviewed-by: Richard Levitte --- crypto/aes/asm/aesfx-sparcv9.pl | 4 +++ crypto/ec/asm/ecp_nistz256-sparcv9.pl | 35 +++++++++++++++++++++++++ crypto/poly1305/asm/poly1305-sparcv9.pl | 7 +++++ 3 files changed, 46 insertions(+) diff --git a/crypto/aes/asm/aesfx-sparcv9.pl b/crypto/aes/asm/aesfx-sparcv9.pl index 1483a68d32..c72f865552 100755 --- a/crypto/aes/asm/aesfx-sparcv9.pl +++ b/crypto/aes/asm/aesfx-sparcv9.pl @@ -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 ___ } diff --git a/crypto/ec/asm/ecp_nistz256-sparcv9.pl b/crypto/ec/asm/ecp_nistz256-sparcv9.pl index ed95b200f3..3f39088661 100755 --- a/crypto/ec/asm/ecp_nistz256-sparcv9.pl +++ b/crypto/ec/asm/ecp_nistz256-sparcv9.pl @@ -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: diff --git a/crypto/poly1305/asm/poly1305-sparcv9.pl b/crypto/poly1305/asm/poly1305-sparcv9.pl index 460c863748..c22735a7b8 100755 --- a/crypto/poly1305/asm/poly1305-sparcv9.pl +++ b/crypto/poly1305/asm/poly1305-sparcv9.pl @@ -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 ___ } -- 2.25.1