Fix big-endian Power10 chacha20 implementation

Some of the BE specific permutes were incorrect. Fix them.

This passes all tests on a P10/ppc64 debian unstable host.

Fixes #25451

CLA: trivial

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25483)

(cherry picked from commit daead12df0)
This commit is contained in:
Paul E. Murphy 2024-09-17 15:22:58 +00:00 committed by Tomas Mraz
parent 95c7186886
commit dde298ca98
1 changed files with 4 additions and 4 deletions

View File

@ -1032,10 +1032,10 @@ $code.=<<___;
vadduwm $xcn0,$xcn4,@K[2]
vadduwm $xdn0,$xdn4,@K[3]
be?vperm $xan0,$xa4,$xa4,$beperm
be?vperm $xbn0,$xb4,$xb4,$beperm
be?vperm $xcn0,$xcn4,$xcn4,$beperm
be?vperm $xdn0,$xdn4,$xdn4,$beperm
be?vperm $xan0,$xan0,$xan0,$beperm
be?vperm $xbn0,$xbn0,$xbn0,$beperm
be?vperm $xcn0,$xcn0,$xcn0,$beperm
be?vperm $xdn0,$xdn0,$xdn0,$beperm
${UCMP}i $len,0x40
blt Ltail_vsx_8x_1