Skip to content

PPC 32 ASM: SHA-256#8894

Merged
dgarske merged 2 commits intowolfSSL:masterfrom
SparkiDev:ppc32_sha256_asm
Jun 20, 2025
Merged

PPC 32 ASM: SHA-256#8894
dgarske merged 2 commits intowolfSSL:masterfrom
SparkiDev:ppc32_sha256_asm

Conversation

@SparkiDev
Copy link
Contributor

Description

Pure and inline ASM for the PowerPC 32-bit.

Testing

./autogen.sh
./configure --disable-shared LDFLAGS=--static --host=powerpc CC=powerpc-linux-gnu-gcc --enable-ppc32-asm
./configure --disable-shared LDFLAGS=--static --host=powerpc CC=powerpc-linux-gnu-gcc --enable-ppc32-asm=inline

Checklist

  • added tests
  • updated/added doxygen
  • updated appropriate READMEs
  • Updated manual and documentation

@SparkiDev SparkiDev self-assigned this Jun 18, 2025
Pure and inline  ASM for the PowerPC 32-bit.
@SparkiDev
Copy link
Contributor Author

retest this please

@SparkiDev SparkiDev assigned dgarske and wolfSSL-Bot and unassigned SparkiDev Jun 18, 2025
@SparkiDev SparkiDev requested a review from wolfSSL-Bot June 18, 2025 12:31
Slower but smaller SHA-256 assembly code implementation enabled with:
WOLFSSL_PPC32_ASM_SMALL. (--enable-ppc32=small or
--enable-ppc32=inline,small)
@SparkiDev
Copy link
Contributor Author

libspdm failing as https://git.cryptomilk.org/ not available.

@SparkiDev
Copy link
Contributor Author

retest this please

PRB-single-flag.txt_25: java.io.StreamCorruptedException: invalid stream header

Copy link
Contributor

@dgarske dgarske left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Size Comparison

Configuration Text Data BSS Total (Dec) Total (Hex) Filename
c (-Os) 41,555 116 5,172 46,843 b6fb wolfboot.elf
cslow 40,919 116 5,168 46,203 b47b wolfboot.elf
ppc-asm-small 43,247 116 5,176 48,539 bd9b wolfboot.elf
ppc-asm 44,655 116 5,176 49,947 c31b wolfboot.elf

SHA2-256 Performance Result (hashing 3,170,724 bytes)

Benchmarking on Freescale/NXP P1021 e500v2 at 800MHz

Configuration Time (ms) Throughput (KB/sec)
c -Os 124 24,970
c -O2 121 25,590
cslow 240 12,902
ppcasm-small 118 26,242
ppcasm 110 28,148

Note: cslow = USE_SLOW_SHA256

@dgarske dgarske merged commit f30c54a into wolfSSL:master Jun 20, 2025
274 of 276 checks passed
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.

3 participants