Mercurial > repos > blastem
diff m68k_core_x86.c @ 732:61467483eb31
Fix div instruction when dest is d0 in 32-bit build
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 25 May 2015 13:21:24 -0700 |
parents | 59a98179d3ba |
children | fbda8e865dae |
line wrap: on
line diff
--- a/m68k_core_x86.c Sun May 24 21:11:18 2015 -0700 +++ b/m68k_core_x86.c Mon May 25 13:21:24 2015 -0700 @@ -1698,8 +1698,13 @@ } cmp_ir(code, 0, RAX, SZ_W); pop_r(code, RAX); - pop_r(code, RDX); - update_flags(opts, V0|Z|N); + if (dst_op->base == RDX) { + update_flags(opts, V0|Z|N); + add_ir(code, sizeof(void *), RSP, SZ_D); + } else { + pop_r(code, RDX); + update_flags(opts, V0|Z|N); + } code_ptr end_off = code->cur + 1; jmp(code, code->cur + 2); *norm_off = code->cur - (norm_off + 1);