[AArch64] Implement mfmsr

This commit is contained in:
Ryan Houdek 2014-09-20 23:08:48 -05:00
parent 9530800fd0
commit 078147d424
3 changed files with 10 additions and 1 deletions

View File

@ -86,6 +86,7 @@ public:
// System Registers
void mtmsr(UGeckoInstruction inst);
void mfmsr(UGeckoInstruction inst);
void mcrf(UGeckoInstruction inst);
void mfsr(UGeckoInstruction inst);
void mtsr(UGeckoInstruction inst);

View File

@ -59,6 +59,14 @@ void JitArm64::mtmsr(UGeckoInstruction inst)
WriteExit(js.compilerPC + 4);
}
void JitArm64::mfmsr(UGeckoInstruction inst)
{
INSTRUCTION_START
JITDISABLE(bJITSystemRegistersOff);
LDR(INDEX_UNSIGNED, gpr.R(inst.RD), X29, PPCSTATE_OFF(msr));
}
void JitArm64::mcrf(UGeckoInstruction inst)
{
INSTRUCTION_START

View File

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