]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
ppc64: Fix big-endian case of byte swapping for gcm-aes.
authorNiels Möller <nisse@lysator.liu.se>
Sat, 13 Apr 2024 09:08:35 +0000 (11:08 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Sat, 13 Apr 2024 09:08:35 +0000 (11:08 +0200)
powerpc64/p8/gcm-aes-decrypt.asm
powerpc64/p8/gcm-aes-encrypt.asm

index 403cee549c4ccef4469c3e4348ed3318f7b56640..e406498417a0652d9df279af8cef8218896b5a5a 100644 (file)
@@ -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
index 68ef1360dcf3fd4f2efb5ac6cfbcf29fcd60213d..8702f1f3f17a4bac9cd46e1b76400c0c4c2f2d9f 100644 (file)
@@ -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