There are a bunch of missed-optimizations in fold_builtin_pow where we restrict foldings to cases of non-negative base even when the power is an integer.
One source of easy missed optimizations is that fold folds x * x to pow (x, 2.0) instead of powi (x, 2) which would make further analysis easier. -- Summary: We should be better in folding pow with integer powers Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41098