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);