From 1d22a1883b6e4c7cdc9c304f9c248032fdb7209a Mon Sep 17 00:00:00 2001 From: angie Date: Thu, 11 Apr 2024 17:06:57 -0400 Subject: [PATCH] Yeet cop3 --- .../generated/InstrIdType_enum_class.hpp | 2 - .../generated/OperandType_enum_class.hpp | 1 - .../generated/Registers_enum_classes.hpp | 36 ----- .../include/generated/UniqueId_enum_class.hpp | 8 -- .../InstrDescriptor_Descriptors_array.h | 8 -- include/generated/InstrIdType_Names_array.h | 2 - include/generated/InstrIdType_enum.h | 2 - include/generated/InstrId_Names_array.h | 8 -- include/generated/InstrId_enum.h | 8 -- include/generated/OperandType_enum.h | 1 - .../OperandType_function_declarations.h | 1 - .../RegisterDescriptor_Descriptors_arrays.h | 34 ----- include/generated/Registers_Names_arrays.h | 34 ----- include/generated/Registers_enums.h | 34 ----- .../generated/instrOpercandCallbacks_array.h | 1 - .../RabbitizerInstructionR4000Allegrex.h | 9 -- include/instructions/RabbitizerRegister.h | 6 - .../RabbitizerRegisterDescriptor.h | 6 - rabbitizer/InstrId.pyi | 8 -- rabbitizer/InstrIdType.pyi | 2 - rabbitizer/OperandType.pyi | 1 - rust/src/instr_id_enum.rs | 8 -- rust/src/instr_id_type_enum.rs | 2 - rust/src/operand_type_enum.rs | 1 - rust/src/registers_enum.rs | 38 ----- rust/src/registers_methods.rs | 32 ----- src/instructions/RabbitizerInstrDescriptor.c | 1 - .../RabbitizerInstruction.c | 4 - .../RabbitizerInstruction_Examination.c | 4 - ...izerInstructionR4000Allegrex_OperandType.c | 10 -- ...InstructionR4000Allegrex_ProcessUniqueId.c | 42 ------ src/instructions/RabbitizerRegister.c | 12 -- .../RabbitizerInstrId_r4000allegrex.inc | 3 - .../r4000allegrex/r4000allegrex_cop3.inc | 45 ------ .../r4000allegrex/r4000allegrex_cop3_bc3.inc | 42 ------ .../r4000allegrex/r4000allegrex_normal.inc | 27 ++-- .../InstrIdType_r4000allegrex.inc | 3 - .../RabbitizerOperandType_r4000allegrex.inc | 2 - .../RabbitizerRegister_R4000AllegrexCop3.inc | 131 ------------------ ...scriptor_Descriptors_arrays.table.template | 8 -- .../c/Registers_Names_arrays.table.template | 8 -- .../c/Registers_enums.table.template | 8 -- .../Registers_enum_classes.table.template | 6 - .../rust/registers_enum.tablers.template | 22 --- 44 files changed, 13 insertions(+), 658 deletions(-) delete mode 100644 tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3.inc delete mode 100644 tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3_bc3.inc delete mode 100644 tables/tables/registers/RabbitizerRegister_R4000AllegrexCop3.inc diff --git a/cplusplus/include/generated/InstrIdType_enum_class.hpp b/cplusplus/include/generated/InstrIdType_enum_class.hpp index f5331c22..7a2519bf 100644 --- a/cplusplus/include/generated/InstrIdType_enum_class.hpp +++ b/cplusplus/include/generated/InstrIdType_enum_class.hpp @@ -58,8 +58,6 @@ enum class IdType { R4000ALLEGREX_COP1_FPUW, R4000ALLEGREX_COP2, R4000ALLEGREX_COP2_BC2, - R4000ALLEGREX_COP3, - R4000ALLEGREX_COP3_BC3, R4000ALLEGREX_VFPU0, R4000ALLEGREX_VFPU1, R4000ALLEGREX_VFPU3, diff --git a/cplusplus/include/generated/OperandType_enum_class.hpp b/cplusplus/include/generated/OperandType_enum_class.hpp index 1452936b..9aa18352 100644 --- a/cplusplus/include/generated/OperandType_enum_class.hpp +++ b/cplusplus/include/generated/OperandType_enum_class.hpp @@ -55,7 +55,6 @@ enum class OperandType { r4000allegrex_pos, r4000allegrex_size, r4000allegrex_size_plus_pos, - r4000allegrex_cop3cd, r5900_I, r5900_Q, r5900_R, diff --git a/cplusplus/include/generated/Registers_enum_classes.hpp b/cplusplus/include/generated/Registers_enum_classes.hpp index 3de659d3..d0c8e46b 100644 --- a/cplusplus/include/generated/Registers_enum_classes.hpp +++ b/cplusplus/include/generated/Registers_enum_classes.hpp @@ -436,42 +436,6 @@ RSP_VECTOR_v31, }; }; - namespace R4000Allegrex { - enum class Cop3 { - R4000ALLEGREX_COP3_0, - R4000ALLEGREX_COP3_1, - R4000ALLEGREX_COP3_2, - R4000ALLEGREX_COP3_3, - R4000ALLEGREX_COP3_4, - R4000ALLEGREX_COP3_5, - R4000ALLEGREX_COP3_6, - R4000ALLEGREX_COP3_7, - R4000ALLEGREX_COP3_8, - R4000ALLEGREX_COP3_9, - R4000ALLEGREX_COP3_10, - R4000ALLEGREX_COP3_11, - R4000ALLEGREX_COP3_12, - R4000ALLEGREX_COP3_13, - R4000ALLEGREX_COP3_14, - R4000ALLEGREX_COP3_15, - R4000ALLEGREX_COP3_16, - R4000ALLEGREX_COP3_17, - R4000ALLEGREX_COP3_18, - R4000ALLEGREX_COP3_19, - R4000ALLEGREX_COP3_20, - R4000ALLEGREX_COP3_21, - R4000ALLEGREX_COP3_22, - R4000ALLEGREX_COP3_23, - R4000ALLEGREX_COP3_24, - R4000ALLEGREX_COP3_25, - R4000ALLEGREX_COP3_26, - R4000ALLEGREX_COP3_27, - R4000ALLEGREX_COP3_28, - R4000ALLEGREX_COP3_29, - R4000ALLEGREX_COP3_30, - R4000ALLEGREX_COP3_31, - }; - }; namespace R5900 { enum class VF { R5900_VF_vf0, diff --git a/cplusplus/include/generated/UniqueId_enum_class.hpp b/cplusplus/include/generated/UniqueId_enum_class.hpp index 7050adbc..eb96de8d 100644 --- a/cplusplus/include/generated/UniqueId_enum_class.hpp +++ b/cplusplus/include/generated/UniqueId_enum_class.hpp @@ -487,14 +487,6 @@ enum class UniqueId { r4000allegrex_bc2t, r4000allegrex_bc2fl, r4000allegrex_bc2tl, - r4000allegrex_mfc3, - r4000allegrex_mtc3, - r4000allegrex_cfc3, - r4000allegrex_ctc3, - r4000allegrex_bc3f, - r4000allegrex_bc3t, - r4000allegrex_bc3fl, - r4000allegrex_bc3tl, r4000allegrex_USERDEF_00, r4000allegrex_USERDEF_01, r4000allegrex_USERDEF_02, diff --git a/include/generated/InstrDescriptor_Descriptors_array.h b/include/generated/InstrDescriptor_Descriptors_array.h index fa62043d..473faf75 100644 --- a/include/generated/InstrDescriptor_Descriptors_array.h +++ b/include/generated/InstrDescriptor_Descriptors_array.h @@ -487,14 +487,6 @@ const RabbitizerInstrDescriptor RabbitizerInstrDescriptor_Descriptors[] = { [RABBITIZER_INSTR_ID_r4000allegrex_bc2t] = { .operands={RAB_OPERAND_cpu_branch_target_label}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, .isBranch=true }, [RABBITIZER_INSTR_ID_r4000allegrex_bc2fl] = { .operands={RAB_OPERAND_cpu_branch_target_label}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, .isBranch=true, .isBranchLikely=true }, [RABBITIZER_INSTR_ID_r4000allegrex_bc2tl] = { .operands={RAB_OPERAND_cpu_branch_target_label}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, .isBranch=true, .isBranchLikely=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_mfc3] = { .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, .modifiesRt=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_mtc3] = { .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, .readsRt=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_cfc3] = { .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, .modifiesRt=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_ctc3] = { .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, .readsRt=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_bc3f] = { .operands={RAB_OPERAND_cpu_branch_target_label}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, .isBranch=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_bc3t] = { .operands={RAB_OPERAND_cpu_branch_target_label}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, .isBranch=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_bc3fl] = { .operands={RAB_OPERAND_cpu_branch_target_label}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, .isBranch=true, .isBranchLikely=true }, - [RABBITIZER_INSTR_ID_r4000allegrex_bc3tl] = { .operands={RAB_OPERAND_cpu_branch_target_label}, .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, .isBranch=true, .isBranchLikely=true }, [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_00] = { .operands={0} }, [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_01] = { .operands={0} }, [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_02] = { .operands={0} }, diff --git a/include/generated/InstrIdType_Names_array.h b/include/generated/InstrIdType_Names_array.h index ed01b1d7..c027cb8c 100644 --- a/include/generated/InstrIdType_Names_array.h +++ b/include/generated/InstrIdType_Names_array.h @@ -58,8 +58,6 @@ const char *RabInstrIdType_Names[] = { [RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP1_FPUW] = "R4000ALLEGREX" "_" "COP1_FPUW", [RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP2] = "R4000ALLEGREX" "_" "COP2", [RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP2_BC2] = "R4000ALLEGREX" "_" "COP2_BC2", - [RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP3] = "R4000ALLEGREX" "_" "COP3", - [RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP3_BC3] = "R4000ALLEGREX" "_" "COP3_BC3", [RAB_INSTR_ID_TYPE_R4000ALLEGREX_VFPU0] = "R4000ALLEGREX" "_" "VFPU0", [RAB_INSTR_ID_TYPE_R4000ALLEGREX_VFPU1] = "R4000ALLEGREX" "_" "VFPU1", [RAB_INSTR_ID_TYPE_R4000ALLEGREX_VFPU3] = "R4000ALLEGREX" "_" "VFPU3", diff --git a/include/generated/InstrIdType_enum.h b/include/generated/InstrIdType_enum.h index f62ef990..10c434a3 100644 --- a/include/generated/InstrIdType_enum.h +++ b/include/generated/InstrIdType_enum.h @@ -58,8 +58,6 @@ typedef enum RabInstrIdType { RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP1_FPUW, RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP2, RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP2_BC2, - RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP3, - RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP3_BC3, RAB_INSTR_ID_TYPE_R4000ALLEGREX_VFPU0, RAB_INSTR_ID_TYPE_R4000ALLEGREX_VFPU1, RAB_INSTR_ID_TYPE_R4000ALLEGREX_VFPU3, diff --git a/include/generated/InstrId_Names_array.h b/include/generated/InstrId_Names_array.h index 7b86eb32..c14c171e 100644 --- a/include/generated/InstrId_Names_array.h +++ b/include/generated/InstrId_Names_array.h @@ -487,14 +487,6 @@ const char *RabbitizerInstrId_Names[] = { [RABBITIZER_INSTR_ID_r4000allegrex_bc2t] = "bc2t", [RABBITIZER_INSTR_ID_r4000allegrex_bc2fl] = "bc2fl", [RABBITIZER_INSTR_ID_r4000allegrex_bc2tl] = "bc2tl", - [RABBITIZER_INSTR_ID_r4000allegrex_mfc3] = "mfc3", - [RABBITIZER_INSTR_ID_r4000allegrex_mtc3] = "mtc3", - [RABBITIZER_INSTR_ID_r4000allegrex_cfc3] = "cfc3", - [RABBITIZER_INSTR_ID_r4000allegrex_ctc3] = "ctc3", - [RABBITIZER_INSTR_ID_r4000allegrex_bc3f] = "bc3f", - [RABBITIZER_INSTR_ID_r4000allegrex_bc3t] = "bc3t", - [RABBITIZER_INSTR_ID_r4000allegrex_bc3fl] = "bc3fl", - [RABBITIZER_INSTR_ID_r4000allegrex_bc3tl] = "bc3tl", [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_00] = "USERDEF_00", [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_01] = "USERDEF_01", [RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_02] = "USERDEF_02", diff --git a/include/generated/InstrId_enum.h b/include/generated/InstrId_enum.h index 7bad0df2..17f56699 100644 --- a/include/generated/InstrId_enum.h +++ b/include/generated/InstrId_enum.h @@ -487,14 +487,6 @@ typedef enum RabbitizerInstrId { RABBITIZER_INSTR_ID_r4000allegrex_bc2t, RABBITIZER_INSTR_ID_r4000allegrex_bc2fl, RABBITIZER_INSTR_ID_r4000allegrex_bc2tl, - RABBITIZER_INSTR_ID_r4000allegrex_mfc3, - RABBITIZER_INSTR_ID_r4000allegrex_mtc3, - RABBITIZER_INSTR_ID_r4000allegrex_cfc3, - RABBITIZER_INSTR_ID_r4000allegrex_ctc3, - RABBITIZER_INSTR_ID_r4000allegrex_bc3f, - RABBITIZER_INSTR_ID_r4000allegrex_bc3t, - RABBITIZER_INSTR_ID_r4000allegrex_bc3fl, - RABBITIZER_INSTR_ID_r4000allegrex_bc3tl, RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_00, RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_01, RABBITIZER_INSTR_ID_r4000allegrex_USERDEF_02, diff --git a/include/generated/OperandType_enum.h b/include/generated/OperandType_enum.h index 3e26fc70..468eebf5 100644 --- a/include/generated/OperandType_enum.h +++ b/include/generated/OperandType_enum.h @@ -55,7 +55,6 @@ typedef enum RabbitizerOperandType { RAB_OPERAND_r4000allegrex_pos, RAB_OPERAND_r4000allegrex_size, RAB_OPERAND_r4000allegrex_size_plus_pos, - RAB_OPERAND_r4000allegrex_cop3cd, RAB_OPERAND_r5900_I, RAB_OPERAND_r5900_Q, RAB_OPERAND_r5900_R, diff --git a/include/generated/OperandType_function_declarations.h b/include/generated/OperandType_function_declarations.h index 71d76f4c..a4661cb2 100644 --- a/include/generated/OperandType_function_declarations.h +++ b/include/generated/OperandType_function_declarations.h @@ -53,7 +53,6 @@ size_t RabbitizerOperandType_process_r4000allegrex_pos (const struct RabbitizerInstruction *self, char *dst, const char *immOverride, size_t immOverrideLength); size_t RabbitizerOperandType_process_r4000allegrex_size (const struct RabbitizerInstruction *self, char *dst, const char *immOverride, size_t immOverrideLength); size_t RabbitizerOperandType_process_r4000allegrex_size_plus_pos (const struct RabbitizerInstruction *self, char *dst, const char *immOverride, size_t immOverrideLength); - size_t RabbitizerOperandType_process_r4000allegrex_cop3cd (const struct RabbitizerInstruction *self, char *dst, const char *immOverride, size_t immOverrideLength); size_t RabbitizerOperandType_process_r5900_I (const struct RabbitizerInstruction *self, char *dst, const char *immOverride, size_t immOverrideLength); size_t RabbitizerOperandType_process_r5900_Q (const struct RabbitizerInstruction *self, char *dst, const char *immOverride, size_t immOverrideLength); size_t RabbitizerOperandType_process_r5900_R (const struct RabbitizerInstruction *self, char *dst, const char *immOverride, size_t immOverrideLength); diff --git a/include/generated/RegisterDescriptor_Descriptors_arrays.h b/include/generated/RegisterDescriptor_Descriptors_arrays.h index 5f25cabf..428158d4 100644 --- a/include/generated/RegisterDescriptor_Descriptors_arrays.h +++ b/include/generated/RegisterDescriptor_Descriptors_arrays.h @@ -432,40 +432,6 @@ const RabbitizerRegisterDescriptor RabbitizerRegister_RspVector_Descriptors[] = [RABBITIZER_REG_RSP_VECTOR_v30] = { 0 }, [RABBITIZER_REG_RSP_VECTOR_v31] = { 0 }, }; -const RabbitizerRegisterDescriptor RabbitizerRegister_R4000AllegrexCop3_Descriptors[] = { - [RABBITIZER_REG_R4000ALLEGREX_COP3_0] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_1] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_2] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_3] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_4] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_5] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_6] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_7] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_8] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_9] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_10] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_11] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_12] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_13] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_14] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_15] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_16] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_17] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_18] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_19] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_20] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_21] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_22] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_23] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_24] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_25] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_26] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_27] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_28] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_29] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_30] = { 0 }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_31] = { 0 }, -}; const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VF_Descriptors[] = { [RABBITIZER_REG_R5900_VF_vf0] = { 0 }, [RABBITIZER_REG_R5900_VF_vf1] = { 0 }, diff --git a/include/generated/Registers_Names_arrays.h b/include/generated/Registers_Names_arrays.h index f119f113..5eba8f1f 100644 --- a/include/generated/Registers_Names_arrays.h +++ b/include/generated/Registers_Names_arrays.h @@ -432,40 +432,6 @@ const char *RabbitizerRegister_RspVector_Names[][2] = { [RABBITIZER_REG_RSP_VECTOR_v30] = { "$" "30", "$" "v30" }, [RABBITIZER_REG_RSP_VECTOR_v31] = { "$" "31", "$" "v31" }, }; -const char *RabbitizerRegister_R4000AllegrexCop3_Names[][2] = { - [RABBITIZER_REG_R4000ALLEGREX_COP3_0] = { "$" "0", "$" "0" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_1] = { "$" "1", "$" "1" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_2] = { "$" "2", "$" "2" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_3] = { "$" "3", "$" "3" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_4] = { "$" "4", "$" "4" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_5] = { "$" "5", "$" "5" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_6] = { "$" "6", "$" "6" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_7] = { "$" "7", "$" "7" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_8] = { "$" "8", "$" "8" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_9] = { "$" "9", "$" "9" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_10] = { "$" "10", "$" "10" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_11] = { "$" "11", "$" "11" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_12] = { "$" "12", "$" "12" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_13] = { "$" "13", "$" "13" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_14] = { "$" "14", "$" "14" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_15] = { "$" "15", "$" "15" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_16] = { "$" "16", "$" "16" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_17] = { "$" "17", "$" "17" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_18] = { "$" "18", "$" "18" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_19] = { "$" "19", "$" "19" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_20] = { "$" "20", "$" "20" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_21] = { "$" "21", "$" "21" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_22] = { "$" "22", "$" "22" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_23] = { "$" "23", "$" "23" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_24] = { "$" "24", "$" "24" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_25] = { "$" "25", "$" "25" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_26] = { "$" "26", "$" "26" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_27] = { "$" "27", "$" "27" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_28] = { "$" "28", "$" "28" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_29] = { "$" "29", "$" "29" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_30] = { "$" "30", "$" "30" }, - [RABBITIZER_REG_R4000ALLEGREX_COP3_31] = { "$" "31", "$" "31" }, -}; const char *RabbitizerRegister_R5900VF_Names[][2] = { [RABBITIZER_REG_R5900_VF_vf0] = { "$" "vf0", "$" "vf0" }, [RABBITIZER_REG_R5900_VF_vf1] = { "$" "vf1", "$" "vf1" }, diff --git a/include/generated/Registers_enums.h b/include/generated/Registers_enums.h index a5052116..8052c690 100644 --- a/include/generated/Registers_enums.h +++ b/include/generated/Registers_enums.h @@ -432,40 +432,6 @@ typedef enum RabbitizerRegister_RspVector { RABBITIZER_REG_RSP_VECTOR_v30, RABBITIZER_REG_RSP_VECTOR_v31, } RabbitizerRegister_RspVector; -typedef enum RabbitizerRegister_R4000AllegrexCop3 { - RABBITIZER_REG_R4000ALLEGREX_COP3_0, - RABBITIZER_REG_R4000ALLEGREX_COP3_1, - RABBITIZER_REG_R4000ALLEGREX_COP3_2, - RABBITIZER_REG_R4000ALLEGREX_COP3_3, - RABBITIZER_REG_R4000ALLEGREX_COP3_4, - RABBITIZER_REG_R4000ALLEGREX_COP3_5, - RABBITIZER_REG_R4000ALLEGREX_COP3_6, - RABBITIZER_REG_R4000ALLEGREX_COP3_7, - RABBITIZER_REG_R4000ALLEGREX_COP3_8, - RABBITIZER_REG_R4000ALLEGREX_COP3_9, - RABBITIZER_REG_R4000ALLEGREX_COP3_10, - RABBITIZER_REG_R4000ALLEGREX_COP3_11, - RABBITIZER_REG_R4000ALLEGREX_COP3_12, - RABBITIZER_REG_R4000ALLEGREX_COP3_13, - RABBITIZER_REG_R4000ALLEGREX_COP3_14, - RABBITIZER_REG_R4000ALLEGREX_COP3_15, - RABBITIZER_REG_R4000ALLEGREX_COP3_16, - RABBITIZER_REG_R4000ALLEGREX_COP3_17, - RABBITIZER_REG_R4000ALLEGREX_COP3_18, - RABBITIZER_REG_R4000ALLEGREX_COP3_19, - RABBITIZER_REG_R4000ALLEGREX_COP3_20, - RABBITIZER_REG_R4000ALLEGREX_COP3_21, - RABBITIZER_REG_R4000ALLEGREX_COP3_22, - RABBITIZER_REG_R4000ALLEGREX_COP3_23, - RABBITIZER_REG_R4000ALLEGREX_COP3_24, - RABBITIZER_REG_R4000ALLEGREX_COP3_25, - RABBITIZER_REG_R4000ALLEGREX_COP3_26, - RABBITIZER_REG_R4000ALLEGREX_COP3_27, - RABBITIZER_REG_R4000ALLEGREX_COP3_28, - RABBITIZER_REG_R4000ALLEGREX_COP3_29, - RABBITIZER_REG_R4000ALLEGREX_COP3_30, - RABBITIZER_REG_R4000ALLEGREX_COP3_31, -} RabbitizerRegister_R4000AllegrexCop3; typedef enum RabbitizerRegister_R5900VF { RABBITIZER_REG_R5900_VF_vf0, RABBITIZER_REG_R5900_VF_vf1, diff --git a/include/generated/instrOpercandCallbacks_array.h b/include/generated/instrOpercandCallbacks_array.h index e8917e02..1819faf8 100644 --- a/include/generated/instrOpercandCallbacks_array.h +++ b/include/generated/instrOpercandCallbacks_array.h @@ -54,7 +54,6 @@ const OperandCallback instrOpercandCallbacks[] = { [RAB_OPERAND_r4000allegrex_pos] = RabbitizerOperandType_process_r4000allegrex_pos, [RAB_OPERAND_r4000allegrex_size] = RabbitizerOperandType_process_r4000allegrex_size, [RAB_OPERAND_r4000allegrex_size_plus_pos] = RabbitizerOperandType_process_r4000allegrex_size_plus_pos, - [RAB_OPERAND_r4000allegrex_cop3cd] = RabbitizerOperandType_process_r4000allegrex_cop3cd, [RAB_OPERAND_r5900_I] = RabbitizerOperandType_process_r5900_I, [RAB_OPERAND_r5900_Q] = RabbitizerOperandType_process_r5900_Q, [RAB_OPERAND_r5900_R] = RabbitizerOperandType_process_r5900_R, diff --git a/include/instructions/RabbitizerInstructionR4000Allegrex.h b/include/instructions/RabbitizerInstructionR4000Allegrex.h index b7630995..936aacb7 100644 --- a/include/instructions/RabbitizerInstructionR4000Allegrex.h +++ b/include/instructions/RabbitizerInstructionR4000Allegrex.h @@ -16,15 +16,11 @@ extern "C" { #define RAB_INSTR_R4000ALLEGREX_GET_size(self) (SHIFTR((self)->word, 11, 5)) #define RAB_INSTR_R4000ALLEGREX_GET_size_plus_pos(self) (SHIFTR((self)->word, 11, 5)) -#define RAB_INSTR_R4000ALLEGREX_GET_cop3cd(self) (SHIFTR((self)->word, 11, 5)) - #define RAB_INSTR_R4000ALLEGREX_PACK_pos(word, value) (BITREPACK((word), (value), 6, 5)) #define RAB_INSTR_R4000ALLEGREX_PACK_size(word, value) (BITREPACK((word), (value), 11, 5)) #define RAB_INSTR_R4000ALLEGREX_PACK_size_plus_pos(word, value) (BITREPACK((word), (value), 11, 5)) -#define RAB_INSTR_R4000ALLEGREX_PACK_cop3cd(word, value) (BITREPACK((word), value, 11, 5)) - NON_NULL(1) void RabbitizerInstructionR4000Allegrex_init(RabbitizerInstruction *self, uint32_t word, uint32_t vram); @@ -74,11 +70,6 @@ void RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor2(RabbitizerI NON_NULL(1) void RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor2_BC2(RabbitizerInstruction *self); -NON_NULL(1) -void RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor3(RabbitizerInstruction *self); -NON_NULL(1) -void RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor3_BC3(RabbitizerInstruction *self); - NON_NULL(1) void RabbitizerInstructionR4000Allegrex_processUniqueId_Vfpu0(RabbitizerInstruction *self); NON_NULL(1) diff --git a/include/instructions/RabbitizerRegister.h b/include/instructions/RabbitizerRegister.h index 916a37f0..2387d19e 100644 --- a/include/instructions/RabbitizerRegister.h +++ b/include/instructions/RabbitizerRegister.h @@ -57,9 +57,6 @@ const char *RabbitizerRegister_getNameRspCop2Control(uint8_t regValue); NODISCARD PURE RETURNS_NON_NULL const char *RabbitizerRegister_getNameRspVector(uint8_t regValue); -NODISCARD PURE RETURNS_NON_NULL -const char *RabbitizerRegister_getNameR4000AllegrexCop3(uint8_t regValue); - NODISCARD PURE RETURNS_NON_NULL const char *RabbitizerRegister_getNameR5900VF(uint8_t regValue); NODISCARD PURE RETURNS_NON_NULL @@ -89,9 +86,6 @@ const RabbitizerRegisterDescriptor *RabbitizerRegister_getDescriptor_RspCop2Cont NODISCARD PURE RETURNS_NON_NULL const RabbitizerRegisterDescriptor *RabbitizerRegister_getDescriptor_RspVector(uint8_t regValue); -NODISCARD PURE RETURNS_NON_NULL -const RabbitizerRegisterDescriptor *RabbitizerRegister_getDescriptor_R4000AllegrexCop3(uint8_t regValue); - NODISCARD PURE RETURNS_NON_NULL const RabbitizerRegisterDescriptor *RabbitizerRegister_getDescriptor_R5900VF(uint8_t regValue); NODISCARD PURE RETURNS_NON_NULL diff --git a/include/instructions/RabbitizerRegisterDescriptor.h b/include/instructions/RabbitizerRegisterDescriptor.h index 10082f54..e5740c61 100644 --- a/include/instructions/RabbitizerRegisterDescriptor.h +++ b/include/instructions/RabbitizerRegisterDescriptor.h @@ -51,12 +51,6 @@ extern const RabbitizerRegisterDescriptor RabbitizerRegister_RspVector_Descripto /* RSP */ -/* R4000ALLEGREX */ - -extern const RabbitizerRegisterDescriptor RabbitizerRegister_R4000AllegrexCop3_Descriptors[]; - -/* R4000ALLEGREX */ - /* R5900 */ extern const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VF_Descriptors[]; diff --git a/rabbitizer/InstrId.pyi b/rabbitizer/InstrId.pyi index fd33bbfe..39f221e4 100644 --- a/rabbitizer/InstrId.pyi +++ b/rabbitizer/InstrId.pyi @@ -428,14 +428,6 @@ class InstrId: r4000allegrex_bc2t: Enum r4000allegrex_bc2fl: Enum r4000allegrex_bc2tl: Enum - r4000allegrex_mfc3: Enum - r4000allegrex_mtc3: Enum - r4000allegrex_cfc3: Enum - r4000allegrex_ctc3: Enum - r4000allegrex_bc3f: Enum - r4000allegrex_bc3t: Enum - r4000allegrex_bc3fl: Enum - r4000allegrex_bc3tl: Enum r4000allegrex_MAX: Enum r5900_INVALID: Enum r5900_lq: Enum diff --git a/rabbitizer/InstrIdType.pyi b/rabbitizer/InstrIdType.pyi index ba2b6f26..eae8a824 100644 --- a/rabbitizer/InstrIdType.pyi +++ b/rabbitizer/InstrIdType.pyi @@ -59,8 +59,6 @@ class InstrIdType: R4000ALLEGREX_COP1_FPUW: Enum R4000ALLEGREX_COP2: Enum R4000ALLEGREX_COP2_BC2: Enum - R4000ALLEGREX_COP3: Enum - R4000ALLEGREX_COP3_BC3: Enum R4000ALLEGREX_VFPU0: Enum R4000ALLEGREX_VFPU1: Enum R4000ALLEGREX_VFPU3: Enum diff --git a/rabbitizer/OperandType.pyi b/rabbitizer/OperandType.pyi index 0a11d959..1a1c2a1d 100644 --- a/rabbitizer/OperandType.pyi +++ b/rabbitizer/OperandType.pyi @@ -56,7 +56,6 @@ class OperandType: r4000allegrex_pos: Enum r4000allegrex_size: Enum r4000allegrex_size_plus_pos: Enum - r4000allegrex_cop3cd: Enum r5900_I: Enum r5900_Q: Enum r5900_R: Enum diff --git a/rust/src/instr_id_enum.rs b/rust/src/instr_id_enum.rs index 1adddf8a..b2720124 100644 --- a/rust/src/instr_id_enum.rs +++ b/rust/src/instr_id_enum.rs @@ -487,14 +487,6 @@ pub enum InstrId { r4000allegrex_bc2t, r4000allegrex_bc2fl, r4000allegrex_bc2tl, - r4000allegrex_mfc3, - r4000allegrex_mtc3, - r4000allegrex_cfc3, - r4000allegrex_ctc3, - r4000allegrex_bc3f, - r4000allegrex_bc3t, - r4000allegrex_bc3fl, - r4000allegrex_bc3tl, r4000allegrex_USERDEF_00, r4000allegrex_USERDEF_01, r4000allegrex_USERDEF_02, diff --git a/rust/src/instr_id_type_enum.rs b/rust/src/instr_id_type_enum.rs index 36bd6da4..5478b4e9 100644 --- a/rust/src/instr_id_type_enum.rs +++ b/rust/src/instr_id_type_enum.rs @@ -58,8 +58,6 @@ pub enum InstrIdType { R4000ALLEGREX_COP1_FPUW, R4000ALLEGREX_COP2, R4000ALLEGREX_COP2_BC2, - R4000ALLEGREX_COP3, - R4000ALLEGREX_COP3_BC3, R4000ALLEGREX_VFPU0, R4000ALLEGREX_VFPU1, R4000ALLEGREX_VFPU3, diff --git a/rust/src/operand_type_enum.rs b/rust/src/operand_type_enum.rs index e7a74665..57421143 100644 --- a/rust/src/operand_type_enum.rs +++ b/rust/src/operand_type_enum.rs @@ -55,7 +55,6 @@ pub enum OperandType { r4000allegrex_pos, r4000allegrex_size, r4000allegrex_size_plus_pos, - r4000allegrex_cop3cd, r5900_I, r5900_Q, r5900_R, diff --git a/rust/src/registers_enum.rs b/rust/src/registers_enum.rs index 808eaf62..d01d3f8b 100644 --- a/rust/src/registers_enum.rs +++ b/rust/src/registers_enum.rs @@ -486,44 +486,6 @@ pub mod registers { #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] #[allow(non_camel_case_types)] #[derive(num_enum::TryFromPrimitive, num_enum::IntoPrimitive)] - pub enum R4000AllegrexCop3 { - R4000ALLEGREX_COP3_0, - R4000ALLEGREX_COP3_1, - R4000ALLEGREX_COP3_2, - R4000ALLEGREX_COP3_3, - R4000ALLEGREX_COP3_4, - R4000ALLEGREX_COP3_5, - R4000ALLEGREX_COP3_6, - R4000ALLEGREX_COP3_7, - R4000ALLEGREX_COP3_8, - R4000ALLEGREX_COP3_9, - R4000ALLEGREX_COP3_10, - R4000ALLEGREX_COP3_11, - R4000ALLEGREX_COP3_12, - R4000ALLEGREX_COP3_13, - R4000ALLEGREX_COP3_14, - R4000ALLEGREX_COP3_15, - R4000ALLEGREX_COP3_16, - R4000ALLEGREX_COP3_17, - R4000ALLEGREX_COP3_18, - R4000ALLEGREX_COP3_19, - R4000ALLEGREX_COP3_20, - R4000ALLEGREX_COP3_21, - R4000ALLEGREX_COP3_22, - R4000ALLEGREX_COP3_23, - R4000ALLEGREX_COP3_24, - R4000ALLEGREX_COP3_25, - R4000ALLEGREX_COP3_26, - R4000ALLEGREX_COP3_27, - R4000ALLEGREX_COP3_28, - R4000ALLEGREX_COP3_29, - R4000ALLEGREX_COP3_30, - R4000ALLEGREX_COP3_31, - } - #[repr(u32)] - #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] - #[allow(non_camel_case_types)] - #[derive(num_enum::TryFromPrimitive, num_enum::IntoPrimitive)] pub enum R5900VF { vf0, vf1, diff --git a/rust/src/registers_methods.rs b/rust/src/registers_methods.rs index 3087bd56..e6664d9d 100644 --- a/rust/src/registers_methods.rs +++ b/rust/src/registers_methods.rs @@ -19,8 +19,6 @@ extern "C" { pub static mut RabbitizerRegister_RspCop2Control_Names: [[*const core::ffi::c_char; 2usize]; 0usize]; pub static mut RabbitizerRegister_RspVector_Names: [[*const core::ffi::c_char; 2usize]; 0usize]; - pub static mut RabbitizerRegister_R4000AllegrexCop3_Names: - [[*const core::ffi::c_char; 2usize]; 0usize]; pub static mut RabbitizerRegister_R5900VF_Names: [[*const core::ffi::c_char; 2usize]; 0usize]; pub static mut RabbitizerRegister_R5900VI_Names: [[*const core::ffi::c_char; 2usize]; 0usize]; @@ -37,8 +35,6 @@ extern "C" { pub fn RabbitizerRegister_getNameRspCop2Control(reg_value: u8) -> *const core::ffi::c_char; pub fn RabbitizerRegister_getNameRspVector(reg_value: u8) -> *const core::ffi::c_char; - pub fn RabbitizerRegister_getNameR4000AllegrexCop3(reg_value: u8) -> *const core::ffi::c_char; - pub fn RabbitizerRegister_getNameR5900VF(reg_value: u8) -> *const core::ffi::c_char; pub fn RabbitizerRegister_getNameR5900VI(reg_value: u8) -> *const core::ffi::c_char; */ @@ -62,12 +58,6 @@ extern "C" { /* RSP */ - /* R4000ALLEGREX */ - - pub static mut RabbitizerRegister_R4000AllegrexCop3_Descriptors: [RegisterDescriptor; 0usize]; - - /* R4000ALLEGREX */ - /* R5900 */ pub static mut RabbitizerRegister_R5900VF_Descriptors: [RegisterDescriptor; 0usize]; @@ -310,28 +300,6 @@ impl registers_enum::registers::RspVector { } } -impl registers_enum::registers::R4000AllegrexCop3 { - pub fn name(self) -> &'static str { - let reg_value: u32 = self.into(); - - unsafe { - std::ffi::CStr::from_ptr( - RabbitizerRegister_R4000AllegrexCop3_Names[reg_value as usize][1], - ) - .to_str() - .unwrap() - } - } - - pub fn descriptor(&self) -> &RegisterDescriptor { - let reg_value: u32 = (*self).into(); - - unsafe { - RabbitizerRegister_R4000AllegrexCop3_Descriptors.get_unchecked(reg_value as usize) - } - } -} - impl registers_enum::registers::R5900VF { pub fn name(self) -> &'static str { let reg_value: u32 = self.into(); diff --git a/src/instructions/RabbitizerInstrDescriptor.c b/src/instructions/RabbitizerInstrDescriptor.c index fefd2265..509c9733 100644 --- a/src/instructions/RabbitizerInstrDescriptor.c +++ b/src/instructions/RabbitizerInstrDescriptor.c @@ -268,7 +268,6 @@ bool RabbitizerInstrDescriptor_hasOperandAlias(const RabbitizerInstrDescriptor * case RAB_OPERAND_r4000allegrex_pos: case RAB_OPERAND_r4000allegrex_size: case RAB_OPERAND_r4000allegrex_size_plus_pos: - case RAB_OPERAND_r4000allegrex_cop3cd: break; /* r4000allegrex */ diff --git a/src/instructions/RabbitizerInstruction/RabbitizerInstruction.c b/src/instructions/RabbitizerInstruction/RabbitizerInstruction.c index 5e229b58..af462821 100644 --- a/src/instructions/RabbitizerInstruction/RabbitizerInstruction.c +++ b/src/instructions/RabbitizerInstruction/RabbitizerInstruction.c @@ -368,10 +368,6 @@ void RabbitizerInstruction_blankOut(RabbitizerInstruction *self) { case RAB_OPERAND_r4000allegrex_size_plus_pos: self->word = RAB_INSTR_R4000ALLEGREX_PACK_size_plus_pos(self->word, 0); break; - - case RAB_OPERAND_r4000allegrex_cop3cd: - self->word = RAB_INSTR_R4000ALLEGREX_PACK_cop3cd(self->word, 0); - break; /* r4000allegrex */ /* r5900 */ diff --git a/src/instructions/RabbitizerInstruction/RabbitizerInstruction_Examination.c b/src/instructions/RabbitizerInstruction/RabbitizerInstruction_Examination.c index 5fc7271b..276c1da8 100644 --- a/src/instructions/RabbitizerInstruction/RabbitizerInstruction_Examination.c +++ b/src/instructions/RabbitizerInstruction/RabbitizerInstruction_Examination.c @@ -414,10 +414,6 @@ uint32_t RabbitizerInstruction_getValidBits(const RabbitizerInstruction *self) { case RAB_OPERAND_r4000allegrex_size_plus_pos: validbits = RAB_INSTR_R4000ALLEGREX_PACK_size_plus_pos(validbits, ~0); break; - - case RAB_OPERAND_r4000allegrex_cop3cd: - validbits = RAB_INSTR_R4000ALLEGREX_PACK_cop3cd(validbits, ~0); - break; /* r4000allegrex */ /* r5900 */ diff --git a/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_OperandType.c b/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_OperandType.c index 7ca0be15..42c22102 100644 --- a/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_OperandType.c +++ b/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_OperandType.c @@ -64,13 +64,3 @@ size_t RabbitizerOperandType_process_r4000allegrex_size_plus_pos(const Rabbitize RABUTILS_BUFFER_SPRINTF(dst, totalSize, "%i", temp); return totalSize; } - -size_t RabbitizerOperandType_process_r4000allegrex_cop3cd(const RabbitizerInstruction *self, char *dst, - UNUSED const char *immOverride, - UNUSED size_t immOverrideLength) { - size_t totalSize = 0; - const char *reg = RabbitizerRegister_getNameCop2(RAB_INSTR_R4000ALLEGREX_GET_cop3cd(self)); - - RABUTILS_BUFFER_CPY(dst, totalSize, reg); - return totalSize; -} diff --git a/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_ProcessUniqueId.c b/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_ProcessUniqueId.c index bc6fc20b..438dd620 100644 --- a/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_ProcessUniqueId.c +++ b/src/instructions/RabbitizerInstructionR4000Allegrex/RabbitizerInstructionR4000Allegrex_ProcessUniqueId.c @@ -405,45 +405,6 @@ void RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor2_BC2(Rabbiti } } -void RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor3(RabbitizerInstruction *self) { - uint32_t fmt = RAB_INSTR_GET_fmt(self); - bool fetchDescriptor = true; - - self->_mandatorybits = RAB_INSTR_PACK_fmt(self->_mandatorybits, fmt); - self->instrIdType = RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP3; - self->_handwrittenCategory = true; - - switch (fmt) { -#include "tables/instr_id/r4000allegrex/r4000allegrex_cop3.inc" - - case 0x08: - RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor3_BC3(self); - fetchDescriptor = false; - break; - } - - if (fetchDescriptor) { - self->descriptor = &RabbitizerInstrDescriptor_Descriptors[self->uniqueId]; - } -} - -void RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor3_BC3(RabbitizerInstruction *self) { - uint32_t fmt = RAB_INSTR_GET_bc_fmt(self); - bool fetchDescriptor = true; - - self->_mandatorybits = RAB_INSTR_PACK_bc_fmt(self->_mandatorybits, fmt); - self->instrIdType = RAB_INSTR_ID_TYPE_R4000ALLEGREX_COP3_BC3; - self->_handwrittenCategory = true; - - switch (fmt) { -#include "tables/instr_id/r4000allegrex/r4000allegrex_cop3_bc3.inc" - } - - if (fetchDescriptor) { - self->descriptor = &RabbitizerInstrDescriptor_Descriptors[self->uniqueId]; - } -} - void RabbitizerInstructionR4000Allegrex_processUniqueId_Vfpu0(RabbitizerInstruction *self) { //! TODO // uint32_t fmt = RAB_INSTR_GET_fmt(self); @@ -592,9 +553,6 @@ void RabbitizerInstructionR4000Allegrex_processUniqueId(RabbitizerInstruction *s case 0x12: RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor2(self); break; - case 0x13: - RabbitizerInstructionR4000Allegrex_processUniqueId_Coprocessor3(self); - break; case 0x18: RabbitizerInstructionR4000Allegrex_processUniqueId_Vfpu0(self); diff --git a/src/instructions/RabbitizerRegister.c b/src/instructions/RabbitizerRegister.c index 4177ee5c..a2bdd3fe 100644 --- a/src/instructions/RabbitizerRegister.c +++ b/src/instructions/RabbitizerRegister.c @@ -101,12 +101,6 @@ const char *RabbitizerRegister_getNameRspVector(uint8_t regValue) { return RabbitizerRegister_RspVector_Names[regValue][RabbitizerConfig_Cfg.regNames.namedRegisters ? 1 : 0]; } -const char *RabbitizerRegister_getNameR4000AllegrexCop3(uint8_t regValue) { - assert(regValue < ARRAY_COUNT(RabbitizerRegister_R4000AllegrexCop3_Names)); - - return RabbitizerRegister_R4000AllegrexCop3_Names[regValue][RabbitizerConfig_Cfg.regNames.namedRegisters ? 1 : 0]; -} - const char *RabbitizerRegister_getNameR5900VF(uint8_t regValue) { assert(regValue < ARRAY_COUNT(RabbitizerRegister_R5900VF_Names)); @@ -192,12 +186,6 @@ const RabbitizerRegisterDescriptor *RabbitizerRegister_getDescriptor_RspVector(u return &RabbitizerRegister_RspVector_Descriptors[regValue]; } -const RabbitizerRegisterDescriptor *RabbitizerRegister_getDescriptor_R4000AllegrexCop3(uint8_t regValue) { - assert(regValue < ARRAY_COUNT(RabbitizerRegister_R4000AllegrexCop3_Names)); - - return &RabbitizerRegister_R4000AllegrexCop3_Descriptors[regValue]; -} - const RabbitizerRegisterDescriptor *RabbitizerRegister_getDescriptor_R5900VF(uint8_t regValue) { assert(regValue < ARRAY_COUNT(RabbitizerRegister_R5900VF_Names)); diff --git a/tables/tables/instr_id/RabbitizerInstrId_r4000allegrex.inc b/tables/tables/instr_id/RabbitizerInstrId_r4000allegrex.inc index 2c4a2c92..5ae29ff9 100644 --- a/tables/tables/instr_id/RabbitizerInstrId_r4000allegrex.inc +++ b/tables/tables/instr_id/RabbitizerInstrId_r4000allegrex.inc @@ -32,9 +32,6 @@ #include "r4000allegrex/r4000allegrex_cop2.inc" #include "r4000allegrex/r4000allegrex_cop2_bc2.inc" - #include "r4000allegrex/r4000allegrex_cop3.inc" - #include "r4000allegrex/r4000allegrex_cop3_bc3.inc" - #include "r4000allegrex/r4000allegrex_vfpu0.inc" #include "r4000allegrex/r4000allegrex_vfpu1.inc" #include "r4000allegrex/r4000allegrex_vfpu3.inc" diff --git a/tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3.inc b/tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3.inc deleted file mode 100644 index 4e7d580b..00000000 --- a/tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3.inc +++ /dev/null @@ -1,45 +0,0 @@ -/* SPDX-FileCopyrightText: © 2024 Decompollaborate */ -/* SPDX-License-Identifier: MIT */ - -/* - 31--------26-25------21 ----------------------------------------0 - | = COP3 | fmt | | - ------6----------5----------------------------------------------- - |--000--|--001--|--010--|--011--|--100--|--101--|--110--|--111--| lo - 00 | MFC3 | --- | CFC3 | MFHC3 | MTC3 | --- | CTC3 | MTHC3 | - 01 | *1 | --- | --- | --- | --- | --- | --- | --- | - 10 | --- | --- | --- | --- | --- | --- | --- | --- | - 11 | --- | --- | --- | --- | --- | --- | --- | --- | - hi |-------|-------|-------|-------|-------|-------|-------|-------| - *1=BC See BC3 list -*/ - - // OP rt, cop3cd - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x00, mfc3, - .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, - .modifiesRt=true - ) - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x04, mtc3, - .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, - .readsRt=true - ) - - // OP rt, cop3cd - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x02, cfc3, - .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, - .modifiesRt=true - ) - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x06, ctc3, - .operands={RAB_OPERAND_cpu_rt, RAB_OPERAND_r4000allegrex_cop3cd}, - .readsRt=true - ) - -/* -TODO: -- MFHC3 -- MTHC3 -*/ diff --git a/tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3_bc3.inc b/tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3_bc3.inc deleted file mode 100644 index 152a32a3..00000000 --- a/tables/tables/instr_id/r4000allegrex/r4000allegrex_cop3_bc3.inc +++ /dev/null @@ -1,42 +0,0 @@ -/* SPDX-FileCopyrightText: © 2024 Decompollaborate */ -/* SPDX-License-Identifier: MIT */ - -/* - 31--------26-25------21-20------16------------------------------0 - | = COP2 | BC3 | fmt | | - ------6----------5----------5------------------------------------ - |--000--|--001--|--010--|--011--|--100--|--101--|--110--|--111--| lo - 00 | BC3F | BC3T | BC3FL | BC3TL | --- | --- | --- | --- | - 01 | --- | --- | --- | --- | --- | --- | --- | --- | - 10 | --- | --- | --- | --- | --- | --- | --- | --- | - 11 | --- | --- | --- | --- | --- | --- | --- | --- | - hi |-------|-------|-------|-------|-------|-------|-------|-------| -*/ - - // OP IMM - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x00, bc3f, - .operands={RAB_OPERAND_cpu_branch_target_label}, - .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, - .isBranch=true - ) // Branch on FP False - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x01, bc3t, - .operands={RAB_OPERAND_cpu_branch_target_label}, - .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, - .isBranch=true - ) // Branch on FP True - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x02, bc3fl, - .operands={RAB_OPERAND_cpu_branch_target_label}, - .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, - .isBranch=true, - .isBranchLikely=true - ) // Branch on FP False Likely - RABBITIZER_DEF_INSTR_ID( - r4000allegrex, 0x03, bc3tl, - .operands={RAB_OPERAND_cpu_branch_target_label}, - .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN, - .isBranch=true, - .isBranchLikely=true - ) // Branch on FP True Likely diff --git a/tables/tables/instr_id/r4000allegrex/r4000allegrex_normal.inc b/tables/tables/instr_id/r4000allegrex/r4000allegrex_normal.inc index bd047d27..2049ea2e 100644 --- a/tables/tables/instr_id/r4000allegrex/r4000allegrex_normal.inc +++ b/tables/tables/instr_id/r4000allegrex/r4000allegrex_normal.inc @@ -8,28 +8,27 @@ |--000--|--001--|--010--|--011--|--100--|--101--|--110--|--111--| lo 000 | *1 | *2 | J | JAL | BEQ | BNE | BLEZ | BGTZ | 001 | ADDI | ADDIU | SLTI | SLTIU | ANDI | ORI | XORI | LUI | -010 | *3 | *4 | *5 | *6 | BEQL | BNEL | BLEZL | BGTZL | -011 | *7 | *8 | --- | *9 | *10 | --- | --- | *11 | +010 | *3 | *4 | *5 | --- | BEQL | BNEL | BLEZL | BGTZL | +011 | *6 | *7 | --- | *8 | *9 | --- | --- | *10 | 100 | LB | LH | LWL | LW | LBU | LHU | LWR | --- | 101 | SB | SH | SWL | SW | --- | --- | SWR | CACHE | -110 | LL | LWC1 | LWC2 | --- | *12 | --- | --- | *13 | -111 | SC | SWC1 | SWC2 | --- | *14 | --- | --- | *15 | +110 | LL | LWC1 | LWC2 | --- | *11 | --- | --- | *12 | +111 | SC | SWC1 | SWC2 | --- | *13 | --- | --- | *14 | hi |-------|-------|-------|-------|-------|-------|-------|-------| *1 = SPECIAL, see SPECIAL list *2 = REGIMM, see REGIMM list *3 = COP0 *4 = COP1 *5 = COP2 - *6 = COP3 - *7 = VFPU0 - *8 = VFPU1 - *9 = VFPU3 - *10 = SPECIAL2 - *11 = SPECIAL3 - *12 = VFPU4 - *13 = VFPU5 - *14 = VFPU6 - *15 = VFPU7 + *6 = VFPU0 + *7 = VFPU1 + *8 = VFPU3 + *9 = SPECIAL2 + *10 = SPECIAL3 + *11 = VFPU4 + *12 = VFPU5 + *13 = VFPU6 + *14 = VFPU7 */ // The other instructions are implemented using the main CPU table diff --git a/tables/tables/instr_id_types/InstrIdType_r4000allegrex.inc b/tables/tables/instr_id_types/InstrIdType_r4000allegrex.inc index 18daf1e7..adb326ab 100644 --- a/tables/tables/instr_id_types/InstrIdType_r4000allegrex.inc +++ b/tables/tables/instr_id_types/InstrIdType_r4000allegrex.inc @@ -28,9 +28,6 @@ RABBITIZER_DEF_INSTR_ID_TYPE(R4000ALLEGREX, COP2) RABBITIZER_DEF_INSTR_ID_TYPE(R4000ALLEGREX, COP2_BC2) - RABBITIZER_DEF_INSTR_ID_TYPE(R4000ALLEGREX, COP3) - RABBITIZER_DEF_INSTR_ID_TYPE(R4000ALLEGREX, COP3_BC3) - RABBITIZER_DEF_INSTR_ID_TYPE(R4000ALLEGREX, VFPU0) RABBITIZER_DEF_INSTR_ID_TYPE(R4000ALLEGREX, VFPU1) diff --git a/tables/tables/operands/RabbitizerOperandType_r4000allegrex.inc b/tables/tables/operands/RabbitizerOperandType_r4000allegrex.inc index bc3535a7..969b8c40 100644 --- a/tables/tables/operands/RabbitizerOperandType_r4000allegrex.inc +++ b/tables/tables/operands/RabbitizerOperandType_r4000allegrex.inc @@ -4,5 +4,3 @@ RAB_DEF_OPERAND(r4000allegrex, pos) RAB_DEF_OPERAND(r4000allegrex, size) RAB_DEF_OPERAND(r4000allegrex, size_plus_pos) - - RAB_DEF_OPERAND(r4000allegrex, cop3cd) diff --git a/tables/tables/registers/RabbitizerRegister_R4000AllegrexCop3.inc b/tables/tables/registers/RabbitizerRegister_R4000AllegrexCop3.inc deleted file mode 100644 index 060e6e83..00000000 --- a/tables/tables/registers/RabbitizerRegister_R4000AllegrexCop3.inc +++ /dev/null @@ -1,131 +0,0 @@ -/* SPDX-FileCopyrightText: © 2024 Decompollaborate */ -/* SPDX-License-Identifier: MIT */ - - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 0, 0, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 1, 1, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 2, 2, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 3, 3, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 4, 4, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 5, 5, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 6, 6, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 7, 7, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 8, 8, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 9, 9, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 10, 10, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 11, 11, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 12, 12, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 13, 13, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 14, 14, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 15, 15, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 16, 16, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 17, 17, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 18, 18, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 19, 19, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 20, 20, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 21, 21, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 22, 22, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 23, 23, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 24, 24, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 25, 25, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 26, 26, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 27, 27, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 28, 28, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 29, 29, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 30, 30, - 0 - ) - RABBITIZER_DEF_REG( - R4000ALLEGREX_COP3, 31, 31, - 0 - ) diff --git a/tables/templates/c/RegisterDescriptor_Descriptors_arrays.table.template b/tables/templates/c/RegisterDescriptor_Descriptors_arrays.table.template index ec5c389a..476c7da8 100644 --- a/tables/templates/c/RegisterDescriptor_Descriptors_arrays.table.template +++ b/tables/templates/c/RegisterDescriptor_Descriptors_arrays.table.template @@ -63,14 +63,6 @@ const RabbitizerRegisterDescriptor RabbitizerRegister_RspVector_Descriptors[] = /* RSP */ -/* R4000ALLEGREX */ - -const RabbitizerRegisterDescriptor RabbitizerRegister_R4000AllegrexCop3_Descriptors[] = { -#include "registers/RabbitizerRegister_R4000AllegrexCop3.inc" -}; - -/* R4000ALLEGREX */ - /* R5900 */ const RabbitizerRegisterDescriptor RabbitizerRegister_R5900VF_Descriptors[] = { diff --git a/tables/templates/c/Registers_Names_arrays.table.template b/tables/templates/c/Registers_Names_arrays.table.template index de6a3836..bb26155b 100644 --- a/tables/templates/c/Registers_Names_arrays.table.template +++ b/tables/templates/c/Registers_Names_arrays.table.template @@ -65,14 +65,6 @@ const char *RabbitizerRegister_RspVector_Names[][2] = { /* RSP */ -/* R4000ALLEGREX */ - -const char *RabbitizerRegister_R4000AllegrexCop3_Names[][2] = { -#include "registers/RabbitizerRegister_R4000AllegrexCop3.inc" -}; - -/* R4000ALLEGREX */ - /* R5900 */ const char *RabbitizerRegister_R5900VF_Names[][2] = { diff --git a/tables/templates/c/Registers_enums.table.template b/tables/templates/c/Registers_enums.table.template index b9da34b8..077f8244 100644 --- a/tables/templates/c/Registers_enums.table.template +++ b/tables/templates/c/Registers_enums.table.template @@ -66,14 +66,6 @@ typedef enum RabbitizerRegister_RspVector { /* RSP */ -/* R4000ALLEGREX */ - -typedef enum RabbitizerRegister_R4000AllegrexCop3 { - #include "registers/RabbitizerRegister_R4000AllegrexCop3.inc" -} RabbitizerRegister_R4000AllegrexCop3; - -/* R4000ALLEGREX */ - /* R5900 */ typedef enum RabbitizerRegister_R5900VF { diff --git a/tables/templates/cplusplus/Registers_enum_classes.table.template b/tables/templates/cplusplus/Registers_enum_classes.table.template index 87ef5cc7..8df892de 100644 --- a/tables/templates/cplusplus/Registers_enum_classes.table.template +++ b/tables/templates/cplusplus/Registers_enum_classes.table.template @@ -66,12 +66,6 @@ }; }; - namespace R4000Allegrex { - enum class Cop3 { - #include "registers/RabbitizerRegister_R4000AllegrexCop3.inc" - }; - }; - namespace R5900 { enum class VF { #include "registers/RabbitizerRegister_R5900VF.inc" diff --git a/tables/templates/rust/registers_enum.tablers.template b/tables/templates/rust/registers_enum.tablers.template index c6f9465e..e289123a 100644 --- a/tables/templates/rust/registers_enum.tablers.template +++ b/tables/templates/rust/registers_enum.tablers.template @@ -142,28 +142,6 @@ pub mod registers { /* RSP */ - /* R4000ALLEGREX */ - -#undef RABBITIZER_DEF_REG - -#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \ - prefix##_##name, - - SPECIAL_RS_TAG(repr(u32)) - SPECIAL_RS_TAG(derive(Debug, Copy, Clone, Hash, PartialEq, Eq)) - SPECIAL_RS_TAG(allow(non_camel_case_types)) - SPECIAL_RS_TAG(derive(num_enum::TryFromPrimitive, num_enum::IntoPrimitive)) - pub enum R4000AllegrexCop3 { - #include "registers/RabbitizerRegister_R4000AllegrexCop3.inc" - } - -#undef RABBITIZER_DEF_REG - -#define RABBITIZER_DEF_REG(prefix, name, numeric, ...) \ - name, - - /* R4000ALLEGREX */ - /* R5900 */ SPECIAL_RS_TAG(repr(u32))