From 772a20f07d056dd1722ee0e6634d73901b6a5d3a Mon Sep 17 00:00:00 2001 From: zilmar Date: Thu, 21 Mar 2024 17:15:10 +1030 Subject: [PATCH] Core: Update CX86RecompilerOps::COP1_D_SQRT --- .../Recompiler/x86/x86RecompilerOps.cpp | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp b/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp index 852e94b16..e7811d2c4 100644 --- a/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp +++ b/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp @@ -8464,21 +8464,7 @@ void CX86RecompilerOps::COP1_D_SQRT() { if (FpuExceptionInRecompiler()) { - CompileInitFpuOperation(CRegInfo::RoundDefault); - if (m_RegWorkingSet.RegInStack(m_Opcode.fs, CRegInfo::FPU_Any) || - m_RegWorkingSet.RegInStack(m_Opcode.fd, CRegInfo::FPU_Any)) - { - g_Notify->BreakPoint(__FILE__, __LINE__); - return; - } - asmjit::x86::Gp TempReg = m_RegWorkingSet.FPRValuePointer(m_Opcode.fs, CRegInfo::FPU_Double); - CompileCheckFPUInput(TempReg, FpuOpSize_64bit); - m_RegWorkingSet.PrepareFPTopToBe(m_Opcode.fd, m_Opcode.fs, CRegInfo::FPU_Double); - m_Assembler.fsqrt(); - m_Assembler.mov(TempReg, (uint64_t)&m_TempValue64); - m_Assembler.fpuStoreQwordFromX86Reg(m_RegWorkingSet.StackTopPos(), TempReg, false); - CompileCheckFPUResult64(TempReg); - m_RegWorkingSet.SetFPTopAs(m_Opcode.fd); + COP1_D_Opcode(&CX86Ops::Fsqrt); } else {