Commit 7dfd1e01 authored by Uros Bizjak's avatar Uros Bizjak Committed by Herbert Xu

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: default avatarUros Bizjak <ubizjak@gmail.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent db719539
...@@ -246,7 +246,7 @@ $code.=<<___ if (!$kernel); ...@@ -246,7 +246,7 @@ $code.=<<___ if (!$kernel);
___ ___
&declare_function("poly1305_init_x86_64", 32, 3); &declare_function("poly1305_init_x86_64", 32, 3);
$code.=<<___; $code.=<<___;
xor %rax,%rax xor %eax,%eax
mov %rax,0($ctx) # initialize hash value mov %rax,0($ctx) # initialize hash value
mov %rax,8($ctx) mov %rax,8($ctx)
mov %rax,16($ctx) mov %rax,16($ctx)
...@@ -2853,7 +2853,7 @@ $code.=<<___; ...@@ -2853,7 +2853,7 @@ $code.=<<___;
.type poly1305_init_base2_44,\@function,3 .type poly1305_init_base2_44,\@function,3
.align 32 .align 32
poly1305_init_base2_44: poly1305_init_base2_44:
xor %rax,%rax xor %eax,%eax
mov %rax,0($ctx) # initialize hash value mov %rax,0($ctx) # initialize hash value
mov %rax,8($ctx) mov %rax,8($ctx)
mov %rax,16($ctx) mov %rax,16($ctx)
...@@ -3947,7 +3947,7 @@ xor128_decrypt_n_pad: ...@@ -3947,7 +3947,7 @@ xor128_decrypt_n_pad:
mov \$16,$len mov \$16,$len
sub %r10,$len sub %r10,$len
xor %eax,%eax xor %eax,%eax
xor %r11,%r11 xor %r11d,%r11d
.Loop_dec_byte: .Loop_dec_byte:
mov ($inp,$otp),%r11b mov ($inp,$otp),%r11b
mov ($otp),%al mov ($otp),%al
...@@ -4085,7 +4085,7 @@ avx_handler: ...@@ -4085,7 +4085,7 @@ avx_handler:
.long 0xa548f3fc # cld; rep movsq .long 0xa548f3fc # cld; rep movsq
mov $disp,%rsi 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 8(%rsi),%rdx # arg2, disp->ImageBase
mov 0(%rsi),%r8 # arg3, disp->ControlPc mov 0(%rsi),%r8 # arg3, disp->ControlPc
mov 16(%rsi),%r9 # arg4, disp->FunctionEntry mov 16(%rsi),%r9 # arg4, disp->FunctionEntry
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment