Re: [patch 13/17] Immediate Values - x86 Optimization

From: H. Peter Anvin
Date: Wed Apr 09 2008 - 18:48:26 EST


Mathieu Desnoyers wrote:
* H. Peter Anvin (hpa@xxxxxxxxx) wrote:
Mathieu Desnoyers wrote:
Ok, so the most flexible solution that I see, that should fit for both
x86 and x86_64 would be :
1 byte : "=q" : "a", "b", "c", or "d" register for the i386. For
x86-64 it is equivalent to "r" class (for 8-bit
instructions that do not use upper halves).
2, 4, 8 bytes : "=r" : A register operand is allowed provided that it is in a
general register.
Any reason to keep carrying this completely misleading comment chunk still?

-hpa

This comment explains why I use the =q constraint for the 1 bytes
immediate value. It makes sure we use an instruction with 1-byte opcode,
without REX.R prefix, on x86_64.

No, it doesn't. That would be "=Q".

-hpa
--
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/