Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit beeb7745 authored by Uros Bizjak's avatar Uros Bizjak Committed by Greg Kroah-Hartman
Browse files

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: 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>
(cherry picked from commit 7dfd1e01b3dfc13431b1b25720cf2692a7e111ef)
Bug: 152722841
Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: Ice946da2856551122eca8b589323ecc7b3b311af
parent 4dffe8cd
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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