Skip to content

Commit b5d3c87

Browse files
authored
Merge pull request #9603 from SparkiDev/ppc32_sha256_asm_reg
PPC32 ASM: alternative C code with registers prepended
2 parents 315ebf5 + 9969200 commit b5d3c87

File tree

3 files changed

+7694
-1
lines changed

3 files changed

+7694
-1
lines changed

configure.ac

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3748,6 +3748,9 @@ then
37483748
inline)
37493749
ENABLED_PPC32_ASM_INLINE=yes
37503750
;;
3751+
inline-reg)
3752+
ENABLED_PPC32_ASM_INLINE_REG=yes
3753+
;;
37513754
small)
37523755
ENABLED_PPC32_ASM_SMALL=yes
37533756
;;
@@ -3765,7 +3768,7 @@ then
37653768
AC_MSG_NOTICE([32-bit PowerPC assembly for SHA-256])
37663769
ENABLED_PPC32_ASM=yes
37673770
fi
3768-
if test "$ENABLED_PPC32_ASM_INLINE" = "yes"; then
3771+
if test "$ENABLED_PPC32_ASM_INLINE" = "yes" || test "$ENABLED_PPC32_ASM_INLINE_REG" = "yes"; then
37693772
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_PPC32_ASM_INLINE"
37703773
else
37713774
AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_PPC32_ASM"
@@ -11033,6 +11036,7 @@ AM_CONDITIONAL([BUILD_ARM_64],[test "$ENABLED_ARM_64" = "yes" || test "$ENABLED
1103311036
AM_CONDITIONAL([BUILD_RISCV_ASM],[test "x$ENABLED_RISCV_ASM" = "xyes"])
1103411037
AM_CONDITIONAL([BUILD_PPC32_ASM],[test "x$ENABLED_PPC32_ASM" = "xyes"])
1103511038
AM_CONDITIONAL([BUILD_PPC32_ASM_INLINE],[test "x$ENABLED_PPC32_ASM_INLINE" = "xyes"])
11039+
AM_CONDITIONAL([BUILD_PPC32_ASM_INLINE_REG],[test "x$ENABLED_PPC32_ASM_INLINE_REG" = "xyes"])
1103611040
AM_CONDITIONAL([BUILD_XILINX],[test "x$ENABLED_XILINX" = "xyes"])
1103711041
AM_CONDITIONAL([BUILD_AESNI],[test "x$ENABLED_AESNI" = "xyes"])
1103811042
AM_CONDITIONAL([BUILD_INTELASM],[test "x$ENABLED_INTELASM" = "xyes"])
@@ -11704,6 +11708,10 @@ if test "$ENABLED_PPC32_ASM_INLINE" = "yes"
1170411708
then
1170511709
ENABLED_PPC32_ASM="inline C"
1170611710
fi
11711+
if test "$ENABLED_PPC32_ASM_INLINE_REG" = "yes"
11712+
then
11713+
ENABLED_PPC32_ASM="inline C Reg"
11714+
fi
1170711715
echo " * PPC32 ASM $ENABLED_PPC32_ASM"
1170811716
echo " * Write duplicate: $ENABLED_WRITEDUP"
1170911717
echo " * Xilinx Hardware Acc.: $ENABLED_XILINX"

src/include.am

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,11 @@ if BUILD_PPC32_ASM
304304
if BUILD_PPC32_ASM_INLINE
305305
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm_c.c
306306
else
307+
if BUILD_PPC32_ASM_INLINE_REG
308+
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm_cr.c
309+
else
307310
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm.S
311+
endif !BUILD_PPC32_ASM_INLINE_REG
308312
endif !BUILD_PPC32_ASM_INLINE
309313
endif BUILD_PPC32_ASM
310314

@@ -539,7 +543,11 @@ if BUILD_PPC32_ASM
539543
if BUILD_PPC32_ASM_INLINE
540544
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm_c.c
541545
else
546+
if BUILD_PPC32_ASM_INLINE_REG
547+
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm_cr.c
548+
else
542549
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm.S
550+
endif !BUILD_PPC32_ASM_INLINE_REG
543551
endif !BUILD_PPC32_ASM_INLINE
544552
endif BUILD_PPC32_ASM
545553

@@ -830,7 +838,11 @@ if BUILD_PPC32_ASM
830838
if BUILD_PPC32_ASM_INLINE
831839
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm_c.c
832840
else
841+
if BUILD_PPC32_ASM_INLINE_REG
842+
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm_cr.c
843+
else
833844
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/ppc32/ppc32-sha256-asm.S
845+
endif !BUILD_PPC32_ASM_INLINE_REG
834846
endif !BUILD_PPC32_ASM_INLINE
835847
endif BUILD_PPC32_ASM
836848

0 commit comments

Comments
 (0)