crypto: x86/sha512 - Use TEST %reg,%reg instead of CMP $0,%reg
authorUros Bizjak <ubizjak@gmail.com>
Fri, 27 Nov 2020 09:59:43 +0000 (10:59 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 4 Dec 2020 07:13:15 +0000 (18:13 +1100)
CMP $0,%reg can't set overflow flag, so we can use shorter TEST %reg,%reg
instruction when only zero and sign flags are checked (E,L,LE,G,GE conditions).

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/sha512-avx-asm.S
arch/x86/crypto/sha512-ssse3-asm.S

index 63470fd..684d58c 100644 (file)
@@ -278,7 +278,7 @@ frame_size = frame_GPRSAVE + GPRSAVE_SIZE
 # "blocks" is the message length in SHA512 blocks
 ########################################################################
 SYM_FUNC_START(sha512_transform_avx)
-       cmp $0, msglen
+       test msglen, msglen
        je nowork
 
        # Allocate Stack Space
index 7946a1b..50812af 100644 (file)
@@ -280,7 +280,7 @@ frame_size = frame_GPRSAVE + GPRSAVE_SIZE
 ########################################################################
 SYM_FUNC_START(sha512_transform_ssse3)
 
-       cmp $0, msglen
+       test msglen, msglen
        je nowork
 
        # Allocate Stack Space