mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-23 03:02:53 +01:00
Debugger: Implement PPU SLWI, SRWI, SLDI mnemonics
This commit is contained in:
parent
841b8fad38
commit
c5aebe4564
@ -1163,9 +1163,20 @@ void PPUDisAsm::RLWIMI(ppu_opcode_t op)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PPUDisAsm::RLWINM(ppu_opcode_t op)
|
void PPUDisAsm::RLWINM(ppu_opcode_t op)
|
||||||
|
{
|
||||||
|
if (op.mb32 == 0 && op.sh32 == 31 - op.me32)
|
||||||
|
{
|
||||||
|
DisAsm_R2_INT1_RC("slwi", op.ra, op.rs, op.sh32, op.rc);
|
||||||
|
}
|
||||||
|
else if (op.me32 == 31 && op.sh32 == 32 - op.mb32)
|
||||||
|
{
|
||||||
|
DisAsm_R2_INT1_RC("srwi", op.ra, op.rs, 32 - op.sh32, op.rc);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
DisAsm_R2_INT3_RC("rlwinm", op.ra, op.rs, op.sh32, op.mb32, op.me32, op.rc);
|
DisAsm_R2_INT3_RC("rlwinm", op.ra, op.rs, op.sh32, op.mb32, op.me32, op.rc);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void PPUDisAsm::RLWNM(ppu_opcode_t op)
|
void PPUDisAsm::RLWNM(ppu_opcode_t op)
|
||||||
{
|
{
|
||||||
@ -1233,8 +1244,15 @@ void PPUDisAsm::RLDICR(ppu_opcode_t op)
|
|||||||
const u32 sh = op.sh64;
|
const u32 sh = op.sh64;
|
||||||
const u32 me = op.mbe64;
|
const u32 me = op.mbe64;
|
||||||
|
|
||||||
|
if (sh == 63 - me)
|
||||||
|
{
|
||||||
|
DisAsm_R2_INT1_RC("sldi", op.ra, op.rs, sh, op.rc);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
DisAsm_R2_INT2_RC("rldicr", op.ra, op.rs, sh, me, op.rc);
|
DisAsm_R2_INT2_RC("rldicr", op.ra, op.rs, sh, me, op.rc);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void PPUDisAsm::RLDIC(ppu_opcode_t op)
|
void PPUDisAsm::RLDIC(ppu_opcode_t op)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user