From db016f700124f2e03b790b2f6bfc8bc4596d186b Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sat, 23 Nov 2013 13:00:35 +0100 Subject: [PATCH] ARMJIT: Disable vsgn, reported to break Miami Vice --- Core/MIPS/ARM/ArmCompVFPU.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Core/MIPS/ARM/ArmCompVFPU.cpp b/Core/MIPS/ARM/ArmCompVFPU.cpp index c5801be680..83df876129 100644 --- a/Core/MIPS/ARM/ArmCompVFPU.cpp +++ b/Core/MIPS/ARM/ArmCompVFPU.cpp @@ -35,7 +35,7 @@ // All functions should have CONDITIONAL_DISABLE, so we can narrow things down to a file quickly. // Currently known non working ones should have DISABLE. -// #define CONDITIONAL_DISABLE { fpr.ReleaseSpillLocks(); Comp_Generic(op); return; } +// #define CONDITIONAL_DISABLE { fpr.ReleaseSpillLocksAndDiscardTemps(); Comp_Generic(op); return; } #define CONDITIONAL_DISABLE ; #define DISABLE { fpr.ReleaseSpillLocksAndDiscardTemps(); Comp_Generic(op); return; } #define NEON_IF_AVAILABLE(func) { if (jo.useNEONVFPU) { func(op); return; } } @@ -51,6 +51,8 @@ #define _IMM16 (signed short)(op & 0xFFFF) #define _IMM26 (op & 0x03FFFFFF) + + namespace MIPSComp { // Vector regs can overlap in all sorts of swizzled ways. @@ -1822,6 +1824,8 @@ namespace MIPSComp } void Jit::Comp_Vsgn(MIPSOpcode op) { + DISABLE; // Breaks Miami Vice + NEON_IF_AVAILABLE(CompNEON_Vsgn); CONDITIONAL_DISABLE; if (js.HasUnknownPrefix()) {