MIPS: sync oprand char usage between mips and micromips
authorYunQiang Su <yunqiang.su@cipunited.com>
Wed, 26 Apr 2023 10:16:40 +0000 (18:16 +0800)
committerYunQiang Su <yunqiang.su@cipunited.com>
Mon, 5 Jun 2023 03:14:49 +0000 (11:14 +0800)
commit5b207b919483f67311a73dfc1de8897ecfd8e776
treeb2796b1cb6c559738be93a6faddd94e0e6ffcb0c
parentacce83dacff0ce43677410c67aaae32817afe991
MIPS: sync oprand char usage between mips and micromips

We should try our best to make mips32 using the same
oprand char with micromips. So for mips32, we use:

  ^  is added for 5bit sa oprand for some new DSPr2 instructions:
APPEND, PREPEND, PRECR_SRA[_R].PH.W
the LSB bit is 11, like RD.
  +t is removed for coprocessor 0 destination register.
'E' does the samething.
  +t is now used for RX oprand for MFTR/MTTR (MT ASE)
  ?  is added for sel oprand for MFTR/MTTR (MT ASE)
For mips32, the position of sel in MFTR/MTTR is same with mfc0 etc,
while for micromips, they are different.

We also add an extesion format of cftc2/cttc2/mftc2/mfthc2/mttc2/mtthc2:
concatenating rs with rx as the index of control or data.
include/opcode/mips.h
opcodes/mips-opc.c