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