legitimate address. Please HELP!

David Querbach querbach@realtime.bc.ca
Tue Oct 23 09:35:00 GMT 2001


> int
> legitimate_address_p (mode, operand, strict)
> enum machine_mode mode;
> rtx operand;
> int strict;
> {
>     rtx x = operand;
> 
>     /* accept @Rn */
>     if (GET_CODE (operand) == REG
>             &&(strict ? REG_OK_FOR_BASE_STRICT_P (x)
>                : REG_OK_FOR_BASE_NOSTRICT_P (x)))  
>         return 1;
> 
>     /* accept address */
>     if (CONSTANT_ADDRESS_P (operand))
>         return 1;
> 
>     /* accept X(Rn) */
>     if (GET_CODE (operand) == PLUS
>             && GET_CODE (XEXP (operand, 0)) == REG
>             && REG_OK_FOR_BASE_P (XEXP (operand, 0))
>             && CONSTANT_ADDRESS_P (XEXP (operand, 1)))
>         return 1;

      return 0;   // If you don't have this, gcc may accept unwanted
		  // addresses as legitimate, but not complain.
 
> }
> --------------------------

We also are interested in using the MSP430; could you send me a copy of your
port when it's working?

Regards,

David Querbach
Real-Time Systems Inc.
www.realtime.bc.ca

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com



More information about the crossgcc mailing list