Fixes ARMv7 FP loadstores using fastmem when not enabled.
This commit is contained in:
parent
aa2fc1f66b
commit
f9208dcc13
|
@ -135,8 +135,10 @@ void JitArm::lfXX(UGeckoInstruction inst)
|
|||
MOV(RA, rB);
|
||||
|
||||
// This branch gets changed to a NOP when the fastpath fails
|
||||
FixupBranch fast_path = B();
|
||||
FixupBranch slow_out;
|
||||
FixupBranch fast_path;
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem)
|
||||
fast_path = B();
|
||||
|
||||
{
|
||||
PUSH(4, R0, R1, R2, R3);
|
||||
MOV(R0, rB);
|
||||
|
@ -160,8 +162,10 @@ void JitArm::lfXX(UGeckoInstruction inst)
|
|||
#endif
|
||||
}
|
||||
POP(4, R0, R1, R2, R3);
|
||||
slow_out = B();
|
||||
}
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem)
|
||||
{
|
||||
FixupBranch slow_out = B();
|
||||
SetJumpTarget(fast_path);
|
||||
{
|
||||
Operand2 mask(2, 1); // ~(Memory::MEMVIEW32_MASK)
|
||||
|
@ -185,8 +189,8 @@ void JitArm::lfXX(UGeckoInstruction inst)
|
|||
}
|
||||
gpr.Unlock(rC);
|
||||
}
|
||||
|
||||
SetJumpTarget(slow_out);
|
||||
}
|
||||
|
||||
gpr.Unlock(rA, rB);
|
||||
SetJumpTarget(DoNotLoad);
|
||||
|
@ -309,8 +313,10 @@ void JitArm::stfXX(UGeckoInstruction inst)
|
|||
}
|
||||
|
||||
// This branch gets changed to a NOP when the fastpath fails
|
||||
FixupBranch fast_path = B();
|
||||
FixupBranch slow_out;
|
||||
FixupBranch fast_path;
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem)
|
||||
fast_path = B();
|
||||
|
||||
{
|
||||
PUSH(4, R0, R1, R2, R3);
|
||||
if (single)
|
||||
|
@ -334,8 +340,11 @@ void JitArm::stfXX(UGeckoInstruction inst)
|
|||
BL(rA);
|
||||
}
|
||||
POP(4, R0, R1, R2, R3);
|
||||
slow_out = B();
|
||||
}
|
||||
|
||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem)
|
||||
{
|
||||
FixupBranch slow_out = B();
|
||||
SetJumpTarget(fast_path);
|
||||
{
|
||||
Operand2 mask(2, 1); // ~(Memory::MEMVIEW32_MASK)
|
||||
|
@ -358,8 +367,8 @@ void JitArm::stfXX(UGeckoInstruction inst)
|
|||
}
|
||||
gpr.Unlock(rC);
|
||||
}
|
||||
|
||||
SetJumpTarget(slow_out);
|
||||
}
|
||||
|
||||
gpr.Unlock(rA, rB);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue