function.c (purge_single_hard_subreg_set): Only check REGNO if the subreg was a hard...
authorAndrew MacLeod <amacleod@redhat.com>
Tue, 10 Apr 2001 02:47:32 +0000 (02:47 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Tue, 10 Apr 2001 02:47:32 +0000 (02:47 +0000)
2001-04-10  Andrew MacLeod  <amacleod@redhat.com>

* function.c (purge_single_hard_subreg_set): Only check REGNO if
the subreg was a hard register. Pseudos are left as subregs.

From-SVN: r41217

gcc/ChangeLog
gcc/function.c

index 2a454762c4034b1314785c3e0d5f9f071be490d8..dc5b07cbd6b5b217b20679b14474671319f5caae 100644 (file)
@@ -1,3 +1,8 @@
+2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       * function.c (purge_single_hard_subreg_set): Only check REGNO if 
+       the subreg was a hard register. Pseudos are left as subregs.
+
 2001-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
index ee182580c2a035eae8273c43747988436aee1206..a561d8eefe0eb0bb148fda7d2c7fa76bdca16c03 100644 (file)
@@ -3456,7 +3456,7 @@ purge_single_hard_subreg_set (pattern)
     }
 
                  
-  if (REGNO (reg) < FIRST_PSEUDO_REGISTER)
+  if (GET_CODE (reg) == REG && REGNO (reg) < FIRST_PSEUDO_REGISTER)
     {
       reg = gen_rtx_REG (mode, REGNO (reg) + offset);
       SET_DEST (pattern) = reg;