summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-18 19:07:04 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-18 19:07:04 +0000
commitdffad8ccd03aedb0df07dea9b37c61da86c5b49c (patch)
treee3da0a38440d62cdf709275ba2ecf04b6429244f
parent7a142533370593c51f2235d867010e4addfea24e (diff)
downloadppe42-gcc-dffad8ccd03aedb0df07dea9b37c61da86c5b49c.tar.gz
ppe42-gcc-dffad8ccd03aedb0df07dea9b37c61da86c5b49c.zip
* 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 "!". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71532 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/simplify-rtx.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0b4f6d61960..aac42bff409 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 f2da9eef4d0..c338b665ca0 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,
OpenPOWER on IntegriCloud