Simplify 3*x == 3*y for wrapping types
commit20ce76cbd0bb0a4dad7167b3762ae3d573cd90fe
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jun 2017 09:22:30 +0000 (28 09:22 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jun 2017 09:22:30 +0000 (28 09:22 +0000)
tree5fb4ca44d3407af3a15cbc4392d4ebc6933067b7
parent5266910fed23d6d7f101a878dd8a28d178697ec5
Simplify 3*x == 3*y for wrapping types

2017-06-28  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd ((X & ~Y) | (~X & Y)): Generalize to + and ^.
(x * C EQ/NE y * C): New transformation.

gcc/testsuite/
* gcc.dg/tree-ssa/addadd.c: Remove test duplicated in addadd-2.c.
* gcc.dg/tree-ssa/mulcmp-1.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249732 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/match.pd
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/addadd.c
gcc/testsuite/gcc.dg/tree-ssa/mulcmp-1.c [new file with mode: 0644]