Have run out of space in CONST_OK_FOR_LETTER_P

Richard Henderson rth@redhat.com
Mon Jan 14 17:26:00 GMT 2002


On Mon, Jan 14, 2002 at 04:32:36PM -0500, Peter Barada wrote:
> I've attempted to get around this by creating an EXTRA_CONSTRAINT that
> accepts if its a constant integer, and its value is in range:
> 
>   (((CODE) == 'R') && TARGET_CFV4)			\
>    ? (GET_CODE (OP) == CONST_INT			\
>       && (INTVAL (OP) == -1				\
>           || (INTVAL (OP) >= 1 && INTVAL (OP) <= 7)))	\
>    :                                                    \

This is the correct solution to running out of CONST_OK letters.

> Are there any letters left that can be used
> for CONST_OK_FOR_LETTER_P, or EXTRA_CONSTRAINT? 

There are ranges specifies for CONST_OK_FOR_LETTER_P, 
CONST_OK_FOR_CONST_DOUBLE_P, and some documented generic
constraints.  All other letters may be split between
EXTRA_CONSTRAINT and REG_CLASS_FROM_LETTER as the target
sees fit.

The split is defined by checking EXTRA_CONSTRAINT for
any letter for which REG_CLASS_FROM_LETTER returns NO_REGS.


r~



More information about the Gcc mailing list