* reload.c (get_secondary_mem): Don't widen floating-point modes.
authorGeoff Keating <geoffk@cygnus.com>
Sun, 28 May 2000 01:07:18 +0000 (01:07 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Sun, 28 May 2000 01:07:18 +0000 (01:07 +0000)
From-SVN: r34218

gcc/ChangeLog
gcc/reload.c

index f491f3c7edf98af2085771dfcee23cd60d6b9475..91ac616f757a0e4820410c295b5364c38175d524 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 eb4302d117a542003ec1ace068e0370b9b34d6ce..d19b1d8bcee36de289593bc7657c4f93d1d8e07b 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