diff options
author | Andy Polyakov <appro@openssl.org> | 2016-07-01 18:10:10 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-07-16 23:37:37 +0200 |
commit | 8604a6e0e50965a5f682177a92f8dd4bde52b2e8 (patch) | |
tree | e1e68c5d58944682d3ef656e3272de3258d36984 | |
parent | 365f95ad53c2216e6fadeccc9c0d73374a18bd66 (diff) |
SPARC assembly pack: enforce V8+ ABI constraints.
Reviewed-by: Richard Levitte <levitte@openssl.org>
-rwxr-xr-x | crypto/aes/asm/aesfx-sparcv9.pl | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/crypto/aes/asm/aesfx-sparcv9.pl b/crypto/aes/asm/aesfx-sparcv9.pl index e52a579bfa..5d8d9b69ff 100755 --- a/crypto/aes/asm/aesfx-sparcv9.pl +++ b/crypto/aes/asm/aesfx-sparcv9.pl @@ -367,8 +367,8 @@ $code.=<<___; .align 32 aes_fx_cbc_encrypt: save %sp, -STACK_FRAME-16, %sp - andncc $len, 15, $len - bz,pn SIZE_T_CC, .Lcbc_no_data + srln $len, 4, $len + brz,pn $len, .Lcbc_no_data and $inp, 7, $ialign andn $inp, 7, $inp @@ -385,7 +385,7 @@ aes_fx_cbc_encrypt: ldd [$key + 8], $r0lo add $inp, 16, $inp - sub $len, 16, $len + sub $len, 1, $len ldd [$end + 0], $rlhi ! round[last] ldd [$end + 8], $rllo @@ -471,7 +471,7 @@ aes_fx_cbc_encrypt: add $out, 16, $out brnz,a $len, .Loop_cbc_enc - sub $len, 16, $len + sub $len, 1, $len st $out0, [$ivp + 0] ! output ivec st $out0#lo, [$ivp + 4] @@ -587,7 +587,7 @@ aes_fx_cbc_encrypt: add $out, 16, $out brnz,a $len, .Loop_cbc_enc_unaligned_out - sub $len, 16, $len + sub $len, 1, $len .Lcbc_enc_unaligned_out_done: faligndata $out1, $out1, %f8 @@ -675,7 +675,7 @@ aes_fx_cbc_encrypt: add $out, 16, $out brnz,a $len, .Loop_cbc_dec - sub $len, 16, $len + sub $len, 1, $len st $iv0, [$ivp + 0] ! output ivec st $iv0#lo, [$ivp + 4] @@ -791,7 +791,7 @@ aes_fx_cbc_encrypt: add $out, 16, $out brnz,a $len, .Loop_cbc_dec_unaligned_out - sub $len, 16, $len + sub $len, 1, $len .Lcbc_dec_unaligned_out_done: faligndata %f2, %f2, %f8 @@ -821,8 +821,11 @@ $code.=<<___; .align 32 aes_fx_ctr32_encrypt_blocks: save %sp, -STACK_FRAME-16, %sp - and $inp, 7, $ialign + srln $len, 0, $len brz,pn $len, .Lctr32_no_data + nop + + and $inp, 7, $ialign andn $inp, 7, $inp .Lpic: call .+8 |