re PR target/54222 ([avr] Implement fixed-point support)
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 12 Feb 2013 14:55:16 +0000 (14:55 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Tue, 12 Feb 2013 14:55:16 +0000 (14:55 +0000)
commite68a4ef6eaebf615da649555260e9c12e5ffb9bc
treee055712e464d68ce4f4fcf5947a000fa7cba7a84
parent2597da229a2261de8576099213ffdef4bf946a7c
re PR target/54222 ([avr] Implement fixed-point support)

gcc/
PR target/54222
* config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
(umulsidi3_insn, mulsidi3_insn): New insns.

libgcc/
PR target/54222
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add: _usmulUHA, _usmulUSA,
_ssmulHA, _ssmulSA.
(LIB1ASMFUNCS): Add: _muldi3_6, _mulsidi3, _umulsidi3, _usmuluha3,
_ssmulha3, _usmulusa3, _ssmulsa3.
* config/avr/lib1funcs.S (__muldi3_6): Break out of __muldi3.
(__muldi3): XCALL __muldi3_6 instead of rcall.
(__umulsidi3, __mulsidi3): New functions.
(do_prologue_saves, do_epilogue_restores): New .macros.
(__divdi3_moddi3): Use them.
* config/avr/lib1funcs-fixed.S (__usmuluha3, __ssmulha3)
(__usmulusa3, __ssmulsa3): New functions.

From-SVN: r195978
gcc/ChangeLog
gcc/config/avr/avr-dimode.md
libgcc/ChangeLog
libgcc/config/avr/lib1funcs-fixed.S
libgcc/config/avr/lib1funcs.S
libgcc/config/avr/t-avr