crypto: x86/poly1305 - Use TEST %reg,%reg instead of CMP $0,%reg
authorUros Bizjak <ubizjak@gmail.com>
Fri, 27 Nov 2020 10:18:12 +0000 (11:18 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 4 Dec 2020 07:13:16 +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/poly1305-x86_64-cryptogams.pl

index 7d56801..71fae5a 100644 (file)
@@ -251,7 +251,7 @@ $code.=<<___;
        mov     %rax,8($ctx)
        mov     %rax,16($ctx)
 
-       cmp     \$0,$inp
+       test    $inp,$inp
        je      .Lno_key
 ___
 $code.=<<___ if (!$kernel);