diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/reload.c | 2 |
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 |