addressof and alpha_expand_block_move
Mike Stump
mrs@wrs.com
Fri Jan 23 14:48:00 GMT 1998
> Date: Tue, 20 Jan 1998 16:56:16 -0800
> From: Richard Henderson <rth@cygnus.com>
> To: egcs@cygnus.com
> Tue Jan 20 16:43:49 1998 Richard Henderson <rth@cygnus.com>
> * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Allow addressof
> where we would accept a reg.
> ! #define GO_IF_LEGITIMATE_SIMPLE_ADDRESS(MODE, X, ADDR) \
> ! /* Accept addressof since it will eventually become \
> ! a register or an offset of the FP. */ \
> ! if (GET_CODE (X) == ADDRESSOF) \
> ! goto ADDR; \
> ! if (GET_CODE (X) == PLUS \
> ! && ((REG_P (XEXP (X, 0)) \
> ! && REG_OK_FOR_BASE_P (XEXP (X, 0)) \
> ! && CONSTANT_ADDRESS_P (XEXP (X, 1))) \
> ! || GET_CODE (XEXP (X, 0)) == ADDRESSOF)) \
> ! goto ADDR; \
I can help but wonder if there are machine independent semantics that
we can put in that will apply to existing GO_IF_LEGITIMATE_ADDRESSes
that render your alpha.h change unnecessary... It seems unclean to
have to embed knowledge of address-of into the file in this way.
More information about the Gcc
mailing list