chacha/asm/chacha-ppc.pl: get misalignment corner case right on big-endian.

Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Andy Polyakov 2016-04-23 19:16:56 +02:00
parent acde647fb0
commit a82a9f71ad

View File

@ -527,9 +527,11 @@ $code.=<<___;
?lvsl $outperm,0,$out # prepare for unaligned store ?lvsl $outperm,0,$out # prepare for unaligned store
?vperm $outmask,$outmask,$T0,$outperm ?vperm $outmask,$outmask,$T0,$outperm
be?lvsl $T0,0,@x[0] # 0x00..0f
be?vspltisb $T1,3 # 0x03..03 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?vxor $outperm,$outperm,$T1
be?vperm $inpperm,$inpperm,$inpperm,$T0
b Loop_outer_vmx b Loop_outer_vmx