match.pd: add single-use check for (x & y) ^ y -> ~x & y (PR 85758)
authorAlexander Monakov <amonakov@ispras.ru>
Mon, 27 Aug 2018 14:08:50 +0000 (17:08 +0300)
committerAlexander Monakov <amonakov@gcc.gnu.org>
Mon, 27 Aug 2018 14:08:50 +0000 (17:08 +0300)
PR tree-optimization/85758
* match.pd ((X & Y) ^ Y): Add :s qualifier to inner expression.

From-SVN: r263887

gcc/ChangeLog
gcc/match.pd

index 5ecd5f60e1d8358cd572bc6ce379618dbc915c87..123d76c86804ddb6219da123071845243bef9393 100644 (file)
@@ -1,3 +1,8 @@
+2018-08-27  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR tree-optimization/85758
+       * match.pd ((X & Y) ^ Y): Add :s qualifier to inner expression.
+
 2018-08-27  David Malcolm  <dmalcolm@redhat.com>
 
        PR 87091
index cb3c93e3e162b262e218dee1d09858095efba371..d43e52d05cddbe0644de27f848487d56b9ab07cc 100644 (file)
@@ -1027,7 +1027,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
 (for opo (bit_and bit_xor)
      opi (bit_xor bit_and)
  (simplify
-  (opo:c (opi:c @0 @1) @1) 
+  (opo:c (opi:cs @0 @1) @1)
   (bit_and (bit_not @0) @1)))
 
 /* Given a bit-wise operation CODE applied to ARG0 and ARG1, see if both