aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/h8300/h8300.h5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1575492..7a495fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
+ * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
+ !TARGET_H8300.
+
+2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
+
* config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
* config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
(TARGET_RTL_DUMP): Likewise.
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index f57c0a1..90143eb 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -635,8 +635,9 @@ enum reg_class {
#define STRUCT_VALUE 0
/* Return true if X should be returned in memory. */
-#define RETURN_IN_MEMORY(X) \
- (TYPE_MODE (X) == BLKmode || GET_MODE_SIZE (TYPE_MODE (X)) > 4)
+#define RETURN_IN_MEMORY(X) \
+ (TYPE_MODE (X) == BLKmode \
+ || GET_MODE_SIZE (TYPE_MODE (X)) > (TARGET_H8300 ? 4 : 8))
/* When defined, the compiler allows registers explicitly used in the
rtl to be used as spill registers but prevents the compiler from