microMIPS: Add MT ASE instruction set support

Add the MT ASE instruction operand types and encodings to the microMIPS
opcode table and enable the assembly of these instructions in GAS from
MIPSr2 onwards.  Update the binutils and GAS testsuites accordingly.

References:

"MIPS Architecture for Programmers, Volume IV-f: The MIPS MT Module for
the microMIPS32 Architecture", MIPS Technologies, Inc., Document Number:
MD00768, Revision 1.12, July 16, 2013

Co-Authored-By: Maciej W. Rozycki <macro@redhat.com>
This commit is contained in:
YunQiang Su
2024-07-26 18:01:09 +01:00
committed by Maciej W. Rozycki
parent ad43ae7635
commit 08e6af1bac
14 changed files with 2001 additions and 25 deletions

View File

@@ -1898,6 +1898,14 @@ extern const int bfd_mips16_num_opcodes;
"+*" 5-bit register vector element index at bit 16
"+|" 8-bit mask at bit 16
MT ASE usage:
"!" 1-bit usermode flag at bit 10.
"$" 1-bit load high flag at bit 9.
"*" 2-bit DSP accumulator register at bit 23.
"&" 2-bit DSP accumulator register at bit 18.
"J" 3-bit MFTR and MTTR sel at bit 4.
"y" 5-bit control target register at bit 21 (RT).
Other:
"()" parens surrounding optional value
"," separates operands
@@ -1906,9 +1914,9 @@ extern const int bfd_mips16_num_opcodes;
Characters used so far, for quick reference when adding more:
"12345678 0"
"<>(),+-.@\^|~"
"ABCDEFGHI KLMN RST V "
"abcd fghijklmnopqrstuvwx z"
"<>(),+-.@!$&*\^|~"
"ABCDEFGHIJKLMN RST V "
"abcd fghijklmnopqrstuvwxyz"
Extension character sequences used so far ("+" followed by the
following), for quick reference when adding more: