[ARM] Implement mfmsr

This commit is contained in:
Ryan Houdek 2013-07-17 01:25:06 -05:00
parent bab3032185
commit fc6e06cb72
3 changed files with 9 additions and 1 deletions

View file

@ -162,6 +162,7 @@ public:
// System Registers
void mtmsr(UGeckoInstruction _inst);
void mfmsr(UGeckoInstruction _inst);
void mtspr(UGeckoInstruction _inst);
void mfspr(UGeckoInstruction _inst);

View file

@ -102,3 +102,10 @@ void JitArm::mtmsr(UGeckoInstruction inst)
STR(gpr.R(inst.RS), R9, PPCSTATE_OFF(msr));
WriteExit(js.compilerPC + 4, 0);
}
void JitArm::mfmsr(UGeckoInstruction inst)
{
INSTRUCTION_START
JITDISABLE(SystemRegisters)
LDR(gpr.R(inst.RD), R9, PPCSTATE_OFF(msr));
}

View file

@ -280,7 +280,7 @@ static GekkoOPTemplate table31[] =
{983, &JitArm::Default}, //"stfiwx", OPTYPE_STOREFP, FL_IN_A0 | FL_IN_B}},
{19, &JitArm::Default}, //"mfcr", OPTYPE_SYSTEM, FL_OUT_D}},
{83, &JitArm::Default}, //"mfmsr", OPTYPE_SYSTEM, FL_OUT_D}},
{83, &JitArm::mfmsr}, //"mfmsr", OPTYPE_SYSTEM, FL_OUT_D}},
{144, &JitArm::Default}, //"mtcrf", OPTYPE_SYSTEM, 0}},
{146, &JitArm::mtmsr}, //"mtmsr", OPTYPE_SYSTEM, FL_ENDBLOCK}},
{210, &JitArm::Default}, //"mtsr", OPTYPE_SYSTEM, 0}},