UPSTREAM: crypto: poly1305-x86_64 - Use XORL r32,32
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@gmail.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 7dfd1e01b3dfc13431b1b25720cf2692a7e111ef) Bug: 152722841 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ice946da2856551122eca8b589323ecc7b3b311af
This commit is contained in:
parent
4dffe8cd70
commit
beeb774515
1 changed files with 4 additions and 4 deletions
|
@ -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)
|
||||
|
@ -2869,7 +2869,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)
|
||||
|
@ -3963,7 +3963,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
|
||||
|
@ -4101,7 +4101,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
|
||||
|
|
Loading…
Reference in a new issue