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]
Other format: [Raw text]

Re: Help with constraint for single register


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


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