This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/38453] Output code optimisation excessive use of builtins
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Dec 2008 00:25:52 -0000
- Subject: [Bug c/38453] Output code optimisation excessive use of builtins
- References: <bug-38453-17054@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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