Commit 57b15e92 authored by Eric Biggers's avatar Eric Biggers
Browse files

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



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

Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250704023958.73274-3-ebiggers@kernel.org


Signed-off-by: default avatarEric Biggers <ebiggers@kernel.org>
parent a8c60a9a
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -357,7 +357,6 @@ SYM_FUNC_START(sha256_transform_avx)
	and	$~15, %rsp		# align stack pointer

	shl     $6, NUM_BLKS		# convert to bytes
	jz      .Ldone_hash
	add     INP, NUM_BLKS		# pointer to end of data
	mov     NUM_BLKS, _INP_END(%rsp)

@@ -446,8 +445,6 @@ SYM_FUNC_START(sha256_transform_avx)
	cmp     _INP_END(%rsp), INP
	jne     .Lloop0

.Ldone_hash:

	mov	%rbp, %rsp
	popq	%rbp
	popq    %r15
+0 −1
Original line number Diff line number Diff line
@@ -535,7 +535,6 @@ SYM_FUNC_START(sha256_transform_rorx)
	and	$-32, %rsp	# align rsp to 32 byte boundary

	shl	$6, NUM_BLKS	# convert to bytes
	jz	.Ldone_hash
	lea	-64(INP, NUM_BLKS), NUM_BLKS # pointer to last block
	mov	NUM_BLKS, _INP_END(%rsp)

+0 −3
Original line number Diff line number Diff line
@@ -112,7 +112,6 @@
SYM_FUNC_START(sha256_ni_transform)

	shl		$6, NUM_BLKS		/*  convert to bytes */
	jz		.Ldone_hash
	add		DATA_PTR, NUM_BLKS	/* pointer to end of data */

	/*
@@ -163,8 +162,6 @@ SYM_FUNC_START(sha256_ni_transform)
	movdqu		STATE1, 0*16(STATE_PTR)
	movdqu		STATE0, 1*16(STATE_PTR)

.Ldone_hash:

	RET
SYM_FUNC_END(sha256_ni_transform)

+0 −3
Original line number Diff line number Diff line
@@ -364,7 +364,6 @@ SYM_FUNC_START(sha256_transform_ssse3)
	and	$~15, %rsp

	shl     $6, NUM_BLKS		 # convert to bytes
	jz      .Ldone_hash
	add     INP, NUM_BLKS
	mov     NUM_BLKS, _INP_END(%rsp) # pointer to end of data

@@ -457,8 +456,6 @@ SYM_FUNC_START(sha256_transform_ssse3)
	cmp     _INP_END(%rsp), INP
	jne     .Lloop0

.Ldone_hash:

	mov	%rbp, %rsp
	popq	%rbp
	popq    %r15