You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
462 lines
12 KiB
462 lines
12 KiB
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
|
|* *| |
|
|*Target Register Enum Values *| |
|
|* *| |
|
|* Automatically generated file, do not edit! *| |
|
|* *| |
|
\*===----------------------------------------------------------------------===*/ |
|
|
|
/* Capstone Disassembly Engine */ |
|
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */ |
|
|
|
|
|
#ifdef GET_REGINFO_ENUM |
|
#undef GET_REGINFO_ENUM |
|
|
|
enum { |
|
SP_NoRegister, |
|
SP_ICC = 1, |
|
SP_Y = 2, |
|
SP_D0 = 3, |
|
SP_D1 = 4, |
|
SP_D2 = 5, |
|
SP_D3 = 6, |
|
SP_D4 = 7, |
|
SP_D5 = 8, |
|
SP_D6 = 9, |
|
SP_D7 = 10, |
|
SP_D8 = 11, |
|
SP_D9 = 12, |
|
SP_D10 = 13, |
|
SP_D11 = 14, |
|
SP_D12 = 15, |
|
SP_D13 = 16, |
|
SP_D14 = 17, |
|
SP_D15 = 18, |
|
SP_D16 = 19, |
|
SP_D17 = 20, |
|
SP_D18 = 21, |
|
SP_D19 = 22, |
|
SP_D20 = 23, |
|
SP_D21 = 24, |
|
SP_D22 = 25, |
|
SP_D23 = 26, |
|
SP_D24 = 27, |
|
SP_D25 = 28, |
|
SP_D26 = 29, |
|
SP_D27 = 30, |
|
SP_D28 = 31, |
|
SP_D29 = 32, |
|
SP_D30 = 33, |
|
SP_D31 = 34, |
|
SP_F0 = 35, |
|
SP_F1 = 36, |
|
SP_F2 = 37, |
|
SP_F3 = 38, |
|
SP_F4 = 39, |
|
SP_F5 = 40, |
|
SP_F6 = 41, |
|
SP_F7 = 42, |
|
SP_F8 = 43, |
|
SP_F9 = 44, |
|
SP_F10 = 45, |
|
SP_F11 = 46, |
|
SP_F12 = 47, |
|
SP_F13 = 48, |
|
SP_F14 = 49, |
|
SP_F15 = 50, |
|
SP_F16 = 51, |
|
SP_F17 = 52, |
|
SP_F18 = 53, |
|
SP_F19 = 54, |
|
SP_F20 = 55, |
|
SP_F21 = 56, |
|
SP_F22 = 57, |
|
SP_F23 = 58, |
|
SP_F24 = 59, |
|
SP_F25 = 60, |
|
SP_F26 = 61, |
|
SP_F27 = 62, |
|
SP_F28 = 63, |
|
SP_F29 = 64, |
|
SP_F30 = 65, |
|
SP_F31 = 66, |
|
SP_FCC0 = 67, |
|
SP_FCC1 = 68, |
|
SP_FCC2 = 69, |
|
SP_FCC3 = 70, |
|
SP_G0 = 71, |
|
SP_G1 = 72, |
|
SP_G2 = 73, |
|
SP_G3 = 74, |
|
SP_G4 = 75, |
|
SP_G5 = 76, |
|
SP_G6 = 77, |
|
SP_G7 = 78, |
|
SP_I0 = 79, |
|
SP_I1 = 80, |
|
SP_I2 = 81, |
|
SP_I3 = 82, |
|
SP_I4 = 83, |
|
SP_I5 = 84, |
|
SP_I6 = 85, |
|
SP_I7 = 86, |
|
SP_L0 = 87, |
|
SP_L1 = 88, |
|
SP_L2 = 89, |
|
SP_L3 = 90, |
|
SP_L4 = 91, |
|
SP_L5 = 92, |
|
SP_L6 = 93, |
|
SP_L7 = 94, |
|
SP_O0 = 95, |
|
SP_O1 = 96, |
|
SP_O2 = 97, |
|
SP_O3 = 98, |
|
SP_O4 = 99, |
|
SP_O5 = 100, |
|
SP_O6 = 101, |
|
SP_O7 = 102, |
|
SP_Q0 = 103, |
|
SP_Q1 = 104, |
|
SP_Q2 = 105, |
|
SP_Q3 = 106, |
|
SP_Q4 = 107, |
|
SP_Q5 = 108, |
|
SP_Q6 = 109, |
|
SP_Q7 = 110, |
|
SP_Q8 = 111, |
|
SP_Q9 = 112, |
|
SP_Q10 = 113, |
|
SP_Q11 = 114, |
|
SP_Q12 = 115, |
|
SP_Q13 = 116, |
|
SP_Q14 = 117, |
|
SP_Q15 = 118, |
|
SP_NUM_TARGET_REGS // 119 |
|
}; |
|
|
|
// Register classes |
|
enum { |
|
SP_FCCRegsRegClassID = 0, |
|
SP_FPRegsRegClassID = 1, |
|
SP_IntRegsRegClassID = 2, |
|
SP_DFPRegsRegClassID = 3, |
|
SP_I64RegsRegClassID = 4, |
|
SP_DFPRegs_with_sub_evenRegClassID = 5, |
|
SP_QFPRegsRegClassID = 6, |
|
SP_QFPRegs_with_sub_evenRegClassID = 7 |
|
}; |
|
|
|
// Subregister indices |
|
enum { |
|
SP_NoSubRegister, |
|
SP_sub_even, // 1 |
|
SP_sub_even64, // 2 |
|
SP_sub_odd, // 3 |
|
SP_sub_odd64, // 4 |
|
SP_sub_odd64_then_sub_even, // 5 |
|
SP_sub_odd64_then_sub_odd, // 6 |
|
SP_NUM_TARGET_SUBREGS |
|
}; |
|
#endif // GET_REGINFO_ENUM |
|
|
|
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
|
|* *| |
|
|*MC Register Information *| |
|
|* *| |
|
|* Automatically generated file, do not edit! *| |
|
|* *| |
|
\*===----------------------------------------------------------------------===*/ |
|
|
|
|
|
#ifdef GET_REGINFO_MC_DESC |
|
#undef GET_REGINFO_MC_DESC |
|
|
|
static MCPhysReg SparcRegDiffLists[] = { |
|
/* 0 */ 65126, 1, 1, 1, 0, |
|
/* 5 */ 32, 1, 0, |
|
/* 8 */ 65436, 32, 1, 65504, 33, 1, 0, |
|
/* 15 */ 34, 1, 0, |
|
/* 18 */ 65437, 34, 1, 65502, 35, 1, 0, |
|
/* 25 */ 36, 1, 0, |
|
/* 28 */ 65438, 36, 1, 65500, 37, 1, 0, |
|
/* 35 */ 38, 1, 0, |
|
/* 38 */ 65439, 38, 1, 65498, 39, 1, 0, |
|
/* 45 */ 40, 1, 0, |
|
/* 48 */ 65440, 40, 1, 65496, 41, 1, 0, |
|
/* 55 */ 42, 1, 0, |
|
/* 58 */ 65441, 42, 1, 65494, 43, 1, 0, |
|
/* 65 */ 44, 1, 0, |
|
/* 68 */ 65442, 44, 1, 65492, 45, 1, 0, |
|
/* 75 */ 46, 1, 0, |
|
/* 78 */ 65443, 46, 1, 65490, 47, 1, 0, |
|
/* 85 */ 65348, 1, 0, |
|
/* 88 */ 65444, 1, 0, |
|
/* 91 */ 65445, 1, 0, |
|
/* 94 */ 65446, 1, 0, |
|
/* 97 */ 65447, 1, 0, |
|
/* 100 */ 65448, 1, 0, |
|
/* 103 */ 65449, 1, 0, |
|
/* 106 */ 65450, 1, 0, |
|
/* 109 */ 65451, 1, 0, |
|
/* 112 */ 65532, 1, 0, |
|
/* 115 */ 15, 0, |
|
/* 117 */ 84, 0, |
|
/* 119 */ 85, 0, |
|
/* 121 */ 86, 0, |
|
/* 123 */ 87, 0, |
|
/* 125 */ 88, 0, |
|
/* 127 */ 89, 0, |
|
/* 129 */ 90, 0, |
|
/* 131 */ 91, 0, |
|
/* 133 */ 65488, 92, 0, |
|
/* 136 */ 65489, 92, 0, |
|
/* 139 */ 65489, 93, 0, |
|
/* 142 */ 65490, 93, 0, |
|
/* 145 */ 65491, 93, 0, |
|
/* 148 */ 65491, 94, 0, |
|
/* 151 */ 65492, 94, 0, |
|
/* 154 */ 65493, 94, 0, |
|
/* 157 */ 65493, 95, 0, |
|
/* 160 */ 65494, 95, 0, |
|
/* 163 */ 65495, 95, 0, |
|
/* 166 */ 65495, 96, 0, |
|
/* 169 */ 65496, 96, 0, |
|
/* 172 */ 65497, 96, 0, |
|
/* 175 */ 65497, 97, 0, |
|
/* 178 */ 65498, 97, 0, |
|
/* 181 */ 65499, 97, 0, |
|
/* 184 */ 65499, 98, 0, |
|
/* 187 */ 65500, 98, 0, |
|
/* 190 */ 65501, 98, 0, |
|
/* 193 */ 65501, 99, 0, |
|
/* 196 */ 65502, 99, 0, |
|
/* 199 */ 65503, 99, 0, |
|
/* 202 */ 65503, 100, 0, |
|
/* 205 */ 65504, 100, 0, |
|
/* 208 */ 65503, 0, |
|
/* 210 */ 65519, 0, |
|
/* 212 */ 65535, 0, |
|
}; |
|
|
|
static uint16_t SparcSubRegIdxLists[] = { |
|
/* 0 */ 1, 3, 0, |
|
/* 3 */ 2, 4, 0, |
|
/* 6 */ 2, 1, 3, 4, 5, 6, 0, |
|
}; |
|
|
|
static MCRegisterDesc SparcRegDesc[] = { // Descriptors |
|
{ 3, 0, 0, 0, 0 }, |
|
{ 406, 4, 4, 2, 3393 }, |
|
{ 410, 4, 4, 2, 3393 }, |
|
{ 33, 5, 203, 0, 1794 }, |
|
{ 87, 12, 194, 0, 1794 }, |
|
{ 133, 15, 194, 0, 1794 }, |
|
{ 179, 22, 185, 0, 1794 }, |
|
{ 220, 25, 185, 0, 1794 }, |
|
{ 261, 32, 176, 0, 1794 }, |
|
{ 298, 35, 176, 0, 1794 }, |
|
{ 335, 42, 167, 0, 1794 }, |
|
{ 372, 45, 167, 0, 1794 }, |
|
{ 397, 52, 158, 0, 1794 }, |
|
{ 0, 55, 158, 0, 1794 }, |
|
{ 54, 62, 149, 0, 1794 }, |
|
{ 108, 65, 149, 0, 1794 }, |
|
{ 154, 72, 140, 0, 1794 }, |
|
{ 200, 75, 140, 0, 1794 }, |
|
{ 241, 82, 134, 0, 1794 }, |
|
{ 282, 4, 134, 2, 1841 }, |
|
{ 319, 4, 131, 2, 1841 }, |
|
{ 356, 4, 131, 2, 1841 }, |
|
{ 381, 4, 129, 2, 1841 }, |
|
{ 12, 4, 129, 2, 1841 }, |
|
{ 66, 4, 127, 2, 1841 }, |
|
{ 120, 4, 127, 2, 1841 }, |
|
{ 166, 4, 125, 2, 1841 }, |
|
{ 212, 4, 125, 2, 1841 }, |
|
{ 253, 4, 123, 2, 1841 }, |
|
{ 290, 4, 123, 2, 1841 }, |
|
{ 327, 4, 121, 2, 1841 }, |
|
{ 364, 4, 121, 2, 1841 }, |
|
{ 389, 4, 119, 2, 1841 }, |
|
{ 20, 4, 119, 2, 1841 }, |
|
{ 74, 4, 117, 2, 1841 }, |
|
{ 36, 4, 205, 2, 3329 }, |
|
{ 90, 4, 202, 2, 3329 }, |
|
{ 136, 4, 199, 2, 3329 }, |
|
{ 182, 4, 196, 2, 3329 }, |
|
{ 223, 4, 196, 2, 3329 }, |
|
{ 264, 4, 193, 2, 3329 }, |
|
{ 301, 4, 190, 2, 3329 }, |
|
{ 338, 4, 187, 2, 3329 }, |
|
{ 375, 4, 187, 2, 3329 }, |
|
{ 400, 4, 184, 2, 3329 }, |
|
{ 4, 4, 181, 2, 3329 }, |
|
{ 58, 4, 178, 2, 3329 }, |
|
{ 112, 4, 178, 2, 3329 }, |
|
{ 158, 4, 175, 2, 3329 }, |
|
{ 204, 4, 172, 2, 3329 }, |
|
{ 245, 4, 169, 2, 3329 }, |
|
{ 286, 4, 169, 2, 3329 }, |
|
{ 323, 4, 166, 2, 3329 }, |
|
{ 360, 4, 163, 2, 3329 }, |
|
{ 385, 4, 160, 2, 3329 }, |
|
{ 16, 4, 160, 2, 3329 }, |
|
{ 70, 4, 157, 2, 3329 }, |
|
{ 124, 4, 154, 2, 3329 }, |
|
{ 170, 4, 151, 2, 3329 }, |
|
{ 216, 4, 151, 2, 3329 }, |
|
{ 257, 4, 148, 2, 3329 }, |
|
{ 294, 4, 145, 2, 3329 }, |
|
{ 331, 4, 142, 2, 3329 }, |
|
{ 368, 4, 142, 2, 3329 }, |
|
{ 393, 4, 139, 2, 3329 }, |
|
{ 24, 4, 136, 2, 3329 }, |
|
{ 78, 4, 133, 2, 3329 }, |
|
{ 28, 4, 4, 2, 3361 }, |
|
{ 82, 4, 4, 2, 3361 }, |
|
{ 128, 4, 4, 2, 3361 }, |
|
{ 174, 4, 4, 2, 3361 }, |
|
{ 39, 4, 4, 2, 3361 }, |
|
{ 93, 4, 4, 2, 3361 }, |
|
{ 139, 4, 4, 2, 3361 }, |
|
{ 185, 4, 4, 2, 3361 }, |
|
{ 226, 4, 4, 2, 3361 }, |
|
{ 267, 4, 4, 2, 3361 }, |
|
{ 304, 4, 4, 2, 3361 }, |
|
{ 341, 4, 4, 2, 3361 }, |
|
{ 42, 4, 4, 2, 3361 }, |
|
{ 96, 4, 4, 2, 3361 }, |
|
{ 142, 4, 4, 2, 3361 }, |
|
{ 188, 4, 4, 2, 3361 }, |
|
{ 229, 4, 4, 2, 3361 }, |
|
{ 270, 4, 4, 2, 3361 }, |
|
{ 307, 4, 4, 2, 3361 }, |
|
{ 344, 4, 4, 2, 3361 }, |
|
{ 45, 4, 4, 2, 3361 }, |
|
{ 99, 4, 4, 2, 3361 }, |
|
{ 145, 4, 4, 2, 3361 }, |
|
{ 191, 4, 4, 2, 3361 }, |
|
{ 232, 4, 4, 2, 3361 }, |
|
{ 273, 4, 4, 2, 3361 }, |
|
{ 310, 4, 4, 2, 3361 }, |
|
{ 347, 4, 4, 2, 3361 }, |
|
{ 48, 4, 4, 2, 3361 }, |
|
{ 102, 4, 4, 2, 3361 }, |
|
{ 148, 4, 4, 2, 3361 }, |
|
{ 194, 4, 4, 2, 3361 }, |
|
{ 235, 4, 4, 2, 3361 }, |
|
{ 276, 4, 4, 2, 3361 }, |
|
{ 313, 4, 4, 2, 3361 }, |
|
{ 350, 4, 4, 2, 3361 }, |
|
{ 51, 8, 4, 6, 4 }, |
|
{ 105, 18, 4, 6, 4 }, |
|
{ 151, 28, 4, 6, 4 }, |
|
{ 197, 38, 4, 6, 4 }, |
|
{ 238, 48, 4, 6, 4 }, |
|
{ 279, 58, 4, 6, 4 }, |
|
{ 316, 68, 4, 6, 4 }, |
|
{ 353, 78, 4, 6, 4 }, |
|
{ 378, 88, 4, 3, 1362 }, |
|
{ 403, 91, 4, 3, 1362 }, |
|
{ 8, 94, 4, 3, 1362 }, |
|
{ 62, 97, 4, 3, 1362 }, |
|
{ 116, 100, 4, 3, 1362 }, |
|
{ 162, 103, 4, 3, 1362 }, |
|
{ 208, 106, 4, 3, 1362 }, |
|
{ 249, 109, 4, 3, 1362 }, |
|
}; |
|
|
|
// FCCRegs Register Class... |
|
static uint16_t FCCRegs[] = { |
|
SP_FCC0, SP_FCC1, SP_FCC2, SP_FCC3, |
|
}; |
|
|
|
// FCCRegs Bit set. |
|
static uint8_t FCCRegsBits[] = { |
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, |
|
}; |
|
|
|
// FPRegs Register Class... |
|
static uint16_t FPRegs[] = { |
|
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, |
|
}; |
|
|
|
// FPRegs Bit set. |
|
static uint8_t FPRegsBits[] = { |
|
0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x07, |
|
}; |
|
|
|
// IntRegs Register Class... |
|
static uint16_t IntRegs[] = { |
|
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, |
|
}; |
|
|
|
// IntRegs Bit set. |
|
static uint8_t IntRegsBits[] = { |
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f, |
|
}; |
|
|
|
// DFPRegs Register Class... |
|
static uint16_t DFPRegs[] = { |
|
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, |
|
}; |
|
|
|
// DFPRegs Bit set. |
|
static uint8_t DFPRegsBits[] = { |
|
0xf8, 0xff, 0xff, 0xff, 0x07, |
|
}; |
|
|
|
// I64Regs Register Class... |
|
static uint16_t I64Regs[] = { |
|
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, |
|
}; |
|
|
|
// I64Regs Bit set. |
|
static uint8_t I64RegsBits[] = { |
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f, |
|
}; |
|
|
|
// DFPRegs_with_sub_even Register Class... |
|
static uint16_t DFPRegs_with_sub_even[] = { |
|
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, |
|
}; |
|
|
|
// DFPRegs_with_sub_even Bit set. |
|
static uint8_t DFPRegs_with_sub_evenBits[] = { |
|
0xf8, 0xff, 0x07, |
|
}; |
|
|
|
// QFPRegs Register Class... |
|
static uint16_t QFPRegs[] = { |
|
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, |
|
}; |
|
|
|
// QFPRegs Bit set. |
|
static uint8_t QFPRegsBits[] = { |
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, |
|
}; |
|
|
|
// QFPRegs_with_sub_even Register Class... |
|
static uint16_t QFPRegs_with_sub_even[] = { |
|
SP_Q0, SP_Q1, SP_Q2, SP_Q3, SP_Q4, SP_Q5, SP_Q6, SP_Q7, |
|
}; |
|
|
|
// QFPRegs_with_sub_even Bit set. |
|
static uint8_t QFPRegs_with_sub_evenBits[] = { |
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, |
|
}; |
|
|
|
static MCRegisterClass SparcMCRegisterClasses[] = { |
|
{ "FCCRegs", FCCRegs, FCCRegsBits, 4, sizeof(FCCRegsBits), SP_FCCRegsRegClassID, 0, 0, 1, 1 }, |
|
{ "FPRegs", FPRegs, FPRegsBits, 32, sizeof(FPRegsBits), SP_FPRegsRegClassID, 4, 4, 1, 1 }, |
|
{ "IntRegs", IntRegs, IntRegsBits, 32, sizeof(IntRegsBits), SP_IntRegsRegClassID, 4, 4, 1, 1 }, |
|
{ "DFPRegs", DFPRegs, DFPRegsBits, 32, sizeof(DFPRegsBits), SP_DFPRegsRegClassID, 8, 8, 1, 1 }, |
|
{ "I64Regs", I64Regs, I64RegsBits, 32, sizeof(I64RegsBits), SP_I64RegsRegClassID, 8, 8, 1, 1 }, |
|
{ "DFPRegs_with_sub_even", DFPRegs_with_sub_even, DFPRegs_with_sub_evenBits, 16, sizeof(DFPRegs_with_sub_evenBits), SP_DFPRegs_with_sub_evenRegClassID, 8, 8, 1, 1 }, |
|
{ "QFPRegs", QFPRegs, QFPRegsBits, 16, sizeof(QFPRegsBits), SP_QFPRegsRegClassID, 16, 16, 1, 1 }, |
|
{ "QFPRegs_with_sub_even", QFPRegs_with_sub_even, QFPRegs_with_sub_evenBits, 8, sizeof(QFPRegs_with_sub_evenBits), SP_QFPRegs_with_sub_evenRegClassID, 16, 16, 1, 1 }, |
|
}; |
|
|
|
#endif // GET_REGINFO_MC_DESC
|
|
|