aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2002-10-15 05:01:07 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2002-10-15 05:01:07 +0000
commitdbf4f1a2bad3bf4dcfb00ee92820f5fbe9957577 (patch)
tree2b4971dced33798a51e2a5d41ec67793708c1e86 /gcc/combine.c
parent8c536ae9dc02b5a8bc34a64fadbeb558f2ac4065 (diff)
downloadgcc-dbf4f1a2bad3bf4dcfb00ee92820f5fbe9957577.zip
gcc-dbf4f1a2bad3bf4dcfb00ee92820f5fbe9957577.tar.gz
gcc-dbf4f1a2bad3bf4dcfb00ee92820f5fbe9957577.tar.bz2
* combine.c (simplify_set): Treat MODE_CC registers like cc0.
From-SVN: r58148
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index ea12e05..ce97adf 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -5021,11 +5021,9 @@ simplify_set (x)
/* If we are setting CC0 or if the source is a COMPARE, look for the use of
the comparison result and try to simplify it unless we already have used
undobuf.other_insn. */
- if ((GET_CODE (src) == COMPARE
-#ifdef HAVE_cc0
- || dest == cc0_rtx
-#endif
- )
+ if ((GET_MODE_CLASS (mode) == MODE_CC
+ || GET_CODE (src) == COMPARE
+ || CC0_P (dest))
&& (cc_use = find_single_use (dest, subst_insn, &other_insn)) != 0
&& (undobuf.other_insn == 0 || other_insn == undobuf.other_insn)
&& GET_RTX_CLASS (GET_CODE (*cc_use)) == '<'