diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/combine.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37f1880..363f217 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/combine.c b/gcc/combine.c index a3b9640..bf6a1ee 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -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) |
