public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/49313] New: Inefficient libgcc implementations for avr
@ 2011-06-07 17:28 gjl at gcc dot gnu.org
  2011-06-07 17:41 ` [Bug target/49313] " gjl at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-06-07 17:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

           Summary: Inefficient libgcc implementations for avr
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: gjl@gcc.gnu.org
            Target: avr


Currently, many support functions in libgcc are not tuned resp. not implemented
in assembler in libgcc.S in avr BE and thus the lengthy, open coded C-versions
are used.

Amongst these functions are:

For mode in hi, si, di:
__ctz<mode>2
__clz<mode>2
__ffs<mode>2
__parity<mode>2
__popcount<mode>2

For mode in si, di:
__bswap<mode>2

For DImode there are arithmetic functions like
__muldi3, __[u]divdi3, __[u]moddi3.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
@ 2011-06-07 17:41 ` gjl at gcc dot gnu.org
  2011-06-16  9:07 ` gjl at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-06-07 17:41 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #1 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-06-07 17:41:15 UTC ---
Created attachment 24460
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24460
Patch for ffs part.

This patch forwards to the standard C library implementation instead of using
__ffs<mode>2 for ffs, ffsl, ffsll.

    PR target/49313
    * config/avr/avr.c (TARGET_INIT_LIBFUNCS): New Define.
    (avr_init_libfuncs): New static function.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
  2011-06-07 17:41 ` [Bug target/49313] " gjl at gcc dot gnu.org
@ 2011-06-16  9:07 ` gjl at gcc dot gnu.org
  2011-07-23 21:25 ` eric.weddington at atmel dot com
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-06-16  9:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-06-16 09:06:50 UTC ---
Author: gjl
Date: Thu Jun 16 09:06:44 2011
New Revision: 175097

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=175097
Log:
gcc/
    PR target/49313
    PR target/29524
    * longlong.h: Add AVR support:
    (count_leading_zeros): New macro.
    (count_trailing_zeros): New macro.
    (COUNT_LEADING_ZEROS_0): New macro.
    * config/avr/t-avr (LIB1ASMFUNCS): Add
    _ffssi2, _ffshi2, _loop_ffsqi2,
    _ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2, 
    _paritydi2, _paritysi2, _parityhi2,
    _popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
    _bswapsi2, _bswapdi2,
    _ashldi3, _ashrdi3, _lshrdi3
    (LIB2FUNCS_EXCLUDE): Add _clz.
    * config/avr/libgcc.S (XCALL): Move up in file.
    (XJMP): New C Macro.
    (DEFUN): New asm macro.
    (ENDF): New asm macro.
    (__ffssi2): New function.
    (__ffshi2): New function.
    (__loop_ffsqi2): New function.
    (__ctzsi2): New function.
    (__ctzhi2): New function.
    (__clzdi2): New function.
    (__clzsi2): New function.
    (__clzhi2): New function.
    (__paritydi2): New function.
    (__paritysi2): New function.
    (__parityhi2): New function.
    (__popcounthi2): New function.
    (__popcountsi2): New function.
    (__popcountdi2): New function.
    (__popcountqi2): New function.
    (__bswapsi2): New function.
    (__bswapdi2): New function.
    (__ashldi3): New function.
    (__ashrdi3): New function.
    (__lshrdi3): New function.
    Fix suspicous lines.

libgcc/
    PR target/49313
    PR target/29524
    * config/avr/t-avr: Fix line endings.
    (intfuncs16): Remove _ffsXX2,  _clzXX2, _ctzXX2, _popcountXX2,
    _parityXX2.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/libgcc.S
    trunk/gcc/config/avr/t-avr
    trunk/gcc/longlong.h
    trunk/libgcc/ChangeLog
    trunk/libgcc/config/avr/t-avr


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
  2011-06-07 17:41 ` [Bug target/49313] " gjl at gcc dot gnu.org
  2011-06-16  9:07 ` gjl at gcc dot gnu.org
@ 2011-07-23 21:25 ` eric.weddington at atmel dot com
  2011-07-23 22:17 ` gjl at gcc dot gnu.org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: eric.weddington at atmel dot com @ 2011-07-23 21:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

Eric Weddington <eric.weddington at atmel dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |eric.weddington at atmel
                   |                            |dot com

--- Comment #3 from Eric Weddington <eric.weddington at atmel dot com> 2011-07-23 21:24:46 UTC ---
Johann,

You've committed a patch for this PR. Can this be closed now?

