(simplify_relational_operation): Don't do anything with CC0 in
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 11 Jan 1994 00:31:01 +0000 (19:31 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 11 Jan 1994 00:31:01 +0000 (19:31 -0500)
addition to MODE_CC values.

From-SVN: r6376

gcc/cse.c

index 2d4883301b2bae81a16d38c339993ddeaa0b594a..dd2cb28e5e7307fecf719fde9abf469f276502d5 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -4296,9 +4296,13 @@ simplify_relational_operation (code, mode, op0, op1)
   if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
     op1 = XEXP (op0, 1), op0 = XEXP (op0, 0);
 
-  /* What to do with MODE_CC isn't clear yet.
-     Let's make sure nothing erroneous is done.  */
-  if (GET_MODE_CLASS (GET_MODE (op0)) == MODE_CC)
+  /* We can't simplify MODE_CC values since we don't know what the
+     actual comparison is.  */
+  if (GET_MODE_CLASS (GET_MODE (op0)) == MODE_CC
+#ifdef HAVE_cc0
+      || op0 == cc0_rtx
+#endif
+      )
     return 0;
 
   /* For integer comparisons of A and B maybe we can simplify A - B and can