diff options
| author | JosJuice <josjuice@gmail.com> | 2024-05-25 18:13:38 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2024-05-25 18:13:38 +0200 |
| commit | 30eff8e37c05e44e2a5c4d2b53de3348c00df3ee (patch) | |
| tree | c2373020b3b348b6e76a44e420d45ef11f7d72c4 /Source | |
| parent | e0e09d1074ee5b067d92cc50c093992fe9dca7a5 (diff) | |
PPCAnalyst: Fix handling of FL_READ_CR_BI
BI contains both the field and the flag (5 bits total), so we need to
shift away the 2 flag bits to get the 3 field bits. (Same as the
CRBA/CRBB handling in the code just below the BI code.)
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/PowerPC/PPCAnalyst.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/Core/Core/PowerPC/PPCAnalyst.cpp b/Source/Core/Core/PowerPC/PPCAnalyst.cpp index a0addb56c6..917b0b27eb 100644 --- a/Source/Core/Core/PowerPC/PPCAnalyst.cpp +++ b/Source/Core/Core/PowerPC/PPCAnalyst.cpp @@ -590,7 +590,7 @@ void PPCAnalyzer::SetInstructionStats(CodeBlock* block, CodeOp* code, } else if (opinfo->flags & FL_READ_CR_BI) { - code->crIn[code->inst.BI] = true; + code->crIn[code->inst.BI >> 2] = true; } else if (opinfo->type == OpType::CR) { |
