On Mon, May 20, 2019 at 11:52 AM Uros Bizjak <ubiz...@gmail.com> wrote:

> How about the attached patch that enables zeroing only for 32bit
> processors, and only for cpuid leaf 1? Usually, __get_cpuid is used
> with a constant leaf argument, so we benefit from constant propagation
> into inline function. Also, according to the confusing documentation,
> it looks to me that zeroing %ecx and %edx regs should be enough.

Uros,
  you said "zeroing %ecx and %edx regs should be enough". That confuses me.
The older documentation says that for %eax = 1 it is guaranteed to return a
value in %eax and %edx, with %ebx and %ecx  being 'Intel reserved. Do not
use'.

Did you instead mean "zeroing %EBX and %ECX regs should be enough"?

Otherwise I like your proposal, I just have to fully understand the changed
inline assembly and test it on actual hardware.

- Matthew

Reply via email to