mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-07-09 17:25:18 -06:00
SPU Analyzer: fix wrong divisor in Giga const-prop re-decode
The "Fill more block info" re-decode indexed result.data[(ia - lsa) / 41] instead of / 4 (its companion decode uses / 4), so it read the wrong word and corrupted the per-block reg_const / reg_val32 constant propagation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
064365d6fb
commit
42242b3c43
@ -4573,7 +4573,7 @@ spu_program spu_recompiler_base::analyse(const be_t<u32>* ls, u32 entry_point, s
|
||||
for (u32 ia = addr; ia < addr + bb.size * 4; ia += 4)
|
||||
{
|
||||
// Decode instruction again
|
||||
op.opcode = std::bit_cast<be_t<u32>>(result.data[(ia - lsa) / 41]);
|
||||
op.opcode = std::bit_cast<be_t<u32>>(result.data[(ia - lsa) / 4]);
|
||||
last_inst = g_spu_itype.decode(op.opcode);
|
||||
|
||||
// Propagate some constants
|
||||
|
||||
Loading…
Reference in New Issue
Block a user