aboutsummaryrefslogtreecommitdiff
path: root/sys/crypto/openssl/arm/keccak1600-armv4.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/crypto/openssl/arm/keccak1600-armv4.S')
-rw-r--r--sys/crypto/openssl/arm/keccak1600-armv4.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/crypto/openssl/arm/keccak1600-armv4.S b/sys/crypto/openssl/arm/keccak1600-armv4.S
index ddad05acad64..bb50e41f523a 100644
--- a/sys/crypto/openssl/arm/keccak1600-armv4.S
+++ b/sys/crypto/openssl/arm/keccak1600-armv4.S
@@ -2044,6 +2044,7 @@ SHA3_squeeze:
mov r4,r1
mov r5,r2
mov r12,r3
+ ldr r0, [sp, #40] @ next is after the 10 pushed registers (10*4)
#ifdef __thumb2__
mov r9,#0x00ff00ff
@@ -2065,6 +2066,8 @@ SHA3_squeeze:
stmdb sp!,{r6,r7,r8,r9}
mov r14,r10
+ cmp r0, #1
+ beq .Lnext_block
b .Loop_squeeze
.align 4
@@ -2136,7 +2139,7 @@ SHA3_squeeze:
subs r12,r12,#8 @ bsz -= 8
bhi .Loop_squeeze
-
+.Lnext_block:
mov r0,r14 @ original r10
bl KeccakF1600