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


> 
> I'm in the midst of adding Coldfire V4E support to gcc-3.1, and
> there's no room left in the m68k CONST_OK_FOR_LETTER_P to add in the
> range [-1, 0-7] which the mov3q.l instruction supports.  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)))	\
>    :                                                    \
> 
> Is there a better way to do this?  Is there any way to extend
> CONST_OK_FOR_LETTER_P?  Are there any letters left that can be used
> for CONST_OK_FOR_LETTER_P, or EXTRA_CONSTRAINT? 

I believe the matching scheme has been recently changed to allow use of arbitary
letters for any of class - the predicates are tried in order and first matching
wins.

Only you can't overwrite the special purpose constraints, like mrX etc etc.

Honza
> 
> -- 
> Peter Barada                                   Peter.Barada@motorola.com
> Wizard                                         781-852-2768 (direct)
> WaveMark Solutions(wholly owned by Motorola)   781-270-0193 (fax)


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