(push_secondary_reload): Don't strip paradoxical SUBREG if
authorRichard Kenner <kenner@gcc.gnu.org>
Sun, 17 Dec 1995 11:36:47 +0000 (06:36 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Sun, 17 Dec 1995 11:36:47 +0000 (06:36 -0500)
reload_class is CLASS_CANNOT_CHANGE_SIZE.

From-SVN: r10782

gcc/reload.c

index d797e74df890555855ef0aa24cff24c64f864b6c..53569e7ca714849776ca6e6535a0f98ecfaa0bfa 100644 (file)
@@ -360,6 +360,9 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
   /* If X is a paradoxical SUBREG, use the inner value to determine both the
      mode and object being reloaded.  */
   if (GET_CODE (x) == SUBREG
+#ifdef CLASS_CANNOT_CHANGE_SIZE
+      && reload_class != CLASS_CANNOT_CHANGE_SIZE
+#endif
       && (GET_MODE_SIZE (GET_MODE (x))
          > GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
     {