This is another IV optimization we fail to catch. void strength_test6(int *data) { int j = data[0]; int i = data[1]; do { data[data[2]] = 2; i = i + j; } while (i * 21 < data[3]); } void strength_result6(int *data) { int j = data[0] * 21; int i = data[1] * 21; do { data[data[2]] = 2; i = i + j; } while (i < data[3]); }
-- Summary: Missed IV optimization (another one) Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P2 Component: tree-optimization AssignedTo: rakdver at gcc dot gnu dot org ReportedBy: steven at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18317