combine.c (try_combine): If split with mode-changed scratch register didn't work...
authorJ"orn Rennecke <amylaar@redhat.com>
Sat, 3 Mar 2001 04:19:50 +0000 (04:19 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Sat, 3 Mar 2001 04:19:50 +0000 (04:19 +0000)
* combine.c (try_combine): If split with mode-changed scratch
register didn't work, try the original mode.

From-SVN: r40201

gcc/ChangeLog
gcc/combine.c

index 37f188048d210684b3de05d1cc69ae7461b438a1..363f2175f483ceb83ca82091b85100aba06ebf29 100644 (file)
@@ -1,3 +1,8 @@
+Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * combine.c (try_combine): If split with mode-changed scratch
+       register didn't work, try the original mode.
+
 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
 
        * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
index a3b96400f7abb3f2527ce493f0b341864e4f381f..bf6a1eec5d843edac4e88939f00fa9b9e9e944a9 100644 (file)
@@ -2147,6 +2147,15 @@ try_combine (i3, i2, i1, new_direct_jump_p)
                                             gen_rtx_CLOBBER (VOIDmode,
                                                              ni2dest))),
                                 i3);
+         /* If the split with the mode-changed register didn't work, try
+            the original register.  */
+         if (! m_split && ni2dest != i2dest)
+           m_split = split_insns (gen_rtx_PARALLEL
+                                  (VOIDmode,
+                                   gen_rtvec (2, newpat,
+                                              gen_rtx_CLOBBER (VOIDmode,
+                                                               i2dest))),
+                                   i3);
        }
 
       if (m_split && GET_CODE (m_split) != SEQUENCE)