Skip to content

Instantly share code, notes, and snippets.

@FlyGoat
Created September 5, 2022 13:25
Show Gist options
  • Save FlyGoat/08f56f32a2ee247bb4a1920e2623f1ca to your computer and use it in GitHub Desktop.
Save FlyGoat/08f56f32a2ee247bb4a1920e2623f1ca to your computer and use it in GitHub Desktop.
mipsinsn.decode
# All MIPS base instructions
# Generated from MIPS AVP
#
# Fields
#
%rd 11:5
%rs 21:5
%rt 16:5
%imms16 0:s16
# Argument sets:
&empty
&r rd rs rt
&r2 rd rt
&r2_s rs rt
&i rt rs imm
# Base arithmetic instructions
ADD 000000 ...............00000100000 @rdrsrt
ADDIU 001001 .......................... @rtrss16
ADDU 000000 ...............00000100001 @rdrsrt
MADD 011100 ..........0000000000000000 @rsrt
MADDU 011100 ..........0000000000000001 @rsrt
MSUB 011100 ..........0000000000000100 @rsrt
MSUBU 011100 ..........0000000000000101 @rsrt
MULT 000000 ..........0000000000011000 @rsrt
MULTU 000000 ..........0000000000011001 @rsrt
SEB 011111 00000..........10000100000 @rdrt
SEH 011111 00000..........11000100000 @rdrt
SLT 000000 ...............00000101010 @rdrsrt
SLTI 001010 .......................... @rtrss16
SLTIU 001011 .......................... @rtrss16
SLTU 000000 ...............00000101011 @rdrsrt
SUB 000000 ...............00000100010 @rdrsrt
SUBU 000000 ...............00000100011 @rdrsrt
# handle branch and jump instructions
B 000100 0000000000................ @rdrt
BAL 000001 0000010001................ @pc_s16_2
BEQ 000100 .......................... @rsrtpc_s16_2
BEQZ 000100 .....00000................ @rspc_s16_2
BGEZ 000001 .....00001................ @rspc_s16_2
BGTZ 000111 .....00000................ @rspc_s16_2
BLEZ 000110 .....00000................ @rspc_s16_2
BLTZ 000001 .....00000................ @rspc_s16_2
BNE 000101 .......................... @rsrtpc_s16_2
BNEZ 000101 .....00000................ @rspc_s16_2
J 000010 .......................... @pc_u26_2
JAL 000011 .......................... @pc_u26_2
# handle instruction control instructions
EHB 000000 00000000000000000011000000 @
NOP 000000 00000000000000000000000000 @
SSNOP 000000 00000000000000000001000000 @
PAUSE 000000 00000000000000000101000000 @
# handle load, store and memory control instructions
LB 100000 .......................... @rtrss16
LBU 100100 .......................... @rtrss16
LH 100001 .......................... @rtrss16
LHU 100101 .......................... @rtrss16
LW 100011 .......................... @rspc_s19_2
SB 101000 .......................... @rtrss16
SH 101001 .......................... @rtrss16
SW 101011 .......................... @rtrss16
SYNC 000000 000000000000000.....001111 @sa5
SYNCI 000001 .....11111................ @rss16
ACLR 000001 .....001110............... @14_12rss12
ASET 000001 .....001111............... @14_12rss12
# handle load/store EVA instructions
LBE 011111 ....................101100 @rtrss9
LBUE 011111 ....................101000 @rtrss9
LHE 011111 ....................101101 @rtrss9
LHUE 011111 ....................101001 @rtrss9
LWE 011111 ....................101111 @rtrss9
LLE 011111 ....................101110 @rtrss9
SCE 011111 ....................011110 @rtrss9
SBE 011111 ....................011100 @rtrss9
SHE 011111 ....................011101 @rtrss9
SWE 011111 ....................011111 @rtrss9
CACHEE 011111 ....................011011 @rtrss9
PREFE 011111 ....................100011 @rtrss9
# handle logical instructions
AND 000000 ...............00000100100 @rdrsrt
ANDI 001100 .......................... @rtrsu16
LUI 001111 00000..................... @rtu16
NOR 000000 ...............00000100111 @rdrsrt
OR 000000 ...............00000100101 @rdrsrt
ORI 001101 .......................... @rtrsu16
XOR 000000 ...............00000100110 @rdrsrt
XORI 001110 .......................... @rtrsu16
# handle insert/extract/swap instructions
EXT 011111 ....................000000 @rtrspos
INS 011111 ....................000100 @rtrspos
WSBH 011111 00000..........00010100000 @rdrt
# handle move instructions
MFHI 000000 0000000000.....00000010000 @rd
MFLO 000000 0000000000.....00000010010 @rd
MTHI 000000 .....000000000000000010001 @rs
MTLO 000000 .....000000000000000010011 @rs
RDHWR 011111 00000..........00...111011 @rtrdsel6
ROTR 000000 00001...............000010 @rdrtsa5
ROTRV 000000 ...............00001000110 @rdrtrs
# handle shift instructions
SLL 000000 00000...............000000 @rdrtsa5
SLLV 000000 ...............00000000100 @rdrtrs
SRA 000000 00000...............000011 @rdrtsa5
SRAV 000000 ...............00000000111 @rdrtrs
SRL 000000 00000...............000010 @rdrtsa5
SRLV 000000 ...............00000000110 @rdrtrs
# handle trap instructions
BREAK 000000 ....................001101 @code20_10
SYSCALL 000000 ....................001100 @code20
TEQ 000000 ....................110100 @rsrtcode10
TGE 000000 ....................110000 @rsrtcode10
TGEU 000000 ....................110001 @rsrtcode10
TLT 000000 ....................110010 @rsrtcode10
TLTU 000000 ....................110011 @rsrtcode10
TNE 000000 ....................110110 @rsrtcode10
# handle fpu arithmetic instructions
ABS_S 010001 1000000000..........000101 @fdfs
ABS_D 010001 1000100000..........000101 @fdfs
ADD_S 010001 10000...............000000 @fdfsft
ADD_D 010001 10001...............000000 @fdfsft
DIV_S 010001 10000...............000011 @fdfsft
DIV_D 010001 10001...............000011 @fdfsft
MUL_S 010001 10000...............000010 @fdfsft
MUL_D 010001 10001...............000010 @fdfsft
NEG_S 010001 1000000000..........000111 @fdfs
NEG_D 010001 1000100000..........000111 @fdfs
RECIP_S 010001 1000000000..........010101 @fdfs
RECIP_D 010001 1000100000..........010101 @fdfs
RSQRT_S 010001 1000000000..........010110 @fdfs
RSQRT_D 010001 1000100000..........010110 @fdfs
SQRT_S 010001 1000000000..........000100 @fdfs
SQRT_D 010001 1000100000..........000100 @fdfs
SUB_S 010001 10000...............000001 @fdfsft
SUB_D 010001 10001...............000001 @fdfsft
# handle fpu convert instructions
CEIL_L_S 010001 1000000000..........001010 @fdfs
CEIL_L_D 010001 1000100000..........001010 @fdfs
CEIL_W_S 010001 1000000000..........001110 @fdfs
CEIL_W_D 010001 1000100000..........001110 @fdfs
CVT_D_S 010001 1000000000..........100001 @fdfs
CVT_D_W 010001 1010000000..........100001 @fdfs
CVT_D_L 010001 1010100000..........100001 @fdfs
CVT_L_S 010001 1000000000..........100101 @fdfs
CVT_L_D 010001 1000100000..........100101 @fdfs
CVT_S_PL 010001 1011000000..........101000 @fdfs
CVT_S_PU 010001 1011000000..........100000 @fdfs
CVT_S_D 010001 1000100000..........100000 @fdfs
CVT_S_W 010001 1010000000..........100000 @fdfs
CVT_S_L 010001 1010100000..........100000 @fdfs
CVT_W_S 010001 1000000000..........100100 @fdfs
CVT_W_D 010001 1000100000..........100100 @fdfs
FLOOR_L_S 010001 1000000000..........001011 @fdfs
FLOOR_L_D 010001 1000100000..........001011 @fdfs
FLOOR_W_S 010001 1000000000..........001111 @fdfs
FLOOR_W_D 010001 1000100000..........001111 @fdfs
ROUND_L_S 010001 1000000000..........001000 @fdfs
ROUND_L_D 010001 1000100000..........001000 @fdfs
ROUND_W_S 010001 1000000000..........001100 @fdfs
ROUND_W_D 010001 1000100000..........001100 @fdfs
TRUNC_L_S 010001 1000000000..........001001 @fdfs
TRUNC_L_D 010001 1000100000..........001001 @fdfs
TRUNC_W_S 010001 1000000000..........001101 @fdfs
TRUNC_W_D 010001 1000100000..........001101 @fdfs
# handle fpu load, store and memory control instructions
LDC1 110101 .......................... @ftrss16
LWC1 110001 .......................... @ftrss16
PREFX 010011 ...............00000001111 @rdrtrs
SDC1 111101 .......................... @ftrss16
SWC1 111001 .......................... @ftrss16
# handle fpu move instructions
CFC1 010001 00010..........00000000000 @rtfs
CTC1 010001 00110..........00000000000 @rtfs
MFC1 010001 00000..........00000000000 @rtfs
MFHC1 010001 00011..........00000000000 @rtfs
MOV_S 010001 1000000000..........000110 @fdfs
MOV_D 010001 1000100000..........000110 @fdfs
MTC1 010001 00100..........00000000000 @rtfs
MTHC1 010001 00111..........00000000000 @rtfs
# handle coprocessor execute instructions
COP2 010010 1......................... @cofun
# handle coprocessor move instructions
CFC2 010010 00010..................... @rtfs
CTC2 010010 00110..................... @rtfs
MFC2 010010 00000..................... @rtfs
MFHC2 010010 00011..................... @rtfs
MTC2 010010 00100..................... @rtfs
MTHC2 010010 00111..................... @rtfs
DI 010000 01011.....0110000000000000 @rsrt
# handle privileged instructions
EI 010000 01011.....0110000000100000 @rt
ERET 010000 10000000000000000000011000 @
ERETNC 010000 10000000000000000001011000 @
IRET 010000 10000000000000000000111000 @
MFC0 010000 00000..........00000000... @rtrdsel
MTC0 010000 00100..........00000000... @rtrdsel
MFHC0 010000 00010..........00000000... @rtrdsel
MTHC0 010000 00110..........00000000... @rtrdsel
RDPGPR 010000 01010..........00000000000 @rdrt
TLBP 010000 10000000000000000000001000 @
TLBR 010000 10000000000000000000000001 @
TLBWI 010000 10000000000000000000000010 @
TLBWR 010000 10000000000000000000000110 @
TLBINV 010000 10000000000000000000000011 @
TLBINVF 010000 10000000000000000000000100 @
WAIT 010000 1...................100000 @code19
WRPGPR 010000 01110..........00000000000 @rdrt
# handle EJTAG instructions
DERET 010000 10000000000000000000011111 @
# basic VP instructions
DVP 010000 01011.....0000000000100100 @rt
EVP 010000 01011.....0000000000000100 @rt
DMT 010000 01011.....0000101111000001 @rt
# basic MT instructions
DVPE 010000 01011.....0000000000000001 @rt
EMT 010000 01011.....0000101111100001 @rt
EVPE 010000 01011.....0000000000100001 @rt
FORK 011111 ...............00000001000 @rdrsrt
YIELD 011111 .....00000.....00000001001 @rdrs
MFTC0 010000 01000...............000... @rdrtsel
# MT mftr variants
MFTGPR 010000 01000...............100000 @rdrt
MFTLO 010000 010000..00..........100001 @rdacrt
MFTHI 010000 010000..01..........100001 @rdacrt
MFTACX 010000 010000..10..........100001 @rdacrt
MFTDSP 010000 0100010000..........1.0001 @rd
MFTC1 010000 01000...............100010 @rdft
MFTHC1 010000 01000...............110010 @rdft
CFTC1 010000 01000...............100011 @rdrt
MFTC2 010000 01000...............100100 @rdrt
MFTHC2 010000 01000...............110100 @rdrt
CFTC2 010000 01000...............100101 @rdrt
MFTR 010000 01000.................0... @rdrtsel
# MT mttr variants
MTTC0 010000 01100...............000... @rtrdsel
MTTGPR 010000 01100...............100000 @rtrd
MTTLO 010000 01100.....0..00.....100001 @rtacrd
MTTHI 010000 01100.....0..01.....100001 @rtacrd
MTTACX 010000 01100.....0..10.....100001 @rtacrd
MTTDSP 010000 01100.....10000.....1.0001 @rt
MTTC1 010000 01100...............100010 @rtfs
MTTHC1 010000 01100...............110010 @rtfs
CTTC1 010000 01100...............100011 @rtrd
MTTC2 010000 01100...............100100 @rtrd
MTTHC2 010000 01100...............110100 @rtrd
CTTC2 010000 01100...............100101 @rtrd
MTTR 010000 01100.................0... @rtrdsel
# DSP
ADDQ_PH 011111 ...............01010010000 @rdrsrt
ADDQ_S_PH 011111 ...............01110010000 @rdrsrt
ADDQ_S_W 011111 ...............10110010000 @rdrsrt
ADDQH_PH 011111 ...............01000011000 @rdrsrt
ADDQH_R_PH 011111 ...............01010011000 @rdrsrt
ADDQH_W 011111 ...............10000011000 @rdrsrt
ADDQH_R_W 011111 ...............10010011000 @rdrsrt
ADDU_QB 011111 ...............00000010000 @rdrsrt
ADDU_S_QB 011111 ...............00100010000 @rdrsrt
ADDU_PH 011111 ...............01000010000 @rdrsrt
ADDU_S_PH 011111 ...............01100010000 @rdrsrt
ADDUH_QB 011111 ...............00000011000 @rdrsrt
ADDUH_R_QB 011111 ...............00010011000 @rdrsrt
SUBQ_PH 011111 ...............01011010000 @rdrsrt
SUBQ_S_PH 011111 ...............01111010000 @rdrsrt
SUBQ_S_W 011111 ...............10111010000 @rdrsrt
SUBQH_PH 011111 ...............01001011000 @rdrsrt
SUBQH_R_PH 011111 ...............01011011000 @rdrsrt
SUBQH_W 011111 ...............10001011000 @rdrsrt
SUBQH_R_W 011111 ...............10011011000 @rdrsrt
SUBU_QB 011111 ...............00001010000 @rdrsrt
SUBU_S_QB 011111 ...............00101010000 @rdrsrt
SUBU_PH 011111 ...............01001010000 @rdrsrt
SUBU_S_PH 011111 ...............01101010000 @rdrsrt
SUBUH_QB 011111 ...............00001011000 @rdrsrt
SUBUH_R_QB 011111 ...............00011011000 @rdrsrt
ADDSC 011111 ...............10000010000 @rdrsrt
ADDWC 011111 ...............10001010000 @rdrsrt
MODSUB 011111 ...............10010010000 @rdrsrt
RADDU_W_QB 011111 .....00000.....10100010000 @rdrs
ABSQ_S_PH 011111 00000..........01001010010 @rdrt
ABSQ_S_W 011111 00000..........10001010010 @rdrt
ABSQ_S_QB 011111 00000..........00001010010 @rdrt
MADD_AC 011100 ..........000..00000000000 @rdrsrt
MADDU_AC 011100 ..........000..00000000001 @rdrsrt
MSUB_AC 011100 ..........000..00000000100 @rdrsrt
MSUBU_AC 011100 ..........000..00000000101 @rdrsrt
MULT_AC 000000 ..........000..00000011000 @rdrsrt
MULTU_AC 000000 ..........000..00000011001 @rdrsrt
PRECRQ_QB_PH 011111 ...............01100010001 @rdrsrt
PRECRQ_PH_W 011111 ...............10100010001 @rdrsrt
PRECRQ_RS_PH_W 011111 ...............10101010001 @rdrsrt
PRECRQU_S_QB_PH011111 ...............01111010001 @rdrsrt
PRECEQ_W_PHL 011111 00000..........01100010010 @rdrt
PRECEQ_W_PHR 011111 00000..........01101010010 @rdrt
PRECEQU_PH_QBL 011111 00000..........00100010010 @rdrt
PRECEQU_PH_QBR 011111 00000..........00101010010 @rdrt
PRECEQU_PH_QBLA011111 00000..........00110010010 @rdrt
PRECEQU_PH_QBRA011111 00000..........00111010010 @rdrt
PRECEU_PH_QBL 011111 00000..........11100010010 @rdrt
PRECEU_PH_QBR 011111 00000..........11101010010 @rdrt
PRECEU_PH_QBLA 011111 00000..........11110010010 @rdrt
PRECEU_PH_QBRA 011111 00000..........11111010010 @rdrt
PRECR_QB_PH 011111 ...............01101010001 @rdrsrt
PRECR_SRA_PH_W 011111 ...............11110010001 @rtrssadsp2
PRECR_SRA_R_PH_W011111 ...............11111010001 @rtrssadsp2
SHLL_QB 011111 00.............00000010011 @rdrtsadsp
SHLLV_QB 011111 ...............00010010011 @rdrtrs
SHLL_PH 011111 0..............01000010011 @rdrtsadsp
SHLLV_PH 011111 ...............01010010011 @rdrtrs
SHLL_S_PH 011111 0..............01100010011 @rdrtsadsp
SHLLV_S_PH 011111 ...............01110010011 @rdrtrs
SHLL_S_W 011111 ...............10100010011 @rdrtsadsp
SHLLV_S_W 011111 ...............10110010011 @rdrtrs
SHRL_QB 011111 00.............00001010011 @rdrtsadsp
SHRLV_QB 011111 ...............00011010011 @rdrtrs
SHRL_PH 011111 0..............11001010011 @rdrtsadsp
SHRLV_PH 011111 ...............11011010011 @rdrtrs
SHRA_PH 011111 0..............01001010011 @rdrtsadsp
SHRAV_PH 011111 ...............01011010011 @rdrtrs
SHRA_R_PH 011111 0..............01101010011 @rdrtsadsp
SHRAV_R_PH 011111 ...............01111010011 @rdrtrs
SHRA_R_W 011111 ...............10101010011 @rdrtsadsp
SHRAV_R_W 011111 ...............10111010011 @rdrtrs
SHRA_QB 011111 00.............00100010011 @rdrtsadsp
SHRAV_QB 011111 ...............00110010011 @rdrtrs
SHRA_R_QB 011111 00.............00101010011 @rdrtsadsp
SHRAV_R_QB 011111 ...............00111010011 @rdrtrs
MULEU_S_PH_QBL 011111 ...............00110010000 @rdrsrt
MULEU_S_PH_QBR 011111 ...............00111010000 @rdrsrt
MULQ_RS_PH 011111 ...............11111010000 @rdrsrt
MULEQ_S_W_PHL 011111 ...............11100010000 @rdrsrt
MULEQ_S_W_PHR 011111 ...............11101010000 @rdrsrt
MUL_PH 011111 ...............01100011000 @rdrsrt
MUL_S_PH 011111 ...............01110011000 @rdrsrt
MULQ_S_PH 011111 ...............11110010000 @rdrsrt
MULQ_RS_W 011111 ...............10111011000 @rdrsrt
MULQ_S_W 011111 ...............10110011000 @rdrsrt
MULSA_W_PH 011111 ..........000..00010110000 @rdrsrt
DPAU_H_QBL 011111 ..........000..00011110000 @rdrsrt
DPAU_H_QBR 011111 ..........000..00111110000 @rdrsrt
DPSU_H_QBL 011111 ..........000..01011110000 @rdrsrt
DPSU_H_QBR 011111 ..........000..01111110000 @rdrsrt
DPAQ_S_W_PH 011111 ..........000..00100110000 @rdrsrt
DPAQX_S_W_PH 011111 ..........000..11000110000 @rdrsrt
DPAQX_SA_W_PH 011111 ..........000..11010110000 @rdrsrt
DPSQ_S_W_PH 011111 ..........000..00101110000 @rdrsrt
MULSAQ_S_W_PH 011111 ..........000..00110110000 @rdrsrt
DPA_W_PH 011111 ..........000..00000110000 @rdrsrt
DPAX_W_PH 011111 ..........000..01000110000 @rdrsrt
DPS_W_PH 011111 ..........000..00001110000 @rdrsrt
DPSX_W_PH 011111 ..........000..01001110000 @rdrsrt
DPAQ_SA_L_W 011111 ..........000..01100110000 @rdrsrt
DPSQ_SA_L_W 011111 ..........000..01101110000 @rdrsrt
DPSQX_S_W_PH 011111 ..........000..11001110000 @rdrsrt
DPSQX_SA_W_PH 011111 ..........000..11011110000 @rdrsrt
MAQ_S_W_PHL 011111 ..........000..10100110000 @rdrsrt
MAQ_S_W_PHR 011111 ..........000..10110110000 @rdrsrt
MAQ_SA_W_PHL 011111 ..........000..10000110000 @rdrsrt
MAQ_SA_W_PHR 011111 ..........000..10010110000 @rdrsrt
BITREV 011111 00000..........11011010010 @rdrt
INSV 011111 ..........0000000000001100 @rtrs
REPL_QB 011111 00.............00010010010 @rds10
REPLV_QB 011111 00000..........00011010010 @rdrt
REPL_PH 011111 ...............01010010010 @rds10
REPLV_PH 011111 00000..........01011010010 @rdrt
CMPU_EQ_QB 011111 ..........0000000000010001 @rsrt
CMPU_LT_QB 011111 ..........0000000001010001 @rsrt
CMPU_LE_QB 011111 ..........0000000010010001 @rsrt
CMPGU_EQ_QB 011111 ...............00100010001 @rdrsrt
CMPGU_LT_QB 011111 ...............00101010001 @rdrsrt
CMPGU_LE_QB 011111 ...............00110010001 @rdrsrt
CMPGDU_EQ_QB 011111 ...............11000010001 @rdrsrt
CMPGDU_LT_QB 011111 ...............11001010001 @rdrsrt
CMPGDU_LE_QB 011111 ...............11010010001 @rdrsrt
CMP_EQ_PH 011111 ..........0000001000010001 @rsrt
CMP_LT_PH 011111 ..........0000001001010001 @rsrt
CMP_LE_PH 011111 ..........0000001010010001 @rsrt
PICK_QB 011111 ...............00011010001 @rdrsrt
PICK_PH 011111 ...............01011010001 @rdrsrt
PACKRL_PH 011111 ...............01110010001 @rdrsrt
APPEND 011111 ...............00000110001 @rtrssadsp2
BALIGN 011111 ..........000..10000110001 @rtrssadsp2
PREPEND 011111 ...............00001110001 @rtrssadsp2
EXTR_W 011111 ..........000..00000111000 @rtrdsadsp
EXTR_R_W 011111 ..........000..00100111000 @rtrdsadsp
EXTR_RS_W 011111 ..........000..00110111000 @rtrdsadsp
EXTR_S_H 011111 ..........000..01110111000 @rtrdsadsp
EXTRV_S_H 011111 ..........000..01111111000 @rtrdrs
EXTRV_W 011111 ..........000..00001111000 @rtrdrs
EXTRV_R_W 011111 ..........000..00101111000 @rtrdrs
EXTRV_RS_W 011111 ..........000..00111111000 @rtrdrs
EXTP 011111 ..........000..00010111000 @rtrdsadsp
EXTPV 011111 ..........000..00011111000 @rtrdrs
EXTPDP 011111 ..........000..01010111000 @rtrdsadsp
EXTPDPV 011111 ..........000..01011111000 @rtrdrs
SHILO 011111 ......0000000..11010111000 @rdshift_dsp
SHILOV 011111 .....00000000..11011111000 @rdrs
MTHLIP 011111 .....00000000..11111111000 @rsrd
MFHI_DSP 000000 000..00000.....00000010000 @rdrs
MFLO_DSP 000000 000..00000.....00000010010 @rdrs
MTHI_DSP 000000 .....00000000..00000010001 @rsrd
MTLO_DSP 000000 .....00000000..00000010011 @rsrd
WRDSP 011111 ...............10011111000 @rsmask_wrdsp
RDDSP 011111 ...............10010111000 @rdmask_rddsp
LBUX 011111 ...............00110001010 @rdrtrs
LHX 011111 ...............00100001010 @rdrtrs
LWX 011111 ...............00000001010 @fdrtrs
BPOSGE32 000001 0000011100................ @pc_s16_2
# user-defined instructions
UDI0 011100 ....................010000 @rsrtrdsa5
UDI1 011100 ....................010001 @rsrtrdsa5
UDI2 011100 ....................010010 @rsrtrdsa5
UDI3 011100 ....................010011 @rsrtrdsa5
UDI4 011100 ....................010100 @rsrtrdsa5
UDI5 011100 ....................010101 @rsrtrdsa5
UDI6 011100 ....................010110 @rsrtrdsa5
UDI7 011100 ....................010111 @rsrtrdsa5
UDI8 011100 ....................011000 @rsrtrdsa5
UDI9 011100 ....................011001 @rsrtrdsa5
UDI10 011100 ....................011010 @rsrtrdsa5
UDI11 011100 ....................011011 @rsrtrdsa5
UDI12 011100 ....................011100 @rsrtrdsa5
UDI13 011100 ....................011101 @rsrtrdsa5
UDI14 011100 ....................011110 @rsrtrdsa5
UDI15 011100 ....................011111 @rsrtrdsa5
# handle MIPS64 arithmetic instructions
DADD 000000 ...............00000101100 @rdrsrt
DADDIU 011001 .......................... @rtrss16
DADDU 000000 ...............00000101101 @rdrsrt
DSUB 000000 ...............00000101110 @rdrsrt
DSUBU 000000 ...............00000101111 @rdrsrt
# handle MIPS64 load, store and memory control instructions
LWU 100111 .......................... @rspc_s19_2
LD 110111 .......................... @rspc_s18_3
SD 111111 .......................... @ftrss16
# handle MIPS64 shift instructions
DEXT 011111 ....................000011 @rtrspos
DEXTM 011111 ....................000001 @rtrspos
DEXTU 011111 ....................000010 @rtrspos_p32
DINS 011111 ....................000111 @rtrspos
DINSM 011111 ....................000101 @rtrspos
DINSU 011111 ....................000110 @rtrspos_p32
DSBH 011111 00000..........00010100100 @rdrt
DSHD 011111 00000..........00101100100 @rdrt
DROTR 000000 00001...............111010 @rdrtsa5
DROTR32 000000 00001...............111110 @rdrtsa5_p32
DROTRV 000000 ...............00001010110 @rdrtrs
DSLL 000000 00000...............111000 @rdrtsa5
DSLL32 000000 00000...............111100 @rdrtsa5_p32
DSLLV 000000 ...............00000010100 @rdrtrs
DSRA 000000 00000...............111011 @rdrtsa5
DSRA32 000000 00000...............111111 @rdrtsa5_p32
DSRAV 000000 ...............00000010111 @rdrtrs
DSRL 000000 00000...............111010 @rdrtsa5
DSRL32 000000 00000...............111110 @rdrtsa5_p32
DSRLV 000000 ...............00000010110 @rdrtrs
# handle MIPS64 coprocessor move instructions
DMFC0 010000 00001..........00000000... @rtrdsel
DMFC1 010001 00001..........00000000000 @rtfs
DMFC2 010010 00001..................... @rtfs
DMTC0 010000 00101..........00000000... @rtrdsel
DMTC1 010001 00101..........00000000000 @rtfs
DMTC2 010010 00101..................... @rtfs
# VZ ASE instructions
HYPCALL 010000 10000..........00000101000 @code10_11
MFGC0 010000 00011..........00000000... @rtrdsel
MTGC0 010000 00011..........01000000... @rtrdsel
MFHGC0 010000 00011..........10000000... @rtrdsel
MTHGC0 010000 00011..........11000000... @rtrdsel
DMFGC0 010000 00011..........00100000... @rtrdsel
DMTGC0 010000 00011..........01100000... @rtrdsel
TLBGINV 010000 10000000000000000000001011 @
TLBGINVF 010000 10000000000000000000001100 @
TLBGP 010000 10000000000000000000010000 @
TLBGR 010000 10000000000000000000001001 @
TLBGWI 010000 10000000000000000000001010 @
TLBGWR 010000 10000000000000000000001110 @
# MSA
ADD_A_B 011110 000 00 ..... ..... ..... 010000 @wdwswt
ADD_A_H 011110 000 01 ..... ..... ..... 010000 @wdwswt
ADD_A_W 011110 000 10 ..... ..... ..... 010000 @wdwswt
ADD_A_D 011110 000 11 ..... ..... ..... 010000 @wdwswt
ADDS_A_B 011110 001 00 ..... ..... ..... 010000 @wdwswt
ADDS_A_H 011110 001 01 ..... ..... ..... 010000 @wdwswt
ADDS_A_W 011110 001 10 ..... ..... ..... 010000 @wdwswt
ADDS_A_D 011110 001 11 ..... ..... ..... 010000 @wdwswt
ADDS_S_B 011110 010 00 ..... ..... ..... 010000 @wdwswt
ADDS_S_H 011110 010 01 ..... ..... ..... 010000 @wdwswt
ADDS_S_W 011110 010 10 ..... ..... ..... 010000 @wdwswt
ADDS_S_D 011110 010 11 ..... ..... ..... 010000 @wdwswt
ADDS_U_B 011110 011 00 ..... ..... ..... 010000 @wdwswt
ADDS_U_H 011110 011 01 ..... ..... ..... 010000 @wdwswt
ADDS_U_W 011110 011 10 ..... ..... ..... 010000 @wdwswt
ADDS_U_D 011110 011 11 ..... ..... ..... 010000 @wdwswt
ASUB_S_B 011110 100 00 ..... ..... ..... 010001 @wdwswt
ASUB_S_H 011110 100 01 ..... ..... ..... 010001 @wdwswt
ASUB_S_W 011110 100 10 ..... ..... ..... 010001 @wdwswt
ASUB_S_D 011110 100 11 ..... ..... ..... 010001 @wdwswt
ASUB_U_B 011110 101 00 ..... ..... ..... 010001 @wdwswt
ASUB_U_H 011110 101 01 ..... ..... ..... 010001 @wdwswt
ASUB_U_W 011110 101 10 ..... ..... ..... 010001 @wdwswt
ASUB_U_D 011110 101 11 ..... ..... ..... 010001 @wdwswt
AVE_S_B 011110 100 00 ..... ..... ..... 010000 @wdwswt
AVE_S_H 011110 100 01 ..... ..... ..... 010000 @wdwswt
AVE_S_W 011110 100 10 ..... ..... ..... 010000 @wdwswt
AVE_S_D 011110 100 11 ..... ..... ..... 010000 @wdwswt
AVE_U_B 011110 101 00 ..... ..... ..... 010000 @wdwswt
AVE_U_H 011110 101 01 ..... ..... ..... 010000 @wdwswt
AVE_U_W 011110 101 10 ..... ..... ..... 010000 @wdwswt
AVE_U_D 011110 101 11 ..... ..... ..... 010000 @wdwswt
AVER_S_B 011110 110 00 ..... ..... ..... 010000 @wdwswt
AVER_S_H 011110 110 01 ..... ..... ..... 010000 @wdwswt
AVER_S_W 011110 110 10 ..... ..... ..... 010000 @wdwswt
AVER_S_D 011110 110 11 ..... ..... ..... 010000 @wdwswt
AVER_U_B 011110 111 00 ..... ..... ..... 010000 @wdwswt
AVER_U_H 011110 111 01 ..... ..... ..... 010000 @wdwswt
AVER_U_W 011110 111 10 ..... ..... ..... 010000 @wdwswt
AVER_U_D 011110 111 11 ..... ..... ..... 010000 @wdwswt
ADDV_B 011110 000 00 ..... ..... ..... 001110 @wdwswt
ADDV_H 011110 000 01 ..... ..... ..... 001110 @wdwswt
ADDV_W 011110 000 10 ..... ..... ..... 001110 @wdwswt
ADDV_D 011110 000 11 ..... ..... ..... 001110 @wdwswt
ADDVI_B 011110 000 00 ..... ..... ..... 000110 @wdwsu5
ADDVI_H 011110 000 01 ..... ..... ..... 000110 @wdwsu5
ADDVI_W 011110 000 10 ..... ..... ..... 000110 @wdwsu5
ADDVI_D 011110 000 11 ..... ..... ..... 000110 @wdwsu5
DIV_S_B 011110 100 00 ..... ..... ..... 010010 @wdwswt
DIV_S_H 011110 100 01 ..... ..... ..... 010010 @wdwswt
DIV_S_W 011110 100 10 ..... ..... ..... 010010 @wdwswt
DIV_S_D 011110 100 11 ..... ..... ..... 010010 @wdwswt
DIV_U_B 011110 101 00 ..... ..... ..... 010010 @wdwswt
DIV_U_H 011110 101 01 ..... ..... ..... 010010 @wdwswt
DIV_U_W 011110 101 10 ..... ..... ..... 010010 @wdwswt
DIV_U_D 011110 101 11 ..... ..... ..... 010010 @wdwswt
DOTP_S_H 011110 000 01 ..... ..... ..... 010011 @wdwswt
DOTP_S_W 011110 000 10 ..... ..... ..... 010011 @wdwswt
DOTP_S_D 011110 000 11 ..... ..... ..... 010011 @wdwswt
DOTP_U_H 011110 001 01 ..... ..... ..... 010011 @wdwswt
DOTP_U_W 011110 001 10 ..... ..... ..... 010011 @wdwswt
DOTP_U_D 011110 001 11 ..... ..... ..... 010011 @wdwswt
DPADD_S_H 011110 010 01 ..... ..... ..... 010011 @wdwswt
DPADD_S_W 011110 010 10 ..... ..... ..... 010011 @wdwswt
DPADD_S_D 011110 010 11 ..... ..... ..... 010011 @wdwswt
DPADD_U_H 011110 011 01 ..... ..... ..... 010011 @wdwswt
DPADD_U_W 011110 011 10 ..... ..... ..... 010011 @wdwswt
DPADD_U_D 011110 011 11 ..... ..... ..... 010011 @wdwswt
DPSUB_S_H 011110 100 01 ..... ..... ..... 010011 @wdwswt
DPSUB_S_W 011110 100 10 ..... ..... ..... 010011 @wdwswt
DPSUB_S_D 011110 100 11 ..... ..... ..... 010011 @wdwswt
DPSUB_U_H 011110 101 01 ..... ..... ..... 010011 @wdwswt
DPSUB_U_W 011110 101 10 ..... ..... ..... 010011 @wdwswt
DPSUB_U_D 011110 101 11 ..... ..... ..... 010011 @wdwswt
HADD_S_H 011110 100 01 ..... ..... ..... 010101 @wdwswt
HADD_S_W 011110 100 10 ..... ..... ..... 010101 @wdwswt
HADD_S_D 011110 100 11 ..... ..... ..... 010101 @wdwswt
HADD_U_H 011110 101 01 ..... ..... ..... 010101 @wdwswt
HADD_U_W 011110 101 10 ..... ..... ..... 010101 @wdwswt
HADD_U_D 011110 101 11 ..... ..... ..... 010101 @wdwswt
HSUB_S_H 011110 110 01 ..... ..... ..... 010101 @wdwswt
HSUB_S_W 011110 110 10 ..... ..... ..... 010101 @wdwswt
HSUB_S_D 011110 110 11 ..... ..... ..... 010101 @wdwswt
HSUB_U_H 011110 111 01 ..... ..... ..... 010101 @wdwswt
HSUB_U_W 011110 111 10 ..... ..... ..... 010101 @wdwswt
HSUB_U_D 011110 111 11 ..... ..... ..... 010101 @wdwswt
MADDV_B 011110 001 00 ..... ..... ..... 010010 @wdwswt
MADDV_H 011110 001 01 ..... ..... ..... 010010 @wdwswt
MADDV_W 011110 001 10 ..... ..... ..... 010010 @wdwswt
MADDV_D 011110 001 11 ..... ..... ..... 010010 @wdwswt
MAX_A_B 011110 110 00 ..... ..... ..... 001110 @wdwswt
MAX_A_H 011110 110 01 ..... ..... ..... 001110 @wdwswt
MAX_A_W 011110 110 10 ..... ..... ..... 001110 @wdwswt
MAX_A_D 011110 110 11 ..... ..... ..... 001110 @wdwswt
MAX_S_B 011110 010 00 ..... ..... ..... 001110 @wdwswt
MAX_S_H 011110 010 01 ..... ..... ..... 001110 @wdwswt
MAX_S_W 011110 010 10 ..... ..... ..... 001110 @wdwswt
MAX_S_D 011110 010 11 ..... ..... ..... 001110 @wdwswt
MAX_U_B 011110 011 00 ..... ..... ..... 001110 @wdwswt
MAX_U_H 011110 011 01 ..... ..... ..... 001110 @wdwswt
MAX_U_W 011110 011 10 ..... ..... ..... 001110 @wdwswt
MAX_U_D 011110 011 11 ..... ..... ..... 001110 @wdwswt
MAXI_S_B 011110 010 00 ..... ..... ..... 000110 @wdwss5
MAXI_S_H 011110 010 01 ..... ..... ..... 000110 @wdwss5
MAXI_S_W 011110 010 10 ..... ..... ..... 000110 @wdwss5
MAXI_S_D 011110 010 11 ..... ..... ..... 000110 @wdwss5
MAXI_U_B 011110 011 00 ..... ..... ..... 000110 @wdwsu5
MAXI_U_H 011110 011 01 ..... ..... ..... 000110 @wdwsu5
MAXI_U_W 011110 011 10 ..... ..... ..... 000110 @wdwsu5
MAXI_U_D 011110 011 11 ..... ..... ..... 000110 @wdwsu5
MIN_A_B 011110 111 00 ..... ..... ..... 001110 @wdwswt
MIN_A_H 011110 111 01 ..... ..... ..... 001110 @wdwswt
MIN_A_W 011110 111 10 ..... ..... ..... 001110 @wdwswt
MIN_A_D 011110 111 11 ..... ..... ..... 001110 @wdwswt
MIN_S_B 011110 100 00 ..... ..... ..... 001110 @wdwswt
MIN_S_H 011110 100 01 ..... ..... ..... 001110 @wdwswt
MIN_S_W 011110 100 10 ..... ..... ..... 001110 @wdwswt
MIN_S_D 011110 100 11 ..... ..... ..... 001110 @wdwswt
MIN_U_B 011110 101 00 ..... ..... ..... 001110 @wdwswt
MIN_U_H 011110 101 01 ..... ..... ..... 001110 @wdwswt
MIN_U_W 011110 101 10 ..... ..... ..... 001110 @wdwswt
MIN_U_D 011110 101 11 ..... ..... ..... 001110 @wdwswt
MINI_S_B 011110 100 00 ..... ..... ..... 000110 @wdwss5
MINI_S_H 011110 100 01 ..... ..... ..... 000110 @wdwss5
MINI_S_W 011110 100 10 ..... ..... ..... 000110 @wdwss5
MINI_S_D 011110 100 11 ..... ..... ..... 000110 @wdwss5
MINI_U_B 011110 101 00 ..... ..... ..... 000110 @wdwsu5
MINI_U_H 011110 101 01 ..... ..... ..... 000110 @wdwsu5
MINI_U_W 011110 101 10 ..... ..... ..... 000110 @wdwsu5
MINI_U_D 011110 101 11 ..... ..... ..... 000110 @wdwsu5
MOD_S_B 011110 110 00 ..... ..... ..... 010010 @wdwswt
MOD_S_H 011110 110 01 ..... ..... ..... 010010 @wdwswt
MOD_S_W 011110 110 10 ..... ..... ..... 010010 @wdwswt
MOD_S_D 011110 110 11 ..... ..... ..... 010010 @wdwswt
MOD_U_B 011110 111 00 ..... ..... ..... 010010 @wdwswt
MOD_U_H 011110 111 01 ..... ..... ..... 010010 @wdwswt
MOD_U_W 011110 111 10 ..... ..... ..... 010010 @wdwswt
MOD_U_D 011110 111 11 ..... ..... ..... 010010 @wdwswt
MSUBV_B 011110 010 00 ..... ..... ..... 010010 @wdwswt
MSUBV_H 011110 010 01 ..... ..... ..... 010010 @wdwswt
MSUBV_W 011110 010 10 ..... ..... ..... 010010 @wdwswt
MSUBV_D 011110 010 11 ..... ..... ..... 010010 @wdwswt
MULV_B 011110 000 00 ..... ..... ..... 010010 @wdwswt
MULV_H 011110 000 01 ..... ..... ..... 010010 @wdwswt
MULV_W 011110 000 10 ..... ..... ..... 010010 @wdwswt
MULV_D 011110 000 11 ..... ..... ..... 010010 @wdwswt
SAT_S_B 011110 000 1110... ..... ..... 001010 @wdwsu3
SAT_S_H 011110 000 110.... ..... ..... 001010 @wdwsu4
SAT_S_W 011110 000 10..... ..... ..... 001010 @wdwsu5
SAT_S_D 011110 000 0...... ..... ..... 001010 @wdwsu6
SAT_U_B 011110 001 1110... ..... ..... 001010 @wdwsu3
SAT_U_H 011110 001 110.... ..... ..... 001010 @wdwsu4
SAT_U_W 011110 001 10..... ..... ..... 001010 @wdwsu5
SAT_U_D 011110 001 0...... ..... ..... 001010 @wdwsu6
SUBS_S_B 011110 000 00 ..... ..... ..... 010001 @wdwswt
SUBS_S_H 011110 000 01 ..... ..... ..... 010001 @wdwswt
SUBS_S_W 011110 000 10 ..... ..... ..... 010001 @wdwswt
SUBS_S_D 011110 000 11 ..... ..... ..... 010001 @wdwswt
SUBS_U_B 011110 001 00 ..... ..... ..... 010001 @wdwswt
SUBS_U_H 011110 001 01 ..... ..... ..... 010001 @wdwswt
SUBS_U_W 011110 001 10 ..... ..... ..... 010001 @wdwswt
SUBS_U_D 011110 001 11 ..... ..... ..... 010001 @wdwswt
SUBSUS_U_B 011110 010 00 ..... ..... ..... 010001 @wdwswt
SUBSUS_U_H 011110 010 01 ..... ..... ..... 010001 @wdwswt
SUBSUS_U_W 011110 010 10 ..... ..... ..... 010001 @wdwswt
SUBSUS_U_D 011110 010 11 ..... ..... ..... 010001 @wdwswt
SUBSUU_S_B 011110 011 00 ..... ..... ..... 010001 @wdwswt
SUBSUU_S_H 011110 011 01 ..... ..... ..... 010001 @wdwswt
SUBSUU_S_W 011110 011 10 ..... ..... ..... 010001 @wdwswt
SUBSUU_S_D 011110 011 11 ..... ..... ..... 010001 @wdwswt
SUBV_B 011110 001 00 ..... ..... ..... 001110 @wdwswt
SUBV_H 011110 001 01 ..... ..... ..... 001110 @wdwswt
SUBV_W 011110 001 10 ..... ..... ..... 001110 @wdwswt
SUBV_D 011110 001 11 ..... ..... ..... 001110 @wdwswt
SUBVI_B 011110 001 00 ..... ..... ..... 000110 @wdwsu5
SUBVI_H 011110 001 01 ..... ..... ..... 000110 @wdwsu5
SUBVI_W 011110 001 10 ..... ..... ..... 000110 @wdwsu5
SUBVI_D 011110 001 11 ..... ..... ..... 000110 @wdwsu5
AND_V 011110 00000...............011110 @wdwswt
ANDI_B 011110 00..................000000 @wdwsu8
BCLR_B 011110 011 00 ..... ..... ..... 001101 @wdwswt
BCLR_H 011110 011 01 ..... ..... ..... 001101 @wdwswt
BCLR_W 011110 011 10 ..... ..... ..... 001101 @wdwswt
BCLR_D 011110 011 11 ..... ..... ..... 001101 @wdwswt
BCLRI_B 011110 011 1110... ..... ..... 001001 @wdwsu3
BCLRI_H 011110 011 110.... ..... ..... 001001 @wdwsu4
BCLRI_W 011110 011 10..... ..... ..... 001001 @wdwsu5
BCLRI_D 011110 011 0...... ..... ..... 001001 @wdwsu6
BINSL_B 011110 110 00 ..... ..... ..... 001101 @wdwswt
BINSL_H 011110 110 01 ..... ..... ..... 001101 @wdwswt
BINSL_W 011110 110 10 ..... ..... ..... 001101 @wdwswt
BINSL_D 011110 110 11 ..... ..... ..... 001101 @wdwswt
BINSLI_B 011110 110 1110... ..... ..... 001001 @wdwsu3
BINSLI_H 011110 110 110.... ..... ..... 001001 @wdwsu4
BINSLI_W 011110 110 10..... ..... ..... 001001 @wdwsu5
BINSLI_D 011110 110 0...... ..... ..... 001001 @wdwsu6
BINSR_B 011110 111 00 ..... ..... ..... 001101 @wdwswt
BINSR_H 011110 111 01 ..... ..... ..... 001101 @wdwswt
BINSR_W 011110 111 10 ..... ..... ..... 001101 @wdwswt
BINSR_D 011110 111 11 ..... ..... ..... 001101 @wdwswt
BINSRI_B 011110 111 1110... ..... ..... 001001 @wdwsu3
BINSRI_H 011110 111 110.... ..... ..... 001001 @wdwsu4
BINSRI_W 011110 111 10..... ..... ..... 001001 @wdwsu5
BINSRI_D 011110 111 0...... ..... ..... 001001 @wdwsu6
BMNZ_V 011110 00100...............011110 @wdwswt
BMNZI_B 011110 00..................000001 @wdwsu8
BMZ_V 011110 00101...............011110 @wdwswt
BMZI_B 011110 01..................000001 @wdwsu8
BNEG_B 011110 101 00 ..... ..... ..... 001101 @wdwswt
BNEG_H 011110 101 01 ..... ..... ..... 001101 @wdwswt
BNEG_W 011110 101 10 ..... ..... ..... 001101 @wdwswt
BNEG_D 011110 101 11 ..... ..... ..... 001101 @wdwswt
BNEGI_B 011110 101 1110... ..... ..... 001001 @wdwsu3
BNEGI_H 011110 101 110.... ..... ..... 001001 @wdwsu4
BNEGI_W 011110 101 10..... ..... ..... 001001 @wdwsu5
BNEGI_D 011110 101 0...... ..... ..... 001001 @wdwsu6
BSEL_V 011110 00110...............011110 @wdwswt
BSELI_B 011110 10..................000001 @wdwsu8
BSET_B 011110 100 00 ..... ..... ..... 001101 @wdwswt
BSET_H 011110 100 01 ..... ..... ..... 001101 @wdwswt
BSET_W 011110 100 10 ..... ..... ..... 001101 @wdwswt
BSET_D 011110 100 11 ..... ..... ..... 001101 @wdwswt
BSETI_B 011110 100 1110... ..... ..... 001001 @wdwsu3
BSETI_H 011110 100 110.... ..... ..... 001001 @wdwsu4
BSETI_W 011110 100 10..... ..... ..... 001001 @wdwsu5
BSETI_D 011110 100 0...... ..... ..... 001001 @wdwsu6
LSA 000000 ...............000..000101 @rdrsrtsa2_p1
DLSA 000000 ...............000..010101 @rdrsrtsa2_p1
NLOC_B 011110 11000010 00 ..... ..... 011110 @wdws
NLOC_H 011110 11000010 01 ..... ..... 011110 @wdws
NLOC_W 011110 11000010 10 ..... ..... 011110 @wdws
NLOC_D 011110 11000010 11 ..... ..... 011110 @wdws
NLZC_B 011110 11000011 00 ..... ..... 011110 @wdws
NLZC_H 011110 11000011 01 ..... ..... 011110 @wdws
NLZC_W 011110 11000011 10 ..... ..... 011110 @wdws
NLZC_D 011110 11000011 11 ..... ..... 011110 @wdws
NOR_V 011110 00010...............011110 @wdwswt
NORI_B 011110 10..................000000 @wdwsu8
PCNT_B 011110 11000001 00 ..... ..... 011110 @wdws
PCNT_H 011110 11000001 01 ..... ..... 011110 @wdws
PCNT_W 011110 11000001 10 ..... ..... 011110 @wdws
PCNT_D 011110 11000001 11 ..... ..... 011110 @wdws
OR_V 011110 00001...............011110 @wdwswt
ORI_B 011110 01..................000000 @wdwsu8
SLL_B 011110 000 00 ..... ..... ..... 001101 @wdwswt
SLL_H 011110 000 01 ..... ..... ..... 001101 @wdwswt
SLL_W 011110 000 10 ..... ..... ..... 001101 @wdwswt
SLL_D 011110 000 11 ..... ..... ..... 001101 @wdwswt
SLLI_B 011110 000 1110... ..... ..... 001001 @wdwsu3
SLLI_H 011110 000 110.... ..... ..... 001001 @wdwsu4
SLLI_W 011110 000 10..... ..... ..... 001001 @wdwsu5
SLLI_D 011110 000 0...... ..... ..... 001001 @wdwsu6
SRA_B 011110 001 00 ..... ..... ..... 001101 @wdwswt
SRA_H 011110 001 01 ..... ..... ..... 001101 @wdwswt
SRA_W 011110 001 10 ..... ..... ..... 001101 @wdwswt
SRA_D 011110 001 11 ..... ..... ..... 001101 @wdwswt
SRAI_B 011110 001 1110... ..... ..... 001001 @wdwsu3
SRAI_H 011110 001 110.... ..... ..... 001001 @wdwsu4
SRAI_W 011110 001 10..... ..... ..... 001001 @wdwsu5
SRAI_D 011110 001 0...... ..... ..... 001001 @wdwsu6
SRAR_B 011110 001 00 ..... ..... ..... 010101 @wdwswt
SRAR_H 011110 001 01 ..... ..... ..... 010101 @wdwswt
SRAR_W 011110 001 10 ..... ..... ..... 010101 @wdwswt
SRAR_D 011110 001 11 ..... ..... ..... 010101 @wdwswt
SRARI_B 011110 010 1110... ..... ..... 001010 @wdwsu3
SRARI_H 011110 010 110.... ..... ..... 001010 @wdwsu4
SRARI_W 011110 010 10..... ..... ..... 001010 @wdwsu5
SRARI_D 011110 010 0...... ..... ..... 001010 @wdwsu6
SRL_B 011110 010 00 ..... ..... ..... 001101 @wdwswt
SRL_H 011110 010 01 ..... ..... ..... 001101 @wdwswt
SRL_W 011110 010 10 ..... ..... ..... 001101 @wdwswt
SRL_D 011110 010 11 ..... ..... ..... 001101 @wdwswt
SRLI_B 011110 010 1110... ..... ..... 001001 @wdwsu3
SRLI_H 011110 010 110.... ..... ..... 001001 @wdwsu4
SRLI_W 011110 010 10..... ..... ..... 001001 @wdwsu5
SRLI_D 011110 010 0...... ..... ..... 001001 @wdwsu6
SRLR_B 011110 010 00 ..... ..... ..... 010101 @wdwswt
SRLR_H 011110 010 01 ..... ..... ..... 010101 @wdwswt
SRLR_W 011110 010 10 ..... ..... ..... 010101 @wdwswt
SRLR_D 011110 010 11 ..... ..... ..... 010101 @wdwswt
SRLRI_B 011110 011 1110... ..... ..... 001010 @wdwsu3
SRLRI_H 011110 011 110.... ..... ..... 001010 @wdwsu4
SRLRI_W 011110 011 10..... ..... ..... 001010 @wdwsu5
SRLRI_D 011110 011 0...... ..... ..... 001010 @wdwsu6
XOR_V 011110 00011...............011110 @wdwswt
XORI_B 011110 11..................000000 @wdwsu8
FADD_W 011110 0000 0 ..... ..... ..... 011011 @wdwswt
FADD_D 011110 0000 1 ..... ..... ..... 011011 @wdwswt
FDIV_W 011110 0011 0 ..... ..... ..... 011011 @wdwswt
FDIV_D 011110 0011 1 ..... ..... ..... 011011 @wdwswt
FEXP2_W 011110 0111 0 ..... ..... ..... 011011 @wdwswt
FEXP2_D 011110 0111 1 ..... ..... ..... 011011 @wdwswt
FLOG2_W 011110 110010111 0 ..... ..... 011110 @wdws
FLOG2_D 011110 110010111 1 ..... ..... 011110 @wdws
FMADD_W 011110 0100 0 ..... ..... ..... 011011 @wdwswt
FMADD_D 011110 0100 1 ..... ..... ..... 011011 @wdwswt
FMAX_W 011110 1110 0 ..... ..... ..... 011011 @wdwswt
FMAX_D 011110 1110 1 ..... ..... ..... 011011 @wdwswt
FMAX_A_W 011110 1111 0 ..... ..... ..... 011011 @wdwswt
FMAX_A_D 011110 1111 1 ..... ..... ..... 011011 @wdwswt
FMIN_W 011110 1100 0 ..... ..... ..... 011011 @wdwswt
FMIN_D 011110 1100 1 ..... ..... ..... 011011 @wdwswt
FMIN_A_W 011110 1101 0 ..... ..... ..... 011011 @wdwswt
FMIN_A_D 011110 1101 1 ..... ..... ..... 011011 @wdwswt
FMSUB_W 011110 0101 0 ..... ..... ..... 011011 @wdwswt
FMSUB_D 011110 0101 1 ..... ..... ..... 011011 @wdwswt
FMUL_W 011110 0010 0 ..... ..... ..... 011011 @wdwswt
FMUL_D 011110 0010 1 ..... ..... ..... 011011 @wdwswt
FRCP_W 011110 110010101 0 ..... ..... 011110 @wdws
FRCP_D 011110 110010101 1 ..... ..... 011110 @wdws
FRINT_W 011110 110010110 0 ..... ..... 011110 @wdws
FRINT_D 011110 110010110 1 ..... ..... 011110 @wdws
FRSQRT_W 011110 110010100 0 ..... ..... 011110 @wdws
FRSQRT_D 011110 110010100 1 ..... ..... 011110 @wdws
FSQRT_W 011110 110010011 0 ..... ..... 011110 @wdws
FSQRT_D 011110 110010011 1 ..... ..... 011110 @wdws
FSUB_W 011110 0001 0 ..... ..... ..... 011011 @wdwswt
FSUB_D 011110 0001 1 ..... ..... ..... 011011 @wdwswt
FCLASS_W 011110 110010000 0 ..... ..... 011110 @wdws
FCLASS_D 011110 110010000 1 ..... ..... 011110 @wdws
FCAF_W 011110 0000 0 ..... ..... ..... 011010 @wdwswt
FCAF_D 011110 0000 1 ..... ..... ..... 011010 @wdwswt
FCEQ_W 011110 0010 0 ..... ..... ..... 011010 @wdwswt
FCEQ_D 011110 0010 1 ..... ..... ..... 011010 @wdwswt
FCOR_W 011110 0001 0 ..... ..... ..... 011100 @wdwswt
FCOR_D 011110 0001 1 ..... ..... ..... 011100 @wdwswt
FCUEQ_W 011110 0011 0 ..... ..... ..... 011010 @wdwswt
FCUEQ_D 011110 0011 1 ..... ..... ..... 011010 @wdwswt
FCULT_W 011110 0101 0 ..... ..... ..... 011010 @wdwswt
FCULT_D 011110 0101 1 ..... ..... ..... 011010 @wdwswt
FCULE_W 011110 0111 0 ..... ..... ..... 011010 @wdwswt
FCULE_D 011110 0111 1 ..... ..... ..... 011010 @wdwswt
FCUNE_W 011110 0010 0 ..... ..... ..... 011100 @wdwswt
FCUNE_D 011110 0010 1 ..... ..... ..... 011100 @wdwswt
FCLE_W 011110 0110 0 ..... ..... ..... 011010 @wdwswt
FCLE_D 011110 0110 1 ..... ..... ..... 011010 @wdwswt
FCLT_W 011110 0100 0 ..... ..... ..... 011010 @wdwswt
FCLT_D 011110 0100 1 ..... ..... ..... 011010 @wdwswt
FCNE_W 011110 0011 0 ..... ..... ..... 011100 @wdwswt
FCNE_D 011110 0011 1 ..... ..... ..... 011100 @wdwswt
FCUN_W 011110 0001 0 ..... ..... ..... 011010 @wdwswt
FCUN_D 011110 0001 1 ..... ..... ..... 011010 @wdwswt
FSEQ_W 011110 1010 0 ..... ..... ..... 011010 @wdwswt
FSEQ_D 011110 1010 1 ..... ..... ..... 011010 @wdwswt
FSLE_W 011110 1110 0 ..... ..... ..... 011010 @wdwswt
FSLE_D 011110 1110 1 ..... ..... ..... 011010 @wdwswt
FSLT_W 011110 1100 0 ..... ..... ..... 011010 @wdwswt
FSLT_D 011110 1100 1 ..... ..... ..... 011010 @wdwswt
FSNE_W 011110 1011 0 ..... ..... ..... 011100 @wdwswt
FSNE_D 011110 1011 1 ..... ..... ..... 011100 @wdwswt
FSOR_W 011110 1001 0 ..... ..... ..... 011100 @wdwswt
FSOR_D 011110 1001 1 ..... ..... ..... 011100 @wdwswt
FSUEQ_W 011110 1011 0 ..... ..... ..... 011010 @wdwswt
FSUEQ_D 011110 1011 1 ..... ..... ..... 011010 @wdwswt
FSULE_W 011110 1111 0 ..... ..... ..... 011010 @wdwswt
FSULE_D 011110 1111 1 ..... ..... ..... 011010 @wdwswt
FSULT_W 011110 1101 0 ..... ..... ..... 011010 @wdwswt
FSULT_D 011110 1101 1 ..... ..... ..... 011010 @wdwswt
FSAF_W 011110 1000 0 ..... ..... ..... 011010 @wdwswt
FSAF_D 011110 1000 1 ..... ..... ..... 011010 @wdwswt
FSUN_W 011110 1001 0 ..... ..... ..... 011010 @wdwswt
FSUN_D 011110 1001 1 ..... ..... ..... 011010 @wdwswt
FSUNE_W 011110 1010 0 ..... ..... ..... 011100 @wdwswt
FSUNE_D 011110 1010 1 ..... ..... ..... 011100 @wdwswt
FEXDO_H 011110 1000 0 ..... ..... ..... 011011 @wdwswt
FEXDO_W 011110 1000 1 ..... ..... ..... 011011 @wdwswt
FEXUPL_W 011110 110011000 0 ..... ..... 011110 @wdws
FEXUPL_D 011110 110011000 1 ..... ..... 011110 @wdws
FEXUPR_W 011110 110011001 0 ..... ..... 011110 @wdws
FEXUPR_D 011110 110011001 1 ..... ..... 011110 @wdws
FFINT_S_W 011110 110011110 0 ..... ..... 011110 @wdws
FFINT_S_D 011110 110011110 1 ..... ..... 011110 @wdws
FFINT_U_W 011110 110011111 0 ..... ..... 011110 @wdws
FFINT_U_D 011110 110011111 1 ..... ..... 011110 @wdws
FFQL_W 011110 110011010 0 ..... ..... 011110 @wdws
FFQL_D 011110 110011010 1 ..... ..... 011110 @wdws
FFQR_W 011110 110011011 0 ..... ..... 011110 @wdws
FFQR_D 011110 110011011 1 ..... ..... 011110 @wdws
FTINT_S_W 011110 110011100 0 ..... ..... 011110 @wdws
FTINT_S_D 011110 110011100 1 ..... ..... 011110 @wdws
FTINT_U_W 011110 110011101 0 ..... ..... 011110 @wdws
FTINT_U_D 011110 110011101 1 ..... ..... 011110 @wdws
FTQ_H 011110 1010 0 ..... ..... ..... 011011 @wdwswt
FTQ_W 011110 1010 1 ..... ..... ..... 011011 @wdwswt
FTRUNC_S_W 011110 110010001 0 ..... ..... 011110 @wdws
FTRUNC_S_D 011110 110010001 1 ..... ..... 011110 @wdws
FTRUNC_U_W 011110 110010010 0 ..... ..... 011110 @wdws
FTRUNC_U_D 011110 110010010 1 ..... ..... 011110 @wdws
MADD_Q_H 011110 0101 0 ..... ..... ..... 011100 @wdwswt
MADD_Q_W 011110 0101 1 ..... ..... ..... 011100 @wdwswt
MADDR_Q_H 011110 1101 0 ..... ..... ..... 011100 @wdwswt
MADDR_Q_W 011110 1101 1 ..... ..... ..... 011100 @wdwswt
MSUB_Q_H 011110 0110 0 ..... ..... ..... 011100 @wdwswt
MSUB_Q_W 011110 0110 1 ..... ..... ..... 011100 @wdwswt
MSUBR_Q_H 011110 1110 0 ..... ..... ..... 011100 @wdwswt
MSUBR_Q_W 011110 1110 1 ..... ..... ..... 011100 @wdwswt
MUL_Q_H 011110 0100 0 ..... ..... ..... 011100 @wdwswt
MUL_Q_W 011110 0100 1 ..... ..... ..... 011100 @wdwswt
MULR_Q_H 011110 1100 0 ..... ..... ..... 011100 @wdwswt
MULR_Q_W 011110 1100 1 ..... ..... ..... 011100 @wdwswt
BNZ_B 010001 111 00 ..... ................ @wtpc_s16_2
BNZ_H 010001 111 01 ..... ................ @wtpc_s16_2
BNZ_W 010001 111 10 ..... ................ @wtpc_s16_2
BNZ_D 010001 111 11 ..... ................ @wtpc_s16_2
BNZ_V 010001 01111..... ................ @wtpc_s16_2
BZ_B 010001 110 00 ..... ................ @wtpc_s16_2
BZ_H 010001 110 01 ..... ................ @wtpc_s16_2
BZ_W 010001 110 10 ..... ................ @wtpc_s16_2
BZ_D 010001 110 11 ..... ................ @wtpc_s16_2
BZ_V 010001 01011..... ................ @wtpc_s16_2
CEQ_B 011110 000 00 ..... ..... ..... 001111 @wdwswt
CEQ_H 011110 000 01 ..... ..... ..... 001111 @wdwswt
CEQ_W 011110 000 10 ..... ..... ..... 001111 @wdwswt
CEQ_D 011110 000 11 ..... ..... ..... 001111 @wdwswt
CEQI_B 011110 000 00 ..... ..... ..... 000111 @wdwss5
CEQI_H 011110 000 01 ..... ..... ..... 000111 @wdwss5
CEQI_W 011110 000 10 ..... ..... ..... 000111 @wdwss5
CEQI_D 011110 000 11 ..... ..... ..... 000111 @wdwss5
CLE_S_B 011110 100 00 ..... ..... ..... 001111 @wdwswt
CLE_S_H 011110 100 01 ..... ..... ..... 001111 @wdwswt
CLE_S_W 011110 100 10 ..... ..... ..... 001111 @wdwswt
CLE_S_D 011110 100 11 ..... ..... ..... 001111 @wdwswt
CLE_U_B 011110 101 00 ..... ..... ..... 001111 @wdwswt
CLE_U_H 011110 101 01 ..... ..... ..... 001111 @wdwswt
CLE_U_W 011110 101 10 ..... ..... ..... 001111 @wdwswt
CLE_U_D 011110 101 11 ..... ..... ..... 001111 @wdwswt
CLEI_S_B 011110 100 00 ..... ..... ..... 000111 @wdwss5
CLEI_S_H 011110 100 01 ..... ..... ..... 000111 @wdwss5
CLEI_S_W 011110 100 10 ..... ..... ..... 000111 @wdwss5
CLEI_S_D 011110 100 11 ..... ..... ..... 000111 @wdwss5
CLEI_U_B 011110 101 00 ..... ..... ..... 000111 @wdwsu5
CLEI_U_H 011110 101 01 ..... ..... ..... 000111 @wdwsu5
CLEI_U_W 011110 101 10 ..... ..... ..... 000111 @wdwsu5
CLEI_U_D 011110 101 11 ..... ..... ..... 000111 @wdwsu5
CLT_S_B 011110 010 00 ..... ..... ..... 001111 @wdwswt
CLT_S_H 011110 010 01 ..... ..... ..... 001111 @wdwswt
CLT_S_W 011110 010 10 ..... ..... ..... 001111 @wdwswt
CLT_S_D 011110 010 11 ..... ..... ..... 001111 @wdwswt
CLT_U_B 011110 011 00 ..... ..... ..... 001111 @wdwswt
CLT_U_H 011110 011 01 ..... ..... ..... 001111 @wdwswt
CLT_U_W 011110 011 10 ..... ..... ..... 001111 @wdwswt
CLT_U_D 011110 011 11 ..... ..... ..... 001111 @wdwswt
CLTI_S_B 011110 010 00 ..... ..... ..... 000111 @wdwss5
CLTI_S_H 011110 010 01 ..... ..... ..... 000111 @wdwss5
CLTI_S_W 011110 010 10 ..... ..... ..... 000111 @wdwss5
CLTI_S_D 011110 010 11 ..... ..... ..... 000111 @wdwss5
CLTI_U_B 011110 011 00 ..... ..... ..... 000111 @wdwsu5
CLTI_U_H 011110 011 01 ..... ..... ..... 000111 @wdwsu5
CLTI_U_W 011110 011 10 ..... ..... ..... 000111 @wdwsu5
CLTI_U_D 011110 011 11 ..... ..... ..... 000111 @wdwsu5
CFCMSA 011110 0001111110 ..... ..... 011001 @wdws
COPY_S_B 011110 0010 00.... ..... ..... 011001 @wdwsu4
COPY_S_H 011110 0010 100... ..... ..... 011001 @wdwsu3
COPY_S_W 011110 0010 1100.. ..... ..... 011001 @wdwsu2
COPY_S_D 011110 0010 11100. ..... ..... 011001 @wdwsu1
COPY_U_B 011110 0011 00.... ..... ..... 011001 @wdwsu4
COPY_U_H 011110 0011 100... ..... ..... 011001 @wdwsu3
COPY_U_W 011110 0011 1100.. ..... ..... 011001 @wdwsu2
COPY_U_D 011110 0011 11100. ..... ..... 011001 @wdwsu1
CTCMSA 011110 0000111110 ..... ..... 011001 @wdws
FILL_B 011110 11000000 00 ..... ..... 011110 @wdws
FILL_H 011110 11000000 01 ..... ..... 011110 @wdws
FILL_W 011110 11000000 10 ..... ..... 011110 @wdws
FILL_D 011110 11000000 11 ..... ..... 011110 @wdws
INSERT_B 011110 0100 00.... ..... ..... 011001 @wdwsu4
INSERT_H 011110 0100 100... ..... ..... 011001 @wdwsu3
INSERT_W 011110 0100 1100.. ..... ..... 011001 @wdwsu2
INSERT_D 011110 0100 11100. ..... ..... 011001 @wdwsu1
INSVE_B 011110 0101 00.... ..... ..... 011001 @wdwsu4
INSVE_H 011110 0101 100... ..... ..... 011001 @wdwsu3
INSVE_W 011110 0101 1100.. ..... ..... 011001 @wdwsu2
INSVE_D 011110 0101 11100. ..... ..... 011001 @wdwsu1
LD_B 011110 .......... ..... ..... 1000 00 @wdwss10
LD_H 011110 .......... ..... ..... 1000 01 @wdwss10
LD_W 011110 .......... ..... ..... 1000 10 @wdwss10
LD_D 011110 .......... ..... ..... 1000 11 @wdwss10
LDI_B 011110 110 00 ..... ..... ..... 000111 @wds10_2
LDI_H 011110 110 01 ..... ..... ..... 000111 @wds10_2
LDI_W 011110 110 10 ..... ..... ..... 000111 @wds10_2
LDI_D 011110 110 11 ..... ..... ..... 000111 @wds10_2
MOVE_V 011110 0010111110 ..... ..... 011001 @wdws
SPLAT_B 011110 001 00 ..... ..... ..... 010100 @wdwsrt
SPLAT_H 011110 001 01 ..... ..... ..... 010100 @wdwsrt
SPLAT_W 011110 001 10 ..... ..... ..... 010100 @wdwsrt
SPLAT_D 011110 001 11 ..... ..... ..... 010100 @wdwsrt
SPLATI_B 011110 0001 00.... ..... ..... 011001 @wdwsu4
SPLATI_H 011110 0001 100... ..... ..... 011001 @wdwsu3
SPLATI_W 011110 0001 1100.. ..... ..... 011001 @wdwsu2
SPLATI_D 011110 0001 11100. ..... ..... 011001 @wdwsu1
ST_B 011110 .......... ..... ..... 1001 00 @wdwss10
ST_H 011110 .......... ..... ..... 1001 01 @wdwss10
ST_W 011110 .......... ..... ..... 1001 10 @wdwss10
ST_D 011110 .......... ..... ..... 1001 11 @wdwss10
ILVEV_B 011110 110 00 ..... ..... ..... 010100 @wdwswt
ILVEV_H 011110 110 01 ..... ..... ..... 010100 @wdwswt
ILVEV_W 011110 110 10 ..... ..... ..... 010100 @wdwswt
ILVEV_D 011110 110 11 ..... ..... ..... 010100 @wdwswt
ILVL_B 011110 100 00 ..... ..... ..... 010100 @wdwswt
ILVL_H 011110 100 01 ..... ..... ..... 010100 @wdwswt
ILVL_W 011110 100 10 ..... ..... ..... 010100 @wdwswt
ILVL_D 011110 100 11 ..... ..... ..... 010100 @wdwswt
ILVOD_B 011110 111 00 ..... ..... ..... 010100 @wdwswt
ILVOD_H 011110 111 01 ..... ..... ..... 010100 @wdwswt
ILVOD_W 011110 111 10 ..... ..... ..... 010100 @wdwswt
ILVOD_D 011110 111 11 ..... ..... ..... 010100 @wdwswt
ILVR_B 011110 101 00 ..... ..... ..... 010100 @wdwswt
ILVR_H 011110 101 01 ..... ..... ..... 010100 @wdwswt
ILVR_W 011110 101 10 ..... ..... ..... 010100 @wdwswt
ILVR_D 011110 101 11 ..... ..... ..... 010100 @wdwswt
PCKEV_B 011110 010 00 ..... ..... ..... 010100 @wdwswt
PCKEV_H 011110 010 01 ..... ..... ..... 010100 @wdwswt
PCKEV_W 011110 010 10 ..... ..... ..... 010100 @wdwswt
PCKEV_D 011110 010 11 ..... ..... ..... 010100 @wdwswt
PCKOD_B 011110 011 00 ..... ..... ..... 010100 @wdwswt
PCKOD_H 011110 011 01 ..... ..... ..... 010100 @wdwswt
PCKOD_W 011110 011 10 ..... ..... ..... 010100 @wdwswt
PCKOD_D 011110 011 11 ..... ..... ..... 010100 @wdwswt
SHF_B 011110 00 ........ ..... ..... 000010 @wdwsu8
SHF_H 011110 01 ........ ..... ..... 000010 @wdwsu8
SHF_W 011110 10 ........ ..... ..... 000010 @wdwsu8
SLD_B 011110 000 00 ..... ..... ..... 010100 @wdwsrt
SLD_H 011110 000 01 ..... ..... ..... 010100 @wdwsrt
SLD_W 011110 000 10 ..... ..... ..... 010100 @wdwsrt
SLD_D 011110 000 11 ..... ..... ..... 010100 @wdwsrt
SLDI_B 011110 0000 00.... ..... ..... 011001 @wdwsu4
SLDI_H 011110 0000 100... ..... ..... 011001 @wdwsu3
SLDI_W 011110 0000 1100.. ..... ..... 011001 @wdwsu2
SLDI_D 011110 0000 11100. ..... ..... 011001 @wdwsu1
VSHF_B 011110 000 00 ..... ..... ..... 010101 @wdwswt
VSHF_H 011110 000 01 ..... ..... ..... 010101 @wdwswt
VSHF_W 011110 000 10 ..... ..... ..... 010101 @wdwswt
VSHF_D 011110 000 11 ..... ..... ..... 010101 @wdwswt
# Release6(R6) instructions
ADDIUPC 111011 .....00................... @rspc_s19_2
AUIPC 111011 .....11110................ @rspc_s16_16
ALUIPC 111011 .....11111................ @rspc_s16_16
MOD 000000 ...............00011011010 @rdrsrt
MODU 000000 ...............00011011011 @rdrsrt
MUH 000000 ...............00011011000 @rdrsrt
MULU 000000 ...............00010011001 @rdrsrt
MUHU 000000 ...............00011011001 @rdrsrt
ALIGN 011111 ...............010..100000 @rdrsrtsa2
DALIGN 011111 ...............01...100100 @rdrsrtsa3
BITSWAP 011111 00000..........00000100000 @rdrt
DBITSWAP 011111 00000..........00000100100 @rdrt
BLEZC 010110 00000..................... @rsrtpc_s16_2
BGEZC 010110 .......................... @rsrtpc_s16_2
BGTZC 010111 00000..................... @rsrtpc_s16_2
BLTZC 010111 .......................... @rsrtpc_s16_2
BLEZALC 000110 00000..................... @rsrtpc_s16_2
BGEZALC 000110 .......................... @rsrtpc_s16_2
BGTZALC 000111 00000..................... @rsrtpc_s16_2
BLTZALC 000111 .......................... @rsrtpc_s16_2
AUI 001111 .......................... @rspc_s16_16
SELEQZ 000000 ...............00000110101 @rdrsrt
SELNEZ 000000 ...............00000110111 @rdrsrt
MADDF_S 010001 10000...............011000 @fdfsft
MADDF_D 010001 10001...............011000 @fdfsft
MSUBF_S 010001 10000...............011001 @fdfsft
MSUBF_D 010001 10001...............011001 @fdfsft
BC1EQZ 010001 01001..................... @ftpc_s16_2
BC1NEZ 010001 01101..................... @ftpc_s16_2
CMP_AF_S 010001 10100...............000000 @fdfsftfcond6
CMP_AF_D 010001 10101...............000000 @fdfsftfcond6
CMP_EQ_S 010001 10100...............000010 @fdfsftfcond6
CMP_EQ_D 010001 10101...............000010 @fdfsftfcond6
CMP_LE_S 010001 10100...............000110 @fdfsftfcond6
CMP_LE_D 010001 10101...............000110 @fdfsftfcond6
CMP_LT_S 010001 10100...............000100 @fdfsftfcond6
CMP_LT_D 010001 10101...............000100 @fdfsftfcond6
CMP_NE_S 010001 10100...............010011 @fdfsftfcond6
CMP_NE_D 010001 10101...............010011 @fdfsftfcond6
CMP_OR_S 010001 10100...............010001 @fdfsftfcond6
CMP_OR_D 010001 10101...............010001 @fdfsftfcond6
CMP_UEQ_S 010001 10100...............000011 @fdfsftfcond6
CMP_UEQ_D 010001 10101...............000011 @fdfsftfcond6
CMP_ULE_S 010001 10100...............000111 @fdfsftfcond6
CMP_ULE_D 010001 10101...............000111 @fdfsftfcond6
CMP_ULT_S 010001 10100...............000101 @fdfsftfcond6
CMP_ULT_D 010001 10101...............000101 @fdfsftfcond6
CMP_UN_S 010001 10100...............000001 @fdfsftfcond6
CMP_UN_D 010001 10101...............000001 @fdfsftfcond6
CMP_UNE_S 010001 10100...............010010 @fdfsftfcond6
CMP_UNE_D 010001 10101...............010010 @fdfsftfcond6
CMP_SAF_S 010001 10100...............001000 @fdfsftfcond6
CMP_SAF_D 010001 10101...............001000 @fdfsftfcond6
CMP_SEQ_S 010001 10100...............001010 @fdfsftfcond6
CMP_SEQ_D 010001 10101...............001010 @fdfsftfcond6
CMP_SLE_S 010001 10100...............001110 @fdfsftfcond6
CMP_SLE_D 010001 10101...............001110 @fdfsftfcond6
CMP_SLT_S 010001 10100...............001100 @fdfsftfcond6
CMP_SLT_D 010001 10101...............001100 @fdfsftfcond6
CMP_SNE_S 010001 10100...............011011 @fdfsftfcond6
CMP_SNE_D 010001 10101...............011011 @fdfsftfcond6
CMP_SOR_S 010001 10100...............011001 @fdfsftfcond6
CMP_SOR_D 010001 10101...............011001 @fdfsftfcond6
CMP_SUEQ_S 010001 10100...............001011 @fdfsftfcond6
CMP_SUEQ_D 010001 10101...............001011 @fdfsftfcond6
CMP_SULE_S 010001 10100...............001111 @fdfsftfcond6
CMP_SULE_D 010001 10101...............001111 @fdfsftfcond6
CMP_SULT_S 010001 10100...............001101 @fdfsftfcond6
CMP_SULT_D 010001 10101...............001101 @fdfsftfcond6
CMP_SUN_S 010001 10100...............001001 @fdfsftfcond6
CMP_SUN_D 010001 10101...............001001 @fdfsftfcond6
CMP_SUNE_S 010001 10100...............011010 @fdfsftfcond6
CMP_SUNE_D 010001 10101...............011010 @fdfsftfcond6
RINT_S 010001 1000000000..........011010 @fdfs
RINT_D 010001 1000100000..........011010 @fdfs
CLASS_S 010001 1000000000..........011011 @fdfs
CLASS_D 010001 1000100000..........011011 @fdfs
MIN_S 010001 10000...............011100 @fdfsft
MIN_D 010001 10001...............011100 @fdfsft
MAX_S 010001 10000...............011110 @fdfsft
MAX_D 010001 10001...............011110 @fdfsft
MINA_S 010001 10000...............011101 @fdfsft
MINA_D 010001 10001...............011101 @fdfsft
MAXA_S 010001 10000...............011111 @fdfsft
MAXA_D 010001 10001...............011111 @fdfsft
SEL_S 010001 10000...............010000 @fdfsft
SEL_D 010001 10001...............010000 @fdfsft
SELEQZ_S 010001 10000...............010100 @fdfsft
SELEQZ_D 010001 10001...............010100 @fdfsft
SELNEZ_S 010001 10000...............010111 @fdfsft
SELNEZ_D 010001 10001...............010111 @fdfsft
BC2EQZ 010010 01001..................... @rtpc_s16_2
BC2NEZ 010010 01101..................... @rtpc_s16_2
DAHI 000001 .....00110................ @rss16
DATI 000001 .....11110................ @rss16
DMOD 000000 ...............00011011110 @rdrsrt
DMODU 000000 ...............00011011111 @rdrsrt
DMUL 000000 ...............00010011100 @rsrt
DMUH 000000 ...............00011011100 @rdrsrt
DMULU 000000 ...............00010011101 @rdrsrt
DMUHU 000000 ...............00011011101 @rdrsrt
LLWP 011111 ...............00001 110110 @rtrdrs
LLWPE 011111 ...............00001 101110 @rtrdrs
SCWP 011111 ...............00001 100110 @rtrdrs
SCWPE 011111 ...............00001 011110 @rtrdrs
// instructions removed/moved in R6
ADDI 001000 .......................... @rtrss16
CLO 011100 ...............00000100001 @rdrsrt
CLZ 011100 ...............00000100000 @rdrsrt
DIV 000000 ..........0000000000011010 @rsrt
DIVU 000000 ..........0000000000011011 @rsrt
MUL 011100 ...............00000000010 @rdrsrt
BGEZAL 000001 .....10001................ @rspc_s16_2
BLTZAL 000001 .....10000................ @rspc_s16_2
JALX 011101 .......................... @pc_u26_2
JALR 000000 .....00000..........001001 @rdrs
JALR_HB 000000 .....00000.....1....001001 @rdrs
JR 000000 .....0000000000.....001000 @rs
JR_HB 000000 .....00000000001....001000 @rs
LL 110000 .......................... @rtrss16
LWL 100010 .......................... @rtrss16
LWR 100110 .......................... @rtrss16
PREF 110011 .......................... @rtrss16
SC 111000 .......................... @rtrss16
SWL 101010 .......................... @rtrss16
SWR 101110 .......................... @rtrss16
LWLE 011111 ....................011001 @rtrss9
LWRE 011111 ....................011010 @rtrss9
SWLE 011111 ....................100001 @rtrss9
SWRE 011111 ....................100010 @rtrss9
MOVF 000000 ........00.....00000000001 @rdrscc
MOVN 000000 ...............00000001011 @rdrsrt
MOVT 000000 ........01.....00000000001 @rdrscc
MOVZ 000000 ...............00000001010 @rdrsrt
TEQI 000001 .....01100................ @rss16
TGEI 000001 .....01000................ @rss16
TGEIU 000001 .....01001................ @rss16
TLTI 000001 .....01010................ @rss16
TLTIU 000001 .....01011................ @rss16
TNEI 000001 .....01110................ @rss16
BEQL 010100 .......................... @rsrtpc_s16_2
BEQZL 010100 .....00000................ @rspc_s16_2
BGEZALL 000001 .....10011................ @rspc_s16_2
BGEZL 000001 .....00011................ @rspc_s16_2
BGTZL 010111 .....00000................ @rspc_s16_2
BLEZL 010110 .....00000................ @rspc_s16_2
BLTZALL 000001 .....10010................ @rspc_s16_2
BLTZL 000001 .....00010................ @rspc_s16_2
BNEL 010101 .......................... @rsrtpc_s16_2
BNEZL 010101 .....00000................ @rspc_s16_2
ABS_PS 010001 1011000000..........000101 @fdfs
ADD_PS 010001 10110...............000000 @fdfsft
MADD_S 010011 ....................100000 @fdfrfsft
MADD_D 010011 ....................100001 @fdfrfsft
MADD_PS 010011 ....................100110 @fdfrfsft
MSUB_S 010011 ....................101000 @fdfrfsft
MSUB_D 010011 ....................101001 @fdfrfsft
MSUB_PS 010011 ....................101110 @fdfrfsft
MUL_PS 010001 10110...............000010 @fdfsft
NEG_PS 010001 1011000000..........000111 @fdfs
NMADD_S 010011 ....................110000 @fdfrfsft
NMADD_D 010011 ....................110001 @fdfrfsft
NMADD_PS 010011 ....................110110 @fdfrfsft
NMSUB_S 010011 ....................111000 @fdfrfsft
NMSUB_D 010011 ....................111001 @fdfrfsft
NMSUB_PS 010011 ....................111110 @fdfrfsft
SUB_PS 010001 10110...............000001 @fdfsft
BC1F 010001 01000...00................ @ccpc_s16_2
BC1T 010001 01000...01................ @ccpc_s16_2
C_F_S 010001 10000.............00110000 @fccfsftfcond
C_F_D 010001 10001.............00110000 @fccfsftfcond
C_F_PS 010001 10110.............00110000 @fccfsftfcond
C_UN_S 010001 10000.............00110001 @fccfsftfcond
C_UN_D 010001 10001.............00110001 @fccfsftfcond
C_UN_PS 010001 10110.............00110001 @fccfsftfcond
C_EQ_S 010001 10000.............00110010 @fccfsftfcond
C_EQ_D 010001 10001.............00110010 @fccfsftfcond
C_EQ_PS 010001 10110.............00110010 @fccfsftfcond
C_UEQ_S 010001 10000.............00110011 @fccfsftfcond
C_UEQ_D 010001 10001.............00110011 @fccfsftfcond
C_UEQ_PS 010001 10110.............00110011 @fccfsftfcond
C_OLT_S 010001 10000.............00110100 @fccfsftfcond
C_OLT_D 010001 10001.............00110100 @fccfsftfcond
C_OLT_PS 010001 10110.............00110100 @fccfsftfcond
C_ULT_S 010001 10000.............00110101 @fccfsftfcond
C_ULT_D 010001 10001.............00110101 @fccfsftfcond
C_ULT_PS 010001 10110.............00110101 @fccfsftfcond
C_OLE_S 010001 10000.............00110110 @fccfsftfcond
C_OLE_D 010001 10001.............00110110 @fccfsftfcond
C_OLE_PS 010001 10110.............00110110 @fccfsftfcond
C_ULE_S 010001 10000.............00110111 @fccfsftfcond
C_ULE_D 010001 10001.............00110111 @fccfsftfcond
C_ULE_PS 010001 10110.............00110111 @fccfsftfcond
C_SF_S 010001 10000.............00111000 @fccfsftfcond
C_SF_D 010001 10001.............00111000 @fccfsftfcond
C_SF_PS 010001 10110.............00111000 @fccfsftfcond
C_NGLE_S 010001 10000.............00111001 @fccfsftfcond
C_NGLE_D 010001 10001.............00111001 @fccfsftfcond
C_NGLE_PS 010001 10110.............00111001 @fccfsftfcond
C_SEQ_S 010001 10000.............00111010 @fccfsftfcond
C_SEQ_D 010001 10001.............00111010 @fccfsftfcond
C_SEQ_PS 010001 10110.............00111010 @fccfsftfcond
C_NGL_S 010001 10000.............00111011 @fccfsftfcond
C_NGL_D 010001 10001.............00111011 @fccfsftfcond
C_NGL_PS 010001 10110.............00111011 @fccfsftfcond
C_LT_S 010001 10000.............00111100 @fccfsftfcond
C_LT_D 010001 10001.............00111100 @fccfsftfcond
C_LT_PS 010001 10110.............00111100 @fccfsftfcond
C_NGE_S 010001 10000.............00111101 @fccfsftfcond
C_NGE_D 010001 10001.............00111101 @fccfsftfcond
C_NGE_PS 010001 10110.............00111101 @fccfsftfcond
C_LE_S 010001 10000.............00111110 @fccfsftfcond
C_LE_D 010001 10001.............00111110 @fccfsftfcond
C_LE_PS 010001 10110.............00111110 @fccfsftfcond
C_NGT_S 010001 10000.............00111111 @fccfsftfcond
C_NGT_D 010001 10001.............00111111 @fccfsftfcond
C_NGT_PS 010001 10110.............00111111 @fccfsftfcond
ALNV_PS 010011 ....................011110 @fdfsftrs
CVT_PS_S 010001 10000...............100110 @fdfsft
PLL_PS 010001 10110...............101100 @fdfsft
PLU_PS 010001 10110...............101101 @fdfsft
PUL_PS 010001 10110...............101110 @fdfsft
PUU_PS 010001 10110...............101111 @fdfsft
LDXC1 010011 ..........00000.....000001 @fdrtrs
LUXC1 010011 ..........00000.....000101 @fdrtrs
LWXC1 010011 ..........00000.....000000 @fdrtrs
SDXC1 010011 ...............00000001001 @fsrtrs
SUXC1 010011 ...............00000001101 @fsrtrs
SWXC1 010011 ...............00000001000 @fsrtrs
MOV_PS 010001 1011000000..........000110 @fdfs
MOVF_S 010001 10000...00..........010001 @fdfscc
MOVF_D 010001 10001...00..........010001 @fdfscc
MOVF_PS 010001 10110...00..........010001 @fdfscc
MOVN_S 010001 10000...............010011 @fdfsrt
MOVN_D 010001 10001...............010011 @fdfsrt
MOVN_PS 010001 10110...............010011 @fdfsrt
MOVT_S 010001 10000...01..........010001 @fdfscc
MOVT_D 010001 10001...01..........010001 @fdfscc
MOVT_PS 010001 10110...01..........010001 @fdfscc
MOVZ_S 010001 10000...............010010 @fdfsrt
MOVZ_D 010001 10001...............010010 @fdfsrt
MOVZ_PS 010001 10110...............010010 @fdfsrt
BC1FL 010001 01000...10................ @ccpc_s16_2
BC1TL 010001 01000...11................ @ccpc_s16_2
BC2F 010010 01000...00................ @ccpc_s16_2
BC2T 010010 01000...01................ @ccpc_s16_2
LDC2 110110 .......................... @rtrss16
LWC2 110010 .......................... @rtrss16
SDC2 111110 .......................... @rtrss16
SWC2 111010 .......................... @rtrss16
BC2FL 010010 01000...10................ @ccpc_s16_2
BC2TL 010010 01000...11................ @ccpc_s16_2
CACHE 101111 .......................... @rtrss9
SDBBP 011100 ....................111111 @code20
DADDI 011000 .......................... @rtrss16
DCLO 011100 ...............00000100101 @rdrsrt
DCLZ 011100 ...............00000100100 @rdrsrt
DDIV 000000 ..........0000000000011110 @rsrt
DDIVU 000000 ..........0000000000011111 @rsrt
DMULT 000000 ..........0000000000011100 @rsrt
DMULTU 000000 ..........0000000000011101 @rsrt
LLD 110100 .......................... @rtrdrs
LDL 011010 .......................... @rtrss16
LDR 011011 .......................... @rtrss16
SCD 111100 .......................... @rtrdrs
SDL 101100 .......................... @rtrss16
SDR 101101 .......................... @rtrss16
# instructions with new encoding in R6
BOVC 001000 .......................... @rsrtpc_s16_2
BEQZALC 001000 00000..................... @rsrtpc_s16_2
BOVC 001000 0000000000................ @rsrtpc_s16_2
BNVC 011000 .......................... @rsrtpc_s16_2
BNEZALC 011000 00000..................... @rsrtpc_s16_2
BNVC 011000 0000000000................ @rsrtpc_s16_2
BC 110010 .......................... @pc_s26_2
BALC 111010 .......................... @pc_s26_2
BEQZC 110110 .......................... @rspc_s21_2
BNEZC 111110 .......................... @rspc_s21_2
BPOSGE32C 000001 0000011000................ @pc_s16_2
JIC 110110 00000..................... @rts16
JIALC 111110 00000..................... @rts16
NAL 000001 0000010000................ @rspc_s16_2
LWPC 111011 .....01................... @rspc_s19_2
LWUPC 111011 .....10................... @rspc_s19_2
LDPC 111011 .....110.................. @rspc_s18_3
CLO 000000 .....00000.....00001010001 @rdrsrt
CLZ 000000 .....00000.....00001010000 @rdrsrt
MUL 000000 ...............00010011000 @rdrsrt
DIV 000000 ...............00010011010 @rsrt
DIVU 000000 ...............00010011011 @rsrt
LL 011111 ...................0110110 @rtrss16
LLD 011111 ...................0110111 @rtrdrs
SC 011111 ...................0100110 @rtrss16
SCD 011111 ...................0100111 @rtrdrs
PREF 011111 ...................0110101 @rtrss16
LDC2 010010 01110..................... @rtrss16
LWC2 010010 01010..................... @rtrss16
SDC2 010010 01111..................... @rtrss16
SWC2 010010 01011..................... @rtrss16
CACHE 011111 ....................100101 @rtrss9
SDBBP 000000 ....................001110 @code20
DAUI 011101 .......................... @rtrsu16
DCLO 000000 .....00000.....00001010011 @rdrsrt
DCLZ 000000 .....00000.....00001010010 @rdrsrt
DDIV 000000 ...............00010011110 @rsrt
DDIVU 000000 ...............00010011111 @rsrt
JALR 000000 .....00000.....0....001001 @rdrs
JR_R6 000000 .....00000000000....001001 @rs
JALR_HB 000000 .....00000.....1....001001 @rdrs
JRHB_R6 000000 .....00000000001....001001 @rs
GINVI 011111 .....000000000000000111101 @rs
GINVT 011111 .....00000000000..10111101 @rssel8
GINVGT 011111 .....00000000000..11111101 @rssel8
CRC32_B 011111 ..... ..... 00000 000 00 001111 @rtrsrtsa2
CRC32_H 011111 ..... ..... 00000 000 01 001111 @rtrsrtsa2
CRC32_W 011111 ..... ..... 00000 000 10 001111 @rtrsrtsa2
CRC32_D 011111 ..... ..... 00000 000 11 001111 @rtrsrtsa2
CRC32C_B 011111 ..... ..... 00000 001 00 001111 @rtrsrtsa2
CRC32C_H 011111 ..... ..... 00000 001 01 001111 @rtrsrtsa2
CRC32C_W 011111 ..... ..... 00000 001 10 001111 @rtrsrtsa2
CRC32C_D 011111 ..... ..... 00000 001 11 001111 @rtrsrtsa2
# DSP Encodings
BPOSGE32 000001 .....11100................ @pc_s16_2
MADD 011100 ....................000000 @rsrt
MADDU 011100 ....................000001 @rsrt
MSUB 011100 ....................000100 @rsrt
MSUBU 011100 ....................000101 @rsrt
ABSQ_S_PH 011111 ....................010010 @rdrt
SHLL_QB 011111 ....................010011 @rdrtsadsp
LHX 011111 ....................001010 @rdrtrs
DPA_W_PH 011111 ....................110000 @rdrsrt
EXTR_W 011111 ....................111000 @rtrdsadsp
ADDUH_QB 011111 ....................011000 @rdrsrt
APPEND 011111 ....................110001 @rtrssadsp2
INSV 011111 ....................001100 @rtrs
ADDU_QB 011111 ....................010000 @rdrsrt
CMPU_EQ_QB 011111 ....................010001 @rsrt
MFHI 000000 ...............00000010000 @rd
MTHI 000000 ...............00000010001 @rs
MFLO 000000 ...............00000010010 @rd
MTLO 000000 ...............00000010011 @rs
MULT 000000 ...............00000011000 @rsrt
MULTU 000000 ...............00000011001 @rsrt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment