Re: [PATCH v2] x86: Use xorl %0,%0 in __get_user_asm

From: H. Peter Anvin
Date: Thu Aug 27 2020 - 14:55:24 EST


On 2020-08-27 11:09, Uros Bizjak wrote:
> xorl %0,%0 is equivalent to xorq %0,%0 as both will zero the
> entire register. Use xorl %0,%0 for all operand sizes to avoid
> REX prefix byte when legacy registers are used and to avoid size
> prefix byte when 16bit registers are used.
>
> Zeroing the full register is OK in this use case. xorl %0,%0 also
> breaks register dependency chains, avoiding potential partial
> register stalls with 8 and 16bit operands.
>
> The patch lowers the size of .fixup section by 20 bytes.
>
> Changes since v1:
> - Rewrite commit message.
>
> Signed-off-by: Uros Bizjak <ubizjak@xxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>

Reviewed-by: H. Peter Anvin (Intel) <hpa@xxxxxxxxx>