This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/49313] New: Inefficient libgcc implementations for avr


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]