Skip to content
  • Faraz Shahbazker's avatar
    MIPS: Add Global INValidate ASE support · 6f20c942
    Faraz Shahbazker authored
    Add support for the Global INValidate Application Specific Extension
    for Release 6 of the MIPS Architecture.
    
    [1] "MIPS Architecture for Programmers Volume II-A: The MIPS32
        Instruction Set Manual", Imagination Technologies Ltd., Document
        Number: MD00086, Revision 6.06, December 15, 2016, Section 3.2
        "Alphabetical List of Instructions", pp. 187-191
    
    bfd/
    	* elfxx-mips.c (print_mips_ases): Add GINV extension.
    
    binutils/
    	* readelf.c (print_mips_ases): Add GINV extension.
    
    gas/
    	* NEWS: Mention MIPS Global INValidate ASE support.
    	* config/tc-mips.c (options): Add OPTION_GINV and OPTION_NO_GINV.
    	(md_longopts): Likewise.
    	(mips_ases): Define availability for GINV.
    	(mips_convert_ase_flags): Map ASE_GINV to AFL_ASE_GINV.
    	(md_show_usage): Add help for -mginv and -mno-ginv.
    	* doc/as.texinfo: Document -mginv, -mno-ginv.
    	* doc/c-mips.texi: Document -mginv, -mno-ginv, .set ginv and
    	.set noginv.
    	* testsuite/gas/mips/ase-errors-1.s: Add error checks for GINV
    	ASE.
    	* testsuite/gas/mips/ase-errors-2.s: Likewise.
    	* testsuite/gas/mips/ase-errors-1.l: Likewise.
    	* testsuite/gas/mips/ase-errors-2.l: Likewise.
    	* testsuite/gas/mips/ginv.d: New test.
    	* testsuite/gas/mips/ginv-err.d: New test.
    	* testsuite/gas/mips/ginv-err.l: New test stderr output.
    	* testsuite/gas/mips/ginv.s: New test source.
    	* testsuite/gas/mips/ginv-err.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    include/
    	* elf/mips.h (AFL_ASE_GINV, AFL_ASE_RESERVED1): New macros.
    	(AFL_ASE_MASK): Update to include AFL_ASE_GINV.
    	* opcode/mips.h: Document "+\" operand format.
    	(ASE_GINV): New macro.
    
    opcodes/
    	* mips-dis.c (mips_arch_choices): Add GINV to mips32r6 and
    	mips64r6 descriptors.
    	(parse_mips_ase_option): Handle -Mginv option.
    	(print_mips_disassembler_options): Document -Mginv.
    	* mips-opc.c (decode_mips_operand) <+\>: New operand format.
    	(GINV): New macro.
    	(mips_opcodes): Define ginvi and ginvt.
    6f20c942
To find the state of this project's repository at the time of any of these versions, check out the tags.