diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-01 16:55:51 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-01 16:55:51 +0000 |
commit | 709ab4fc49e3356c4e99a5cc22a4c5f3c5473eb3 (patch) | |
tree | 1c3e0d3d78bd465ae5ab0c7d70812ddf87ab6162 /gcc | |
parent | a878dab7efe69318fa71d9c7249eaaf4e150b6c8 (diff) | |
download | gcc-709ab4fc49e3356c4e99a5cc22a4c5f3c5473eb3.zip gcc-709ab4fc49e3356c4e99a5cc22a4c5f3c5473eb3.tar.gz gcc-709ab4fc49e3356c4e99a5cc22a4c5f3c5473eb3.tar.bz2 |
(simplify_binary_operation): Reject CCmode in A & (~A) -> 0.
Also fix typos in previous change.
From-SVN: r4295
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cse.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -3599,7 +3599,7 @@ simplify_binary_operation (code, mode, op0, op1) if (((GET_CODE (op0) == NOT && rtx_equal_p (XEXP (op0, 0), op1)) || (GET_CODE (op1) == NOT && rtx_equal_p (XEXP (op1, 0), op0))) && ! side_effects_p (op0) - && mode == CCmode) + && mode != CCmode) return constm1_rtx; break; @@ -3610,7 +3610,7 @@ simplify_binary_operation (code, mode, op0, op1) && (INTVAL (op1) & GET_MODE_MASK (mode)) == GET_MODE_MASK (mode)) return gen_rtx (NOT, mode, op0); if (op0 == op1 && ! side_effects_p (op0) - && mode == CCmode) + && mode != CCmode) return const0_rtx; break; @@ -3621,12 +3621,13 @@ simplify_binary_operation (code, mode, op0, op1) && (INTVAL (op1) & GET_MODE_MASK (mode)) == GET_MODE_MASK (mode)) return op0; if (op0 == op1 && ! side_effects_p (op0) - && mode == CCmode) + && mode != CCmode) return op0; /* A & (~A) -> 0 */ if (((GET_CODE (op0) == NOT && rtx_equal_p (XEXP (op0, 0), op1)) || (GET_CODE (op1) == NOT && rtx_equal_p (XEXP (op1, 0), op0))) - && ! side_effects_p (op0)) + && ! side_effects_p (op0) + && mode != CCmode) return const0_rtx; break; |