Mercurial > repos > blastem
comparison m68k_core_x86.c @ 1026:7267bc1ab547
Fix bug in 68K movep.l when the destination is a register mapped to a host register
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 10 May 2016 08:59:17 -0700 |
parents | 784bc1e45e80 |
children | 2ec5e6eaf81d |
comparison
equal
deleted
inserted
replaced
1025:01a91df5b87c | 1026:7267bc1ab547 |
---|---|
947 mov_rr(code, opts->gen.scratch1, reg, SZ_D); | 947 mov_rr(code, opts->gen.scratch1, reg, SZ_D); |
948 pop_r(code, opts->gen.scratch1); | 948 pop_r(code, opts->gen.scratch1); |
949 add_ir(code, 2, opts->gen.scratch1, SZ_D); | 949 add_ir(code, 2, opts->gen.scratch1, SZ_D); |
950 push_r(code, opts->gen.scratch1); | 950 push_r(code, opts->gen.scratch1); |
951 call(code, opts->read_8); | 951 call(code, opts->read_8); |
952 movzx_rr(code, opts->gen.scratch1, opts->gen.scratch1, SZ_B, SZ_W); | |
952 shl_ir(code, 16, opts->gen.scratch1, SZ_D); | 953 shl_ir(code, 16, opts->gen.scratch1, SZ_D); |
953 or_rr(code, opts->gen.scratch1, reg, SZ_D); | 954 or_rr(code, opts->gen.scratch1, reg, SZ_D); |
954 } else { | 955 } else { |
955 push_r(code, opts->gen.scratch1); | 956 push_r(code, opts->gen.scratch1); |
956 call(code, opts->read_8); | 957 call(code, opts->read_8); |