diff --git a/crypto/chacha/asm/chacha-ppc.pl b/crypto/chacha/asm/chacha-ppc.pl index 2bb3fce8ed97265030ea1574b1f44ea91b93abca..4c5d2d1aeca6108cfa8e712c9426c36c68127fb4 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