mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-27 14:39:12 +02:00
* use the generic code of tcg.getintregister, which supports 8-bit CPUs after merging trunk
git-svn-id: branches/z80@44398 -
This commit is contained in:
parent
755fe97c51
commit
943d0cbbe2
@ -41,7 +41,6 @@ unit cgcpu;
|
||||
procedure init_register_allocators;override;
|
||||
procedure done_register_allocators;override;
|
||||
|
||||
function getintregister(list:TAsmList;size:Tcgsize):Tregister;override;
|
||||
function getaddressregister(list:TAsmList):TRegister;override;
|
||||
|
||||
procedure a_load_const_cgpara(list : TAsmList;size : tcgsize;a : tcgint;const paraloc : TCGPara);override;
|
||||
@ -147,50 +146,6 @@ unit cgcpu;
|
||||
end;
|
||||
|
||||
|
||||
function tcgz80.getintregister(list: TAsmList; size: Tcgsize): Tregister;
|
||||
var
|
||||
tmp1,tmp2,tmp3 : TRegister;
|
||||
begin
|
||||
case size of
|
||||
OS_8,OS_S8:
|
||||
Result:=inherited getintregister(list, size);
|
||||
OS_16,OS_S16:
|
||||
begin
|
||||
Result:=inherited getintregister(list, OS_8);
|
||||
{ ensure that the high register can be retrieved by
|
||||
GetNextReg
|
||||
}
|
||||
if inherited getintregister(list, OS_8)<>GetNextReg(Result) then
|
||||
internalerror(2011021331);
|
||||
end;
|
||||
OS_32,OS_S32:
|
||||
begin
|
||||
Result:=inherited getintregister(list, OS_8);
|
||||
tmp1:=inherited getintregister(list, OS_8);
|
||||
{ ensure that the high register can be retrieved by
|
||||
GetNextReg
|
||||
}
|
||||
if tmp1<>GetNextReg(Result) then
|
||||
internalerror(2011021332);
|
||||
tmp2:=inherited getintregister(list, OS_8);
|
||||
{ ensure that the upper register can be retrieved by
|
||||
GetNextReg
|
||||
}
|
||||
if tmp2<>GetNextReg(tmp1) then
|
||||
internalerror(2011021333);
|
||||
tmp3:=inherited getintregister(list, OS_8);
|
||||
{ ensure that the upper register can be retrieved by
|
||||
GetNextReg
|
||||
}
|
||||
if tmp3<>GetNextReg(tmp2) then
|
||||
internalerror(2011021334);
|
||||
end;
|
||||
else
|
||||
internalerror(2011021330);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function tcgz80.getaddressregister(list: TAsmList): TRegister;
|
||||
begin
|
||||
Result:=getintregister(list,OS_ADDR);
|
||||
|
Loading…
Reference in New Issue
Block a user