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.
- To: ak at muc dot de, egcs at cygnus dot com
- Subject: Re: Feature request: ability to describe x86 register halves as contraints.
- From: Richard Henderson <rth at cygnus dot com>
- Date: Tue, 30 Jun 1998 00:46:29 -0700
- References: <19980629184404.62482@kali.lrz-muenchen.de>
- Reply-To: Richard Henderson <rth at cygnus dot com>
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~