summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/reload.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f491f3c7edf..91ac616f757 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,7 @@
2000-05-27 Geoff Keating <geoffk@cygnus.com>
+ * reload.c (get_secondary_mem): Don't widen floating-point modes.
+
* combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when
substituting the REG in a (subreg:X (reg:Y ...)).
diff --git a/gcc/reload.c b/gcc/reload.c
index eb4302d117a..d19b1d8bcee 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -587,7 +587,7 @@ get_secondary_mem (x, mode, opnum, type)
#ifdef SECONDARY_MEMORY_NEEDED_MODE
mode = SECONDARY_MEMORY_NEEDED_MODE (mode);
#else
- if (GET_MODE_BITSIZE (mode) < BITS_PER_WORD)
+ if (GET_MODE_BITSIZE (mode) < BITS_PER_WORD && INTEGRAL_MODE_P (mode))
mode = mode_for_size (BITS_PER_WORD, GET_MODE_CLASS (mode), 0);
#endif