13 #ifdef GET_REGINFO_ENUM
14 #undef GET_REGINFO_ENUM
141 SP_FCCRegsRegClassID = 0,
142 SP_FPRegsRegClassID = 1,
143 SP_IntRegsRegClassID = 2,
144 SP_DFPRegsRegClassID = 3,
145 SP_I64RegsRegClassID = 4,
146 SP_DFPRegs_with_sub_evenRegClassID = 5,
147 SP_QFPRegsRegClassID = 6,
148 SP_QFPRegs_with_sub_evenRegClassID = 7
162 #ifdef GET_REGINFO_MC_DESC
163 #undef GET_REGINFO_MC_DESC
165 static const MCPhysReg SparcRegDiffLists[] = {
168 65436, 32, 1, 65504, 33, 1, 0,
170 65437, 34, 1, 65502, 35, 1, 0,
172 65438, 36, 1, 65500, 37, 1, 0,
174 65439, 38, 1, 65498, 39, 1, 0,
176 65440, 40, 1, 65496, 41, 1, 0,
178 65441, 42, 1, 65494, 43, 1, 0,
180 65442, 44, 1, 65492, 45, 1, 0,
182 65443, 46, 1, 65490, 47, 1, 0,
232 static const uint16_t SparcSubRegIdxLists[] = {
239 { 3, 0, 0, 0, 0, 0 },
240 { 406, 4, 4, 2, 3393, 0 },
241 { 410, 4, 4, 2, 3393, 0 },
242 { 33, 5, 203, 0, 1794, 2 },
243 { 87, 12, 194, 0, 1794, 2 },
244 { 133, 15, 194, 0, 1794, 2 },
245 { 179, 22, 185, 0, 1794, 2 },
246 { 220, 25, 185, 0, 1794, 2 },
247 { 261, 32, 176, 0, 1794, 2 },
248 { 298, 35, 176, 0, 1794, 2 },
249 { 335, 42, 167, 0, 1794, 2 },
250 { 372, 45, 167, 0, 1794, 2 },
251 { 397, 52, 158, 0, 1794, 2 },
252 { 0, 55, 158, 0, 1794, 2 },
253 { 54, 62, 149, 0, 1794, 2 },
254 { 108, 65, 149, 0, 1794, 2 },
255 { 154, 72, 140, 0, 1794, 2 },
256 { 200, 75, 140, 0, 1794, 2 },
257 { 241, 82, 134, 0, 1794, 2 },
258 { 282, 4, 134, 2, 1841, 0 },
259 { 319, 4, 131, 2, 1841, 0 },
260 { 356, 4, 131, 2, 1841, 0 },
261 { 381, 4, 129, 2, 1841, 0 },
262 { 12, 4, 129, 2, 1841, 0 },
263 { 66, 4, 127, 2, 1841, 0 },
264 { 120, 4, 127, 2, 1841, 0 },
265 { 166, 4, 125, 2, 1841, 0 },
266 { 212, 4, 125, 2, 1841, 0 },
267 { 253, 4, 123, 2, 1841, 0 },
268 { 290, 4, 123, 2, 1841, 0 },
269 { 327, 4, 121, 2, 1841, 0 },
270 { 364, 4, 121, 2, 1841, 0 },
271 { 389, 4, 119, 2, 1841, 0 },
272 { 20, 4, 119, 2, 1841, 0 },
273 { 74, 4, 117, 2, 1841, 0 },
274 { 36, 4, 205, 2, 3329, 0 },
275 { 90, 4, 202, 2, 3329, 0 },
276 { 136, 4, 199, 2, 3329, 0 },
277 { 182, 4, 196, 2, 3329, 0 },
278 { 223, 4, 196, 2, 3329, 0 },
279 { 264, 4, 193, 2, 3329, 0 },
280 { 301, 4, 190, 2, 3329, 0 },
281 { 338, 4, 187, 2, 3329, 0 },
282 { 375, 4, 187, 2, 3329, 0 },
283 { 400, 4, 184, 2, 3329, 0 },
284 { 4, 4, 181, 2, 3329, 0 },
285 { 58, 4, 178, 2, 3329, 0 },
286 { 112, 4, 178, 2, 3329, 0 },
287 { 158, 4, 175, 2, 3329, 0 },
288 { 204, 4, 172, 2, 3329, 0 },
289 { 245, 4, 169, 2, 3329, 0 },
290 { 286, 4, 169, 2, 3329, 0 },
291 { 323, 4, 166, 2, 3329, 0 },
292 { 360, 4, 163, 2, 3329, 0 },
293 { 385, 4, 160, 2, 3329, 0 },
294 { 16, 4, 160, 2, 3329, 0 },
295 { 70, 4, 157, 2, 3329, 0 },
296 { 124, 4, 154, 2, 3329, 0 },
297 { 170, 4, 151, 2, 3329, 0 },
298 { 216, 4, 151, 2, 3329, 0 },
299 { 257, 4, 148, 2, 3329, 0 },
300 { 294, 4, 145, 2, 3329, 0 },
301 { 331, 4, 142, 2, 3329, 0 },
302 { 368, 4, 142, 2, 3329, 0 },
303 { 393, 4, 139, 2, 3329, 0 },
304 { 24, 4, 136, 2, 3329, 0 },
305 { 78, 4, 133, 2, 3329, 0 },
306 { 28, 4, 4, 2, 3361, 0 },
307 { 82, 4, 4, 2, 3361, 0 },
308 { 128, 4, 4, 2, 3361, 0 },
309 { 174, 4, 4, 2, 3361, 0 },
310 { 39, 4, 4, 2, 3361, 0 },
311 { 93, 4, 4, 2, 3361, 0 },
312 { 139, 4, 4, 2, 3361, 0 },
313 { 185, 4, 4, 2, 3361, 0 },
314 { 226, 4, 4, 2, 3361, 0 },
315 { 267, 4, 4, 2, 3361, 0 },
316 { 304, 4, 4, 2, 3361, 0 },
317 { 341, 4, 4, 2, 3361, 0 },
318 { 42, 4, 4, 2, 3361, 0 },
319 { 96, 4, 4, 2, 3361, 0 },
320 { 142, 4, 4, 2, 3361, 0 },
321 { 188, 4, 4, 2, 3361, 0 },
322 { 229, 4, 4, 2, 3361, 0 },
323 { 270, 4, 4, 2, 3361, 0 },
324 { 307, 4, 4, 2, 3361, 0 },
325 { 344, 4, 4, 2, 3361, 0 },
326 { 45, 4, 4, 2, 3361, 0 },
327 { 99, 4, 4, 2, 3361, 0 },
328 { 145, 4, 4, 2, 3361, 0 },
329 { 191, 4, 4, 2, 3361, 0 },
330 { 232, 4, 4, 2, 3361, 0 },
331 { 273, 4, 4, 2, 3361, 0 },
332 { 310, 4, 4, 2, 3361, 0 },
333 { 347, 4, 4, 2, 3361, 0 },
334 { 48, 4, 4, 2, 3361, 0 },
335 { 102, 4, 4, 2, 3361, 0 },
336 { 148, 4, 4, 2, 3361, 0 },
337 { 194, 4, 4, 2, 3361, 0 },
338 { 235, 4, 4, 2, 3361, 0 },
339 { 276, 4, 4, 2, 3361, 0 },
340 { 313, 4, 4, 2, 3361, 0 },
341 { 350, 4, 4, 2, 3361, 0 },
342 { 51, 8, 4, 6, 4, 5 },
343 { 105, 18, 4, 6, 4, 5 },
344 { 151, 28, 4, 6, 4, 5 },
345 { 197, 38, 4, 6, 4, 5 },
346 { 238, 48, 4, 6, 4, 5 },
347 { 279, 58, 4, 6, 4, 5 },
348 { 316, 68, 4, 6, 4, 5 },
349 { 353, 78, 4, 6, 4, 5 },
350 { 378, 88, 4, 3, 1362, 10 },
351 { 403, 91, 4, 3, 1362, 10 },
352 { 8, 94, 4, 3, 1362, 10 },
353 { 62, 97, 4, 3, 1362, 10 },
354 { 116, 100, 4, 3, 1362, 10 },
355 { 162, 103, 4, 3, 1362, 10 },
356 { 208, 106, 4, 3, 1362, 10 },
357 { 249, 109, 4, 3, 1362, 10 },
362 SP_FCC0, SP_FCC1, SP_FCC2, SP_FCC3,
366 static const uint8_t FCCRegsBits[] = {
367 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78,
372 SP_F0, SP_F1, SP_F2, SP_F3, SP_F4, SP_F5, SP_F6, SP_F7, SP_F8, SP_F9, SP_F10, SP_F11, SP_F12, SP_F13, SP_F14, SP_F15, SP_F16, SP_F17, SP_F18, SP_F19, SP_F20, SP_F21, SP_F22, SP_F23, SP_F24, SP_F25, SP_F26, SP_F27, SP_F28, SP_F29, SP_F30, SP_F31,
376 static const uint8_t FPRegsBits[] = {
377 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07,
382 SP_I0, SP_I1, SP_I2, SP_I3, SP_I4, SP_I5, SP_I6, SP_I7, SP_G0, SP_G1, SP_G2, SP_G3, SP_G4, SP_G5, SP_G6, SP_G7, SP_L0, SP_L1, SP_L2, SP_L3, SP_L4, SP_L5, SP_L6, SP_L7, SP_O0, SP_O1, SP_O2, SP_O3, SP_O4, SP_O5, SP_O6, SP_O7,
386 static const uint8_t IntRegsBits[] = {
387 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f,
392 SP_D0, SP_D1, SP_D2, SP_D3, SP_D4, SP_D5, SP_D6, SP_D7, SP_D8, SP_D9, SP_D10, SP_D11, SP_D12, SP_D13, SP_D14, SP_D15, SP_D16, SP_D17, SP_D18, SP_D19, SP_D20, SP_D21, SP_D22, SP_D23, SP_D24, SP_D25, SP_D26, SP_D27, SP_D28, SP_D29, SP_D30, SP_D31,
396 static const uint8_t DFPRegsBits[] = {
397 0xf8, 0xff, 0xff, 0xff, 0x07,
402 SP_I0, SP_I1, SP_I2, SP_I3, SP_I4, SP_I5, SP_I6, SP_I7, SP_G0, SP_G1, SP_G2, SP_G3, SP_G4, SP_G5, SP_G6, SP_G7, SP_L0, SP_L1, SP_L2, SP_L3, SP_L4, SP_L5, SP_L6, SP_L7, SP_O0, SP_O1, SP_O2, SP_O3, SP_O4, SP_O5, SP_O6, SP_O7,
406 static const uint8_t I64RegsBits[] = {
407 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f,
411 static const MCPhysReg DFPRegs_with_sub_even[] = {
412 SP_D0, SP_D1, SP_D2, SP_D3, SP_D4, SP_D5, SP_D6, SP_D7, SP_D8, SP_D9, SP_D10, SP_D11, SP_D12, SP_D13, SP_D14, SP_D15,
416 static const uint8_t DFPRegs_with_sub_evenBits[] = {
422 SP_Q0, SP_Q1, SP_Q2, SP_Q3, SP_Q4, SP_Q5, SP_Q6, SP_Q7, SP_Q8, SP_Q9, SP_Q10, SP_Q11, SP_Q12, SP_Q13, SP_Q14, SP_Q15,
426 static const uint8_t QFPRegsBits[] = {
427 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f,
431 static const MCPhysReg QFPRegs_with_sub_even[] = {
432 SP_Q0, SP_Q1, SP_Q2, SP_Q3, SP_Q4, SP_Q5, SP_Q6, SP_Q7,
436 static const uint8_t QFPRegs_with_sub_evenBits[] = {
437 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f,
441 { FCCRegs, FCCRegsBits, 52, 4,
sizeof(FCCRegsBits), SP_FCCRegsRegClassID, 0, 0, 1, 1 },
442 { FPRegs, FPRegsBits, 61, 32,
sizeof(FPRegsBits), SP_FPRegsRegClassID, 4, 4, 1, 1 },
443 { IntRegs, IntRegsBits, 76, 32,
sizeof(IntRegsBits), SP_IntRegsRegClassID, 4, 4, 1, 1 },
444 { DFPRegs, DFPRegsBits, 60, 32,
sizeof(DFPRegsBits), SP_DFPRegsRegClassID, 8, 8, 1, 1 },
445 { I64Regs, I64RegsBits, 44, 32,
sizeof(I64RegsBits), SP_I64RegsRegClassID, 8, 8, 1, 1 },
446 { DFPRegs_with_sub_even, DFPRegs_with_sub_evenBits, 0, 16,
sizeof(DFPRegs_with_sub_evenBits), SP_DFPRegs_with_sub_evenRegClassID, 8, 8, 1, 1 },
447 { QFPRegs, QFPRegsBits, 68, 16,
sizeof(QFPRegsBits), SP_QFPRegsRegClassID, 16, 16, 1, 1 },
448 { QFPRegs_with_sub_even, QFPRegs_with_sub_evenBits, 22, 8,
sizeof(QFPRegs_with_sub_evenBits), SP_QFPRegs_with_sub_evenRegClassID, 16, 16, 1, 1 },