diff options
author | Laurent Vivier <laurent@vivier.eu> | 2016-11-23 21:45:56 +0100 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2016-11-24 09:39:05 +0100 |
commit | 5436c29d78957a6825a93f0eb79dfab388641017 (patch) | |
tree | 9ae919c291e99edecc2e4184eb27993720ce3dbe /target-m68k/translate.c | |
parent | c090c97d925ce751d8834d5c5a404952598f67c0 (diff) |
target-m68k: Fix cmpa operand size
"The size of the operation can be specified as word or long.
Word length source operands are sign-extended to 32 bits for
comparison."
So comparison is always done using OS_LONG.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-m68k/translate.c')
-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 8e522db9f3..d2d68163b3 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -2170,7 +2170,7 @@ DISAS_INSN(cmpa) } SRC_EA(env, src, opsize, 1, NULL); reg = AREG(insn, 9); - gen_update_cc_cmp(s, reg, src, opsize); + gen_update_cc_cmp(s, reg, src, OS_LONG); } DISAS_INSN(eor) |