This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Feature request: ability to describe x86 register halves as contraints.
On Tue, Jun 30, 1998 at 09:46:29AM +0200, Richard Henderson wrote:
> On Mon, Jun 29, 1998 at 06:44:04PM +0200, ak@muc.de wrote:
> > The only way to do this is to use fixed input registers and hardcode the
> > register halves. Unfortunately this adds some compiler version dependencies
> > to my code, and also limits the possibilities of the compiler to do other
> > optimizations.
>
> Incorrect:
>
> b -- print the QImode name of the register for the indicated operand.
> %b0 would print %al if operands[0] is reg 0.
> w -- likewise, print the HImode name of the register.
> k -- likewise, print the SImode name of the register.
> h -- print the QImode name for a "high" register, either ah, bh, ch or dh.
>
> So:
>
> asm ("# %0 %b0 %h0 %w0 %k0" : : "q"(x));
>
> yields
>
> # %eax %al %ah %ax %eax
Ok, I feel stupid now, but to my defense I must say that this is not
documented in the info pages.
Thank you.
-Andi