This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/49313] Inefficient libgcc implementations for avr
- From: "gjl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 23 Jul 2011 22:17:42 +0000
- Subject: [Bug target/49313] Inefficient libgcc implementations for avr
- Auto-submitted: auto-generated
- References: <bug-49313-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313
--- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-23 22:17:02 UTC ---
(In reply to comment #3)
> Johann,
>
> You've committed a patch for this PR. Can this be closed now?
I'm not sure.
This can be improved like outlined in
http://gcc.gnu.org/ml/gcc-patches/2011-06/msg01354.html
i.e. describing explicitely action of the calls i.e. preforming implicit
library calls. That will yield smaller footprint for these functions and pick
best fitting implementations. For example,
int parity (unsigned char x)
{
return __builtin_parity (x);
}
would use 8-bit version of parity instead of expanding char to int and then
computing 16-bit parity.
What do you think?
And the 64-bit overkill is even more overkill of open coded in C. I don't
intend to do DI stuff; it's too tedious and time can be better user for more
important stuff. Si the DI part of mul, div, mod is still to be done.