This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [4.5] Better support for widening multiplies
- From: Bernd Schmidt <bernds_cb1 at t-online dot de>
- To: Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 16 Feb 2009 23:00:36 +0100
- Subject: Re: [4.5] Better support for widening multiplies
- References: <4999B411.6010902@t-online.de> <4999CE9C.2020508@gmail.com>
Dave Korn wrote:
> Bernd Schmidt wrote:
>> This adds another small pass that uses UD chains to find the defs
>> corresponding to the operands of a multiply, and if they all use the
>> same kind of extension, modify the multiply insn to perform a widening
>> multiply. It recognizes not only ZERO_EXTEND and SIGN_EXTEND, but also
>> right shifts (logical and arithmetic) by half the mode size.
>
> Is this a win for all backends [...]
Most of them would be my guess:
$ grep -l '^.define.*mul[qhs]i[hsd]i' config/*/*md
config/arm/arm.md
config/avr/avr.md
config/bfin/bfin.md
config/cris/cris.md
config/crx/crx.md
config/fr30/fr30.md
config/frv/frv.md
config/h8300/h8300.md
config/i386/i386.md
config/m32c/muldiv.md
config/m32r/m32r.md
config/m68hc11/m68hc11.md
config/m68k/m68k.md
config/mips/mips.md
config/mn10300/mn10300.md
config/pa/pa.md
config/pdp11/pdp11.md
config/picochip/picochip.md
config/rs6000/rs6000.md
config/s390/s390.md
config/score/score.md
config/sh/sh.md
config/sparc/sparc.md
config/spu/spu.md
config/stormy16/stormy16.md
config/v850/v850.md
config/vax/vax.md
config/xtensa/xtensa.md
Bernd
--
This footer brought to you by insane German lawmakers.
Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif