This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]