aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-06-11 12:05:04 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-06-11 12:05:04 +0000
commitcf874806a6c277bc1e61131f94645db282915dc3 (patch)
tree18b7493563da35099d0fc4e52f381e6413961040
parentca9d6ccabc59098185b3f8ac957159878a996d61 (diff)
downloadgcc-cf874806a6c277bc1e61131f94645db282915dc3.zip
gcc-cf874806a6c277bc1e61131f94645db282915dc3.tar.gz
gcc-cf874806a6c277bc1e61131f94645db282915dc3.tar.bz2
h8300.h (RETURN_IN_MEMORY): Accept DImode if !TARGET_H8300.
* config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if !TARGET_H8300. From-SVN: r67759
-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