]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
keccak1600-armv4.pl: Further fix for the DigestSqueeze() support
authorTomas Mraz <tomas@openssl.org>
Thu, 16 Nov 2023 16:52:39 +0000 (17:52 +0100)
committerHugo Landau <hlandau@openssl.org>
Thu, 23 Nov 2023 15:13:53 +0000 (15:13 +0000)
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)

crypto/sha/asm/keccak1600-armv4.pl
crypto/sha/build.info

index f19076c248c1b64c644d9b0648e52db7ddeb492e..f9a8cd1f0046af27ce963be51c6514d3c279eaa5 100755 (executable)
@@ -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:-)
index 92f48531ceb10ea8b0331316d675e98b1a963aa2..95767e9589b11334d62c5ed1e8be6f54048f6c9e 100644 (file)
@@ -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