re PR target/49313 (Inefficient libgcc implementations for avr)
authorGeorg-Johann Lay <avr@gjlay.de>
Thu, 16 Jun 2011 09:06:44 +0000 (09:06 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Thu, 16 Jun 2011 09:06:44 +0000 (09:06 +0000)
commit0ad8bb3bc0edddefcd332a5a2cf90c078c575284
tree3aa2868b134db45d625452c9326e4422d3ae4312
parent12430896397b7477294814403674d75e668f9f22
re PR target/49313 (Inefficient libgcc implementations for avr)

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.

From-SVN: r175097
gcc/ChangeLog
gcc/config/avr/libgcc.S
gcc/config/avr/t-avr
gcc/longlong.h
libgcc/ChangeLog
libgcc/config/avr/t-avr