mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the register (it could be accessed via an outer SUBREG).
* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the register (it could be accessed via an outer SUBREG). (REG_OK_FOR_BASE_P): Likewwise. (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P. From-SVN: r21889
This commit is contained in:
parent
acb619d997
commit
2b9abd88e9
@ -1,5 +1,10 @@
|
||||
Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
|
||||
register (it could be accessed via an outer SUBREG).
|
||||
(REG_OK_FOR_BASE_P): Likewwise.
|
||||
(GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
|
||||
|
||||
* remove.c (optimize_reg_copy_3): Abort instead of silently generating
|
||||
bogus rtl.
|
||||
|
||||
|
@ -645,20 +645,18 @@ extern struct rtx_def *function_arg();
|
||||
/* Nonzero if X is a hard reg that can be used as an index
|
||||
or if it is a pseudo reg. */
|
||||
#define REG_OK_FOR_INDEX_P(X) \
|
||||
(GET_MODE (X) == PSImode \
|
||||
&& ((REGNO (X) >= 0 && REGNO(X) <= 3) || REGNO (X) >= FIRST_PSEUDO_REGISTER))
|
||||
(((REGNO (X) >= 0 && REGNO(X) <= 3) || REGNO (X) >= FIRST_PSEUDO_REGISTER))
|
||||
/* Nonzero if X is a hard reg that can be used as a base reg
|
||||
or if it is a pseudo reg. */
|
||||
#define REG_OK_FOR_BASE_P(X) \
|
||||
(GET_MODE (X) == PSImode \
|
||||
&& ((REGNO (X) >= 4 && REGNO(X) <= 8) || REGNO (X) >= FIRST_PSEUDO_REGISTER))
|
||||
(((REGNO (X) >= 4 && REGNO(X) <= 8) || REGNO (X) >= FIRST_PSEUDO_REGISTER))
|
||||
#else
|
||||
/* Nonzero if X is a hard reg that can be used as an index. */
|
||||
#define REG_OK_FOR_INDEX_P(X) \
|
||||
(GET_MODE (X) == PSImode) && REGNO_OK_FOR_INDEX_P (REGNO (X))
|
||||
REGNO_OK_FOR_INDEX_P (REGNO (X))
|
||||
/* Nonzero if X is a hard reg that can be used as a base reg. */
|
||||
#define REG_OK_FOR_BASE_P(X) \
|
||||
(GET_MODE (X) == PSImode) && REGNO_OK_FOR_BASE_P (REGNO (X))
|
||||
REGNO_OK_FOR_BASE_P (REGNO (X))
|
||||
#endif
|
||||
|
||||
|
||||
@ -691,11 +689,9 @@ extern struct rtx_def *function_arg();
|
||||
if (GET_CODE (X) == PLUS) \
|
||||
{ \
|
||||
rtx base = 0, index = 0; \
|
||||
if (REG_P (XEXP (X, 0)) \
|
||||
&& REG_OK_FOR_BASE_P (XEXP (X, 0))) \
|
||||
if (RTX_OK_FOR_BASE_P (XEXP (X, 0))) \
|
||||
base = XEXP (X, 0), index = XEXP (X, 1); \
|
||||
if (REG_P (XEXP (X, 1)) \
|
||||
&& REG_OK_FOR_BASE_P (XEXP (X, 1))) \
|
||||
if (RTX_OK_FOR_BASE_P (XEXP (X, 1))) \
|
||||
base = XEXP (X, 1), index = XEXP (X, 0); \
|
||||
if (base != 0 && index != 0) \
|
||||
{ \
|
||||
|
Loading…
Reference in New Issue
Block a user