From mboxrd@z Thu Jan 1 00:00:00 1970 From: ak@muc.de To: Richard Henderson Cc: ak@muc.de, egcs@cygnus.com Subject: Re: Feature request: ability to describe x86 register halves as contraints. Date: Tue, 30 Jun 1998 04:50:00 -0000 Message-id: <19980630135032.22058@kali.lrz-muenchen.de> References: <19980629184404.62482@kali.lrz-muenchen.de> <19980630004629.A20825@dot.cygnus.com> X-SW-Source: 1998-06/msg01108.html 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