------- Additional Comments From steven at gcc dot gnu dot org 2005-07-25 15:28 ------- The example from comment #3 now optimizes to identical inner loops: ;; Function foo (foo) foo () { int i.54; int lsm_tmp.32; int lsm_tmp.31; int i; int D.1628; int D.1627; int D.1623; int x.0; <bb 0>: x.0 = x; D.1623 = x.0 * x.0; lsm_tmp.32 = y; i.54 = 0; <L0>:; lsm_tmp.32 = (int) ((unsigned int) D.1623 + (unsigned int) lsm_tmp.32); i.54 = i.54 + 1; if (i.54 != 10) goto <L0>; else goto <L12>; <L12>:; y = lsm_tmp.32; D.1627 = global.x; D.1628 = D.1627 * D.1627; lsm_tmp.31 = global.y; i = 0; <L3>:; lsm_tmp.31 = (int) ((unsigned int) lsm_tmp.31 + (unsigned int) D.1628); i = i + 1; if (i != 10) goto <L3>; else goto <L5>; <L5>:; global.y = lsm_tmp.31; return; }
-- What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13761