smulh: Fixed mul with 0 acting like it had a negative result.

This commit is contained in:
riperiperi 2018-06-06 23:43:09 +01:00
parent 658e3fe24a
commit 560001e02b

View file

@ -158,7 +158,7 @@ namespace ChocolArm64.Instruction
long Result = (long)UMulHi128((ulong)(LSign ? -LHS : LHS), (ulong)(RSign ? -RHS : RHS));
if (LSign != RSign)
if (LSign != RSign && LHS != 0 && RHS != 0)
return (-Result) - 1; //for negative results, hi 64-bits start at 0xFFF... and count back
return Result;
}