dyncom: Fix UMAAL

These need to be done as a 64-bit operation.
This commit is contained in:
Lioncash 2015-01-08 11:00:04 -05:00
parent 4c583732f2
commit 1cef6e92d5

View File

@ -6696,10 +6696,10 @@ unsigned InterpreterMainLoop(ARMul_State* state) {
{
if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) {
umaal_inst* const inst_cream = (umaal_inst*)inst_base->component;
const u32 rm = RM;
const u32 rn = RN;
const u32 rd_lo = RDLO;
const u32 rd_hi = RDHI;
const u64 rm = RM;
const u64 rn = RN;
const u64 rd_lo = RDLO;
const u64 rd_hi = RDHI;
const u64 result = (rm * rn) + rd_lo + rd_hi;
RDLO = (result & 0xFFFFFFFF);