diff --git a/asdf.txt b/asdf.txt index e59fcc98..a0b48f81 100644 --- a/asdf.txt +++ b/asdf.txt @@ -15854,137 +15854,137 @@ Error on word '0xD3FF1001'. Expected 'vwbn.s S010, S400, 255', got '.word InstrIdType: 'R4000ALLEGREX_VFPU4_FMT3' gnuMode 'true' -Error on word '0xDC000000'. Expected 'vpfxs X, X, X, X', got '.word 0xDC000000 # INVALID $zero, $zero, 0x0 # 00000000 ' +Error on word '0xDC000000'. Expected 'vpfxs X, X, X, X', got 'vpfxs' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDC000001'. Expected 'vpfxs Y, X, X, X', got '.word 0xDC000001 # INVALID $zero, $zero, 0x1 # 00000000 ' +Error on word '0xDC000001'. Expected 'vpfxs Y, X, X, X', got '.word 0xDC000001 # vpfxs # 00000001 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDC000010'. Expected 'vpfxs X, X, Y, X', got '.word 0xDC000010 # INVALID $zero, $zero, 0x10 # 00000000 ' +Error on word '0xDC000010'. Expected 'vpfxs X, X, Y, X', got '.word 0xDC000010 # vpfxs # 00000010 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDC000100'. Expected 'vpfxs |X|, X, X, X', got '.word 0xDC000100 # INVALID $zero, $zero, 0x100 # 00000000 ' +Error on word '0xDC000100'. Expected 'vpfxs |X|, X, X, X', got '.word 0xDC000100 # vpfxs # 00000100 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDC001000'. Expected 'vpfxs 0, X, X, X', got '.word 0xDC001000 # INVALID $zero, $zero, 0x1000 # 00000000 ' +Error on word '0xDC001000'. Expected 'vpfxs 0, X, X, X', got '.word 0xDC001000 # vpfxs # 00001000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDC010000'. Expected 'vpfxs -X, X, X, X', got '.word 0xDC010000 # INVALID $zero, $at, 0x0 # 00000000 ' +Error on word '0xDC010000'. Expected 'vpfxs -X, X, X, X', got '.word 0xDC010000 # vpfxs # 00010000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDC100000'. Expected 'vpfxs X, X, X, X', got '.word 0xDC100000 # INVALID $zero, $s0, 0x0 # 00000000 ' +Error on word '0xDC100000'. Expected 'vpfxs X, X, X, X', got '.word 0xDC100000 # vpfxs # 00100000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDC800000'. Expected 'vpfxs X, X, X, X', got '.word 0xDC800000 # INVALID $a0, $zero, 0x0 # 00000000 ' +Error on word '0xDC800000'. Expected 'vpfxs X, X, X, X', got '.word 0xDC800000 # vpfxs # 00800000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDCF00000'. Expected 'vpfxs X, X, X, X', got '.word 0xDCF00000 # INVALID $a3, $s0, 0x0 # 00000000 ' +Error on word '0xDCF00000'. Expected 'vpfxs X, X, X, X', got '.word 0xDCF00000 # vpfxs # 00F00000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD000000'. Expected 'vpfxt X, X, X, X', got '.word 0xDD000000 # INVALID $t0, $zero, 0x0 # 00000000 ' +Error on word '0xDD000000'. Expected 'vpfxt X, X, X, X', got 'vpfxt' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD000001'. Expected 'vpfxt Y, X, X, X', got '.word 0xDD000001 # INVALID $t0, $zero, 0x1 # 00000000 ' +Error on word '0xDD000001'. Expected 'vpfxt Y, X, X, X', got '.word 0xDD000001 # vpfxt # 00000001 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD000010'. Expected 'vpfxt X, X, Y, X', got '.word 0xDD000010 # INVALID $t0, $zero, 0x10 # 00000000 ' +Error on word '0xDD000010'. Expected 'vpfxt X, X, Y, X', got '.word 0xDD000010 # vpfxt # 00000010 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD000100'. Expected 'vpfxt |X|, X, X, X', got '.word 0xDD000100 # INVALID $t0, $zero, 0x100 # 00000000 ' +Error on word '0xDD000100'. Expected 'vpfxt |X|, X, X, X', got '.word 0xDD000100 # vpfxt # 00000100 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD001000'. Expected 'vpfxt 0, X, X, X', got '.word 0xDD001000 # INVALID $t0, $zero, 0x1000 # 00000000 ' +Error on word '0xDD001000'. Expected 'vpfxt 0, X, X, X', got '.word 0xDD001000 # vpfxt # 00001000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD010000'. Expected 'vpfxt -X, X, X, X', got '.word 0xDD010000 # INVALID $t0, $at, 0x0 # 00000000 ' +Error on word '0xDD010000'. Expected 'vpfxt -X, X, X, X', got '.word 0xDD010000 # vpfxt # 00010000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD100000'. Expected 'vpfxt X, X, X, X', got '.word 0xDD100000 # INVALID $t0, $s0, 0x0 # 00000000 ' +Error on word '0xDD100000'. Expected 'vpfxt X, X, X, X', got '.word 0xDD100000 # vpfxt # 00100000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDD800000'. Expected 'vpfxt X, X, X, X', got '.word 0xDD800000 # INVALID $t4, $zero, 0x0 # 00000000 ' +Error on word '0xDD800000'. Expected 'vpfxt X, X, X, X', got '.word 0xDD800000 # vpfxt # 00800000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDDF00000'. Expected 'vpfxt X, X, X, X', got '.word 0xDDF00000 # INVALID $t7, $s0, 0x0 # 00000000 ' +Error on word '0xDDF00000'. Expected 'vpfxt X, X, X, X', got '.word 0xDDF00000 # vpfxt # 00F00000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE000000'. Expected 'vpfxd , , ,', got '.word 0xDE000000 # INVALID $s0, $zero, 0x0 # 00000000 ' +Error on word '0xDE000000'. Expected 'vpfxd , , ,', got 'vpfxd' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE000001'. Expected 'vpfxd 0, , ,', got '.word 0xDE000001 # INVALID $s0, $zero, 0x1 # 00000000 ' +Error on word '0xDE000001'. Expected 'vpfxd 0, , ,', got '.word 0xDE000001 # vpfxd # 00000001 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE000010'. Expected 'vpfxd , ,0 ,', got '.word 0xDE000010 # INVALID $s0, $zero, 0x10 # 00000000 ' +Error on word '0xDE000010'. Expected 'vpfxd , ,0 ,', got '.word 0xDE000010 # vpfxd # 00000010 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE000100'. Expected 'vpfxd M, , ,', got '.word 0xDE000100 # INVALID $s0, $zero, 0x100 # 00000000 ' +Error on word '0xDE000100'. Expected 'vpfxd M, , ,', got '.word 0xDE000100 # vpfxd # 00000100 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE001000'. Expected 'vpfxd , , ,', got '.word 0xDE001000 # INVALID $s0, $zero, 0x1000 # 00000000 ' +Error on word '0xDE001000'. Expected 'vpfxd , , ,', got '.word 0xDE001000 # vpfxd # 00001000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE010000'. Expected 'vpfxd , , ,', got '.word 0xDE010000 # INVALID $s0, $at, 0x0 # 00000000 ' +Error on word '0xDE010000'. Expected 'vpfxd , , ,', got '.word 0xDE010000 # vpfxd # 00010000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE100000'. Expected 'vpfxd , , ,', got '.word 0xDE100000 # INVALID $s0, $s0, 0x0 # 00000000 ' +Error on word '0xDE100000'. Expected 'vpfxd , , ,', got '.word 0xDE100000 # vpfxd # 00100000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDE800000'. Expected 'vpfxd , , ,', got '.word 0xDE800000 # INVALID $s4, $zero, 0x0 # 00000000 ' +Error on word '0xDE800000'. Expected 'vpfxd , , ,', got '.word 0xDE800000 # vpfxd # 00800000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' -Error on word '0xDEF00000'. Expected 'vpfxd , , ,', got '.word 0xDEF00000 # INVALID $s7, $s0, 0x0 # 00000000 ' +Error on word '0xDEF00000'. Expected 'vpfxd , , ,', got '.word 0xDEF00000 # vpfxd # 00F00000 ' File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c InstrIdType: 'R4000ALLEGREX_VFPU5' gnuMode 'true' @@ -16459,20 +16459,5 @@ Error on word '0xF3E390C0'. Expected 'vmidt.q M002', got '.word 0xF3E3 InstrIdType: 'R4000ALLEGREX_VFPU6_FMT7' gnuMode 'true' -Error on word '0xFFFF040D'. Expected 'vflush', got '.word 0xFFFF040D # INVALID $ra, $ra, 0x40D # 00000000 ' - File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c - InstrIdType: 'R4000ALLEGREX_VFPU7' - gnuMode 'true' - -Error on word '0xFFFF0000'. Expected 'vnop', got '.word 0xFFFF0000 # INVALID $ra, $ra, 0x0 # 00000000 ' - File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c - InstrIdType: 'R4000ALLEGREX_VFPU7' - gnuMode 'true' - -Error on word '0xFFFF0320'. Expected 'vsync', got '.word 0xFFFF0320 # INVALID $ra, $ra, 0x320 # 00000000 ' - File: tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c - InstrIdType: 'R4000ALLEGREX_VFPU7' - gnuMode 'true' - -tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c: 3294 errors out of 4773 entries. 30.99% correct. +tests/c/instruction_checks/r4000allegrex_vfpu_disasm.c: 3291 errors out of 4773 entries. 31.05% correct. diff --git a/cplusplus/include/generated/UniqueId_enum_class.hpp b/cplusplus/include/generated/UniqueId_enum_class.hpp index 48c3b206..19de82b3 100644 --- a/cplusplus/include/generated/UniqueId_enum_class.hpp +++ b/cplusplus/include/generated/UniqueId_enum_class.hpp @@ -710,8 +710,14 @@ enum class UniqueId { r4000allegrex_vcmovf_t, r4000allegrex_vcmovf_q, r4000allegrex_vwbn_s, + r4000allegrex_vpfxs, + r4000allegrex_vpfxt, + r4000allegrex_vpfxd, r4000allegrex_viim_s, r4000allegrex_vfim_s, + r4000allegrex_vnop, + r4000allegrex_vsync, + r4000allegrex_vflush, r4000allegrex_svl_q, r4000allegrex_svr_q, r4000allegrex_USERDEF_00, diff --git a/include/generated/InstrDescriptor_Descriptors_array.h b/include/generated/InstrDescriptor_Descriptors_array.h index 7d4f15df..becb4e5c 100644 --- a/include/generated/InstrDescriptor_Descriptors_array.h +++ b/include/generated/InstrDescriptor_Descriptors_array.h @@ -710,8 +710,14 @@ const RabbitizerInstrDescriptor RabbitizerInstrDescriptor_Descriptors[] = { [RABBITIZER_INSTR_ID_r4000allegrex_vcmovf_t] = { .operands={RAB_OPERAND_r4000allegrex_t_vd, RAB_OPERAND_r4000allegrex_t_vs}, .instrType=RABBITIZER_INSTR_TYPE_R }, [RABBITIZER_INSTR_ID_r4000allegrex_vcmovf_q] = { .operands={RAB_OPERAND_r4000allegrex_q_vd, RAB_OPERAND_r4000allegrex_q_vs}, .instrType=RABBITIZER_INSTR_TYPE_R }, [RABBITIZER_INSTR_ID_r4000allegrex_vwbn_s] = { .operands={RAB_OPERAND_r4000allegrex_s_vd, RAB_OPERAND_r4000allegrex_s_vs}, .instrType=RABBITIZER_INSTR_TYPE_R }, + [RABBITIZER_INSTR_ID_r4000allegrex_vpfxs] = { .operands={0}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN }, + [RABBITIZER_INSTR_ID_r4000allegrex_vpfxt] = { .operands={0}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN }, + [RABBITIZER_INSTR_ID_r4000allegrex_vpfxd] = { .operands={0}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN }, [RABBITIZER_INSTR_ID_r4000allegrex_viim_s] = { .operands={RAB_OPERAND_r4000allegrex_s_vt}, .instrType=RABBITIZER_INSTR_TYPE_R }, [RABBITIZER_INSTR_ID_r4000allegrex_vfim_s] = { .operands={RAB_OPERAND_r4000allegrex_s_vt}, .instrType=RABBITIZER_INSTR_TYPE_R }, + [RABBITIZER_INSTR_ID_r4000allegrex_vnop] = { .operands={0}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN }, + [RABBITIZER_INSTR_ID_r4000allegrex_vsync] = { .operands={0}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN }, + [RABBITIZER_INSTR_ID_r4000allegrex_vflush] = { .operands={0}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN }, [RABBITIZER_INSTR_ID_r4000allegrex_svl_q] = { .operands={RAB_OPERAND_r4000allegrex_q_vt_imm, RAB_OPERAND_r4000allegrex_offset14_base}, .instrType=RABBITIZER_INSTR_TYPE_I, .readsRs=true }, [RABBITIZER_INSTR_ID_r4000allegrex_svr_q] = { .operands={RAB_OPERAND_r4000allegrex_q_vt_imm, RAB_OPERAND_r4000allegrex_offset14_base}, .instrType=RABBITIZER_INSTR_TYPE_I, .readsRs=true }, [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_00] = { .operands={0} }, diff --git a/include/generated/InstrId_Names_array.h b/include/generated/InstrId_Names_array.h index 322166b0..0ae85d0d 100644 --- a/include/generated/InstrId_Names_array.h +++ b/include/generated/InstrId_Names_array.h @@ -710,8 +710,14 @@ const char *RabbitizerInstrId_Names[] = { [RABBITIZER_INSTR_ID_r4000allegrex_vcmovf_t] = "vcmovf.t", [RABBITIZER_INSTR_ID_r4000allegrex_vcmovf_q] = "vcmovf.q", [RABBITIZER_INSTR_ID_r4000allegrex_vwbn_s] = "vwbn.s", + [RABBITIZER_INSTR_ID_r4000allegrex_vpfxs] = "vpfxs", + [RABBITIZER_INSTR_ID_r4000allegrex_vpfxt] = "vpfxt", + [RABBITIZER_INSTR_ID_r4000allegrex_vpfxd] = "vpfxd", [RABBITIZER_INSTR_ID_r4000allegrex_viim_s] = "viim.s", [RABBITIZER_INSTR_ID_r4000allegrex_vfim_s] = "vfim.s", + [RABBITIZER_INSTR_ID_r4000allegrex_vnop] = "vnop", + [RABBITIZER_INSTR_ID_r4000allegrex_vsync] = "vsync", + [RABBITIZER_INSTR_ID_r4000allegrex_vflush] = "vflush", [RABBITIZER_INSTR_ID_r4000allegrex_svl_q] = "svl.q", [RABBITIZER_INSTR_ID_r4000allegrex_svr_q] = "svr.q", [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_00] = "USERDEF_00", diff --git a/include/generated/InstrId_enum.h b/include/generated/InstrId_enum.h index 22e486e9..5e096ef8 100644 --- a/include/generated/InstrId_enum.h +++ b/include/generated/InstrId_enum.h @@ -710,8 +710,14 @@ typedef enum RabbitizerInstrId { RABBITIZER_INSTR_ID_r4000allegrex_vcmovf_t, RABBITIZER_INSTR_ID_r4000allegrex_vcmovf_q, RABBITIZER_INSTR_ID_r4000allegrex_vwbn_s, + RABBITIZER_INSTR_ID_r4000allegrex_vpfxs, + RABBITIZER_INSTR_ID_r4000allegrex_vpfxt, + RABBITIZER_INSTR_ID_r4000allegrex_vpfxd, RABBITIZER_INSTR_ID_r4000allegrex_viim_s, RABBITIZER_INSTR_ID_r4000allegrex_vfim_s, + RABBITIZER_INSTR_ID_r4000allegrex_vnop, + RABBITIZER_INSTR_ID_r4000allegrex_vsync, + RABBITIZER_INSTR_ID_r4000allegrex_vflush, RABBITIZER_INSTR_ID_r4000allegrex_svl_q, RABBITIZER_INSTR_ID_r4000allegrex_svr_q, RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_00, diff --git a/rabbitizer/InstrId.pyi b/rabbitizer/InstrId.pyi index e8f9144c..d489e1d7 100644 --- a/rabbitizer/InstrId.pyi +++ b/rabbitizer/InstrId.pyi @@ -651,8 +651,14 @@ class InstrId: r4000allegrex_vcmovf_t: Enum r4000allegrex_vcmovf_q: Enum r4000allegrex_vwbn_s: Enum + r4000allegrex_vpfxs: Enum + r4000allegrex_vpfxt: Enum + r4000allegrex_vpfxd: Enum r4000allegrex_viim_s: Enum r4000allegrex_vfim_s: Enum + r4000allegrex_vnop: Enum + r4000allegrex_vsync: Enum + r4000allegrex_vflush: Enum r4000allegrex_svl_q: Enum r4000allegrex_svr_q: Enum r4000allegrex_MAX: Enum diff --git a/rust/src/instr_id_enum.rs b/rust/src/instr_id_enum.rs index 7c4c43ea..5298bfcf 100644 --- a/rust/src/instr_id_enum.rs +++ b/rust/src/instr_id_enum.rs @@ -710,8 +710,14 @@ pub enum InstrId { r4000allegrex_vcmovf_t, r4000allegrex_vcmovf_q, r4000allegrex_vwbn_s, + r4000allegrex_vpfxs, + r4000allegrex_vpfxt, + r4000allegrex_vpfxd, r4000allegrex_viim_s, r4000allegrex_vfim_s, + r4000allegrex_vnop, + r4000allegrex_vsync, + r4000allegrex_vflush, r4000allegrex_svl_q, r4000allegrex_svr_q, r4000allegrex_USERDEF_00, diff --git a/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu5.inc b/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu5.inc index 9fa9d33c..ce506597 100644 --- a/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu5.inc +++ b/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu5.inc @@ -18,6 +18,12 @@ vpfxs ------6-------2-------------------------24----------------------- */ + RABBITIZER_DEF_INSTR_ID( + r4000allegrex, 0x00, vpfxs, + .operands={0}, + .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN + ) // Source Prefix + /* vpfxt 31--------26-----23---------------------------------------------0 @@ -25,9 +31,21 @@ vpfxt ------6-------2-------------------------24----------------------- */ + RABBITIZER_DEF_INSTR_ID( + r4000allegrex, 0x01, vpfxt, + .operands={0}, + .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN + ) // Target Prefix + /* vpfxd 31--------26-----23---------------------------------------------0 | VFPU5 |1 0| imm24 | ------6-------2-------------------------24----------------------- */ + + RABBITIZER_DEF_INSTR_ID( + r4000allegrex, 0x02, vpfxd, + .operands={0}, + .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN + ) // Destination Prefix diff --git a/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu7.inc b/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu7.inc index 92d3c2db..1a5223ed 100644 --- a/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu7.inc +++ b/tables/tables/instr_id/r4000allegrex/r4000allegrex_vfpu7.inc @@ -8,6 +8,12 @@ vnop ------6-------------------------------26------------------------- */ + RABBITIZER_DEF_INSTR_ID( + r4000allegrex, 0x3FF0000, vnop, + .operands={0}, + .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN + ) // Nop + /* vsync 31--------26-25-------------------------------------------------0 @@ -15,9 +21,21 @@ vsync ------6-------------------------------26------------------------- */ + RABBITIZER_DEF_INSTR_ID( + r4000allegrex, 0x3FF0320, vsync, + .operands={0}, + .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN + ) // Synchronize + /* vflush 31--------26-25-------------------------------------------------0 | VFPU7 |1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1| ------6-------------------------------26------------------------- */ + + RABBITIZER_DEF_INSTR_ID( + r4000allegrex, 0x3FF040D, vflush, + .operands={0}, + .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN + ) // Flush Write Buffer