lib/crypto: x86/sha512: Remove unnecessary checks for nblocks==0

Since sha512_blocks() is called only with nblocks >= 1, remove
unnecessary checks for nblocks == 0 from the x86 SHA-512 assembly code.

Link: https://lore.kernel.org/r/20250630160320.2888-16-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
This commit is contained in:
Eric Biggers 2025-06-30 09:03:19 -07:00
parent 484c18119f
commit 6486f2b036
3 changed files with 3 additions and 14 deletions

View File

@ -272,13 +272,10 @@ frame_size = frame_WK + WK_SIZE
# stored in "data".
# The size of the message pointed to by "data" must be an integer multiple
# of SHA512 message blocks.
# "nblocks" is the message length in SHA512 blocks
# "nblocks" is the message length in SHA512 blocks. Must be >= 1.
########################################################################
SYM_FUNC_START(sha512_transform_avx)
test msglen, msglen
je .Lnowork
# Save GPRs
push %rbx
push %r12
@ -362,7 +359,6 @@ SYM_FUNC_START(sha512_transform_avx)
pop %r12
pop %rbx
.Lnowork:
RET
SYM_FUNC_END(sha512_transform_avx)

View File

@ -564,7 +564,7 @@ frame_size = frame_CTX + CTX_SIZE
# stored in "data".
# The size of the message pointed to by "data" must be an integer multiple
# of SHA512 message blocks.
# "nblocks" is the message length in SHA512 blocks
# "nblocks" is the message length in SHA512 blocks. Must be >= 1.
########################################################################
SYM_FUNC_START(sha512_transform_rorx)
@ -582,7 +582,6 @@ SYM_FUNC_START(sha512_transform_rorx)
and $~(0x20 - 1), %rsp
shl $7, NUM_BLKS # convert to bytes
jz .Ldone_hash
add INP, NUM_BLKS # pointer to end of data
mov NUM_BLKS, frame_INPEND(%rsp)
@ -668,8 +667,6 @@ SYM_FUNC_START(sha512_transform_rorx)
cmp frame_INPEND(%rsp), INP
jne .Lloop0
.Ldone_hash:
# Restore Stack Pointer
mov %rbp, %rsp
pop %rbp

View File

@ -271,13 +271,10 @@ frame_size = frame_WK + WK_SIZE
# stored in "data".
# The size of the message pointed to by "data" must be an integer multiple
# of SHA512 message blocks.
# "nblocks" is the message length in SHA512 blocks
# "nblocks" is the message length in SHA512 blocks. Must be >= 1.
########################################################################
SYM_FUNC_START(sha512_transform_ssse3)
test msglen, msglen
je .Lnowork
# Save GPRs
push %rbx
push %r12
@ -361,7 +358,6 @@ SYM_FUNC_START(sha512_transform_ssse3)
pop %r12
pop %rbx
.Lnowork:
RET
SYM_FUNC_END(sha512_transform_ssse3)