2011/12/13 Georg-Johann Lay <a...@gjlay.de>:
> This adds missing 24-Bit multiplication.
>
> Besides implementing __mulpsi3 in libgcc the patch adds some minor tweaks to
> multiply with small numbers and to represent the reduced register footprint of
> asm implementations.
>
> With this patch PR50931 is complete from the target side.
> (But there is still a segfault in the frontends, see PR51527)
>
> Ok for trunk?
>
> Johann
>
> 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.
>

Approved.

Denis.

Reply via email to