https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70840
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Thu Apr 28 12:34:28 2016 New Revision: 235566 URL: https://gcc.gnu.org/viewcvs?rev=235566&root=gcc&view=rev Log: 2016-04-28 Richard Biener <rguent...@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). Modified: trunk/gcc/ChangeLog trunk/gcc/match.pd