[Bug c/38453] Output code optimisation excessive use of builtins

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Dec 10 00:27:00 GMT 2008



------- 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



More information about the Gcc-bugs mailing list