[Patch, MIPS] Add Octeon3 support

Hurugalawadi, Naveen Naveen.Hurugalawadi@caviumnetworks.com
Thu Oct 30 06:48:00 GMT 2014


Hi,

>> could you add an octeon3 value for .MIPS.abiflags as AFP_EXT_OCTEON3
Added the flag AFP_EXT_OCTEON3 and its uses

>> #define CPU_IS_OCTEON3(CPU) ((CPU) == CPU_OCTEON3)
Dropped it

>> add a testcase for the new instructions.
Added octeon3.s testcase for new instructions

Please review the modified patch as per review comments and let us know
if there are any other modifications required.

The patch has been regression tested on trunk.
These Octeon3 patches have been used in Cavium toolchain from sometime
and have found no issues.

Thanks,
Naveen

2014-10-30  Andrew Pinski  <apinski@cavium.com>

bfd/ChangeLog
        * archures.c: Add octeon3 for mips target.
        * bfd-in2.h: Regenerate.
        * bfd/cpu-mips.c: Define I_mipsocteon3.
        (arch_info_struct): Add octeon3 support.
        * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for
        octeon3.
        (mips_set_isa_flags): Add support for octeon3.
        (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3. 
        (mips_mach_extensions): Make bfd_mach_mips_octeon3 an
        extension of bfd_mach_mips_octeon2.
        (print_mips_isa_ext): Print the value of Octeon3.

binutils/ChangeLog
        * readelf.c (print_mips_isa_ext): Print the value of Octeon3.
    
gas/ChangeLog
        * config/tc-mips.c (CPU_IS_OCTEON): Handle CPU_OCTEON3.
        (mips_cpu_info_table): Octeon3 enables virt ase.
        * doc/c-mips.texi: Document octeon3 as an acceptable value for
        -march=.

gas/testsuite/ChangeLog
        * gas/mips/mips.exp: Add support for Octeon3 architecture.
        Also add in support for running Octeon3 tests.
        * gas/mips/octeon3.d: New test.
        * gas/mips/octeon3.s: New test source.

include/ChangeLog
        * elf/mips.h (AFL_EXT_OCTEON3): Define.
        INSN_OCTEON3, CPU_OCTEON3): Define.
    
opcodes/ChangeLog
        * mips-dis.c (mips_arch_choices): Add octeon3.
        * mips-opc.c (IOCT): Include INSN_OCTEON3.
        (IOCT2): Likewise.
        (IOCT3): New define.
        (IVIRT): New define.
        (mips_builtin_opcodes): Add dmfgc0, dmtgc0, hypcall, mfgc0, mtgc0,
        tlbinv, tlbinvf, tlbgr, tlbgwi, tlbginv, tlbginvf, tlbgwr, tlbgp, tlti
        IVIRT instructions.
        Extend mtm0, mtm1, mtm2, mtp0, mtp1, mtp2 instructions to take another
        operand for IOCT3.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: octeon3_bin.patch
Type: text/x-patch
Size: 14741 bytes
Desc: octeon3_bin.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20141030/fb6daba7/attachment.bin>


More information about the Binutils mailing list