diff options
author | Andy Polyakov <appro@openssl.org> | 2016-04-23 19:16:56 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2016-04-25 11:48:44 +0200 |
commit | a82a9f71ad0149380a680cae4c0cc693e6324679 (patch) | |
tree | be06df8b1f446f26a17dae53b93986d6be431c24 | |
parent | acde647fb0347f64af8f8678b73ce41f2f499c02 (diff) |
chacha/asm/chacha-ppc.pl: get misalignment corner case right on big-endian.
Reviewed-by: Richard Levitte <levitte@openssl.org>
-rwxr-xr-x | crypto/chacha/asm/chacha-ppc.pl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/chacha/asm/chacha-ppc.pl b/crypto/chacha/asm/chacha-ppc.pl index 2bb3fce8ed..4c5d2d1aec 100755 --- a/crypto/chacha/asm/chacha-ppc.pl +++ b/crypto/chacha/asm/chacha-ppc.pl @@ -527,9 +527,11 @@ $code.=<<___; ?lvsl $outperm,0,$out # prepare for unaligned store ?vperm $outmask,$outmask,$T0,$outperm + be?lvsl $T0,0,@x[0] # 0x00..0f be?vspltisb $T1,3 # 0x03..03 - be?vxor $inpperm,$inpperm,$T1 # swap bytes within words + be?vxor $T0,$T0,$T1 # swap bytes within words be?vxor $outperm,$outperm,$T1 + be?vperm $inpperm,$inpperm,$inpperm,$T0 b Loop_outer_vmx |