diff --git a/rpcs3/Emu/Cell/PPUTranslator.cpp b/rpcs3/Emu/Cell/PPUTranslator.cpp index dfd17ea4e9..36b7f4afd7 100644 --- a/rpcs3/Emu/Cell/PPUTranslator.cpp +++ b/rpcs3/Emu/Cell/PPUTranslator.cpp @@ -3703,7 +3703,7 @@ void PPUTranslator::FCTIW(ppu_opcode_t op) void PPUTranslator::FCTIWZ(ppu_opcode_t op) { const auto b = GetFpr(op.frb); - SetFpr(op.frd, m_ir->CreateFPToSI(b, GetType())); + SetFpr(op.frd, Call(GetType(), "llvm.x86.sse2.cvttsd2si", m_ir->CreateInsertElement(GetUndef(), b, uint64_t{0}))); } void PPUTranslator::FDIV(ppu_opcode_t op) @@ -3949,7 +3949,7 @@ void PPUTranslator::FCTID(ppu_opcode_t op) void PPUTranslator::FCTIDZ(ppu_opcode_t op) { const auto b = GetFpr(op.frb); - SetFpr(op.frd, m_ir->CreateFPToSI(b, GetType())); + SetFpr(op.frd, Call(GetType(), "llvm.x86.sse2.cvttsd2si64", m_ir->CreateInsertElement(GetUndef(), b, uint64_t{0}))); } void PPUTranslator::FCFID(ppu_opcode_t op)