* handle same size, but different sign conversions properly in tcgz80.a_load_reg_ref,.a_load_ref_reg,.a_load_reg_reg

git-svn-id: branches/z80@45003 -
This commit is contained in:
nickysn 2020-04-22 21:42:00 +00:00
parent 4d875acdf1
commit ccd23d288d

View File

@ -1384,7 +1384,7 @@ unit cgcpu;
internalerror(2020040802);
href:=normalize_ref(list,Ref,[OT_REF_ADDR16,OT_REF_HL,OT_REF_IX_d,OT_REF_IY_d],regsused);
if (fromsize=tosize) or (fromsize in [OS_8,OS_16,OS_32]) then
if (tcgsize2size[fromsize]=tcgsize2size[tosize]) or (fromsize in [OS_8,OS_16,OS_32]) then
begin
getcpuregister(list,NR_A);
for i:=1 to tcgsize2size[fromsize] do
@ -1451,7 +1451,7 @@ unit cgcpu;
internalerror(2020040804);
href:=normalize_ref(list,Ref,[OT_REF_ADDR16,OT_REF_HL,OT_REF_IX_d,OT_REF_IY_d],regsused);
if (tosize=fromsize) or (fromsize in [OS_8,OS_16,OS_32]) then
if (tcgsize2size[tosize]=tcgsize2size[fromsize]) or (fromsize in [OS_8,OS_16,OS_32]) then
begin
getcpuregister(list,NR_A);
for i:=1 to tcgsize2size[fromsize] do
@ -1511,7 +1511,7 @@ unit cgcpu;
if tcgsize2size[fromsize]>tcgsize2size[tosize] then
fromsize:=tosize;
if (tosize=fromsize) or (fromsize in [OS_8,OS_16,OS_32]) then
if (tcgsize2size[tosize]=tcgsize2size[fromsize]) or (fromsize in [OS_8,OS_16,OS_32]) then
begin
if reg1<>reg2 then
for i:=1 to tcgsize2size[fromsize] do