Re: [PATCH] x86/asm/entry/64: Use shorter MOVs from segmers registers

From: Linus Torvalds
Date: Thu May 14 2015 - 13:05:19 EST


On Thu, May 14, 2015 at 9:55 AM, Denys Vlasenko <dvlasenk@xxxxxxxxxx> wrote:
> "movw %ds,%cx" insn needs a 0x66 prefix, while "movw %ds,%ecx" does not.
> The difference is that it overwrite entire %ecx, not only its low half,
> but subsequent code doesn't depend on the value of top half of %ecx,
> we can safely use the shorter insn.

I don't object to the patch, but did we actually confirm that it
always overwrites all of %ecx? The segment move instructions are
schizofrenic when it comes to sizes, and sometimes write just 16 bits
even when the instruction size is 32.

Was that just for push and/or move-to-memory?

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/