reload.c (push_reload): Add condition missed in SUBREG byte offset patch.
authorVladimir Makarov <vmakarov@toke.toronto.redhat.com>
Wed, 11 Apr 2001 14:13:13 +0000 (14:13 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Wed, 11 Apr 2001 14:13:13 +0000 (14:13 +0000)
2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>

* reload.c (push_reload):  Add condition missed in SUBREG byte
offset patch.

From-SVN: r41253

gcc/ChangeLog
gcc/reload.c

index 383e0f088e7c822ea3e697a2406a071a3215774c..c6311ed7d2357cd19d0432c1118c359da6af9b83 100644 (file)
@@ -1,3 +1,8 @@
+2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+
+       * reload.c (push_reload): Add condition missed in SUBREG byte
+       offset patch.
+
 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
index ea5bea62331a9d55f3954813817c8d5d8ac2b34f..2244e0d8ec43f614b000d0ef69e93407fb9a3ad3 100644 (file)
@@ -944,6 +944,7 @@ push_reload (in, out, inloc, outloc, class,
      no choice, so we hope we do get the right register class there.  */
 
   if (in != 0 && GET_CODE (in) == SUBREG
+      && (SUBREG_BYTE (in) == 0 || strict_low)
 #ifdef CLASS_CANNOT_CHANGE_MODE
       && (class != CLASS_CANNOT_CHANGE_MODE
          || ! CLASS_CANNOT_CHANGE_MODE_P (GET_MODE (SUBREG_REG (in)), inmode))