aboutsummaryrefslogtreecommitdiff
path: root/sim/d10v/simops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/d10v/simops.c')
-rw-r--r--sim/d10v/simops.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sim/d10v/simops.c b/sim/d10v/simops.c
index 6f12e5a..e5a0825 100644
--- a/sim/d10v/simops.c
+++ b/sim/d10v/simops.c
@@ -1577,11 +1577,14 @@ OP_1C00 ()
void
OP_3C00 ()
{
- int64 tmp;
+ uint64 tmp;
+ uint32 src1;
+ uint32 src2;
trace_input ("mulxu", OP_ACCUM_OUTPUT, OP_REG, OP_REG);
- tmp = SEXT40 (State.regs[OP[1]] * State.regs[OP[2]]);
-
+ src1 = (uint16) State.regs[OP[1]];
+ src2 = (uint16) State.regs[OP[2]];
+ tmp = src1 * src2;
if (State.FX)
tmp <<= 1;