Commit 1575fe06 authored by Anton Blanchard's avatar Anton Blanchard Committed by Michael Ellerman

powerpc/sstep: mullw should calculate a 64 bit signed result

mullw should do a 32 bit signed multiply and create a 64 bit signed
result. It currently truncates the result to 32 bits.
Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 5bcaa4cc
...@@ -1651,8 +1651,9 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, ...@@ -1651,8 +1651,9 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
goto arith_done; goto arith_done;
case 235: /* mullw */ case 235: /* mullw */
op->val = (unsigned int) regs->gpr[ra] * op->val = (long)(int) regs->gpr[ra] *
(unsigned int) regs->gpr[rb]; (int) regs->gpr[rb];
goto arith_done; goto arith_done;
case 266: /* add */ case 266: /* add */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment