2015-11-12 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
authornaveenh <naveenh@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Nov 2015 05:34:54 +0000 (05:34 +0000)
committernaveenh <naveenh@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Nov 2015 05:34:54 +0000 (05:34 +0000)
commitee5e3723536a94612f9f2298d327fa587728db51
tree6d95b42299d95761df6ad4dfed0acf92443db35e
parentdc77f97fa2cc52292b4a0d750702f72995ce37c8
2015-11-12  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C)
to match.pd.
Move Convert A/(B/C) to (A/B)*C to match.pd.
Move Convert C1/(X*C2) into (C1/C2)/X to match.pd.
Move Optimize (X & (-A)) / A where A is a power of 2, to
X >> log2(A) to match.pd.

* match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier.
(rdiv @0 (rdiv:s @1 @2)): New simplifier.
(div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2):
New simplifier.
(rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230204 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/match.pd