diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-01-10 19:31:01 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-01-10 19:31:01 -0500 |
commit | 28bad1cbc3d2c0d2b942296e4f32ff32bc6701b5 (patch) | |
tree | 15d5537476209185e746a2b5284becee826c943a | |
parent | e9baa644022b2d7d0f2f547baa5c7a4b477e7429 (diff) | |
download | gcc-28bad1cbc3d2c0d2b942296e4f32ff32bc6701b5.zip gcc-28bad1cbc3d2c0d2b942296e4f32ff32bc6701b5.tar.gz gcc-28bad1cbc3d2c0d2b942296e4f32ff32bc6701b5.tar.bz2 |
(simplify_relational_operation): Don't do anything with CC0 in
addition to MODE_CC values.
From-SVN: r6376
-rw-r--r-- | gcc/cse.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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 |