diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-09-18 19:07:04 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-09-18 19:07:04 +0000 |
commit | a6a0f876237d5c12b446cb6754b908ebb508cd1c (patch) | |
tree | e3da0a38440d62cdf709275ba2ecf04b6429244f /gcc | |
parent | 69b182fda603ed65448103a22ce4ad76744e6229 (diff) | |
download | gcc-a6a0f876237d5c12b446cb6754b908ebb508cd1c.zip gcc-a6a0f876237d5c12b446cb6754b908ebb508cd1c.tar.gz gcc-a6a0f876237d5c12b446cb6754b908ebb508cd1c.tar.bz2 |
simplify-rtx.c (simplify_unary_operation): Only transform (not (eq X Y)) into (ne X Y) when...
* simplify-rtx.c (simplify_unary_operation): Only transform
(not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
is -1. RTL "not" is a bit-wise not, "~", not a logical not "!".
From-SVN: r71532
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/simplify-rtx.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b4f6d6..aac42bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-09-18 Roger Sayle <roger@eyesopen.com> + + * simplify-rtx.c (simplify_unary_operation): Only transform + (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE + is -1. RTL "not" is a bit-wise not, "~", not a logical not "!". + 2003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> PR target/11674 diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index f2da9ee..c338b66 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -808,6 +808,7 @@ simplify_unary_operation (enum rtx_code code, enum machine_mode mode, /* (not (eq X Y)) == (ne X Y), etc. */ if (GET_RTX_CLASS (GET_CODE (op)) == '<' + && (mode == BImode || STORE_FLAG_VALUE == -1) && ((reversed = reversed_comparison_code (op, NULL_RTX)) != UNKNOWN)) return simplify_gen_relational (reversed, mode, VOIDmode, |