Hi Uros, Herbert, On Thu, Aug 27, 2020 at 07:38:31PM +0200, Uros Bizjak wrote: > x86_64 zero extends 32bit operations, so for 64bit operands, > XORL r32,r32 is functionally equal to XORQ r64,r64, but avoids > a REX prefix byte when legacy registers are used. > > Signed-off-by: Uros Bizjak <ubizjak@xxxxxxxxx> > Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> > --- > arch/x86/crypto/poly1305-x86_64-cryptogams.pl | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/crypto/poly1305-x86_64-cryptogams.pl b/arch/x86/crypto/poly1305-x86_64-cryptogams.pl > index 137edcf038cb..7d568012cc15 100644 > --- a/arch/x86/crypto/poly1305-x86_64-cryptogams.pl > +++ b/arch/x86/crypto/poly1305-x86_64-cryptogams.pl > @@ -246,7 +246,7 @@ $code.=<<___ if (!$kernel); > ___ > &declare_function("poly1305_init_x86_64", 32, 3); > $code.=<<___; > - xor %rax,%rax > + xor %eax,%eax > mov %rax,0($ctx) # initialize hash value > mov %rax,8($ctx) > mov %rax,16($ctx) > @@ -2853,7 +2853,7 @@ $code.=<<___; > .type poly1305_init_base2_44,\@function,3 > .align 32 > poly1305_init_base2_44: > - xor %rax,%rax > + xor %eax,%eax > mov %rax,0($ctx) # initialize hash value > mov %rax,8($ctx) > mov %rax,16($ctx) > @@ -3947,7 +3947,7 @@ xor128_decrypt_n_pad: > mov \$16,$len > sub %r10,$len > xor %eax,%eax > - xor %r11,%r11 > + xor %r11d,%r11d > .Loop_dec_byte: > mov ($inp,$otp),%r11b > mov ($otp),%al > @@ -4085,7 +4085,7 @@ avx_handler: > .long 0xa548f3fc # cld; rep movsq > > mov $disp,%rsi > - xor %rcx,%rcx # arg1, UNW_FLAG_NHANDLER > + xor %ecx,%ecx # arg1, UNW_FLAG_NHANDLER > mov 8(%rsi),%rdx # arg2, disp->ImageBase > mov 0(%rsi),%r8 # arg3, disp->ControlPc > mov 16(%rsi),%r9 # arg4, disp->FunctionEntry > -- > 2.26.2 > Per the discussion elsewhere, Acked-by: Jason A. Donenfeld <Jason@xxxxxxxxx> for cryptodev-2.6.git, rather than crypto-2.6.git Thanks, Jason