Help with constraint for single register
Ian Lance Taylor
ian@airs.com
Sat Dec 25 04:28:00 GMT 2004
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
More information about the Gcc
mailing list