* more adaptions for SPARC64

git-svn-id: trunk@36381 -
This commit is contained in:
florian 2017-05-31 20:59:21 +00:00
parent b59e4f5652
commit 832ad67d63
4 changed files with 59 additions and 3 deletions

6
.gitattributes vendored
View File

@ -663,7 +663,6 @@ compiler/sparc/aoptcpu.pas svneol=native#text/plain
compiler/sparc/aoptcpub.pas svneol=native#text/plain
compiler/sparc/aoptcpud.pas svneol=native#text/plain
compiler/sparc/cgcpu.pas svneol=native#text/plain
compiler/sparc/cpubase.pas svneol=native#text/plain
compiler/sparc/cpuelf.pas svneol=native#text/plain
compiler/sparc/cpugas.pas svneol=native#text/plain
compiler/sparc/cpuinfo.pas svneol=native#text/plain
@ -679,7 +678,6 @@ compiler/sparc/ncpucnv.pas svneol=native#text/plain
compiler/sparc/ncpuinln.pas svneol=native#text/plain
compiler/sparc/ncpumat.pas svneol=native#text/plain
compiler/sparc/ncpuset.pas svneol=native#text/plain
compiler/sparc/opcode.inc svneol=native#text/plain
compiler/sparc/racpu.pas svneol=native#text/plain
compiler/sparc/racpugas.pas svneol=native#text/plain
compiler/sparc/rgcpu.pas svneol=native#text/plain
@ -692,7 +690,6 @@ compiler/sparc/rspsri.inc svneol=native#text/plain
compiler/sparc/rspstab.inc svneol=native#text/plain
compiler/sparc/rspstd.inc svneol=native#text/plain
compiler/sparc/rspsup.inc svneol=native#text/plain
compiler/sparc/strinst.inc svneol=native#text/plain
compiler/sparc/symcpu.pas svneol=native#text/plain
compiler/sparc64/cpuinfo.pas svneol=native#text/plain
compiler/sparc64/rsp64con.inc svneol=native#text/pascal
@ -704,7 +701,10 @@ compiler/sparc64/rsp64sri.inc svneol=native#text/pascal
compiler/sparc64/rsp64stab.inc svneol=native#text/pascal
compiler/sparc64/rsp64std.inc svneol=native#text/pascal
compiler/sparc64/rsp64sup.inc svneol=native#text/pascal
compiler/sparcgen/cpubase.pas svneol=native#text/plain
compiler/sparcgen/opcode.inc svneol=native#text/plain
compiler/sparcgen/spreg.dat svneol=native#text/plain
compiler/sparcgen/strinst.inc svneol=native#text/plain
compiler/switches.pas svneol=native#text/plain
compiler/symbase.pas svneol=native#text/plain
compiler/symconst.pas svneol=native#text/plain

View File

@ -53,6 +53,7 @@ uses
Registers
*****************************************************************************}
{$ifdef SPARC}
type
{ Number of registers used for indexing in tables }
tregisterindex=0..{$i rspnor.inc}-1;
@ -89,7 +90,46 @@ uses
regdwarf_table : array[tregisterindex] of ShortInt = (
{$i rspdwrf.inc}
);
{$endif SPARC}
{$ifdef SPARC64}
type
{ Number of registers used for indexing in tables }
tregisterindex=0..{$i rsp64nor.inc}-1;
totherregisterset = set of tregisterindex;
const
{ Available Superregisters }
{$i rsp64sup.inc}
{ No Subregisters }
R_SUBWHOLE = R_SUBQ;
{ Available Registers }
{$i rsp64con.inc}
first_int_imreg = $20;
first_fpu_imreg = $20;
{ MM Super register first and last }
first_mm_supreg = 0;
first_mm_imreg = 1;
{ TODO: Calculate bsstart}
regnumber_count_bsstart = 128;
regnumber_table : array[tregisterindex] of tregister = (
{$i rsp64num.inc}
);
regstabs_table : array[tregisterindex] of ShortInt = (
{$i rsp64stab.inc}
);
regdwarf_table : array[tregisterindex] of ShortInt = (
{$i rsp64dwrf.inc}
);
{$endif SPARC64}
{*****************************************************************************
Conditions
@ -298,6 +338,7 @@ implementation
uses
rgBase,verbose;
{$ifdef SPARC}
const
std_regname_table : TRegNameTAble = (
{$i rspstd.inc}
@ -310,7 +351,22 @@ implementation
std_regname_index : TRegisterIndexTable = (
{$i rspsri.inc}
);
{$endif SPARC}
{$ifdef SPARC64}
const
std_regname_table : TRegNameTAble = (
{$i rsp64std.inc}
);
regnumber_index : TRegisterIndexTable = (
{$i rsp64rni.inc}
);
std_regname_index : TRegisterIndexTable = (
{$i rsp64sri.inc}
);
{$endif SPARC64}
{*****************************************************************************
Helpers