This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Help with constraint for single register
- From: Ian Lance Taylor <ian at airs dot com>
- To: Robert Baruch <autophile at gmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: 24 Dec 2004 20:55:32 -0500
- Subject: Re: Help with constraint for single register
- References: <bbac368c041224104958cf50eb@mail.gmail.com>
Robert Baruch <autophile@gmail.com> writes:
> The problem is that gcc is generating register moves that don't go
> through the W register, such as:
>
> (insn 815 86 88 0 ../../Desktop/gcc-3.4.3/gcc/libgcc2.c:462 (set (reg:QI 8 R57)
> (reg/f:QI 49 R20/FP)) 0 {movqi} (nil)
> (nil))
>
> and that causes gcc to bomb out saying that the insn doesn't satisfy
> its constraints (obviously because the move doesn't involve W).
What is your definition of REGISTER_MOVE_COST? If reload sees a
register to register move for which REGISTER_MOVE_COST is 2, it does
not bother to verify the constraints. (I believe this is intended to
be an efficiency hack.)
Ian