[PATCH, MIPS] Add dmul Octeon instruction

Adam Nemet anemet@caviumnetworks.com
Thu Aug 28 18:02:00 GMT 2008


First of all I am sorry because I apparently missed the discussion on
the list when the 64-bit three-op multiplication was removed.  We have
this instruction so I need to put it back.

Now the SI and DI expanders are identical so I replaced them with a
mode-iterator template.  This required the new <D> mode-iterator attribute.

I didn't convert the actual patterns because the TARGET_FIX_R4000 part
is only used in the SI pattern.  I could of course turn this into a
template with an && <MODE>mode == SImode added to the TARGET_FIX_R4000
check but I wasn't sure.

I renamed the 3-op pattern to have the _mul3 suffix rather than _mult3.
 The suffix usually holds the mnemonic for the instruction which is
usually <d>mul in this case.

Besides new Octeon dmul tests I also added a dmult test to make sure I
didn't break that.  This should also work with mips16.

Bootstrapped and tested on top the other already-submitted patches on
mips64octeon-unknown-linux-gnu.

OK to install?

Adam


-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmul.patch
Type: text/x-patch
Size: 6360 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080828/1b5eae3c/attachment.bin>


More information about the Gcc-patches mailing list