[PATCH, MIPS] Add Octeon target

Adam Nemet anemet@caviumnetworks.com
Thu Aug 21 19:23:00 GMT 2008


The Octeon instruction set is an extension of the standard MIPS64r2 ISA.
 A description of the new instructions is avaible from cnusers.org under
Downloads -> Downloads for Non-Registered Users -> cnMIPS Instruction
Set Manual (or
http://www.cnusers.org/index.php?option=com_remository&Itemid=32&func=startdown&id=48).

This is the first of several patches and it adds the intitial
configuration bits.  I am only adding one instruction for now to test
the infrastructure.  I will submit separate patches with further
instructions.

We support a GNU/Linux and an ELF target for Octeon.  This patch
contains the linux part under the new target name
mips64octeon-*-linux-gnu.  I will add the ELF target later.

As you can see from this patch I am planning to add the Octeon
instruction into mips.md.  They extend the MIPS64r2 32-bit and 64-bit
integer operations so it's unlike other extensions that are orthogonal
to the existing expanders and patterns.  That said, I don't have a
problem moving them into a separate file or even moving them at any
point later in the future if that seems more fitting.

Regarding the __OCTEON__ preprocessor macro, we've been using this for a
while so it would be nice to keep it.  I can change it to be
configuration-specific if that works better for people.

The new pop type attribute value will be used in the Octeon pipeline
description.

Bootstrapped and tested on mips64octeon-unknown-linux-gnu and compared
the test results with mipsisa64r2-unknown-linux-gnu.  doc/gcc.info
builds and looks good after the .texi change.

OK to install?

Adam

-------------- next part --------------
A non-text attachment was scrubbed...
Name: octeon-config.patch
Type: text/x-patch
Size: 8877 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080821/1384e7eb/attachment.bin>


More information about the Gcc-patches mailing list