diff --git a/Source/Core/Core/PowerPC/PPCAnalyst.cpp b/Source/Core/Core/PowerPC/PPCAnalyst.cpp index 127d3f1cd4..f6d9459e21 100644 --- a/Source/Core/Core/PowerPC/PPCAnalyst.cpp +++ b/Source/Core/Core/PowerPC/PPCAnalyst.cpp @@ -532,6 +532,13 @@ void PPCAnalyzer::SetInstructionStats(CodeBlock* block, CodeOp* code, } code->wantsCR = BitSet8(0); + if (opinfo->flags & FL_READ_ALL_CR) + code->wantsCR = BitSet8(0xFF); + else if (opinfo->flags & FL_READ_CRn) + code->wantsCR[code->inst.CRFS] = true; + else if (opinfo->flags & FL_READ_CR_BI) + code->wantsCR[code->inst.BI] = true; + code->outputCR = BitSet8(0); if (opinfo->flags & FL_SET_ALL_CR) code->outputCR = BitSet8(0xFF);