re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
authorGeorg-Johann Lay <avr@gjlay.de>
Wed, 14 Dec 2011 10:00:56 +0000 (10:00 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Wed, 14 Dec 2011 10:00:56 +0000 (10:00 +0000)
commitd7288dfb9fac1451adede96e855c8fde9ee5f2c1
treeda23e4e79b412c8171d2375bf3121ad99e702e08
parent552d2db5659aae080edbfdb27f446a98334b323d
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)

libgcc/
PR target/50931
* config/avr/t-avr (LIB1ASMSRC): Add _mulpsi3, _mulsqipsi3.
* config/avr/lib1funcs.S (__mulpsi3, __mulsqipsi3): New functions.
gcc/
PR target/50931
* config/avr/avr.md (mulpsi3): New expander.
(*umulqihipsi3, *umulhiqipsi3): New insns.
(*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns.
(mulsqipsi3, *mulpsi3): New insn-and-splits.
(ashlpsi3): Turn to expander.  Move insn code to...
(*ashlpsi3): ...this new insn.
testsuite/
PR target/50931
* gcc.target/avr/torture/int24-mul.c: New testcase.

From-SVN: r182328
gcc/ChangeLog
gcc/config/avr/avr.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/avr/torture/int24-mul.c [new file with mode: 0644]
libgcc/ChangeLog
libgcc/config/avr/lib1funcs.S
libgcc/config/avr/t-avr