* reload.c (get_secondary_mem): Don't widen floating-point modes.
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 28 May 2000 01:07:18 +0000 (01:07 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 28 May 2000 01:07:18 +0000 (01:07 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34218 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/reload.c

index f491f3c..91ac616 100644 (file)
@@ -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 ...)).
 
index eb4302d..d19b1d8 100644 (file)
@@ -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