From 97f1d8302d9b53285fc5b8e06b596a807ecb78cd Mon Sep 17 00:00:00 2001 From: zilmar Date: Sun, 9 Oct 2016 20:20:10 +1100 Subject: [PATCH] [Android] Handle SPECIAL_XOR recompiler case --- .../Recompiler/Arm/ArmRecompilerOps.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp b/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp index f61bc5842..5ad9ea34c 100644 --- a/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp +++ b/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp @@ -2942,23 +2942,21 @@ void CArmRecompilerOps::SPECIAL_XOR() { if (IsConst(m_Opcode.rt) && IsConst(m_Opcode.rs)) { - g_Notify->BreakPoint(__FILE__, __LINE__); - CArmRecompilerOps::UnknownOpcode(); - /*if (IsMapped(m_Opcode.rd)) + if (IsMapped(m_Opcode.rd)) { - UnMap_GPR(m_Opcode.rd, false); + UnMap_GPR(m_Opcode.rd, false); } if (Is64Bit(m_Opcode.rt) || Is64Bit(m_Opcode.rs)) { - g_Notify->BreakPoint(__FILE__, __LINE__); - CX86RecompilerOps::UnknownOpcode(); + g_Notify->BreakPoint(__FILE__, __LINE__); + CArmRecompilerOps::UnknownOpcode(); } else { - m_RegWorkingSet.SetMipsRegState(m_Opcode.rd, CRegInfo::STATE_CONST_32_SIGN); - m_RegWorkingSet.SetMipsRegLo(m_Opcode.rd, GetMipsRegLo(m_Opcode.rt) ^ GetMipsRegLo(m_Opcode.rs)); - }*/ + m_RegWorkingSet.SetMipsRegState(m_Opcode.rd, CRegInfo::STATE_CONST_32_SIGN); + m_RegWorkingSet.SetMipsRegLo(m_Opcode.rd, GetMipsRegLo(m_Opcode.rt) ^ GetMipsRegLo(m_Opcode.rs)); + } } else if (IsMapped(m_Opcode.rt) && IsMapped(m_Opcode.rs)) {