* simplify-rtx.c (simplify_unary_operation): Only transform
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Sep 2003 19:07:04 +0000 (19:07 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Sep 2003 19:07:04 +0000 (19:07 +0000)
(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

gcc/ChangeLog
gcc/simplify-rtx.c

index 0b4f6d6..aac42bf 100644 (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
index f2da9ee..c338b66 100644 (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,