projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c2c7685
)
m68k: fix subx mem, mem instruction
author
Pavel Dovgalyuk
<Pavel.Dovgaluk@ispras.ru>
Wed, 18 Apr 2018 06:41:53 +0000
(09:41 +0300)
committer
Laurent Vivier
<laurent@vivier.eu>
Mon, 30 Apr 2018 13:43:54 +0000
(15:43 +0200)
This patch fixes decrement of the pointers for subx mem, mem instructions.
Without the patch pointers are decremented by OS_* constant value instead of
retrieving the corresponding data size and using it as a decrement.
Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <
20180418064152
.24606.71975.stgit@pasha-VirtualBox>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
target/m68k/translate.c
patch
|
blob
|
history
diff --git
a/target/m68k/translate.c
b/target/m68k/translate.c
index 6beaf9ed66722d2e2b0b169cb4656bff592fc31b..e407ba2db336dd6ad657e2ed58164bcfe8ca1763 100644
(file)
--- a/
target/m68k/translate.c
+++ b/
target/m68k/translate.c
@@
-3166,11
+3166,11
@@
DISAS_INSN(subx_mem)
opsize = insn_opsize(insn);
addr_src = AREG(insn, 0);
- tcg_gen_subi_i32(addr_src, addr_src, opsize);
+ tcg_gen_subi_i32(addr_src, addr_src, opsize
_bytes(opsize)
);
src = gen_load(s, opsize, addr_src, 1, IS_USER(s));
addr_dest = AREG(insn, 9);
- tcg_gen_subi_i32(addr_dest, addr_dest, opsize);
+ tcg_gen_subi_i32(addr_dest, addr_dest, opsize
_bytes(opsize)
);
dest = gen_load(s, opsize, addr_dest, 1, IS_USER(s));
gen_subx(s, src, dest, opsize);