http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55160
Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target|sh*-*-* arm*-*-* |sh*-*-* Status|UNCONFIRMED |RESOLVED Resolution| |FIXED --- Comment #2 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2012-11-01 07:09:25 UTC --- (In reply to comment #0) > Starting with rev 192505 the following > > int test_04 (int* x, int c) > { > int s = 0; > for (int i = 0; i < c; ++i) > s += *--x; > return s; > } > .. > In this case the inner loop code size effectively does not increase, but there > is overhead in setting up the loop. Similar code is also generated on ARM. In order to get the r192504 arm port to generate a doloop_end pattern, I have to enable thubm2 support and modulo scheduling, e.g.: -O2 --std=c99 -mthumb -march=armv7 -fmodulo-sched with these options, r192505 also gets the doloop_end pattern. Therefore, I have removed arm from the target list.