re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0 when...
authorJakub Jelinek <jakub@redhat.com>
Fri, 22 Sep 2017 18:56:23 +0000 (20:56 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 22 Sep 2017 18:56:23 +0000 (20:56 +0200)
commita93952d2bee108c94f802aa14be0348bcf4bcb29
tree849d3a7452f4b4b9d765e628ec63a4a5f3f199f4
parent2dc589be3cb487eda8f537c535cab0f5a9a4a6a1
re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0 when the types don't match)

PR middle-end/35691
* match.pd: Simplify x == -1 & y == -1 into (x & y) == -1
and x != -1 | y != -1 into (x & y) != -1.

* gcc.dg/pr35691-1.c: Use -fdump-tree-forwprop1-details
instead of -fdump-tree-forwprop-details in dg-options.
* gcc.dg/pr35691-2.c: Likewise.
* gcc.dg/pr35691-3.c: New test.
* gcc.dg/pr35691-4.c: New test.

From-SVN: r253107
gcc/ChangeLog
gcc/match.pd
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr35691-1.c
gcc/testsuite/gcc.dg/pr35691-2.c
gcc/testsuite/gcc.dg/pr35691-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr35691-4.c [new file with mode: 0644]