Simple bitop reassoc in match.pd
commitf9153689e2ce4b8e19fbe2303a545d3cbedfa34e
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 May 2016 19:52:20 +0000 (10 19:52 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 May 2016 19:52:20 +0000 (10 19:52 +0000)
tree0a73b6e9c04150d305bc301e3cee930e37a9d50d
parent3604118da2f0e62a75ebd6d206a8cd3ef2573b01
Simple bitop reassoc in match.pd

2016-05-10  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* fold-const.c (fold_binary_loc) [(X ^ Y) & Y]: Remove and merge with...
* match.pd ((X & Y) ^ Y): ... this.
((X & Y) & Y, (X | Y) | Y, (X ^ Y) ^ Y, (X & Y) & (X & Z), (X | Y)
| (X | Z), (X ^ Y) ^ (X ^ Z)): New transformations.

gcc/testsuite/
* gcc.dg/tree-ssa/bit-assoc.c: New testcase.
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/vrp59.c: Disable forwprop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236103 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/match.pd
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/bit-assoc.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr69270.c
gcc/testsuite/gcc.dg/tree-ssa/vrp59.c