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
This commit is contained in:
Roger Sayle 2003-09-18 19:07:04 +00:00 committed by Roger Sayle
parent 69b182fda6
commit a6a0f87623
2 changed files with 7 additions and 0 deletions

View file

@ -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

View file

@ -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,