re PR tree-optimization/70840 (revisit reassoc handling of pow / powi, amend match...
authorRichard Biener <rguenther@suse.de>
Thu, 28 Apr 2016 12:34:28 +0000 (12:34 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 28 Apr 2016 12:34:28 +0000 (12:34 +0000)
commitde3fbea3b3c62a501f446d363240a67b60888299
tree12aea01cd20dcf39f2879797ce47e2739082c4f3
parent9f9eb84eac326d99a1e1fb02496870bf3ebfbda9
re PR tree-optimization/70840 (revisit reassoc handling of pow / powi, amend match.pd for powi)

2016-04-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70840
* match.pd: powi(-x, y) and powi(|x|,y) -> powi(x,y) if y is even;
Fix pow(copysign(x, y), z) -> pow(x, z) and add powi variant;
Mark x * pow(x,c) -> pow(x,c+1) commutative.
Add powi(x,y) * powi(z,y) -> powi(x*z,y).

From-SVN: r235566
gcc/ChangeLog
gcc/match.pd