#ifdef GET_REGINFO_ENUM #undef GET_REGINFO_ENUM enum { Sparc_NoRegister, Sparc_CANRESTORE = 1, Sparc_CANSAVE = 2, Sparc_CLEANWIN = 3, Sparc_CPQ = 4, Sparc_CPSR = 5, Sparc_CWP = 6, Sparc_FQ = 7, Sparc_FSR = 8, Sparc_GL = 9, Sparc_ICC = 10, Sparc_OTHERWIN = 11, Sparc_PIL = 12, Sparc_PSR = 13, Sparc_PSTATE = 14, Sparc_TBA = 15, Sparc_TBR = 16, Sparc_TICK = 17, Sparc_TL = 18, Sparc_TNPC = 19, Sparc_TPC = 20, Sparc_TSTATE = 21, Sparc_TT = 22, Sparc_VER = 23, Sparc_WIM = 24, Sparc_WSTATE = 25, Sparc_Y = 26, Sparc_ASR1 = 27, Sparc_ASR2 = 28, Sparc_ASR3 = 29, Sparc_ASR4 = 30, Sparc_ASR5 = 31, Sparc_ASR6 = 32, Sparc_ASR7 = 33, Sparc_ASR8 = 34, Sparc_ASR9 = 35, Sparc_ASR10 = 36, Sparc_ASR11 = 37, Sparc_ASR12 = 38, Sparc_ASR13 = 39, Sparc_ASR14 = 40, Sparc_ASR15 = 41, Sparc_ASR16 = 42, Sparc_ASR17 = 43, Sparc_ASR18 = 44, Sparc_ASR19 = 45, Sparc_ASR20 = 46, Sparc_ASR21 = 47, Sparc_ASR22 = 48, Sparc_ASR23 = 49, Sparc_ASR24 = 50, Sparc_ASR25 = 51, Sparc_ASR26 = 52, Sparc_ASR27 = 53, Sparc_ASR28 = 54, Sparc_ASR29 = 55, Sparc_ASR30 = 56, Sparc_ASR31 = 57, Sparc_C0 = 58, Sparc_C1 = 59, Sparc_C2 = 60, Sparc_C3 = 61, Sparc_C4 = 62, Sparc_C5 = 63, Sparc_C6 = 64, Sparc_C7 = 65, Sparc_C8 = 66, Sparc_C9 = 67, Sparc_C10 = 68, Sparc_C11 = 69, Sparc_C12 = 70, Sparc_C13 = 71, Sparc_C14 = 72, Sparc_C15 = 73, Sparc_C16 = 74, Sparc_C17 = 75, Sparc_C18 = 76, Sparc_C19 = 77, Sparc_C20 = 78, Sparc_C21 = 79, Sparc_C22 = 80, Sparc_C23 = 81, Sparc_C24 = 82, Sparc_C25 = 83, Sparc_C26 = 84, Sparc_C27 = 85, Sparc_C28 = 86, Sparc_C29 = 87, Sparc_C30 = 88, Sparc_C31 = 89, Sparc_D0 = 90, Sparc_D1 = 91, Sparc_D2 = 92, Sparc_D3 = 93, Sparc_D4 = 94, Sparc_D5 = 95, Sparc_D6 = 96, Sparc_D7 = 97, Sparc_D8 = 98, Sparc_D9 = 99, Sparc_D10 = 100, Sparc_D11 = 101, Sparc_D12 = 102, Sparc_D13 = 103, Sparc_D14 = 104, Sparc_D15 = 105, Sparc_D16 = 106, Sparc_D17 = 107, Sparc_D18 = 108, Sparc_D19 = 109, Sparc_D20 = 110, Sparc_D21 = 111, Sparc_D22 = 112, Sparc_D23 = 113, Sparc_D24 = 114, Sparc_D25 = 115, Sparc_D26 = 116, Sparc_D27 = 117, Sparc_D28 = 118, Sparc_D29 = 119, Sparc_D30 = 120, Sparc_D31 = 121, Sparc_F0 = 122, Sparc_F1 = 123, Sparc_F2 = 124, Sparc_F3 = 125, Sparc_F4 = 126, Sparc_F5 = 127, Sparc_F6 = 128, Sparc_F7 = 129, Sparc_F8 = 130, Sparc_F9 = 131, Sparc_F10 = 132, Sparc_F11 = 133, Sparc_F12 = 134, Sparc_F13 = 135, Sparc_F14 = 136, Sparc_F15 = 137, Sparc_F16 = 138, Sparc_F17 = 139, Sparc_F18 = 140, Sparc_F19 = 141, Sparc_F20 = 142, Sparc_F21 = 143, Sparc_F22 = 144, Sparc_F23 = 145, Sparc_F24 = 146, Sparc_F25 = 147, Sparc_F26 = 148, Sparc_F27 = 149, Sparc_F28 = 150, Sparc_F29 = 151, Sparc_F30 = 152, Sparc_F31 = 153, Sparc_FCC0 = 154, Sparc_FCC1 = 155, Sparc_FCC2 = 156, Sparc_FCC3 = 157, Sparc_G0 = 158, Sparc_G1 = 159, Sparc_G2 = 160, Sparc_G3 = 161, Sparc_G4 = 162, Sparc_G5 = 163, Sparc_G6 = 164, Sparc_G7 = 165, Sparc_I0 = 166, Sparc_I1 = 167, Sparc_I2 = 168, Sparc_I3 = 169, Sparc_I4 = 170, Sparc_I5 = 171, Sparc_I6 = 172, Sparc_I7 = 173, Sparc_L0 = 174, Sparc_L1 = 175, Sparc_L2 = 176, Sparc_L3 = 177, Sparc_L4 = 178, Sparc_L5 = 179, Sparc_L6 = 180, Sparc_L7 = 181, Sparc_O0 = 182, Sparc_O1 = 183, Sparc_O2 = 184, Sparc_O3 = 185, Sparc_O4 = 186, Sparc_O5 = 187, Sparc_O6 = 188, Sparc_O7 = 189, Sparc_Q0 = 190, Sparc_Q1 = 191, Sparc_Q2 = 192, Sparc_Q3 = 193, Sparc_Q4 = 194, Sparc_Q5 = 195, Sparc_Q6 = 196, Sparc_Q7 = 197, Sparc_Q8 = 198, Sparc_Q9 = 199, Sparc_Q10 = 200, Sparc_Q11 = 201, Sparc_Q12 = 202, Sparc_Q13 = 203, Sparc_Q14 = 204, Sparc_Q15 = 205, Sparc_C0_C1 = 206, Sparc_C2_C3 = 207, Sparc_C4_C5 = 208, Sparc_C6_C7 = 209, Sparc_C8_C9 = 210, Sparc_C10_C11 = 211, Sparc_C12_C13 = 212, Sparc_C14_C15 = 213, Sparc_C16_C17 = 214, Sparc_C18_C19 = 215, Sparc_C20_C21 = 216, Sparc_C22_C23 = 217, Sparc_C24_C25 = 218, Sparc_C26_C27 = 219, Sparc_C28_C29 = 220, Sparc_C30_C31 = 221, Sparc_G0_G1 = 222, Sparc_G2_G3 = 223, Sparc_G4_G5 = 224, Sparc_G6_G7 = 225, Sparc_I0_I1 = 226, Sparc_I2_I3 = 227, Sparc_I4_I5 = 228, Sparc_I6_I7 = 229, Sparc_L0_L1 = 230, Sparc_L2_L3 = 231, Sparc_L4_L5 = 232, Sparc_L6_L7 = 233, Sparc_O0_O1 = 234, Sparc_O2_O3 = 235, Sparc_O4_O5 = 236, Sparc_O6_O7 = 237, NUM_TARGET_REGS // 238 }; // Register classes enum { Sparc_FCCRegsRegClassID = 0, Sparc_ASRRegsRegClassID = 1, Sparc_CoprocRegsRegClassID = 2, Sparc_FPRegsRegClassID = 3, Sparc_IntRegsRegClassID = 4, Sparc_GPRIncomingArgRegClassID = 5, Sparc_GPROutgoingArgRegClassID = 6, Sparc_DFPRegsRegClassID = 7, Sparc_I64RegsRegClassID = 8, Sparc_PRRegsRegClassID = 9, Sparc_CoprocPairRegClassID = 10, Sparc_IntPairRegClassID = 11, Sparc_LowDFPRegsRegClassID = 12, Sparc_I64Regs_and_GPRIncomingArgRegClassID = 13, Sparc_I64Regs_and_GPROutgoingArgRegClassID = 14, Sparc_IntPair_with_sub_even_in_GPRIncomingArgRegClassID = 15, Sparc_IntPair_with_sub_even_in_GPROutgoingArgRegClassID = 16, Sparc_PRRegs_and_ASRRegsRegClassID = 17, Sparc_QFPRegsRegClassID = 18, Sparc_LowQFPRegsRegClassID = 19, }; // Register alternate name indices enum { Sparc_NoRegAltName, // 0 Sparc_RegNamesStateReg, // 1 NUM_TARGET_REG_ALT_NAMES = 2 }; // Subregister indices enum { Sparc_NoSubRegister, Sparc_sub_even, // 1 Sparc_sub_even64, // 2 Sparc_sub_odd, // 3 Sparc_sub_odd64, // 4 Sparc_sub_odd64_then_sub_even, // 5 Sparc_sub_odd64_then_sub_odd, // 6 Sparc_NUM_TARGET_SUBREGS }; #endif // GET_REGINFO_ENUM /* Capstone Disassembly Engine, https://www.capstone-engine.org */ /* By Nguyen Anh Quynh , 2013-2022, */ /* Rot127 2022-2024 */ /* Automatically generated file by Capstone's LLVM TableGen Disassembler Backend. */ /* LLVM-commit: */ /* LLVM-tag: */ /* Do not edit. */ /* Capstone's LLVM TableGen Backends: */ /* https://github.com/capstone-engine/llvm-capstone */ #ifdef GET_REGINFO_MC_DESC #undef GET_REGINFO_MC_DESC static const MCPhysReg SparcRegDiffLists[] = { /* 0 */ -148, 1, 0, /* 3 */ -147, 1, 0, /* 6 */ -146, 1, 0, /* 9 */ -145, 1, 0, /* 12 */ -144, 1, 0, /* 15 */ -143, 1, 0, /* 18 */ -142, 1, 0, /* 21 */ -141, 1, 0, /* 24 */ -140, 1, 0, /* 27 */ -139, 1, 0, /* 30 */ -138, 1, 0, /* 33 */ -137, 1, 0, /* 36 */ -136, 1, 0, /* 39 */ -135, 1, 0, /* 42 */ -134, 1, 0, /* 45 */ -133, 1, 0, /* 48 */ -92, 1, 0, /* 51 */ -91, 1, 0, /* 54 */ -90, 1, 0, /* 57 */ -89, 1, 0, /* 60 */ -88, 1, 0, /* 63 */ -87, 1, 0, /* 66 */ -86, 1, 0, /* 69 */ -85, 1, 0, /* 72 */ -64, 1, 0, /* 75 */ -63, 1, 0, /* 78 */ -62, 1, 0, /* 81 */ -61, 1, 0, /* 84 */ -60, 1, 0, /* 87 */ -59, 1, 0, /* 90 */ -58, 1, 0, /* 93 */ -57, 1, 0, /* 96 */ -56, 1, 0, /* 99 */ -55, 1, 0, /* 102 */ -54, 1, 0, /* 105 */ -53, 1, 0, /* 108 */ -52, 1, 0, /* 111 */ -51, 1, 0, /* 114 */ -50, 1, 0, /* 117 */ -49, 1, 0, /* 120 */ 1, 1, 1, 0, /* 124 */ 32, 1, 0, /* 127 */ -100, 32, 1, -32, 33, 1, 0, /* 134 */ 34, 1, 0, /* 137 */ -99, 34, 1, -34, 35, 1, 0, /* 144 */ 36, 1, 0, /* 147 */ -98, 36, 1, -36, 37, 1, 0, /* 154 */ 38, 1, 0, /* 157 */ -97, 38, 1, -38, 39, 1, 0, /* 164 */ 40, 1, 0, /* 167 */ -96, 40, 1, -40, 41, 1, 0, /* 174 */ 42, 1, 0, /* 177 */ -95, 42, 1, -42, 43, 1, 0, /* 184 */ 44, 1, 0, /* 187 */ -94, 44, 1, -44, 45, 1, 0, /* 194 */ 46, 1, 0, /* 197 */ -93, 46, 1, -46, 47, 1, 0, /* 204 */ 48, 0, /* 206 */ 49, 0, /* 208 */ 50, 0, /* 210 */ 51, 0, /* 212 */ 52, 0, /* 214 */ 53, 0, /* 216 */ 54, 0, /* 218 */ 55, 0, /* 220 */ 56, 0, /* 222 */ 57, 0, /* 224 */ 58, 0, /* 226 */ 59, 0, /* 228 */ 60, 0, /* 230 */ 61, 0, /* 232 */ 62, 0, /* 234 */ 63, 0, /* 236 */ 64, 0, /* 238 */ 84, 0, /* 240 */ 85, 0, /* 242 */ 86, 0, /* 244 */ 87, 0, /* 246 */ 88, 0, /* 248 */ 89, 0, /* 250 */ 90, 0, /* 252 */ 91, 0, /* 254 */ -48, 92, 0, /* 257 */ -47, 92, 0, /* 260 */ -47, 93, 0, /* 263 */ -46, 93, 0, /* 266 */ -45, 93, 0, /* 269 */ -45, 94, 0, /* 272 */ -44, 94, 0, /* 275 */ -43, 94, 0, /* 278 */ -43, 95, 0, /* 281 */ -42, 95, 0, /* 284 */ -41, 95, 0, /* 287 */ -41, 96, 0, /* 290 */ -40, 96, 0, /* 293 */ -39, 96, 0, /* 296 */ -39, 97, 0, /* 299 */ -38, 97, 0, /* 302 */ -37, 97, 0, /* 305 */ -37, 98, 0, /* 308 */ -36, 98, 0, /* 311 */ -35, 98, 0, /* 314 */ -35, 99, 0, /* 317 */ -34, 99, 0, /* 320 */ -33, 99, 0, /* 323 */ -33, 100, 0, /* 326 */ -32, 100, 0, /* 329 */ 132, 0, /* 331 */ 133, 0, /* 333 */ 134, 0, /* 335 */ 135, 0, /* 337 */ 136, 0, /* 339 */ 137, 0, /* 341 */ 138, 0, /* 343 */ 139, 0, /* 345 */ 140, 0, /* 347 */ 141, 0, /* 349 */ 142, 0, /* 351 */ 143, 0, /* 353 */ 144, 0, /* 355 */ 145, 0, /* 357 */ 146, 0, /* 359 */ 147, 0, /* 361 */ 148, 0, }; static const uint16_t SparcSubRegIdxLists[] = { /* 0 */ 1, 3, 0, /* 3 */ 2, 4, 0, /* 6 */ 2, 1, 3, 4, 5, 6, 0, }; static const MCRegisterDesc SparcRegDesc[] = { // Descriptors { 3, 0, 0, 0, 0, 0 }, { 819, 2, 2, 2, 8192, 11 }, { 851, 2, 2, 2, 8193, 11 }, { 878, 2, 2, 2, 8194, 11 }, { 903, 2, 2, 2, 8195, 11 }, { 919, 2, 2, 2, 8196, 11 }, { 896, 2, 2, 2, 8197, 11 }, { 900, 2, 2, 2, 8198, 11 }, { 915, 2, 2, 2, 8199, 11 }, { 864, 2, 2, 2, 8200, 11 }, { 806, 2, 2, 2, 8201, 11 }, { 887, 2, 2, 2, 8202, 11 }, { 867, 2, 2, 2, 8203, 11 }, { 920, 2, 2, 2, 8204, 11 }, { 830, 2, 2, 2, 8205, 11 }, { 802, 2, 2, 2, 8206, 11 }, { 907, 2, 2, 2, 8207, 11 }, { 859, 2, 2, 2, 8208, 11 }, { 871, 2, 2, 2, 8209, 11 }, { 810, 2, 2, 2, 8210, 11 }, { 815, 2, 2, 2, 8211, 11 }, { 837, 2, 2, 2, 8212, 11 }, { 924, 2, 2, 2, 8213, 11 }, { 911, 2, 2, 2, 8214, 11 }, { 874, 2, 2, 2, 8215, 11 }, { 844, 2, 2, 2, 8216, 11 }, { 927, 2, 2, 2, 8217, 11 }, { 198, 2, 2, 2, 8218, 11 }, { 269, 2, 2, 2, 8219, 11 }, { 366, 2, 2, 2, 8220, 11 }, { 435, 2, 2, 2, 8221, 11 }, { 527, 2, 2, 2, 8222, 11 }, { 592, 2, 2, 2, 8223, 11 }, { 680, 2, 2, 2, 8224, 11 }, { 733, 2, 2, 2, 8225, 11 }, { 797, 2, 2, 2, 8226, 11 }, { 16, 2, 2, 2, 8227, 11 }, { 104, 2, 2, 2, 8228, 11 }, { 219, 2, 2, 2, 8229, 11 }, { 294, 2, 2, 2, 8230, 11 }, { 387, 2, 2, 2, 8231, 11 }, { 460, 2, 2, 2, 8232, 11 }, { 544, 2, 2, 2, 8233, 11 }, { 613, 2, 2, 2, 8234, 11 }, { 697, 2, 2, 2, 8235, 11 }, { 754, 2, 2, 2, 8236, 11 }, { 34, 2, 2, 2, 8237, 11 }, { 126, 2, 2, 2, 8238, 11 }, { 237, 2, 2, 2, 8239, 11 }, { 316, 2, 2, 2, 8240, 11 }, { 405, 2, 2, 2, 8241, 11 }, { 482, 2, 2, 2, 8242, 11 }, { 562, 2, 2, 2, 8243, 11 }, { 635, 2, 2, 2, 8244, 11 }, { 715, 2, 2, 2, 8245, 11 }, { 776, 2, 2, 2, 8246, 11 }, { 52, 2, 2, 2, 8247, 11 }, { 148, 2, 2, 2, 8248, 11 }, { 60, 2, 361, 2, 8249, 11 }, { 156, 2, 359, 2, 8250, 11 }, { 245, 2, 359, 2, 8251, 11 }, { 324, 2, 357, 2, 8252, 11 }, { 411, 2, 357, 2, 8253, 11 }, { 491, 2, 355, 2, 8254, 11 }, { 568, 2, 355, 2, 8255, 11 }, { 644, 2, 353, 2, 8256, 11 }, { 721, 2, 353, 2, 8257, 11 }, { 785, 2, 351, 2, 8258, 11 }, { 0, 2, 351, 2, 8259, 11 }, { 88, 2, 349, 2, 8260, 11 }, { 203, 2, 349, 2, 8261, 11 }, { 278, 2, 347, 2, 8262, 11 }, { 371, 2, 347, 2, 8263, 11 }, { 444, 2, 345, 2, 8264, 11 }, { 532, 2, 345, 2, 8265, 11 }, { 601, 2, 343, 2, 8266, 11 }, { 685, 2, 343, 2, 8267, 11 }, { 742, 2, 341, 2, 8268, 11 }, { 22, 2, 341, 2, 8269, 11 }, { 114, 2, 339, 2, 8270, 11 }, { 225, 2, 339, 2, 8271, 11 }, { 304, 2, 337, 2, 8272, 11 }, { 393, 2, 337, 2, 8273, 11 }, { 470, 2, 335, 2, 8274, 11 }, { 550, 2, 335, 2, 8275, 11 }, { 623, 2, 333, 2, 8276, 11 }, { 703, 2, 333, 2, 8277, 11 }, { 764, 2, 331, 2, 8278, 11 }, { 40, 2, 331, 2, 8279, 11 }, { 136, 2, 329, 2, 8280, 11 }, { 63, 124, 324, 0, 4185, 0 }, { 165, 131, 315, 0, 4187, 0 }, { 248, 134, 315, 0, 4189, 0 }, { 333, 141, 306, 0, 4191, 0 }, { 414, 144, 306, 0, 4193, 0 }, { 494, 151, 297, 0, 4195, 0 }, { 571, 154, 297, 0, 4197, 0 }, { 647, 161, 288, 0, 4199, 0 }, { 724, 164, 288, 0, 4201, 0 }, { 788, 171, 279, 0, 4203, 0 }, { 4, 174, 279, 0, 4205, 0 }, { 92, 181, 270, 0, 4207, 0 }, { 207, 184, 270, 0, 4209, 0 }, { 282, 191, 261, 0, 4211, 0 }, { 375, 194, 261, 0, 4213, 0 }, { 448, 201, 255, 0, 4215, 0 }, { 536, 2, 255, 2, 8313, 11 }, { 605, 2, 252, 2, 8314, 11 }, { 689, 2, 252, 2, 8315, 11 }, { 746, 2, 250, 2, 8316, 11 }, { 26, 2, 250, 2, 8317, 11 }, { 118, 2, 248, 2, 8318, 11 }, { 229, 2, 248, 2, 8319, 11 }, { 308, 2, 246, 2, 8320, 11 }, { 397, 2, 246, 2, 8321, 11 }, { 474, 2, 244, 2, 8322, 11 }, { 554, 2, 244, 2, 8323, 11 }, { 627, 2, 242, 2, 8324, 11 }, { 707, 2, 242, 2, 8325, 11 }, { 768, 2, 240, 2, 8326, 11 }, { 44, 2, 240, 2, 8327, 11 }, { 140, 2, 238, 2, 8328, 11 }, { 66, 2, 326, 2, 8281, 11 }, { 168, 2, 323, 2, 8282, 11 }, { 251, 2, 320, 2, 8283, 11 }, { 336, 2, 317, 2, 8284, 11 }, { 417, 2, 317, 2, 8285, 11 }, { 497, 2, 314, 2, 8286, 11 }, { 574, 2, 311, 2, 8287, 11 }, { 650, 2, 308, 2, 8288, 11 }, { 727, 2, 308, 2, 8289, 11 }, { 791, 2, 305, 2, 8290, 11 }, { 8, 2, 302, 2, 8291, 11 }, { 96, 2, 299, 2, 8292, 11 }, { 211, 2, 299, 2, 8293, 11 }, { 286, 2, 296, 2, 8294, 11 }, { 379, 2, 293, 2, 8295, 11 }, { 452, 2, 290, 2, 8296, 11 }, { 540, 2, 290, 2, 8297, 11 }, { 609, 2, 287, 2, 8298, 11 }, { 693, 2, 284, 2, 8299, 11 }, { 750, 2, 281, 2, 8300, 11 }, { 30, 2, 281, 2, 8301, 11 }, { 122, 2, 278, 2, 8302, 11 }, { 233, 2, 275, 2, 8303, 11 }, { 312, 2, 272, 2, 8304, 11 }, { 401, 2, 272, 2, 8305, 11 }, { 478, 2, 269, 2, 8306, 11 }, { 558, 2, 266, 2, 8307, 11 }, { 631, 2, 263, 2, 8308, 11 }, { 711, 2, 263, 2, 8309, 11 }, { 772, 2, 260, 2, 8310, 11 }, { 48, 2, 257, 2, 8311, 11 }, { 144, 2, 254, 2, 8312, 11 }, { 58, 2, 2, 2, 8329, 11 }, { 154, 2, 2, 2, 8330, 11 }, { 243, 2, 2, 2, 8331, 11 }, { 322, 2, 2, 2, 8332, 11 }, { 69, 2, 236, 2, 8333, 11 }, { 174, 2, 234, 2, 8334, 11 }, { 254, 2, 234, 2, 8335, 11 }, { 342, 2, 232, 2, 8336, 11 }, { 420, 2, 232, 2, 8337, 11 }, { 503, 2, 230, 2, 8338, 11 }, { 577, 2, 230, 2, 8339, 11 }, { 656, 2, 228, 2, 8340, 11 }, { 72, 2, 228, 2, 8341, 11 }, { 180, 2, 226, 2, 8342, 11 }, { 257, 2, 226, 2, 8343, 11 }, { 348, 2, 224, 2, 8344, 11 }, { 423, 2, 224, 2, 8345, 11 }, { 509, 2, 222, 2, 8346, 11 }, { 580, 2, 222, 2, 8347, 11 }, { 662, 2, 220, 2, 8348, 11 }, { 75, 2, 220, 2, 8349, 11 }, { 186, 2, 218, 2, 8350, 11 }, { 260, 2, 218, 2, 8351, 11 }, { 354, 2, 216, 2, 8352, 11 }, { 426, 2, 216, 2, 8353, 11 }, { 515, 2, 214, 2, 8354, 11 }, { 583, 2, 214, 2, 8355, 11 }, { 668, 2, 212, 2, 8356, 11 }, { 78, 2, 212, 2, 8357, 11 }, { 192, 2, 210, 2, 8358, 11 }, { 263, 2, 210, 2, 8359, 11 }, { 360, 2, 208, 2, 8360, 11 }, { 429, 2, 208, 2, 8361, 11 }, { 521, 2, 206, 2, 8362, 11 }, { 586, 2, 206, 2, 8363, 11 }, { 674, 2, 204, 2, 8364, 11 }, { 81, 127, 2, 6, 491609, 3 }, { 195, 137, 2, 6, 491613, 3 }, { 266, 147, 2, 6, 491617, 3 }, { 363, 157, 2, 6, 491621, 3 }, { 432, 167, 2, 6, 491625, 3 }, { 524, 177, 2, 6, 491629, 3 }, { 589, 187, 2, 6, 491633, 3 }, { 677, 197, 2, 6, 491637, 3 }, { 730, 48, 2, 3, 4217, 8 }, { 794, 51, 2, 3, 4219, 8 }, { 12, 54, 2, 3, 4221, 8 }, { 100, 57, 2, 3, 4223, 8 }, { 215, 60, 2, 3, 4225, 8 }, { 290, 63, 2, 3, 4227, 8 }, { 383, 66, 2, 3, 4229, 8 }, { 456, 69, 2, 3, 4231, 8 }, { 159, 0, 2, 0, 4153, 0 }, { 327, 3, 2, 0, 4155, 0 }, { 488, 6, 2, 0, 4157, 0 }, { 641, 9, 2, 0, 4159, 0 }, { 782, 12, 2, 0, 4161, 0 }, { 84, 15, 2, 0, 4163, 0 }, { 274, 18, 2, 0, 4165, 0 }, { 440, 21, 2, 0, 4167, 0 }, { 597, 24, 2, 0, 4169, 0 }, { 738, 27, 2, 0, 4171, 0 }, { 110, 30, 2, 0, 4173, 0 }, { 300, 33, 2, 0, 4175, 0 }, { 466, 36, 2, 0, 4177, 0 }, { 619, 39, 2, 0, 4179, 0 }, { 760, 42, 2, 0, 4181, 0 }, { 132, 45, 2, 0, 4183, 0 }, { 171, 72, 2, 0, 4237, 0 }, { 339, 75, 2, 0, 4239, 0 }, { 500, 78, 2, 0, 4241, 0 }, { 653, 81, 2, 0, 4243, 0 }, { 177, 84, 2, 0, 4245, 0 }, { 345, 87, 2, 0, 4247, 0 }, { 506, 90, 2, 0, 4249, 0 }, { 659, 93, 2, 0, 4251, 0 }, { 183, 96, 2, 0, 4253, 0 }, { 351, 99, 2, 0, 4255, 0 }, { 512, 102, 2, 0, 4257, 0 }, { 665, 105, 2, 0, 4259, 0 }, { 189, 108, 2, 0, 4261, 0 }, { 357, 111, 2, 0, 4263, 0 }, { 518, 114, 2, 0, 4265, 0 }, { 671, 117, 2, 0, 4267, 0 }, }; // FCCRegs Register Class... static const MCPhysReg FCCRegs[] = { Sparc_FCC0, Sparc_FCC1, Sparc_FCC2, Sparc_FCC3, }; // FCCRegs Bit set. static const uint8_t FCCRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, }; // ASRRegs Register Class... static const MCPhysReg ASRRegs[] = { Sparc_Y, Sparc_TICK, Sparc_ASR1, Sparc_ASR2, Sparc_ASR3, Sparc_ASR4, Sparc_ASR5, Sparc_ASR6, Sparc_ASR7, Sparc_ASR8, Sparc_ASR9, Sparc_ASR10, Sparc_ASR11, Sparc_ASR12, Sparc_ASR13, Sparc_ASR14, Sparc_ASR15, Sparc_ASR16, Sparc_ASR17, Sparc_ASR18, Sparc_ASR19, Sparc_ASR20, Sparc_ASR21, Sparc_ASR22, Sparc_ASR23, Sparc_ASR24, Sparc_ASR25, Sparc_ASR26, Sparc_ASR27, Sparc_ASR28, Sparc_ASR29, Sparc_ASR30, Sparc_ASR31, }; // ASRRegs Bit set. static const uint8_t ASRRegsBits[] = { 0x00, 0x00, 0x02, 0xfc, 0xff, 0xff, 0xff, 0x03, }; // CoprocRegs Register Class... static const MCPhysReg CoprocRegs[] = { Sparc_C0, Sparc_C1, Sparc_C2, Sparc_C3, Sparc_C4, Sparc_C5, Sparc_C6, Sparc_C7, Sparc_C8, Sparc_C9, Sparc_C10, Sparc_C11, Sparc_C12, Sparc_C13, Sparc_C14, Sparc_C15, Sparc_C16, Sparc_C17, Sparc_C18, Sparc_C19, Sparc_C20, Sparc_C21, Sparc_C22, Sparc_C23, Sparc_C24, Sparc_C25, Sparc_C26, Sparc_C27, Sparc_C28, Sparc_C29, Sparc_C30, Sparc_C31, }; // CoprocRegs Bit set. static const uint8_t CoprocRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, }; // FPRegs Register Class... static const MCPhysReg FPRegs[] = { Sparc_F0, Sparc_F1, Sparc_F2, Sparc_F3, Sparc_F4, Sparc_F5, Sparc_F6, Sparc_F7, Sparc_F8, Sparc_F9, Sparc_F10, Sparc_F11, Sparc_F12, Sparc_F13, Sparc_F14, Sparc_F15, Sparc_F16, Sparc_F17, Sparc_F18, Sparc_F19, Sparc_F20, Sparc_F21, Sparc_F22, Sparc_F23, Sparc_F24, Sparc_F25, Sparc_F26, Sparc_F27, Sparc_F28, Sparc_F29, Sparc_F30, Sparc_F31, }; // FPRegs Bit set. static const uint8_t FPRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, }; // IntRegs Register Class... static const MCPhysReg IntRegs[] = { Sparc_I0, Sparc_I1, Sparc_I2, Sparc_I3, Sparc_I4, Sparc_I5, Sparc_I6, Sparc_I7, Sparc_G0, Sparc_G1, Sparc_G2, Sparc_G3, Sparc_G4, Sparc_G5, Sparc_G6, Sparc_G7, Sparc_L0, Sparc_L1, Sparc_L2, Sparc_L3, Sparc_L4, Sparc_L5, Sparc_L6, Sparc_L7, Sparc_O0, Sparc_O1, Sparc_O2, Sparc_O3, Sparc_O4, Sparc_O5, Sparc_O6, Sparc_O7, }; // IntRegs Bit set. static const uint8_t IntRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, }; // GPRIncomingArg Register Class... static const MCPhysReg GPRIncomingArg[] = { Sparc_I0, Sparc_I1, Sparc_I2, Sparc_I3, Sparc_I4, Sparc_I5, }; // GPRIncomingArg Bit set. static const uint8_t GPRIncomingArgBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, }; // GPROutgoingArg Register Class... static const MCPhysReg GPROutgoingArg[] = { Sparc_O0, Sparc_O1, Sparc_O2, Sparc_O3, Sparc_O4, Sparc_O5, }; // GPROutgoingArg Bit set. static const uint8_t GPROutgoingArgBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, }; // DFPRegs Register Class... static const MCPhysReg DFPRegs[] = { Sparc_D0, Sparc_D1, Sparc_D2, Sparc_D3, Sparc_D4, Sparc_D5, Sparc_D6, Sparc_D7, Sparc_D8, Sparc_D9, Sparc_D10, Sparc_D11, Sparc_D12, Sparc_D13, Sparc_D14, Sparc_D15, Sparc_D16, Sparc_D17, Sparc_D18, Sparc_D19, Sparc_D20, Sparc_D21, Sparc_D22, Sparc_D23, Sparc_D24, Sparc_D25, Sparc_D26, Sparc_D27, Sparc_D28, Sparc_D29, Sparc_D30, Sparc_D31, }; // DFPRegs Bit set. static const uint8_t DFPRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, }; // I64Regs Register Class... static const MCPhysReg I64Regs[] = { Sparc_I0, Sparc_I1, Sparc_I2, Sparc_I3, Sparc_I4, Sparc_I5, Sparc_I6, Sparc_I7, Sparc_G0, Sparc_G1, Sparc_G2, Sparc_G3, Sparc_G4, Sparc_G5, Sparc_G6, Sparc_G7, Sparc_L0, Sparc_L1, Sparc_L2, Sparc_L3, Sparc_L4, Sparc_L5, Sparc_L6, Sparc_L7, Sparc_O0, Sparc_O1, Sparc_O2, Sparc_O3, Sparc_O4, Sparc_O5, Sparc_O6, Sparc_O7, }; // I64Regs Bit set. static const uint8_t I64RegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x3f, }; // PRRegs Register Class... static const MCPhysReg PRRegs[] = { Sparc_TPC, Sparc_TNPC, Sparc_TSTATE, Sparc_TT, Sparc_TICK, Sparc_TBA, Sparc_PSTATE, Sparc_TL, Sparc_PIL, Sparc_CWP, Sparc_CANSAVE, Sparc_CANRESTORE, Sparc_CLEANWIN, Sparc_OTHERWIN, Sparc_WSTATE, Sparc_GL, Sparc_VER, }; // PRRegs Bit set. static const uint8_t PRRegsBits[] = { 0x4e, 0xda, 0xfe, 0x02, }; // CoprocPair Register Class... static const MCPhysReg CoprocPair[] = { Sparc_C0_C1, Sparc_C2_C3, Sparc_C4_C5, Sparc_C6_C7, Sparc_C8_C9, Sparc_C10_C11, Sparc_C12_C13, Sparc_C14_C15, Sparc_C16_C17, Sparc_C18_C19, Sparc_C20_C21, Sparc_C22_C23, Sparc_C24_C25, Sparc_C26_C27, Sparc_C28_C29, Sparc_C30_C31, }; // CoprocPair Bit set. static const uint8_t CoprocPairBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, }; // IntPair Register Class... static const MCPhysReg IntPair[] = { Sparc_I0_I1, Sparc_I2_I3, Sparc_I4_I5, Sparc_I6_I7, Sparc_G0_G1, Sparc_G2_G3, Sparc_G4_G5, Sparc_G6_G7, Sparc_L0_L1, Sparc_L2_L3, Sparc_L4_L5, Sparc_L6_L7, Sparc_O0_O1, Sparc_O2_O3, Sparc_O4_O5, Sparc_O6_O7, }; // IntPair Bit set. static const uint8_t IntPairBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, }; // LowDFPRegs Register Class... static const MCPhysReg LowDFPRegs[] = { Sparc_D0, Sparc_D1, Sparc_D2, Sparc_D3, Sparc_D4, Sparc_D5, Sparc_D6, Sparc_D7, Sparc_D8, Sparc_D9, Sparc_D10, Sparc_D11, Sparc_D12, Sparc_D13, Sparc_D14, Sparc_D15, }; // LowDFPRegs Bit set. static const uint8_t LowDFPRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x03, }; // I64Regs_and_GPRIncomingArg Register Class... static const MCPhysReg I64Regs_and_GPRIncomingArg[] = { Sparc_I0, Sparc_I1, Sparc_I2, Sparc_I3, Sparc_I4, Sparc_I5, }; // I64Regs_and_GPRIncomingArg Bit set. static const uint8_t I64Regs_and_GPRIncomingArgBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, }; // I64Regs_and_GPROutgoingArg Register Class... static const MCPhysReg I64Regs_and_GPROutgoingArg[] = { Sparc_O0, Sparc_O1, Sparc_O2, Sparc_O3, Sparc_O4, Sparc_O5, }; // I64Regs_and_GPROutgoingArg Bit set. static const uint8_t I64Regs_and_GPROutgoingArgBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, }; // IntPair_with_sub_even_in_GPRIncomingArg Register Class... static const MCPhysReg IntPair_with_sub_even_in_GPRIncomingArg[] = { Sparc_I0_I1, Sparc_I2_I3, Sparc_I4_I5, }; // IntPair_with_sub_even_in_GPRIncomingArg Bit set. static const uint8_t IntPair_with_sub_even_in_GPRIncomingArgBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, }; // IntPair_with_sub_even_in_GPROutgoingArg Register Class... static const MCPhysReg IntPair_with_sub_even_in_GPROutgoingArg[] = { Sparc_O0_O1, Sparc_O2_O3, Sparc_O4_O5, }; // IntPair_with_sub_even_in_GPROutgoingArg Bit set. static const uint8_t IntPair_with_sub_even_in_GPROutgoingArgBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, }; // PRRegs_and_ASRRegs Register Class... static const MCPhysReg PRRegs_and_ASRRegs[] = { Sparc_TICK, }; // PRRegs_and_ASRRegs Bit set. static const uint8_t PRRegs_and_ASRRegsBits[] = { 0x00, 0x00, 0x02, }; // QFPRegs Register Class... static const MCPhysReg QFPRegs[] = { Sparc_Q0, Sparc_Q1, Sparc_Q2, Sparc_Q3, Sparc_Q4, Sparc_Q5, Sparc_Q6, Sparc_Q7, Sparc_Q8, Sparc_Q9, Sparc_Q10, Sparc_Q11, Sparc_Q12, Sparc_Q13, Sparc_Q14, Sparc_Q15, }; // QFPRegs Bit set. static const uint8_t QFPRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x3f, }; // LowQFPRegs Register Class... static const MCPhysReg LowQFPRegs[] = { Sparc_Q0, Sparc_Q1, Sparc_Q2, Sparc_Q3, Sparc_Q4, Sparc_Q5, Sparc_Q6, Sparc_Q7, }; // LowQFPRegs Bit set. static const uint8_t LowQFPRegsBits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, }; static const MCRegisterClass SparcMCRegisterClasses[] = { { FCCRegs, FCCRegsBits, sizeof(FCCRegsBits) }, { ASRRegs, ASRRegsBits, sizeof(ASRRegsBits) }, { CoprocRegs, CoprocRegsBits, sizeof(CoprocRegsBits) }, { FPRegs, FPRegsBits, sizeof(FPRegsBits) }, { IntRegs, IntRegsBits, sizeof(IntRegsBits) }, { GPRIncomingArg, GPRIncomingArgBits, sizeof(GPRIncomingArgBits) }, { GPROutgoingArg, GPROutgoingArgBits, sizeof(GPROutgoingArgBits) }, { DFPRegs, DFPRegsBits, sizeof(DFPRegsBits) }, { I64Regs, I64RegsBits, sizeof(I64RegsBits) }, { PRRegs, PRRegsBits, sizeof(PRRegsBits) }, { CoprocPair, CoprocPairBits, sizeof(CoprocPairBits) }, { IntPair, IntPairBits, sizeof(IntPairBits) }, { LowDFPRegs, LowDFPRegsBits, sizeof(LowDFPRegsBits) }, { I64Regs_and_GPRIncomingArg, I64Regs_and_GPRIncomingArgBits, sizeof(I64Regs_and_GPRIncomingArgBits) }, { I64Regs_and_GPROutgoingArg, I64Regs_and_GPROutgoingArgBits, sizeof(I64Regs_and_GPROutgoingArgBits) }, { IntPair_with_sub_even_in_GPRIncomingArg, IntPair_with_sub_even_in_GPRIncomingArgBits, sizeof(IntPair_with_sub_even_in_GPRIncomingArgBits) }, { IntPair_with_sub_even_in_GPROutgoingArg, IntPair_with_sub_even_in_GPROutgoingArgBits, sizeof(IntPair_with_sub_even_in_GPROutgoingArgBits) }, { PRRegs_and_ASRRegs, PRRegs_and_ASRRegsBits, sizeof(PRRegs_and_ASRRegsBits) }, { QFPRegs, QFPRegsBits, sizeof(QFPRegsBits) }, { LowQFPRegs, LowQFPRegsBits, sizeof(LowQFPRegsBits) }, }; static const uint16_t SparcRegEncodingTable[] = { 0, 11, 10, 12, 0, 0, 9, 0, 0, 16, 0, 13, 8, 0, 6, 5, 0, 4, 7, 1, 0, 2, 3, 31, 0, 14, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 0, 1, 2, 3, 4, 5, 6, 7, 24, 25, 26, 27, 28, 29, 30, 31, 16, 17, 18, 19, 20, 21, 22, 23, 8, 9, 10, 11, 12, 13, 14, 15, 0, 4, 8, 12, 16, 20, 24, 28, 1, 5, 9, 13, 17, 21, 25, 29, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22, 8, 10, 12, 14, }; #endif // GET_REGINFO_MC_DESC