mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-12 14:00:27 +02:00
Add a MIPSTables flag for ignoring the prefix.
This commit is contained in:
1 parent
afb7c0b83c
commit
dacbcbdf2b
3 files changed
+14
-10
No files matched your search
@@ -147,22 +147,22 @@ const MIPSInstruction tableImmediate[64] = //xxxxxx .....
|
||||
//48
|
||||
INSTR("ll", &Jit::Comp_Generic, Dis_Generic, Int_StoreSync, 0),
|
||||
INSTR("lwc1", &Jit::Comp_FPULS, Dis_FPULS, Int_FPULS, IN_RT|IN_RS_ADDR),
|
||||
INSTR("lv.s", &Jit::Comp_SV, Dis_SV, Int_SV, IS_VFPU),
|
||||
INSTR("lv.s", &Jit::Comp_SV, Dis_SV, Int_SV, IS_VFPU|VFPU_NO_PREFIX),
|
||||
{-2}, // HIT THIS IN WIPEOUT
|
||||
{VFPU4Jump},
|
||||
INSTR("lv", &Jit::Comp_SVQ, Dis_SVLRQ, Int_SVQ, IS_VFPU),
|
||||
INSTR("lv.q", &Jit::Comp_SVQ, Dis_SVQ, Int_SVQ, IS_VFPU), //copU
|
||||
INSTR("lv", &Jit::Comp_SVQ, Dis_SVLRQ, Int_SVQ, IS_VFPU|VFPU_NO_PREFIX),
|
||||
INSTR("lv.q", &Jit::Comp_SVQ, Dis_SVQ, Int_SVQ, IS_VFPU|VFPU_NO_PREFIX), //copU
|
||||
{VFPU5},
|
||||
//56
|
||||
INSTR("sc", &Jit::Comp_Generic, Dis_Generic, Int_StoreSync, 0),
|
||||
INSTR("swc1", &Jit::Comp_FPULS, Dis_FPULS, Int_FPULS, 0), //copU
|
||||
INSTR("sv.s", &Jit::Comp_SV, Dis_SV, Int_SV,IS_VFPU),
|
||||
INSTR("sv.s", &Jit::Comp_SV, Dis_SV, Int_SV,IS_VFPU|VFPU_NO_PREFIX),
|
||||
{-2},
|
||||
//60
|
||||
{VFPU6},
|
||||
INSTR("sv", &Jit::Comp_SVQ, Dis_SVLRQ, Int_SVQ, IS_VFPU), //copU
|
||||
INSTR("sv.q", &Jit::Comp_SVQ, Dis_SVQ, Int_SVQ, IS_VFPU),
|
||||
INSTR("vflush", &Jit::Comp_Generic, Dis_Vflush, Int_Vflush, IS_VFPU),
|
||||
INSTR("sv", &Jit::Comp_SVQ, Dis_SVLRQ, Int_SVQ, IS_VFPU|VFPU_NO_PREFIX), //copU
|
||||
INSTR("sv.q", &Jit::Comp_SVQ, Dis_SVQ, Int_SVQ, IS_VFPU|VFPU_NO_PREFIX),
|
||||
INSTR("vflush", &Jit::Comp_Generic, Dis_Vflush, Int_Vflush, IS_VFPU|VFPU_NO_PREFIX),
|
||||
};
|
||||
|
||||
const MIPSInstruction tableSpecial[64] = /// 000000 ...... ...... .......... xxxxxx
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define OUT_FPUFLAG 0x02000000
|
||||
#define OUT_EAT_PREFIX 0x04000000
|
||||
|
||||
#define VFPU_NO_PREFIX 0x08000000
|
||||
#define IS_VFPU 0x80000000
|
||||
|
||||
#ifndef CDECL
|
||||
|
||||
@@ -303,10 +303,13 @@ void Jit::Comp_Generic(u32 op)
|
||||
else
|
||||
_dbg_assert_msg_(JIT, 0, "Trying to compile instruction that can't be interpreted");
|
||||
|
||||
// Might have eaten prefixes, hard to tell...
|
||||
const int info = MIPSGetInfo(op);
|
||||
if ((info & IS_VFPU) != 0 && (info & OUT_EAT_PREFIX) == 0)
|
||||
js.PrefixUnknown();
|
||||
if ((info & IS_VFPU) != 0 && (info & VFPU_NO_PREFIX) == 0)
|
||||
{
|
||||
// If it does eat them, it'll happen in MIPSCompileOp().
|
||||
if ((info & OUT_EAT_PREFIX) == 0)
|
||||
js.PrefixUnknown();
|
||||
}
|
||||
}
|
||||
|
||||
void Jit::WriteExit(u32 destination, int exit_num)
|
||||
|
||||
Reference in new issue
Block a user