1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 18:53:28 +01:00

Fix VSLO and VSRO in the LLVM PPU recompiler

This commit is contained in:
jjsat 2018-06-10 17:33:26 +02:00 committed by Ivan
parent db9a6113d7
commit 53ca2526ed

View File

@ -1379,7 +1379,7 @@ void PPUTranslator::VSLH(ppu_opcode_t op)
void PPUTranslator::VSLO(ppu_opcode_t op)
{
// TODO (rare)
SetVr(op.vd, m_ir->CreateShl(GetVr(op.va, VrType::i128), m_ir->CreateShl(m_ir->CreateAnd(GetVr(op.vb, VrType::i128), 15), 3)));
SetVr(op.vd, m_ir->CreateShl(GetVr(op.va, VrType::i128), m_ir->CreateAnd(GetVr(op.vb, VrType::i128), 0x78)));
}
void PPUTranslator::VSLW(ppu_opcode_t op)
@ -1460,7 +1460,7 @@ void PPUTranslator::VSRH(ppu_opcode_t op)
void PPUTranslator::VSRO(ppu_opcode_t op)
{
// TODO (very rare)
SetVr(op.vd, m_ir->CreateLShr(GetVr(op.va, VrType::i128), m_ir->CreateShl(m_ir->CreateAnd(GetVr(op.vb, VrType::i128), 15), 3)));
SetVr(op.vd, m_ir->CreateLShr(GetVr(op.va, VrType::i128), m_ir->CreateAnd(GetVr(op.vb, VrType::i128), 0x78)));
}
void PPUTranslator::VSRW(ppu_opcode_t op)