summaryrefslogtreecommitdiff
path: root/target-m68k
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2016-11-24 09:31:32 +0100
committerLaurent Vivier <laurent@vivier.eu>2016-11-24 16:24:27 +0100
commit4a18cd44f3c905d443c26e26bb9b09932606d1a3 (patch)
treed293075386d1c98676ac8bb602ae024e3124b5eb /target-m68k
parent5436c29d78957a6825a93f0eb79dfab388641017 (diff)
downloadqemu-4a18cd44f3c905d443c26e26bb9b09932606d1a3.tar.gz
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>
Diffstat (limited to 'target-m68k')
-rw-r--r--target-m68k/translate.c2
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)