From b598d09d4dfee2836ff31ed1b0372fa44600cd78 Mon Sep 17 00:00:00 2001 From: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Date: Sat, 14 Sep 2024 11:17:55 +0300 Subject: [PATCH] Fix a few conversion mistakes. --- PowerRecomp/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PowerRecomp/main.cpp b/PowerRecomp/main.cpp index 3ddbbf3..687e54e 100644 --- a/PowerRecomp/main.cpp +++ b/PowerRecomp/main.cpp @@ -626,12 +626,12 @@ int main() case PPC_INST_MULHW: // TODO: might be having 32 bit truncation here - std::println(f, "\tctx.r{}.s64 = (ctx.r{}.s32 * ctx.r{}.s32) << 32;", insn.operands[0], insn.operands[1], insn.operands[2]); + std::println(f, "\tctx.r{}.s64 = int64_t(ctx.r{}.s32 * ctx.r{}.s32) << 32;", insn.operands[0], insn.operands[1], insn.operands[2]); break; case PPC_INST_MULHWU: // TODO: might be having 32 bit truncation here - std::println(f, "\tctx.r{}.u64 = (ctx.r{}.u32 * ctx.r{}.u32) << 32;", insn.operands[0], insn.operands[1], insn.operands[2]); + std::println(f, "\tctx.r{}.u64 = uint64_t(ctx.r{}.u32 * ctx.r{}.u32) << 32;", insn.operands[0], insn.operands[1], insn.operands[2]); break; case PPC_INST_MULLD: @@ -687,7 +687,7 @@ int main() break; case PPC_INST_ORIS: - std::println(f, "\tctx.r{}.u64 = ctx.r{}.u64 | {}", insn.operands[0], insn.operands[1], insn.operands[2] << 16); + std::println(f, "\tctx.r{}.u64 = ctx.r{}.u64 | {};", insn.operands[0], insn.operands[1], insn.operands[2] << 16); break; case PPC_INST_RLDICL: