summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-07-03 20:48:56 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-07-03 20:48:56 +0000
commit0b390d252cdb5c220520b1c056f44b266147ea00 (patch)
tree2233dfc1db56f062c1127c334baa8f6336177cff
parentecc2e67a20ddd959048ff1d11b116f2ed28a2626 (diff)
downloadfpc-0b390d252cdb5c220520b1c056f44b266147ea00.tar.gz
+ fccX registers
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@36633 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--compiler/sparc/rspcon.inc5
-rw-r--r--compiler/sparc/rspdwrf.inc5
-rw-r--r--compiler/sparc/rspnor.inc2
-rw-r--r--compiler/sparc/rspnum.inc5
-rw-r--r--compiler/sparc/rsprni.inc17
-rw-r--r--compiler/sparc/rspsri.inc31
-rw-r--r--compiler/sparc/rspstab.inc5
-rw-r--r--compiler/sparc/rspstd.inc5
-rw-r--r--compiler/sparc/rspsup.inc5
-rw-r--r--compiler/sparc64/rsp64con.inc4
-rw-r--r--compiler/sparc64/rsp64dwrf.inc4
-rw-r--r--compiler/sparc64/rsp64nor.inc2
-rw-r--r--compiler/sparc64/rsp64num.inc4
-rw-r--r--compiler/sparc64/rsp64rni.inc14
-rw-r--r--compiler/sparc64/rsp64sri.inc26
-rw-r--r--compiler/sparc64/rsp64stab.inc4
-rw-r--r--compiler/sparc64/rsp64std.inc4
-rw-r--r--compiler/sparc64/rsp64sup.inc4
-rw-r--r--compiler/sparcgen/spreg.dat6
19 files changed, 114 insertions, 38 deletions
diff --git a/compiler/sparc/rspcon.inc b/compiler/sparc/rspcon.inc
index 7489dfb3f8..6e579795cc 100644
--- a/compiler/sparc/rspcon.inc
+++ b/compiler/sparc/rspcon.inc
@@ -122,6 +122,11 @@ NR_PSR = tregister($05000004);
NR_TBR = tregister($05000005);
NR_WIM = tregister($05000006);
NR_Y = tregister($05000007);
+NR_ICC = tregister($05000008);
+NR_FCC0 = tregister($0500000a);
+NR_FCC1 = tregister($0500000b);
+NR_FCC2 = tregister($0500000c);
+NR_FCC3 = tregister($0500000d);
NR_ASR0 = tregister($04000000);
NR_ASR1 = tregister($04000001);
NR_ASR2 = tregister($04000002);
diff --git a/compiler/sparc/rspdwrf.inc b/compiler/sparc/rspdwrf.inc
index 5c50f801f1..1ff0290f57 100644
--- a/compiler/sparc/rspdwrf.inc
+++ b/compiler/sparc/rspdwrf.inc
@@ -122,6 +122,11 @@
67,
66,
64,
+63,
+63,
+63,
+63,
+63,
32,
32,
32,
diff --git a/compiler/sparc/rspnor.inc b/compiler/sparc/rspnor.inc
index 74d41bea85..a5f247700e 100644
--- a/compiler/sparc/rspnor.inc
+++ b/compiler/sparc/rspnor.inc
@@ -1,2 +1,2 @@
{ don't edit, this file is generated from spreg.dat }
-155
+160
diff --git a/compiler/sparc/rspnum.inc b/compiler/sparc/rspnum.inc
index f3ee22ab6b..3fce611779 100644
--- a/compiler/sparc/rspnum.inc
+++ b/compiler/sparc/rspnum.inc
@@ -122,6 +122,11 @@ NR_PSR,
NR_TBR,
NR_WIM,
NR_Y,
+NR_ICC,
+NR_FCC0,
+NR_FCC1,
+NR_FCC2,
+NR_FCC3,
NR_ASR0,
NR_ASR1,
NR_ASR2,
diff --git a/compiler/sparc/rsprni.inc b/compiler/sparc/rsprni.inc
index 487c8b6b74..23ffeacae2 100644
--- a/compiler/sparc/rsprni.inc
+++ b/compiler/sparc/rsprni.inc
@@ -114,11 +114,6 @@
112,
113,
114,
-123,
-124,
-125,
-126,
-127,
128,
129,
130,
@@ -146,6 +141,11 @@
152,
153,
154,
+155,
+156,
+157,
+158,
+159,
115,
116,
117,
@@ -153,4 +153,9 @@
119,
120,
121,
-122
+122,
+123,
+124,
+125,
+126,
+127
diff --git a/compiler/sparc/rspsri.inc b/compiler/sparc/rspsri.inc
index 1cec588a2b..1d12185cd2 100644
--- a/compiler/sparc/rspsri.inc
+++ b/compiler/sparc/rspsri.inc
@@ -1,36 +1,36 @@
{ don't edit, this file is generated from spreg.dat }
-123,
-124,
-133,
-134,
-135,
-136,
-137,
+128,
+129,
138,
139,
140,
141,
142,
-125,
143,
144,
145,
146,
147,
+130,
148,
149,
150,
151,
152,
-126,
153,
154,
-127,
-128,
-129,
-130,
+155,
+156,
+157,
131,
+158,
+159,
132,
+133,
+134,
+135,
+136,
+137,
83,
84,
93,
@@ -113,6 +113,10 @@
42,
43,
44,
+124,
+125,
+126,
+127,
33,
116,
115,
@@ -132,6 +136,7 @@
30,
31,
32,
+123,
17,
18,
19,
diff --git a/compiler/sparc/rspstab.inc b/compiler/sparc/rspstab.inc
index 5c50f801f1..1ff0290f57 100644
--- a/compiler/sparc/rspstab.inc
+++ b/compiler/sparc/rspstab.inc
@@ -122,6 +122,11 @@
67,
66,
64,
+63,
+63,
+63,
+63,
+63,
32,
32,
32,
diff --git a/compiler/sparc/rspstd.inc b/compiler/sparc/rspstd.inc
index aed5aec9d0..e84b68d8c5 100644
--- a/compiler/sparc/rspstd.inc
+++ b/compiler/sparc/rspstd.inc
@@ -122,6 +122,11 @@
'%tbr',
'%wim',
'%y',
+'%icc',
+'%fcc0',
+'%fcc1',
+'%fcc2',
+'%fcc3',
'%asr0',
'%asr1',
'%asr2',
diff --git a/compiler/sparc/rspsup.inc b/compiler/sparc/rspsup.inc
index 7a1a7cd18c..fb780a7336 100644
--- a/compiler/sparc/rspsup.inc
+++ b/compiler/sparc/rspsup.inc
@@ -122,6 +122,11 @@ RS_PSR = $04;
RS_TBR = $05;
RS_WIM = $06;
RS_Y = $07;
+RS_ICC = $08;
+RS_FCC0 = $0a;
+RS_FCC1 = $0b;
+RS_FCC2 = $0c;
+RS_FCC3 = $0d;
RS_ASR0 = $00;
RS_ASR1 = $01;
RS_ASR2 = $02;
diff --git a/compiler/sparc64/rsp64con.inc b/compiler/sparc64/rsp64con.inc
index 9f5069191d..016dfca34f 100644
--- a/compiler/sparc64/rsp64con.inc
+++ b/compiler/sparc64/rsp64con.inc
@@ -140,6 +140,10 @@ NR_WIM = tregister($05000006);
NR_Y = tregister($05000007);
NR_ICC = tregister($05000008);
NR_XCC = tregister($05000009);
+NR_FCC0 = tregister($0500000a);
+NR_FCC1 = tregister($0500000b);
+NR_FCC2 = tregister($0500000c);
+NR_FCC3 = tregister($0500000d);
NR_ASR0 = tregister($04000000);
NR_ASR1 = tregister($04000001);
NR_ASR2 = tregister($04000002);
diff --git a/compiler/sparc64/rsp64dwrf.inc b/compiler/sparc64/rsp64dwrf.inc
index e7a45fe81a..8e85feb7b3 100644
--- a/compiler/sparc64/rsp64dwrf.inc
+++ b/compiler/sparc64/rsp64dwrf.inc
@@ -140,6 +140,10 @@
64,
63,
62,
+63,
+63,
+63,
+63,
32,
32,
32,
diff --git a/compiler/sparc64/rsp64nor.inc b/compiler/sparc64/rsp64nor.inc
index ee19aaff6c..a7bdacb98f 100644
--- a/compiler/sparc64/rsp64nor.inc
+++ b/compiler/sparc64/rsp64nor.inc
@@ -1,2 +1,2 @@
{ don't edit, this file is generated from spreg.dat }
-173
+177
diff --git a/compiler/sparc64/rsp64num.inc b/compiler/sparc64/rsp64num.inc
index f8a025114c..054fd1d7d5 100644
--- a/compiler/sparc64/rsp64num.inc
+++ b/compiler/sparc64/rsp64num.inc
@@ -140,6 +140,10 @@ NR_WIM,
NR_Y,
NR_ICC,
NR_XCC,
+NR_FCC0,
+NR_FCC1,
+NR_FCC2,
+NR_FCC3,
NR_ASR0,
NR_ASR1,
NR_ASR2,
diff --git a/compiler/sparc64/rsp64rni.inc b/compiler/sparc64/rsp64rni.inc
index 8051852a4c..2e5999dcc5 100644
--- a/compiler/sparc64/rsp64rni.inc
+++ b/compiler/sparc64/rsp64rni.inc
@@ -130,10 +130,6 @@
128,
129,
130,
-141,
-142,
-143,
-144,
145,
146,
147,
@@ -162,6 +158,10 @@
170,
171,
172,
+173,
+174,
+175,
+176,
131,
132,
133,
@@ -171,4 +171,8 @@
137,
138,
139,
-140
+140,
+141,
+142,
+143,
+144
diff --git a/compiler/sparc64/rsp64sri.inc b/compiler/sparc64/rsp64sri.inc
index 2729e625e9..b558eea29b 100644
--- a/compiler/sparc64/rsp64sri.inc
+++ b/compiler/sparc64/rsp64sri.inc
@@ -1,36 +1,36 @@
{ don't edit, this file is generated from spreg.dat }
-141,
-142,
-151,
-152,
-153,
-154,
+145,
+146,
155,
156,
157,
158,
159,
160,
-143,
161,
162,
163,
164,
+147,
165,
166,
167,
168,
169,
170,
-144,
171,
172,
-145,
-146,
-147,
+173,
+174,
148,
+175,
+176,
149,
150,
+151,
+152,
+153,
+154,
99,
100,
109,
@@ -129,6 +129,10 @@
42,
43,
44,
+141,
+142,
+143,
+144,
33,
132,
131,
diff --git a/compiler/sparc64/rsp64stab.inc b/compiler/sparc64/rsp64stab.inc
index e7a45fe81a..8e85feb7b3 100644
--- a/compiler/sparc64/rsp64stab.inc
+++ b/compiler/sparc64/rsp64stab.inc
@@ -140,6 +140,10 @@
64,
63,
62,
+63,
+63,
+63,
+63,
32,
32,
32,
diff --git a/compiler/sparc64/rsp64std.inc b/compiler/sparc64/rsp64std.inc
index 3ed960594e..f6faee0052 100644
--- a/compiler/sparc64/rsp64std.inc
+++ b/compiler/sparc64/rsp64std.inc
@@ -140,6 +140,10 @@
'%y',
'%icc',
'%xcc',
+'%fcc0',
+'%fcc1',
+'%fcc2',
+'%fcc3',
'%asr0',
'%asr1',
'%asr2',
diff --git a/compiler/sparc64/rsp64sup.inc b/compiler/sparc64/rsp64sup.inc
index c5b1c29f2f..76b50b1f3c 100644
--- a/compiler/sparc64/rsp64sup.inc
+++ b/compiler/sparc64/rsp64sup.inc
@@ -140,6 +140,10 @@ RS_WIM = $06;
RS_Y = $07;
RS_ICC = $08;
RS_XCC = $09;
+RS_FCC0 = $0a;
+RS_FCC1 = $0b;
+RS_FCC2 = $0c;
+RS_FCC3 = $0d;
RS_ASR0 = $00;
RS_ASR1 = $01;
RS_ASR2 = $02;
diff --git a/compiler/sparcgen/spreg.dat b/compiler/sparcgen/spreg.dat
index 7b146e5250..d79e85902d 100644
--- a/compiler/sparcgen/spreg.dat
+++ b/compiler/sparcgen/spreg.dat
@@ -152,8 +152,12 @@ PSR,$05,$00,$04,%psr,65,65
TBR,$05,$00,$05,%tbr,67,67
WIM,$05,$00,$06,%wim,66,66
Y,$05,$00,$07,%y,64,64
-ICC,$05,$00,$08,%icc,63,63,SPARC64
+ICC,$05,$00,$08,%icc,63,63
XCC,$05,$00,$09,%xcc,62,62,SPARC64
+FCC0,$05,$00,$0a,%fcc0,63,63
+FCC1,$05,$00,$0b,%fcc1,63,63
+FCC2,$05,$00,$0c,%fcc2,63,63
+FCC3,$05,$00,$0d,%fcc3,63,63
; Ancillary State Registers
ASR0,$04,$00,$00,%asr0,32,32