From dd83a922bd3fdc4942f1e29294b32b7af2dafffa Mon Sep 17 00:00:00 2001 From: Ced2911 Date: Mon, 19 Aug 2013 09:47:53 +0200 Subject: [PATCH] add MFCR and MTCR --- Common/ppcEmitter.cpp | 6 ++++++ Common/ppcEmitter.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/Common/ppcEmitter.cpp b/Common/ppcEmitter.cpp index c910387fff..4e742b1bbc 100644 --- a/Common/ppcEmitter.cpp +++ b/Common/ppcEmitter.cpp @@ -345,6 +345,12 @@ namespace PpcGen { void PPCXEmitter::CMPL(PPCReg a, PPCReg b) { Write32((31 << 26) | (a << 16) | (b << 11) | (1<<6)); } + void PPCXEmitter::MFCR (PPCReg dest) { + Write32(0x7C000026 | (dest << 21)); + } + void PPCXEmitter::MTCR (PPCReg dest) { + Write32(0x7C000120 | (dest << 21) | (0xff<<12)); + } // Others operation void PPCXEmitter::ORI(PPCReg src, PPCReg dest, unsigned short imm) { diff --git a/Common/ppcEmitter.h b/Common/ppcEmitter.h index a69664c847..d68bce65ce 100644 --- a/Common/ppcEmitter.h +++ b/Common/ppcEmitter.h @@ -286,6 +286,8 @@ namespace PpcGen void CMPI (PPCReg dest, unsigned short imm); void CMPL (PPCReg a, PPCReg b); void CMP (PPCReg a, PPCReg b); + void MFCR (PPCReg dest); + void MTCR (PPCReg dest); void Prologue(); void Epilogue();