Fix reading Time zone rules using Julian days (#17672)
[platform/upstream/coreclr.git] / src / jit / regpair.h
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4
5 /*****************************************************************************/
6
7 #ifndef PAIRBEG
8 #define PAIRBEG(reg)
9 #endif
10
11 #ifndef PAIRDEF
12 #define PAIRDEF(r1, r2)
13 #endif
14
15 #ifndef PAIRSTK
16 #define PAIRSTK(r1, r2) PAIRDEF(r1, r2)
17 #endif
18
19 #if defined(_TARGET_X86_)
20 /*****************************************************************************/
21 /*                  The following is for x86                                 */
22 /*****************************************************************************/
23
24 //      rlo rhi
25
26 PAIRBEG(EAX)
27 PAIRDEF(EAX, ECX)
28 PAIRDEF(EAX, EDX)
29 PAIRDEF(EAX, EBX)
30 PAIRDEF(EAX, EBP)
31 PAIRDEF(EAX, ESI)
32 PAIRDEF(EAX, EDI)
33 PAIRSTK(EAX, STK)
34
35 PAIRBEG(ECX)
36 PAIRDEF(ECX, EAX)
37 PAIRDEF(ECX, EDX)
38 PAIRDEF(ECX, EBX)
39 PAIRDEF(ECX, EBP)
40 PAIRDEF(ECX, ESI)
41 PAIRDEF(ECX, EDI)
42 PAIRSTK(ECX, STK)
43
44 PAIRBEG(EDX)
45 PAIRDEF(EDX, EAX)
46 PAIRDEF(EDX, ECX)
47 PAIRDEF(EDX, EBX)
48 PAIRDEF(EDX, EBP)
49 PAIRDEF(EDX, ESI)
50 PAIRDEF(EDX, EDI)
51 PAIRSTK(EDX, STK)
52
53 PAIRBEG(EBX)
54 PAIRDEF(EBX, EAX)
55 PAIRDEF(EBX, EDX)
56 PAIRDEF(EBX, ECX)
57 PAIRDEF(EBX, EBP)
58 PAIRDEF(EBX, ESI)
59 PAIRDEF(EBX, EDI)
60 PAIRSTK(EBX, STK)
61
62 PAIRBEG(EBP)
63 PAIRDEF(EBP, EAX)
64 PAIRDEF(EBP, EDX)
65 PAIRDEF(EBP, ECX)
66 PAIRDEF(EBP, EBX)
67 PAIRDEF(EBP, ESI)
68 PAIRDEF(EBP, EDI)
69 PAIRSTK(EBP, STK)
70
71 PAIRBEG(ESI)
72 PAIRDEF(ESI, EAX)
73 PAIRDEF(ESI, EDX)
74 PAIRDEF(ESI, ECX)
75 PAIRDEF(ESI, EBX)
76 PAIRDEF(ESI, EBP)
77 PAIRDEF(ESI, EDI)
78 PAIRSTK(ESI, STK)
79
80 PAIRBEG(EDI)
81 PAIRDEF(EDI, EAX)
82 PAIRDEF(EDI, EDX)
83 PAIRDEF(EDI, ECX)
84 PAIRDEF(EDI, EBX)
85 PAIRDEF(EDI, EBP)
86 PAIRDEF(EDI, ESI)
87 PAIRSTK(EDI, STK)
88
89 PAIRBEG(STK)
90 PAIRSTK(STK, EAX)
91 PAIRSTK(STK, EDX)
92 PAIRSTK(STK, ECX)
93 PAIRSTK(STK, EBX)
94 PAIRSTK(STK, EBP)
95 PAIRSTK(STK, ESI)
96 PAIRSTK(STK, EDI)
97
98 #endif
99
100 /*****************************************************************************/
101
102 #ifdef _TARGET_ARM_
103 /*****************************************************************************/
104 /*                  The following is for ARM                                 */
105 /*****************************************************************************/
106
107 //      rlo rhi
108
109 PAIRBEG(R0)
110 PAIRDEF(R0, R1)
111 PAIRDEF(R0, R2)
112 PAIRDEF(R0, R3)
113 PAIRDEF(R0, R4)
114 PAIRDEF(R0, R5)
115 PAIRDEF(R0, R6)
116 PAIRDEF(R0, R7)
117 PAIRDEF(R0, R8)
118 PAIRDEF(R0, R9)
119 PAIRDEF(R0, R10)
120 PAIRDEF(R0, R11)
121 PAIRDEF(R0, R12)
122 PAIRDEF(R0, LR)
123 PAIRSTK(R0, STK)
124
125 PAIRBEG(R1)
126 PAIRDEF(R1, R0)
127 PAIRDEF(R1, R2)
128 PAIRDEF(R1, R3)
129 PAIRDEF(R1, R4)
130 PAIRDEF(R1, R5)
131 PAIRDEF(R1, R6)
132 PAIRDEF(R1, R7)
133 PAIRDEF(R1, R8)
134 PAIRDEF(R1, R9)
135 PAIRDEF(R1, R10)
136 PAIRDEF(R1, R11)
137 PAIRDEF(R1, R12)
138 PAIRDEF(R1, LR)
139 PAIRSTK(R1, STK)
140
141 PAIRBEG(R2)
142 PAIRDEF(R2, R0)
143 PAIRDEF(R2, R1)
144 PAIRDEF(R2, R3)
145 PAIRDEF(R2, R4)
146 PAIRDEF(R2, R5)
147 PAIRDEF(R2, R6)
148 PAIRDEF(R2, R7)
149 PAIRDEF(R2, R8)
150 PAIRDEF(R2, R9)
151 PAIRDEF(R2, R10)
152 PAIRDEF(R2, R11)
153 PAIRDEF(R2, R12)
154 PAIRDEF(R2, LR)
155 PAIRSTK(R2, STK)
156
157 PAIRBEG(R3)
158 PAIRDEF(R3, R0)
159 PAIRDEF(R3, R1)
160 PAIRDEF(R3, R2)
161 PAIRDEF(R3, R4)
162 PAIRDEF(R3, R5)
163 PAIRDEF(R3, R6)
164 PAIRDEF(R3, R7)
165 PAIRDEF(R3, R8)
166 PAIRDEF(R3, R9)
167 PAIRDEF(R3, R10)
168 PAIRDEF(R3, R11)
169 PAIRDEF(R3, R12)
170 PAIRDEF(R3, LR)
171 PAIRSTK(R3, STK)
172
173 PAIRBEG(R4)
174 PAIRDEF(R4, R0)
175 PAIRDEF(R4, R1)
176 PAIRDEF(R4, R2)
177 PAIRDEF(R4, R3)
178 PAIRDEF(R4, R5)
179 PAIRDEF(R4, R6)
180 PAIRDEF(R4, R7)
181 PAIRDEF(R4, R8)
182 PAIRDEF(R4, R9)
183 PAIRDEF(R4, R10)
184 PAIRDEF(R4, R11)
185 PAIRDEF(R4, R12)
186 PAIRDEF(R4, LR)
187 PAIRSTK(R4, STK)
188
189 PAIRBEG(R5)
190 PAIRDEF(R5, R0)
191 PAIRDEF(R5, R1)
192 PAIRDEF(R5, R2)
193 PAIRDEF(R5, R3)
194 PAIRDEF(R5, R4)
195 PAIRDEF(R5, R6)
196 PAIRDEF(R5, R7)
197 PAIRDEF(R5, R8)
198 PAIRDEF(R5, R9)
199 PAIRDEF(R5, R10)
200 PAIRDEF(R5, R11)
201 PAIRDEF(R5, R12)
202 PAIRDEF(R5, LR)
203 PAIRSTK(R5, STK)
204
205 PAIRBEG(R6)
206 PAIRDEF(R6, R0)
207 PAIRDEF(R6, R1)
208 PAIRDEF(R6, R2)
209 PAIRDEF(R6, R3)
210 PAIRDEF(R6, R4)
211 PAIRDEF(R6, R5)
212 PAIRDEF(R6, R7)
213 PAIRDEF(R6, R8)
214 PAIRDEF(R6, R9)
215 PAIRDEF(R6, R10)
216 PAIRDEF(R6, R11)
217 PAIRDEF(R6, R12)
218 PAIRDEF(R6, LR)
219 PAIRSTK(R6, STK)
220
221 PAIRBEG(R7)
222 PAIRDEF(R7, R0)
223 PAIRDEF(R7, R1)
224 PAIRDEF(R7, R2)
225 PAIRDEF(R7, R3)
226 PAIRDEF(R7, R4)
227 PAIRDEF(R7, R5)
228 PAIRDEF(R7, R6)
229 PAIRDEF(R7, R8)
230 PAIRDEF(R7, R9)
231 PAIRDEF(R7, R10)
232 PAIRDEF(R7, R11)
233 PAIRDEF(R7, R12)
234 PAIRDEF(R7, LR)
235 PAIRSTK(R7, STK)
236
237 PAIRBEG(R8)
238 PAIRDEF(R8, R0)
239 PAIRDEF(R8, R1)
240 PAIRDEF(R8, R2)
241 PAIRDEF(R8, R3)
242 PAIRDEF(R8, R4)
243 PAIRDEF(R8, R5)
244 PAIRDEF(R8, R6)
245 PAIRDEF(R8, R7)
246 PAIRDEF(R8, R9)
247 PAIRDEF(R8, R10)
248 PAIRDEF(R8, R11)
249 PAIRDEF(R8, R12)
250 PAIRDEF(R8, LR)
251 PAIRSTK(R8, STK)
252
253 PAIRBEG(R9)
254 PAIRDEF(R9, R0)
255 PAIRDEF(R9, R1)
256 PAIRDEF(R9, R2)
257 PAIRDEF(R9, R3)
258 PAIRDEF(R9, R4)
259 PAIRDEF(R9, R5)
260 PAIRDEF(R9, R6)
261 PAIRDEF(R9, R7)
262 PAIRDEF(R9, R8)
263 PAIRDEF(R9, R10)
264 PAIRDEF(R9, R11)
265 PAIRDEF(R9, R12)
266 PAIRDEF(R9, LR)
267 PAIRSTK(R9, STK)
268
269 PAIRBEG(R10)
270 PAIRDEF(R10, R0)
271 PAIRDEF(R10, R1)
272 PAIRDEF(R10, R2)
273 PAIRDEF(R10, R3)
274 PAIRDEF(R10, R4)
275 PAIRDEF(R10, R5)
276 PAIRDEF(R10, R6)
277 PAIRDEF(R10, R7)
278 PAIRDEF(R10, R8)
279 PAIRDEF(R10, R9)
280 PAIRDEF(R10, R11)
281 PAIRDEF(R10, R12)
282 PAIRDEF(R10, LR)
283 PAIRSTK(R10, STK)
284
285 PAIRBEG(R11)
286 PAIRDEF(R11, R0)
287 PAIRDEF(R11, R1)
288 PAIRDEF(R11, R2)
289 PAIRDEF(R11, R3)
290 PAIRDEF(R11, R4)
291 PAIRDEF(R11, R5)
292 PAIRDEF(R11, R6)
293 PAIRDEF(R11, R7)
294 PAIRDEF(R11, R8)
295 PAIRDEF(R11, R9)
296 PAIRDEF(R11, R10)
297 PAIRDEF(R11, R12)
298 PAIRDEF(R11, LR)
299 PAIRSTK(R11, STK)
300
301 PAIRBEG(R12)
302 PAIRDEF(R12, R0)
303 PAIRDEF(R12, R1)
304 PAIRDEF(R12, R2)
305 PAIRDEF(R12, R3)
306 PAIRDEF(R12, R4)
307 PAIRDEF(R12, R5)
308 PAIRDEF(R12, R6)
309 PAIRDEF(R12, R7)
310 PAIRDEF(R12, R8)
311 PAIRDEF(R12, R9)
312 PAIRDEF(R12, R10)
313 PAIRDEF(R12, R11)
314 PAIRDEF(R12, LR)
315 PAIRSTK(R12, STK)
316
317 PAIRBEG(LR)
318 PAIRDEF(LR, R0)
319 PAIRDEF(LR, R1)
320 PAIRDEF(LR, R2)
321 PAIRDEF(LR, R3)
322 PAIRDEF(LR, R4)
323 PAIRDEF(LR, R5)
324 PAIRDEF(LR, R6)
325 PAIRDEF(LR, R7)
326 PAIRDEF(LR, R8)
327 PAIRDEF(LR, R9)
328 PAIRDEF(LR, R10)
329 PAIRDEF(LR, R11)
330 PAIRDEF(LR, R12)
331 PAIRSTK(LR, STK)
332
333 PAIRBEG(STK)
334 PAIRSTK(STK, R0)
335 PAIRSTK(STK, R1)
336 PAIRSTK(STK, R2)
337 PAIRSTK(STK, R3)
338 PAIRSTK(STK, R4)
339 PAIRSTK(STK, R5)
340 PAIRSTK(STK, R6)
341 PAIRSTK(STK, R7)
342 PAIRSTK(STK, R8)
343 PAIRSTK(STK, R9)
344 PAIRSTK(STK, R10)
345 PAIRSTK(STK, R11)
346 PAIRSTK(STK, R12)
347 PAIRSTK(STK, LR)
348
349 #endif
350
351 /*****************************************************************************/
352
353 #undef PAIRBEG
354 #undef PAIRDEF
355 #undef PAIRSTK
356
357 /*****************************************************************************/