aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/h8300/h8300.c2
-rw-r--r--gcc/config/h8300/h8300.h6
3 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 30be083..c58d5d1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -15,6 +15,9 @@ Thu Aug 3 15:53:03 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2000-08-03 Kazu Hirata <kazu@hxi.com>
+ * h8300.c: Fix a comment typo.
+ * h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8/S.
+
* jump.c: Fix formatting.
* toplev.c: Fix formatting.
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index c6e61db..e1dea0d 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -977,7 +977,7 @@ const_costs (r, c)
/* Documentation for the machine specific operand escapes:
- 'A' print rn in h8/300 mode, erN in H8/300H mode
+ 'A' print rn in H8/300 mode, erN in H8/300H mode
'C' print (operand - 2).
'E' like s but negative.
'F' like t but negative.
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 6e6bd44..271e392 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -866,9 +866,9 @@ struct cum_arg
&& GET_CODE (XEXP (XEXP (XEXP (OP, 0), 0), 1)) == CONST_INT) \
&& (TARGET_H8300S || SYMBOL_REF_FLAG (XEXP (XEXP (OP, 0), 0)))) \
|| (GET_CODE (OP) == MEM \
- && EIGHTBIT_CONSTANT_ADDRESS_P (XEXP (OP, 0))))
-
-
+ && EIGHTBIT_CONSTANT_ADDRESS_P (XEXP (OP, 0))) \
+ || (GET_CODE (OP) == MEM && TARGET_H8300S \
+ && GET_CODE (XEXP (OP, 0)) == CONST_INT))
#define EXTRA_CONSTRAINT(OP, C) \
((C) == 'T' ? OK_FOR_T (OP) : \