diff m68k_core_x86.c @ 979:771875b5f519

Fix order of writes for move.l with a predec destination
author Michael Pavone <pavone@retrodev.com>
date Sun, 24 Apr 2016 00:22:38 -0700
parents 8cdd4ddedd9a
children 902c53d9c16f
line wrap: on
line diff
--- a/m68k_core_x86.c	Sat Apr 23 18:14:01 2016 -0700
+++ b/m68k_core_x86.c	Sun Apr 24 00:22:38 2016 -0700
@@ -692,7 +692,7 @@
 		update_flags(opts, N|Z|V0|C0);
 	}
 	if (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode != MODE_AREG) {
-		m68k_write_size(opts, inst->extra.size);
+		m68k_write_size(opts, inst->extra.size, inst->dst.addr_mode == MODE_AREG_PREDEC);
 		if (inst->dst.addr_mode == MODE_AREG_POSTINC) {
 			inc_amount = inst->extra.size == OPSIZE_WORD ? 2 : (inst->extra.size == OPSIZE_LONG ? 4 : (inst->dst.params.regs.pri == 7 ? 2 : 1));
 			addi_areg(opts, inc_amount, inst->dst.params.regs.pri);