diff options
author | Tomas Mraz <tomas@openssl.org> | 2023-11-16 17:52:39 +0100 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2023-11-23 16:13:53 +0100 |
commit | 69d4d5282fdcb16ddb757f07e5c9c384aee65317 (patch) | |
tree | 294a474ee96a1c609eb5e23e35e8a0783beaf50a | |
parent | Cross Compiles CI: Run evp tests on pull requests (diff) | |
download | openssl-69d4d5282fdcb16ddb757f07e5c9c384aee65317.tar.xz openssl-69d4d5282fdcb16ddb757f07e5c9c384aee65317.zip |
keccak1600-armv4.pl: Further fix for the DigestSqueeze() support
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22750)
-rwxr-xr-x | crypto/sha/asm/keccak1600-armv4.pl | 10 | ||||
-rw-r--r-- | crypto/sha/build.info | 5 |
2 files changed, 8 insertions, 7 deletions
diff --git a/crypto/sha/asm/keccak1600-armv4.pl b/crypto/sha/asm/keccak1600-armv4.pl index f19076c248..f9a8cd1f00 100755 --- a/crypto/sha/asm/keccak1600-armv4.pl +++ b/crypto/sha/asm/keccak1600-armv4.pl @@ -933,7 +933,7 @@ SHA3_absorb: ___ } -{ my ($out,$len,$A_flat,$bsz,$next) = map("r$_", (4,5,10,12,11)); +{ my ($out,$len,$A_flat,$bsz,$next) = map("r$_", (4,5,10,12,0)); # void SHA3_squeeze(uint64_t A[5][5], @@ -947,13 +947,13 @@ $code.=<<___; .type SHA3_squeeze,%function .align 5 SHA3_squeeze: - stmdb sp!,{r0,r3-r11,lr} @ push 11 registers + stmdb sp!,{r0,r3-r10,lr} mov $A_flat,r0 mov $out,r1 mov $len,r2 mov $bsz,r3 - ldr $next, [sp, #48] @ next is after the 11 pushed registers (12*4) + ldr $next, [sp, #40] @ next is after the 10 pushed registers (10*4) #ifdef __thumb2__ mov r9,#0x00ff00ff @@ -1090,9 +1090,9 @@ SHA3_squeeze: .Lsqueeze_done: add sp,sp,#24 #if __ARM_ARCH__>=5 - ldmia sp!,{r4-r11,pc} + ldmia sp!,{r4-r10,pc} #else - ldmia sp!,{r4-r11,lr} + ldmia sp!,{r4-r10,lr} tst lr,#1 moveq pc,lr @ be binary compatible with V4, yet bx lr @ interoperable with Thumb ISA:-) diff --git a/crypto/sha/build.info b/crypto/sha/build.info index 92f48531ce..95767e9589 100644 --- a/crypto/sha/build.info +++ b/crypto/sha/build.info @@ -169,15 +169,16 @@ GENERATE[keccak1600-s390x.S]=asm/keccak1600-s390x.pl GENERATE[sha1-c64xplus.S]=asm/sha1-c64xplus.pl GENERATE[sha256-c64xplus.S]=asm/sha256-c64xplus.pl GENERATE[sha512-c64xplus.S]=asm/sha512-c64xplus.pl -GENERATE[keccak1600-c64x.S]=asm/keccak1600-c64x.pl GENERATE[sha256-riscv64-zvkb-zvknha_or_zvknhb.S]=asm/sha256-riscv64-zvkb-zvknha_or_zvknhb.pl GENERATE[sha512-riscv64-zvkb-zvknhb.S]=asm/sha512-riscv64-zvkb-zvknhb.pl -# These are not yet used +# These are not yet used and do not support multi-squeeze +GENERATE[keccak1600-c64x.S]=asm/keccak1600-c64x.pl GENERATE[keccak1600-avx2.S]=asm/keccak1600-avx2.pl GENERATE[keccak1600-avx512.S]=asm/keccak1600-avx512.pl GENERATE[keccak1600-avx512vl.S]=asm/keccak1600-avx512vl.pl GENERATE[keccak1600-mmx.S]=asm/keccak1600-mmx.pl GENERATE[keccak1600p8-ppc.S]=asm/keccak1600p8-ppc.pl + GENERATE[sha1-thumb.S]=asm/sha1-thumb.pl |