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: Have run out of space in CONST_OK_FOR_LETTER_P


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~


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