mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 04:09:30 +02:00
* 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:
parent
4d875acdf1
commit
ccd23d288d
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user