spu: Mask SRR0 at write

This commit is contained in:
Eladash 2019-10-01 10:06:34 +03:00 committed by Ivan
parent 3455d76970
commit c2278fb879
4 changed files with 4 additions and 4 deletions

View file

@ -2369,6 +2369,7 @@ void spu_recompiler::WRCH(spu_opcode_t op)
case SPU_WrSRR0:
{
c->mov(*addr, SPU_OFF_32(gpr, op.rt, &v128::_u32, 3));
c->and_(*addr, 0x3fffc);
c->mov(SPU_OFF_32(srr0), *addr);
return;
}
@ -2712,7 +2713,6 @@ void spu_recompiler::BISL(spu_opcode_t op)
void spu_recompiler::IRET(spu_opcode_t op)
{
c->mov(*addr, SPU_OFF_32(srr0));
c->and_(*addr, 0x3fffc);
branch_indirect(op);
m_pos = -1;
}