mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-27 08:05:41 +00:00
CPU/Recompiler: Fix performance regression in AArch32/64
This commit is contained in:
parent
b2e8aa2d30
commit
7b87b386a9
|
@ -1469,8 +1469,6 @@ void CodeGenerator::EmitStoreGuestMemoryFastmem(const CodeBlockInstruction& cbi,
|
||||||
void CodeGenerator::EmitStoreGuestMemorySlowmem(const CodeBlockInstruction& cbi, const Value& address, RegSize size,
|
void CodeGenerator::EmitStoreGuestMemorySlowmem(const CodeBlockInstruction& cbi, const Value& address, RegSize size,
|
||||||
const Value& value, bool in_far_code)
|
const Value& value, bool in_far_code)
|
||||||
{
|
{
|
||||||
AddPendingCycles(true);
|
|
||||||
|
|
||||||
Value value_in_hr = GetValueInHostRegister(value);
|
Value value_in_hr = GetValueInHostRegister(value);
|
||||||
|
|
||||||
if (g_settings.cpu_recompiler_memory_exceptions)
|
if (g_settings.cpu_recompiler_memory_exceptions)
|
||||||
|
|
|
@ -1665,8 +1665,6 @@ void CodeGenerator::EmitStoreGuestMemoryFastmem(const CodeBlockInstruction& cbi,
|
||||||
void CodeGenerator::EmitStoreGuestMemorySlowmem(const CodeBlockInstruction& cbi, const Value& address, RegSize size,
|
void CodeGenerator::EmitStoreGuestMemorySlowmem(const CodeBlockInstruction& cbi, const Value& address, RegSize size,
|
||||||
const Value& value, bool in_far_code)
|
const Value& value, bool in_far_code)
|
||||||
{
|
{
|
||||||
AddPendingCycles(true);
|
|
||||||
|
|
||||||
Value value_in_hr = GetValueInHostRegister(value);
|
Value value_in_hr = GetValueInHostRegister(value);
|
||||||
|
|
||||||
if (g_settings.cpu_recompiler_memory_exceptions)
|
if (g_settings.cpu_recompiler_memory_exceptions)
|
||||||
|
|
|
@ -44,8 +44,8 @@ Value CodeGenerator::EmitLoadGuestMemory(const CodeBlockInstruction& cbi, const
|
||||||
if (g_settings.IsUsingFastmem() && Bus::IsRAMAddress(static_cast<u32>(address.constant_value)))
|
if (g_settings.IsUsingFastmem() && Bus::IsRAMAddress(static_cast<u32>(address.constant_value)))
|
||||||
{
|
{
|
||||||
// have to mask away the high bits for mirrors, since we don't map them in fastmem
|
// have to mask away the high bits for mirrors, since we don't map them in fastmem
|
||||||
EmitLoadGuestRAMFastmem(Value::FromConstantU32(static_cast<u32>(address.constant_value) & Bus::g_ram_mask), size,
|
EmitLoadGuestRAMFastmem(Value::FromConstantU32(static_cast<u32>(address.constant_value) & Bus::g_ram_mask),
|
||||||
result);
|
size, result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue