Disables NEON optimized instructions.
These are causing issues in games. In particular you get pink on the screen in Animal Crossing. Disable until fully investigated. This also disables fastmem on floating point loadstore instructions which are horribly broken and won't actually backpatch when an invalid read/write is encountered.
This commit is contained in:
parent
00f4217382
commit
69c3e6516c
|
@ -27,6 +27,7 @@ void JitArm::fctiwx(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
INSTRUCTION_START
|
INSTRUCTION_START
|
||||||
JITDISABLE(bJITFloatingPointOff);
|
JITDISABLE(bJITFloatingPointOff);
|
||||||
|
FALLBACK_IF(true);
|
||||||
u32 b = inst.FB;
|
u32 b = inst.FB;
|
||||||
u32 d = inst.FD;
|
u32 d = inst.FD;
|
||||||
|
|
||||||
|
@ -134,6 +135,8 @@ void JitArm::fctiwzx(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
INSTRUCTION_START
|
INSTRUCTION_START
|
||||||
JITDISABLE(bJITFloatingPointOff);
|
JITDISABLE(bJITFloatingPointOff);
|
||||||
|
FALLBACK_IF(true);
|
||||||
|
|
||||||
u32 b = inst.FB;
|
u32 b = inst.FB;
|
||||||
u32 d = inst.FD;
|
u32 d = inst.FD;
|
||||||
|
|
||||||
|
@ -493,6 +496,8 @@ void JitArm::frsqrtex(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
INSTRUCTION_START
|
INSTRUCTION_START
|
||||||
JITDISABLE(bJITPairedOff);
|
JITDISABLE(bJITPairedOff);
|
||||||
|
FALLBACK_IF(true);
|
||||||
|
|
||||||
FALLBACK_IF(inst.Rc);
|
FALLBACK_IF(inst.Rc);
|
||||||
|
|
||||||
u32 b = inst.FB, d = inst.FD;
|
u32 b = inst.FB, d = inst.FD;
|
||||||
|
|
|
@ -134,7 +134,7 @@ void JitArm::lfXX(UGeckoInstruction inst)
|
||||||
if (update)
|
if (update)
|
||||||
MOV(RA, rB);
|
MOV(RA, rB);
|
||||||
|
|
||||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem)
|
if (false)
|
||||||
{
|
{
|
||||||
Operand2 mask(2, 1); // ~(Memory::MEMVIEW32_MASK)
|
Operand2 mask(2, 1); // ~(Memory::MEMVIEW32_MASK)
|
||||||
BIC(rB, rB, mask); // 1
|
BIC(rB, rB, mask); // 1
|
||||||
|
@ -301,7 +301,8 @@ void JitArm::stfXX(UGeckoInstruction inst)
|
||||||
MOV(RA, rB);
|
MOV(RA, rB);
|
||||||
SetCC();
|
SetCC();
|
||||||
}
|
}
|
||||||
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bFastmem)
|
|
||||||
|
if (false)
|
||||||
{
|
{
|
||||||
Operand2 mask(2, 1); // ~(Memory::MEMVIEW32_MASK)
|
Operand2 mask(2, 1); // ~(Memory::MEMVIEW32_MASK)
|
||||||
BIC(rB, rB, mask); // 1
|
BIC(rB, rB, mask); // 1
|
||||||
|
|
|
@ -21,6 +21,8 @@ void JitArm::ps_rsqrte(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
INSTRUCTION_START
|
INSTRUCTION_START
|
||||||
JITDISABLE(bJITPairedOff);
|
JITDISABLE(bJITPairedOff);
|
||||||
|
FALLBACK_IF(true);
|
||||||
|
|
||||||
FALLBACK_IF(inst.Rc);
|
FALLBACK_IF(inst.Rc);
|
||||||
|
|
||||||
u32 b = inst.FB, d = inst.FD;
|
u32 b = inst.FB, d = inst.FD;
|
||||||
|
|
Loading…
Reference in New Issue