JIT: Remove dead code.
This commit is contained in:
parent
06864e9fee
commit
85724dd78a
|
@ -314,38 +314,6 @@ void Jit64::stX(UGeckoInstruction inst)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Optimized stack access?
|
|
||||||
if (accessSize == 32 && !gpr.R(a).IsImm() && a == 1 && js.st.isFirstBlockOfFunction && jo.optimizeStack)
|
|
||||||
{
|
|
||||||
gpr.FlushLockX(ABI_PARAM1);
|
|
||||||
MOV(32, R(ABI_PARAM1), gpr.R(a));
|
|
||||||
MOV(32, R(EAX), gpr.R(s));
|
|
||||||
SwapAndStore(accessSize, MComplex(RBX, ABI_PARAM1, SCALE_1, (u32)offset), EAX);
|
|
||||||
if (update && offset)
|
|
||||||
{
|
|
||||||
gpr.Lock(a);
|
|
||||||
gpr.KillImmediate(a, true, true);
|
|
||||||
ADD(32, gpr.R(a), Imm32(offset));
|
|
||||||
gpr.UnlockAll();
|
|
||||||
}
|
|
||||||
gpr.UnlockAllX();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* // TODO - figure out why Beyond Good and Evil hates this
|
|
||||||
#if defined(_WIN32) && _M_X86_64
|
|
||||||
if (accessSize == 32 && !update)
|
|
||||||
{
|
|
||||||
// Fast and daring - requires 64-bit
|
|
||||||
MOV(32, R(EAX), gpr.R(s));
|
|
||||||
gpr.BindToRegister(a, true, false);
|
|
||||||
SwapAndStore(32, MComplex(RBX, gpr.RX(a), SCALE_1, (u32)offset), EAX);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#endif*/
|
|
||||||
|
|
||||||
//Still here? Do regular path.
|
|
||||||
|
|
||||||
gpr.FlushLockX(ECX, EDX);
|
gpr.FlushLockX(ECX, EDX);
|
||||||
gpr.Lock(s, a);
|
gpr.Lock(s, a);
|
||||||
MOV(32, R(EDX), gpr.R(a));
|
MOV(32, R(EDX), gpr.R(a));
|
||||||
|
|
|
@ -93,8 +93,6 @@ public:
|
||||||
void WriteCallInterpreter(UGeckoInstruction _inst);
|
void WriteCallInterpreter(UGeckoInstruction _inst);
|
||||||
void Cleanup();
|
void Cleanup();
|
||||||
|
|
||||||
void WriteToConstRamAddress(int accessSize, const Gen::OpArg& arg, u32 address);
|
|
||||||
void WriteFloatToConstRamAddress(const Gen::X64Reg& xmm_reg, u32 address);
|
|
||||||
void GenerateCarry(Gen::X64Reg temp_reg);
|
void GenerateCarry(Gen::X64Reg temp_reg);
|
||||||
|
|
||||||
void tri_op(int d, int a, int b, bool reversible, void (Gen::XEmitter::*op)(Gen::X64Reg, Gen::OpArg));
|
void tri_op(int d, int a, int b, bool reversible, void (Gen::XEmitter::*op)(Gen::X64Reg, Gen::OpArg));
|
||||||
|
|
|
@ -533,16 +533,6 @@ void EmuCodeBlock::WriteToConstRamAddress(int accessSize, Gen::X64Reg arg, u32 a
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmuCodeBlock::WriteFloatToConstRamAddress(const Gen::X64Reg& xmm_reg, u32 address)
|
|
||||||
{
|
|
||||||
#if _M_X86_64
|
|
||||||
MOV(32, R(RAX), Imm32(address));
|
|
||||||
MOVSS(MComplex(RBX, RAX, 1, 0), xmm_reg);
|
|
||||||
#else
|
|
||||||
MOVSS(M((void*)((u32)Memory::base + (address & Memory::MEMVIEW32_MASK))), xmm_reg);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void EmuCodeBlock::ForceSinglePrecisionS(X64Reg xmm) {
|
void EmuCodeBlock::ForceSinglePrecisionS(X64Reg xmm) {
|
||||||
// Most games don't need these. Zelda requires it though - some platforms get stuck without them.
|
// Most games don't need these. Zelda requires it though - some platforms get stuck without them.
|
||||||
if (jit->jo.accurateSinglePrecision)
|
if (jit->jo.accurateSinglePrecision)
|
||||||
|
|
|
@ -50,7 +50,6 @@ public:
|
||||||
void SafeWriteF32ToReg(Gen::X64Reg xmm_value, Gen::X64Reg reg_addr, s32 offset, u32 registersInUse, int flags = 0);
|
void SafeWriteF32ToReg(Gen::X64Reg xmm_value, Gen::X64Reg reg_addr, s32 offset, u32 registersInUse, int flags = 0);
|
||||||
|
|
||||||
void WriteToConstRamAddress(int accessSize, Gen::X64Reg arg, u32 address, bool swap = false);
|
void WriteToConstRamAddress(int accessSize, Gen::X64Reg arg, u32 address, bool swap = false);
|
||||||
void WriteFloatToConstRamAddress(const Gen::X64Reg& xmm_reg, u32 address);
|
|
||||||
void JitClearCA();
|
void JitClearCA();
|
||||||
void JitSetCA();
|
void JitSetCA();
|
||||||
void JitClearCAOV(bool oe);
|
void JitClearCAOV(bool oe);
|
||||||
|
|
Loading…
Reference in New Issue