fold-const.c (fold_binary_loc): Move Optimize root(x)*root(y) as root(x*y) to match.pd.
authorNaveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
Wed, 26 Aug 2015 03:39:17 +0000 (03:39 +0000)
committerNaveen H.S <naveenh@gcc.gnu.org>
Wed, 26 Aug 2015 03:39:17 +0000 (03:39 +0000)
commit354016403304928441c3f4c2a1009a108a1b6b60
tree28feaf1844e9260eba866a5a3cc14df7aa00aca9
parent6031a5e32cc168cae5fe9fa06a2557e0b20a5a81
fold-const.c (fold_binary_loc): Move Optimize root(x)*root(y) as root(x*y) to match.pd.

2015-08-26  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* fold-const.c (fold_binary_loc) : Move Optimize
root(x)*root(y) as root(x*y) to match.pd.
Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
Move Optimize x/expN(y) into x*expN(-y) to match.pd.

* match.pd (mult (root:s @0) (root:s @1)): New simplifier.
(mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
(mult (exps:s @0) (exps:s @1)) : New simplifier.
(rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
(rdiv @0 (exps:s @1)) : New simplifier.

From-SVN: r227207
gcc/ChangeLog
gcc/fold-const.c
gcc/match.pd