mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 18:49:15 +02:00
* made (X|W)ZR and (W)SP separate registers, because a number of
instructions can use either depending on the encoding git-svn-id: trunk@29831 -
This commit is contained in:
parent
e8c9b94147
commit
f1b619a942
@ -70,6 +70,11 @@ W30,$01,$04,$1E,w30,30,30
|
|||||||
X30,$01,$05,$1E,x30,30,30
|
X30,$01,$05,$1E,x30,30,30
|
||||||
WZR,$01,$04,$1F,wzr,31,31
|
WZR,$01,$04,$1F,wzr,31,31
|
||||||
XZR,$01,$05,$1F,xzr,31,31
|
XZR,$01,$05,$1F,xzr,31,31
|
||||||
|
; sp and zr share the same register number, but we still have to be able to
|
||||||
|
; differentiate them because some instructions can be encoded with both ->
|
||||||
|
; use a different superregister after all
|
||||||
|
WSP,$01,$04,$20,wsp,31,31
|
||||||
|
SP,$01,$05,$20,sp,31,31
|
||||||
|
|
||||||
|
|
||||||
; vfp registers
|
; vfp registers
|
||||||
|
@ -75,7 +75,9 @@ unit cpubase;
|
|||||||
|
|
||||||
{ Integer Super registers first and last }
|
{ Integer Super registers first and last }
|
||||||
first_int_supreg = RS_X0;
|
first_int_supreg = RS_X0;
|
||||||
first_int_imreg = $20;
|
{ xzr and sp take up a separate super register because some instructions
|
||||||
|
are ambiguous otherwise }
|
||||||
|
first_int_imreg = $21;
|
||||||
|
|
||||||
{ Integer Super registers first and last }
|
{ Integer Super registers first and last }
|
||||||
first_fpu_supreg = RS_S0;
|
first_fpu_supreg = RS_S0;
|
||||||
@ -232,10 +234,6 @@ unit cpubase;
|
|||||||
Generic Register names
|
Generic Register names
|
||||||
*****************************************************************************}
|
*****************************************************************************}
|
||||||
|
|
||||||
NR_SP = NR_XZR;
|
|
||||||
RS_SP = RS_XZR;
|
|
||||||
NR_WSP = NR_WZR;
|
|
||||||
RS_WSP = RS_WZR;
|
|
||||||
|
|
||||||
{ Stack pointer register }
|
{ Stack pointer register }
|
||||||
NR_STACK_POINTER_REG = NR_SP;
|
NR_STACK_POINTER_REG = NR_SP;
|
||||||
|
@ -64,6 +64,8 @@ NR_W30 = tregister($0104001E);
|
|||||||
NR_X30 = tregister($0105001E);
|
NR_X30 = tregister($0105001E);
|
||||||
NR_WZR = tregister($0104001F);
|
NR_WZR = tregister($0104001F);
|
||||||
NR_XZR = tregister($0105001F);
|
NR_XZR = tregister($0105001F);
|
||||||
|
NR_WSP = tregister($01040020);
|
||||||
|
NR_SP = tregister($01050020);
|
||||||
NR_B0 = tregister($04010000);
|
NR_B0 = tregister($04010000);
|
||||||
NR_H0 = tregister($04030000);
|
NR_H0 = tregister($04030000);
|
||||||
NR_S0 = tregister($04090000);
|
NR_S0 = tregister($04090000);
|
||||||
|
@ -64,6 +64,8 @@
|
|||||||
30,
|
30,
|
||||||
31,
|
31,
|
||||||
31,
|
31,
|
||||||
|
31,
|
||||||
|
31,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
{ don't edit, this file is generated from a64reg.dat }
|
{ don't edit, this file is generated from a64reg.dat }
|
||||||
226
|
228
|
||||||
|
@ -64,6 +64,8 @@ tregister($0104001E),
|
|||||||
tregister($0105001E),
|
tregister($0105001E),
|
||||||
tregister($0104001F),
|
tregister($0104001F),
|
||||||
tregister($0105001F),
|
tregister($0105001F),
|
||||||
|
tregister($01040020),
|
||||||
|
tregister($01050020),
|
||||||
tregister($04010000),
|
tregister($04010000),
|
||||||
tregister($04030000),
|
tregister($04030000),
|
||||||
tregister($04090000),
|
tregister($04090000),
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
59,
|
59,
|
||||||
61,
|
61,
|
||||||
63,
|
63,
|
||||||
|
65,
|
||||||
2,
|
2,
|
||||||
4,
|
4,
|
||||||
6,
|
6,
|
||||||
@ -64,102 +65,7 @@
|
|||||||
60,
|
60,
|
||||||
62,
|
62,
|
||||||
64,
|
64,
|
||||||
65,
|
|
||||||
70,
|
|
||||||
75,
|
|
||||||
80,
|
|
||||||
85,
|
|
||||||
90,
|
|
||||||
95,
|
|
||||||
100,
|
|
||||||
105,
|
|
||||||
110,
|
|
||||||
115,
|
|
||||||
120,
|
|
||||||
125,
|
|
||||||
130,
|
|
||||||
135,
|
|
||||||
140,
|
|
||||||
145,
|
|
||||||
150,
|
|
||||||
155,
|
|
||||||
160,
|
|
||||||
165,
|
|
||||||
170,
|
|
||||||
175,
|
|
||||||
180,
|
|
||||||
185,
|
|
||||||
190,
|
|
||||||
195,
|
|
||||||
200,
|
|
||||||
205,
|
|
||||||
210,
|
|
||||||
215,
|
|
||||||
220,
|
|
||||||
66,
|
66,
|
||||||
71,
|
|
||||||
76,
|
|
||||||
81,
|
|
||||||
86,
|
|
||||||
91,
|
|
||||||
96,
|
|
||||||
101,
|
|
||||||
106,
|
|
||||||
111,
|
|
||||||
116,
|
|
||||||
121,
|
|
||||||
126,
|
|
||||||
131,
|
|
||||||
136,
|
|
||||||
141,
|
|
||||||
146,
|
|
||||||
151,
|
|
||||||
156,
|
|
||||||
161,
|
|
||||||
166,
|
|
||||||
171,
|
|
||||||
176,
|
|
||||||
181,
|
|
||||||
186,
|
|
||||||
191,
|
|
||||||
196,
|
|
||||||
201,
|
|
||||||
206,
|
|
||||||
211,
|
|
||||||
216,
|
|
||||||
221,
|
|
||||||
69,
|
|
||||||
74,
|
|
||||||
79,
|
|
||||||
84,
|
|
||||||
89,
|
|
||||||
94,
|
|
||||||
99,
|
|
||||||
104,
|
|
||||||
109,
|
|
||||||
114,
|
|
||||||
119,
|
|
||||||
124,
|
|
||||||
129,
|
|
||||||
134,
|
|
||||||
139,
|
|
||||||
144,
|
|
||||||
149,
|
|
||||||
154,
|
|
||||||
159,
|
|
||||||
164,
|
|
||||||
169,
|
|
||||||
174,
|
|
||||||
179,
|
|
||||||
184,
|
|
||||||
189,
|
|
||||||
194,
|
|
||||||
199,
|
|
||||||
204,
|
|
||||||
209,
|
|
||||||
214,
|
|
||||||
219,
|
|
||||||
224,
|
|
||||||
67,
|
67,
|
||||||
72,
|
72,
|
||||||
77,
|
77,
|
||||||
@ -224,4 +130,100 @@
|
|||||||
213,
|
213,
|
||||||
218,
|
218,
|
||||||
223,
|
223,
|
||||||
225
|
71,
|
||||||
|
76,
|
||||||
|
81,
|
||||||
|
86,
|
||||||
|
91,
|
||||||
|
96,
|
||||||
|
101,
|
||||||
|
106,
|
||||||
|
111,
|
||||||
|
116,
|
||||||
|
121,
|
||||||
|
126,
|
||||||
|
131,
|
||||||
|
136,
|
||||||
|
141,
|
||||||
|
146,
|
||||||
|
151,
|
||||||
|
156,
|
||||||
|
161,
|
||||||
|
166,
|
||||||
|
171,
|
||||||
|
176,
|
||||||
|
181,
|
||||||
|
186,
|
||||||
|
191,
|
||||||
|
196,
|
||||||
|
201,
|
||||||
|
206,
|
||||||
|
211,
|
||||||
|
216,
|
||||||
|
221,
|
||||||
|
226,
|
||||||
|
69,
|
||||||
|
74,
|
||||||
|
79,
|
||||||
|
84,
|
||||||
|
89,
|
||||||
|
94,
|
||||||
|
99,
|
||||||
|
104,
|
||||||
|
109,
|
||||||
|
114,
|
||||||
|
119,
|
||||||
|
124,
|
||||||
|
129,
|
||||||
|
134,
|
||||||
|
139,
|
||||||
|
144,
|
||||||
|
149,
|
||||||
|
154,
|
||||||
|
159,
|
||||||
|
164,
|
||||||
|
169,
|
||||||
|
174,
|
||||||
|
179,
|
||||||
|
184,
|
||||||
|
189,
|
||||||
|
194,
|
||||||
|
199,
|
||||||
|
204,
|
||||||
|
209,
|
||||||
|
214,
|
||||||
|
219,
|
||||||
|
224,
|
||||||
|
70,
|
||||||
|
75,
|
||||||
|
80,
|
||||||
|
85,
|
||||||
|
90,
|
||||||
|
95,
|
||||||
|
100,
|
||||||
|
105,
|
||||||
|
110,
|
||||||
|
115,
|
||||||
|
120,
|
||||||
|
125,
|
||||||
|
130,
|
||||||
|
135,
|
||||||
|
140,
|
||||||
|
145,
|
||||||
|
150,
|
||||||
|
155,
|
||||||
|
160,
|
||||||
|
165,
|
||||||
|
170,
|
||||||
|
175,
|
||||||
|
180,
|
||||||
|
185,
|
||||||
|
190,
|
||||||
|
195,
|
||||||
|
200,
|
||||||
|
205,
|
||||||
|
210,
|
||||||
|
215,
|
||||||
|
220,
|
||||||
|
225,
|
||||||
|
227
|
||||||
|
@ -1,134 +1,5 @@
|
|||||||
{ don't edit, this file is generated from a64reg.dat }
|
{ don't edit, this file is generated from a64reg.dat }
|
||||||
0,
|
0,
|
||||||
65,
|
|
||||||
70,
|
|
||||||
115,
|
|
||||||
120,
|
|
||||||
125,
|
|
||||||
130,
|
|
||||||
135,
|
|
||||||
140,
|
|
||||||
145,
|
|
||||||
150,
|
|
||||||
155,
|
|
||||||
160,
|
|
||||||
75,
|
|
||||||
165,
|
|
||||||
170,
|
|
||||||
175,
|
|
||||||
180,
|
|
||||||
185,
|
|
||||||
190,
|
|
||||||
195,
|
|
||||||
200,
|
|
||||||
205,
|
|
||||||
210,
|
|
||||||
80,
|
|
||||||
215,
|
|
||||||
220,
|
|
||||||
85,
|
|
||||||
90,
|
|
||||||
95,
|
|
||||||
100,
|
|
||||||
105,
|
|
||||||
110,
|
|
||||||
68,
|
|
||||||
73,
|
|
||||||
118,
|
|
||||||
123,
|
|
||||||
128,
|
|
||||||
133,
|
|
||||||
138,
|
|
||||||
143,
|
|
||||||
148,
|
|
||||||
153,
|
|
||||||
158,
|
|
||||||
163,
|
|
||||||
78,
|
|
||||||
168,
|
|
||||||
173,
|
|
||||||
178,
|
|
||||||
183,
|
|
||||||
188,
|
|
||||||
193,
|
|
||||||
198,
|
|
||||||
203,
|
|
||||||
208,
|
|
||||||
213,
|
|
||||||
83,
|
|
||||||
218,
|
|
||||||
223,
|
|
||||||
88,
|
|
||||||
93,
|
|
||||||
98,
|
|
||||||
103,
|
|
||||||
108,
|
|
||||||
113,
|
|
||||||
66,
|
|
||||||
71,
|
|
||||||
116,
|
|
||||||
121,
|
|
||||||
126,
|
|
||||||
131,
|
|
||||||
136,
|
|
||||||
141,
|
|
||||||
146,
|
|
||||||
151,
|
|
||||||
156,
|
|
||||||
161,
|
|
||||||
76,
|
|
||||||
166,
|
|
||||||
171,
|
|
||||||
176,
|
|
||||||
181,
|
|
||||||
186,
|
|
||||||
191,
|
|
||||||
196,
|
|
||||||
201,
|
|
||||||
206,
|
|
||||||
211,
|
|
||||||
81,
|
|
||||||
216,
|
|
||||||
221,
|
|
||||||
86,
|
|
||||||
91,
|
|
||||||
96,
|
|
||||||
101,
|
|
||||||
106,
|
|
||||||
111,
|
|
||||||
225,
|
|
||||||
69,
|
|
||||||
74,
|
|
||||||
119,
|
|
||||||
124,
|
|
||||||
129,
|
|
||||||
134,
|
|
||||||
139,
|
|
||||||
144,
|
|
||||||
149,
|
|
||||||
154,
|
|
||||||
159,
|
|
||||||
164,
|
|
||||||
79,
|
|
||||||
169,
|
|
||||||
174,
|
|
||||||
179,
|
|
||||||
184,
|
|
||||||
189,
|
|
||||||
194,
|
|
||||||
199,
|
|
||||||
204,
|
|
||||||
209,
|
|
||||||
214,
|
|
||||||
84,
|
|
||||||
219,
|
|
||||||
224,
|
|
||||||
89,
|
|
||||||
94,
|
|
||||||
99,
|
|
||||||
104,
|
|
||||||
109,
|
|
||||||
114,
|
|
||||||
67,
|
67,
|
||||||
72,
|
72,
|
||||||
117,
|
117,
|
||||||
@ -161,6 +32,136 @@
|
|||||||
102,
|
102,
|
||||||
107,
|
107,
|
||||||
112,
|
112,
|
||||||
|
70,
|
||||||
|
75,
|
||||||
|
120,
|
||||||
|
125,
|
||||||
|
130,
|
||||||
|
135,
|
||||||
|
140,
|
||||||
|
145,
|
||||||
|
150,
|
||||||
|
155,
|
||||||
|
160,
|
||||||
|
165,
|
||||||
|
80,
|
||||||
|
170,
|
||||||
|
175,
|
||||||
|
180,
|
||||||
|
185,
|
||||||
|
190,
|
||||||
|
195,
|
||||||
|
200,
|
||||||
|
205,
|
||||||
|
210,
|
||||||
|
215,
|
||||||
|
85,
|
||||||
|
220,
|
||||||
|
225,
|
||||||
|
90,
|
||||||
|
95,
|
||||||
|
100,
|
||||||
|
105,
|
||||||
|
110,
|
||||||
|
115,
|
||||||
|
68,
|
||||||
|
73,
|
||||||
|
118,
|
||||||
|
123,
|
||||||
|
128,
|
||||||
|
133,
|
||||||
|
138,
|
||||||
|
143,
|
||||||
|
148,
|
||||||
|
153,
|
||||||
|
158,
|
||||||
|
163,
|
||||||
|
78,
|
||||||
|
168,
|
||||||
|
173,
|
||||||
|
178,
|
||||||
|
183,
|
||||||
|
188,
|
||||||
|
193,
|
||||||
|
198,
|
||||||
|
203,
|
||||||
|
208,
|
||||||
|
213,
|
||||||
|
83,
|
||||||
|
218,
|
||||||
|
223,
|
||||||
|
88,
|
||||||
|
93,
|
||||||
|
98,
|
||||||
|
103,
|
||||||
|
108,
|
||||||
|
113,
|
||||||
|
227,
|
||||||
|
71,
|
||||||
|
76,
|
||||||
|
121,
|
||||||
|
126,
|
||||||
|
131,
|
||||||
|
136,
|
||||||
|
141,
|
||||||
|
146,
|
||||||
|
151,
|
||||||
|
156,
|
||||||
|
161,
|
||||||
|
166,
|
||||||
|
81,
|
||||||
|
171,
|
||||||
|
176,
|
||||||
|
181,
|
||||||
|
186,
|
||||||
|
191,
|
||||||
|
196,
|
||||||
|
201,
|
||||||
|
206,
|
||||||
|
211,
|
||||||
|
216,
|
||||||
|
86,
|
||||||
|
221,
|
||||||
|
226,
|
||||||
|
91,
|
||||||
|
96,
|
||||||
|
101,
|
||||||
|
106,
|
||||||
|
111,
|
||||||
|
116,
|
||||||
|
69,
|
||||||
|
74,
|
||||||
|
119,
|
||||||
|
124,
|
||||||
|
129,
|
||||||
|
134,
|
||||||
|
139,
|
||||||
|
144,
|
||||||
|
149,
|
||||||
|
154,
|
||||||
|
159,
|
||||||
|
164,
|
||||||
|
79,
|
||||||
|
169,
|
||||||
|
174,
|
||||||
|
179,
|
||||||
|
184,
|
||||||
|
189,
|
||||||
|
194,
|
||||||
|
199,
|
||||||
|
204,
|
||||||
|
209,
|
||||||
|
214,
|
||||||
|
84,
|
||||||
|
219,
|
||||||
|
224,
|
||||||
|
89,
|
||||||
|
94,
|
||||||
|
99,
|
||||||
|
104,
|
||||||
|
109,
|
||||||
|
114,
|
||||||
|
66,
|
||||||
1,
|
1,
|
||||||
3,
|
3,
|
||||||
21,
|
21,
|
||||||
@ -192,6 +193,7 @@
|
|||||||
15,
|
15,
|
||||||
17,
|
17,
|
||||||
19,
|
19,
|
||||||
|
65,
|
||||||
63,
|
63,
|
||||||
2,
|
2,
|
||||||
4,
|
4,
|
||||||
|
@ -64,6 +64,8 @@
|
|||||||
30,
|
30,
|
||||||
31,
|
31,
|
||||||
31,
|
31,
|
||||||
|
31,
|
||||||
|
31,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
@ -64,6 +64,8 @@
|
|||||||
'x30',
|
'x30',
|
||||||
'wzr',
|
'wzr',
|
||||||
'xzr',
|
'xzr',
|
||||||
|
'wsp',
|
||||||
|
'sp',
|
||||||
'b0',
|
'b0',
|
||||||
'h0',
|
'h0',
|
||||||
's0',
|
's0',
|
||||||
|
@ -64,6 +64,8 @@ RS_W30 = $1E;
|
|||||||
RS_X30 = $1E;
|
RS_X30 = $1E;
|
||||||
RS_WZR = $1F;
|
RS_WZR = $1F;
|
||||||
RS_XZR = $1F;
|
RS_XZR = $1F;
|
||||||
|
RS_WSP = $20;
|
||||||
|
RS_SP = $20;
|
||||||
RS_B0 = $00;
|
RS_B0 = $00;
|
||||||
RS_H0 = $00;
|
RS_H0 = $00;
|
||||||
RS_S0 = $00;
|
RS_S0 = $00;
|
||||||
|
Loading…
Reference in New Issue
Block a user