diff --git a/include/generated/InstrDescriptor_Descriptors_array.h b/include/generated/InstrDescriptor_Descriptors_array.h index 278fba8..dd8a085 100644 --- a/include/generated/InstrDescriptor_Descriptors_array.h +++ b/include/generated/InstrDescriptor_Descriptors_array.h @@ -677,7 +677,7 @@ const RabbitizerInstrDescriptor RabbitizerInstrDescriptor_Descriptors[] = { [RABBITIZER_INSTR_ID_r5900_vmulaq] = { .operands={RAB_OPERAND_r5900_ACCxyzw, RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_Q}, .instrSuffix=RABINSTRSUFFIX_R5900_xyzw }, [RABBITIZER_INSTR_ID_r5900_vabs] = { .operands={RAB_OPERAND_r5900_vftxyzw, RAB_OPERAND_r5900_vfsxyzw}, .instrSuffix=RABINSTRSUFFIX_R5900_xyzw, .isFloat=true }, [RABBITIZER_INSTR_ID_r5900_vmulai] = { .operands={RAB_OPERAND_r5900_ACCxyzw, RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_I}, .instrSuffix=RABINSTRSUFFIX_R5900_xyzw }, - [RABBITIZER_INSTR_ID_r5900_vclipw] = { .operands={RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_vftn}, .instrSuffix=RABINSTRSUFFIX_R5900_xyzw, .isFloat=true }, + [RABBITIZER_INSTR_ID_r5900_vclipw] = { .operands={RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_vftn}, .isFloat=true }, [RABBITIZER_INSTR_ID_r5900_vaddaq] = { .operands={RAB_OPERAND_r5900_ACCxyzw, RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_Q}, .instrSuffix=RABINSTRSUFFIX_R5900_xyzw, .isFloat=true }, [RABBITIZER_INSTR_ID_r5900_vmaddaq] = { .operands={RAB_OPERAND_r5900_ACCxyzw, RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_Q}, .instrSuffix=RABINSTRSUFFIX_R5900_xyzw, .isFloat=true }, [RABBITIZER_INSTR_ID_r5900_vaddai] = { .operands={RAB_OPERAND_r5900_ACCxyzw, RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_I}, .instrSuffix=RABINSTRSUFFIX_R5900_xyzw, .isFloat=true }, diff --git a/src/instructions/RabbitizerInstructionR5900/RabbitizerInstructionR5900_OperandType.c b/src/instructions/RabbitizerInstructionR5900/RabbitizerInstructionR5900_OperandType.c index fad90df..616524a 100644 --- a/src/instructions/RabbitizerInstructionR5900/RabbitizerInstructionR5900_OperandType.c +++ b/src/instructions/RabbitizerInstructionR5900/RabbitizerInstructionR5900_OperandType.c @@ -15,7 +15,11 @@ size_t RabbitizerOperandType_process_r5900_I(UNUSED const RabbitizerInstruction UNUSED const char *immOverride, UNUSED size_t immOverrideLength) { size_t totalSize = 0; - RABUTILS_BUFFER_CPY(dst, totalSize, "I"); + if (RabbitizerConfig_Cfg.toolchainTweaks.gnuMode) { + RABUTILS_BUFFER_CPY(dst, totalSize, "$I"); + } else { + RABUTILS_BUFFER_CPY(dst, totalSize, "I"); + } return totalSize; } @@ -24,7 +28,11 @@ size_t RabbitizerOperandType_process_r5900_Q(UNUSED const RabbitizerInstruction UNUSED const char *immOverride, UNUSED size_t immOverrideLength) { size_t totalSize = 0; - RABUTILS_BUFFER_CPY(dst, totalSize, "Q"); + if (RabbitizerConfig_Cfg.toolchainTweaks.gnuMode) { + RABUTILS_BUFFER_CPY(dst, totalSize, "$Q"); + } else { + RABUTILS_BUFFER_CPY(dst, totalSize, "Q"); + } return totalSize; } @@ -33,7 +41,11 @@ size_t RabbitizerOperandType_process_r5900_R(UNUSED const RabbitizerInstruction UNUSED const char *immOverride, UNUSED size_t immOverrideLength) { size_t totalSize = 0; - RABUTILS_BUFFER_CPY(dst, totalSize, "R"); + if (RabbitizerConfig_Cfg.toolchainTweaks.gnuMode) { + RABUTILS_BUFFER_CPY(dst, totalSize, "$R"); + } else { + RABUTILS_BUFFER_CPY(dst, totalSize, "R"); + } return totalSize; } @@ -42,7 +54,11 @@ size_t RabbitizerOperandType_process_r5900_ACC(UNUSED const RabbitizerInstructio UNUSED const char *immOverride, UNUSED size_t immOverrideLength) { size_t totalSize = 0; - RABUTILS_BUFFER_CPY(dst, totalSize, "ACC"); + if (RabbitizerConfig_Cfg.toolchainTweaks.gnuMode) { + RABUTILS_BUFFER_CPY(dst, totalSize, "$ACC"); + } else { + RABUTILS_BUFFER_CPY(dst, totalSize, "ACC"); + } return totalSize; } diff --git a/tables/tables/instr_id/r5900/r5900_cop2_special2.inc b/tables/tables/instr_id/r5900/r5900_cop2_special2.inc index b8edbce..b57d68c 100644 --- a/tables/tables/instr_id/r5900/r5900_cop2_special2.inc +++ b/tables/tables/instr_id/r5900/r5900_cop2_special2.inc @@ -216,7 +216,6 @@ Note: opcode is flo | ( RABBITIZER_DEF_INSTR_ID( r5900, 0x1F, vclipw, .operands={RAB_OPERAND_r5900_vfsxyzw, RAB_OPERAND_r5900_vftn}, - .instrSuffix=RABINSTRSUFFIX_R5900_xyzw, .isFloat=true ) // Clip