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