From: Niels Möller Date: Sat, 13 Apr 2024 09:08:35 +0000 (+0200) Subject: ppc64: Fix big-endian case of byte swapping for gcm-aes. X-Git-Tag: nettle_3.10rc1~16^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f08843c5ce5f310399dcd9e50cd4457c111c3c18;p=thirdparty%2Fnettle.git ppc64: Fix big-endian case of byte swapping for gcm-aes. --- diff --git a/powerpc64/p8/gcm-aes-decrypt.asm b/powerpc64/p8/gcm-aes-decrypt.asm index 403cee54..e4064984 100644 --- a/powerpc64/p8/gcm-aes-decrypt.asm +++ b/powerpc64/p8/gcm-aes-decrypt.asm @@ -152,12 +152,13 @@ PROLOGUE(_nettle_gcm_aes_decrypt) vsldoi CNT1, ZERO, TEMP1, 1 C counter 1 DATA_LOAD_VEC(POLY,.polynomial,r9) -IF_LE(` + li r9,0 lvsl LE_MASK,0,r9 - vspltisb LE_TEMP,0x07 +IF_LE(`vspltisb LE_TEMP,0x07') +IF_BE(`vspltisb LE_TEMP,0x03') vxor LE_MASK,LE_MASK,LE_TEMP -') + xxmrghd VSR(POLY_L),VSR(ZERO),VSR(POLY) addi X, r12, 32 diff --git a/powerpc64/p8/gcm-aes-encrypt.asm b/powerpc64/p8/gcm-aes-encrypt.asm index 68ef1360..8702f1f3 100644 --- a/powerpc64/p8/gcm-aes-encrypt.asm +++ b/powerpc64/p8/gcm-aes-encrypt.asm @@ -152,12 +152,13 @@ PROLOGUE(_nettle_gcm_aes_encrypt) vsldoi CNT1, ZERO, TEMP1, 1 C counter 1 DATA_LOAD_VEC(POLY,.polynomial,r9) -IF_LE(` + li r9,0 lvsl LE_MASK,0,r9 - vspltisb LE_TEMP,0x07 +IF_LE(`vspltisb LE_TEMP,0x07') +IF_BE(`vspltisb LE_TEMP,0x03') vxor LE_MASK,LE_MASK,LE_TEMP -') + xxmrghd VSR(POLY_L),VSR(ZERO),VSR(POLY) addi X, r12, 32