1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2|* *| 3|*Target Register Enum Values *| 4|* *| 5|* Automatically generated file, do not edit! *| 6|* *| 7\*===----------------------------------------------------------------------===*/ 8 9/* Capstone Disassembly Engine */ 10/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */ 11 12 13#ifdef GET_REGINFO_ENUM 14#undef GET_REGINFO_ENUM 15 16enum { 17 SystemZ_NoRegister, 18 SystemZ_CC = 1, 19 SystemZ_F0D = 2, 20 SystemZ_F1D = 3, 21 SystemZ_F2D = 4, 22 SystemZ_F3D = 5, 23 SystemZ_F4D = 6, 24 SystemZ_F5D = 7, 25 SystemZ_F6D = 8, 26 SystemZ_F7D = 9, 27 SystemZ_F8D = 10, 28 SystemZ_F9D = 11, 29 SystemZ_F10D = 12, 30 SystemZ_F11D = 13, 31 SystemZ_F12D = 14, 32 SystemZ_F13D = 15, 33 SystemZ_F14D = 16, 34 SystemZ_F15D = 17, 35 SystemZ_F0Q = 18, 36 SystemZ_F1Q = 19, 37 SystemZ_F4Q = 20, 38 SystemZ_F5Q = 21, 39 SystemZ_F8Q = 22, 40 SystemZ_F9Q = 23, 41 SystemZ_F12Q = 24, 42 SystemZ_F13Q = 25, 43 SystemZ_F0S = 26, 44 SystemZ_F1S = 27, 45 SystemZ_F2S = 28, 46 SystemZ_F3S = 29, 47 SystemZ_F4S = 30, 48 SystemZ_F5S = 31, 49 SystemZ_F6S = 32, 50 SystemZ_F7S = 33, 51 SystemZ_F8S = 34, 52 SystemZ_F9S = 35, 53 SystemZ_F10S = 36, 54 SystemZ_F11S = 37, 55 SystemZ_F12S = 38, 56 SystemZ_F13S = 39, 57 SystemZ_F14S = 40, 58 SystemZ_F15S = 41, 59 SystemZ_R0D = 42, 60 SystemZ_R1D = 43, 61 SystemZ_R2D = 44, 62 SystemZ_R3D = 45, 63 SystemZ_R4D = 46, 64 SystemZ_R5D = 47, 65 SystemZ_R6D = 48, 66 SystemZ_R7D = 49, 67 SystemZ_R8D = 50, 68 SystemZ_R9D = 51, 69 SystemZ_R10D = 52, 70 SystemZ_R11D = 53, 71 SystemZ_R12D = 54, 72 SystemZ_R13D = 55, 73 SystemZ_R14D = 56, 74 SystemZ_R15D = 57, 75 SystemZ_R0H = 58, 76 SystemZ_R1H = 59, 77 SystemZ_R2H = 60, 78 SystemZ_R3H = 61, 79 SystemZ_R4H = 62, 80 SystemZ_R5H = 63, 81 SystemZ_R6H = 64, 82 SystemZ_R7H = 65, 83 SystemZ_R8H = 66, 84 SystemZ_R9H = 67, 85 SystemZ_R10H = 68, 86 SystemZ_R11H = 69, 87 SystemZ_R12H = 70, 88 SystemZ_R13H = 71, 89 SystemZ_R14H = 72, 90 SystemZ_R15H = 73, 91 SystemZ_R0L = 74, 92 SystemZ_R1L = 75, 93 SystemZ_R2L = 76, 94 SystemZ_R3L = 77, 95 SystemZ_R4L = 78, 96 SystemZ_R5L = 79, 97 SystemZ_R6L = 80, 98 SystemZ_R7L = 81, 99 SystemZ_R8L = 82, 100 SystemZ_R9L = 83, 101 SystemZ_R10L = 84, 102 SystemZ_R11L = 85, 103 SystemZ_R12L = 86, 104 SystemZ_R13L = 87, 105 SystemZ_R14L = 88, 106 SystemZ_R15L = 89, 107 SystemZ_R0Q = 90, 108 SystemZ_R2Q = 91, 109 SystemZ_R4Q = 92, 110 SystemZ_R6Q = 93, 111 SystemZ_R8Q = 94, 112 SystemZ_R10Q = 95, 113 SystemZ_R12Q = 96, 114 SystemZ_R14Q = 97, 115 SystemZ_NUM_TARGET_REGS // 98 116}; 117 118// Register classes 119enum { 120 SystemZ_GRX32BitRegClassID = 0, 121 SystemZ_FP32BitRegClassID = 1, 122 SystemZ_GR32BitRegClassID = 2, 123 SystemZ_GRH32BitRegClassID = 3, 124 SystemZ_ADDR32BitRegClassID = 4, 125 SystemZ_CCRegsRegClassID = 5, 126 SystemZ_FP64BitRegClassID = 6, 127 SystemZ_GR64BitRegClassID = 7, 128 SystemZ_ADDR64BitRegClassID = 8, 129 SystemZ_FP128BitRegClassID = 9, 130 SystemZ_GR128BitRegClassID = 10, 131 SystemZ_ADDR128BitRegClassID = 11 132}; 133 134// Subregister indices 135enum { 136 SystemZ_NoSubRegister, 137 SystemZ_subreg_h32, // 1 138 SystemZ_subreg_h64, // 2 139 SystemZ_subreg_hh32, // 3 140 SystemZ_subreg_hl32, // 4 141 SystemZ_subreg_l32, // 5 142 SystemZ_subreg_l64, // 6 143 SystemZ_NUM_TARGET_SUBREGS 144}; 145 146#endif // GET_REGINFO_ENUM 147 148/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 149|* *| 150|*MC Register Information *| 151|* *| 152|* Automatically generated file, do not edit! *| 153|* *| 154\*===----------------------------------------------------------------------===*/ 155 156 157#ifdef GET_REGINFO_MC_DESC 158#undef GET_REGINFO_MC_DESC 159 160static MCPhysReg SystemZRegDiffLists[] = { 161 /* 0 */ 65193, 1, 1, 1, 0, 162 /* 5 */ 65469, 1, 0, 163 /* 8 */ 65519, 2, 0, 164 /* 11 */ 65521, 2, 0, 165 /* 14 */ 65523, 2, 0, 166 /* 17 */ 65525, 2, 0, 167 /* 20 */ 65512, 8, 0, 168 /* 23 */ 65512, 10, 0, 169 /* 26 */ 65512, 12, 0, 170 /* 29 */ 65512, 14, 0, 171 /* 32 */ 65512, 16, 0, 172 /* 35 */ 65522, 24, 65510, 24, 0, 173 /* 40 */ 65524, 24, 65510, 24, 0, 174 /* 45 */ 65526, 24, 65510, 24, 0, 175 /* 50 */ 65528, 24, 65510, 24, 0, 176 /* 55 */ 65504, 40, 0, 177 /* 58 */ 65520, 40, 0, 178 /* 61 */ 65504, 41, 0, 179 /* 64 */ 65520, 41, 0, 180 /* 67 */ 65504, 42, 0, 181 /* 70 */ 65520, 42, 0, 182 /* 73 */ 65504, 43, 0, 183 /* 76 */ 65520, 43, 0, 184 /* 79 */ 65504, 44, 0, 185 /* 82 */ 65520, 44, 0, 186 /* 85 */ 65504, 45, 0, 187 /* 88 */ 65520, 45, 0, 188 /* 91 */ 65504, 46, 0, 189 /* 94 */ 65520, 46, 0, 190 /* 97 */ 65504, 47, 0, 191 /* 100 */ 65520, 47, 0, 192 /* 103 */ 65504, 48, 0, 193 /* 106 */ 65520, 48, 0, 194 /* 109 */ 65405, 0, 195 /* 111 */ 65438, 0, 196 /* 113 */ 65511, 0, 197 /* 115 */ 65489, 32, 65520, 65519, 32, 65520, 0, 198 /* 122 */ 65490, 32, 65520, 65519, 32, 65520, 0, 199 /* 129 */ 65491, 32, 65520, 65519, 32, 65520, 0, 200 /* 136 */ 65492, 32, 65520, 65519, 32, 65520, 0, 201 /* 143 */ 65493, 32, 65520, 65519, 32, 65520, 0, 202 /* 150 */ 65494, 32, 65520, 65519, 32, 65520, 0, 203 /* 157 */ 65495, 32, 65520, 65519, 32, 65520, 0, 204 /* 164 */ 65496, 32, 65520, 65519, 32, 65520, 0, 205 /* 171 */ 65535, 0, 206}; 207 208static uint16_t SystemZSubRegIdxLists[] = { 209 /* 0 */ 5, 1, 0, 210 /* 3 */ 6, 1, 2, 3, 0, 211 /* 8 */ 6, 5, 1, 2, 4, 3, 0, 212}; 213 214static MCRegisterDesc SystemZRegDesc[] = { // Descriptors 215 { 2, 0, 0, 0, 0 }, 216 { 0, 4, 4, 2, 2737 }, 217 { 13, 38, 33, 1, 2737 }, 218 { 31, 38, 33, 1, 2737 }, 219 { 49, 38, 30, 1, 2737 }, 220 { 67, 38, 30, 1, 2737 }, 221 { 85, 38, 30, 1, 2737 }, 222 { 103, 38, 30, 1, 2737 }, 223 { 111, 38, 27, 1, 2737 }, 224 { 119, 38, 27, 1, 2737 }, 225 { 127, 38, 27, 1, 2737 }, 226 { 135, 38, 27, 1, 2737 }, 227 { 3, 38, 24, 1, 2737 }, 228 { 21, 38, 24, 1, 2737 }, 229 { 39, 38, 24, 1, 2737 }, 230 { 57, 38, 24, 1, 2737 }, 231 { 75, 38, 21, 1, 2737 }, 232 { 93, 38, 21, 1, 2737 }, 233 { 288, 35, 4, 3, 129 }, 234 { 296, 35, 4, 3, 129 }, 235 { 324, 40, 4, 3, 177 }, 236 { 332, 40, 4, 3, 177 }, 237 { 340, 45, 4, 3, 225 }, 238 { 348, 45, 4, 3, 225 }, 239 { 300, 50, 4, 3, 273 }, 240 { 314, 50, 4, 3, 273 }, 241 { 357, 4, 32, 2, 1809 }, 242 { 366, 4, 32, 2, 1809 }, 243 { 375, 4, 29, 2, 1809 }, 244 { 384, 4, 29, 2, 1809 }, 245 { 393, 4, 29, 2, 1809 }, 246 { 402, 4, 29, 2, 1809 }, 247 { 406, 4, 26, 2, 1809 }, 248 { 410, 4, 26, 2, 1809 }, 249 { 414, 4, 26, 2, 1809 }, 250 { 418, 4, 26, 2, 1809 }, 251 { 352, 4, 23, 2, 1809 }, 252 { 361, 4, 23, 2, 1809 }, 253 { 370, 4, 23, 2, 1809 }, 254 { 379, 4, 23, 2, 1809 }, 255 { 388, 4, 20, 2, 1809 }, 256 { 397, 4, 20, 2, 1809 }, 257 { 17, 119, 104, 0, 82 }, 258 { 35, 119, 98, 0, 82 }, 259 { 53, 119, 98, 0, 82 }, 260 { 71, 119, 92, 0, 82 }, 261 { 89, 119, 92, 0, 82 }, 262 { 107, 119, 86, 0, 82 }, 263 { 115, 119, 86, 0, 82 }, 264 { 123, 119, 80, 0, 82 }, 265 { 131, 119, 80, 0, 82 }, 266 { 139, 119, 74, 0, 82 }, 267 { 8, 119, 74, 0, 82 }, 268 { 26, 119, 68, 0, 82 }, 269 { 44, 119, 68, 0, 82 }, 270 { 62, 119, 62, 0, 82 }, 271 { 80, 119, 62, 0, 82 }, 272 { 98, 119, 56, 0, 82 }, 273 { 148, 4, 106, 2, 1778 }, 274 { 157, 4, 100, 2, 1778 }, 275 { 166, 4, 100, 2, 1778 }, 276 { 175, 4, 94, 2, 1778 }, 277 { 184, 4, 94, 2, 1778 }, 278 { 193, 4, 88, 2, 1778 }, 279 { 197, 4, 88, 2, 1778 }, 280 { 201, 4, 82, 2, 1778 }, 281 { 205, 4, 82, 2, 1778 }, 282 { 209, 4, 76, 2, 1778 }, 283 { 143, 4, 76, 2, 1778 }, 284 { 152, 4, 70, 2, 1778 }, 285 { 161, 4, 70, 2, 1778 }, 286 { 170, 4, 64, 2, 1778 }, 287 { 179, 4, 64, 2, 1778 }, 288 { 188, 4, 58, 2, 1778 }, 289 { 218, 4, 103, 2, 1746 }, 290 { 227, 4, 97, 2, 1746 }, 291 { 236, 4, 97, 2, 1746 }, 292 { 245, 4, 91, 2, 1746 }, 293 { 254, 4, 91, 2, 1746 }, 294 { 263, 4, 85, 2, 1746 }, 295 { 267, 4, 85, 2, 1746 }, 296 { 271, 4, 79, 2, 1746 }, 297 { 275, 4, 79, 2, 1746 }, 298 { 279, 4, 73, 2, 1746 }, 299 { 213, 4, 73, 2, 1746 }, 300 { 222, 4, 67, 2, 1746 }, 301 { 231, 4, 67, 2, 1746 }, 302 { 240, 4, 61, 2, 1746 }, 303 { 249, 4, 61, 2, 1746 }, 304 { 258, 4, 55, 2, 1746 }, 305 { 292, 115, 4, 8, 4 }, 306 { 310, 122, 4, 8, 4 }, 307 { 328, 129, 4, 8, 4 }, 308 { 336, 136, 4, 8, 4 }, 309 { 344, 143, 4, 8, 4 }, 310 { 283, 150, 4, 8, 4 }, 311 { 305, 157, 4, 8, 4 }, 312 { 319, 164, 4, 8, 4 }, 313}; 314 315 // GRX32Bit Register Class... 316 static MCPhysReg GRX32Bit[] = { 317 SystemZ_R0L, SystemZ_R1L, SystemZ_R2L, SystemZ_R3L, SystemZ_R4L, SystemZ_R5L, SystemZ_R0H, SystemZ_R1H, SystemZ_R2H, SystemZ_R3H, SystemZ_R4H, SystemZ_R5H, SystemZ_R15L, SystemZ_R15H, SystemZ_R14L, SystemZ_R14H, SystemZ_R13L, SystemZ_R13H, SystemZ_R12L, SystemZ_R12H, SystemZ_R11L, SystemZ_R11H, SystemZ_R10L, SystemZ_R10H, SystemZ_R9L, SystemZ_R9H, SystemZ_R8L, SystemZ_R8H, SystemZ_R7L, SystemZ_R7H, SystemZ_R6L, SystemZ_R6H, 318 }; 319 320 // GRX32Bit Bit set. 321 static uint8_t GRX32BitBits[] = { 322 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, 323 }; 324 325 // FP32Bit Register Class... 326 static MCPhysReg FP32Bit[] = { 327 SystemZ_F0S, SystemZ_F1S, SystemZ_F2S, SystemZ_F3S, SystemZ_F4S, SystemZ_F5S, SystemZ_F6S, SystemZ_F7S, SystemZ_F8S, SystemZ_F9S, SystemZ_F10S, SystemZ_F11S, SystemZ_F12S, SystemZ_F13S, SystemZ_F14S, SystemZ_F15S, 328 }; 329 330 // FP32Bit Bit set. 331 static uint8_t FP32BitBits[] = { 332 0x00, 0x00, 0x00, 0xfc, 0xff, 0x03, 333 }; 334 335 // GR32Bit Register Class... 336 static MCPhysReg GR32Bit[] = { 337 SystemZ_R0L, SystemZ_R1L, SystemZ_R2L, SystemZ_R3L, SystemZ_R4L, SystemZ_R5L, SystemZ_R15L, SystemZ_R14L, SystemZ_R13L, SystemZ_R12L, SystemZ_R11L, SystemZ_R10L, SystemZ_R9L, SystemZ_R8L, SystemZ_R7L, SystemZ_R6L, 338 }; 339 340 // GR32Bit Bit set. 341 static uint8_t GR32BitBits[] = { 342 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x03, 343 }; 344 345 // GRH32Bit Register Class... 346 static MCPhysReg GRH32Bit[] = { 347 SystemZ_R0H, SystemZ_R1H, SystemZ_R2H, SystemZ_R3H, SystemZ_R4H, SystemZ_R5H, SystemZ_R15H, SystemZ_R14H, SystemZ_R13H, SystemZ_R12H, SystemZ_R11H, SystemZ_R10H, SystemZ_R9H, SystemZ_R8H, SystemZ_R7H, SystemZ_R6H, 348 }; 349 350 // GRH32Bit Bit set. 351 static uint8_t GRH32BitBits[] = { 352 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x03, 353 }; 354 355 // ADDR32Bit Register Class... 356 static MCPhysReg ADDR32Bit[] = { 357 SystemZ_R1L, SystemZ_R2L, SystemZ_R3L, SystemZ_R4L, SystemZ_R5L, SystemZ_R15L, SystemZ_R14L, SystemZ_R13L, SystemZ_R12L, SystemZ_R11L, SystemZ_R10L, SystemZ_R9L, SystemZ_R8L, SystemZ_R7L, SystemZ_R6L, 358 }; 359 360 // ADDR32Bit Bit set. 361 static uint8_t ADDR32BitBits[] = { 362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x03, 363 }; 364 365 // CCRegs Register Class... 366 static MCPhysReg CCRegs[] = { 367 SystemZ_CC, 368 }; 369 370 // CCRegs Bit set. 371 static uint8_t CCRegsBits[] = { 372 0x02, 373 }; 374 375 // FP64Bit Register Class... 376 static MCPhysReg FP64Bit[] = { 377 SystemZ_F0D, SystemZ_F1D, SystemZ_F2D, SystemZ_F3D, SystemZ_F4D, SystemZ_F5D, SystemZ_F6D, SystemZ_F7D, SystemZ_F8D, SystemZ_F9D, SystemZ_F10D, SystemZ_F11D, SystemZ_F12D, SystemZ_F13D, SystemZ_F14D, SystemZ_F15D, 378 }; 379 380 // FP64Bit Bit set. 381 static uint8_t FP64BitBits[] = { 382 0xfc, 0xff, 0x03, 383 }; 384 385 // GR64Bit Register Class... 386 static MCPhysReg GR64Bit[] = { 387 SystemZ_R0D, SystemZ_R1D, SystemZ_R2D, SystemZ_R3D, SystemZ_R4D, SystemZ_R5D, SystemZ_R15D, SystemZ_R14D, SystemZ_R13D, SystemZ_R12D, SystemZ_R11D, SystemZ_R10D, SystemZ_R9D, SystemZ_R8D, SystemZ_R7D, SystemZ_R6D, 388 }; 389 390 // GR64Bit Bit set. 391 static uint8_t GR64BitBits[] = { 392 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x03, 393 }; 394 395 // ADDR64Bit Register Class... 396 static MCPhysReg ADDR64Bit[] = { 397 SystemZ_R1D, SystemZ_R2D, SystemZ_R3D, SystemZ_R4D, SystemZ_R5D, SystemZ_R15D, SystemZ_R14D, SystemZ_R13D, SystemZ_R12D, SystemZ_R11D, SystemZ_R10D, SystemZ_R9D, SystemZ_R8D, SystemZ_R7D, SystemZ_R6D, 398 }; 399 400 // ADDR64Bit Bit set. 401 static uint8_t ADDR64BitBits[] = { 402 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x03, 403 }; 404 405 // FP128Bit Register Class... 406 static MCPhysReg FP128Bit[] = { 407 SystemZ_F0Q, SystemZ_F1Q, SystemZ_F4Q, SystemZ_F5Q, SystemZ_F8Q, SystemZ_F9Q, SystemZ_F12Q, SystemZ_F13Q, 408 }; 409 410 // FP128Bit Bit set. 411 static uint8_t FP128BitBits[] = { 412 0x00, 0x00, 0xfc, 0x03, 413 }; 414 415 // GR128Bit Register Class... 416 static MCPhysReg GR128Bit[] = { 417 SystemZ_R0Q, SystemZ_R2Q, SystemZ_R4Q, SystemZ_R12Q, SystemZ_R10Q, SystemZ_R8Q, SystemZ_R6Q, SystemZ_R14Q, 418 }; 419 420 // GR128Bit Bit set. 421 static uint8_t GR128BitBits[] = { 422 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 423 }; 424 425 // ADDR128Bit Register Class... 426 static MCPhysReg ADDR128Bit[] = { 427 SystemZ_R2Q, SystemZ_R4Q, SystemZ_R12Q, SystemZ_R10Q, SystemZ_R8Q, SystemZ_R6Q, SystemZ_R14Q, 428 }; 429 430 // ADDR128Bit Bit set. 431 static uint8_t ADDR128BitBits[] = { 432 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 433 }; 434 435static MCRegisterClass SystemZMCRegisterClasses[] = { 436 { "GRX32Bit", GRX32Bit, GRX32BitBits, 32, sizeof(GRX32BitBits), SystemZ_GRX32BitRegClassID, 4, 4, 1, 1 }, 437 { "FP32Bit", FP32Bit, FP32BitBits, 16, sizeof(FP32BitBits), SystemZ_FP32BitRegClassID, 4, 4, 1, 1 }, 438 { "GR32Bit", GR32Bit, GR32BitBits, 16, sizeof(GR32BitBits), SystemZ_GR32BitRegClassID, 4, 4, 1, 1 }, 439 { "GRH32Bit", GRH32Bit, GRH32BitBits, 16, sizeof(GRH32BitBits), SystemZ_GRH32BitRegClassID, 4, 4, 1, 1 }, 440 { "ADDR32Bit", ADDR32Bit, ADDR32BitBits, 15, sizeof(ADDR32BitBits), SystemZ_ADDR32BitRegClassID, 4, 4, 1, 1 }, 441 { "CCRegs", CCRegs, CCRegsBits, 1, sizeof(CCRegsBits), SystemZ_CCRegsRegClassID, 4, 4, 1, 1 }, 442 { "FP64Bit", FP64Bit, FP64BitBits, 16, sizeof(FP64BitBits), SystemZ_FP64BitRegClassID, 8, 8, 1, 1 }, 443 { "GR64Bit", GR64Bit, GR64BitBits, 16, sizeof(GR64BitBits), SystemZ_GR64BitRegClassID, 8, 8, 1, 1 }, 444 { "ADDR64Bit", ADDR64Bit, ADDR64BitBits, 15, sizeof(ADDR64BitBits), SystemZ_ADDR64BitRegClassID, 8, 8, 1, 1 }, 445 { "FP128Bit", FP128Bit, FP128BitBits, 8, sizeof(FP128BitBits), SystemZ_FP128BitRegClassID, 16, 16, 1, 1 }, 446 { "GR128Bit", GR128Bit, GR128BitBits, 8, sizeof(GR128BitBits), SystemZ_GR128BitRegClassID, 16, 16, 1, 1 }, 447 { "ADDR128Bit", ADDR128Bit, ADDR128BitBits, 7, sizeof(ADDR128BitBits), SystemZ_ADDR128BitRegClassID, 16, 16, 1, 1 }, 448}; 449 450#endif // GET_REGINFO_MC_DESC 451