------- Comment #2 from pinskia at gcc dot gnu dot org 2008-12-10 00:25 ------- I don't see an issue here really, the code got optimized to just: <bb 2>: prop0.24 = *propsData; prop0 = prop0.24; goto <bb 4>;
<bb 3>: propsRes->pb = [plus_expr] propsRes->pb + 1; prop0 = prop0 + 211; <bb 4>: if (prop0 > 44) goto <bb 3>; else goto <bb 5>; <bb 5>: propsRes->lc = (int) (int) (prop0.24 % 45); return; But since for arm, there is no %/divide instruction (which is sad by the way), a call to __umodsi3/__aeabi_uidiv is used. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38453