Skip to content

PPC64 ASM: AES-ECB/CBC/CTR/GCM#9852

Open
SparkiDev wants to merge 1 commit intowolfSSL:masterfrom
SparkiDev:ppc64_asm_aes
Open

PPC64 ASM: AES-ECB/CBC/CTR/GCM#9852
SparkiDev wants to merge 1 commit intowolfSSL:masterfrom
SparkiDev:ppc64_asm_aes

Conversation

@SparkiDev
Copy link
Contributor

Description

To turn on assembly:
--enable-ppc64-asm
To build C code:
--enable-ppc64-asm=inline

To disable hardening (when physical access to device is not possible):
WOLFSSL_PPC64_ASM_AES_NO_HARDEN

AES-GCM works with either 4-bit (default) or table:
--enable-aesgcm=table
Using 'table' is faster for encryption/decryption.

Testing

./configure --disable-shared LDFLAGS=--static --host=powerpc64 CC=powerpc64-linux-gnu-gcc --enable-aesecb --enable-aescbc --enable-aesgcm=table --enable-aesctr CFLAGS=-DWOLFSSL_PPC64_ASM_AES_NO_HARDEN --enable-ppc64-asm
./configure --disable-shared LDFLAGS=--static --host=powerpc64 CC=powerpc64-linux-gnu-gcc --enable-aesecb --enable-aescbc --enable-aesgcm=table --enable-aesctr CFLAGS=-DWOLFSSL_PPC64_ASM_AES_NO_HARDEN --enable-ppc64-asm=inline
./configure --disable-shared LDFLAGS=--static --host=powerpc64 CC=powerpc64-linux-gnu-gcc --enable-aesecb --enable-aescbc --enable-aesgcm=table --enable-aesctr --enable-ppc64-asm
./configure --disable-shared LDFLAGS=--static --host=powerpc64 CC=powerpc64-linux-gnu-gcc --enable-aesecb --enable-aescbc --enable-aesgcm=table --enable-aesctr --enable-ppc64-asm=inline
./configure --disable-shared LDFLAGS=--static --host=powerpc64 CC=powerpc64-linux-gnu-gcc --enable-aesecb --enable-aescbc --enable-aesgcm=table --enable-aesctr

@SparkiDev SparkiDev self-assigned this Mar 3, 2026
@SparkiDev
Copy link
Contributor Author

PPC64 assembly code generated with PR:
https://github.com/wolfSSL/scripts/pull/556

To turn on assembly:
  --enable-ppc64-asm
To build C code:
  --enable-ppc64-asm=inline

To disable hardening (when physical access to device is not possible):
  WOLFSSL_PPC64_ASM_AES_NO_HARDEN

AES-GCM works with either 4-bit (default) or table:
  --enable-aesgcm=table
Using 'table' is faster for encryption/decryption.
@SparkiDev
Copy link
Contributor Author

retest this please

@dgarske dgarske self-requested a review March 3, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant