------- Comment #4 from rguenth at gcc dot gnu dot org 2009-10-30 22:50 ------- But:
static unsigned int tree_complete_unroll_inner (void) { unsigned ret = 0; loop_optimizer_init (LOOPS_NORMAL | LOOPS_HAVE_RECORDED_EXITS); if (number_of_loops () > 1) { scev_initialize (); ret = tree_unroll_loops_completely (optimize >= 3, false); so it will not allow the body to increase in code-size when not compiling with -O3. Unrolling the loop in your example does increase code size. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41881