diff options
author | Laurent Vivier <laurent@vivier.eu> | 2016-11-24 09:31:32 +0100 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2016-11-24 16:24:27 +0100 |
commit | 4a18cd44f3c905d443c26e26bb9b09932606d1a3 (patch) | |
tree | d293075386d1c98676ac8bb602ae024e3124b5eb | |
parent | 5436c29d78957a6825a93f0eb79dfab388641017 (diff) |
target-m68k: fix muluw/mulsw
"The multiplier and multiplicand are both word operands, and the result
is a long-word operand."
So compute flags on a long-word result, not on a word result.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <rth@twiddle.net>
-rw-r--r-- | target-m68k/translate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-m68k/translate.c b/target-m68k/translate.c index d2d68163b3..d6ed883882 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -1186,7 +1186,7 @@ DISAS_INSN(mulw) SRC_EA(env, src, OS_WORD, sign, NULL); tcg_gen_mul_i32(tmp, tmp, src); tcg_gen_mov_i32(reg, tmp); - gen_logic_cc(s, tmp, OS_WORD); + gen_logic_cc(s, tmp, OS_LONG); } DISAS_INSN(divw) |