Eric


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-07-23 21:25 ` eric.weddington at atmel dot com
@ 2011-07-23 22:17 ` gjl at gcc dot gnu.org
  2011-07-27 16:39 ` gjl at gcc dot gnu.org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-23 22:17 UTC (permalink / raw)
  To: gcc-bugs

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.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-07-23 22:17 ` gjl at gcc dot gnu.org
@ 2011-07-27 16:39 ` gjl at gcc dot gnu.org
  2011-07-27 16:43 ` gjl at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-27 16:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #5 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-27 16:39:18 UTC ---
Author: gjl
Date: Wed Jul 27 16:39:13 2011
New Revision: 176835

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176835
Log:

    PR target/49313
    * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
    (__ctzsi2): Result for 0 may be undefined.
    (__ctzhi2): Result for 0 may be undefined.
    (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
    (__popcountsi2): Ditto. And don't clobber r26.
    (__popcountdi2): Ditto. And don't clobber r27.
    * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
    (parityhi2): New expand.
    (paritysi2): New expand.
    (popcounthi2): New expand.
    (popcountsi2): New expand.
    (clzhi2): New expand.
    (clzsi2): New expand.
    (ctzhi2): New expand.
    (ctzsi2): New expand.
    (ffshi2): New expand.
    (ffssi2): New expand.
    (copysignsf3): New insn.
    (bswapsi2): New expand.
    (*parityhi2.libgcc): New insn.
    (*parityqihi2.libgcc): New insn.
    (*paritysihi2.libgcc): New insn.
    (*popcounthi2.libgcc): New insn.
    (*popcountsi2.libgcc): New insn.
    (*popcountqi2.libgcc): New insn.
    (*popcountqihi2.libgcc): New insn-and-split.
    (*clzhi2.libgcc): New insn.
    (*clzsihi2.libgcc): New insn.
    (*ctzhi2.libgcc): New insn.
    (*ctzsihi2.libgcc): New insn.
    (*ffshi2.libgcc): New insn.
    (*ffssihi2.libgcc): New insn.
    (*bswapsi2.libgcc): New insn.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/avr.md
    trunk/gcc/config/avr/libgcc.S


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-07-27 16:39 ` gjl at gcc dot gnu.org
@ 2011-07-27 16:43 ` gjl at gcc dot gnu.org
  2011-07-28 10:29 ` gjl at gcc dot gnu.org
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-27 16:43 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.7.0

--- Comment #6 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-27 16:42:22 UTC ---
Closed as fixed for 4.7


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-07-27 16:43 ` gjl at gcc dot gnu.org
@ 2011-07-28 10:29 ` gjl at gcc dot gnu.org
  2011-07-28 10:32 ` gjl at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-28 10:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #7 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-28 10:29:24 UTC ---
Author: gjl
Date: Thu Jul 28 10:29:17 2011
New Revision: 176865

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176865
Log:
    PR target/49313
    Undo r176835 from trunk
    2011-07-27  Georg-Johann Lay


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/avr.md
    trunk/gcc/config/avr/libgcc.S


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-07-28 10:29 ` gjl at gcc dot gnu.org
@ 2011-07-28 10:32 ` gjl at gcc dot gnu.org
  2011-07-29  9:34 ` gjl at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-28 10:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
   Last reconfirmed|                            |2011.07.28 10:31:47
         Resolution|FIXED                       |
     Ever Confirmed|0                           |1

--- Comment #8 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-28 10:31:47 UTC ---
Reopened as the patch was being reverted.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2011-07-28 10:32 ` gjl at gcc dot gnu.org
@ 2011-07-29  9:34 ` gjl at gcc dot gnu.org
  2011-07-29  9:54 ` gjl at gcc dot gnu.org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-29  9:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #9 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-29 09:33:58 UTC ---
Author: gjl
Date: Fri Jul 29 09:33:54 2011
New Revision: 176920

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176920
Log:

    PR target/49313
    * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
    (__ctzsi2): Result for 0 may be undefined.
    (__ctzhi2): Result for 0 may be undefined.
    (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
    (__popcountsi2): Ditto. And don't clobber r26.
    (__popcountdi2): Ditto. And don't clobber r27.
    * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
    (parityhi2): New expand.
    (paritysi2): New expand.
    (popcounthi2): New expand.
    (popcountsi2): New expand.
    (clzhi2): New expand.
    (clzsi2): New expand.
    (ctzhi2): New expand.
    (ctzsi2): New expand.
    (ffshi2): New expand.
    (ffssi2): New expand.
    (copysignsf3): New insn.
    (bswapsi2): New expand.
    (*parityhi2.libgcc): New insn.
    (*parityqihi2.libgcc): New insn.
    (*paritysihi2.libgcc): New insn.
    (*popcounthi2.libgcc): New insn.
    (*popcountsi2.libgcc): New insn.
    (*popcountqi2.libgcc): New insn.
    (*popcountqihi2.libgcc): New insn-and-split.
    (*clzhi2.libgcc): New insn.
    (*clzsihi2.libgcc): New insn.
    (*ctzhi2.libgcc): New insn.
    (*ctzsihi2.libgcc): New insn.
    (*ffshi2.libgcc): New insn.
    (*ffssihi2.libgcc): New insn.
    (*bswapsi2.libgcc): New insn.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/avr.md
    trunk/gcc/config/avr/libgcc.S


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2011-07-29  9:34 ` gjl at gcc dot gnu.org
@ 2011-07-29  9:54 ` gjl at gcc dot gnu.org
  2011-10-28 17:49 ` gjl at gcc dot gnu.org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-29  9:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #10 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-07-29 09:53:35 UTC ---
Fixed with the adapted patch.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2011-07-29  9:54 ` gjl at gcc dot gnu.org
@ 2011-10-28 17:49 ` gjl at gcc dot gnu.org
  2011-11-07 18:41 ` gjl at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-10-28 17:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #11 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-10-28 17:48:04 UTC ---
Author: gjl
Date: Fri Oct 28 17:47:56 2011
New Revision: 180620

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180620
Log:
    PR target/49313
    * config/avr/avr.md (parityhi2): Expand allowing pseudos.
    (*parityhi2): New pre-reload insn-and-split to map 16-bit parity
    to the libgcc insn.
    (*parityqihi2): Same for 8-bit parity.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/avr.md


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2011-10-28 17:49 ` gjl at gcc dot gnu.org
@ 2011-11-07 18:41 ` gjl at gcc dot gnu.org
  2011-11-21  9:06 ` gjl at gcc dot gnu.org
  2011-12-09 12:08 ` gjl at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-11-07 18:41 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #12 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-11-07 18:08:40 UTC ---
Author: gjl
Date: Mon Nov  7 18:08:35 2011
New Revision: 181104

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181104
Log:
    PR target/49313
    * config/avr/lib1funcs.S (__divmodhi4, __divmodsi4): Tweak speed.


Modified:
    trunk/libgcc/ChangeLog
    trunk/libgcc/config/avr/lib1funcs.S


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2011-11-07 18:41 ` gjl at gcc dot gnu.org
@ 2011-11-21  9:06 ` gjl at gcc dot gnu.org
  2011-12-09 12:08 ` gjl at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-11-21  9:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #13 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-11-21 08:56:51 UTC ---
Author: gjl
Date: Mon Nov 21 08:56:44 2011
New Revision: 181551

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181551
Log:
    PR target/49313
    * config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
    (LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
    * config/avr/lib1funcs.S (wmov): New assembler macro.
    (__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
    (__moddi3, __divdi3, __divdi3_moddi3): New functions.
    (__udivmod64): New function.
    (__negdi2): New function.


Modified:
    trunk/libgcc/ChangeLog
    trunk/libgcc/config/avr/lib1funcs.S
    trunk/libgcc/config/avr/t-avr


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/49313] Inefficient libgcc implementations for avr
  2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2011-11-21  9:06 ` gjl at gcc dot gnu.org
@ 2011-12-09 12:08 ` gjl at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-12-09 12:08 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49313

--- Comment #14 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-12-09 12:02:14 UTC ---
Author: gjl
Date: Fri Dec  9 12:02:06 2011
New Revision: 182160

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182160
Log:
    PR target/49313
    * config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
    * config/avr/lib1funcs.S (__muldi3): New function.


Modified:
    trunk/libgcc/ChangeLog
    trunk/libgcc/config/avr/lib1funcs.S
    trunk/libgcc/config/avr/t-avr


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-12-09 12:02 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-07 17:28 [Bug target/49313] New: Inefficient libgcc implementations for avr gjl at gcc dot gnu.org
2011-06-07 17:41 ` [Bug target/49313] " gjl at gcc dot gnu.org
2011-06-16  9:07 ` gjl at gcc dot gnu.org
2011-07-23 21:25 ` eric.weddington at atmel dot com
2011-07-23 22:17 ` gjl at gcc dot gnu.org
2011-07-27 16:39 ` gjl at gcc dot gnu.org
2011-07-27 16:43 ` gjl at gcc dot gnu.org
2011-07-28 10:29 ` gjl at gcc dot gnu.org
2011-07-28 10:32 ` gjl at gcc dot gnu.org
2011-07-29  9:34 ` gjl at gcc dot gnu.org
2011-07-29  9:54 ` gjl at gcc dot gnu.org
2011-10-28 17:49 ` gjl at gcc dot gnu.org
2011-11-07 18:41 ` gjl at gcc dot gnu.org
2011-11-21  9:06 ` gjl at gcc dot gnu.org
2011-12-09 12:08 ` gjl at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).