diff options
author | Alexander Monakov <amonakov@ispras.ru> | 2018-08-27 17:08:50 +0300 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2018-08-27 17:08:50 +0300 |
commit | de5b5228631d14e272ec8bf93827dea3da16a33d (patch) | |
tree | 58d0821bd3945ea94fdd02018160bb52023e6dfe /gcc | |
parent | 92a285c1a7bad310d7223a7aa5d70e6a5fc3e644 (diff) | |
download | gcc-de5b5228631d14e272ec8bf93827dea3da16a33d.zip gcc-de5b5228631d14e272ec8bf93827dea3da16a33d.tar.gz gcc-de5b5228631d14e272ec8bf93827dea3da16a33d.tar.bz2 |
match.pd: add single-use check for (x & y) ^ y -> ~x & y (PR 85758)
PR tree-optimization/85758
* match.pd ((X & Y) ^ Y): Add :s qualifier to inner expression.
From-SVN: r263887
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/match.pd | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ecd5f6..123d76c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/match.pd b/gcc/match.pd index cb3c93e..d43e52d 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -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 |