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:
Jeffrey A Law 1998-08-20 23:48:14 +00:00 committed by Jeff Law
parent acb619d997
commit 2b9abd88e9
2 changed files with 11 additions and 10 deletions

View File

@ -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.

View File

@ -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) \
{ \