aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-08-20 23:48:14 +0000
committerJeff Law <law@gcc.gnu.org>1998-08-20 17:48:14 -0600
commit2b9abd88e92613a4543a6c46b5d36417e6399ebf (patch)
tree8843ab05a20bb034a31d5cae7bc0cf258b76deb7 /gcc
parentacb619d9976d653433afad5010748b8f08b7b783 (diff)
downloadgcc-2b9abd88e92613a4543a6c46b5d36417e6399ebf.zip
gcc-2b9abd88e92613a4543a6c46b5d36417e6399ebf.tar.gz
gcc-2b9abd88e92613a4543a6c46b5d36417e6399ebf.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mn10200/mn10200.h16
2 files changed, 11 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 67c10b4..4bda631 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/mn10200/mn10200.h b/gcc/config/mn10200/mn10200.h
index 20db8a5..796caf2 100644
--- a/gcc/config/mn10200/mn10200.h
+++ b/gcc/config/mn10200/mn10200.h
@@ -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) \
{ \