Fix a few conversion mistakes.

This commit is contained in:
Skyth 2024-09-14 11:17:55 +03:00
parent 6c2a256c8a
commit b598d09d4d

View File

@ -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: