PPCAnalyst: Actually check if instructions want CR

This commit is contained in:
JosJuice 2021-06-29 14:59:38 +02:00
parent 9d2c4aa325
commit e27339039c
1 changed files with 7 additions and 0 deletions

View File

@ -532,6 +532,13 @@ void PPCAnalyzer::SetInstructionStats(CodeBlock* block, CodeOp* code,
} }
code->wantsCR = BitSet8(0); 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); code->outputCR = BitSet8(0);
if (opinfo->flags & FL_SET_ALL_CR) if (opinfo->flags & FL_SET_ALL_CR)
code->outputCR = BitSet8(0xFF); code->outputCR = BitSet8(0xFF);