Created
April 25, 2025 20:24
-
-
Save makslevental/8faf362af3818b3a23ddf9d0949ecb20 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ | |
|* *| | |
|* Target Register Enum Values *| | |
|* *| | |
|* Automatically generated file, do not edit! *| | |
|* *| | |
\*===----------------------------------------------------------------------===*/ | |
#ifdef GET_REGINFO_ENUM | |
#undef GET_REGINFO_ENUM | |
namespace llvm { | |
class MCRegisterClass; | |
extern const MCRegisterClass X86MCRegisterClasses[]; | |
namespace X86 { | |
enum : unsigned { | |
NoRegister, | |
AH = 1, | |
AL = 2, | |
AX = 3, | |
BH = 4, | |
BL = 5, | |
BP = 6, | |
BPH = 7, | |
BPL = 8, | |
BX = 9, | |
CH = 10, | |
CL = 11, | |
CS = 12, | |
CX = 13, | |
DF = 14, | |
DH = 15, | |
DI = 16, | |
DIH = 17, | |
DIL = 18, | |
DL = 19, | |
DS = 20, | |
DX = 21, | |
EAX = 22, | |
EBP = 23, | |
EBX = 24, | |
ECX = 25, | |
EDI = 26, | |
EDX = 27, | |
EFLAGS = 28, | |
EIP = 29, | |
EIZ = 30, | |
ES = 31, | |
ESI = 32, | |
ESP = 33, | |
FPCW = 34, | |
FPSW = 35, | |
FS = 36, | |
FS_BASE = 37, | |
GS = 38, | |
GS_BASE = 39, | |
HAX = 40, | |
HBP = 41, | |
HBX = 42, | |
HCX = 43, | |
HDI = 44, | |
HDX = 45, | |
HIP = 46, | |
HSI = 47, | |
HSP = 48, | |
IP = 49, | |
MXCSR = 50, | |
RAX = 51, | |
RBP = 52, | |
RBX = 53, | |
RCX = 54, | |
RDI = 55, | |
RDX = 56, | |
RFLAGS = 57, | |
RIP = 58, | |
RIZ = 59, | |
RSI = 60, | |
RSP = 61, | |
SI = 62, | |
SIH = 63, | |
SIL = 64, | |
SP = 65, | |
SPH = 66, | |
SPL = 67, | |
SS = 68, | |
SSP = 69, | |
_EFLAGS = 70, | |
CR0 = 71, | |
CR1 = 72, | |
CR2 = 73, | |
CR3 = 74, | |
CR4 = 75, | |
CR5 = 76, | |
CR6 = 77, | |
CR7 = 78, | |
CR8 = 79, | |
CR9 = 80, | |
CR10 = 81, | |
CR11 = 82, | |
CR12 = 83, | |
CR13 = 84, | |
CR14 = 85, | |
CR15 = 86, | |
DR0 = 87, | |
DR1 = 88, | |
DR2 = 89, | |
DR3 = 90, | |
DR4 = 91, | |
DR5 = 92, | |
DR6 = 93, | |
DR7 = 94, | |
DR8 = 95, | |
DR9 = 96, | |
DR10 = 97, | |
DR11 = 98, | |
DR12 = 99, | |
DR13 = 100, | |
DR14 = 101, | |
DR15 = 102, | |
FP0 = 103, | |
FP1 = 104, | |
FP2 = 105, | |
FP3 = 106, | |
FP4 = 107, | |
FP5 = 108, | |
FP6 = 109, | |
FP7 = 110, | |
MM0 = 111, | |
MM1 = 112, | |
MM2 = 113, | |
MM3 = 114, | |
MM4 = 115, | |
MM5 = 116, | |
MM6 = 117, | |
MM7 = 118, | |
R8 = 119, | |
R9 = 120, | |
R10 = 121, | |
R11 = 122, | |
R12 = 123, | |
R13 = 124, | |
R14 = 125, | |
R15 = 126, | |
ST0 = 127, | |
ST1 = 128, | |
ST2 = 129, | |
ST3 = 130, | |
ST4 = 131, | |
ST5 = 132, | |
ST6 = 133, | |
ST7 = 134, | |
XMM0 = 135, | |
XMM1 = 136, | |
XMM2 = 137, | |
XMM3 = 138, | |
XMM4 = 139, | |
XMM5 = 140, | |
XMM6 = 141, | |
XMM7 = 142, | |
XMM8 = 143, | |
XMM9 = 144, | |
XMM10 = 145, | |
XMM11 = 146, | |
XMM12 = 147, | |
XMM13 = 148, | |
XMM14 = 149, | |
XMM15 = 150, | |
R8B = 151, | |
R9B = 152, | |
R10B = 153, | |
R11B = 154, | |
R12B = 155, | |
R13B = 156, | |
R14B = 157, | |
R15B = 158, | |
R8BH = 159, | |
R9BH = 160, | |
R10BH = 161, | |
R11BH = 162, | |
R12BH = 163, | |
R13BH = 164, | |
R14BH = 165, | |
R15BH = 166, | |
R8D = 167, | |
R9D = 168, | |
R10D = 169, | |
R11D = 170, | |
R12D = 171, | |
R13D = 172, | |
R14D = 173, | |
R15D = 174, | |
R8W = 175, | |
R9W = 176, | |
R10W = 177, | |
R11W = 178, | |
R12W = 179, | |
R13W = 180, | |
R14W = 181, | |
R15W = 182, | |
R8WH = 183, | |
R9WH = 184, | |
R10WH = 185, | |
R11WH = 186, | |
R12WH = 187, | |
R13WH = 188, | |
R14WH = 189, | |
R15WH = 190, | |
YMM0 = 191, | |
YMM1 = 192, | |
YMM2 = 193, | |
YMM3 = 194, | |
YMM4 = 195, | |
YMM5 = 196, | |
YMM6 = 197, | |
YMM7 = 198, | |
YMM8 = 199, | |
YMM9 = 200, | |
YMM10 = 201, | |
YMM11 = 202, | |
YMM12 = 203, | |
YMM13 = 204, | |
YMM14 = 205, | |
YMM15 = 206, | |
K0 = 207, | |
K1 = 208, | |
K2 = 209, | |
K3 = 210, | |
K4 = 211, | |
K5 = 212, | |
K6 = 213, | |
K7 = 214, | |
XMM16 = 215, | |
XMM17 = 216, | |
XMM18 = 217, | |
XMM19 = 218, | |
XMM20 = 219, | |
XMM21 = 220, | |
XMM22 = 221, | |
XMM23 = 222, | |
XMM24 = 223, | |
XMM25 = 224, | |
XMM26 = 225, | |
XMM27 = 226, | |
XMM28 = 227, | |
XMM29 = 228, | |
XMM30 = 229, | |
XMM31 = 230, | |
YMM16 = 231, | |
YMM17 = 232, | |
YMM18 = 233, | |
YMM19 = 234, | |
YMM20 = 235, | |
YMM21 = 236, | |
YMM22 = 237, | |
YMM23 = 238, | |
YMM24 = 239, | |
YMM25 = 240, | |
YMM26 = 241, | |
YMM27 = 242, | |
YMM28 = 243, | |
YMM29 = 244, | |
YMM30 = 245, | |
YMM31 = 246, | |
ZMM0 = 247, | |
ZMM1 = 248, | |
ZMM2 = 249, | |
ZMM3 = 250, | |
ZMM4 = 251, | |
ZMM5 = 252, | |
ZMM6 = 253, | |
ZMM7 = 254, | |
ZMM8 = 255, | |
ZMM9 = 256, | |
ZMM10 = 257, | |
ZMM11 = 258, | |
ZMM12 = 259, | |
ZMM13 = 260, | |
ZMM14 = 261, | |
ZMM15 = 262, | |
ZMM16 = 263, | |
ZMM17 = 264, | |
ZMM18 = 265, | |
ZMM19 = 266, | |
ZMM20 = 267, | |
ZMM21 = 268, | |
ZMM22 = 269, | |
ZMM23 = 270, | |
ZMM24 = 271, | |
ZMM25 = 272, | |
ZMM26 = 273, | |
ZMM27 = 274, | |
ZMM28 = 275, | |
ZMM29 = 276, | |
ZMM30 = 277, | |
ZMM31 = 278, | |
K0_K1 = 279, | |
K2_K3 = 280, | |
K4_K5 = 281, | |
K6_K7 = 282, | |
TMMCFG = 283, | |
TMM0 = 284, | |
TMM1 = 285, | |
TMM2 = 286, | |
TMM3 = 287, | |
TMM4 = 288, | |
TMM5 = 289, | |
TMM6 = 290, | |
TMM7 = 291, | |
TMM0_TMM1 = 292, | |
TMM2_TMM3 = 293, | |
TMM4_TMM5 = 294, | |
TMM6_TMM7 = 295, | |
R16 = 296, | |
R17 = 297, | |
R18 = 298, | |
R19 = 299, | |
R20 = 300, | |
R21 = 301, | |
R22 = 302, | |
R23 = 303, | |
R24 = 304, | |
R25 = 305, | |
R26 = 306, | |
R27 = 307, | |
R28 = 308, | |
R29 = 309, | |
R30 = 310, | |
R31 = 311, | |
R16B = 312, | |
R17B = 313, | |
R18B = 314, | |
R19B = 315, | |
R20B = 316, | |
R21B = 317, | |
R22B = 318, | |
R23B = 319, | |
R24B = 320, | |
R25B = 321, | |
R26B = 322, | |
R27B = 323, | |
R28B = 324, | |
R29B = 325, | |
R30B = 326, | |
R31B = 327, | |
R16BH = 328, | |
R17BH = 329, | |
R18BH = 330, | |
R19BH = 331, | |
R20BH = 332, | |
R21BH = 333, | |
R22BH = 334, | |
R23BH = 335, | |
R24BH = 336, | |
R25BH = 337, | |
R26BH = 338, | |
R27BH = 339, | |
R28BH = 340, | |
R29BH = 341, | |
R30BH = 342, | |
R31BH = 343, | |
R16D = 344, | |
R17D = 345, | |
R18D = 346, | |
R19D = 347, | |
R20D = 348, | |
R21D = 349, | |
R22D = 350, | |
R23D = 351, | |
R24D = 352, | |
R25D = 353, | |
R26D = 354, | |
R27D = 355, | |
R28D = 356, | |
R29D = 357, | |
R30D = 358, | |
R31D = 359, | |
R16W = 360, | |
R17W = 361, | |
R18W = 362, | |
R19W = 363, | |
R20W = 364, | |
R21W = 365, | |
R22W = 366, | |
R23W = 367, | |
R24W = 368, | |
R25W = 369, | |
R26W = 370, | |
R27W = 371, | |
R28W = 372, | |
R29W = 373, | |
R30W = 374, | |
R31W = 375, | |
R16WH = 376, | |
R17WH = 377, | |
R18WH = 378, | |
R19WH = 379, | |
R20WH = 380, | |
R21WH = 381, | |
R22WH = 382, | |
R23WH = 383, | |
R24WH = 384, | |
R25WH = 385, | |
R26WH = 386, | |
R27WH = 387, | |
R28WH = 388, | |
R29WH = 389, | |
R30WH = 390, | |
R31WH = 391, | |
NUM_TARGET_REGS // 392 | |
}; | |
} // end namespace X86 | |
// Register classes | |
namespace X86 { | |
enum { | |
GR8RegClassID = 0, | |
GRH8RegClassID = 1, | |
GR8_NOREX2RegClassID = 2, | |
GR8_NOREXRegClassID = 3, | |
GR8_ABCD_HRegClassID = 4, | |
GR8_ABCD_LRegClassID = 5, | |
GRH16RegClassID = 6, | |
GR16RegClassID = 7, | |
GR16_NOREX2RegClassID = 8, | |
GR16_NOREXRegClassID = 9, | |
VK1RegClassID = 10, | |
VK16RegClassID = 11, | |
VK2RegClassID = 12, | |
VK4RegClassID = 13, | |
VK8RegClassID = 14, | |
VK16WMRegClassID = 15, | |
VK1WMRegClassID = 16, | |
VK2WMRegClassID = 17, | |
VK4WMRegClassID = 18, | |
VK8WMRegClassID = 19, | |
SEGMENT_REGRegClassID = 20, | |
GR16_ABCDRegClassID = 21, | |
FPCCRRegClassID = 22, | |
FR16XRegClassID = 23, | |
FR16RegClassID = 24, | |
VK16PAIRRegClassID = 25, | |
VK1PAIRRegClassID = 26, | |
VK2PAIRRegClassID = 27, | |
VK4PAIRRegClassID = 28, | |
VK8PAIRRegClassID = 29, | |
VK1PAIR_with_sub_mask_0_in_VK1WMRegClassID = 30, | |
LOW32_ADDR_ACCESS_RBPRegClassID = 31, | |
LOW32_ADDR_ACCESSRegClassID = 32, | |
LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID = 33, | |
FR32XRegClassID = 34, | |
GR32RegClassID = 35, | |
GR32_NOSPRegClassID = 36, | |
LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID = 37, | |
DEBUG_REGRegClassID = 38, | |
FR32RegClassID = 39, | |
GR32_NOREX2RegClassID = 40, | |
GR32_NOREX2_NOSPRegClassID = 41, | |
LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID = 42, | |
GR32_NOREXRegClassID = 43, | |
VK32RegClassID = 44, | |
GR32_NOREX_NOSPRegClassID = 45, | |
RFP32RegClassID = 46, | |
VK32WMRegClassID = 47, | |
GR32_ABCDRegClassID = 48, | |
GR32_TCRegClassID = 49, | |
GR32_ABCD_and_GR32_TCRegClassID = 50, | |
GR32_ADRegClassID = 51, | |
GR32_ArgRefRegClassID = 52, | |
GR32_BPSPRegClassID = 53, | |
GR32_BSIRegClassID = 54, | |
GR32_CBRegClassID = 55, | |
GR32_DCRegClassID = 56, | |
GR32_DIBPRegClassID = 57, | |
GR32_SIDIRegClassID = 58, | |
LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID = 59, | |
CCRRegClassID = 60, | |
DFCCRRegClassID = 61, | |
GR32_ABCD_and_GR32_BSIRegClassID = 62, | |
GR32_AD_and_GR32_ArgRefRegClassID = 63, | |
GR32_ArgRef_and_GR32_CBRegClassID = 64, | |
GR32_BPSP_and_GR32_DIBPRegClassID = 65, | |
GR32_BPSP_and_GR32_TCRegClassID = 66, | |
GR32_BSI_and_GR32_SIDIRegClassID = 67, | |
GR32_DIBP_and_GR32_SIDIRegClassID = 68, | |
LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitRegClassID = 69, | |
LOW32_ADDR_ACCESS_with_sub_32bitRegClassID = 70, | |
RFP64RegClassID = 71, | |
GR64RegClassID = 72, | |
FR64XRegClassID = 73, | |
GR64_with_sub_8bitRegClassID = 74, | |
GR64_NOSPRegClassID = 75, | |
GR64_NOREX2RegClassID = 76, | |
CONTROL_REGRegClassID = 77, | |
FR64RegClassID = 78, | |
GR64_with_sub_16bit_in_GR16_NOREX2RegClassID = 79, | |
GR64_NOREX2_NOSPRegClassID = 80, | |
GR64PLTSafeRegClassID = 81, | |
GR64_TCRegClassID = 82, | |
GR64_NOREXRegClassID = 83, | |
GR64_TCW64RegClassID = 84, | |
GR64_TC_with_sub_8bitRegClassID = 85, | |
GR64_NOREX2_NOSP_and_GR64_TCRegClassID = 86, | |
GR64_TCW64_with_sub_8bitRegClassID = 87, | |
GR64_TC_and_GR64_TCW64RegClassID = 88, | |
GR64_with_sub_16bit_in_GR16_NOREXRegClassID = 89, | |
VK64RegClassID = 90, | |
VR64RegClassID = 91, | |
GR64PLTSafe_and_GR64_TCRegClassID = 92, | |
GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID = 93, | |
GR64_NOREX_NOSPRegClassID = 94, | |
GR64_NOREX_and_GR64_TCRegClassID = 95, | |
GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID = 96, | |
VK64WMRegClassID = 97, | |
GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID = 98, | |
GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID = 99, | |
GR64PLTSafe_and_GR64_TCW64RegClassID = 100, | |
GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID = 101, | |
GR64_NOREX_and_GR64_TCW64RegClassID = 102, | |
GR64_ABCDRegClassID = 103, | |
GR64_with_sub_32bit_in_GR32_TCRegClassID = 104, | |
GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClassID = 105, | |
GR64_ADRegClassID = 106, | |
GR64_ArgRefRegClassID = 107, | |
GR64_and_LOW32_ADDR_ACCESS_RBPRegClassID = 108, | |
GR64_with_sub_32bit_in_GR32_ArgRefRegClassID = 109, | |
GR64_with_sub_32bit_in_GR32_BPSPRegClassID = 110, | |
GR64_with_sub_32bit_in_GR32_BSIRegClassID = 111, | |
GR64_with_sub_32bit_in_GR32_CBRegClassID = 112, | |
GR64_with_sub_32bit_in_GR32_DIBPRegClassID = 113, | |
GR64_with_sub_32bit_in_GR32_SIDIRegClassID = 114, | |
GR64_ArgRef_and_GR64_TCRegClassID = 115, | |
GR64_and_LOW32_ADDR_ACCESSRegClassID = 116, | |
GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIRegClassID = 117, | |
GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefRegClassID = 118, | |
GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBRegClassID = 119, | |
GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPRegClassID = 120, | |
GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCRegClassID = 121, | |
GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIRegClassID = 122, | |
GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID = 123, | |
RSTRegClassID = 124, | |
RFP80RegClassID = 125, | |
RFP80_7RegClassID = 126, | |
VR128XRegClassID = 127, | |
VR128RegClassID = 128, | |
VR256XRegClassID = 129, | |
VR256RegClassID = 130, | |
VR512RegClassID = 131, | |
VR512_0_15RegClassID = 132, | |
TILERegClassID = 133, | |
TILEPAIRRegClassID = 134, | |
}; | |
} // end namespace X86 | |
// Subregister indices | |
namespace X86 { | |
enum : uint16_t { | |
NoSubRegister, | |
sub_8bit, // 1 | |
sub_8bit_hi, // 2 | |
sub_8bit_hi_phony, // 3 | |
sub_16bit, // 4 | |
sub_16bit_hi, // 5 | |
sub_32bit, // 6 | |
sub_mask_0, // 7 | |
sub_mask_1, // 8 | |
sub_t0, // 9 | |
sub_t1, // 10 | |
sub_xmm, // 11 | |
sub_ymm, // 12 | |
NUM_TARGET_SUBREGS | |
}; | |
} // end namespace X86 | |
// Register pressure sets enum. | |
namespace X86 { | |
enum RegisterPressureSets { | |
SEGMENT_REG = 0, | |
GR32_BPSP = 1, | |
LOW32_ADDR_ACCESS_with_sub_32bit = 2, | |
GR32_BSI = 3, | |
GR32_SIDI = 4, | |
GR32_DIBP_with_GR32_SIDI = 5, | |
GR32_DIBP_with_LOW32_ADDR_ACCESS_with_sub_32bit = 6, | |
RFP32 = 7, | |
GR8_ABCD_H_with_GR32_BSI = 8, | |
GR8_ABCD_L_with_GR32_BSI = 9, | |
VK1 = 10, | |
VR64 = 11, | |
TILE = 12, | |
GR8_NOREX = 13, | |
GR32_TC = 14, | |
GR32_BPSP_with_GR32_TC = 15, | |
FR16 = 16, | |
DEBUG_REG = 17, | |
CONTROL_REG = 18, | |
GR64_NOREX = 19, | |
GR64_TCW64 = 20, | |
GR32_BPSP_with_GR64_TCW64 = 21, | |
GR64_TC_with_GR64_TCW64 = 22, | |
GR64_TC = 23, | |
FR16X = 24, | |
GR64PLTSafe_with_GR64_TC = 25, | |
GR8 = 26, | |
GR8_with_GR32_DIBP = 27, | |
GR8_with_GR32_BSI = 28, | |
GR8_with_LOW32_ADDR_ACCESS_with_sub_32bit = 29, | |
GR8_with_GR64_NOREX = 30, | |
GR8_with_GR64_TCW64 = 31, | |
GR8_with_GR64_TC = 32, | |
GR8_with_GR64PLTSafe = 33, | |
GR8_with_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 = 34, | |
GR16 = 35, | |
}; | |
} // end namespace X86 | |
} // end namespace llvm | |
#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 | |
namespace llvm { | |
extern const int16_t X86RegDiffLists[] = { | |
/* 0 */ -56, -56, 0, | |
/* 3 */ -32, -48, 0, | |
/* 6 */ 32, -16, -48, 0, | |
/* 10 */ 48, -16, -48, 0, | |
/* 14 */ 16, -8, -48, 0, | |
/* 18 */ 24, -8, -48, 0, | |
/* 22 */ -28, 32, 2, -1, -18, 0, | |
/* 28 */ -32, -16, 0, | |
/* 31 */ -28, 30, 2, -1, -16, 0, | |
/* 37 */ -2, -4, 0, | |
/* 40 */ -29, 20, -3, 0, | |
/* 44 */ -4, -1, 0, | |
/* 47 */ -2, -1, 0, | |
/* 50 */ -1, -1, 0, | |
/* 53 */ 2, -1, 0, | |
/* 56 */ -72, 1, 0, | |
/* 59 */ -71, 1, 0, | |
/* 62 */ -70, 1, 0, | |
/* 65 */ -69, 1, 0, | |
/* 68 */ -8, 1, 0, | |
/* 71 */ -7, 1, 0, | |
/* 74 */ -6, 1, 0, | |
/* 77 */ -5, 1, 0, | |
/* 80 */ 1, 1, 0, | |
/* 83 */ 3, 0, | |
/* 85 */ 4, 0, | |
/* 87 */ 5, 0, | |
/* 89 */ 6, 0, | |
/* 91 */ 1, 7, 0, | |
/* 94 */ 3, 7, 0, | |
/* 97 */ -24, 8, 0, | |
/* 100 */ 1, 11, 0, | |
/* 103 */ 1, 14, 0, | |
/* 106 */ -48, 16, 0, | |
/* 109 */ 48, 8, -24, 8, 24, 0, | |
/* 115 */ -29, -10, 2, -1, 27, 0, | |
/* 121 */ -2, -32, 28, 0, | |
/* 125 */ -1, -32, 28, 0, | |
/* 129 */ -2, -30, 28, 0, | |
/* 133 */ -1, -30, 28, 0, | |
/* 137 */ -15, 28, 0, | |
/* 140 */ -20, 29, 0, | |
/* 143 */ -18, 29, 0, | |
/* 146 */ -17, 29, 0, | |
/* 149 */ 2, 6, 29, 0, | |
/* 153 */ 6, 6, 29, 0, | |
/* 157 */ -2, 10, 29, 0, | |
/* 161 */ -1, 10, 29, 0, | |
/* 165 */ 2, 12, 29, 0, | |
/* 169 */ 3, 12, 29, 0, | |
/* 173 */ 4, 15, 29, 0, | |
/* 177 */ 5, 15, 29, 0, | |
/* 181 */ -2, 17, 29, 0, | |
/* 185 */ -1, 17, 29, 0, | |
/* 189 */ 1, 19, 29, 0, | |
/* 193 */ 2, 19, 29, 0, | |
/* 197 */ -29, -6, -2, -4, 30, 0, | |
/* 203 */ 16, 32, 0, | |
/* 206 */ -29, -12, -2, -1, 33, 0, | |
/* 212 */ -29, -17, 2, -1, 34, 0, | |
/* 218 */ -29, -15, -4, -1, 38, 0, | |
/* 224 */ -29, -19, -1, -1, 39, 0, | |
/* 230 */ 48, 16, -48, 16, 48, 0, | |
/* 236 */ 56, 56, 0, | |
/* 239 */ 68, 0, | |
/* 241 */ 69, 0, | |
/* 243 */ 70, 0, | |
/* 245 */ 71, 0, | |
/* 247 */ 72, 0, | |
}; | |
extern const LaneBitmask X86LaneMaskLists[] = { | |
/* 0 */ LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000001), | |
/* 2 */ LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000004), | |
/* 4 */ LaneBitmask(0x0000000000000002), LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000008), | |
/* 7 */ LaneBitmask(0x0000000000000001), LaneBitmask(0x0000000000000004), LaneBitmask(0x0000000000000008), | |
/* 10 */ LaneBitmask(0x0000000000000007), LaneBitmask(0x0000000000000008), | |
/* 12 */ LaneBitmask(0x0000000000000010), LaneBitmask(0x0000000000000020), | |
/* 14 */ LaneBitmask(0x0000000000000040), LaneBitmask(0x0000000000000080), | |
/* 16 */ LaneBitmask(0x0000000000000100), | |
/* 17 */ LaneBitmask(0xFFFFFFFFFFFFFFFF), | |
}; | |
extern const uint16_t X86SubRegIdxLists[] = { | |
/* 0 */ 1, 2, | |
/* 2 */ 1, 3, | |
/* 4 */ 6, 4, 1, 2, 5, | |
/* 9 */ 6, 4, 1, 3, 5, | |
/* 14 */ 6, 4, 5, | |
/* 17 */ 7, 8, | |
/* 19 */ 9, 10, | |
/* 21 */ 12, 11, | |
}; | |
#ifdef __GNUC__ | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Woverlength-strings" | |
#endif | |
extern const char X86RegStrings[] = { | |
/* 0 */ "XMM10\000" | |
/* 6 */ "YMM10\000" | |
/* 12 */ "ZMM10\000" | |
/* 18 */ "CR10\000" | |
/* 23 */ "DR10\000" | |
/* 28 */ "XMM20\000" | |
/* 34 */ "YMM20\000" | |
/* 40 */ "ZMM20\000" | |
/* 46 */ "R20\000" | |
/* 50 */ "XMM30\000" | |
/* 56 */ "YMM30\000" | |
/* 62 */ "ZMM30\000" | |
/* 68 */ "R30\000" | |
/* 72 */ "K0\000" | |
/* 75 */ "TMM0\000" | |
/* 80 */ "XMM0\000" | |
/* 85 */ "YMM0\000" | |
/* 90 */ "ZMM0\000" | |
/* 95 */ "FP0\000" | |
/* 99 */ "CR0\000" | |
/* 103 */ "DR0\000" | |
/* 107 */ "ST0\000" | |
/* 111 */ "XMM11\000" | |
/* 117 */ "YMM11\000" | |
/* 123 */ "ZMM11\000" | |
/* 129 */ "CR11\000" | |
/* 134 */ "DR11\000" | |
/* 139 */ "XMM21\000" | |
/* 145 */ "YMM21\000" | |
/* 151 */ "ZMM21\000" | |
/* 157 */ "R21\000" | |
/* 161 */ "XMM31\000" | |
/* 167 */ "YMM31\000" | |
/* 173 */ "ZMM31\000" | |
/* 179 */ "R31\000" | |
/* 183 */ "K0_K1\000" | |
/* 189 */ "TMM0_TMM1\000" | |
/* 199 */ "XMM1\000" | |
/* 204 */ "YMM1\000" | |
/* 209 */ "ZMM1\000" | |
/* 214 */ "FP1\000" | |
/* 218 */ "CR1\000" | |
/* 222 */ "DR1\000" | |
/* 226 */ "ST1\000" | |
/* 230 */ "XMM12\000" | |
/* 236 */ "YMM12\000" | |
/* 242 */ "ZMM12\000" | |
/* 248 */ "CR12\000" | |
/* 253 */ "DR12\000" | |
/* 258 */ "XMM22\000" | |
/* 264 */ "YMM22\000" | |
/* 270 */ "ZMM22\000" | |
/* 276 */ "R22\000" | |
/* 280 */ "K2\000" | |
/* 283 */ "TMM2\000" | |
/* 288 */ "XMM2\000" | |
/* 293 */ "YMM2\000" | |
/* 298 */ "ZMM2\000" | |
/* 303 */ "FP2\000" | |
/* 307 */ "CR2\000" | |
/* 311 */ "DR2\000" | |
/* 315 */ "ST2\000" | |
/* 319 */ "XMM13\000" | |
/* 325 */ "YMM13\000" | |
/* 331 */ "ZMM13\000" | |
/* 337 */ "CR13\000" | |
/* 342 */ "DR13\000" | |
/* 347 */ "XMM23\000" | |
/* 353 */ "YMM23\000" | |
/* 359 */ "ZMM23\000" | |
/* 365 */ "R23\000" | |
/* 369 */ "K2_K3\000" | |
/* 375 */ "TMM2_TMM3\000" | |
/* 385 */ "XMM3\000" | |
/* 390 */ "YMM3\000" | |
/* 395 */ "ZMM3\000" | |
/* 400 */ "FP3\000" | |
/* 404 */ "CR3\000" | |
/* 408 */ "DR3\000" | |
/* 412 */ "ST3\000" | |
/* 416 */ "XMM14\000" | |
/* 422 */ "YMM14\000" | |
/* 428 */ "ZMM14\000" | |
/* 434 */ "CR14\000" | |
/* 439 */ "DR14\000" | |
/* 444 */ "XMM24\000" | |
/* 450 */ "YMM24\000" | |
/* 456 */ "ZMM24\000" | |
/* 462 */ "R24\000" | |
/* 466 */ "K4\000" | |
/* 469 */ "TMM4\000" | |
/* 474 */ "XMM4\000" | |
/* 479 */ "YMM4\000" | |
/* 484 */ "ZMM4\000" | |
/* 489 */ "FP4\000" | |
/* 493 */ "CR4\000" | |
/* 497 */ "DR4\000" | |
/* 501 */ "ST4\000" | |
/* 505 */ "XMM15\000" | |
/* 511 */ "YMM15\000" | |
/* 517 */ "ZMM15\000" | |
/* 523 */ "CR15\000" | |
/* 528 */ "DR15\000" | |
/* 533 */ "XMM25\000" | |
/* 539 */ "YMM25\000" | |
/* 545 */ "ZMM25\000" | |
/* 551 */ "R25\000" | |
/* 555 */ "K4_K5\000" | |
/* 561 */ "TMM4_TMM5\000" | |
/* 571 */ "XMM5\000" | |
/* 576 */ "YMM5\000" | |
/* 581 */ "ZMM5\000" | |
/* 586 */ "FP5\000" | |
/* 590 */ "CR5\000" | |
/* 594 */ "DR5\000" | |
/* 598 */ "ST5\000" | |
/* 602 */ "XMM16\000" | |
/* 608 */ "YMM16\000" | |
/* 614 */ "ZMM16\000" | |
/* 620 */ "R16\000" | |
/* 624 */ "XMM26\000" | |
/* 630 */ "YMM26\000" | |
/* 636 */ "ZMM26\000" | |
/* 642 */ "R26\000" | |
/* 646 */ "K6\000" | |
/* 649 */ "TMM6\000" | |
/* 654 */ "XMM6\000" | |
/* 659 */ "YMM6\000" | |
/* 664 */ "ZMM6\000" | |
/* 669 */ "FP6\000" | |
/* 673 */ "CR6\000" | |
/* 677 */ "DR6\000" | |
/* 681 */ "ST6\000" | |
/* 685 */ "XMM17\000" | |
/* 691 */ "YMM17\000" | |
/* 697 */ "ZMM17\000" | |
/* 703 */ "R17\000" | |
/* 707 */ "XMM27\000" | |
/* 713 */ "YMM27\000" | |
/* 719 */ "ZMM27\000" | |
/* 725 */ "R27\000" | |
/* 729 */ "K6_K7\000" | |
/* 735 */ "TMM6_TMM7\000" | |
/* 745 */ "XMM7\000" | |
/* 750 */ "YMM7\000" | |
/* 755 */ "ZMM7\000" | |
/* 760 */ "FP7\000" | |
/* 764 */ "CR7\000" | |
/* 768 */ "DR7\000" | |
/* 772 */ "ST7\000" | |
/* 776 */ "XMM18\000" | |
/* 782 */ "YMM18\000" | |
/* 788 */ "ZMM18\000" | |
/* 794 */ "R18\000" | |
/* 798 */ "XMM28\000" | |
/* 804 */ "YMM28\000" | |
/* 810 */ "ZMM28\000" | |
/* 816 */ "R28\000" | |
/* 820 */ "XMM8\000" | |
/* 825 */ "YMM8\000" | |
/* 830 */ "ZMM8\000" | |
/* 835 */ "CR8\000" | |
/* 839 */ "DR8\000" | |
/* 843 */ "XMM19\000" | |
/* 849 */ "YMM19\000" | |
/* 855 */ "ZMM19\000" | |
/* 861 */ "R19\000" | |
/* 865 */ "XMM29\000" | |
/* 871 */ "YMM29\000" | |
/* 877 */ "ZMM29\000" | |
/* 883 */ "R29\000" | |
/* 887 */ "XMM9\000" | |
/* 892 */ "YMM9\000" | |
/* 897 */ "ZMM9\000" | |
/* 902 */ "CR9\000" | |
/* 906 */ "DR9\000" | |
/* 910 */ "R10B\000" | |
/* 915 */ "R20B\000" | |
/* 920 */ "R30B\000" | |
/* 925 */ "R11B\000" | |
/* 930 */ "R21B\000" | |
/* 935 */ "R31B\000" | |
/* 940 */ "R12B\000" | |
/* 945 */ "R22B\000" | |
/* 950 */ "R13B\000" | |
/* 955 */ "R23B\000" | |
/* 960 */ "R14B\000" | |
/* 965 */ "R24B\000" | |
/* 970 */ "R15B\000" | |
/* 975 */ "R25B\000" | |
/* 980 */ "R16B\000" | |
/* 985 */ "R26B\000" | |
/* 990 */ "R17B\000" | |
/* 995 */ "R27B\000" | |
/* 1000 */ "R18B\000" | |
/* 1005 */ "R28B\000" | |
/* 1010 */ "R8B\000" | |
/* 1014 */ "R19B\000" | |
/* 1019 */ "R29B\000" | |
/* 1024 */ "R9B\000" | |
/* 1028 */ "R10D\000" | |
/* 1033 */ "R20D\000" | |
/* 1038 */ "R30D\000" | |
/* 1043 */ "R11D\000" | |
/* 1048 */ "R21D\000" | |
/* 1053 */ "R31D\000" | |
/* 1058 */ "R12D\000" | |
/* 1063 */ "R22D\000" | |
/* 1068 */ "R13D\000" | |
/* 1073 */ "R23D\000" | |
/* 1078 */ "R14D\000" | |
/* 1083 */ "R24D\000" | |
/* 1088 */ "R15D\000" | |
/* 1093 */ "R25D\000" | |
/* 1098 */ "R16D\000" | |
/* 1103 */ "R26D\000" | |
/* 1108 */ "R17D\000" | |
/* 1113 */ "R27D\000" | |
/* 1118 */ "R18D\000" | |
/* 1123 */ "R28D\000" | |
/* 1128 */ "R8D\000" | |
/* 1132 */ "R19D\000" | |
/* 1137 */ "R29D\000" | |
/* 1142 */ "R9D\000" | |
/* 1146 */ "FS_BASE\000" | |
/* 1154 */ "GS_BASE\000" | |
/* 1162 */ "DF\000" | |
/* 1165 */ "TMMCFG\000" | |
/* 1172 */ "AH\000" | |
/* 1175 */ "R10BH\000" | |
/* 1181 */ "R20BH\000" | |
/* 1187 */ "R30BH\000" | |
/* 1193 */ "R11BH\000" | |
/* 1199 */ "R21BH\000" | |
/* 1205 */ "R31BH\000" | |
/* 1211 */ "R12BH\000" | |
/* 1217 */ "R22BH\000" | |
/* 1223 */ "R13BH\000" | |
/* 1229 */ "R23BH\000" | |
/* 1235 */ "R14BH\000" | |
/* 1241 */ "R24BH\000" | |
/* 1247 */ "R15BH\000" | |
/* 1253 */ "R25BH\000" | |
/* 1259 */ "R16BH\000" | |
/* 1265 */ "R26BH\000" | |
/* 1271 */ "R17BH\000" | |
/* 1277 */ "R27BH\000" | |
/* 1283 */ "R18BH\000" | |
/* 1289 */ "R28BH\000" | |
/* 1295 */ "R8BH\000" | |
/* 1300 */ "R19BH\000" | |
/* 1306 */ "R29BH\000" | |
/* 1312 */ "R9BH\000" | |
/* 1317 */ "CH\000" | |
/* 1320 */ "DH\000" | |
/* 1323 */ "DIH\000" | |
/* 1327 */ "SIH\000" | |
/* 1331 */ "BPH\000" | |
/* 1335 */ "SPH\000" | |
/* 1339 */ "R10WH\000" | |
/* 1345 */ "R20WH\000" | |
/* 1351 */ "R30WH\000" | |
/* 1357 */ "R11WH\000" | |
/* 1363 */ "R21WH\000" | |
/* 1369 */ "R31WH\000" | |
/* 1375 */ "R12WH\000" | |
/* 1381 */ "R22WH\000" | |
/* 1387 */ "R13WH\000" | |
/* 1393 */ "R23WH\000" | |
/* 1399 */ "R14WH\000" | |
/* 1405 */ "R24WH\000" | |
/* 1411 */ "R15WH\000" | |
/* 1417 */ "R25WH\000" | |
/* 1423 */ "R16WH\000" | |
/* 1429 */ "R26WH\000" | |
/* 1435 */ "R17WH\000" | |
/* 1441 */ "R27WH\000" | |
/* 1447 */ "R18WH\000" | |
/* 1453 */ "R28WH\000" | |
/* 1459 */ "R8WH\000" | |
/* 1464 */ "R19WH\000" | |
/* 1470 */ "R29WH\000" | |
/* 1476 */ "R9WH\000" | |
/* 1481 */ "EDI\000" | |
/* 1485 */ "HDI\000" | |
/* 1489 */ "RDI\000" | |
/* 1493 */ "ESI\000" | |
/* 1497 */ "HSI\000" | |
/* 1501 */ "RSI\000" | |
/* 1505 */ "AL\000" | |
/* 1508 */ "BL\000" | |
/* 1511 */ "CL\000" | |
/* 1514 */ "DL\000" | |
/* 1517 */ "DIL\000" | |
/* 1521 */ "SIL\000" | |
/* 1525 */ "BPL\000" | |
/* 1529 */ "SPL\000" | |
/* 1533 */ "EBP\000" | |
/* 1537 */ "HBP\000" | |
/* 1541 */ "RBP\000" | |
/* 1545 */ "EIP\000" | |
/* 1549 */ "HIP\000" | |
/* 1553 */ "RIP\000" | |
/* 1557 */ "ESP\000" | |
/* 1561 */ "HSP\000" | |
/* 1565 */ "RSP\000" | |
/* 1569 */ "SSP\000" | |
/* 1573 */ "MXCSR\000" | |
/* 1579 */ "CS\000" | |
/* 1582 */ "DS\000" | |
/* 1585 */ "ES\000" | |
/* 1588 */ "FS\000" | |
/* 1591 */ "_EFLAGS\000" | |
/* 1599 */ "RFLAGS\000" | |
/* 1606 */ "SS\000" | |
/* 1609 */ "R10W\000" | |
/* 1614 */ "R20W\000" | |
/* 1619 */ "R30W\000" | |
/* 1624 */ "R11W\000" | |
/* 1629 */ "R21W\000" | |
/* 1634 */ "R31W\000" | |
/* 1639 */ "R12W\000" | |
/* 1644 */ "R22W\000" | |
/* 1649 */ "R13W\000" | |
/* 1654 */ "R23W\000" | |
/* 1659 */ "R14W\000" | |
/* 1664 */ "R24W\000" | |
/* 1669 */ "R15W\000" | |
/* 1674 */ "R25W\000" | |
/* 1679 */ "R16W\000" | |
/* 1684 */ "R26W\000" | |
/* 1689 */ "R17W\000" | |
/* 1694 */ "R27W\000" | |
/* 1699 */ "R18W\000" | |
/* 1704 */ "R28W\000" | |
/* 1709 */ "R8W\000" | |
/* 1713 */ "R19W\000" | |
/* 1718 */ "R29W\000" | |
/* 1723 */ "R9W\000" | |
/* 1727 */ "FPCW\000" | |
/* 1732 */ "FPSW\000" | |
/* 1737 */ "EAX\000" | |
/* 1741 */ "HAX\000" | |
/* 1745 */ "RAX\000" | |
/* 1749 */ "EBX\000" | |
/* 1753 */ "HBX\000" | |
/* 1757 */ "RBX\000" | |
/* 1761 */ "ECX\000" | |
/* 1765 */ "HCX\000" | |
/* 1769 */ "RCX\000" | |
/* 1773 */ "EDX\000" | |
/* 1777 */ "HDX\000" | |
/* 1781 */ "RDX\000" | |
/* 1785 */ "EIZ\000" | |
/* 1789 */ "RIZ\000" | |
}; | |
#ifdef __GNUC__ | |
#pragma GCC diagnostic pop | |
#endif | |
extern const MCRegisterDesc X86RegDesc[] = { // Descriptors | |
{ 5, 0, 0, 0, 0, 0, 0, 0 }, | |
{ 1172, 2, 193, 2, 8192, 17, 0, 0 }, | |
{ 1505, 2, 189, 2, 8193, 17, 0, 0 }, | |
{ 1738, 50, 190, 0, 233472, 0, 0, 0 }, | |
{ 1178, 2, 177, 2, 8194, 17, 0, 0 }, | |
{ 1508, 2, 173, 2, 8195, 17, 0, 0 }, | |
{ 1534, 53, 182, 2, 233476, 2, 0, 0 }, | |
{ 1331, 2, 185, 2, 8197, 17, 0, 1 }, | |
{ 1525, 2, 181, 2, 8196, 17, 0, 0 }, | |
{ 1750, 44, 174, 0, 233474, 0, 0, 0 }, | |
{ 1317, 2, 169, 2, 8198, 17, 0, 0 }, | |
{ 1511, 2, 165, 2, 8199, 17, 0, 0 }, | |
{ 1579, 2, 2, 2, 8200, 17, 0, 0 }, | |
{ 1762, 47, 166, 0, 233478, 0, 0, 0 }, | |
{ 1162, 2, 2, 2, 8201, 17, 0, 0 }, | |
{ 1320, 2, 153, 2, 8202, 17, 0, 0 }, | |
{ 1482, 53, 158, 2, 233483, 2, 0, 0 }, | |
{ 1323, 2, 161, 2, 8204, 17, 0, 1 }, | |
{ 1517, 2, 157, 2, 8203, 17, 0, 0 }, | |
{ 1514, 2, 149, 2, 8205, 17, 0, 0 }, | |
{ 1582, 2, 2, 2, 8206, 17, 0, 0 }, | |
{ 1774, 37, 150, 0, 339978, 0, 0, 0 }, | |
{ 1737, 225, 141, 5, 421888, 4, 0, 0 }, | |
{ 1533, 213, 141, 10, 409604, 7, 0, 0 }, | |
{ 1749, 219, 141, 5, 421890, 4, 0, 0 }, | |
{ 1761, 207, 141, 5, 409606, 4, 0, 0 }, | |
{ 1481, 116, 141, 10, 372747, 7, 0, 0 }, | |
{ 1773, 198, 141, 5, 385034, 4, 0, 0 }, | |
{ 1592, 2, 2, 2, 8213, 17, 0, 0 }, | |
{ 1545, 41, 141, 15, 233494, 10, 0, 0 }, | |
{ 1785, 2, 2, 2, 8216, 17, 0, 0 }, | |
{ 1585, 2, 2, 2, 8217, 17, 0, 0 }, | |
{ 1493, 32, 123, 10, 327706, 7, 0, 0 }, | |
{ 1557, 23, 123, 10, 327709, 7, 0, 0 }, | |
{ 1727, 2, 2, 2, 8224, 17, 0, 0 }, | |
{ 1732, 2, 2, 2, 8225, 17, 0, 0 }, | |
{ 1588, 2, 2, 2, 8226, 17, 0, 0 }, | |
{ 1146, 2, 2, 2, 8227, 17, 0, 0 }, | |
{ 1596, 2, 2, 2, 8228, 17, 0, 0 }, | |
{ 1154, 2, 2, 2, 8229, 17, 0, 0 }, | |
{ 1741, 2, 143, 2, 8207, 17, 0, 1 }, | |
{ 1537, 2, 143, 2, 8208, 17, 0, 1 }, | |
{ 1753, 2, 143, 2, 8209, 17, 0, 1 }, | |
{ 1765, 2, 143, 2, 8210, 17, 0, 1 }, | |
{ 1485, 2, 143, 2, 8211, 17, 0, 1 }, | |
{ 1777, 2, 143, 2, 8212, 17, 0, 1 }, | |
{ 1549, 2, 146, 2, 8215, 17, 0, 1 }, | |
{ 1497, 2, 137, 2, 8220, 17, 0, 1 }, | |
{ 1561, 2, 137, 2, 8223, 17, 0, 1 }, | |
{ 1546, 2, 140, 2, 8214, 17, 0, 0 }, | |
{ 1573, 2, 2, 2, 8230, 17, 0, 0 }, | |
{ 1745, 224, 2, 4, 421888, 4, 0, 0 }, | |
{ 1541, 212, 2, 9, 409604, 7, 0, 0 }, | |
{ 1757, 218, 2, 4, 421890, 4, 0, 0 }, | |
{ 1769, 206, 2, 4, 409606, 4, 0, 0 }, | |
{ 1489, 115, 2, 9, 372747, 7, 0, 0 }, | |
{ 1781, 197, 2, 4, 385034, 4, 0, 0 }, | |
{ 1599, 2, 2, 2, 8231, 17, 0, 0 }, | |
{ 1553, 40, 2, 14, 233494, 10, 0, 0 }, | |
{ 1789, 2, 2, 2, 8232, 17, 0, 0 }, | |
{ 1501, 31, 2, 9, 327706, 7, 0, 0 }, | |
{ 1565, 22, 2, 9, 327709, 7, 0, 0 }, | |
{ 1494, 53, 130, 2, 233498, 2, 0, 0 }, | |
{ 1327, 2, 133, 2, 8219, 17, 0, 1 }, | |
{ 1521, 2, 129, 2, 8218, 17, 0, 0 }, | |
{ 1558, 53, 122, 2, 233501, 2, 0, 0 }, | |
{ 1335, 2, 125, 2, 8222, 17, 0, 1 }, | |
{ 1529, 2, 121, 2, 8221, 17, 0, 0 }, | |
{ 1606, 2, 2, 2, 8233, 17, 0, 0 }, | |
{ 1569, 2, 2, 2, 8234, 17, 0, 0 }, | |
{ 1591, 2, 2, 2, 8235, 17, 0, 0 }, | |
{ 99, 2, 2, 2, 8236, 17, 0, 0 }, | |
{ 218, 2, 2, 2, 8237, 17, 0, 0 }, | |
{ 307, 2, 2, 2, 8238, 17, 0, 0 }, | |
{ 404, 2, 2, 2, 8239, 17, 0, 0 }, | |
{ 493, 2, 2, 2, 8240, 17, 0, 0 }, | |
{ 590, 2, 2, 2, 8241, 17, 0, 0 }, | |
{ 673, 2, 2, 2, 8242, 17, 0, 0 }, | |
{ 764, 2, 2, 2, 8243, 17, 0, 0 }, | |
{ 835, 2, 2, 2, 8244, 17, 0, 0 }, | |
{ 902, 2, 2, 2, 8245, 17, 0, 0 }, | |
{ 18, 2, 2, 2, 8246, 17, 0, 0 }, | |
{ 129, 2, 2, 2, 8247, 17, 0, 0 }, | |
{ 248, 2, 2, 2, 8248, 17, 0, 0 }, | |
{ 337, 2, 2, 2, 8249, 17, 0, 0 }, | |
{ 434, 2, 2, 2, 8250, 17, 0, 0 }, | |
{ 523, 2, 2, 2, 8251, 17, 0, 0 }, | |
{ 103, 2, 2, 2, 8252, 17, 0, 0 }, | |
{ 222, 2, 2, 2, 8253, 17, 0, 0 }, | |
{ 311, 2, 2, 2, 8254, 17, 0, 0 }, | |
{ 408, 2, 2, 2, 8255, 17, 0, 0 }, | |
{ 497, 2, 2, 2, 8256, 17, 0, 0 }, | |
{ 594, 2, 2, 2, 8257, 17, 0, 0 }, | |
{ 677, 2, 2, 2, 8258, 17, 0, 0 }, | |
{ 768, 2, 2, 2, 8259, 17, 0, 0 }, | |
{ 839, 2, 2, 2, 8260, 17, 0, 0 }, | |
{ 906, 2, 2, 2, 8261, 17, 0, 0 }, | |
{ 23, 2, 2, 2, 8262, 17, 0, 0 }, | |
{ 134, 2, 2, 2, 8263, 17, 0, 0 }, | |
{ 253, 2, 2, 2, 8264, 17, 0, 0 }, | |
{ 342, 2, 2, 2, 8265, 17, 0, 0 }, | |
{ 439, 2, 2, 2, 8266, 17, 0, 0 }, | |
{ 528, 2, 2, 2, 8267, 17, 0, 0 }, | |
{ 95, 2, 2, 2, 8268, 17, 0, 0 }, | |
{ 214, 2, 2, 2, 8269, 17, 0, 0 }, | |
{ 303, 2, 2, 2, 8270, 17, 0, 0 }, | |
{ 400, 2, 2, 2, 8271, 17, 0, 0 }, | |
{ 489, 2, 2, 2, 8272, 17, 0, 0 }, | |
{ 586, 2, 2, 2, 8273, 17, 0, 0 }, | |
{ 669, 2, 2, 2, 8274, 17, 0, 0 }, | |
{ 760, 2, 2, 2, 8275, 17, 0, 0 }, | |
{ 76, 2, 2, 2, 8276, 17, 0, 0 }, | |
{ 195, 2, 2, 2, 8277, 17, 0, 0 }, | |
{ 284, 2, 2, 2, 8278, 17, 0, 0 }, | |
{ 381, 2, 2, 2, 8279, 17, 0, 0 }, | |
{ 470, 2, 2, 2, 8280, 17, 0, 0 }, | |
{ 567, 2, 2, 2, 8281, 17, 0, 0 }, | |
{ 650, 2, 2, 2, 8282, 17, 0, 0 }, | |
{ 741, 2, 2, 2, 8283, 17, 0, 0 }, | |
{ 836, 109, 2, 9, 327772, 7, 0, 0 }, | |
{ 903, 109, 2, 9, 327775, 7, 0, 0 }, | |
{ 19, 109, 2, 9, 327778, 7, 0, 0 }, | |
{ 130, 109, 2, 9, 327781, 7, 0, 0 }, | |
{ 249, 109, 2, 9, 327784, 7, 0, 0 }, | |
{ 338, 109, 2, 9, 327787, 7, 0, 0 }, | |
{ 435, 109, 2, 9, 327790, 7, 0, 0 }, | |
{ 524, 109, 2, 9, 327793, 7, 0, 0 }, | |
{ 107, 2, 2, 2, 8308, 17, 0, 0 }, | |
{ 226, 2, 2, 2, 8309, 17, 0, 0 }, | |
{ 315, 2, 2, 2, 8310, 17, 0, 0 }, | |
{ 412, 2, 2, 2, 8311, 17, 0, 0 }, | |
{ 501, 2, 2, 2, 8312, 17, 0, 0 }, | |
{ 598, 2, 2, 2, 8313, 17, 0, 0 }, | |
{ 681, 2, 2, 2, 8314, 17, 0, 0 }, | |
{ 772, 2, 2, 2, 8315, 17, 0, 0 }, | |
{ 80, 2, 236, 2, 8316, 17, 0, 0 }, | |
{ 199, 2, 236, 2, 8317, 17, 0, 0 }, | |
{ 288, 2, 236, 2, 8318, 17, 0, 0 }, | |
{ 385, 2, 236, 2, 8319, 17, 0, 0 }, | |
{ 474, 2, 236, 2, 8320, 17, 0, 0 }, | |
{ 571, 2, 236, 2, 8321, 17, 0, 0 }, | |
{ 654, 2, 236, 2, 8322, 17, 0, 0 }, | |
{ 745, 2, 236, 2, 8323, 17, 0, 0 }, | |
{ 820, 2, 236, 2, 8324, 17, 0, 0 }, | |
{ 887, 2, 236, 2, 8325, 17, 0, 0 }, | |
{ 0, 2, 236, 2, 8326, 17, 0, 0 }, | |
{ 111, 2, 236, 2, 8327, 17, 0, 0 }, | |
{ 230, 2, 236, 2, 8328, 17, 0, 0 }, | |
{ 319, 2, 236, 2, 8329, 17, 0, 0 }, | |
{ 416, 2, 236, 2, 8330, 17, 0, 0 }, | |
{ 505, 2, 236, 2, 8331, 17, 0, 0 }, | |
{ 1010, 2, 18, 2, 8284, 17, 0, 0 }, | |
{ 1024, 2, 18, 2, 8287, 17, 0, 0 }, | |
{ 910, 2, 18, 2, 8290, 17, 0, 0 }, | |
{ 925, 2, 18, 2, 8293, 17, 0, 0 }, | |
{ 940, 2, 18, 2, 8296, 17, 0, 0 }, | |
{ 950, 2, 18, 2, 8299, 17, 0, 0 }, | |
{ 960, 2, 18, 2, 8302, 17, 0, 0 }, | |
{ 970, 2, 18, 2, 8305, 17, 0, 0 }, | |
{ 1295, 2, 14, 2, 8285, 17, 0, 1 }, | |
{ 1312, 2, 14, 2, 8288, 17, 0, 1 }, | |
{ 1175, 2, 14, 2, 8291, 17, 0, 1 }, | |
{ 1193, 2, 14, 2, 8294, 17, 0, 1 }, | |
{ 1211, 2, 14, 2, 8297, 17, 0, 1 }, | |
{ 1223, 2, 14, 2, 8300, 17, 0, 1 }, | |
{ 1235, 2, 14, 2, 8303, 17, 0, 1 }, | |
{ 1247, 2, 14, 2, 8306, 17, 0, 1 }, | |
{ 1128, 110, 4, 10, 327772, 7, 0, 0 }, | |
{ 1142, 110, 4, 10, 327775, 7, 0, 0 }, | |
{ 1028, 110, 4, 10, 327778, 7, 0, 0 }, | |
{ 1043, 110, 4, 10, 327781, 7, 0, 0 }, | |
{ 1058, 110, 4, 10, 327784, 7, 0, 0 }, | |
{ 1068, 110, 4, 10, 327787, 7, 0, 0 }, | |
{ 1078, 110, 4, 10, 327790, 7, 0, 0 }, | |
{ 1088, 110, 4, 10, 327793, 7, 0, 0 }, | |
{ 1709, 97, 15, 2, 233564, 2, 0, 0 }, | |
{ 1723, 97, 15, 2, 233567, 2, 0, 0 }, | |
{ 1609, 97, 15, 2, 233570, 2, 0, 0 }, | |
{ 1624, 97, 15, 2, 233573, 2, 0, 0 }, | |
{ 1639, 97, 15, 2, 233576, 2, 0, 0 }, | |
{ 1649, 97, 15, 2, 233579, 2, 0, 0 }, | |
{ 1659, 97, 15, 2, 233582, 2, 0, 0 }, | |
{ 1669, 97, 15, 2, 233585, 2, 0, 0 }, | |
{ 1459, 2, 7, 2, 8286, 17, 0, 1 }, | |
{ 1476, 2, 7, 2, 8289, 17, 0, 1 }, | |
{ 1339, 2, 7, 2, 8292, 17, 0, 1 }, | |
{ 1357, 2, 7, 2, 8295, 17, 0, 1 }, | |
{ 1375, 2, 7, 2, 8298, 17, 0, 1 }, | |
{ 1387, 2, 7, 2, 8301, 17, 0, 1 }, | |
{ 1399, 2, 7, 2, 8304, 17, 0, 1 }, | |
{ 1411, 2, 7, 2, 8307, 17, 0, 1 }, | |
{ 85, 1, 237, 22, 8316, 16, 0, 0 }, | |
{ 204, 1, 237, 22, 8317, 16, 0, 0 }, | |
{ 293, 1, 237, 22, 8318, 16, 0, 0 }, | |
{ 390, 1, 237, 22, 8319, 16, 0, 0 }, | |
{ 479, 1, 237, 22, 8320, 16, 0, 0 }, | |
{ 576, 1, 237, 22, 8321, 16, 0, 0 }, | |
{ 659, 1, 237, 22, 8322, 16, 0, 0 }, | |
{ 750, 1, 237, 22, 8323, 16, 0, 0 }, | |
{ 825, 1, 237, 22, 8324, 16, 0, 0 }, | |
{ 892, 1, 237, 22, 8325, 16, 0, 0 }, | |
{ 6, 1, 237, 22, 8326, 16, 0, 0 }, | |
{ 117, 1, 237, 22, 8327, 16, 0, 0 }, | |
{ 236, 1, 237, 22, 8328, 16, 0, 0 }, | |
{ 325, 1, 237, 22, 8329, 16, 0, 0 }, | |
{ 422, 1, 237, 22, 8330, 16, 0, 0 }, | |
{ 511, 1, 237, 22, 8331, 16, 0, 0 }, | |
{ 72, 2, 247, 2, 8332, 17, 0, 0 }, | |
{ 186, 2, 245, 2, 8333, 17, 0, 0 }, | |
{ 280, 2, 245, 2, 8334, 17, 0, 0 }, | |
{ 372, 2, 243, 2, 8335, 17, 0, 0 }, | |
{ 466, 2, 243, 2, 8336, 17, 0, 0 }, | |
{ 558, 2, 241, 2, 8337, 17, 0, 0 }, | |
{ 646, 2, 241, 2, 8338, 17, 0, 0 }, | |
{ 732, 2, 239, 2, 8339, 17, 0, 0 }, | |
{ 602, 2, 203, 2, 8340, 17, 0, 0 }, | |
{ 685, 2, 203, 2, 8341, 17, 0, 0 }, | |
{ 776, 2, 203, 2, 8342, 17, 0, 0 }, | |
{ 843, 2, 203, 2, 8343, 17, 0, 0 }, | |
{ 28, 2, 203, 2, 8344, 17, 0, 0 }, | |
{ 139, 2, 203, 2, 8345, 17, 0, 0 }, | |
{ 258, 2, 203, 2, 8346, 17, 0, 0 }, | |
{ 347, 2, 203, 2, 8347, 17, 0, 0 }, | |
{ 444, 2, 203, 2, 8348, 17, 0, 0 }, | |
{ 533, 2, 203, 2, 8349, 17, 0, 0 }, | |
{ 624, 2, 203, 2, 8350, 17, 0, 0 }, | |
{ 707, 2, 203, 2, 8351, 17, 0, 0 }, | |
{ 798, 2, 203, 2, 8352, 17, 0, 0 }, | |
{ 865, 2, 203, 2, 8353, 17, 0, 0 }, | |
{ 50, 2, 203, 2, 8354, 17, 0, 0 }, | |
{ 161, 2, 203, 2, 8355, 17, 0, 0 }, | |
{ 608, 29, 204, 22, 8340, 16, 0, 0 }, | |
{ 691, 29, 204, 22, 8341, 16, 0, 0 }, | |
{ 782, 29, 204, 22, 8342, 16, 0, 0 }, | |
{ 849, 29, 204, 22, 8343, 16, 0, 0 }, | |
{ 34, 29, 204, 22, 8344, 16, 0, 0 }, | |
{ 145, 29, 204, 22, 8345, 16, 0, 0 }, | |
{ 264, 29, 204, 22, 8346, 16, 0, 0 }, | |
{ 353, 29, 204, 22, 8347, 16, 0, 0 }, | |
{ 450, 29, 204, 22, 8348, 16, 0, 0 }, | |
{ 539, 29, 204, 22, 8349, 16, 0, 0 }, | |
{ 630, 29, 204, 22, 8350, 16, 0, 0 }, | |
{ 713, 29, 204, 22, 8351, 16, 0, 0 }, | |
{ 804, 29, 204, 22, 8352, 16, 0, 0 }, | |
{ 871, 29, 204, 22, 8353, 16, 0, 0 }, | |
{ 56, 29, 204, 22, 8354, 16, 0, 0 }, | |
{ 167, 29, 204, 22, 8355, 16, 0, 0 }, | |
{ 90, 0, 2, 21, 8316, 16, 0, 0 }, | |
{ 209, 0, 2, 21, 8317, 16, 0, 0 }, | |
{ 298, 0, 2, 21, 8318, 16, 0, 0 }, | |
{ 395, 0, 2, 21, 8319, 16, 0, 0 }, | |
{ 484, 0, 2, 21, 8320, 16, 0, 0 }, | |
{ 581, 0, 2, 21, 8321, 16, 0, 0 }, | |
{ 664, 0, 2, 21, 8322, 16, 0, 0 }, | |
{ 755, 0, 2, 21, 8323, 16, 0, 0 }, | |
{ 830, 0, 2, 21, 8324, 16, 0, 0 }, | |
{ 897, 0, 2, 21, 8325, 16, 0, 0 }, | |
{ 12, 0, 2, 21, 8326, 16, 0, 0 }, | |
{ 123, 0, 2, 21, 8327, 16, 0, 0 }, | |
{ 242, 0, 2, 21, 8328, 16, 0, 0 }, | |
{ 331, 0, 2, 21, 8329, 16, 0, 0 }, | |
{ 428, 0, 2, 21, 8330, 16, 0, 0 }, | |
{ 517, 0, 2, 21, 8331, 16, 0, 0 }, | |
{ 614, 28, 2, 21, 8340, 16, 0, 0 }, | |
{ 697, 28, 2, 21, 8341, 16, 0, 0 }, | |
{ 788, 28, 2, 21, 8342, 16, 0, 0 }, | |
{ 855, 28, 2, 21, 8343, 16, 0, 0 }, | |
{ 40, 28, 2, 21, 8344, 16, 0, 0 }, | |
{ 151, 28, 2, 21, 8345, 16, 0, 0 }, | |
{ 270, 28, 2, 21, 8346, 16, 0, 0 }, | |
{ 359, 28, 2, 21, 8347, 16, 0, 0 }, | |
{ 456, 28, 2, 21, 8348, 16, 0, 0 }, | |
{ 545, 28, 2, 21, 8349, 16, 0, 0 }, | |
{ 636, 28, 2, 21, 8350, 16, 0, 0 }, | |
{ 719, 28, 2, 21, 8351, 16, 0, 0 }, | |
{ 810, 28, 2, 21, 8352, 16, 0, 0 }, | |
{ 877, 28, 2, 21, 8353, 16, 0, 0 }, | |
{ 62, 28, 2, 21, 8354, 16, 0, 0 }, | |
{ 173, 28, 2, 21, 8355, 16, 0, 0 }, | |
{ 183, 56, 2, 17, 233612, 12, 0, 0 }, | |
{ 369, 59, 2, 17, 233614, 12, 0, 0 }, | |
{ 555, 62, 2, 17, 233616, 12, 0, 0 }, | |
{ 729, 65, 2, 17, 233618, 12, 0, 0 }, | |
{ 1165, 2, 2, 2, 8356, 17, 0, 0 }, | |
{ 75, 2, 98, 2, 8357, 17, 0, 0 }, | |
{ 194, 2, 92, 2, 8358, 17, 0, 0 }, | |
{ 283, 2, 92, 2, 8359, 17, 0, 0 }, | |
{ 380, 2, 89, 2, 8360, 17, 0, 0 }, | |
{ 469, 2, 89, 2, 8361, 17, 0, 0 }, | |
{ 566, 2, 87, 2, 8362, 17, 0, 0 }, | |
{ 649, 2, 87, 2, 8363, 17, 0, 0 }, | |
{ 740, 2, 85, 2, 8364, 17, 0, 0 }, | |
{ 189, 68, 2, 19, 233637, 14, 0, 0 }, | |
{ 375, 71, 2, 19, 233639, 14, 0, 0 }, | |
{ 561, 74, 2, 19, 233641, 14, 0, 0 }, | |
{ 735, 77, 2, 19, 233643, 14, 0, 0 }, | |
{ 620, 230, 2, 9, 327853, 7, 0, 0 }, | |
{ 703, 230, 2, 9, 327856, 7, 0, 0 }, | |
{ 794, 230, 2, 9, 327859, 7, 0, 0 }, | |
{ 861, 230, 2, 9, 327862, 7, 0, 0 }, | |
{ 46, 230, 2, 9, 327865, 7, 0, 0 }, | |
{ 157, 230, 2, 9, 327868, 7, 0, 0 }, | |
{ 276, 230, 2, 9, 327871, 7, 0, 0 }, | |
{ 365, 230, 2, 9, 327874, 7, 0, 0 }, | |
{ 462, 230, 2, 9, 327877, 7, 0, 0 }, | |
{ 551, 230, 2, 9, 327880, 7, 0, 0 }, | |
{ 642, 230, 2, 9, 327883, 7, 0, 0 }, | |
{ 725, 230, 2, 9, 327886, 7, 0, 0 }, | |
{ 816, 230, 2, 9, 327889, 7, 0, 0 }, | |
{ 883, 230, 2, 9, 327892, 7, 0, 0 }, | |
{ 68, 230, 2, 9, 327895, 7, 0, 0 }, | |
{ 179, 230, 2, 9, 327898, 7, 0, 0 }, | |
{ 980, 2, 10, 2, 8365, 17, 0, 0 }, | |
{ 990, 2, 10, 2, 8368, 17, 0, 0 }, | |
{ 1000, 2, 10, 2, 8371, 17, 0, 0 }, | |
{ 1014, 2, 10, 2, 8374, 17, 0, 0 }, | |
{ 915, 2, 10, 2, 8377, 17, 0, 0 }, | |
{ 930, 2, 10, 2, 8380, 17, 0, 0 }, | |
{ 945, 2, 10, 2, 8383, 17, 0, 0 }, | |
{ 955, 2, 10, 2, 8386, 17, 0, 0 }, | |
{ 965, 2, 10, 2, 8389, 17, 0, 0 }, | |
{ 975, 2, 10, 2, 8392, 17, 0, 0 }, | |
{ 985, 2, 10, 2, 8395, 17, 0, 0 }, | |
{ 995, 2, 10, 2, 8398, 17, 0, 0 }, | |
{ 1005, 2, 10, 2, 8401, 17, 0, 0 }, | |
{ 1019, 2, 10, 2, 8404, 17, 0, 0 }, | |
{ 920, 2, 10, 2, 8407, 17, 0, 0 }, | |
{ 935, 2, 10, 2, 8410, 17, 0, 0 }, | |
{ 1259, 2, 6, 2, 8366, 17, 0, 1 }, | |
{ 1271, 2, 6, 2, 8369, 17, 0, 1 }, | |
{ 1283, 2, 6, 2, 8372, 17, 0, 1 }, | |
{ 1300, 2, 6, 2, 8375, 17, 0, 1 }, | |
{ 1181, 2, 6, 2, 8378, 17, 0, 1 }, | |
{ 1199, 2, 6, 2, 8381, 17, 0, 1 }, | |
{ 1217, 2, 6, 2, 8384, 17, 0, 1 }, | |
{ 1229, 2, 6, 2, 8387, 17, 0, 1 }, | |
{ 1241, 2, 6, 2, 8390, 17, 0, 1 }, | |
{ 1253, 2, 6, 2, 8393, 17, 0, 1 }, | |
{ 1265, 2, 6, 2, 8396, 17, 0, 1 }, | |
{ 1277, 2, 6, 2, 8399, 17, 0, 1 }, | |
{ 1289, 2, 6, 2, 8402, 17, 0, 1 }, | |
{ 1306, 2, 6, 2, 8405, 17, 0, 1 }, | |
{ 1187, 2, 6, 2, 8408, 17, 0, 1 }, | |
{ 1205, 2, 6, 2, 8411, 17, 0, 1 }, | |
{ 1098, 231, 4, 10, 327853, 7, 0, 0 }, | |
{ 1108, 231, 4, 10, 327856, 7, 0, 0 }, | |
{ 1118, 231, 4, 10, 327859, 7, 0, 0 }, | |
{ 1132, 231, 4, 10, 327862, 7, 0, 0 }, | |
{ 1033, 231, 4, 10, 327865, 7, 0, 0 }, | |
{ 1048, 231, 4, 10, 327868, 7, 0, 0 }, | |
{ 1063, 231, 4, 10, 327871, 7, 0, 0 }, | |
{ 1073, 231, 4, 10, 327874, 7, 0, 0 }, | |
{ 1083, 231, 4, 10, 327877, 7, 0, 0 }, | |
{ 1093, 231, 4, 10, 327880, 7, 0, 0 }, | |
{ 1103, 231, 4, 10, 327883, 7, 0, 0 }, | |
{ 1113, 231, 4, 10, 327886, 7, 0, 0 }, | |
{ 1123, 231, 4, 10, 327889, 7, 0, 0 }, | |
{ 1137, 231, 4, 10, 327892, 7, 0, 0 }, | |
{ 1038, 231, 4, 10, 327895, 7, 0, 0 }, | |
{ 1053, 231, 4, 10, 327898, 7, 0, 0 }, | |
{ 1679, 106, 7, 2, 233645, 2, 0, 0 }, | |
{ 1689, 106, 7, 2, 233648, 2, 0, 0 }, | |
{ 1699, 106, 7, 2, 233651, 2, 0, 0 }, | |
{ 1713, 106, 7, 2, 233654, 2, 0, 0 }, | |
{ 1614, 106, 7, 2, 233657, 2, 0, 0 }, | |
{ 1629, 106, 7, 2, 233660, 2, 0, 0 }, | |
{ 1644, 106, 7, 2, 233663, 2, 0, 0 }, | |
{ 1654, 106, 7, 2, 233666, 2, 0, 0 }, | |
{ 1664, 106, 7, 2, 233669, 2, 0, 0 }, | |
{ 1674, 106, 7, 2, 233672, 2, 0, 0 }, | |
{ 1684, 106, 7, 2, 233675, 2, 0, 0 }, | |
{ 1694, 106, 7, 2, 233678, 2, 0, 0 }, | |
{ 1704, 106, 7, 2, 233681, 2, 0, 0 }, | |
{ 1718, 106, 7, 2, 233684, 2, 0, 0 }, | |
{ 1619, 106, 7, 2, 233687, 2, 0, 0 }, | |
{ 1634, 106, 7, 2, 233690, 2, 0, 0 }, | |
{ 1423, 2, 3, 2, 8367, 17, 0, 1 }, | |
{ 1435, 2, 3, 2, 8370, 17, 0, 1 }, | |
{ 1447, 2, 3, 2, 8373, 17, 0, 1 }, | |
{ 1464, 2, 3, 2, 8376, 17, 0, 1 }, | |
{ 1345, 2, 3, 2, 8379, 17, 0, 1 }, | |
{ 1363, 2, 3, 2, 8382, 17, 0, 1 }, | |
{ 1381, 2, 3, 2, 8385, 17, 0, 1 }, | |
{ 1393, 2, 3, 2, 8388, 17, 0, 1 }, | |
{ 1405, 2, 3, 2, 8391, 17, 0, 1 }, | |
{ 1417, 2, 3, 2, 8394, 17, 0, 1 }, | |
{ 1429, 2, 3, 2, 8397, 17, 0, 1 }, | |
{ 1441, 2, 3, 2, 8400, 17, 0, 1 }, | |
{ 1453, 2, 3, 2, 8403, 17, 0, 1 }, | |
{ 1470, 2, 3, 2, 8406, 17, 0, 1 }, | |
{ 1351, 2, 3, 2, 8409, 17, 0, 1 }, | |
{ 1369, 2, 3, 2, 8412, 17, 0, 1 }, | |
}; | |
extern const MCPhysReg X86RegUnitRoots[][2] = { | |
{ X86::AH }, | |
{ X86::AL }, | |
{ X86::BH }, | |
{ X86::BL }, | |
{ X86::BPL }, | |
{ X86::BPH }, | |
{ X86::CH }, | |
{ X86::CL }, | |
{ X86::CS }, | |
{ X86::DF }, | |
{ X86::DH }, | |
{ X86::DIL }, | |
{ X86::DIH }, | |
{ X86::DL }, | |
{ X86::DS }, | |
{ X86::HAX }, | |
{ X86::HBP }, | |
{ X86::HBX }, | |
{ X86::HCX }, | |
{ X86::HDI }, | |
{ X86::HDX }, | |
{ X86::EFLAGS }, | |
{ X86::IP }, | |
{ X86::HIP }, | |
{ X86::EIZ }, | |
{ X86::ES }, | |
{ X86::SIL }, | |
{ X86::SIH }, | |
{ X86::HSI }, | |
{ X86::SPL }, | |
{ X86::SPH }, | |
{ X86::HSP }, | |
{ X86::FPCW }, | |
{ X86::FPSW }, | |
{ X86::FS }, | |
{ X86::FS_BASE }, | |
{ X86::GS }, | |
{ X86::GS_BASE }, | |
{ X86::MXCSR }, | |
{ X86::RFLAGS }, | |
{ X86::RIZ }, | |
{ X86::SS }, | |
{ X86::SSP }, | |
{ X86::_EFLAGS }, | |
{ X86::CR0 }, | |
{ X86::CR1 }, | |
{ X86::CR2 }, | |
{ X86::CR3 }, | |
{ X86::CR4 }, | |
{ X86::CR5 }, | |
{ X86::CR6 }, | |
{ X86::CR7 }, | |
{ X86::CR8 }, | |
{ X86::CR9 }, | |
{ X86::CR10 }, | |
{ X86::CR11 }, | |
{ X86::CR12 }, | |
{ X86::CR13 }, | |
{ X86::CR14 }, | |
{ X86::CR15 }, | |
{ X86::DR0 }, | |
{ X86::DR1 }, | |
{ X86::DR2 }, | |
{ X86::DR3 }, | |
{ X86::DR4 }, | |
{ X86::DR5 }, | |
{ X86::DR6 }, | |
{ X86::DR7 }, | |
{ X86::DR8 }, | |
{ X86::DR9 }, | |
{ X86::DR10 }, | |
{ X86::DR11 }, | |
{ X86::DR12 }, | |
{ X86::DR13 }, | |
{ X86::DR14 }, | |
{ X86::DR15 }, | |
{ X86::FP0 }, | |
{ X86::FP1 }, | |
{ X86::FP2 }, | |
{ X86::FP3 }, | |
{ X86::FP4 }, | |
{ X86::FP5 }, | |
{ X86::FP6 }, | |
{ X86::FP7 }, | |
{ X86::MM0 }, | |
{ X86::MM1 }, | |
{ X86::MM2 }, | |
{ X86::MM3 }, | |
{ X86::MM4 }, | |
{ X86::MM5 }, | |
{ X86::MM6 }, | |
{ X86::MM7 }, | |
{ X86::R8B }, | |
{ X86::R8BH }, | |
{ X86::R8WH }, | |
{ X86::R9B }, | |
{ X86::R9BH }, | |
{ X86::R9WH }, | |
{ X86::R10B }, | |
{ X86::R10BH }, | |
{ X86::R10WH }, | |
{ X86::R11B }, | |
{ X86::R11BH }, | |
{ X86::R11WH }, | |
{ X86::R12B }, | |
{ X86::R12BH }, | |
{ X86::R12WH }, | |
{ X86::R13B }, | |
{ X86::R13BH }, | |
{ X86::R13WH }, | |
{ X86::R14B }, | |
{ X86::R14BH }, | |
{ X86::R14WH }, | |
{ X86::R15B }, | |
{ X86::R15BH }, | |
{ X86::R15WH }, | |
{ X86::ST0 }, | |
{ X86::ST1 }, | |
{ X86::ST2 }, | |
{ X86::ST3 }, | |
{ X86::ST4 }, | |
{ X86::ST5 }, | |
{ X86::ST6 }, | |
{ X86::ST7 }, | |
{ X86::XMM0 }, | |
{ X86::XMM1 }, | |
{ X86::XMM2 }, | |
{ X86::XMM3 }, | |
{ X86::XMM4 }, | |
{ X86::XMM5 }, | |
{ X86::XMM6 }, | |
{ X86::XMM7 }, | |
{ X86::XMM8 }, | |
{ X86::XMM9 }, | |
{ X86::XMM10 }, | |
{ X86::XMM11 }, | |
{ X86::XMM12 }, | |
{ X86::XMM13 }, | |
{ X86::XMM14 }, | |
{ X86::XMM15 }, | |
{ X86::K0 }, | |
{ X86::K1 }, | |
{ X86::K2 }, | |
{ X86::K3 }, | |
{ X86::K4 }, | |
{ X86::K5 }, | |
{ X86::K6 }, | |
{ X86::K7 }, | |
{ X86::XMM16 }, | |
{ X86::XMM17 }, | |
{ X86::XMM18 }, | |
{ X86::XMM19 }, | |
{ X86::XMM20 }, | |
{ X86::XMM21 }, | |
{ X86::XMM22 }, | |
{ X86::XMM23 }, | |
{ X86::XMM24 }, | |
{ X86::XMM25 }, | |
{ X86::XMM26 }, | |
{ X86::XMM27 }, | |
{ X86::XMM28 }, | |
{ X86::XMM29 }, | |
{ X86::XMM30 }, | |
{ X86::XMM31 }, | |
{ X86::TMMCFG }, | |
{ X86::TMM0 }, | |
{ X86::TMM1 }, | |
{ X86::TMM2 }, | |
{ X86::TMM3 }, | |
{ X86::TMM4 }, | |
{ X86::TMM5 }, | |
{ X86::TMM6 }, | |
{ X86::TMM7 }, | |
{ X86::R16B }, | |
{ X86::R16BH }, | |
{ X86::R16WH }, | |
{ X86::R17B }, | |
{ X86::R17BH }, | |
{ X86::R17WH }, | |
{ X86::R18B }, | |
{ X86::R18BH }, | |
{ X86::R18WH }, | |
{ X86::R19B }, | |
{ X86::R19BH }, | |
{ X86::R19WH }, | |
{ X86::R20B }, | |
{ X86::R20BH }, | |
{ X86::R20WH }, | |
{ X86::R21B }, | |
{ X86::R21BH }, | |
{ X86::R21WH }, | |
{ X86::R22B }, | |
{ X86::R22BH }, | |
{ X86::R22WH }, | |
{ X86::R23B }, | |
{ X86::R23BH }, | |
{ X86::R23WH }, | |
{ X86::R24B }, | |
{ X86::R24BH }, | |
{ X86::R24WH }, | |
{ X86::R25B }, | |
{ X86::R25BH }, | |
{ X86::R25WH }, | |
{ X86::R26B }, | |
{ X86::R26BH }, | |
{ X86::R26WH }, | |
{ X86::R27B }, | |
{ X86::R27BH }, | |
{ X86::R27WH }, | |
{ X86::R28B }, | |
{ X86::R28BH }, | |
{ X86::R28WH }, | |
{ X86::R29B }, | |
{ X86::R29BH }, | |
{ X86::R29WH }, | |
{ X86::R30B }, | |
{ X86::R30BH }, | |
{ X86::R30WH }, | |
{ X86::R31B }, | |
{ X86::R31BH }, | |
{ X86::R31WH }, | |
}; | |
namespace { // Register classes... | |
// GR8 Register Class... | |
const MCPhysReg GR8[] = { | |
X86::AL, X86::CL, X86::DL, X86::AH, X86::CH, X86::DH, X86::BL, X86::BH, X86::SIL, X86::DIL, X86::BPL, X86::SPL, X86::R8B, X86::R9B, X86::R10B, X86::R11B, X86::R16B, X86::R17B, X86::R18B, X86::R19B, X86::R22B, X86::R23B, X86::R24B, X86::R25B, X86::R26B, X86::R27B, X86::R30B, X86::R31B, X86::R14B, X86::R15B, X86::R12B, X86::R13B, X86::R20B, X86::R21B, X86::R28B, X86::R29B, | |
}; | |
// GR8 Bit set. | |
const uint8_t GR8Bits[] = { | |
0x36, 0x8d, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// GRH8 Register Class... | |
const MCPhysReg GRH8[] = { | |
X86::SIH, X86::DIH, X86::BPH, X86::SPH, X86::R8BH, X86::R9BH, X86::R10BH, X86::R11BH, X86::R12BH, X86::R13BH, X86::R14BH, X86::R15BH, X86::R16BH, X86::R17BH, X86::R18BH, X86::R19BH, X86::R20BH, X86::R21BH, X86::R22BH, X86::R23BH, X86::R24BH, X86::R25BH, X86::R26BH, X86::R27BH, X86::R28BH, X86::R29BH, X86::R30BH, X86::R31BH, | |
}; | |
// GRH8 Bit set. | |
const uint8_t GRH8Bits[] = { | |
0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// GR8_NOREX2 Register Class... | |
const MCPhysReg GR8_NOREX2[] = { | |
X86::AL, X86::CL, X86::DL, X86::AH, X86::CH, X86::DH, X86::BL, X86::BH, X86::SIL, X86::DIL, X86::BPL, X86::SPL, X86::R8B, X86::R9B, X86::R10B, X86::R11B, X86::R14B, X86::R15B, X86::R12B, X86::R13B, | |
}; | |
// GR8_NOREX2 Bit set. | |
const uint8_t GR8_NOREX2Bits[] = { | |
0x36, 0x8d, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// GR8_NOREX Register Class... | |
const MCPhysReg GR8_NOREX[] = { | |
X86::AL, X86::CL, X86::DL, X86::AH, X86::CH, X86::DH, X86::BL, X86::BH, | |
}; | |
// GR8_NOREX Bit set. | |
const uint8_t GR8_NOREXBits[] = { | |
0x36, 0x8c, 0x08, | |
}; | |
// GR8_ABCD_H Register Class... | |
const MCPhysReg GR8_ABCD_H[] = { | |
X86::AH, X86::CH, X86::DH, X86::BH, | |
}; | |
// GR8_ABCD_H Bit set. | |
const uint8_t GR8_ABCD_HBits[] = { | |
0x12, 0x84, | |
}; | |
// GR8_ABCD_L Register Class... | |
const MCPhysReg GR8_ABCD_L[] = { | |
X86::AL, X86::CL, X86::DL, X86::BL, | |
}; | |
// GR8_ABCD_L Bit set. | |
const uint8_t GR8_ABCD_LBits[] = { | |
0x24, 0x08, 0x08, | |
}; | |
// GRH16 Register Class... | |
const MCPhysReg GRH16[] = { | |
X86::HAX, X86::HCX, X86::HDX, X86::HSI, X86::HDI, X86::HBX, X86::HBP, X86::HSP, X86::HIP, X86::R8WH, X86::R9WH, X86::R10WH, X86::R11WH, X86::R12WH, X86::R13WH, X86::R14WH, X86::R15WH, X86::R16WH, X86::R17WH, X86::R18WH, X86::R19WH, X86::R20WH, X86::R21WH, X86::R22WH, X86::R23WH, X86::R24WH, X86::R25WH, X86::R26WH, X86::R27WH, X86::R28WH, X86::R29WH, X86::R30WH, X86::R31WH, | |
}; | |
// GRH16 Bit set. | |
const uint8_t GRH16Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// GR16 Register Class... | |
const MCPhysReg GR16[] = { | |
X86::AX, X86::CX, X86::DX, X86::SI, X86::DI, X86::BX, X86::BP, X86::SP, X86::R8W, X86::R9W, X86::R10W, X86::R11W, X86::R16W, X86::R17W, X86::R18W, X86::R19W, X86::R22W, X86::R23W, X86::R24W, X86::R25W, X86::R26W, X86::R27W, X86::R30W, X86::R31W, X86::R14W, X86::R15W, X86::R12W, X86::R13W, X86::R20W, X86::R21W, X86::R28W, X86::R29W, | |
}; | |
// GR16 Bit set. | |
const uint8_t GR16Bits[] = { | |
0x48, 0x22, 0x21, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// GR16_NOREX2 Register Class... | |
const MCPhysReg GR16_NOREX2[] = { | |
X86::AX, X86::CX, X86::DX, X86::SI, X86::DI, X86::BX, X86::BP, X86::SP, X86::R8W, X86::R9W, X86::R10W, X86::R11W, X86::R14W, X86::R15W, X86::R12W, X86::R13W, | |
}; | |
// GR16_NOREX2 Bit set. | |
const uint8_t GR16_NOREX2Bits[] = { | |
0x48, 0x22, 0x21, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// GR16_NOREX Register Class... | |
const MCPhysReg GR16_NOREX[] = { | |
X86::AX, X86::CX, X86::DX, X86::SI, X86::DI, X86::BX, X86::BP, X86::SP, | |
}; | |
// GR16_NOREX Bit set. | |
const uint8_t GR16_NOREXBits[] = { | |
0x48, 0x22, 0x21, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, | |
}; | |
// VK1 Register Class... | |
const MCPhysReg VK1[] = { | |
X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK1 Bit set. | |
const uint8_t VK1Bits[] = { | |
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, 0x80, 0x7f, | |
}; | |
// VK16 Register Class... | |
const MCPhysReg VK16[] = { | |
X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK16 Bit set. | |
const uint8_t VK16Bits[] = { | |
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, 0x80, 0x7f, | |
}; | |
// VK2 Register Class... | |
const MCPhysReg VK2[] = { | |
X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK2 Bit set. | |
const uint8_t VK2Bits[] = { | |
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, 0x80, 0x7f, | |
}; | |
// VK4 Register Class... | |
const MCPhysReg VK4[] = { | |
X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK4 Bit set. | |
const uint8_t VK4Bits[] = { | |
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, 0x80, 0x7f, | |
}; | |
// VK8 Register Class... | |
const MCPhysReg VK8[] = { | |
X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK8 Bit set. | |
const uint8_t VK8Bits[] = { | |
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, 0x80, 0x7f, | |
}; | |
// VK16WM Register Class... | |
const MCPhysReg VK16WM[] = { | |
X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK16WM Bit set. | |
const uint8_t VK16WMBits[] = { | |
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, 0x7f, | |
}; | |
// VK1WM Register Class... | |
const MCPhysReg VK1WM[] = { | |
X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK1WM Bit set. | |
const uint8_t VK1WMBits[] = { | |
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, 0x7f, | |
}; | |
// VK2WM Register Class... | |
const MCPhysReg VK2WM[] = { | |
X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK2WM Bit set. | |
const uint8_t VK2WMBits[] = { | |
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, 0x7f, | |
}; | |
// VK4WM Register Class... | |
const MCPhysReg VK4WM[] = { | |
X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK4WM Bit set. | |
const uint8_t VK4WMBits[] = { | |
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, 0x7f, | |
}; | |
// VK8WM Register Class... | |
const MCPhysReg VK8WM[] = { | |
X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK8WM Bit set. | |
const uint8_t VK8WMBits[] = { | |
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, 0x7f, | |
}; | |
// SEGMENT_REG Register Class... | |
const MCPhysReg SEGMENT_REG[] = { | |
X86::CS, X86::DS, X86::SS, X86::ES, X86::FS, X86::GS, | |
}; | |
// SEGMENT_REG Bit set. | |
const uint8_t SEGMENT_REGBits[] = { | |
0x00, 0x10, 0x10, 0x80, 0x50, 0x00, 0x00, 0x00, 0x10, | |
}; | |
// GR16_ABCD Register Class... | |
const MCPhysReg GR16_ABCD[] = { | |
X86::AX, X86::CX, X86::DX, X86::BX, | |
}; | |
// GR16_ABCD Bit set. | |
const uint8_t GR16_ABCDBits[] = { | |
0x08, 0x22, 0x20, | |
}; | |
// FPCCR Register Class... | |
const MCPhysReg FPCCR[] = { | |
X86::FPSW, | |
}; | |
// FPCCR Bit set. | |
const uint8_t FPCCRBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x08, | |
}; | |
// FR16X Register Class... | |
const MCPhysReg FR16X[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, X86::XMM16, X86::XMM17, X86::XMM18, X86::XMM19, X86::XMM20, X86::XMM21, X86::XMM22, X86::XMM23, X86::XMM24, X86::XMM25, X86::XMM26, X86::XMM27, X86::XMM28, X86::XMM29, X86::XMM30, X86::XMM31, | |
}; | |
// FR16X Bit set. | |
const uint8_t FR16XBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// FR16 Register Class... | |
const MCPhysReg FR16[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, | |
}; | |
// FR16 Bit set. | |
const uint8_t FR16Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// VK16PAIR Register Class... | |
const MCPhysReg VK16PAIR[] = { | |
X86::K0_K1, X86::K2_K3, X86::K4_K5, X86::K6_K7, | |
}; | |
// VK16PAIR Bit set. | |
const uint8_t VK16PAIRBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// VK1PAIR Register Class... | |
const MCPhysReg VK1PAIR[] = { | |
X86::K0_K1, X86::K2_K3, X86::K4_K5, X86::K6_K7, | |
}; | |
// VK1PAIR Bit set. | |
const uint8_t VK1PAIRBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// VK2PAIR Register Class... | |
const MCPhysReg VK2PAIR[] = { | |
X86::K0_K1, X86::K2_K3, X86::K4_K5, X86::K6_K7, | |
}; | |
// VK2PAIR Bit set. | |
const uint8_t VK2PAIRBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// VK4PAIR Register Class... | |
const MCPhysReg VK4PAIR[] = { | |
X86::K0_K1, X86::K2_K3, X86::K4_K5, X86::K6_K7, | |
}; | |
// VK4PAIR Bit set. | |
const uint8_t VK4PAIRBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// VK8PAIR Register Class... | |
const MCPhysReg VK8PAIR[] = { | |
X86::K0_K1, X86::K2_K3, X86::K4_K5, X86::K6_K7, | |
}; | |
// VK8PAIR Bit set. | |
const uint8_t VK8PAIRBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// VK1PAIR_with_sub_mask_0_in_VK1WM Register Class... | |
const MCPhysReg VK1PAIR_with_sub_mask_0_in_VK1WM[] = { | |
X86::K2_K3, X86::K4_K5, X86::K6_K7, | |
}; | |
// VK1PAIR_with_sub_mask_0_in_VK1WM Bit set. | |
const uint8_t VK1PAIR_with_sub_mask_0_in_VK1WMBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
}; | |
// LOW32_ADDR_ACCESS_RBP Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS_RBP[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R16D, X86::R17D, X86::R18D, X86::R19D, X86::R22D, X86::R23D, X86::R24D, X86::R25D, X86::R26D, X86::R27D, X86::R30D, X86::R31D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::R20D, X86::R21D, X86::R28D, X86::R29D, X86::RIP, X86::RBP, | |
}; | |
// LOW32_ADDR_ACCESS_RBP Bit set. | |
const uint8_t LOW32_ADDR_ACCESS_RBPBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// LOW32_ADDR_ACCESS Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R16D, X86::R17D, X86::R18D, X86::R19D, X86::R22D, X86::R23D, X86::R24D, X86::R25D, X86::R26D, X86::R27D, X86::R30D, X86::R31D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::R20D, X86::R21D, X86::R28D, X86::R29D, X86::RIP, | |
}; | |
// LOW32_ADDR_ACCESS Bit set. | |
const uint8_t LOW32_ADDR_ACCESSBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_8bit Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS_RBP_with_sub_8bit[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R16D, X86::R17D, X86::R18D, X86::R19D, X86::R22D, X86::R23D, X86::R24D, X86::R25D, X86::R26D, X86::R27D, X86::R30D, X86::R31D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::R20D, X86::R21D, X86::R28D, X86::R29D, X86::RBP, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_8bit Bit set. | |
const uint8_t LOW32_ADDR_ACCESS_RBP_with_sub_8bitBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// FR32X Register Class... | |
const MCPhysReg FR32X[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, X86::XMM16, X86::XMM17, X86::XMM18, X86::XMM19, X86::XMM20, X86::XMM21, X86::XMM22, X86::XMM23, X86::XMM24, X86::XMM25, X86::XMM26, X86::XMM27, X86::XMM28, X86::XMM29, X86::XMM30, X86::XMM31, | |
}; | |
// FR32X Bit set. | |
const uint8_t FR32XBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// GR32 Register Class... | |
const MCPhysReg GR32[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R16D, X86::R17D, X86::R18D, X86::R19D, X86::R22D, X86::R23D, X86::R24D, X86::R25D, X86::R26D, X86::R27D, X86::R30D, X86::R31D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::R20D, X86::R21D, X86::R28D, X86::R29D, | |
}; | |
// GR32 Bit set. | |
const uint8_t GR32Bits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// GR32_NOSP Register Class... | |
const MCPhysReg GR32_NOSP[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R16D, X86::R17D, X86::R18D, X86::R19D, X86::R22D, X86::R23D, X86::R24D, X86::R25D, X86::R26D, X86::R27D, X86::R30D, X86::R31D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::R20D, X86::R21D, X86::R28D, X86::R29D, | |
}; | |
// GR32_NOSP Bit set. | |
const uint8_t GR32_NOSPBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, X86::RBP, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 Bit set. | |
const uint8_t LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2Bits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// DEBUG_REG Register Class... | |
const MCPhysReg DEBUG_REG[] = { | |
X86::DR0, X86::DR1, X86::DR2, X86::DR3, X86::DR4, X86::DR5, X86::DR6, X86::DR7, X86::DR8, X86::DR9, X86::DR10, X86::DR11, X86::DR12, X86::DR13, X86::DR14, X86::DR15, | |
}; | |
// DEBUG_REG Bit set. | |
const uint8_t DEBUG_REGBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// FR32 Register Class... | |
const MCPhysReg FR32[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, | |
}; | |
// FR32 Bit set. | |
const uint8_t FR32Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// GR32_NOREX2 Register Class... | |
const MCPhysReg GR32_NOREX2[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, | |
}; | |
// GR32_NOREX2 Bit set. | |
const uint8_t GR32_NOREX2Bits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// GR32_NOREX2_NOSP Register Class... | |
const MCPhysReg GR32_NOREX2_NOSP[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::R8D, X86::R9D, X86::R10D, X86::R11D, X86::R14D, X86::R15D, X86::R12D, X86::R13D, | |
}; | |
// GR32_NOREX2_NOSP Bit set. | |
const uint8_t GR32_NOREX2_NOSPBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, X86::RBP, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX Bit set. | |
const uint8_t LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, 0x00, 0x10, | |
}; | |
// GR32_NOREX Register Class... | |
const MCPhysReg GR32_NOREX[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ESP, | |
}; | |
// GR32_NOREX Bit set. | |
const uint8_t GR32_NOREXBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x03, | |
}; | |
// VK32 Register Class... | |
const MCPhysReg VK32[] = { | |
X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK32 Bit set. | |
const uint8_t VK32Bits[] = { | |
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, 0x80, 0x7f, | |
}; | |
// GR32_NOREX_NOSP Register Class... | |
const MCPhysReg GR32_NOREX_NOSP[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, | |
}; | |
// GR32_NOREX_NOSP Bit set. | |
const uint8_t GR32_NOREX_NOSPBits[] = { | |
0x00, 0x00, 0xc0, 0x0f, 0x01, | |
}; | |
// RFP32 Register Class... | |
const MCPhysReg RFP32[] = { | |
X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, | |
}; | |
// RFP32 Bit set. | |
const uint8_t RFP32Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, | |
}; | |
// VK32WM Register Class... | |
const MCPhysReg VK32WM[] = { | |
X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK32WM Bit set. | |
const uint8_t VK32WMBits[] = { | |
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, 0x7f, | |
}; | |
// GR32_ABCD Register Class... | |
const MCPhysReg GR32_ABCD[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::EBX, | |
}; | |
// GR32_ABCD Bit set. | |
const uint8_t GR32_ABCDBits[] = { | |
0x00, 0x00, 0x40, 0x0b, | |
}; | |
// GR32_TC Register Class... | |
const MCPhysReg GR32_TC[] = { | |
X86::EAX, X86::ECX, X86::EDX, X86::ESP, | |
}; | |
// GR32_TC Bit set. | |
const uint8_t GR32_TCBits[] = { | |
0x00, 0x00, 0x40, 0x0a, 0x02, | |
}; | |
// GR32_ABCD_and_GR32_TC Register Class... | |
const MCPhysReg GR32_ABCD_and_GR32_TC[] = { | |
X86::EAX, X86::ECX, X86::EDX, | |
}; | |
// GR32_ABCD_and_GR32_TC Bit set. | |
const uint8_t GR32_ABCD_and_GR32_TCBits[] = { | |
0x00, 0x00, 0x40, 0x0a, | |
}; | |
// GR32_AD Register Class... | |
const MCPhysReg GR32_AD[] = { | |
X86::EAX, X86::EDX, | |
}; | |
// GR32_AD Bit set. | |
const uint8_t GR32_ADBits[] = { | |
0x00, 0x00, 0x40, 0x08, | |
}; | |
// GR32_ArgRef Register Class... | |
const MCPhysReg GR32_ArgRef[] = { | |
X86::ECX, X86::EDX, | |
}; | |
// GR32_ArgRef Bit set. | |
const uint8_t GR32_ArgRefBits[] = { | |
0x00, 0x00, 0x00, 0x0a, | |
}; | |
// GR32_BPSP Register Class... | |
const MCPhysReg GR32_BPSP[] = { | |
X86::EBP, X86::ESP, | |
}; | |
// GR32_BPSP Bit set. | |
const uint8_t GR32_BPSPBits[] = { | |
0x00, 0x00, 0x80, 0x00, 0x02, | |
}; | |
// GR32_BSI Register Class... | |
const MCPhysReg GR32_BSI[] = { | |
X86::EBX, X86::ESI, | |
}; | |
// GR32_BSI Bit set. | |
const uint8_t GR32_BSIBits[] = { | |
0x00, 0x00, 0x00, 0x01, 0x01, | |
}; | |
// GR32_CB Register Class... | |
const MCPhysReg GR32_CB[] = { | |
X86::ECX, X86::EBX, | |
}; | |
// GR32_CB Bit set. | |
const uint8_t GR32_CBBits[] = { | |
0x00, 0x00, 0x00, 0x03, | |
}; | |
// GR32_DC Register Class... | |
const MCPhysReg GR32_DC[] = { | |
X86::EDX, X86::ECX, | |
}; | |
// GR32_DC Bit set. | |
const uint8_t GR32_DCBits[] = { | |
0x00, 0x00, 0x00, 0x0a, | |
}; | |
// GR32_DIBP Register Class... | |
const MCPhysReg GR32_DIBP[] = { | |
X86::EDI, X86::EBP, | |
}; | |
// GR32_DIBP Bit set. | |
const uint8_t GR32_DIBPBits[] = { | |
0x00, 0x00, 0x80, 0x04, | |
}; | |
// GR32_SIDI Register Class... | |
const MCPhysReg GR32_SIDI[] = { | |
X86::ESI, X86::EDI, | |
}; | |
// GR32_SIDI Bit set. | |
const uint8_t GR32_SIDIBits[] = { | |
0x00, 0x00, 0x00, 0x04, 0x01, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_32bit Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS_RBP_with_sub_32bit[] = { | |
X86::RIP, X86::RBP, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_32bit Bit set. | |
const uint8_t LOW32_ADDR_ACCESS_RBP_with_sub_32bitBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, | |
}; | |
// CCR Register Class... | |
const MCPhysReg CCR[] = { | |
X86::EFLAGS, | |
}; | |
// CCR Bit set. | |
const uint8_t CCRBits[] = { | |
0x00, 0x00, 0x00, 0x10, | |
}; | |
// DFCCR Register Class... | |
const MCPhysReg DFCCR[] = { | |
X86::DF, | |
}; | |
// DFCCR Bit set. | |
const uint8_t DFCCRBits[] = { | |
0x00, 0x40, | |
}; | |
// GR32_ABCD_and_GR32_BSI Register Class... | |
const MCPhysReg GR32_ABCD_and_GR32_BSI[] = { | |
X86::EBX, | |
}; | |
// GR32_ABCD_and_GR32_BSI Bit set. | |
const uint8_t GR32_ABCD_and_GR32_BSIBits[] = { | |
0x00, 0x00, 0x00, 0x01, | |
}; | |
// GR32_AD_and_GR32_ArgRef Register Class... | |
const MCPhysReg GR32_AD_and_GR32_ArgRef[] = { | |
X86::EDX, | |
}; | |
// GR32_AD_and_GR32_ArgRef Bit set. | |
const uint8_t GR32_AD_and_GR32_ArgRefBits[] = { | |
0x00, 0x00, 0x00, 0x08, | |
}; | |
// GR32_ArgRef_and_GR32_CB Register Class... | |
const MCPhysReg GR32_ArgRef_and_GR32_CB[] = { | |
X86::ECX, | |
}; | |
// GR32_ArgRef_and_GR32_CB Bit set. | |
const uint8_t GR32_ArgRef_and_GR32_CBBits[] = { | |
0x00, 0x00, 0x00, 0x02, | |
}; | |
// GR32_BPSP_and_GR32_DIBP Register Class... | |
const MCPhysReg GR32_BPSP_and_GR32_DIBP[] = { | |
X86::EBP, | |
}; | |
// GR32_BPSP_and_GR32_DIBP Bit set. | |
const uint8_t GR32_BPSP_and_GR32_DIBPBits[] = { | |
0x00, 0x00, 0x80, | |
}; | |
// GR32_BPSP_and_GR32_TC Register Class... | |
const MCPhysReg GR32_BPSP_and_GR32_TC[] = { | |
X86::ESP, | |
}; | |
// GR32_BPSP_and_GR32_TC Bit set. | |
const uint8_t GR32_BPSP_and_GR32_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x02, | |
}; | |
// GR32_BSI_and_GR32_SIDI Register Class... | |
const MCPhysReg GR32_BSI_and_GR32_SIDI[] = { | |
X86::ESI, | |
}; | |
// GR32_BSI_and_GR32_SIDI Bit set. | |
const uint8_t GR32_BSI_and_GR32_SIDIBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x01, | |
}; | |
// GR32_DIBP_and_GR32_SIDI Register Class... | |
const MCPhysReg GR32_DIBP_and_GR32_SIDI[] = { | |
X86::EDI, | |
}; | |
// GR32_DIBP_and_GR32_SIDI Bit set. | |
const uint8_t GR32_DIBP_and_GR32_SIDIBits[] = { | |
0x00, 0x00, 0x00, 0x04, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit[] = { | |
X86::RBP, | |
}; | |
// LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit Bit set. | |
const uint8_t LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, | |
}; | |
// LOW32_ADDR_ACCESS_with_sub_32bit Register Class... | |
const MCPhysReg LOW32_ADDR_ACCESS_with_sub_32bit[] = { | |
X86::RIP, | |
}; | |
// LOW32_ADDR_ACCESS_with_sub_32bit Bit set. | |
const uint8_t LOW32_ADDR_ACCESS_with_sub_32bitBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, | |
}; | |
// RFP64 Register Class... | |
const MCPhysReg RFP64[] = { | |
X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, | |
}; | |
// RFP64 Bit set. | |
const uint8_t RFP64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, | |
}; | |
// GR64 Register Class... | |
const MCPhysReg GR64[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R16, X86::R17, X86::R18, X86::R19, X86::R22, X86::R23, X86::R24, X86::R25, X86::R26, X86::R27, X86::R30, X86::R31, X86::RBX, X86::R14, X86::R15, X86::R12, X86::R13, X86::R20, X86::R21, X86::R28, X86::R29, X86::RBP, X86::RSP, X86::RIP, | |
}; | |
// GR64 Bit set. | |
const uint8_t GR64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// FR64X Register Class... | |
const MCPhysReg FR64X[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, X86::XMM16, X86::XMM17, X86::XMM18, X86::XMM19, X86::XMM20, X86::XMM21, X86::XMM22, X86::XMM23, X86::XMM24, X86::XMM25, X86::XMM26, X86::XMM27, X86::XMM28, X86::XMM29, X86::XMM30, X86::XMM31, | |
}; | |
// FR64X Bit set. | |
const uint8_t FR64XBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// GR64_with_sub_8bit Register Class... | |
const MCPhysReg GR64_with_sub_8bit[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R16, X86::R17, X86::R18, X86::R19, X86::R22, X86::R23, X86::R24, X86::R25, X86::R26, X86::R27, X86::R30, X86::R31, X86::RBX, X86::R14, X86::R15, X86::R12, X86::R13, X86::R20, X86::R21, X86::R28, X86::R29, X86::RBP, X86::RSP, | |
}; | |
// GR64_with_sub_8bit Bit set. | |
const uint8_t GR64_with_sub_8bitBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// GR64_NOSP Register Class... | |
const MCPhysReg GR64_NOSP[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R16, X86::R17, X86::R18, X86::R19, X86::R22, X86::R23, X86::R24, X86::R25, X86::R26, X86::R27, X86::R30, X86::R31, X86::RBX, X86::R14, X86::R15, X86::R12, X86::R13, X86::R20, X86::R21, X86::R28, X86::R29, X86::RBP, | |
}; | |
// GR64_NOSP Bit set. | |
const uint8_t GR64_NOSPBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, | |
}; | |
// GR64_NOREX2 Register Class... | |
const MCPhysReg GR64_NOREX2[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::RBX, X86::R14, X86::R15, X86::R12, X86::R13, X86::RBP, X86::RSP, X86::RIP, | |
}; | |
// GR64_NOREX2 Bit set. | |
const uint8_t GR64_NOREX2Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// CONTROL_REG Register Class... | |
const MCPhysReg CONTROL_REG[] = { | |
X86::CR0, X86::CR1, X86::CR2, X86::CR3, X86::CR4, X86::CR5, X86::CR6, X86::CR7, X86::CR8, X86::CR9, X86::CR10, X86::CR11, X86::CR12, X86::CR13, X86::CR14, X86::CR15, | |
}; | |
// CONTROL_REG Bit set. | |
const uint8_t CONTROL_REGBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// FR64 Register Class... | |
const MCPhysReg FR64[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, | |
}; | |
// FR64 Bit set. | |
const uint8_t FR64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// GR64_with_sub_16bit_in_GR16_NOREX2 Register Class... | |
const MCPhysReg GR64_with_sub_16bit_in_GR16_NOREX2[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::RBX, X86::R14, X86::R15, X86::R12, X86::R13, X86::RBP, X86::RSP, | |
}; | |
// GR64_with_sub_16bit_in_GR16_NOREX2 Bit set. | |
const uint8_t GR64_with_sub_16bit_in_GR16_NOREX2Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// GR64_NOREX2_NOSP Register Class... | |
const MCPhysReg GR64_NOREX2_NOSP[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::RBX, X86::R14, X86::R15, X86::R12, X86::R13, X86::RBP, | |
}; | |
// GR64_NOREX2_NOSP Bit set. | |
const uint8_t GR64_NOREX2_NOSPBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// GR64PLTSafe Register Class... | |
const MCPhysReg GR64PLTSafe[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::RBX, X86::R14, X86::R15, X86::R12, X86::R13, X86::RBP, | |
}; | |
// GR64PLTSafe Bit set. | |
const uint8_t GR64PLTSafeBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x79, | |
}; | |
// GR64_TC Register Class... | |
const MCPhysReg GR64_TC[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R11, X86::RIP, X86::RSP, | |
}; | |
// GR64_TC Bit set. | |
const uint8_t GR64_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, | |
}; | |
// GR64_NOREX Register Class... | |
const MCPhysReg GR64_NOREX[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, X86::RSP, X86::RIP, | |
}; | |
// GR64_NOREX Bit set. | |
const uint8_t GR64_NOREXBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x35, | |
}; | |
// GR64_TCW64 Register Class... | |
const MCPhysReg GR64_TCW64[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R10, X86::R11, X86::RIP, X86::RSP, | |
}; | |
// GR64_TCW64 Bit set. | |
const uint8_t GR64_TCW64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// GR64_TC_with_sub_8bit Register Class... | |
const MCPhysReg GR64_TC_with_sub_8bit[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R11, X86::RSP, | |
}; | |
// GR64_TC_with_sub_8bit Bit set. | |
const uint8_t GR64_TC_with_sub_8bitBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, | |
}; | |
// GR64_NOREX2_NOSP_and_GR64_TC Register Class... | |
const MCPhysReg GR64_NOREX2_NOSP_and_GR64_TC[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R11, | |
}; | |
// GR64_NOREX2_NOSP_and_GR64_TC Bit set. | |
const uint8_t GR64_NOREX2_NOSP_and_GR64_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, | |
}; | |
// GR64_TCW64_with_sub_8bit Register Class... | |
const MCPhysReg GR64_TCW64_with_sub_8bit[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R10, X86::R11, X86::RSP, | |
}; | |
// GR64_TCW64_with_sub_8bit Bit set. | |
const uint8_t GR64_TCW64_with_sub_8bitBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// GR64_TC_and_GR64_TCW64 Register Class... | |
const MCPhysReg GR64_TC_and_GR64_TCW64[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R11, X86::RIP, X86::RSP, | |
}; | |
// GR64_TC_and_GR64_TCW64 Bit set. | |
const uint8_t GR64_TC_and_GR64_TCW64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, | |
}; | |
// GR64_with_sub_16bit_in_GR16_NOREX Register Class... | |
const MCPhysReg GR64_with_sub_16bit_in_GR16_NOREX[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, X86::RSP, | |
}; | |
// GR64_with_sub_16bit_in_GR16_NOREX Bit set. | |
const uint8_t GR64_with_sub_16bit_in_GR16_NOREXBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x31, | |
}; | |
// VK64 Register Class... | |
const MCPhysReg VK64[] = { | |
X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK64 Bit set. | |
const uint8_t VK64Bits[] = { | |
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, 0x80, 0x7f, | |
}; | |
// VR64 Register Class... | |
const MCPhysReg VR64[] = { | |
X86::MM0, X86::MM1, X86::MM2, X86::MM3, X86::MM4, X86::MM5, X86::MM6, X86::MM7, | |
}; | |
// VR64 Bit set. | |
const uint8_t VR64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// GR64PLTSafe_and_GR64_TC Register Class... | |
const MCPhysReg GR64PLTSafe_and_GR64_TC[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, | |
}; | |
// GR64PLTSafe_and_GR64_TC Bit set. | |
const uint8_t GR64PLTSafe_and_GR64_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, | |
}; | |
// GR64_NOREX2_NOSP_and_GR64_TCW64 Register Class... | |
const MCPhysReg GR64_NOREX2_NOSP_and_GR64_TCW64[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R10, X86::R11, | |
}; | |
// GR64_NOREX2_NOSP_and_GR64_TCW64 Bit set. | |
const uint8_t GR64_NOREX2_NOSP_and_GR64_TCW64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, | |
}; | |
// GR64_NOREX_NOSP Register Class... | |
const MCPhysReg GR64_NOREX_NOSP[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RBX, X86::RBP, | |
}; | |
// GR64_NOREX_NOSP Bit set. | |
const uint8_t GR64_NOREX_NOSPBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x11, | |
}; | |
// GR64_NOREX_and_GR64_TC Register Class... | |
const MCPhysReg GR64_NOREX_and_GR64_TC[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RSP, X86::RIP, | |
}; | |
// GR64_NOREX_and_GR64_TC Bit set. | |
const uint8_t GR64_NOREX_and_GR64_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x35, | |
}; | |
// GR64_TCW64_and_GR64_TC_with_sub_8bit Register Class... | |
const MCPhysReg GR64_TCW64_and_GR64_TC_with_sub_8bit[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R11, X86::RSP, | |
}; | |
// GR64_TCW64_and_GR64_TC_with_sub_8bit Bit set. | |
const uint8_t GR64_TCW64_and_GR64_TC_with_sub_8bitBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, | |
}; | |
// VK64WM Register Class... | |
const MCPhysReg VK64WM[] = { | |
X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, | |
}; | |
// VK64WM Bit set. | |
const uint8_t VK64WMBits[] = { | |
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, 0x7f, | |
}; | |
// GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 Register Class... | |
const MCPhysReg GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, X86::R11, | |
}; | |
// GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 Bit set. | |
const uint8_t GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, | |
}; | |
// GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX Register Class... | |
const MCPhysReg GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::RSP, | |
}; | |
// GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX Bit set. | |
const uint8_t GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x31, | |
}; | |
// GR64PLTSafe_and_GR64_TCW64 Register Class... | |
const MCPhysReg GR64PLTSafe_and_GR64_TCW64[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::R8, X86::R9, | |
}; | |
// GR64PLTSafe_and_GR64_TCW64 Bit set. | |
const uint8_t GR64PLTSafe_and_GR64_TCW64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, | |
}; | |
// GR64_NOREX_and_GR64PLTSafe_and_GR64_TC Register Class... | |
const MCPhysReg GR64_NOREX_and_GR64PLTSafe_and_GR64_TC[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, | |
}; | |
// GR64_NOREX_and_GR64PLTSafe_and_GR64_TC Bit set. | |
const uint8_t GR64_NOREX_and_GR64PLTSafe_and_GR64_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x11, | |
}; | |
// GR64_NOREX_and_GR64_TCW64 Register Class... | |
const MCPhysReg GR64_NOREX_and_GR64_TCW64[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSP, X86::RIP, | |
}; | |
// GR64_NOREX_and_GR64_TCW64 Bit set. | |
const uint8_t GR64_NOREX_and_GR64_TCW64Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x25, | |
}; | |
// GR64_ABCD Register Class... | |
const MCPhysReg GR64_ABCD[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RBX, | |
}; | |
// GR64_ABCD Bit set. | |
const uint8_t GR64_ABCDBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x01, | |
}; | |
// GR64_with_sub_32bit_in_GR32_TC Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_TC[] = { | |
X86::RAX, X86::RCX, X86::RDX, X86::RSP, | |
}; | |
// GR64_with_sub_32bit_in_GR32_TC Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x21, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC[] = { | |
X86::RAX, X86::RCX, X86::RDX, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, | |
}; | |
// GR64_AD Register Class... | |
const MCPhysReg GR64_AD[] = { | |
X86::RAX, X86::RDX, | |
}; | |
// GR64_AD Bit set. | |
const uint8_t GR64_ADBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, | |
}; | |
// GR64_ArgRef Register Class... | |
const MCPhysReg GR64_ArgRef[] = { | |
X86::R10, X86::R11, | |
}; | |
// GR64_ArgRef Bit set. | |
const uint8_t GR64_ArgRefBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, | |
}; | |
// GR64_and_LOW32_ADDR_ACCESS_RBP Register Class... | |
const MCPhysReg GR64_and_LOW32_ADDR_ACCESS_RBP[] = { | |
X86::RBP, X86::RIP, | |
}; | |
// GR64_and_LOW32_ADDR_ACCESS_RBP Bit set. | |
const uint8_t GR64_and_LOW32_ADDR_ACCESS_RBPBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ArgRef Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_ArgRef[] = { | |
X86::RCX, X86::RDX, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ArgRef Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_ArgRefBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BPSP Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_BPSP[] = { | |
X86::RBP, X86::RSP, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BPSP Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_BPSPBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BSI Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_BSI[] = { | |
X86::RSI, X86::RBX, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BSI Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_BSIBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, | |
}; | |
// GR64_with_sub_32bit_in_GR32_CB Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_CB[] = { | |
X86::RCX, X86::RBX, | |
}; | |
// GR64_with_sub_32bit_in_GR32_CB Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_CBBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, | |
}; | |
// GR64_with_sub_32bit_in_GR32_DIBP Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_DIBP[] = { | |
X86::RDI, X86::RBP, | |
}; | |
// GR64_with_sub_32bit_in_GR32_DIBP Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_DIBPBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, | |
}; | |
// GR64_with_sub_32bit_in_GR32_SIDI Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_SIDI[] = { | |
X86::RSI, X86::RDI, | |
}; | |
// GR64_with_sub_32bit_in_GR32_SIDI Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_SIDIBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, | |
}; | |
// GR64_ArgRef_and_GR64_TC Register Class... | |
const MCPhysReg GR64_ArgRef_and_GR64_TC[] = { | |
X86::R11, | |
}; | |
// GR64_ArgRef_and_GR64_TC Bit set. | |
const uint8_t GR64_ArgRef_and_GR64_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, | |
}; | |
// GR64_and_LOW32_ADDR_ACCESS Register Class... | |
const MCPhysReg GR64_and_LOW32_ADDR_ACCESS[] = { | |
X86::RIP, | |
}; | |
// GR64_and_LOW32_ADDR_ACCESS Bit set. | |
const uint8_t GR64_and_LOW32_ADDR_ACCESSBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI[] = { | |
X86::RBX, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, | |
}; | |
// GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef[] = { | |
X86::RDX, | |
}; | |
// GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB[] = { | |
X86::RCX, | |
}; | |
// GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP[] = { | |
X86::RBP, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC[] = { | |
X86::RSP, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI[] = { | |
X86::RSI, | |
}; | |
// GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, | |
}; | |
// GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI Register Class... | |
const MCPhysReg GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI[] = { | |
X86::RDI, | |
}; | |
// GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI Bit set. | |
const uint8_t GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, | |
}; | |
// RST Register Class... | |
const MCPhysReg RST[] = { | |
X86::ST0, X86::ST1, X86::ST2, X86::ST3, X86::ST4, X86::ST5, X86::ST6, X86::ST7, | |
}; | |
// RST Bit set. | |
const uint8_t RSTBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, | |
}; | |
// RFP80 Register Class... | |
const MCPhysReg RFP80[] = { | |
X86::FP0, X86::FP1, X86::FP2, X86::FP3, X86::FP4, X86::FP5, X86::FP6, | |
}; | |
// RFP80 Bit set. | |
const uint8_t RFP80Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, | |
}; | |
// RFP80_7 Register Class... | |
const MCPhysReg RFP80_7[] = { | |
X86::FP7, | |
}; | |
// RFP80_7 Bit set. | |
const uint8_t RFP80_7Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, | |
}; | |
// VR128X Register Class... | |
const MCPhysReg VR128X[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, X86::XMM16, X86::XMM17, X86::XMM18, X86::XMM19, X86::XMM20, X86::XMM21, X86::XMM22, X86::XMM23, X86::XMM24, X86::XMM25, X86::XMM26, X86::XMM27, X86::XMM28, X86::XMM29, X86::XMM30, X86::XMM31, | |
}; | |
// VR128X Bit set. | |
const uint8_t VR128XBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// VR128 Register Class... | |
const MCPhysReg VR128[] = { | |
X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, | |
}; | |
// VR128 Bit set. | |
const uint8_t VR128Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// VR256X Register Class... | |
const MCPhysReg VR256X[] = { | |
X86::YMM0, X86::YMM1, X86::YMM2, X86::YMM3, X86::YMM4, X86::YMM5, X86::YMM6, X86::YMM7, X86::YMM8, X86::YMM9, X86::YMM10, X86::YMM11, X86::YMM12, X86::YMM13, X86::YMM14, X86::YMM15, X86::YMM16, X86::YMM17, X86::YMM18, X86::YMM19, X86::YMM20, X86::YMM21, X86::YMM22, X86::YMM23, X86::YMM24, X86::YMM25, X86::YMM26, X86::YMM27, X86::YMM28, X86::YMM29, X86::YMM30, X86::YMM31, | |
}; | |
// VR256X Bit set. | |
const uint8_t VR256XBits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// VR256 Register Class... | |
const MCPhysReg VR256[] = { | |
X86::YMM0, X86::YMM1, X86::YMM2, X86::YMM3, X86::YMM4, X86::YMM5, X86::YMM6, X86::YMM7, X86::YMM8, X86::YMM9, X86::YMM10, X86::YMM11, X86::YMM12, X86::YMM13, X86::YMM14, X86::YMM15, | |
}; | |
// VR256 Bit set. | |
const uint8_t VR256Bits[] = { | |
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// VR512 Register Class... | |
const MCPhysReg VR512[] = { | |
X86::ZMM0, X86::ZMM1, X86::ZMM2, X86::ZMM3, X86::ZMM4, X86::ZMM5, X86::ZMM6, X86::ZMM7, X86::ZMM8, X86::ZMM9, X86::ZMM10, X86::ZMM11, X86::ZMM12, X86::ZMM13, X86::ZMM14, X86::ZMM15, X86::ZMM16, X86::ZMM17, X86::ZMM18, X86::ZMM19, X86::ZMM20, X86::ZMM21, X86::ZMM22, X86::ZMM23, X86::ZMM24, X86::ZMM25, X86::ZMM26, X86::ZMM27, X86::ZMM28, X86::ZMM29, X86::ZMM30, X86::ZMM31, | |
}; | |
// VR512 Bit set. | |
const uint8_t VR512Bits[] = { | |
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, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f, | |
}; | |
// VR512_0_15 Register Class... | |
const MCPhysReg VR512_0_15[] = { | |
X86::ZMM0, X86::ZMM1, X86::ZMM2, X86::ZMM3, X86::ZMM4, X86::ZMM5, X86::ZMM6, X86::ZMM7, X86::ZMM8, X86::ZMM9, X86::ZMM10, X86::ZMM11, X86::ZMM12, X86::ZMM13, X86::ZMM14, X86::ZMM15, | |
}; | |
// VR512_0_15 Bit set. | |
const uint8_t VR512_0_15Bits[] = { | |
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, 0x00, 0x80, 0xff, 0x7f, | |
}; | |
// TILE Register Class... | |
const MCPhysReg TILE[] = { | |
X86::TMM0, X86::TMM1, X86::TMM2, X86::TMM3, X86::TMM4, X86::TMM5, X86::TMM6, X86::TMM7, | |
}; | |
// TILE Bit set. | |
const uint8_t TILEBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, | |
}; | |
// TILEPAIR Register Class... | |
const MCPhysReg TILEPAIR[] = { | |
X86::TMM0_TMM1, X86::TMM2_TMM3, X86::TMM4_TMM5, X86::TMM6_TMM7, | |
}; | |
// TILEPAIR Bit set. | |
const uint8_t TILEPAIRBits[] = { | |
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, | |
}; | |
} // end anonymous namespace | |
#ifdef __GNUC__ | |
#pragma GCC diagnostic push | |
#pragma GCC diagnostic ignored "-Woverlength-strings" | |
#endif | |
extern const char X86RegClassStrings[] = { | |
/* 0 */ "RFP80\000" | |
/* 6 */ "VK1\000" | |
/* 10 */ "VR512\000" | |
/* 16 */ "VK32\000" | |
/* 21 */ "RFP32\000" | |
/* 27 */ "FR32\000" | |
/* 32 */ "GR32\000" | |
/* 37 */ "VK2\000" | |
/* 41 */ "GR32_NOREX2\000" | |
/* 53 */ "GR64_NOREX2\000" | |
/* 65 */ "GR64_with_sub_16bit_in_GR16_NOREX2\000" | |
/* 100 */ "LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2\000" | |
/* 152 */ "GR8_NOREX2\000" | |
/* 163 */ "VK64\000" | |
/* 168 */ "RFP64\000" | |
/* 174 */ "FR64\000" | |
/* 179 */ "GR64\000" | |
/* 184 */ "VR64\000" | |
/* 189 */ "GR64_TC_and_GR64_TCW64\000" | |
/* 212 */ "GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64\000" | |
/* 256 */ "GR64_NOREX_and_GR64_TCW64\000" | |
/* 282 */ "GR64PLTSafe_and_GR64_TCW64\000" | |
/* 309 */ "VK4\000" | |
/* 313 */ "VR512_0_15\000" | |
/* 324 */ "GRH16\000" | |
/* 330 */ "VK16\000" | |
/* 335 */ "FR16\000" | |
/* 340 */ "GR16\000" | |
/* 345 */ "VR256\000" | |
/* 351 */ "RFP80_7\000" | |
/* 359 */ "VR128\000" | |
/* 365 */ "GRH8\000" | |
/* 370 */ "VK8\000" | |
/* 374 */ "GR8\000" | |
/* 378 */ "GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB\000" | |
/* 425 */ "GR64_with_sub_32bit_in_GR32_CB\000" | |
/* 456 */ "GR32_DC\000" | |
/* 464 */ "GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC\000" | |
/* 509 */ "GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC\000" | |
/* 554 */ "GR64_with_sub_32bit_in_GR32_TC\000" | |
/* 585 */ "GR64_NOREX2_NOSP_and_GR64_TC\000" | |
/* 614 */ "GR64_NOREX_and_GR64_TC\000" | |
/* 637 */ "GR64_NOREX_and_GR64PLTSafe_and_GR64_TC\000" | |
/* 676 */ "GR64_ArgRef_and_GR64_TC\000" | |
/* 700 */ "GR32_AD\000" | |
/* 708 */ "GR64_AD\000" | |
/* 716 */ "GR32_ABCD\000" | |
/* 726 */ "GR64_ABCD\000" | |
/* 736 */ "GR16_ABCD\000" | |
/* 746 */ "TILE\000" | |
/* 751 */ "DEBUG_REG\000" | |
/* 761 */ "CONTROL_REG\000" | |
/* 773 */ "SEGMENT_REG\000" | |
/* 785 */ "GR8_ABCD_H\000" | |
/* 796 */ "GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI\000" | |
/* 842 */ "GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI\000" | |
/* 889 */ "GR64_with_sub_32bit_in_GR32_SIDI\000" | |
/* 922 */ "GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI\000" | |
/* 968 */ "GR64_with_sub_32bit_in_GR32_BSI\000" | |
/* 1000 */ "GR8_ABCD_L\000" | |
/* 1011 */ "VK1PAIR_with_sub_mask_0_in_VK1WM\000" | |
/* 1044 */ "VK32WM\000" | |
/* 1051 */ "VK2WM\000" | |
/* 1057 */ "VK64WM\000" | |
/* 1064 */ "VK4WM\000" | |
/* 1070 */ "VK16WM\000" | |
/* 1077 */ "VK8WM\000" | |
/* 1083 */ "GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP\000" | |
/* 1130 */ "GR64_with_sub_32bit_in_GR32_DIBP\000" | |
/* 1163 */ "GR64_and_LOW32_ADDR_ACCESS_RBP\000" | |
/* 1194 */ "GR32_NOSP\000" | |
/* 1204 */ "GR32_NOREX2_NOSP\000" | |
/* 1221 */ "GR64_NOREX2_NOSP\000" | |
/* 1238 */ "GR64_NOSP\000" | |
/* 1248 */ "GR32_NOREX_NOSP\000" | |
/* 1264 */ "GR64_NOREX_NOSP\000" | |
/* 1280 */ "GR64_with_sub_32bit_in_GR32_BPSP\000" | |
/* 1313 */ "DFCCR\000" | |
/* 1319 */ "FPCCR\000" | |
/* 1325 */ "VK1PAIR\000" | |
/* 1333 */ "VK2PAIR\000" | |
/* 1341 */ "VK4PAIR\000" | |
/* 1349 */ "VK16PAIR\000" | |
/* 1358 */ "VK8PAIR\000" | |
/* 1366 */ "TILEPAIR\000" | |
/* 1375 */ "GR64_and_LOW32_ADDR_ACCESS\000" | |
/* 1402 */ "RST\000" | |
/* 1406 */ "FR32X\000" | |
/* 1412 */ "FR64X\000" | |
/* 1418 */ "FR16X\000" | |
/* 1424 */ "VR256X\000" | |
/* 1431 */ "VR128X\000" | |
/* 1438 */ "GR32_NOREX\000" | |
/* 1449 */ "GR64_NOREX\000" | |
/* 1460 */ "GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX\000" | |
/* 1506 */ "LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX\000" | |
/* 1557 */ "GR8_NOREX\000" | |
/* 1567 */ "GR64PLTSafe\000" | |
/* 1579 */ "GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef\000" | |
/* 1626 */ "GR64_with_sub_32bit_in_GR32_ArgRef\000" | |
/* 1661 */ "GR64_ArgRef\000" | |
/* 1673 */ "LOW32_ADDR_ACCESS_RBP_with_sub_32bit\000" | |
/* 1710 */ "LOW32_ADDR_ACCESS_with_sub_32bit\000" | |
/* 1743 */ "LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit\000" | |
/* 1794 */ "GR64_with_sub_8bit\000" | |
/* 1813 */ "GR64_TCW64_with_sub_8bit\000" | |
/* 1838 */ "GR64_TCW64_and_GR64_TC_with_sub_8bit\000" | |
/* 1875 */ "LOW32_ADDR_ACCESS_RBP_with_sub_8bit\000" | |
}; | |
#ifdef __GNUC__ | |
#pragma GCC diagnostic pop | |
#endif | |
extern const MCRegisterClass X86MCRegisterClasses[] = { | |
{ GR8, GR8Bits, 374, 36, sizeof(GR8Bits), X86::GR8RegClassID, 8, 1, true, false }, | |
{ GRH8, GRH8Bits, 365, 28, sizeof(GRH8Bits), X86::GRH8RegClassID, 8, 1, false, false }, | |
{ GR8_NOREX2, GR8_NOREX2Bits, 152, 20, sizeof(GR8_NOREX2Bits), X86::GR8_NOREX2RegClassID, 8, 1, true, false }, | |
{ GR8_NOREX, GR8_NOREXBits, 1557, 8, sizeof(GR8_NOREXBits), X86::GR8_NOREXRegClassID, 8, 1, true, false }, | |
{ GR8_ABCD_H, GR8_ABCD_HBits, 785, 4, sizeof(GR8_ABCD_HBits), X86::GR8_ABCD_HRegClassID, 8, 1, true, false }, | |
{ GR8_ABCD_L, GR8_ABCD_LBits, 1000, 4, sizeof(GR8_ABCD_LBits), X86::GR8_ABCD_LRegClassID, 8, 1, true, false }, | |
{ GRH16, GRH16Bits, 324, 33, sizeof(GRH16Bits), X86::GRH16RegClassID, 16, 1, false, false }, | |
{ GR16, GR16Bits, 340, 32, sizeof(GR16Bits), X86::GR16RegClassID, 16, 1, true, false }, | |
{ GR16_NOREX2, GR16_NOREX2Bits, 88, 16, sizeof(GR16_NOREX2Bits), X86::GR16_NOREX2RegClassID, 16, 1, true, false }, | |
{ GR16_NOREX, GR16_NOREXBits, 1495, 8, sizeof(GR16_NOREXBits), X86::GR16_NOREXRegClassID, 16, 1, true, false }, | |
{ VK1, VK1Bits, 6, 8, sizeof(VK1Bits), X86::VK1RegClassID, 16, 1, true, false }, | |
{ VK16, VK16Bits, 330, 8, sizeof(VK16Bits), X86::VK16RegClassID, 16, 1, true, false }, | |
{ VK2, VK2Bits, 37, 8, sizeof(VK2Bits), X86::VK2RegClassID, 16, 1, true, false }, | |
{ VK4, VK4Bits, 309, 8, sizeof(VK4Bits), X86::VK4RegClassID, 16, 1, true, false }, | |
{ VK8, VK8Bits, 370, 8, sizeof(VK8Bits), X86::VK8RegClassID, 16, 1, true, false }, | |
{ VK16WM, VK16WMBits, 1070, 7, sizeof(VK16WMBits), X86::VK16WMRegClassID, 16, 1, true, false }, | |
{ VK1WM, VK1WMBits, 1038, 7, sizeof(VK1WMBits), X86::VK1WMRegClassID, 16, 1, true, false }, | |
{ VK2WM, VK2WMBits, 1051, 7, sizeof(VK2WMBits), X86::VK2WMRegClassID, 16, 1, true, false }, | |
{ VK4WM, VK4WMBits, 1064, 7, sizeof(VK4WMBits), X86::VK4WMRegClassID, 16, 1, true, false }, | |
{ VK8WM, VK8WMBits, 1077, 7, sizeof(VK8WMBits), X86::VK8WMRegClassID, 16, 1, true, false }, | |
{ SEGMENT_REG, SEGMENT_REGBits, 773, 6, sizeof(SEGMENT_REGBits), X86::SEGMENT_REGRegClassID, 16, 1, true, false }, | |
{ GR16_ABCD, GR16_ABCDBits, 736, 4, sizeof(GR16_ABCDBits), X86::GR16_ABCDRegClassID, 16, 1, true, false }, | |
{ FPCCR, FPCCRBits, 1319, 1, sizeof(FPCCRBits), X86::FPCCRRegClassID, 16, -1, false, false }, | |
{ FR16X, FR16XBits, 1418, 32, sizeof(FR16XBits), X86::FR16XRegClassID, 32, 1, true, false }, | |
{ FR16, FR16Bits, 335, 16, sizeof(FR16Bits), X86::FR16RegClassID, 32, 1, true, false }, | |
{ VK16PAIR, VK16PAIRBits, 1349, 4, sizeof(VK16PAIRBits), X86::VK16PAIRRegClassID, 32, 1, true, false }, | |
{ VK1PAIR, VK1PAIRBits, 1325, 4, sizeof(VK1PAIRBits), X86::VK1PAIRRegClassID, 32, 1, true, false }, | |
{ VK2PAIR, VK2PAIRBits, 1333, 4, sizeof(VK2PAIRBits), X86::VK2PAIRRegClassID, 32, 1, true, false }, | |
{ VK4PAIR, VK4PAIRBits, 1341, 4, sizeof(VK4PAIRBits), X86::VK4PAIRRegClassID, 32, 1, true, false }, | |
{ VK8PAIR, VK8PAIRBits, 1358, 4, sizeof(VK8PAIRBits), X86::VK8PAIRRegClassID, 32, 1, true, false }, | |
{ VK1PAIR_with_sub_mask_0_in_VK1WM, VK1PAIR_with_sub_mask_0_in_VK1WMBits, 1011, 3, sizeof(VK1PAIR_with_sub_mask_0_in_VK1WMBits), X86::VK1PAIR_with_sub_mask_0_in_VK1WMRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS_RBP, LOW32_ADDR_ACCESS_RBPBits, 1172, 34, sizeof(LOW32_ADDR_ACCESS_RBPBits), X86::LOW32_ADDR_ACCESS_RBPRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS, LOW32_ADDR_ACCESSBits, 1384, 33, sizeof(LOW32_ADDR_ACCESSBits), X86::LOW32_ADDR_ACCESSRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS_RBP_with_sub_8bit, LOW32_ADDR_ACCESS_RBP_with_sub_8bitBits, 1875, 33, sizeof(LOW32_ADDR_ACCESS_RBP_with_sub_8bitBits), X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, 32, 1, true, false }, | |
{ FR32X, FR32XBits, 1406, 32, sizeof(FR32XBits), X86::FR32XRegClassID, 32, 1, true, false }, | |
{ GR32, GR32Bits, 32, 32, sizeof(GR32Bits), X86::GR32RegClassID, 32, 1, true, false }, | |
{ GR32_NOSP, GR32_NOSPBits, 1194, 31, sizeof(GR32_NOSPBits), X86::GR32_NOSPRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2, LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2Bits, 100, 17, sizeof(LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2Bits), X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, 32, 1, true, false }, | |
{ DEBUG_REG, DEBUG_REGBits, 751, 16, sizeof(DEBUG_REGBits), X86::DEBUG_REGRegClassID, 32, 1, true, false }, | |
{ FR32, FR32Bits, 27, 16, sizeof(FR32Bits), X86::FR32RegClassID, 32, 1, true, false }, | |
{ GR32_NOREX2, GR32_NOREX2Bits, 41, 16, sizeof(GR32_NOREX2Bits), X86::GR32_NOREX2RegClassID, 32, 1, true, false }, | |
{ GR32_NOREX2_NOSP, GR32_NOREX2_NOSPBits, 1204, 15, sizeof(GR32_NOREX2_NOSPBits), X86::GR32_NOREX2_NOSPRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX, LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXBits, 1506, 9, sizeof(LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXBits), X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, 32, 1, true, false }, | |
{ GR32_NOREX, GR32_NOREXBits, 1438, 8, sizeof(GR32_NOREXBits), X86::GR32_NOREXRegClassID, 32, 1, true, false }, | |
{ VK32, VK32Bits, 16, 8, sizeof(VK32Bits), X86::VK32RegClassID, 32, 1, true, false }, | |
{ GR32_NOREX_NOSP, GR32_NOREX_NOSPBits, 1248, 7, sizeof(GR32_NOREX_NOSPBits), X86::GR32_NOREX_NOSPRegClassID, 32, 1, true, false }, | |
{ RFP32, RFP32Bits, 21, 7, sizeof(RFP32Bits), X86::RFP32RegClassID, 32, 1, true, false }, | |
{ VK32WM, VK32WMBits, 1044, 7, sizeof(VK32WMBits), X86::VK32WMRegClassID, 32, 1, true, false }, | |
{ GR32_ABCD, GR32_ABCDBits, 716, 4, sizeof(GR32_ABCDBits), X86::GR32_ABCDRegClassID, 32, 1, true, false }, | |
{ GR32_TC, GR32_TCBits, 501, 4, sizeof(GR32_TCBits), X86::GR32_TCRegClassID, 32, 1, true, false }, | |
{ GR32_ABCD_and_GR32_TC, GR32_ABCD_and_GR32_TCBits, 487, 3, sizeof(GR32_ABCD_and_GR32_TCBits), X86::GR32_ABCD_and_GR32_TCRegClassID, 32, 1, true, false }, | |
{ GR32_AD, GR32_ADBits, 700, 2, sizeof(GR32_ADBits), X86::GR32_ADRegClassID, 32, 1, true, false }, | |
{ GR32_ArgRef, GR32_ArgRefBits, 1614, 2, sizeof(GR32_ArgRefBits), X86::GR32_ArgRefRegClassID, 32, 1, true, false }, | |
{ GR32_BPSP, GR32_BPSPBits, 1303, 2, sizeof(GR32_BPSPBits), X86::GR32_BPSPRegClassID, 32, 1, true, false }, | |
{ GR32_BSI, GR32_BSIBits, 959, 2, sizeof(GR32_BSIBits), X86::GR32_BSIRegClassID, 32, 1, true, false }, | |
{ GR32_CB, GR32_CBBits, 417, 2, sizeof(GR32_CBBits), X86::GR32_CBRegClassID, 32, 1, true, false }, | |
{ GR32_DC, GR32_DCBits, 456, 2, sizeof(GR32_DCBits), X86::GR32_DCRegClassID, 32, 1, true, false }, | |
{ GR32_DIBP, GR32_DIBPBits, 1120, 2, sizeof(GR32_DIBPBits), X86::GR32_DIBPRegClassID, 32, 1, true, false }, | |
{ GR32_SIDI, GR32_SIDIBits, 832, 2, sizeof(GR32_SIDIBits), X86::GR32_SIDIRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS_RBP_with_sub_32bit, LOW32_ADDR_ACCESS_RBP_with_sub_32bitBits, 1673, 2, sizeof(LOW32_ADDR_ACCESS_RBP_with_sub_32bitBits), X86::LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID, 32, 1, true, false }, | |
{ CCR, CCRBits, 1315, 1, sizeof(CCRBits), X86::CCRRegClassID, 32, -1, false, false }, | |
{ DFCCR, DFCCRBits, 1313, 1, sizeof(DFCCRBits), X86::DFCCRRegClassID, 32, -1, false, false }, | |
{ GR32_ABCD_and_GR32_BSI, GR32_ABCD_and_GR32_BSIBits, 945, 1, sizeof(GR32_ABCD_and_GR32_BSIBits), X86::GR32_ABCD_and_GR32_BSIRegClassID, 32, 1, true, false }, | |
{ GR32_AD_and_GR32_ArgRef, GR32_AD_and_GR32_ArgRefBits, 1602, 1, sizeof(GR32_AD_and_GR32_ArgRefBits), X86::GR32_AD_and_GR32_ArgRefRegClassID, 32, 1, true, false }, | |
{ GR32_ArgRef_and_GR32_CB, GR32_ArgRef_and_GR32_CBBits, 401, 1, sizeof(GR32_ArgRef_and_GR32_CBBits), X86::GR32_ArgRef_and_GR32_CBRegClassID, 32, 1, true, false }, | |
{ GR32_BPSP_and_GR32_DIBP, GR32_BPSP_and_GR32_DIBPBits, 1106, 1, sizeof(GR32_BPSP_and_GR32_DIBPBits), X86::GR32_BPSP_and_GR32_DIBPRegClassID, 32, 1, true, false }, | |
{ GR32_BPSP_and_GR32_TC, GR32_BPSP_and_GR32_TCBits, 532, 1, sizeof(GR32_BPSP_and_GR32_TCBits), X86::GR32_BPSP_and_GR32_TCRegClassID, 32, 1, true, false }, | |
{ GR32_BSI_and_GR32_SIDI, GR32_BSI_and_GR32_SIDIBits, 819, 1, sizeof(GR32_BSI_and_GR32_SIDIBits), X86::GR32_BSI_and_GR32_SIDIRegClassID, 32, 1, true, false }, | |
{ GR32_DIBP_and_GR32_SIDI, GR32_DIBP_and_GR32_SIDIBits, 865, 1, sizeof(GR32_DIBP_and_GR32_SIDIBits), X86::GR32_DIBP_and_GR32_SIDIRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit, LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitBits, 1743, 1, sizeof(LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitBits), X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitRegClassID, 32, 1, true, false }, | |
{ LOW32_ADDR_ACCESS_with_sub_32bit, LOW32_ADDR_ACCESS_with_sub_32bitBits, 1710, 1, sizeof(LOW32_ADDR_ACCESS_with_sub_32bitBits), X86::LOW32_ADDR_ACCESS_with_sub_32bitRegClassID, 32, 1, true, false }, | |
{ RFP64, RFP64Bits, 168, 7, sizeof(RFP64Bits), X86::RFP64RegClassID, 64, 1, true, false }, | |
{ GR64, GR64Bits, 179, 33, sizeof(GR64Bits), X86::GR64RegClassID, 64, 1, true, false }, | |
{ FR64X, FR64XBits, 1412, 32, sizeof(FR64XBits), X86::FR64XRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_8bit, GR64_with_sub_8bitBits, 1794, 32, sizeof(GR64_with_sub_8bitBits), X86::GR64_with_sub_8bitRegClassID, 64, 1, true, false }, | |
{ GR64_NOSP, GR64_NOSPBits, 1238, 31, sizeof(GR64_NOSPBits), X86::GR64_NOSPRegClassID, 64, 1, true, false }, | |
{ GR64_NOREX2, GR64_NOREX2Bits, 53, 17, sizeof(GR64_NOREX2Bits), X86::GR64_NOREX2RegClassID, 64, 1, true, false }, | |
{ CONTROL_REG, CONTROL_REGBits, 761, 16, sizeof(CONTROL_REGBits), X86::CONTROL_REGRegClassID, 64, 1, true, false }, | |
{ FR64, FR64Bits, 174, 16, sizeof(FR64Bits), X86::FR64RegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_16bit_in_GR16_NOREX2, GR64_with_sub_16bit_in_GR16_NOREX2Bits, 65, 16, sizeof(GR64_with_sub_16bit_in_GR16_NOREX2Bits), X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, 64, 1, true, false }, | |
{ GR64_NOREX2_NOSP, GR64_NOREX2_NOSPBits, 1221, 15, sizeof(GR64_NOREX2_NOSPBits), X86::GR64_NOREX2_NOSPRegClassID, 64, 1, true, false }, | |
{ GR64PLTSafe, GR64PLTSafeBits, 1567, 13, sizeof(GR64PLTSafeBits), X86::GR64PLTSafeRegClassID, 64, 1, true, false }, | |
{ GR64_TC, GR64_TCBits, 606, 10, sizeof(GR64_TCBits), X86::GR64_TCRegClassID, 64, 1, true, false }, | |
{ GR64_NOREX, GR64_NOREXBits, 1449, 9, sizeof(GR64_NOREXBits), X86::GR64_NOREXRegClassID, 64, 1, true, false }, | |
{ GR64_TCW64, GR64_TCW64Bits, 201, 9, sizeof(GR64_TCW64Bits), X86::GR64_TCW64RegClassID, 64, 1, true, false }, | |
{ GR64_TC_with_sub_8bit, GR64_TC_with_sub_8bitBits, 1853, 9, sizeof(GR64_TC_with_sub_8bitBits), X86::GR64_TC_with_sub_8bitRegClassID, 64, 1, true, false }, | |
{ GR64_NOREX2_NOSP_and_GR64_TC, GR64_NOREX2_NOSP_and_GR64_TCBits, 585, 8, sizeof(GR64_NOREX2_NOSP_and_GR64_TCBits), X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, 64, 1, true, false }, | |
{ GR64_TCW64_with_sub_8bit, GR64_TCW64_with_sub_8bitBits, 1813, 8, sizeof(GR64_TCW64_with_sub_8bitBits), X86::GR64_TCW64_with_sub_8bitRegClassID, 64, 1, true, false }, | |
{ GR64_TC_and_GR64_TCW64, GR64_TC_and_GR64_TCW64Bits, 189, 8, sizeof(GR64_TC_and_GR64_TCW64Bits), X86::GR64_TC_and_GR64_TCW64RegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_16bit_in_GR16_NOREX, GR64_with_sub_16bit_in_GR16_NOREXBits, 1472, 8, sizeof(GR64_with_sub_16bit_in_GR16_NOREXBits), X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, 64, 1, true, false }, | |
{ VK64, VK64Bits, 163, 8, sizeof(VK64Bits), X86::VK64RegClassID, 64, 1, true, false }, | |
{ VR64, VR64Bits, 184, 8, sizeof(VR64Bits), X86::VR64RegClassID, 64, 1, true, false }, | |
{ GR64PLTSafe_and_GR64_TC, GR64PLTSafe_and_GR64_TCBits, 652, 7, sizeof(GR64PLTSafe_and_GR64_TCBits), X86::GR64PLTSafe_and_GR64_TCRegClassID, 64, 1, true, false }, | |
{ GR64_NOREX2_NOSP_and_GR64_TCW64, GR64_NOREX2_NOSP_and_GR64_TCW64Bits, 224, 7, sizeof(GR64_NOREX2_NOSP_and_GR64_TCW64Bits), X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, 64, 1, true, false }, | |
{ GR64_NOREX_NOSP, GR64_NOREX_NOSPBits, 1264, 7, sizeof(GR64_NOREX_NOSPBits), X86::GR64_NOREX_NOSPRegClassID, 64, 1, true, false }, | |
{ GR64_NOREX_and_GR64_TC, GR64_NOREX_and_GR64_TCBits, 614, 7, sizeof(GR64_NOREX_and_GR64_TCBits), X86::GR64_NOREX_and_GR64_TCRegClassID, 64, 1, true, false }, | |
{ GR64_TCW64_and_GR64_TC_with_sub_8bit, GR64_TCW64_and_GR64_TC_with_sub_8bitBits, 1838, 7, sizeof(GR64_TCW64_and_GR64_TC_with_sub_8bitBits), X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, 64, 1, true, false }, | |
{ VK64WM, VK64WMBits, 1057, 7, sizeof(VK64WMBits), X86::VK64WMRegClassID, 64, 1, true, false }, | |
{ GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64, GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64Bits, 212, 6, sizeof(GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64Bits), X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, 64, 1, true, false }, | |
{ GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX, GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXBits, 1460, 6, sizeof(GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXBits), X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, 64, 1, true, false }, | |
{ GR64PLTSafe_and_GR64_TCW64, GR64PLTSafe_and_GR64_TCW64Bits, 282, 5, sizeof(GR64PLTSafe_and_GR64_TCW64Bits), X86::GR64PLTSafe_and_GR64_TCW64RegClassID, 64, 1, true, false }, | |
{ GR64_NOREX_and_GR64PLTSafe_and_GR64_TC, GR64_NOREX_and_GR64PLTSafe_and_GR64_TCBits, 637, 5, sizeof(GR64_NOREX_and_GR64PLTSafe_and_GR64_TCBits), X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, 64, 1, true, false }, | |
{ GR64_NOREX_and_GR64_TCW64, GR64_NOREX_and_GR64_TCW64Bits, 256, 5, sizeof(GR64_NOREX_and_GR64_TCW64Bits), X86::GR64_NOREX_and_GR64_TCW64RegClassID, 64, 1, true, false }, | |
{ GR64_ABCD, GR64_ABCDBits, 726, 4, sizeof(GR64_ABCDBits), X86::GR64_ABCDRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_TC, GR64_with_sub_32bit_in_GR32_TCBits, 554, 4, sizeof(GR64_with_sub_32bit_in_GR32_TCBits), X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC, GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCBits, 464, 3, sizeof(GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCBits), X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClassID, 64, 1, true, false }, | |
{ GR64_AD, GR64_ADBits, 708, 2, sizeof(GR64_ADBits), X86::GR64_ADRegClassID, 64, 1, true, false }, | |
{ GR64_ArgRef, GR64_ArgRefBits, 1661, 2, sizeof(GR64_ArgRefBits), X86::GR64_ArgRefRegClassID, 64, 1, true, false }, | |
{ GR64_and_LOW32_ADDR_ACCESS_RBP, GR64_and_LOW32_ADDR_ACCESS_RBPBits, 1163, 2, sizeof(GR64_and_LOW32_ADDR_ACCESS_RBPBits), X86::GR64_and_LOW32_ADDR_ACCESS_RBPRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_ArgRef, GR64_with_sub_32bit_in_GR32_ArgRefBits, 1626, 2, sizeof(GR64_with_sub_32bit_in_GR32_ArgRefBits), X86::GR64_with_sub_32bit_in_GR32_ArgRefRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_BPSP, GR64_with_sub_32bit_in_GR32_BPSPBits, 1280, 2, sizeof(GR64_with_sub_32bit_in_GR32_BPSPBits), X86::GR64_with_sub_32bit_in_GR32_BPSPRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_BSI, GR64_with_sub_32bit_in_GR32_BSIBits, 968, 2, sizeof(GR64_with_sub_32bit_in_GR32_BSIBits), X86::GR64_with_sub_32bit_in_GR32_BSIRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_CB, GR64_with_sub_32bit_in_GR32_CBBits, 425, 2, sizeof(GR64_with_sub_32bit_in_GR32_CBBits), X86::GR64_with_sub_32bit_in_GR32_CBRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_DIBP, GR64_with_sub_32bit_in_GR32_DIBPBits, 1130, 2, sizeof(GR64_with_sub_32bit_in_GR32_DIBPBits), X86::GR64_with_sub_32bit_in_GR32_DIBPRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_SIDI, GR64_with_sub_32bit_in_GR32_SIDIBits, 889, 2, sizeof(GR64_with_sub_32bit_in_GR32_SIDIBits), X86::GR64_with_sub_32bit_in_GR32_SIDIRegClassID, 64, 1, true, false }, | |
{ GR64_ArgRef_and_GR64_TC, GR64_ArgRef_and_GR64_TCBits, 676, 1, sizeof(GR64_ArgRef_and_GR64_TCBits), X86::GR64_ArgRef_and_GR64_TCRegClassID, 64, 1, true, false }, | |
{ GR64_and_LOW32_ADDR_ACCESS, GR64_and_LOW32_ADDR_ACCESSBits, 1375, 1, sizeof(GR64_and_LOW32_ADDR_ACCESSBits), X86::GR64_and_LOW32_ADDR_ACCESSRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI, GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIBits, 922, 1, sizeof(GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIBits), X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef, GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefBits, 1579, 1, sizeof(GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefBits), X86::GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB, GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBBits, 378, 1, sizeof(GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBBits), X86::GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP, GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPBits, 1083, 1, sizeof(GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPBits), X86::GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC, GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCBits, 509, 1, sizeof(GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCBits), X86::GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI, GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIBits, 796, 1, sizeof(GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIBits), X86::GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIRegClassID, 64, 1, true, false }, | |
{ GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI, GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIBits, 842, 1, sizeof(GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIBits), X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID, 64, 1, true, false }, | |
{ RST, RSTBits, 1402, 8, sizeof(RSTBits), X86::RSTRegClassID, 80, 1, false, false }, | |
{ RFP80, RFP80Bits, 0, 7, sizeof(RFP80Bits), X86::RFP80RegClassID, 80, 1, true, false }, | |
{ RFP80_7, RFP80_7Bits, 351, 1, sizeof(RFP80_7Bits), X86::RFP80_7RegClassID, 80, 1, false, false }, | |
{ VR128X, VR128XBits, 1431, 32, sizeof(VR128XBits), X86::VR128XRegClassID, 128, 1, true, false }, | |
{ VR128, VR128Bits, 359, 16, sizeof(VR128Bits), X86::VR128RegClassID, 128, 1, true, false }, | |
{ VR256X, VR256XBits, 1424, 32, sizeof(VR256XBits), X86::VR256XRegClassID, 256, 1, true, false }, | |
{ VR256, VR256Bits, 345, 16, sizeof(VR256Bits), X86::VR256RegClassID, 256, 1, true, false }, | |
{ VR512, VR512Bits, 10, 32, sizeof(VR512Bits), X86::VR512RegClassID, 512, 1, true, false }, | |
{ VR512_0_15, VR512_0_15Bits, 313, 16, sizeof(VR512_0_15Bits), X86::VR512_0_15RegClassID, 512, 1, true, false }, | |
{ TILE, TILEBits, 746, 8, sizeof(TILEBits), X86::TILERegClassID, 8192, -1, true, false }, | |
{ TILEPAIR, TILEPAIRBits, 1366, 4, sizeof(TILEPAIRBits), X86::TILEPAIRRegClassID, 16384, 1, true, false }, | |
}; | |
// X86 Dwarf<->LLVM register mappings. | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour0Dwarf2L[] = { | |
{ 0U, X86::RAX }, | |
{ 1U, X86::RDX }, | |
{ 2U, X86::RCX }, | |
{ 3U, X86::RBX }, | |
{ 4U, X86::RSI }, | |
{ 5U, X86::RDI }, | |
{ 6U, X86::RBP }, | |
{ 7U, X86::RSP }, | |
{ 8U, X86::R8 }, | |
{ 9U, X86::R9 }, | |
{ 10U, X86::R10 }, | |
{ 11U, X86::R11 }, | |
{ 12U, X86::R12 }, | |
{ 13U, X86::R13 }, | |
{ 14U, X86::R14 }, | |
{ 15U, X86::R15 }, | |
{ 16U, X86::RIP }, | |
{ 17U, X86::XMM0 }, | |
{ 18U, X86::XMM1 }, | |
{ 19U, X86::XMM2 }, | |
{ 20U, X86::XMM3 }, | |
{ 21U, X86::XMM4 }, | |
{ 22U, X86::XMM5 }, | |
{ 23U, X86::XMM6 }, | |
{ 24U, X86::XMM7 }, | |
{ 25U, X86::XMM8 }, | |
{ 26U, X86::XMM9 }, | |
{ 27U, X86::XMM10 }, | |
{ 28U, X86::XMM11 }, | |
{ 29U, X86::XMM12 }, | |
{ 30U, X86::XMM13 }, | |
{ 31U, X86::XMM14 }, | |
{ 32U, X86::XMM15 }, | |
{ 33U, X86::ST0 }, | |
{ 34U, X86::ST1 }, | |
{ 35U, X86::ST2 }, | |
{ 36U, X86::ST3 }, | |
{ 37U, X86::ST4 }, | |
{ 38U, X86::ST5 }, | |
{ 39U, X86::ST6 }, | |
{ 40U, X86::ST7 }, | |
{ 41U, X86::MM0 }, | |
{ 42U, X86::MM1 }, | |
{ 43U, X86::MM2 }, | |
{ 44U, X86::MM3 }, | |
{ 45U, X86::MM4 }, | |
{ 46U, X86::MM5 }, | |
{ 47U, X86::MM6 }, | |
{ 48U, X86::MM7 }, | |
{ 49U, X86::RFLAGS }, | |
{ 50U, X86::ES }, | |
{ 51U, X86::CS }, | |
{ 52U, X86::SS }, | |
{ 53U, X86::DS }, | |
{ 54U, X86::FS }, | |
{ 55U, X86::GS }, | |
{ 58U, X86::FS_BASE }, | |
{ 59U, X86::GS_BASE }, | |
{ 67U, X86::XMM16 }, | |
{ 68U, X86::XMM17 }, | |
{ 69U, X86::XMM18 }, | |
{ 70U, X86::XMM19 }, | |
{ 71U, X86::XMM20 }, | |
{ 72U, X86::XMM21 }, | |
{ 73U, X86::XMM22 }, | |
{ 74U, X86::XMM23 }, | |
{ 75U, X86::XMM24 }, | |
{ 76U, X86::XMM25 }, | |
{ 77U, X86::XMM26 }, | |
{ 78U, X86::XMM27 }, | |
{ 79U, X86::XMM28 }, | |
{ 80U, X86::XMM29 }, | |
{ 81U, X86::XMM30 }, | |
{ 82U, X86::XMM31 }, | |
{ 118U, X86::K0 }, | |
{ 119U, X86::K1 }, | |
{ 120U, X86::K2 }, | |
{ 121U, X86::K3 }, | |
{ 122U, X86::K4 }, | |
{ 123U, X86::K5 }, | |
{ 124U, X86::K6 }, | |
{ 125U, X86::K7 }, | |
{ 130U, X86::R16 }, | |
{ 131U, X86::R17 }, | |
{ 132U, X86::R18 }, | |
{ 133U, X86::R19 }, | |
{ 134U, X86::R20 }, | |
{ 135U, X86::R21 }, | |
{ 136U, X86::R22 }, | |
{ 137U, X86::R23 }, | |
{ 138U, X86::R24 }, | |
{ 139U, X86::R25 }, | |
{ 140U, X86::R26 }, | |
{ 141U, X86::R27 }, | |
{ 142U, X86::R28 }, | |
{ 143U, X86::R29 }, | |
{ 144U, X86::R30 }, | |
{ 145U, X86::R31 }, | |
}; | |
extern const unsigned X86DwarfFlavour0Dwarf2LSize = std::size(X86DwarfFlavour0Dwarf2L); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour1Dwarf2L[] = { | |
{ 0U, X86::EAX }, | |
{ 1U, X86::ECX }, | |
{ 2U, X86::EDX }, | |
{ 3U, X86::EBX }, | |
{ 4U, X86::EBP }, | |
{ 5U, X86::ESP }, | |
{ 6U, X86::ESI }, | |
{ 7U, X86::EDI }, | |
{ 8U, X86::EIP }, | |
{ 9U, X86::EFLAGS }, | |
{ 12U, X86::ST0 }, | |
{ 13U, X86::ST1 }, | |
{ 14U, X86::ST2 }, | |
{ 15U, X86::ST3 }, | |
{ 16U, X86::ST4 }, | |
{ 17U, X86::ST5 }, | |
{ 18U, X86::ST6 }, | |
{ 19U, X86::ST7 }, | |
{ 21U, X86::XMM0 }, | |
{ 22U, X86::XMM1 }, | |
{ 23U, X86::XMM2 }, | |
{ 24U, X86::XMM3 }, | |
{ 25U, X86::XMM4 }, | |
{ 26U, X86::XMM5 }, | |
{ 27U, X86::XMM6 }, | |
{ 28U, X86::XMM7 }, | |
{ 29U, X86::MM0 }, | |
{ 30U, X86::MM1 }, | |
{ 31U, X86::MM2 }, | |
{ 32U, X86::MM3 }, | |
{ 33U, X86::MM4 }, | |
{ 34U, X86::MM5 }, | |
{ 35U, X86::MM6 }, | |
{ 36U, X86::MM7 }, | |
{ 93U, X86::K0 }, | |
{ 94U, X86::K1 }, | |
{ 95U, X86::K2 }, | |
{ 96U, X86::K3 }, | |
{ 97U, X86::K4 }, | |
{ 98U, X86::K5 }, | |
{ 99U, X86::K6 }, | |
{ 100U, X86::K7 }, | |
}; | |
extern const unsigned X86DwarfFlavour1Dwarf2LSize = std::size(X86DwarfFlavour1Dwarf2L); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour2Dwarf2L[] = { | |
{ 0U, X86::EAX }, | |
{ 1U, X86::ECX }, | |
{ 2U, X86::EDX }, | |
{ 3U, X86::EBX }, | |
{ 4U, X86::ESP }, | |
{ 5U, X86::EBP }, | |
{ 6U, X86::ESI }, | |
{ 7U, X86::EDI }, | |
{ 8U, X86::EIP }, | |
{ 9U, X86::EFLAGS }, | |
{ 11U, X86::ST0 }, | |
{ 12U, X86::ST1 }, | |
{ 13U, X86::ST2 }, | |
{ 14U, X86::ST3 }, | |
{ 15U, X86::ST4 }, | |
{ 16U, X86::ST5 }, | |
{ 17U, X86::ST6 }, | |
{ 18U, X86::ST7 }, | |
{ 21U, X86::XMM0 }, | |
{ 22U, X86::XMM1 }, | |
{ 23U, X86::XMM2 }, | |
{ 24U, X86::XMM3 }, | |
{ 25U, X86::XMM4 }, | |
{ 26U, X86::XMM5 }, | |
{ 27U, X86::XMM6 }, | |
{ 28U, X86::XMM7 }, | |
{ 29U, X86::MM0 }, | |
{ 30U, X86::MM1 }, | |
{ 31U, X86::MM2 }, | |
{ 32U, X86::MM3 }, | |
{ 33U, X86::MM4 }, | |
{ 34U, X86::MM5 }, | |
{ 35U, X86::MM6 }, | |
{ 36U, X86::MM7 }, | |
{ 40U, X86::ES }, | |
{ 41U, X86::CS }, | |
{ 42U, X86::SS }, | |
{ 43U, X86::DS }, | |
{ 44U, X86::FS }, | |
{ 45U, X86::GS }, | |
{ 93U, X86::K0 }, | |
{ 94U, X86::K1 }, | |
{ 95U, X86::K2 }, | |
{ 96U, X86::K3 }, | |
{ 97U, X86::K4 }, | |
{ 98U, X86::K5 }, | |
{ 99U, X86::K6 }, | |
{ 100U, X86::K7 }, | |
}; | |
extern const unsigned X86DwarfFlavour2Dwarf2LSize = std::size(X86DwarfFlavour2Dwarf2L); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour0Dwarf2L[] = { | |
{ 0U, X86::RAX }, | |
{ 1U, X86::RDX }, | |
{ 2U, X86::RCX }, | |
{ 3U, X86::RBX }, | |
{ 4U, X86::RSI }, | |
{ 5U, X86::RDI }, | |
{ 6U, X86::RBP }, | |
{ 7U, X86::RSP }, | |
{ 8U, X86::R8 }, | |
{ 9U, X86::R9 }, | |
{ 10U, X86::R10 }, | |
{ 11U, X86::R11 }, | |
{ 12U, X86::R12 }, | |
{ 13U, X86::R13 }, | |
{ 14U, X86::R14 }, | |
{ 15U, X86::R15 }, | |
{ 16U, X86::RIP }, | |
{ 17U, X86::XMM0 }, | |
{ 18U, X86::XMM1 }, | |
{ 19U, X86::XMM2 }, | |
{ 20U, X86::XMM3 }, | |
{ 21U, X86::XMM4 }, | |
{ 22U, X86::XMM5 }, | |
{ 23U, X86::XMM6 }, | |
{ 24U, X86::XMM7 }, | |
{ 25U, X86::XMM8 }, | |
{ 26U, X86::XMM9 }, | |
{ 27U, X86::XMM10 }, | |
{ 28U, X86::XMM11 }, | |
{ 29U, X86::XMM12 }, | |
{ 30U, X86::XMM13 }, | |
{ 31U, X86::XMM14 }, | |
{ 32U, X86::XMM15 }, | |
{ 33U, X86::ST0 }, | |
{ 34U, X86::ST1 }, | |
{ 35U, X86::ST2 }, | |
{ 36U, X86::ST3 }, | |
{ 37U, X86::ST4 }, | |
{ 38U, X86::ST5 }, | |
{ 39U, X86::ST6 }, | |
{ 40U, X86::ST7 }, | |
{ 41U, X86::MM0 }, | |
{ 42U, X86::MM1 }, | |
{ 43U, X86::MM2 }, | |
{ 44U, X86::MM3 }, | |
{ 45U, X86::MM4 }, | |
{ 46U, X86::MM5 }, | |
{ 47U, X86::MM6 }, | |
{ 48U, X86::MM7 }, | |
{ 49U, X86::RFLAGS }, | |
{ 50U, X86::ES }, | |
{ 51U, X86::CS }, | |
{ 52U, X86::SS }, | |
{ 53U, X86::DS }, | |
{ 54U, X86::FS }, | |
{ 55U, X86::GS }, | |
{ 58U, X86::FS_BASE }, | |
{ 59U, X86::GS_BASE }, | |
{ 67U, X86::XMM16 }, | |
{ 68U, X86::XMM17 }, | |
{ 69U, X86::XMM18 }, | |
{ 70U, X86::XMM19 }, | |
{ 71U, X86::XMM20 }, | |
{ 72U, X86::XMM21 }, | |
{ 73U, X86::XMM22 }, | |
{ 74U, X86::XMM23 }, | |
{ 75U, X86::XMM24 }, | |
{ 76U, X86::XMM25 }, | |
{ 77U, X86::XMM26 }, | |
{ 78U, X86::XMM27 }, | |
{ 79U, X86::XMM28 }, | |
{ 80U, X86::XMM29 }, | |
{ 81U, X86::XMM30 }, | |
{ 82U, X86::XMM31 }, | |
{ 118U, X86::K0 }, | |
{ 119U, X86::K1 }, | |
{ 120U, X86::K2 }, | |
{ 121U, X86::K3 }, | |
{ 122U, X86::K4 }, | |
{ 123U, X86::K5 }, | |
{ 124U, X86::K6 }, | |
{ 125U, X86::K7 }, | |
{ 130U, X86::R16 }, | |
{ 131U, X86::R17 }, | |
{ 132U, X86::R18 }, | |
{ 133U, X86::R19 }, | |
{ 134U, X86::R20 }, | |
{ 135U, X86::R21 }, | |
{ 136U, X86::R22 }, | |
{ 137U, X86::R23 }, | |
{ 138U, X86::R24 }, | |
{ 139U, X86::R25 }, | |
{ 140U, X86::R26 }, | |
{ 141U, X86::R27 }, | |
{ 142U, X86::R28 }, | |
{ 143U, X86::R29 }, | |
{ 144U, X86::R30 }, | |
{ 145U, X86::R31 }, | |
}; | |
extern const unsigned X86EHFlavour0Dwarf2LSize = std::size(X86EHFlavour0Dwarf2L); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour1Dwarf2L[] = { | |
{ 0U, X86::EAX }, | |
{ 1U, X86::ECX }, | |
{ 2U, X86::EDX }, | |
{ 3U, X86::EBX }, | |
{ 4U, X86::EBP }, | |
{ 5U, X86::ESP }, | |
{ 6U, X86::ESI }, | |
{ 7U, X86::EDI }, | |
{ 8U, X86::EIP }, | |
{ 9U, X86::EFLAGS }, | |
{ 12U, X86::ST0 }, | |
{ 13U, X86::ST1 }, | |
{ 14U, X86::ST2 }, | |
{ 15U, X86::ST3 }, | |
{ 16U, X86::ST4 }, | |
{ 17U, X86::ST5 }, | |
{ 18U, X86::ST6 }, | |
{ 19U, X86::ST7 }, | |
{ 21U, X86::XMM0 }, | |
{ 22U, X86::XMM1 }, | |
{ 23U, X86::XMM2 }, | |
{ 24U, X86::XMM3 }, | |
{ 25U, X86::XMM4 }, | |
{ 26U, X86::XMM5 }, | |
{ 27U, X86::XMM6 }, | |
{ 28U, X86::XMM7 }, | |
{ 29U, X86::MM0 }, | |
{ 30U, X86::MM1 }, | |
{ 31U, X86::MM2 }, | |
{ 32U, X86::MM3 }, | |
{ 33U, X86::MM4 }, | |
{ 34U, X86::MM5 }, | |
{ 35U, X86::MM6 }, | |
{ 36U, X86::MM7 }, | |
{ 93U, X86::K0 }, | |
{ 94U, X86::K1 }, | |
{ 95U, X86::K2 }, | |
{ 96U, X86::K3 }, | |
{ 97U, X86::K4 }, | |
{ 98U, X86::K5 }, | |
{ 99U, X86::K6 }, | |
{ 100U, X86::K7 }, | |
}; | |
extern const unsigned X86EHFlavour1Dwarf2LSize = std::size(X86EHFlavour1Dwarf2L); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour2Dwarf2L[] = { | |
{ 0U, X86::EAX }, | |
{ 1U, X86::ECX }, | |
{ 2U, X86::EDX }, | |
{ 3U, X86::EBX }, | |
{ 4U, X86::ESP }, | |
{ 5U, X86::EBP }, | |
{ 6U, X86::ESI }, | |
{ 7U, X86::EDI }, | |
{ 8U, X86::EIP }, | |
{ 9U, X86::EFLAGS }, | |
{ 11U, X86::ST0 }, | |
{ 12U, X86::ST1 }, | |
{ 13U, X86::ST2 }, | |
{ 14U, X86::ST3 }, | |
{ 15U, X86::ST4 }, | |
{ 16U, X86::ST5 }, | |
{ 17U, X86::ST6 }, | |
{ 18U, X86::ST7 }, | |
{ 21U, X86::XMM0 }, | |
{ 22U, X86::XMM1 }, | |
{ 23U, X86::XMM2 }, | |
{ 24U, X86::XMM3 }, | |
{ 25U, X86::XMM4 }, | |
{ 26U, X86::XMM5 }, | |
{ 27U, X86::XMM6 }, | |
{ 28U, X86::XMM7 }, | |
{ 29U, X86::MM0 }, | |
{ 30U, X86::MM1 }, | |
{ 31U, X86::MM2 }, | |
{ 32U, X86::MM3 }, | |
{ 33U, X86::MM4 }, | |
{ 34U, X86::MM5 }, | |
{ 35U, X86::MM6 }, | |
{ 36U, X86::MM7 }, | |
{ 40U, X86::ES }, | |
{ 41U, X86::CS }, | |
{ 42U, X86::SS }, | |
{ 43U, X86::DS }, | |
{ 44U, X86::FS }, | |
{ 45U, X86::GS }, | |
{ 93U, X86::K0 }, | |
{ 94U, X86::K1 }, | |
{ 95U, X86::K2 }, | |
{ 96U, X86::K3 }, | |
{ 97U, X86::K4 }, | |
{ 98U, X86::K5 }, | |
{ 99U, X86::K6 }, | |
{ 100U, X86::K7 }, | |
}; | |
extern const unsigned X86EHFlavour2Dwarf2LSize = std::size(X86EHFlavour2Dwarf2L); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour0L2Dwarf[] = { | |
{ X86::CS, 51U }, | |
{ X86::DS, 53U }, | |
{ X86::EAX, -2U }, | |
{ X86::EBP, -2U }, | |
{ X86::EBX, -2U }, | |
{ X86::ECX, -2U }, | |
{ X86::EDI, -2U }, | |
{ X86::EDX, -2U }, | |
{ X86::EFLAGS, 49U }, | |
{ X86::EIP, -2U }, | |
{ X86::ES, 50U }, | |
{ X86::ESI, -2U }, | |
{ X86::ESP, -2U }, | |
{ X86::FS, 54U }, | |
{ X86::FS_BASE, 58U }, | |
{ X86::GS, 55U }, | |
{ X86::GS_BASE, 59U }, | |
{ X86::RAX, 0U }, | |
{ X86::RBP, 6U }, | |
{ X86::RBX, 3U }, | |
{ X86::RCX, 2U }, | |
{ X86::RDI, 5U }, | |
{ X86::RDX, 1U }, | |
{ X86::RFLAGS, 49U }, | |
{ X86::RIP, 16U }, | |
{ X86::RSI, 4U }, | |
{ X86::RSP, 7U }, | |
{ X86::SS, 52U }, | |
{ X86::_EFLAGS, 49U }, | |
{ X86::MM0, 41U }, | |
{ X86::MM1, 42U }, | |
{ X86::MM2, 43U }, | |
{ X86::MM3, 44U }, | |
{ X86::MM4, 45U }, | |
{ X86::MM5, 46U }, | |
{ X86::MM6, 47U }, | |
{ X86::MM7, 48U }, | |
{ X86::R8, 8U }, | |
{ X86::R9, 9U }, | |
{ X86::R10, 10U }, | |
{ X86::R11, 11U }, | |
{ X86::R12, 12U }, | |
{ X86::R13, 13U }, | |
{ X86::R14, 14U }, | |
{ X86::R15, 15U }, | |
{ X86::ST0, 33U }, | |
{ X86::ST1, 34U }, | |
{ X86::ST2, 35U }, | |
{ X86::ST3, 36U }, | |
{ X86::ST4, 37U }, | |
{ X86::ST5, 38U }, | |
{ X86::ST6, 39U }, | |
{ X86::ST7, 40U }, | |
{ X86::XMM0, 17U }, | |
{ X86::XMM1, 18U }, | |
{ X86::XMM2, 19U }, | |
{ X86::XMM3, 20U }, | |
{ X86::XMM4, 21U }, | |
{ X86::XMM5, 22U }, | |
{ X86::XMM6, 23U }, | |
{ X86::XMM7, 24U }, | |
{ X86::XMM8, 25U }, | |
{ X86::XMM9, 26U }, | |
{ X86::XMM10, 27U }, | |
{ X86::XMM11, 28U }, | |
{ X86::XMM12, 29U }, | |
{ X86::XMM13, 30U }, | |
{ X86::XMM14, 31U }, | |
{ X86::XMM15, 32U }, | |
{ X86::YMM0, 17U }, | |
{ X86::YMM1, 18U }, | |
{ X86::YMM2, 19U }, | |
{ X86::YMM3, 20U }, | |
{ X86::YMM4, 21U }, | |
{ X86::YMM5, 22U }, | |
{ X86::YMM6, 23U }, | |
{ X86::YMM7, 24U }, | |
{ X86::YMM8, 25U }, | |
{ X86::YMM9, 26U }, | |
{ X86::YMM10, 27U }, | |
{ X86::YMM11, 28U }, | |
{ X86::YMM12, 29U }, | |
{ X86::YMM13, 30U }, | |
{ X86::YMM14, 31U }, | |
{ X86::YMM15, 32U }, | |
{ X86::K0, 118U }, | |
{ X86::K1, 119U }, | |
{ X86::K2, 120U }, | |
{ X86::K3, 121U }, | |
{ X86::K4, 122U }, | |
{ X86::K5, 123U }, | |
{ X86::K6, 124U }, | |
{ X86::K7, 125U }, | |
{ X86::XMM16, 67U }, | |
{ X86::XMM17, 68U }, | |
{ X86::XMM18, 69U }, | |
{ X86::XMM19, 70U }, | |
{ X86::XMM20, 71U }, | |
{ X86::XMM21, 72U }, | |
{ X86::XMM22, 73U }, | |
{ X86::XMM23, 74U }, | |
{ X86::XMM24, 75U }, | |
{ X86::XMM25, 76U }, | |
{ X86::XMM26, 77U }, | |
{ X86::XMM27, 78U }, | |
{ X86::XMM28, 79U }, | |
{ X86::XMM29, 80U }, | |
{ X86::XMM30, 81U }, | |
{ X86::XMM31, 82U }, | |
{ X86::YMM16, 67U }, | |
{ X86::YMM17, 68U }, | |
{ X86::YMM18, 69U }, | |
{ X86::YMM19, 70U }, | |
{ X86::YMM20, 71U }, | |
{ X86::YMM21, 72U }, | |
{ X86::YMM22, 73U }, | |
{ X86::YMM23, 74U }, | |
{ X86::YMM24, 75U }, | |
{ X86::YMM25, 76U }, | |
{ X86::YMM26, 77U }, | |
{ X86::YMM27, 78U }, | |
{ X86::YMM28, 79U }, | |
{ X86::YMM29, 80U }, | |
{ X86::YMM30, 81U }, | |
{ X86::YMM31, 82U }, | |
{ X86::ZMM0, 17U }, | |
{ X86::ZMM1, 18U }, | |
{ X86::ZMM2, 19U }, | |
{ X86::ZMM3, 20U }, | |
{ X86::ZMM4, 21U }, | |
{ X86::ZMM5, 22U }, | |
{ X86::ZMM6, 23U }, | |
{ X86::ZMM7, 24U }, | |
{ X86::ZMM8, 25U }, | |
{ X86::ZMM9, 26U }, | |
{ X86::ZMM10, 27U }, | |
{ X86::ZMM11, 28U }, | |
{ X86::ZMM12, 29U }, | |
{ X86::ZMM13, 30U }, | |
{ X86::ZMM14, 31U }, | |
{ X86::ZMM15, 32U }, | |
{ X86::ZMM16, 67U }, | |
{ X86::ZMM17, 68U }, | |
{ X86::ZMM18, 69U }, | |
{ X86::ZMM19, 70U }, | |
{ X86::ZMM20, 71U }, | |
{ X86::ZMM21, 72U }, | |
{ X86::ZMM22, 73U }, | |
{ X86::ZMM23, 74U }, | |
{ X86::ZMM24, 75U }, | |
{ X86::ZMM25, 76U }, | |
{ X86::ZMM26, 77U }, | |
{ X86::ZMM27, 78U }, | |
{ X86::ZMM28, 79U }, | |
{ X86::ZMM29, 80U }, | |
{ X86::ZMM30, 81U }, | |
{ X86::ZMM31, 82U }, | |
{ X86::R16, 130U }, | |
{ X86::R17, 131U }, | |
{ X86::R18, 132U }, | |
{ X86::R19, 133U }, | |
{ X86::R20, 134U }, | |
{ X86::R21, 135U }, | |
{ X86::R22, 136U }, | |
{ X86::R23, 137U }, | |
{ X86::R24, 138U }, | |
{ X86::R25, 139U }, | |
{ X86::R26, 140U }, | |
{ X86::R27, 141U }, | |
{ X86::R28, 142U }, | |
{ X86::R29, 143U }, | |
{ X86::R30, 144U }, | |
{ X86::R31, 145U }, | |
}; | |
extern const unsigned X86DwarfFlavour0L2DwarfSize = std::size(X86DwarfFlavour0L2Dwarf); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour1L2Dwarf[] = { | |
{ X86::CS, -2U }, | |
{ X86::DS, -2U }, | |
{ X86::EAX, 0U }, | |
{ X86::EBP, 4U }, | |
{ X86::EBX, 3U }, | |
{ X86::ECX, 1U }, | |
{ X86::EDI, 7U }, | |
{ X86::EDX, 2U }, | |
{ X86::EFLAGS, 9U }, | |
{ X86::EIP, 8U }, | |
{ X86::ES, -2U }, | |
{ X86::ESI, 6U }, | |
{ X86::ESP, 5U }, | |
{ X86::FS, -2U }, | |
{ X86::FS_BASE, -2U }, | |
{ X86::GS, -2U }, | |
{ X86::GS_BASE, -2U }, | |
{ X86::RAX, -2U }, | |
{ X86::RBP, -2U }, | |
{ X86::RBX, -2U }, | |
{ X86::RCX, -2U }, | |
{ X86::RDI, -2U }, | |
{ X86::RDX, -2U }, | |
{ X86::RFLAGS, -2U }, | |
{ X86::RIP, -2U }, | |
{ X86::RSI, -2U }, | |
{ X86::RSP, -2U }, | |
{ X86::SS, -2U }, | |
{ X86::_EFLAGS, 9U }, | |
{ X86::MM0, 29U }, | |
{ X86::MM1, 30U }, | |
{ X86::MM2, 31U }, | |
{ X86::MM3, 32U }, | |
{ X86::MM4, 33U }, | |
{ X86::MM5, 34U }, | |
{ X86::MM6, 35U }, | |
{ X86::MM7, 36U }, | |
{ X86::R8, -2U }, | |
{ X86::R9, -2U }, | |
{ X86::R10, -2U }, | |
{ X86::R11, -2U }, | |
{ X86::R12, -2U }, | |
{ X86::R13, -2U }, | |
{ X86::R14, -2U }, | |
{ X86::R15, -2U }, | |
{ X86::ST0, 12U }, | |
{ X86::ST1, 13U }, | |
{ X86::ST2, 14U }, | |
{ X86::ST3, 15U }, | |
{ X86::ST4, 16U }, | |
{ X86::ST5, 17U }, | |
{ X86::ST6, 18U }, | |
{ X86::ST7, 19U }, | |
{ X86::XMM0, 21U }, | |
{ X86::XMM1, 22U }, | |
{ X86::XMM2, 23U }, | |
{ X86::XMM3, 24U }, | |
{ X86::XMM4, 25U }, | |
{ X86::XMM5, 26U }, | |
{ X86::XMM6, 27U }, | |
{ X86::XMM7, 28U }, | |
{ X86::XMM8, -2U }, | |
{ X86::XMM9, -2U }, | |
{ X86::XMM10, -2U }, | |
{ X86::XMM11, -2U }, | |
{ X86::XMM12, -2U }, | |
{ X86::XMM13, -2U }, | |
{ X86::XMM14, -2U }, | |
{ X86::XMM15, -2U }, | |
{ X86::YMM0, 21U }, | |
{ X86::YMM1, 22U }, | |
{ X86::YMM2, 23U }, | |
{ X86::YMM3, 24U }, | |
{ X86::YMM4, 25U }, | |
{ X86::YMM5, 26U }, | |
{ X86::YMM6, 27U }, | |
{ X86::YMM7, 28U }, | |
{ X86::YMM8, -2U }, | |
{ X86::YMM9, -2U }, | |
{ X86::YMM10, -2U }, | |
{ X86::YMM11, -2U }, | |
{ X86::YMM12, -2U }, | |
{ X86::YMM13, -2U }, | |
{ X86::YMM14, -2U }, | |
{ X86::YMM15, -2U }, | |
{ X86::K0, 93U }, | |
{ X86::K1, 94U }, | |
{ X86::K2, 95U }, | |
{ X86::K3, 96U }, | |
{ X86::K4, 97U }, | |
{ X86::K5, 98U }, | |
{ X86::K6, 99U }, | |
{ X86::K7, 100U }, | |
{ X86::XMM16, -2U }, | |
{ X86::XMM17, -2U }, | |
{ X86::XMM18, -2U }, | |
{ X86::XMM19, -2U }, | |
{ X86::XMM20, -2U }, | |
{ X86::XMM21, -2U }, | |
{ X86::XMM22, -2U }, | |
{ X86::XMM23, -2U }, | |
{ X86::XMM24, -2U }, | |
{ X86::XMM25, -2U }, | |
{ X86::XMM26, -2U }, | |
{ X86::XMM27, -2U }, | |
{ X86::XMM28, -2U }, | |
{ X86::XMM29, -2U }, | |
{ X86::XMM30, -2U }, | |
{ X86::XMM31, -2U }, | |
{ X86::YMM16, -2U }, | |
{ X86::YMM17, -2U }, | |
{ X86::YMM18, -2U }, | |
{ X86::YMM19, -2U }, | |
{ X86::YMM20, -2U }, | |
{ X86::YMM21, -2U }, | |
{ X86::YMM22, -2U }, | |
{ X86::YMM23, -2U }, | |
{ X86::YMM24, -2U }, | |
{ X86::YMM25, -2U }, | |
{ X86::YMM26, -2U }, | |
{ X86::YMM27, -2U }, | |
{ X86::YMM28, -2U }, | |
{ X86::YMM29, -2U }, | |
{ X86::YMM30, -2U }, | |
{ X86::YMM31, -2U }, | |
{ X86::ZMM0, 21U }, | |
{ X86::ZMM1, 22U }, | |
{ X86::ZMM2, 23U }, | |
{ X86::ZMM3, 24U }, | |
{ X86::ZMM4, 25U }, | |
{ X86::ZMM5, 26U }, | |
{ X86::ZMM6, 27U }, | |
{ X86::ZMM7, 28U }, | |
{ X86::ZMM8, -2U }, | |
{ X86::ZMM9, -2U }, | |
{ X86::ZMM10, -2U }, | |
{ X86::ZMM11, -2U }, | |
{ X86::ZMM12, -2U }, | |
{ X86::ZMM13, -2U }, | |
{ X86::ZMM14, -2U }, | |
{ X86::ZMM15, -2U }, | |
{ X86::ZMM16, -2U }, | |
{ X86::ZMM17, -2U }, | |
{ X86::ZMM18, -2U }, | |
{ X86::ZMM19, -2U }, | |
{ X86::ZMM20, -2U }, | |
{ X86::ZMM21, -2U }, | |
{ X86::ZMM22, -2U }, | |
{ X86::ZMM23, -2U }, | |
{ X86::ZMM24, -2U }, | |
{ X86::ZMM25, -2U }, | |
{ X86::ZMM26, -2U }, | |
{ X86::ZMM27, -2U }, | |
{ X86::ZMM28, -2U }, | |
{ X86::ZMM29, -2U }, | |
{ X86::ZMM30, -2U }, | |
{ X86::ZMM31, -2U }, | |
{ X86::R16, -2U }, | |
{ X86::R17, -2U }, | |
{ X86::R18, -2U }, | |
{ X86::R19, -2U }, | |
{ X86::R20, -2U }, | |
{ X86::R21, -2U }, | |
{ X86::R22, -2U }, | |
{ X86::R23, -2U }, | |
{ X86::R24, -2U }, | |
{ X86::R25, -2U }, | |
{ X86::R26, -2U }, | |
{ X86::R27, -2U }, | |
{ X86::R28, -2U }, | |
{ X86::R29, -2U }, | |
{ X86::R30, -2U }, | |
{ X86::R31, -2U }, | |
}; | |
extern const unsigned X86DwarfFlavour1L2DwarfSize = std::size(X86DwarfFlavour1L2Dwarf); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour2L2Dwarf[] = { | |
{ X86::CS, 41U }, | |
{ X86::DS, 43U }, | |
{ X86::EAX, 0U }, | |
{ X86::EBP, 5U }, | |
{ X86::EBX, 3U }, | |
{ X86::ECX, 1U }, | |
{ X86::EDI, 7U }, | |
{ X86::EDX, 2U }, | |
{ X86::EFLAGS, 9U }, | |
{ X86::EIP, 8U }, | |
{ X86::ES, 40U }, | |
{ X86::ESI, 6U }, | |
{ X86::ESP, 4U }, | |
{ X86::FS, 44U }, | |
{ X86::FS_BASE, -2U }, | |
{ X86::GS, 45U }, | |
{ X86::GS_BASE, -2U }, | |
{ X86::RAX, -2U }, | |
{ X86::RBP, -2U }, | |
{ X86::RBX, -2U }, | |
{ X86::RCX, -2U }, | |
{ X86::RDI, -2U }, | |
{ X86::RDX, -2U }, | |
{ X86::RFLAGS, -2U }, | |
{ X86::RIP, -2U }, | |
{ X86::RSI, -2U }, | |
{ X86::RSP, -2U }, | |
{ X86::SS, 42U }, | |
{ X86::_EFLAGS, 9U }, | |
{ X86::MM0, 29U }, | |
{ X86::MM1, 30U }, | |
{ X86::MM2, 31U }, | |
{ X86::MM3, 32U }, | |
{ X86::MM4, 33U }, | |
{ X86::MM5, 34U }, | |
{ X86::MM6, 35U }, | |
{ X86::MM7, 36U }, | |
{ X86::R8, -2U }, | |
{ X86::R9, -2U }, | |
{ X86::R10, -2U }, | |
{ X86::R11, -2U }, | |
{ X86::R12, -2U }, | |
{ X86::R13, -2U }, | |
{ X86::R14, -2U }, | |
{ X86::R15, -2U }, | |
{ X86::ST0, 11U }, | |
{ X86::ST1, 12U }, | |
{ X86::ST2, 13U }, | |
{ X86::ST3, 14U }, | |
{ X86::ST4, 15U }, | |
{ X86::ST5, 16U }, | |
{ X86::ST6, 17U }, | |
{ X86::ST7, 18U }, | |
{ X86::XMM0, 21U }, | |
{ X86::XMM1, 22U }, | |
{ X86::XMM2, 23U }, | |
{ X86::XMM3, 24U }, | |
{ X86::XMM4, 25U }, | |
{ X86::XMM5, 26U }, | |
{ X86::XMM6, 27U }, | |
{ X86::XMM7, 28U }, | |
{ X86::XMM8, -2U }, | |
{ X86::XMM9, -2U }, | |
{ X86::XMM10, -2U }, | |
{ X86::XMM11, -2U }, | |
{ X86::XMM12, -2U }, | |
{ X86::XMM13, -2U }, | |
{ X86::XMM14, -2U }, | |
{ X86::XMM15, -2U }, | |
{ X86::YMM0, 21U }, | |
{ X86::YMM1, 22U }, | |
{ X86::YMM2, 23U }, | |
{ X86::YMM3, 24U }, | |
{ X86::YMM4, 25U }, | |
{ X86::YMM5, 26U }, | |
{ X86::YMM6, 27U }, | |
{ X86::YMM7, 28U }, | |
{ X86::YMM8, -2U }, | |
{ X86::YMM9, -2U }, | |
{ X86::YMM10, -2U }, | |
{ X86::YMM11, -2U }, | |
{ X86::YMM12, -2U }, | |
{ X86::YMM13, -2U }, | |
{ X86::YMM14, -2U }, | |
{ X86::YMM15, -2U }, | |
{ X86::K0, 93U }, | |
{ X86::K1, 94U }, | |
{ X86::K2, 95U }, | |
{ X86::K3, 96U }, | |
{ X86::K4, 97U }, | |
{ X86::K5, 98U }, | |
{ X86::K6, 99U }, | |
{ X86::K7, 100U }, | |
{ X86::XMM16, -2U }, | |
{ X86::XMM17, -2U }, | |
{ X86::XMM18, -2U }, | |
{ X86::XMM19, -2U }, | |
{ X86::XMM20, -2U }, | |
{ X86::XMM21, -2U }, | |
{ X86::XMM22, -2U }, | |
{ X86::XMM23, -2U }, | |
{ X86::XMM24, -2U }, | |
{ X86::XMM25, -2U }, | |
{ X86::XMM26, -2U }, | |
{ X86::XMM27, -2U }, | |
{ X86::XMM28, -2U }, | |
{ X86::XMM29, -2U }, | |
{ X86::XMM30, -2U }, | |
{ X86::XMM31, -2U }, | |
{ X86::YMM16, -2U }, | |
{ X86::YMM17, -2U }, | |
{ X86::YMM18, -2U }, | |
{ X86::YMM19, -2U }, | |
{ X86::YMM20, -2U }, | |
{ X86::YMM21, -2U }, | |
{ X86::YMM22, -2U }, | |
{ X86::YMM23, -2U }, | |
{ X86::YMM24, -2U }, | |
{ X86::YMM25, -2U }, | |
{ X86::YMM26, -2U }, | |
{ X86::YMM27, -2U }, | |
{ X86::YMM28, -2U }, | |
{ X86::YMM29, -2U }, | |
{ X86::YMM30, -2U }, | |
{ X86::YMM31, -2U }, | |
{ X86::ZMM0, 21U }, | |
{ X86::ZMM1, 22U }, | |
{ X86::ZMM2, 23U }, | |
{ X86::ZMM3, 24U }, | |
{ X86::ZMM4, 25U }, | |
{ X86::ZMM5, 26U }, | |
{ X86::ZMM6, 27U }, | |
{ X86::ZMM7, 28U }, | |
{ X86::ZMM8, -2U }, | |
{ X86::ZMM9, -2U }, | |
{ X86::ZMM10, -2U }, | |
{ X86::ZMM11, -2U }, | |
{ X86::ZMM12, -2U }, | |
{ X86::ZMM13, -2U }, | |
{ X86::ZMM14, -2U }, | |
{ X86::ZMM15, -2U }, | |
{ X86::ZMM16, -2U }, | |
{ X86::ZMM17, -2U }, | |
{ X86::ZMM18, -2U }, | |
{ X86::ZMM19, -2U }, | |
{ X86::ZMM20, -2U }, | |
{ X86::ZMM21, -2U }, | |
{ X86::ZMM22, -2U }, | |
{ X86::ZMM23, -2U }, | |
{ X86::ZMM24, -2U }, | |
{ X86::ZMM25, -2U }, | |
{ X86::ZMM26, -2U }, | |
{ X86::ZMM27, -2U }, | |
{ X86::ZMM28, -2U }, | |
{ X86::ZMM29, -2U }, | |
{ X86::ZMM30, -2U }, | |
{ X86::ZMM31, -2U }, | |
{ X86::R16, -2U }, | |
{ X86::R17, -2U }, | |
{ X86::R18, -2U }, | |
{ X86::R19, -2U }, | |
{ X86::R20, -2U }, | |
{ X86::R21, -2U }, | |
{ X86::R22, -2U }, | |
{ X86::R23, -2U }, | |
{ X86::R24, -2U }, | |
{ X86::R25, -2U }, | |
{ X86::R26, -2U }, | |
{ X86::R27, -2U }, | |
{ X86::R28, -2U }, | |
{ X86::R29, -2U }, | |
{ X86::R30, -2U }, | |
{ X86::R31, -2U }, | |
}; | |
extern const unsigned X86DwarfFlavour2L2DwarfSize = std::size(X86DwarfFlavour2L2Dwarf); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour0L2Dwarf[] = { | |
{ X86::CS, 51U }, | |
{ X86::DS, 53U }, | |
{ X86::EAX, -2U }, | |
{ X86::EBP, -2U }, | |
{ X86::EBX, -2U }, | |
{ X86::ECX, -2U }, | |
{ X86::EDI, -2U }, | |
{ X86::EDX, -2U }, | |
{ X86::EFLAGS, 49U }, | |
{ X86::EIP, -2U }, | |
{ X86::ES, 50U }, | |
{ X86::ESI, -2U }, | |
{ X86::ESP, -2U }, | |
{ X86::FS, 54U }, | |
{ X86::FS_BASE, 58U }, | |
{ X86::GS, 55U }, | |
{ X86::GS_BASE, 59U }, | |
{ X86::RAX, 0U }, | |
{ X86::RBP, 6U }, | |
{ X86::RBX, 3U }, | |
{ X86::RCX, 2U }, | |
{ X86::RDI, 5U }, | |
{ X86::RDX, 1U }, | |
{ X86::RFLAGS, 49U }, | |
{ X86::RIP, 16U }, | |
{ X86::RSI, 4U }, | |
{ X86::RSP, 7U }, | |
{ X86::SS, 52U }, | |
{ X86::_EFLAGS, 49U }, | |
{ X86::MM0, 41U }, | |
{ X86::MM1, 42U }, | |
{ X86::MM2, 43U }, | |
{ X86::MM3, 44U }, | |
{ X86::MM4, 45U }, | |
{ X86::MM5, 46U }, | |
{ X86::MM6, 47U }, | |
{ X86::MM7, 48U }, | |
{ X86::R8, 8U }, | |
{ X86::R9, 9U }, | |
{ X86::R10, 10U }, | |
{ X86::R11, 11U }, | |
{ X86::R12, 12U }, | |
{ X86::R13, 13U }, | |
{ X86::R14, 14U }, | |
{ X86::R15, 15U }, | |
{ X86::ST0, 33U }, | |
{ X86::ST1, 34U }, | |
{ X86::ST2, 35U }, | |
{ X86::ST3, 36U }, | |
{ X86::ST4, 37U }, | |
{ X86::ST5, 38U }, | |
{ X86::ST6, 39U }, | |
{ X86::ST7, 40U }, | |
{ X86::XMM0, 17U }, | |
{ X86::XMM1, 18U }, | |
{ X86::XMM2, 19U }, | |
{ X86::XMM3, 20U }, | |
{ X86::XMM4, 21U }, | |
{ X86::XMM5, 22U }, | |
{ X86::XMM6, 23U }, | |
{ X86::XMM7, 24U }, | |
{ X86::XMM8, 25U }, | |
{ X86::XMM9, 26U }, | |
{ X86::XMM10, 27U }, | |
{ X86::XMM11, 28U }, | |
{ X86::XMM12, 29U }, | |
{ X86::XMM13, 30U }, | |
{ X86::XMM14, 31U }, | |
{ X86::XMM15, 32U }, | |
{ X86::YMM0, 17U }, | |
{ X86::YMM1, 18U }, | |
{ X86::YMM2, 19U }, | |
{ X86::YMM3, 20U }, | |
{ X86::YMM4, 21U }, | |
{ X86::YMM5, 22U }, | |
{ X86::YMM6, 23U }, | |
{ X86::YMM7, 24U }, | |
{ X86::YMM8, 25U }, | |
{ X86::YMM9, 26U }, | |
{ X86::YMM10, 27U }, | |
{ X86::YMM11, 28U }, | |
{ X86::YMM12, 29U }, | |
{ X86::YMM13, 30U }, | |
{ X86::YMM14, 31U }, | |
{ X86::YMM15, 32U }, | |
{ X86::K0, 118U }, | |
{ X86::K1, 119U }, | |
{ X86::K2, 120U }, | |
{ X86::K3, 121U }, | |
{ X86::K4, 122U }, | |
{ X86::K5, 123U }, | |
{ X86::K6, 124U }, | |
{ X86::K7, 125U }, | |
{ X86::XMM16, 67U }, | |
{ X86::XMM17, 68U }, | |
{ X86::XMM18, 69U }, | |
{ X86::XMM19, 70U }, | |
{ X86::XMM20, 71U }, | |
{ X86::XMM21, 72U }, | |
{ X86::XMM22, 73U }, | |
{ X86::XMM23, 74U }, | |
{ X86::XMM24, 75U }, | |
{ X86::XMM25, 76U }, | |
{ X86::XMM26, 77U }, | |
{ X86::XMM27, 78U }, | |
{ X86::XMM28, 79U }, | |
{ X86::XMM29, 80U }, | |
{ X86::XMM30, 81U }, | |
{ X86::XMM31, 82U }, | |
{ X86::YMM16, 67U }, | |
{ X86::YMM17, 68U }, | |
{ X86::YMM18, 69U }, | |
{ X86::YMM19, 70U }, | |
{ X86::YMM20, 71U }, | |
{ X86::YMM21, 72U }, | |
{ X86::YMM22, 73U }, | |
{ X86::YMM23, 74U }, | |
{ X86::YMM24, 75U }, | |
{ X86::YMM25, 76U }, | |
{ X86::YMM26, 77U }, | |
{ X86::YMM27, 78U }, | |
{ X86::YMM28, 79U }, | |
{ X86::YMM29, 80U }, | |
{ X86::YMM30, 81U }, | |
{ X86::YMM31, 82U }, | |
{ X86::ZMM0, 17U }, | |
{ X86::ZMM1, 18U }, | |
{ X86::ZMM2, 19U }, | |
{ X86::ZMM3, 20U }, | |
{ X86::ZMM4, 21U }, | |
{ X86::ZMM5, 22U }, | |
{ X86::ZMM6, 23U }, | |
{ X86::ZMM7, 24U }, | |
{ X86::ZMM8, 25U }, | |
{ X86::ZMM9, 26U }, | |
{ X86::ZMM10, 27U }, | |
{ X86::ZMM11, 28U }, | |
{ X86::ZMM12, 29U }, | |
{ X86::ZMM13, 30U }, | |
{ X86::ZMM14, 31U }, | |
{ X86::ZMM15, 32U }, | |
{ X86::ZMM16, 67U }, | |
{ X86::ZMM17, 68U }, | |
{ X86::ZMM18, 69U }, | |
{ X86::ZMM19, 70U }, | |
{ X86::ZMM20, 71U }, | |
{ X86::ZMM21, 72U }, | |
{ X86::ZMM22, 73U }, | |
{ X86::ZMM23, 74U }, | |
{ X86::ZMM24, 75U }, | |
{ X86::ZMM25, 76U }, | |
{ X86::ZMM26, 77U }, | |
{ X86::ZMM27, 78U }, | |
{ X86::ZMM28, 79U }, | |
{ X86::ZMM29, 80U }, | |
{ X86::ZMM30, 81U }, | |
{ X86::ZMM31, 82U }, | |
{ X86::R16, 130U }, | |
{ X86::R17, 131U }, | |
{ X86::R18, 132U }, | |
{ X86::R19, 133U }, | |
{ X86::R20, 134U }, | |
{ X86::R21, 135U }, | |
{ X86::R22, 136U }, | |
{ X86::R23, 137U }, | |
{ X86::R24, 138U }, | |
{ X86::R25, 139U }, | |
{ X86::R26, 140U }, | |
{ X86::R27, 141U }, | |
{ X86::R28, 142U }, | |
{ X86::R29, 143U }, | |
{ X86::R30, 144U }, | |
{ X86::R31, 145U }, | |
}; | |
extern const unsigned X86EHFlavour0L2DwarfSize = std::size(X86EHFlavour0L2Dwarf); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour1L2Dwarf[] = { | |
{ X86::CS, -2U }, | |
{ X86::DS, -2U }, | |
{ X86::EAX, 0U }, | |
{ X86::EBP, 4U }, | |
{ X86::EBX, 3U }, | |
{ X86::ECX, 1U }, | |
{ X86::EDI, 7U }, | |
{ X86::EDX, 2U }, | |
{ X86::EFLAGS, 9U }, | |
{ X86::EIP, 8U }, | |
{ X86::ES, -2U }, | |
{ X86::ESI, 6U }, | |
{ X86::ESP, 5U }, | |
{ X86::FS, -2U }, | |
{ X86::FS_BASE, -2U }, | |
{ X86::GS, -2U }, | |
{ X86::GS_BASE, -2U }, | |
{ X86::RAX, -2U }, | |
{ X86::RBP, -2U }, | |
{ X86::RBX, -2U }, | |
{ X86::RCX, -2U }, | |
{ X86::RDI, -2U }, | |
{ X86::RDX, -2U }, | |
{ X86::RFLAGS, -2U }, | |
{ X86::RIP, -2U }, | |
{ X86::RSI, -2U }, | |
{ X86::RSP, -2U }, | |
{ X86::SS, -2U }, | |
{ X86::_EFLAGS, 9U }, | |
{ X86::MM0, 29U }, | |
{ X86::MM1, 30U }, | |
{ X86::MM2, 31U }, | |
{ X86::MM3, 32U }, | |
{ X86::MM4, 33U }, | |
{ X86::MM5, 34U }, | |
{ X86::MM6, 35U }, | |
{ X86::MM7, 36U }, | |
{ X86::R8, -2U }, | |
{ X86::R9, -2U }, | |
{ X86::R10, -2U }, | |
{ X86::R11, -2U }, | |
{ X86::R12, -2U }, | |
{ X86::R13, -2U }, | |
{ X86::R14, -2U }, | |
{ X86::R15, -2U }, | |
{ X86::ST0, 12U }, | |
{ X86::ST1, 13U }, | |
{ X86::ST2, 14U }, | |
{ X86::ST3, 15U }, | |
{ X86::ST4, 16U }, | |
{ X86::ST5, 17U }, | |
{ X86::ST6, 18U }, | |
{ X86::ST7, 19U }, | |
{ X86::XMM0, 21U }, | |
{ X86::XMM1, 22U }, | |
{ X86::XMM2, 23U }, | |
{ X86::XMM3, 24U }, | |
{ X86::XMM4, 25U }, | |
{ X86::XMM5, 26U }, | |
{ X86::XMM6, 27U }, | |
{ X86::XMM7, 28U }, | |
{ X86::XMM8, -2U }, | |
{ X86::XMM9, -2U }, | |
{ X86::XMM10, -2U }, | |
{ X86::XMM11, -2U }, | |
{ X86::XMM12, -2U }, | |
{ X86::XMM13, -2U }, | |
{ X86::XMM14, -2U }, | |
{ X86::XMM15, -2U }, | |
{ X86::YMM0, 21U }, | |
{ X86::YMM1, 22U }, | |
{ X86::YMM2, 23U }, | |
{ X86::YMM3, 24U }, | |
{ X86::YMM4, 25U }, | |
{ X86::YMM5, 26U }, | |
{ X86::YMM6, 27U }, | |
{ X86::YMM7, 28U }, | |
{ X86::YMM8, -2U }, | |
{ X86::YMM9, -2U }, | |
{ X86::YMM10, -2U }, | |
{ X86::YMM11, -2U }, | |
{ X86::YMM12, -2U }, | |
{ X86::YMM13, -2U }, | |
{ X86::YMM14, -2U }, | |
{ X86::YMM15, -2U }, | |
{ X86::K0, 93U }, | |
{ X86::K1, 94U }, | |
{ X86::K2, 95U }, | |
{ X86::K3, 96U }, | |
{ X86::K4, 97U }, | |
{ X86::K5, 98U }, | |
{ X86::K6, 99U }, | |
{ X86::K7, 100U }, | |
{ X86::XMM16, -2U }, | |
{ X86::XMM17, -2U }, | |
{ X86::XMM18, -2U }, | |
{ X86::XMM19, -2U }, | |
{ X86::XMM20, -2U }, | |
{ X86::XMM21, -2U }, | |
{ X86::XMM22, -2U }, | |
{ X86::XMM23, -2U }, | |
{ X86::XMM24, -2U }, | |
{ X86::XMM25, -2U }, | |
{ X86::XMM26, -2U }, | |
{ X86::XMM27, -2U }, | |
{ X86::XMM28, -2U }, | |
{ X86::XMM29, -2U }, | |
{ X86::XMM30, -2U }, | |
{ X86::XMM31, -2U }, | |
{ X86::YMM16, -2U }, | |
{ X86::YMM17, -2U }, | |
{ X86::YMM18, -2U }, | |
{ X86::YMM19, -2U }, | |
{ X86::YMM20, -2U }, | |
{ X86::YMM21, -2U }, | |
{ X86::YMM22, -2U }, | |
{ X86::YMM23, -2U }, | |
{ X86::YMM24, -2U }, | |
{ X86::YMM25, -2U }, | |
{ X86::YMM26, -2U }, | |
{ X86::YMM27, -2U }, | |
{ X86::YMM28, -2U }, | |
{ X86::YMM29, -2U }, | |
{ X86::YMM30, -2U }, | |
{ X86::YMM31, -2U }, | |
{ X86::ZMM0, 21U }, | |
{ X86::ZMM1, 22U }, | |
{ X86::ZMM2, 23U }, | |
{ X86::ZMM3, 24U }, | |
{ X86::ZMM4, 25U }, | |
{ X86::ZMM5, 26U }, | |
{ X86::ZMM6, 27U }, | |
{ X86::ZMM7, 28U }, | |
{ X86::ZMM8, -2U }, | |
{ X86::ZMM9, -2U }, | |
{ X86::ZMM10, -2U }, | |
{ X86::ZMM11, -2U }, | |
{ X86::ZMM12, -2U }, | |
{ X86::ZMM13, -2U }, | |
{ X86::ZMM14, -2U }, | |
{ X86::ZMM15, -2U }, | |
{ X86::ZMM16, -2U }, | |
{ X86::ZMM17, -2U }, | |
{ X86::ZMM18, -2U }, | |
{ X86::ZMM19, -2U }, | |
{ X86::ZMM20, -2U }, | |
{ X86::ZMM21, -2U }, | |
{ X86::ZMM22, -2U }, | |
{ X86::ZMM23, -2U }, | |
{ X86::ZMM24, -2U }, | |
{ X86::ZMM25, -2U }, | |
{ X86::ZMM26, -2U }, | |
{ X86::ZMM27, -2U }, | |
{ X86::ZMM28, -2U }, | |
{ X86::ZMM29, -2U }, | |
{ X86::ZMM30, -2U }, | |
{ X86::ZMM31, -2U }, | |
{ X86::R16, -2U }, | |
{ X86::R17, -2U }, | |
{ X86::R18, -2U }, | |
{ X86::R19, -2U }, | |
{ X86::R20, -2U }, | |
{ X86::R21, -2U }, | |
{ X86::R22, -2U }, | |
{ X86::R23, -2U }, | |
{ X86::R24, -2U }, | |
{ X86::R25, -2U }, | |
{ X86::R26, -2U }, | |
{ X86::R27, -2U }, | |
{ X86::R28, -2U }, | |
{ X86::R29, -2U }, | |
{ X86::R30, -2U }, | |
{ X86::R31, -2U }, | |
}; | |
extern const unsigned X86EHFlavour1L2DwarfSize = std::size(X86EHFlavour1L2Dwarf); | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour2L2Dwarf[] = { | |
{ X86::CS, 41U }, | |
{ X86::DS, 43U }, | |
{ X86::EAX, 0U }, | |
{ X86::EBP, 5U }, | |
{ X86::EBX, 3U }, | |
{ X86::ECX, 1U }, | |
{ X86::EDI, 7U }, | |
{ X86::EDX, 2U }, | |
{ X86::EFLAGS, 9U }, | |
{ X86::EIP, 8U }, | |
{ X86::ES, 40U }, | |
{ X86::ESI, 6U }, | |
{ X86::ESP, 4U }, | |
{ X86::FS, 44U }, | |
{ X86::FS_BASE, -2U }, | |
{ X86::GS, 45U }, | |
{ X86::GS_BASE, -2U }, | |
{ X86::RAX, -2U }, | |
{ X86::RBP, -2U }, | |
{ X86::RBX, -2U }, | |
{ X86::RCX, -2U }, | |
{ X86::RDI, -2U }, | |
{ X86::RDX, -2U }, | |
{ X86::RFLAGS, -2U }, | |
{ X86::RIP, -2U }, | |
{ X86::RSI, -2U }, | |
{ X86::RSP, -2U }, | |
{ X86::SS, 42U }, | |
{ X86::_EFLAGS, 9U }, | |
{ X86::MM0, 29U }, | |
{ X86::MM1, 30U }, | |
{ X86::MM2, 31U }, | |
{ X86::MM3, 32U }, | |
{ X86::MM4, 33U }, | |
{ X86::MM5, 34U }, | |
{ X86::MM6, 35U }, | |
{ X86::MM7, 36U }, | |
{ X86::R8, -2U }, | |
{ X86::R9, -2U }, | |
{ X86::R10, -2U }, | |
{ X86::R11, -2U }, | |
{ X86::R12, -2U }, | |
{ X86::R13, -2U }, | |
{ X86::R14, -2U }, | |
{ X86::R15, -2U }, | |
{ X86::ST0, 11U }, | |
{ X86::ST1, 12U }, | |
{ X86::ST2, 13U }, | |
{ X86::ST3, 14U }, | |
{ X86::ST4, 15U }, | |
{ X86::ST5, 16U }, | |
{ X86::ST6, 17U }, | |
{ X86::ST7, 18U }, | |
{ X86::XMM0, 21U }, | |
{ X86::XMM1, 22U }, | |
{ X86::XMM2, 23U }, | |
{ X86::XMM3, 24U }, | |
{ X86::XMM4, 25U }, | |
{ X86::XMM5, 26U }, | |
{ X86::XMM6, 27U }, | |
{ X86::XMM7, 28U }, | |
{ X86::XMM8, -2U }, | |
{ X86::XMM9, -2U }, | |
{ X86::XMM10, -2U }, | |
{ X86::XMM11, -2U }, | |
{ X86::XMM12, -2U }, | |
{ X86::XMM13, -2U }, | |
{ X86::XMM14, -2U }, | |
{ X86::XMM15, -2U }, | |
{ X86::YMM0, 21U }, | |
{ X86::YMM1, 22U }, | |
{ X86::YMM2, 23U }, | |
{ X86::YMM3, 24U }, | |
{ X86::YMM4, 25U }, | |
{ X86::YMM5, 26U }, | |
{ X86::YMM6, 27U }, | |
{ X86::YMM7, 28U }, | |
{ X86::YMM8, -2U }, | |
{ X86::YMM9, -2U }, | |
{ X86::YMM10, -2U }, | |
{ X86::YMM11, -2U }, | |
{ X86::YMM12, -2U }, | |
{ X86::YMM13, -2U }, | |
{ X86::YMM14, -2U }, | |
{ X86::YMM15, -2U }, | |
{ X86::K0, 93U }, | |
{ X86::K1, 94U }, | |
{ X86::K2, 95U }, | |
{ X86::K3, 96U }, | |
{ X86::K4, 97U }, | |
{ X86::K5, 98U }, | |
{ X86::K6, 99U }, | |
{ X86::K7, 100U }, | |
{ X86::XMM16, -2U }, | |
{ X86::XMM17, -2U }, | |
{ X86::XMM18, -2U }, | |
{ X86::XMM19, -2U }, | |
{ X86::XMM20, -2U }, | |
{ X86::XMM21, -2U }, | |
{ X86::XMM22, -2U }, | |
{ X86::XMM23, -2U }, | |
{ X86::XMM24, -2U }, | |
{ X86::XMM25, -2U }, | |
{ X86::XMM26, -2U }, | |
{ X86::XMM27, -2U }, | |
{ X86::XMM28, -2U }, | |
{ X86::XMM29, -2U }, | |
{ X86::XMM30, -2U }, | |
{ X86::XMM31, -2U }, | |
{ X86::YMM16, -2U }, | |
{ X86::YMM17, -2U }, | |
{ X86::YMM18, -2U }, | |
{ X86::YMM19, -2U }, | |
{ X86::YMM20, -2U }, | |
{ X86::YMM21, -2U }, | |
{ X86::YMM22, -2U }, | |
{ X86::YMM23, -2U }, | |
{ X86::YMM24, -2U }, | |
{ X86::YMM25, -2U }, | |
{ X86::YMM26, -2U }, | |
{ X86::YMM27, -2U }, | |
{ X86::YMM28, -2U }, | |
{ X86::YMM29, -2U }, | |
{ X86::YMM30, -2U }, | |
{ X86::YMM31, -2U }, | |
{ X86::ZMM0, 21U }, | |
{ X86::ZMM1, 22U }, | |
{ X86::ZMM2, 23U }, | |
{ X86::ZMM3, 24U }, | |
{ X86::ZMM4, 25U }, | |
{ X86::ZMM5, 26U }, | |
{ X86::ZMM6, 27U }, | |
{ X86::ZMM7, 28U }, | |
{ X86::ZMM8, -2U }, | |
{ X86::ZMM9, -2U }, | |
{ X86::ZMM10, -2U }, | |
{ X86::ZMM11, -2U }, | |
{ X86::ZMM12, -2U }, | |
{ X86::ZMM13, -2U }, | |
{ X86::ZMM14, -2U }, | |
{ X86::ZMM15, -2U }, | |
{ X86::ZMM16, -2U }, | |
{ X86::ZMM17, -2U }, | |
{ X86::ZMM18, -2U }, | |
{ X86::ZMM19, -2U }, | |
{ X86::ZMM20, -2U }, | |
{ X86::ZMM21, -2U }, | |
{ X86::ZMM22, -2U }, | |
{ X86::ZMM23, -2U }, | |
{ X86::ZMM24, -2U }, | |
{ X86::ZMM25, -2U }, | |
{ X86::ZMM26, -2U }, | |
{ X86::ZMM27, -2U }, | |
{ X86::ZMM28, -2U }, | |
{ X86::ZMM29, -2U }, | |
{ X86::ZMM30, -2U }, | |
{ X86::ZMM31, -2U }, | |
{ X86::R16, -2U }, | |
{ X86::R17, -2U }, | |
{ X86::R18, -2U }, | |
{ X86::R19, -2U }, | |
{ X86::R20, -2U }, | |
{ X86::R21, -2U }, | |
{ X86::R22, -2U }, | |
{ X86::R23, -2U }, | |
{ X86::R24, -2U }, | |
{ X86::R25, -2U }, | |
{ X86::R26, -2U }, | |
{ X86::R27, -2U }, | |
{ X86::R28, -2U }, | |
{ X86::R29, -2U }, | |
{ X86::R30, -2U }, | |
{ X86::R31, -2U }, | |
}; | |
extern const unsigned X86EHFlavour2L2DwarfSize = std::size(X86EHFlavour2L2Dwarf); | |
extern const uint16_t X86RegEncodingTable[] = { | |
0, | |
4, | |
0, | |
0, | |
7, | |
3, | |
5, | |
65535, | |
5, | |
3, | |
5, | |
1, | |
1, | |
1, | |
0, | |
6, | |
7, | |
65535, | |
7, | |
2, | |
3, | |
2, | |
0, | |
5, | |
3, | |
1, | |
7, | |
2, | |
0, | |
0, | |
4, | |
0, | |
6, | |
4, | |
0, | |
0, | |
4, | |
0, | |
5, | |
0, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
0, | |
0, | |
0, | |
5, | |
3, | |
1, | |
7, | |
2, | |
0, | |
0, | |
4, | |
6, | |
4, | |
6, | |
65535, | |
6, | |
4, | |
65535, | |
4, | |
2, | |
0, | |
0, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
8, | |
9, | |
10, | |
11, | |
12, | |
13, | |
14, | |
15, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
16, | |
17, | |
18, | |
19, | |
20, | |
21, | |
22, | |
23, | |
24, | |
25, | |
26, | |
27, | |
28, | |
29, | |
30, | |
31, | |
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, | |
0, | |
0, | |
1, | |
2, | |
3, | |
4, | |
5, | |
6, | |
7, | |
0, | |
2, | |
4, | |
6, | |
16, | |
17, | |
18, | |
19, | |
20, | |
21, | |
22, | |
23, | |
24, | |
25, | |
26, | |
27, | |
28, | |
29, | |
30, | |
31, | |
16, | |
17, | |
18, | |
19, | |
20, | |
21, | |
22, | |
23, | |
24, | |
25, | |
26, | |
27, | |
28, | |
29, | |
30, | |
31, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
16, | |
17, | |
18, | |
19, | |
20, | |
21, | |
22, | |
23, | |
24, | |
25, | |
26, | |
27, | |
28, | |
29, | |
30, | |
31, | |
16, | |
17, | |
18, | |
19, | |
20, | |
21, | |
22, | |
23, | |
24, | |
25, | |
26, | |
27, | |
28, | |
29, | |
30, | |
31, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
65535, | |
}; | |
static inline void InitX86MCRegisterInfo(MCRegisterInfo *RI, unsigned RA, unsigned DwarfFlavour = 0, unsigned EHFlavour = 0, unsigned PC = 0) { | |
RI->InitMCRegisterInfo(X86RegDesc, 392, RA, PC, X86MCRegisterClasses, 135, X86RegUnitRoots, 221, X86RegDiffLists, X86LaneMaskLists, X86RegStrings, X86RegClassStrings, X86SubRegIdxLists, 13, | |
X86RegEncodingTable); | |
switch (DwarfFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
RI->mapDwarfRegsToLLVMRegs(X86DwarfFlavour0Dwarf2L, X86DwarfFlavour0Dwarf2LSize, false); | |
break; | |
case 1: | |
RI->mapDwarfRegsToLLVMRegs(X86DwarfFlavour1Dwarf2L, X86DwarfFlavour1Dwarf2LSize, false); | |
break; | |
case 2: | |
RI->mapDwarfRegsToLLVMRegs(X86DwarfFlavour2Dwarf2L, X86DwarfFlavour2Dwarf2LSize, false); | |
break; | |
} | |
switch (EHFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
RI->mapDwarfRegsToLLVMRegs(X86EHFlavour0Dwarf2L, X86EHFlavour0Dwarf2LSize, true); | |
break; | |
case 1: | |
RI->mapDwarfRegsToLLVMRegs(X86EHFlavour1Dwarf2L, X86EHFlavour1Dwarf2LSize, true); | |
break; | |
case 2: | |
RI->mapDwarfRegsToLLVMRegs(X86EHFlavour2Dwarf2L, X86EHFlavour2Dwarf2LSize, true); | |
break; | |
} | |
switch (DwarfFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
RI->mapLLVMRegsToDwarfRegs(X86DwarfFlavour0L2Dwarf, X86DwarfFlavour0L2DwarfSize, false); | |
break; | |
case 1: | |
RI->mapLLVMRegsToDwarfRegs(X86DwarfFlavour1L2Dwarf, X86DwarfFlavour1L2DwarfSize, false); | |
break; | |
case 2: | |
RI->mapLLVMRegsToDwarfRegs(X86DwarfFlavour2L2Dwarf, X86DwarfFlavour2L2DwarfSize, false); | |
break; | |
} | |
switch (EHFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
RI->mapLLVMRegsToDwarfRegs(X86EHFlavour0L2Dwarf, X86EHFlavour0L2DwarfSize, true); | |
break; | |
case 1: | |
RI->mapLLVMRegsToDwarfRegs(X86EHFlavour1L2Dwarf, X86EHFlavour1L2DwarfSize, true); | |
break; | |
case 2: | |
RI->mapLLVMRegsToDwarfRegs(X86EHFlavour2L2Dwarf, X86EHFlavour2L2DwarfSize, true); | |
break; | |
} | |
} | |
} // end namespace llvm | |
#endif // GET_REGINFO_MC_DESC | |
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ | |
|* *| | |
|* Register Information Header Fragment *| | |
|* *| | |
|* Automatically generated file, do not edit! *| | |
|* *| | |
\*===----------------------------------------------------------------------===*/ | |
#ifdef GET_REGINFO_HEADER | |
#undef GET_REGINFO_HEADER | |
#include "llvm/CodeGen/TargetRegisterInfo.h" | |
namespace llvm { | |
class X86FrameLowering; | |
struct X86GenRegisterInfo : public TargetRegisterInfo { | |
explicit X86GenRegisterInfo(unsigned RA, unsigned D = 0, unsigned E = 0, | |
unsigned PC = 0, unsigned HwMode = 0); | |
unsigned composeSubRegIndicesImpl(unsigned, unsigned) const override; | |
unsigned reverseComposeSubRegIndicesImpl(unsigned, unsigned) const override; | |
LaneBitmask composeSubRegIndexLaneMaskImpl(unsigned, LaneBitmask) const override; | |
LaneBitmask reverseComposeSubRegIndexLaneMaskImpl(unsigned, LaneBitmask) const override; | |
const TargetRegisterClass *getSubClassWithSubReg(const TargetRegisterClass *, unsigned) const override; | |
const TargetRegisterClass *getSubRegisterClass(const TargetRegisterClass *, unsigned) const override; | |
const RegClassWeight &getRegClassWeight(const TargetRegisterClass *RC) const override; | |
unsigned getRegUnitWeight(unsigned RegUnit) const override; | |
unsigned getNumRegPressureSets() const override; | |
const char *getRegPressureSetName(unsigned Idx) const override; | |
unsigned getRegPressureSetLimit(const MachineFunction &MF, unsigned Idx) const override; | |
const int *getRegClassPressureSets(const TargetRegisterClass *RC) const override; | |
const int *getRegUnitPressureSets(unsigned RegUnit) const override; | |
ArrayRef<const char *> getRegMaskNames() const override; | |
ArrayRef<const uint32_t *> getRegMasks() const override; | |
bool isGeneralPurposeRegister(const MachineFunction &, MCRegister) const override; | |
bool isGeneralPurposeRegisterClass(const TargetRegisterClass *RC) const override; | |
bool isFixedRegister(const MachineFunction &, MCRegister) const override; | |
bool isArgumentRegister(const MachineFunction &, MCRegister) const override; | |
bool isConstantPhysReg(MCRegister PhysReg) const override final; | |
/// Devirtualized TargetFrameLowering. | |
static const X86FrameLowering *getFrameLowering( | |
const MachineFunction &MF); | |
}; | |
namespace X86 { // Register classes | |
extern const TargetRegisterClass GR8RegClass; | |
extern const TargetRegisterClass GRH8RegClass; | |
extern const TargetRegisterClass GR8_NOREX2RegClass; | |
extern const TargetRegisterClass GR8_NOREXRegClass; | |
extern const TargetRegisterClass GR8_ABCD_HRegClass; | |
extern const TargetRegisterClass GR8_ABCD_LRegClass; | |
extern const TargetRegisterClass GRH16RegClass; | |
extern const TargetRegisterClass GR16RegClass; | |
extern const TargetRegisterClass GR16_NOREX2RegClass; | |
extern const TargetRegisterClass GR16_NOREXRegClass; | |
extern const TargetRegisterClass VK1RegClass; | |
extern const TargetRegisterClass VK16RegClass; | |
extern const TargetRegisterClass VK2RegClass; | |
extern const TargetRegisterClass VK4RegClass; | |
extern const TargetRegisterClass VK8RegClass; | |
extern const TargetRegisterClass VK16WMRegClass; | |
extern const TargetRegisterClass VK1WMRegClass; | |
extern const TargetRegisterClass VK2WMRegClass; | |
extern const TargetRegisterClass VK4WMRegClass; | |
extern const TargetRegisterClass VK8WMRegClass; | |
extern const TargetRegisterClass SEGMENT_REGRegClass; | |
extern const TargetRegisterClass GR16_ABCDRegClass; | |
extern const TargetRegisterClass FPCCRRegClass; | |
extern const TargetRegisterClass FR16XRegClass; | |
extern const TargetRegisterClass FR16RegClass; | |
extern const TargetRegisterClass VK16PAIRRegClass; | |
extern const TargetRegisterClass VK1PAIRRegClass; | |
extern const TargetRegisterClass VK2PAIRRegClass; | |
extern const TargetRegisterClass VK4PAIRRegClass; | |
extern const TargetRegisterClass VK8PAIRRegClass; | |
extern const TargetRegisterClass VK1PAIR_with_sub_mask_0_in_VK1WMRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBPRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESSRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClass; | |
extern const TargetRegisterClass FR32XRegClass; | |
extern const TargetRegisterClass GR32RegClass; | |
extern const TargetRegisterClass GR32_NOSPRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClass; | |
extern const TargetRegisterClass DEBUG_REGRegClass; | |
extern const TargetRegisterClass FR32RegClass; | |
extern const TargetRegisterClass GR32_NOREX2RegClass; | |
extern const TargetRegisterClass GR32_NOREX2_NOSPRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClass; | |
extern const TargetRegisterClass GR32_NOREXRegClass; | |
extern const TargetRegisterClass VK32RegClass; | |
extern const TargetRegisterClass GR32_NOREX_NOSPRegClass; | |
extern const TargetRegisterClass RFP32RegClass; | |
extern const TargetRegisterClass VK32WMRegClass; | |
extern const TargetRegisterClass GR32_ABCDRegClass; | |
extern const TargetRegisterClass GR32_TCRegClass; | |
extern const TargetRegisterClass GR32_ABCD_and_GR32_TCRegClass; | |
extern const TargetRegisterClass GR32_ADRegClass; | |
extern const TargetRegisterClass GR32_ArgRefRegClass; | |
extern const TargetRegisterClass GR32_BPSPRegClass; | |
extern const TargetRegisterClass GR32_BSIRegClass; | |
extern const TargetRegisterClass GR32_CBRegClass; | |
extern const TargetRegisterClass GR32_DCRegClass; | |
extern const TargetRegisterClass GR32_DIBPRegClass; | |
extern const TargetRegisterClass GR32_SIDIRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClass; | |
extern const TargetRegisterClass CCRRegClass; | |
extern const TargetRegisterClass DFCCRRegClass; | |
extern const TargetRegisterClass GR32_ABCD_and_GR32_BSIRegClass; | |
extern const TargetRegisterClass GR32_AD_and_GR32_ArgRefRegClass; | |
extern const TargetRegisterClass GR32_ArgRef_and_GR32_CBRegClass; | |
extern const TargetRegisterClass GR32_BPSP_and_GR32_DIBPRegClass; | |
extern const TargetRegisterClass GR32_BPSP_and_GR32_TCRegClass; | |
extern const TargetRegisterClass GR32_BSI_and_GR32_SIDIRegClass; | |
extern const TargetRegisterClass GR32_DIBP_and_GR32_SIDIRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitRegClass; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_with_sub_32bitRegClass; | |
extern const TargetRegisterClass RFP64RegClass; | |
extern const TargetRegisterClass GR64RegClass; | |
extern const TargetRegisterClass FR64XRegClass; | |
extern const TargetRegisterClass GR64_with_sub_8bitRegClass; | |
extern const TargetRegisterClass GR64_NOSPRegClass; | |
extern const TargetRegisterClass GR64_NOREX2RegClass; | |
extern const TargetRegisterClass CONTROL_REGRegClass; | |
extern const TargetRegisterClass FR64RegClass; | |
extern const TargetRegisterClass GR64_with_sub_16bit_in_GR16_NOREX2RegClass; | |
extern const TargetRegisterClass GR64_NOREX2_NOSPRegClass; | |
extern const TargetRegisterClass GR64PLTSafeRegClass; | |
extern const TargetRegisterClass GR64_TCRegClass; | |
extern const TargetRegisterClass GR64_NOREXRegClass; | |
extern const TargetRegisterClass GR64_TCW64RegClass; | |
extern const TargetRegisterClass GR64_TC_with_sub_8bitRegClass; | |
extern const TargetRegisterClass GR64_NOREX2_NOSP_and_GR64_TCRegClass; | |
extern const TargetRegisterClass GR64_TCW64_with_sub_8bitRegClass; | |
extern const TargetRegisterClass GR64_TC_and_GR64_TCW64RegClass; | |
extern const TargetRegisterClass GR64_with_sub_16bit_in_GR16_NOREXRegClass; | |
extern const TargetRegisterClass VK64RegClass; | |
extern const TargetRegisterClass VR64RegClass; | |
extern const TargetRegisterClass GR64PLTSafe_and_GR64_TCRegClass; | |
extern const TargetRegisterClass GR64_NOREX2_NOSP_and_GR64_TCW64RegClass; | |
extern const TargetRegisterClass GR64_NOREX_NOSPRegClass; | |
extern const TargetRegisterClass GR64_NOREX_and_GR64_TCRegClass; | |
extern const TargetRegisterClass GR64_TCW64_and_GR64_TC_with_sub_8bitRegClass; | |
extern const TargetRegisterClass VK64WMRegClass; | |
extern const TargetRegisterClass GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClass; | |
extern const TargetRegisterClass GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClass; | |
extern const TargetRegisterClass GR64PLTSafe_and_GR64_TCW64RegClass; | |
extern const TargetRegisterClass GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClass; | |
extern const TargetRegisterClass GR64_NOREX_and_GR64_TCW64RegClass; | |
extern const TargetRegisterClass GR64_ABCDRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_TCRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClass; | |
extern const TargetRegisterClass GR64_ADRegClass; | |
extern const TargetRegisterClass GR64_ArgRefRegClass; | |
extern const TargetRegisterClass GR64_and_LOW32_ADDR_ACCESS_RBPRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ArgRefRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BPSPRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BSIRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_CBRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_DIBPRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_SIDIRegClass; | |
extern const TargetRegisterClass GR64_ArgRef_and_GR64_TCRegClass; | |
extern const TargetRegisterClass GR64_and_LOW32_ADDR_ACCESSRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIRegClass; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClass; | |
extern const TargetRegisterClass RSTRegClass; | |
extern const TargetRegisterClass RFP80RegClass; | |
extern const TargetRegisterClass RFP80_7RegClass; | |
extern const TargetRegisterClass VR128XRegClass; | |
extern const TargetRegisterClass VR128RegClass; | |
extern const TargetRegisterClass VR256XRegClass; | |
extern const TargetRegisterClass VR256RegClass; | |
extern const TargetRegisterClass VR512RegClass; | |
extern const TargetRegisterClass VR512_0_15RegClass; | |
extern const TargetRegisterClass TILERegClass; | |
extern const TargetRegisterClass TILEPAIRRegClass; | |
} // end namespace X86 | |
} // end namespace llvm | |
#endif // GET_REGINFO_HEADER | |
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ | |
|* *| | |
|* Target Register and Register Classes Information *| | |
|* *| | |
|* Automatically generated file, do not edit! *| | |
|* *| | |
\*===----------------------------------------------------------------------===*/ | |
#ifdef GET_REGINFO_TARGET_DESC | |
#undef GET_REGINFO_TARGET_DESC | |
namespace llvm { | |
extern const MCRegisterClass X86MCRegisterClasses[]; | |
static const MVT::SimpleValueType VTLists[] = { | |
/* 0 */ MVT::i8, MVT::Other, | |
/* 2 */ MVT::i16, MVT::Other, | |
/* 4 */ MVT::i32, MVT::Other, | |
/* 6 */ MVT::i64, MVT::Other, | |
/* 8 */ MVT::f16, MVT::Other, | |
/* 10 */ MVT::f80, MVT::f64, MVT::f32, MVT::Other, | |
/* 14 */ MVT::f64, MVT::Other, | |
/* 16 */ MVT::f80, MVT::Other, | |
/* 18 */ MVT::v4f32, MVT::v2f64, MVT::v8f16, MVT::v8bf16, MVT::v16i8, MVT::v8i16, MVT::v4i32, MVT::v2i64, MVT::f128, MVT::Other, | |
/* 28 */ MVT::v1i1, MVT::Other, | |
/* 30 */ MVT::v2i1, MVT::Other, | |
/* 32 */ MVT::v4i1, MVT::Other, | |
/* 34 */ MVT::v8i1, MVT::Other, | |
/* 36 */ MVT::v16i1, MVT::Other, | |
/* 38 */ MVT::v32i1, MVT::Other, | |
/* 40 */ MVT::v64i1, MVT::Other, | |
/* 42 */ MVT::v8f32, MVT::v4f64, MVT::v16f16, MVT::v16bf16, MVT::v32i8, MVT::v16i16, MVT::v8i32, MVT::v4i64, MVT::Other, | |
/* 51 */ MVT::v16f32, MVT::v8f64, MVT::v32f16, MVT::v32bf16, MVT::v64i8, MVT::v32i16, MVT::v16i32, MVT::v8i64, MVT::Other, | |
/* 60 */ MVT::v16f32, MVT::v8f64, MVT::v64i8, MVT::v32i16, MVT::v16i32, MVT::v8i64, MVT::Other, | |
/* 67 */ MVT::x86mmx, MVT::Other, | |
/* 69 */ MVT::Untyped, MVT::Other, | |
/* 71 */ MVT::x86amx, MVT::Other, | |
}; | |
static const char *SubRegIndexNameTable[] = { "sub_8bit", "sub_8bit_hi", "sub_8bit_hi_phony", "sub_16bit", "sub_16bit_hi", "sub_32bit", "sub_mask_0", "sub_mask_1", "sub_t0", "sub_t1", "sub_xmm", "sub_ymm", "" }; | |
static const TargetRegisterInfo::SubRegCoveredBits SubRegIdxRangeTable[] = { | |
{ 65535, 65535 }, | |
{ 0, 8 }, // sub_8bit | |
{ 8, 8 }, // sub_8bit_hi | |
{ 8, 8 }, // sub_8bit_hi_phony | |
{ 0, 16 }, // sub_16bit | |
{ 16, 16 }, // sub_16bit_hi | |
{ 0, 32 }, // sub_32bit | |
{ 0, 65535 }, // sub_mask_0 | |
{ 65535, 65535 }, // sub_mask_1 | |
{ 0, 8192 }, // sub_t0 | |
{ 8192, 8192 }, // sub_t1 | |
{ 0, 128 }, // sub_xmm | |
{ 0, 256 }, // sub_ymm | |
}; | |
static const LaneBitmask SubRegIndexLaneMaskTable[] = { | |
LaneBitmask::getAll(), | |
LaneBitmask(0x0000000000000001), // sub_8bit | |
LaneBitmask(0x0000000000000002), // sub_8bit_hi | |
LaneBitmask(0x0000000000000004), // sub_8bit_hi_phony | |
LaneBitmask(0x0000000000000007), // sub_16bit | |
LaneBitmask(0x0000000000000008), // sub_16bit_hi | |
LaneBitmask(0x000000000000000F), // sub_32bit | |
LaneBitmask(0x0000000000000010), // sub_mask_0 | |
LaneBitmask(0x0000000000000020), // sub_mask_1 | |
LaneBitmask(0x0000000000000040), // sub_t0 | |
LaneBitmask(0x0000000000000080), // sub_t1 | |
LaneBitmask(0x0000000000000100), // sub_xmm | |
LaneBitmask(0x0000000000000100), // sub_ymm | |
}; | |
static const TargetRegisterInfo::RegClassInfo RegClassInfos[] = { | |
// Mode = 0 (Default) | |
{ 8, 8, 8, /*VTLists+*/0 }, // GR8 | |
{ 8, 8, 8, /*VTLists+*/0 }, // GRH8 | |
{ 8, 8, 8, /*VTLists+*/0 }, // GR8_NOREX2 | |
{ 8, 8, 8, /*VTLists+*/0 }, // GR8_NOREX | |
{ 8, 8, 8, /*VTLists+*/0 }, // GR8_ABCD_H | |
{ 8, 8, 8, /*VTLists+*/0 }, // GR8_ABCD_L | |
{ 16, 16, 16, /*VTLists+*/2 }, // GRH16 | |
{ 16, 16, 16, /*VTLists+*/2 }, // GR16 | |
{ 16, 16, 16, /*VTLists+*/2 }, // GR16_NOREX2 | |
{ 16, 16, 16, /*VTLists+*/2 }, // GR16_NOREX | |
{ 16, 16, 16, /*VTLists+*/28 }, // VK1 | |
{ 16, 16, 16, /*VTLists+*/36 }, // VK16 | |
{ 16, 16, 16, /*VTLists+*/30 }, // VK2 | |
{ 16, 16, 16, /*VTLists+*/32 }, // VK4 | |
{ 16, 16, 16, /*VTLists+*/34 }, // VK8 | |
{ 16, 16, 16, /*VTLists+*/36 }, // VK16WM | |
{ 16, 16, 16, /*VTLists+*/28 }, // VK1WM | |
{ 16, 16, 16, /*VTLists+*/30 }, // VK2WM | |
{ 16, 16, 16, /*VTLists+*/32 }, // VK4WM | |
{ 16, 16, 16, /*VTLists+*/34 }, // VK8WM | |
{ 16, 16, 16, /*VTLists+*/2 }, // SEGMENT_REG | |
{ 16, 16, 16, /*VTLists+*/2 }, // GR16_ABCD | |
{ 16, 16, 16, /*VTLists+*/2 }, // FPCCR | |
{ 32, 32, 16, /*VTLists+*/8 }, // FR16X | |
{ 32, 32, 16, /*VTLists+*/8 }, // FR16 | |
{ 32, 32, 16, /*VTLists+*/69 }, // VK16PAIR | |
{ 32, 32, 16, /*VTLists+*/69 }, // VK1PAIR | |
{ 32, 32, 16, /*VTLists+*/69 }, // VK2PAIR | |
{ 32, 32, 16, /*VTLists+*/69 }, // VK4PAIR | |
{ 32, 32, 16, /*VTLists+*/69 }, // VK8PAIR | |
{ 32, 32, 16, /*VTLists+*/69 }, // VK1PAIR_with_sub_mask_0_in_VK1WM | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS_RBP | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
{ 32, 32, 32, /*VTLists+*/12 }, // FR32X | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32 | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_NOSP | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
{ 32, 32, 32, /*VTLists+*/4 }, // DEBUG_REG | |
{ 32, 32, 32, /*VTLists+*/12 }, // FR32 | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_NOREX2 | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_NOREX2_NOSP | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_NOREX | |
{ 32, 32, 32, /*VTLists+*/38 }, // VK32 | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_NOREX_NOSP | |
{ 32, 32, 32, /*VTLists+*/12 }, // RFP32 | |
{ 32, 32, 32, /*VTLists+*/38 }, // VK32WM | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_ABCD | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_TC | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_ABCD_and_GR32_TC | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_AD | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_ArgRef | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_BPSP | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_BSI | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_CB | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_DC | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_DIBP | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_SIDI | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
{ 32, 32, 32, /*VTLists+*/4 }, // CCR | |
{ 32, 32, 32, /*VTLists+*/4 }, // DFCCR | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_ABCD_and_GR32_BSI | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_AD_and_GR32_ArgRef | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_ArgRef_and_GR32_CB | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_BPSP_and_GR32_DIBP | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_BPSP_and_GR32_TC | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_BSI_and_GR32_SIDI | |
{ 32, 32, 32, /*VTLists+*/4 }, // GR32_DIBP_and_GR32_SIDI | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
{ 32, 32, 32, /*VTLists+*/4 }, // LOW32_ADDR_ACCESS_with_sub_32bit | |
{ 64, 64, 32, /*VTLists+*/14 }, // RFP64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64 | |
{ 64, 64, 64, /*VTLists+*/14 }, // FR64X | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_8bit | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOSP | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX2 | |
{ 64, 64, 64, /*VTLists+*/6 }, // CONTROL_REG | |
{ 64, 64, 64, /*VTLists+*/14 }, // FR64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_16bit_in_GR16_NOREX2 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX2_NOSP | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64PLTSafe | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TCW64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TC_with_sub_8bit | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX2_NOSP_and_GR64_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TCW64_with_sub_8bit | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TC_and_GR64_TCW64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_16bit_in_GR16_NOREX | |
{ 64, 64, 64, /*VTLists+*/40 }, // VK64 | |
{ 64, 64, 64, /*VTLists+*/67 }, // VR64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64PLTSafe_and_GR64_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX2_NOSP_and_GR64_TCW64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX_NOSP | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX_and_GR64_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TCW64_and_GR64_TC_with_sub_8bit | |
{ 64, 64, 64, /*VTLists+*/40 }, // VK64WM | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64PLTSafe_and_GR64_TCW64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_NOREX_and_GR64_TCW64 | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_ABCD | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_AD | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_ArgRef | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_and_LOW32_ADDR_ACCESS_RBP | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_ArgRef | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_BPSP | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_BSI | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_CB | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_DIBP | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_SIDI | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_ArgRef_and_GR64_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_and_LOW32_ADDR_ACCESS | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
{ 64, 64, 64, /*VTLists+*/6 }, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
{ 80, 80, 32, /*VTLists+*/10 }, // RST | |
{ 80, 80, 32, /*VTLists+*/16 }, // RFP80 | |
{ 80, 80, 32, /*VTLists+*/16 }, // RFP80_7 | |
{ 128, 128, 128, /*VTLists+*/18 }, // VR128X | |
{ 128, 128, 128, /*VTLists+*/18 }, // VR128 | |
{ 256, 256, 256, /*VTLists+*/42 }, // VR256X | |
{ 256, 256, 256, /*VTLists+*/42 }, // VR256 | |
{ 512, 512, 512, /*VTLists+*/51 }, // VR512 | |
{ 512, 512, 512, /*VTLists+*/60 }, // VR512_0_15 | |
{ 8192, 8192, 8192, /*VTLists+*/71 }, // TILE | |
{ 16384, 16384, 512, /*VTLists+*/69 }, // TILEPAIR | |
}; | |
static const uint32_t GR8SubClassMask[] = { | |
0x0000003d, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00200380, 0xc7ff2f3a, 0x72e38c3f, 0x0fefefbd, 0x00000000, // sub_8bit | |
0x00200000, 0xc19d0000, 0x00000001, 0x00e12680, 0x00000000, // sub_8bit_hi | |
}; | |
static const uint32_t GRH8SubClassMask[] = { | |
0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t GR8_NOREX2SubClassMask[] = { | |
0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00200300, 0xc7ff2f20, 0x72e3803f, 0x0fefefbd, 0x00000000, // sub_8bit | |
0x00200000, 0xc19d0000, 0x00000001, 0x00e12680, 0x00000000, // sub_8bit_hi | |
}; | |
static const uint32_t GR8_NOREXSubClassMask[] = { | |
0x00000038, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00200000, 0xc19d0000, 0x00000001, 0x00e12680, 0x00000000, // sub_8bit | |
0x00200000, 0xc19d0000, 0x00000001, 0x00e12680, 0x00000000, // sub_8bit_hi | |
}; | |
static const uint32_t GR8_ABCD_HSubClassMask[] = { | |
0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00200000, 0xc19d0000, 0x00000001, 0x00e12680, 0x00000000, // sub_8bit_hi | |
}; | |
static const uint32_t GR8_ABCD_LSubClassMask[] = { | |
0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00200000, 0xc19d0000, 0x00000001, 0x00e12680, 0x00000000, // sub_8bit | |
}; | |
static const uint32_t GRH16SubClassMask[] = { | |
0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t GR16SubClassMask[] = { | |
0x00200380, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00000000, 0xc7ff2f3a, 0x72e38c3f, 0x0fefefbd, 0x00000000, // sub_16bit | |
}; | |
static const uint32_t GR16_NOREX2SubClassMask[] = { | |
0x00200300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00000000, 0xc7ff2f20, 0x72e3803f, 0x0fefefbd, 0x00000000, // sub_16bit | |
}; | |
static const uint32_t GR16_NOREXSubClassMask[] = { | |
0x00200200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00000000, 0xc7ff2c00, 0x4200003f, 0x0fe7e7a8, 0x00000000, // sub_16bit | |
}; | |
static const uint32_t VK1SubClassMask[] = { | |
0x000ffc00, 0x00009000, 0x04000000, 0x00000002, 0x00000000, | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK16SubClassMask[] = { | |
0x000ffc00, 0x00009000, 0x04000000, 0x00000002, 0x00000000, | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK2SubClassMask[] = { | |
0x000ffc00, 0x00009000, 0x04000000, 0x00000002, 0x00000000, | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK4SubClassMask[] = { | |
0x000ffc00, 0x00009000, 0x04000000, 0x00000002, 0x00000000, | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK8SubClassMask[] = { | |
0x000ffc00, 0x00009000, 0x04000000, 0x00000002, 0x00000000, | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK16WMSubClassMask[] = { | |
0x000f8000, 0x00008000, 0x00000000, 0x00000002, 0x00000000, | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK1WMSubClassMask[] = { | |
0x000f8000, 0x00008000, 0x00000000, 0x00000002, 0x00000000, | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK2WMSubClassMask[] = { | |
0x000f8000, 0x00008000, 0x00000000, 0x00000002, 0x00000000, | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK4WMSubClassMask[] = { | |
0x000f8000, 0x00008000, 0x00000000, 0x00000002, 0x00000000, | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VK8WMSubClassMask[] = { | |
0x000f8000, 0x00008000, 0x00000000, 0x00000002, 0x00000000, | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t SEGMENT_REGSubClassMask[] = { | |
0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t GR16_ABCDSubClassMask[] = { | |
0x00200000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00000000, 0xc19d0000, 0x00000001, 0x00e12680, 0x00000000, // sub_16bit | |
}; | |
static const uint32_t FPCCRSubClassMask[] = { | |
0x00400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t FR16XSubClassMask[] = { | |
0x01800000, 0x00000084, 0x00004200, 0x80000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001e, // sub_xmm | |
}; | |
static const uint32_t FR16SubClassMask[] = { | |
0x01000000, 0x00000080, 0x00004000, 0x00000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000014, // sub_xmm | |
}; | |
static const uint32_t VK16PAIRSubClassMask[] = { | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t VK1PAIRSubClassMask[] = { | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t VK2PAIRSubClassMask[] = { | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t VK4PAIRSubClassMask[] = { | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t VK8PAIRSubClassMask[] = { | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t VK1PAIR_with_sub_mask_0_in_VK1WMSubClassMask[] = { | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t LOW32_ADDR_ACCESS_RBPSubClassMask[] = { | |
0x80000000, 0xcfff2f3b, 0x0000007f, 0x01101000, 0x00000000, | |
0x00000000, 0x00000000, 0x72e38c20, 0x0fefefbd, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t LOW32_ADDR_ACCESSSubClassMask[] = { | |
0x00000000, 0xc7ff2b19, 0x0000005f, 0x00100000, 0x00000000, | |
0x00000000, 0x00000000, 0x72e38c20, 0x0fefefbd, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t LOW32_ADDR_ACCESS_RBP_with_sub_8bitSubClassMask[] = { | |
0x00000000, 0xc7ff2f3a, 0x0000003f, 0x01000000, 0x00000000, | |
0x00000000, 0x00000000, 0x72e38c20, 0x0fefefbd, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t FR32XSubClassMask[] = { | |
0x00000000, 0x00000084, 0x00004200, 0x80000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001e, // sub_xmm | |
}; | |
static const uint32_t GR32SubClassMask[] = { | |
0x00000000, 0xc7ff2b18, 0x0000001f, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x72e38c20, 0x0fefefbd, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_NOSPSubClassMask[] = { | |
0x00000000, 0xc7dd2210, 0x0000001b, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x70430820, 0x0defaeb4, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2SubClassMask[] = { | |
0x00000000, 0xc7ff2f20, 0x0000003f, 0x01000000, 0x00000000, | |
0x00000000, 0x00000000, 0x72e38020, 0x0fefefbd, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t DEBUG_REGSubClassMask[] = { | |
0x00000000, 0x00000040, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t FR32SubClassMask[] = { | |
0x00000000, 0x00000080, 0x00004000, 0x00000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000014, // sub_xmm | |
}; | |
static const uint32_t GR32_NOREX2SubClassMask[] = { | |
0x00000000, 0xc7ff2b00, 0x0000001f, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x72e38020, 0x0fefefbd, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_NOREX2_NOSPSubClassMask[] = { | |
0x00000000, 0xc7dd2200, 0x0000001b, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x70430020, 0x0defaeb4, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXSubClassMask[] = { | |
0x00000000, 0xc7ff2c00, 0x0000003f, 0x01000000, 0x00000000, | |
0x00000000, 0x00000000, 0x42000020, 0x0fe7e7a8, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_NOREXSubClassMask[] = { | |
0x00000000, 0xc7ff2800, 0x0000001f, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x42000020, 0x0fe7e7a8, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t VK32SubClassMask[] = { | |
0x00000000, 0x00009000, 0x04000000, 0x00000002, 0x00000000, | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t GR32_NOREX_NOSPSubClassMask[] = { | |
0x00000000, 0xc7dd2000, 0x0000001b, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x40000020, 0x0de7a6a0, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t RFP32SubClassMask[] = { | |
0x00000000, 0x00004000, 0x00000080, 0x20000000, 0x00000000, | |
}; | |
static const uint32_t VK32WMSubClassMask[] = { | |
0x00000000, 0x00008000, 0x00000000, 0x00000002, 0x00000000, | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t GR32_ABCDSubClassMask[] = { | |
0x00000000, 0xc19d0000, 0x00000001, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00e12680, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_TCSubClassMask[] = { | |
0x00000000, 0x811e0000, 0x00000005, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x02c02700, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_ABCD_and_GR32_TCSubClassMask[] = { | |
0x00000000, 0x811c0000, 0x00000001, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00c02600, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_ADSubClassMask[] = { | |
0x00000000, 0x80080000, 0x00000000, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00400400, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_ArgRefSubClassMask[] = { | |
0x00000000, 0x81100000, 0x00000001, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00c02000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_BPSPSubClassMask[] = { | |
0x00000000, 0x00200000, 0x00000006, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000020, 0x03004000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_BSISubClassMask[] = { | |
0x00000000, 0x40400000, 0x00000008, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x04208000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_CBSubClassMask[] = { | |
0x00000000, 0x40800000, 0x00000001, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00a10000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_DCSubClassMask[] = { | |
0x00000000, 0x81000000, 0x00000001, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00c02000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_DIBPSubClassMask[] = { | |
0x00000000, 0x02000000, 0x00000012, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000020, 0x09020000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_SIDISubClassMask[] = { | |
0x00000000, 0x04000000, 0x00000018, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x0c040000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t LOW32_ADDR_ACCESS_RBP_with_sub_32bitSubClassMask[] = { | |
0x00000000, 0x08000000, 0x00000060, 0x01101000, 0x00000000, | |
}; | |
static const uint32_t CCRSubClassMask[] = { | |
0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t DFCCRSubClassMask[] = { | |
0x00000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t GR32_ABCD_and_GR32_BSISubClassMask[] = { | |
0x00000000, 0x40000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00200000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_AD_and_GR32_ArgRefSubClassMask[] = { | |
0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00400000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_ArgRef_and_GR32_CBSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x00800000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_BPSP_and_GR32_DIBPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000020, 0x01000000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_BPSP_and_GR32_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_BSI_and_GR32_SIDISubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000008, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t GR32_DIBP_and_GR32_SIDISubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, | |
0x00000000, 0x00000000, 0x00000000, 0x08000000, 0x00000000, // sub_32bit | |
}; | |
static const uint32_t LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000020, 0x01000000, 0x00000000, | |
}; | |
static const uint32_t LOW32_ADDR_ACCESS_with_sub_32bitSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000040, 0x00100000, 0x00000000, | |
}; | |
static const uint32_t RFP64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000080, 0x20000000, 0x00000000, | |
}; | |
static const uint32_t GR64SubClassMask[] = { | |
0x00000000, 0x00000000, 0xf3ff9d00, 0x0ffffffd, 0x00000000, | |
}; | |
static const uint32_t FR64XSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00004200, 0x80000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001e, // sub_xmm | |
}; | |
static const uint32_t GR64_with_sub_8bitSubClassMask[] = { | |
0x00000000, 0x00000000, 0x72e38c00, 0x0fefefbd, 0x00000000, | |
}; | |
static const uint32_t GR64_NOSPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x70430800, 0x0defaeb4, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX2SubClassMask[] = { | |
0x00000000, 0x00000000, 0xf3ff9000, 0x0ffffffd, 0x00000000, | |
}; | |
static const uint32_t CONTROL_REGSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00002000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t FR64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00004000, 0x00000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000014, // sub_xmm | |
}; | |
static const uint32_t GR64_with_sub_16bit_in_GR16_NOREX2SubClassMask[] = { | |
0x00000000, 0x00000000, 0x72e38000, 0x0fefefbd, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX2_NOSPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x70430000, 0x0defaeb4, 0x00000000, | |
}; | |
static const uint32_t GR64PLTSafeSubClassMask[] = { | |
0x00000000, 0x00000000, 0x50020000, 0x0de7a6b0, 0x00000000, | |
}; | |
static const uint32_t GR64_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x91640000, 0x0edc277d, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREXSubClassMask[] = { | |
0x00000000, 0x00000000, 0xc2080000, 0x0ff7f7e8, 0x00000000, | |
}; | |
static const uint32_t GR64_TCW64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x21900000, 0x02d82f55, 0x00000000, | |
}; | |
static const uint32_t GR64_TC_with_sub_8bitSubClassMask[] = { | |
0x00000000, 0x00000000, 0x10600000, 0x0ecc273d, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX2_NOSP_and_GR64_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x10400000, 0x0ccc2634, 0x00000000, | |
}; | |
static const uint32_t GR64_TCW64_with_sub_8bitSubClassMask[] = { | |
0x00000000, 0x00000000, 0x20800000, 0x02c82f15, 0x00000000, | |
}; | |
static const uint32_t GR64_TC_and_GR64_TCW64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x01000000, 0x02d82755, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_16bit_in_GR16_NOREXSubClassMask[] = { | |
0x00000000, 0x00000000, 0x42000000, 0x0fe7e7a8, 0x00000000, | |
}; | |
static const uint32_t VK64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x04000000, 0x00000002, 0x00000000, | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t VR64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x08000000, 0x00000000, 0x00000000, | |
}; | |
static const uint32_t GR64PLTSafe_and_GR64_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x10000000, 0x0cc42630, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX2_NOSP_and_GR64_TCW64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x20000000, 0x00c82e14, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX_NOSPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x40000000, 0x0de7a6a0, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX_and_GR64_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x80000000, 0x0ed42768, 0x00000000, | |
}; | |
static const uint32_t GR64_TCW64_and_GR64_TC_with_sub_8bitSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x02c82715, 0x00000000, | |
}; | |
static const uint32_t VK64WMSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, | |
0x40000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_0 | |
0x7e000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, // sub_mask_1 | |
}; | |
static const uint32_t GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00c82614, 0x00000000, | |
}; | |
static const uint32_t GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x0ec42728, 0x00000000, | |
}; | |
static const uint32_t GR64PLTSafe_and_GR64_TCW64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00c02610, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX_and_GR64PLTSafe_and_GR64_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x0cc42620, 0x00000000, | |
}; | |
static const uint32_t GR64_NOREX_and_GR64_TCW64SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x02d02740, 0x00000000, | |
}; | |
static const uint32_t GR64_ABCDSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00e12680, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x02c02700, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00c02600, 0x00000000, | |
}; | |
static const uint32_t GR64_ADSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00400400, 0x00000000, | |
}; | |
static const uint32_t GR64_ArgRefSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00080800, 0x00000000, | |
}; | |
static const uint32_t GR64_and_LOW32_ADDR_ACCESS_RBPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x01101000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_ArgRefSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00c02000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_BPSPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x03004000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_BSISubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x04208000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_CBSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00a10000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_DIBPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x09020000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_SIDISubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x0c040000, 0x00000000, | |
}; | |
static const uint32_t GR64_ArgRef_and_GR64_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00080000, 0x00000000, | |
}; | |
static const uint32_t GR64_and_LOW32_ADDR_ACCESSSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00100000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSISubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00200000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00400000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00800000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x01000000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDISubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x04000000, 0x00000000, | |
}; | |
static const uint32_t GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDISubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x08000000, 0x00000000, | |
}; | |
static const uint32_t RSTSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, | |
}; | |
static const uint32_t RFP80SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x20000000, 0x00000000, | |
}; | |
static const uint32_t RFP80_7SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x40000000, 0x00000000, | |
}; | |
static const uint32_t VR128XSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001e, // sub_xmm | |
}; | |
static const uint32_t VR128SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000014, // sub_xmm | |
}; | |
static const uint32_t VR256XSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000018, // sub_ymm | |
}; | |
static const uint32_t VR256SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, // sub_ymm | |
}; | |
static const uint32_t VR512SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000018, | |
}; | |
static const uint32_t VR512_0_15SubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, | |
}; | |
static const uint32_t TILESubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000020, | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, // sub_t0 | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, // sub_t1 | |
}; | |
static const uint32_t TILEPAIRSubClassMask[] = { | |
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040, | |
}; | |
static const uint16_t SuperRegIdxSeqs[] = { | |
/* 0 */ 1, 0, | |
/* 2 */ 1, 2, 0, | |
/* 5 */ 4, 0, | |
/* 7 */ 6, 0, | |
/* 9 */ 7, 8, 0, | |
/* 12 */ 9, 10, 0, | |
/* 15 */ 11, 0, | |
/* 17 */ 12, 0, | |
}; | |
static unsigned const GR8_NOREX2Superclasses[] = { | |
X86::GR8RegClassID, | |
}; | |
static unsigned const GR8_NOREXSuperclasses[] = { | |
X86::GR8RegClassID, | |
X86::GR8_NOREX2RegClassID, | |
}; | |
static unsigned const GR8_ABCD_HSuperclasses[] = { | |
X86::GR8RegClassID, | |
X86::GR8_NOREX2RegClassID, | |
X86::GR8_NOREXRegClassID, | |
}; | |
static unsigned const GR8_ABCD_LSuperclasses[] = { | |
X86::GR8RegClassID, | |
X86::GR8_NOREX2RegClassID, | |
X86::GR8_NOREXRegClassID, | |
}; | |
static unsigned const GR16_NOREX2Superclasses[] = { | |
X86::GR16RegClassID, | |
}; | |
static unsigned const GR16_NOREXSuperclasses[] = { | |
X86::GR16RegClassID, | |
X86::GR16_NOREX2RegClassID, | |
}; | |
static unsigned const VK1Superclasses[] = { | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
}; | |
static unsigned const VK16Superclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
}; | |
static unsigned const VK2Superclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
}; | |
static unsigned const VK4Superclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK8RegClassID, | |
}; | |
static unsigned const VK8Superclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
}; | |
static unsigned const VK16WMSuperclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK1WMRegClassID, | |
X86::VK2WMRegClassID, | |
X86::VK4WMRegClassID, | |
X86::VK8WMRegClassID, | |
}; | |
static unsigned const VK1WMSuperclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK16WMRegClassID, | |
X86::VK2WMRegClassID, | |
X86::VK4WMRegClassID, | |
X86::VK8WMRegClassID, | |
}; | |
static unsigned const VK2WMSuperclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK16WMRegClassID, | |
X86::VK1WMRegClassID, | |
X86::VK4WMRegClassID, | |
X86::VK8WMRegClassID, | |
}; | |
static unsigned const VK4WMSuperclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK16WMRegClassID, | |
X86::VK1WMRegClassID, | |
X86::VK2WMRegClassID, | |
X86::VK8WMRegClassID, | |
}; | |
static unsigned const VK8WMSuperclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK16WMRegClassID, | |
X86::VK1WMRegClassID, | |
X86::VK2WMRegClassID, | |
X86::VK4WMRegClassID, | |
}; | |
static unsigned const GR16_ABCDSuperclasses[] = { | |
X86::GR16RegClassID, | |
X86::GR16_NOREX2RegClassID, | |
X86::GR16_NOREXRegClassID, | |
}; | |
static unsigned const FR16Superclasses[] = { | |
X86::FR16XRegClassID, | |
}; | |
static unsigned const VK16PAIRSuperclasses[] = { | |
X86::VK1PAIRRegClassID, | |
X86::VK2PAIRRegClassID, | |
X86::VK4PAIRRegClassID, | |
X86::VK8PAIRRegClassID, | |
}; | |
static unsigned const VK1PAIRSuperclasses[] = { | |
X86::VK16PAIRRegClassID, | |
X86::VK2PAIRRegClassID, | |
X86::VK4PAIRRegClassID, | |
X86::VK8PAIRRegClassID, | |
}; | |
static unsigned const VK2PAIRSuperclasses[] = { | |
X86::VK16PAIRRegClassID, | |
X86::VK1PAIRRegClassID, | |
X86::VK4PAIRRegClassID, | |
X86::VK8PAIRRegClassID, | |
}; | |
static unsigned const VK4PAIRSuperclasses[] = { | |
X86::VK16PAIRRegClassID, | |
X86::VK1PAIRRegClassID, | |
X86::VK2PAIRRegClassID, | |
X86::VK8PAIRRegClassID, | |
}; | |
static unsigned const VK8PAIRSuperclasses[] = { | |
X86::VK16PAIRRegClassID, | |
X86::VK1PAIRRegClassID, | |
X86::VK2PAIRRegClassID, | |
X86::VK4PAIRRegClassID, | |
}; | |
static unsigned const VK1PAIR_with_sub_mask_0_in_VK1WMSuperclasses[] = { | |
X86::VK16PAIRRegClassID, | |
X86::VK1PAIRRegClassID, | |
X86::VK2PAIRRegClassID, | |
X86::VK4PAIRRegClassID, | |
X86::VK8PAIRRegClassID, | |
}; | |
static unsigned const LOW32_ADDR_ACCESSSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
}; | |
static unsigned const LOW32_ADDR_ACCESS_RBP_with_sub_8bitSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
}; | |
static unsigned const FR32XSuperclasses[] = { | |
X86::FR16XRegClassID, | |
}; | |
static unsigned const GR32Superclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
}; | |
static unsigned const GR32_NOSPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
}; | |
static unsigned const LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2Superclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
}; | |
static unsigned const FR32Superclasses[] = { | |
X86::FR16XRegClassID, | |
X86::FR16RegClassID, | |
X86::FR32XRegClassID, | |
}; | |
static unsigned const GR32_NOREX2Superclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
}; | |
static unsigned const GR32_NOREX2_NOSPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
}; | |
static unsigned const LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
}; | |
static unsigned const GR32_NOREXSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
}; | |
static unsigned const VK32Superclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
}; | |
static unsigned const GR32_NOREX_NOSPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
}; | |
static unsigned const VK32WMSuperclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK16WMRegClassID, | |
X86::VK1WMRegClassID, | |
X86::VK2WMRegClassID, | |
X86::VK4WMRegClassID, | |
X86::VK8WMRegClassID, | |
X86::VK32RegClassID, | |
}; | |
static unsigned const GR32_ABCDSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
}; | |
static unsigned const GR32_TCSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
}; | |
static unsigned const GR32_ABCD_and_GR32_TCSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
X86::GR32_TCRegClassID, | |
}; | |
static unsigned const GR32_ADSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
X86::GR32_TCRegClassID, | |
X86::GR32_ABCD_and_GR32_TCRegClassID, | |
}; | |
static unsigned const GR32_ArgRefSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
X86::GR32_TCRegClassID, | |
X86::GR32_ABCD_and_GR32_TCRegClassID, | |
}; | |
static unsigned const GR32_BPSPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
}; | |
static unsigned const GR32_BSISuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
}; | |
static unsigned const GR32_CBSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
}; | |
static unsigned const GR32_DCSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
X86::GR32_TCRegClassID, | |
X86::GR32_ABCD_and_GR32_TCRegClassID, | |
X86::GR32_ArgRefRegClassID, | |
}; | |
static unsigned const GR32_DIBPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
}; | |
static unsigned const GR32_SIDISuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
}; | |
static unsigned const LOW32_ADDR_ACCESS_RBP_with_sub_32bitSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
}; | |
static unsigned const GR32_ABCD_and_GR32_BSISuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
X86::GR32_BSIRegClassID, | |
X86::GR32_CBRegClassID, | |
}; | |
static unsigned const GR32_AD_and_GR32_ArgRefSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
X86::GR32_TCRegClassID, | |
X86::GR32_ABCD_and_GR32_TCRegClassID, | |
X86::GR32_ADRegClassID, | |
X86::GR32_ArgRefRegClassID, | |
X86::GR32_DCRegClassID, | |
}; | |
static unsigned const GR32_ArgRef_and_GR32_CBSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_ABCDRegClassID, | |
X86::GR32_TCRegClassID, | |
X86::GR32_ABCD_and_GR32_TCRegClassID, | |
X86::GR32_ArgRefRegClassID, | |
X86::GR32_CBRegClassID, | |
X86::GR32_DCRegClassID, | |
}; | |
static unsigned const GR32_BPSP_and_GR32_DIBPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_BPSPRegClassID, | |
X86::GR32_DIBPRegClassID, | |
}; | |
static unsigned const GR32_BPSP_and_GR32_TCSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_TCRegClassID, | |
X86::GR32_BPSPRegClassID, | |
}; | |
static unsigned const GR32_BSI_and_GR32_SIDISuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_BSIRegClassID, | |
X86::GR32_SIDIRegClassID, | |
}; | |
static unsigned const GR32_DIBP_and_GR32_SIDISuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::GR32RegClassID, | |
X86::GR32_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR32_NOREX2RegClassID, | |
X86::GR32_NOREX2_NOSPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR32_NOREXRegClassID, | |
X86::GR32_NOREX_NOSPRegClassID, | |
X86::GR32_DIBPRegClassID, | |
X86::GR32_SIDIRegClassID, | |
}; | |
static unsigned const LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID, | |
}; | |
static unsigned const LOW32_ADDR_ACCESS_with_sub_32bitSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID, | |
}; | |
static unsigned const RFP64Superclasses[] = { | |
X86::RFP32RegClassID, | |
}; | |
static unsigned const FR64XSuperclasses[] = { | |
X86::FR16XRegClassID, | |
X86::FR32XRegClassID, | |
}; | |
static unsigned const GR64_with_sub_8bitSuperclasses[] = { | |
X86::GR64RegClassID, | |
}; | |
static unsigned const GR64_NOSPSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
}; | |
static unsigned const GR64_NOREX2Superclasses[] = { | |
X86::GR64RegClassID, | |
}; | |
static unsigned const FR64Superclasses[] = { | |
X86::FR16XRegClassID, | |
X86::FR16RegClassID, | |
X86::FR32XRegClassID, | |
X86::FR32RegClassID, | |
X86::FR64XRegClassID, | |
}; | |
static unsigned const GR64_with_sub_16bit_in_GR16_NOREX2Superclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
}; | |
static unsigned const GR64_NOREX2_NOSPSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
}; | |
static unsigned const GR64PLTSafeSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
}; | |
static unsigned const GR64_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
}; | |
static unsigned const GR64_NOREXSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
}; | |
static unsigned const GR64_TCW64Superclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
}; | |
static unsigned const GR64_TC_with_sub_8bitSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
}; | |
static unsigned const GR64_NOREX2_NOSP_and_GR64_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
}; | |
static unsigned const GR64_TCW64_with_sub_8bitSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_TCW64RegClassID, | |
}; | |
static unsigned const GR64_TC_and_GR64_TCW64Superclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_TCW64RegClassID, | |
}; | |
static unsigned const GR64_with_sub_16bit_in_GR16_NOREXSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREXRegClassID, | |
}; | |
static unsigned const VK64Superclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK32RegClassID, | |
}; | |
static unsigned const GR64PLTSafe_and_GR64_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
}; | |
static unsigned const GR64_NOREX2_NOSP_and_GR64_TCW64Superclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
}; | |
static unsigned const GR64_NOREX_NOSPSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
}; | |
static unsigned const GR64_NOREX_and_GR64_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
}; | |
static unsigned const GR64_TCW64_and_GR64_TC_with_sub_8bitSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
}; | |
static unsigned const VK64WMSuperclasses[] = { | |
X86::VK1RegClassID, | |
X86::VK16RegClassID, | |
X86::VK2RegClassID, | |
X86::VK4RegClassID, | |
X86::VK8RegClassID, | |
X86::VK16WMRegClassID, | |
X86::VK1WMRegClassID, | |
X86::VK2WMRegClassID, | |
X86::VK4WMRegClassID, | |
X86::VK8WMRegClassID, | |
X86::VK32RegClassID, | |
X86::VK32WMRegClassID, | |
X86::VK64RegClassID, | |
}; | |
static unsigned const GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64Superclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
}; | |
static unsigned const GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
}; | |
static unsigned const GR64PLTSafe_and_GR64_TCW64Superclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
}; | |
static unsigned const GR64_NOREX_and_GR64PLTSafe_and_GR64_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
}; | |
static unsigned const GR64_NOREX_and_GR64_TCW64Superclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
}; | |
static unsigned const GR64_ABCDSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
X86::GR64_ABCDRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, | |
}; | |
static unsigned const GR64_ADSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
X86::GR64_ABCDRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClassID, | |
}; | |
static unsigned const GR64_ArgRefSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
}; | |
static unsigned const GR64_and_LOW32_ADDR_ACCESS_RBPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID, | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_NOREXRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_ArgRefSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
X86::GR64_ABCDRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_BPSPSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_BSISuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_CBSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_ABCDRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_DIBPSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_SIDISuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
}; | |
static unsigned const GR64_ArgRef_and_GR64_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_ArgRefRegClassID, | |
}; | |
static unsigned const GR64_and_LOW32_ADDR_ACCESSSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESSRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID, | |
X86::LOW32_ADDR_ACCESS_with_sub_32bitRegClassID, | |
X86::GR64RegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
X86::GR64_and_LOW32_ADDR_ACCESS_RBPRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSISuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_ABCDRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_BSIRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_CBRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
X86::GR64_ABCDRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClassID, | |
X86::GR64_ADRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_ArgRefRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCW64RegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
X86::GR64_ABCDRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_ArgRefRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_CBRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPSuperclasses[] = { | |
X86::LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID, | |
X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitRegClassID, | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_and_LOW32_ADDR_ACCESS_RBPRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_BPSPRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_DIBPRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCSuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TCW64RegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TCW64_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64_TCW64RegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_BPSPRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDISuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_BSIRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_SIDIRegClassID, | |
}; | |
static unsigned const GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDISuperclasses[] = { | |
X86::GR64RegClassID, | |
X86::GR64_with_sub_8bitRegClassID, | |
X86::GR64_NOSPRegClassID, | |
X86::GR64_NOREX2RegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClassID, | |
X86::GR64_NOREX2_NOSPRegClassID, | |
X86::GR64PLTSafeRegClassID, | |
X86::GR64_TCRegClassID, | |
X86::GR64_NOREXRegClassID, | |
X86::GR64_TC_with_sub_8bitRegClassID, | |
X86::GR64_NOREX2_NOSP_and_GR64_TCRegClassID, | |
X86::GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_NOREX_NOSPRegClassID, | |
X86::GR64_NOREX_and_GR64_TCRegClassID, | |
X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID, | |
X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_DIBPRegClassID, | |
X86::GR64_with_sub_32bit_in_GR32_SIDIRegClassID, | |
}; | |
static unsigned const RFP80Superclasses[] = { | |
X86::RFP32RegClassID, | |
X86::RFP64RegClassID, | |
}; | |
static unsigned const VR128XSuperclasses[] = { | |
X86::FR16XRegClassID, | |
X86::FR32XRegClassID, | |
X86::FR64XRegClassID, | |
}; | |
static unsigned const VR128Superclasses[] = { | |
X86::FR16XRegClassID, | |
X86::FR16RegClassID, | |
X86::FR32XRegClassID, | |
X86::FR32RegClassID, | |
X86::FR64XRegClassID, | |
X86::FR64RegClassID, | |
X86::VR128XRegClassID, | |
}; | |
static unsigned const VR256Superclasses[] = { | |
X86::VR256XRegClassID, | |
}; | |
static unsigned const VR512_0_15Superclasses[] = { | |
X86::VR512RegClassID, | |
}; | |
static inline unsigned GR8AltOrderSelect(const MachineFunction &MF) { | |
return MF.getSubtarget<X86Subtarget>().is64Bit(); | |
} | |
static ArrayRef<MCPhysReg> GR8GetRawAllocationOrder(const MachineFunction &MF) { | |
static const MCPhysReg AltOrder1[] = { X86::AL, X86::CL, X86::DL, X86::BL, X86::SIL, X86::DIL, X86::BPL, X86::SPL, X86::R8B, X86::R9B, X86::R10B, X86::R11B, X86::R16B, X86::R17B, X86::R18B, X86::R19B, X86::R22B, X86::R23B, X86::R24B, X86::R25B, X86::R26B, X86::R27B, X86::R30B, X86::R31B, X86::R14B, X86::R15B, X86::R12B, X86::R13B, X86::R20B, X86::R21B, X86::R28B, X86::R29B }; | |
const MCRegisterClass &MCR = X86MCRegisterClasses[X86::GR8RegClassID]; | |
const ArrayRef<MCPhysReg> Order[] = { | |
ArrayRef(MCR.begin(), MCR.getNumRegs()), | |
ArrayRef(AltOrder1) | |
}; | |
const unsigned Select = GR8AltOrderSelect(MF); | |
assert(Select < 2); | |
return Order[Select]; | |
} | |
static inline unsigned GR8_NOREX2AltOrderSelect(const MachineFunction &MF) { | |
return MF.getSubtarget<X86Subtarget>().is64Bit(); | |
} | |
static ArrayRef<MCPhysReg> GR8_NOREX2GetRawAllocationOrder(const MachineFunction &MF) { | |
static const MCPhysReg AltOrder1[] = { X86::AL, X86::CL, X86::DL, X86::BL, X86::SIL, X86::DIL, X86::BPL, X86::SPL, X86::R8B, X86::R9B, X86::R10B, X86::R11B, X86::R14B, X86::R15B, X86::R12B, X86::R13B }; | |
const MCRegisterClass &MCR = X86MCRegisterClasses[X86::GR8_NOREX2RegClassID]; | |
const ArrayRef<MCPhysReg> Order[] = { | |
ArrayRef(MCR.begin(), MCR.getNumRegs()), | |
ArrayRef(AltOrder1) | |
}; | |
const unsigned Select = GR8_NOREX2AltOrderSelect(MF); | |
assert(Select < 2); | |
return Order[Select]; | |
} | |
static inline unsigned GR8_NOREXAltOrderSelect(const MachineFunction &MF) { | |
return MF.getSubtarget<X86Subtarget>().is64Bit(); | |
} | |
static ArrayRef<MCPhysReg> GR8_NOREXGetRawAllocationOrder(const MachineFunction &MF) { | |
static const MCPhysReg AltOrder1[] = { X86::AL, X86::CL, X86::DL, X86::BL }; | |
const MCRegisterClass &MCR = X86MCRegisterClasses[X86::GR8_NOREXRegClassID]; | |
const ArrayRef<MCPhysReg> Order[] = { | |
ArrayRef(MCR.begin(), MCR.getNumRegs()), | |
ArrayRef(AltOrder1) | |
}; | |
const unsigned Select = GR8_NOREXAltOrderSelect(MF); | |
assert(Select < 2); | |
return Order[Select]; | |
} | |
namespace X86 { // Register class instances | |
extern const TargetRegisterClass GR8RegClass = { | |
&X86MCRegisterClasses[GR8RegClassID], | |
GR8SubClassMask, | |
SuperRegIdxSeqs + 2, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
GR8GetRawAllocationOrder | |
}; | |
extern const TargetRegisterClass GRH8RegClass = { | |
&X86MCRegisterClasses[GRH8RegClassID], | |
GRH8SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR8_NOREX2RegClass = { | |
&X86MCRegisterClasses[GR8_NOREX2RegClassID], | |
GR8_NOREX2SubClassMask, | |
SuperRegIdxSeqs + 2, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR8_NOREX2Superclasses, 1, | |
GR8_NOREX2GetRawAllocationOrder | |
}; | |
extern const TargetRegisterClass GR8_NOREXRegClass = { | |
&X86MCRegisterClasses[GR8_NOREXRegClassID], | |
GR8_NOREXSubClassMask, | |
SuperRegIdxSeqs + 2, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR8_NOREXSuperclasses, 2, | |
GR8_NOREXGetRawAllocationOrder | |
}; | |
extern const TargetRegisterClass GR8_ABCD_HRegClass = { | |
&X86MCRegisterClasses[GR8_ABCD_HRegClassID], | |
GR8_ABCD_HSubClassMask, | |
SuperRegIdxSeqs + 3, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR8_ABCD_HSuperclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR8_ABCD_LRegClass = { | |
&X86MCRegisterClasses[GR8_ABCD_LRegClassID], | |
GR8_ABCD_LSubClassMask, | |
SuperRegIdxSeqs + 0, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR8_ABCD_LSuperclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass GRH16RegClass = { | |
&X86MCRegisterClasses[GRH16RegClassID], | |
GRH16SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR16RegClass = { | |
&X86MCRegisterClasses[GR16RegClassID], | |
GR16SubClassMask, | |
SuperRegIdxSeqs + 5, | |
LaneBitmask(0x0000000000000003), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR16_NOREX2RegClass = { | |
&X86MCRegisterClasses[GR16_NOREX2RegClassID], | |
GR16_NOREX2SubClassMask, | |
SuperRegIdxSeqs + 5, | |
LaneBitmask(0x0000000000000003), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR16_NOREX2Superclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR16_NOREXRegClass = { | |
&X86MCRegisterClasses[GR16_NOREXRegClassID], | |
GR16_NOREXSubClassMask, | |
SuperRegIdxSeqs + 5, | |
LaneBitmask(0x0000000000000003), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR16_NOREXSuperclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK1RegClass = { | |
&X86MCRegisterClasses[VK1RegClassID], | |
VK1SubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK1Superclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK16RegClass = { | |
&X86MCRegisterClasses[VK16RegClassID], | |
VK16SubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK16Superclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK2RegClass = { | |
&X86MCRegisterClasses[VK2RegClassID], | |
VK2SubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK2Superclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK4RegClass = { | |
&X86MCRegisterClasses[VK4RegClassID], | |
VK4SubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK4Superclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK8RegClass = { | |
&X86MCRegisterClasses[VK8RegClassID], | |
VK8SubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK8Superclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK16WMRegClass = { | |
&X86MCRegisterClasses[VK16WMRegClassID], | |
VK16WMSubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK16WMSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK1WMRegClass = { | |
&X86MCRegisterClasses[VK1WMRegClassID], | |
VK1WMSubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK1WMSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK2WMRegClass = { | |
&X86MCRegisterClasses[VK2WMRegClassID], | |
VK2WMSubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK2WMSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK4WMRegClass = { | |
&X86MCRegisterClasses[VK4WMRegClassID], | |
VK4WMSubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK4WMSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK8WMRegClass = { | |
&X86MCRegisterClasses[VK8WMRegClassID], | |
VK8WMSubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK8WMSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass SEGMENT_REGRegClass = { | |
&X86MCRegisterClasses[SEGMENT_REGRegClassID], | |
SEGMENT_REGSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR16_ABCDRegClass = { | |
&X86MCRegisterClasses[GR16_ABCDRegClassID], | |
GR16_ABCDSubClassMask, | |
SuperRegIdxSeqs + 5, | |
LaneBitmask(0x0000000000000003), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR16_ABCDSuperclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass FPCCRRegClass = { | |
&X86MCRegisterClasses[FPCCRRegClassID], | |
FPCCRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass FR16XRegClass = { | |
&X86MCRegisterClasses[FR16XRegClassID], | |
FR16XSubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass FR16RegClass = { | |
&X86MCRegisterClasses[FR16RegClassID], | |
FR16SubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
FR16Superclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK16PAIRRegClass = { | |
&X86MCRegisterClasses[VK16PAIRRegClassID], | |
VK16PAIRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000030), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
VK16PAIRSuperclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK1PAIRRegClass = { | |
&X86MCRegisterClasses[VK1PAIRRegClassID], | |
VK1PAIRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000030), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
VK1PAIRSuperclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK2PAIRRegClass = { | |
&X86MCRegisterClasses[VK2PAIRRegClassID], | |
VK2PAIRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000030), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
VK2PAIRSuperclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK4PAIRRegClass = { | |
&X86MCRegisterClasses[VK4PAIRRegClassID], | |
VK4PAIRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000030), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
VK4PAIRSuperclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK8PAIRRegClass = { | |
&X86MCRegisterClasses[VK8PAIRRegClassID], | |
VK8PAIRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000030), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
VK8PAIRSuperclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK1PAIR_with_sub_mask_0_in_VK1WMRegClass = { | |
&X86MCRegisterClasses[VK1PAIR_with_sub_mask_0_in_VK1WMRegClassID], | |
VK1PAIR_with_sub_mask_0_in_VK1WMSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000030), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
VK1PAIR_with_sub_mask_0_in_VK1WMSuperclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBPRegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESS_RBPRegClassID], | |
LOW32_ADDR_ACCESS_RBPSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESSRegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESSRegClassID], | |
LOW32_ADDR_ACCESSSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
LOW32_ADDR_ACCESSSuperclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID], | |
LOW32_ADDR_ACCESS_RBP_with_sub_8bitSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
LOW32_ADDR_ACCESS_RBP_with_sub_8bitSuperclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass FR32XRegClass = { | |
&X86MCRegisterClasses[FR32XRegClassID], | |
FR32XSubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
FR32XSuperclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32RegClass = { | |
&X86MCRegisterClasses[GR32RegClassID], | |
GR32SubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32Superclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_NOSPRegClass = { | |
&X86MCRegisterClasses[GR32_NOSPRegClassID], | |
GR32_NOSPSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_NOSPSuperclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClassID], | |
LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2SubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2Superclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass DEBUG_REGRegClass = { | |
&X86MCRegisterClasses[DEBUG_REGRegClassID], | |
DEBUG_REGSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass FR32RegClass = { | |
&X86MCRegisterClasses[FR32RegClassID], | |
FR32SubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
FR32Superclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_NOREX2RegClass = { | |
&X86MCRegisterClasses[GR32_NOREX2RegClassID], | |
GR32_NOREX2SubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_NOREX2Superclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_NOREX2_NOSPRegClass = { | |
&X86MCRegisterClasses[GR32_NOREX2_NOSPRegClassID], | |
GR32_NOREX2_NOSPSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_NOREX2_NOSPSuperclasses, 7, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClassID], | |
LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXSuperclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_NOREXRegClass = { | |
&X86MCRegisterClasses[GR32_NOREXRegClassID], | |
GR32_NOREXSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_NOREXSuperclasses, 7, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK32RegClass = { | |
&X86MCRegisterClasses[VK32RegClassID], | |
VK32SubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK32Superclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_NOREX_NOSPRegClass = { | |
&X86MCRegisterClasses[GR32_NOREX_NOSPRegClassID], | |
GR32_NOREX_NOSPSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_NOREX_NOSPSuperclasses, 10, | |
nullptr | |
}; | |
extern const TargetRegisterClass RFP32RegClass = { | |
&X86MCRegisterClasses[RFP32RegClassID], | |
RFP32SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK32WMRegClass = { | |
&X86MCRegisterClasses[VK32WMRegClassID], | |
VK32WMSubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK32WMSuperclasses, 11, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_ABCDRegClass = { | |
&X86MCRegisterClasses[GR32_ABCDRegClassID], | |
GR32_ABCDSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_ABCDSuperclasses, 11, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_TCRegClass = { | |
&X86MCRegisterClasses[GR32_TCRegClassID], | |
GR32_TCSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_TCSuperclasses, 8, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_ABCD_and_GR32_TCRegClass = { | |
&X86MCRegisterClasses[GR32_ABCD_and_GR32_TCRegClassID], | |
GR32_ABCD_and_GR32_TCSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_ABCD_and_GR32_TCSuperclasses, 13, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_ADRegClass = { | |
&X86MCRegisterClasses[GR32_ADRegClassID], | |
GR32_ADSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_ADSuperclasses, 14, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_ArgRefRegClass = { | |
&X86MCRegisterClasses[GR32_ArgRefRegClassID], | |
GR32_ArgRefSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_ArgRefSuperclasses, 14, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_BPSPRegClass = { | |
&X86MCRegisterClasses[GR32_BPSPRegClassID], | |
GR32_BPSPSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_BPSPSuperclasses, 8, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_BSIRegClass = { | |
&X86MCRegisterClasses[GR32_BSIRegClassID], | |
GR32_BSISubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_BSISuperclasses, 11, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_CBRegClass = { | |
&X86MCRegisterClasses[GR32_CBRegClassID], | |
GR32_CBSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_CBSuperclasses, 12, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_DCRegClass = { | |
&X86MCRegisterClasses[GR32_DCRegClassID], | |
GR32_DCSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_DCSuperclasses, 15, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_DIBPRegClass = { | |
&X86MCRegisterClasses[GR32_DIBPRegClassID], | |
GR32_DIBPSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_DIBPSuperclasses, 11, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_SIDIRegClass = { | |
&X86MCRegisterClasses[GR32_SIDIRegClassID], | |
GR32_SIDISubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_SIDISuperclasses, 11, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClassID], | |
LOW32_ADDR_ACCESS_RBP_with_sub_32bitSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
LOW32_ADDR_ACCESS_RBP_with_sub_32bitSuperclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass CCRRegClass = { | |
&X86MCRegisterClasses[CCRRegClassID], | |
CCRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass DFCCRRegClass = { | |
&X86MCRegisterClasses[DFCCRRegClassID], | |
DFCCRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_ABCD_and_GR32_BSIRegClass = { | |
&X86MCRegisterClasses[GR32_ABCD_and_GR32_BSIRegClassID], | |
GR32_ABCD_and_GR32_BSISubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_ABCD_and_GR32_BSISuperclasses, 14, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_AD_and_GR32_ArgRefRegClass = { | |
&X86MCRegisterClasses[GR32_AD_and_GR32_ArgRefRegClassID], | |
GR32_AD_and_GR32_ArgRefSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_AD_and_GR32_ArgRefSuperclasses, 17, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_ArgRef_and_GR32_CBRegClass = { | |
&X86MCRegisterClasses[GR32_ArgRef_and_GR32_CBRegClassID], | |
GR32_ArgRef_and_GR32_CBSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_ArgRef_and_GR32_CBSuperclasses, 17, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_BPSP_and_GR32_DIBPRegClass = { | |
&X86MCRegisterClasses[GR32_BPSP_and_GR32_DIBPRegClassID], | |
GR32_BPSP_and_GR32_DIBPSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_BPSP_and_GR32_DIBPSuperclasses, 13, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_BPSP_and_GR32_TCRegClass = { | |
&X86MCRegisterClasses[GR32_BPSP_and_GR32_TCRegClassID], | |
GR32_BPSP_and_GR32_TCSubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_BPSP_and_GR32_TCSuperclasses, 10, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_BSI_and_GR32_SIDIRegClass = { | |
&X86MCRegisterClasses[GR32_BSI_and_GR32_SIDIRegClassID], | |
GR32_BSI_and_GR32_SIDISubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_BSI_and_GR32_SIDISuperclasses, 13, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR32_DIBP_and_GR32_SIDIRegClass = { | |
&X86MCRegisterClasses[GR32_DIBP_and_GR32_SIDIRegClassID], | |
GR32_DIBP_and_GR32_SIDISubClassMask, | |
SuperRegIdxSeqs + 7, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
GR32_DIBP_and_GR32_SIDISuperclasses, 13, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitRegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitRegClassID], | |
LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitSuperclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass LOW32_ADDR_ACCESS_with_sub_32bitRegClass = { | |
&X86MCRegisterClasses[LOW32_ADDR_ACCESS_with_sub_32bitRegClassID], | |
LOW32_ADDR_ACCESS_with_sub_32bitSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
LOW32_ADDR_ACCESS_with_sub_32bitSuperclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass RFP64RegClass = { | |
&X86MCRegisterClasses[RFP64RegClassID], | |
RFP64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
RFP64Superclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64RegClass = { | |
&X86MCRegisterClasses[GR64RegClassID], | |
GR64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass FR64XRegClass = { | |
&X86MCRegisterClasses[FR64XRegClassID], | |
FR64XSubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
FR64XSuperclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_8bitRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_8bitRegClassID], | |
GR64_with_sub_8bitSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_8bitSuperclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOSPRegClass = { | |
&X86MCRegisterClasses[GR64_NOSPRegClassID], | |
GR64_NOSPSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOSPSuperclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX2RegClass = { | |
&X86MCRegisterClasses[GR64_NOREX2RegClassID], | |
GR64_NOREX2SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX2Superclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass CONTROL_REGRegClass = { | |
&X86MCRegisterClasses[CONTROL_REGRegClassID], | |
CONTROL_REGSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass FR64RegClass = { | |
&X86MCRegisterClasses[FR64RegClassID], | |
FR64SubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
FR64Superclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_16bit_in_GR16_NOREX2RegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_16bit_in_GR16_NOREX2RegClassID], | |
GR64_with_sub_16bit_in_GR16_NOREX2SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_16bit_in_GR16_NOREX2Superclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX2_NOSPRegClass = { | |
&X86MCRegisterClasses[GR64_NOREX2_NOSPRegClassID], | |
GR64_NOREX2_NOSPSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX2_NOSPSuperclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64PLTSafeRegClass = { | |
&X86MCRegisterClasses[GR64PLTSafeRegClassID], | |
GR64PLTSafeSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64PLTSafeSuperclasses, 6, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TCRegClass = { | |
&X86MCRegisterClasses[GR64_TCRegClassID], | |
GR64_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TCSuperclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREXRegClass = { | |
&X86MCRegisterClasses[GR64_NOREXRegClassID], | |
GR64_NOREXSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREXSuperclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TCW64RegClass = { | |
&X86MCRegisterClasses[GR64_TCW64RegClassID], | |
GR64_TCW64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TCW64Superclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TC_with_sub_8bitRegClass = { | |
&X86MCRegisterClasses[GR64_TC_with_sub_8bitRegClassID], | |
GR64_TC_with_sub_8bitSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TC_with_sub_8bitSuperclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX2_NOSP_and_GR64_TCRegClass = { | |
&X86MCRegisterClasses[GR64_NOREX2_NOSP_and_GR64_TCRegClassID], | |
GR64_NOREX2_NOSP_and_GR64_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX2_NOSP_and_GR64_TCSuperclasses, 8, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TCW64_with_sub_8bitRegClass = { | |
&X86MCRegisterClasses[GR64_TCW64_with_sub_8bitRegClassID], | |
GR64_TCW64_with_sub_8bitSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TCW64_with_sub_8bitSuperclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TC_and_GR64_TCW64RegClass = { | |
&X86MCRegisterClasses[GR64_TC_and_GR64_TCW64RegClassID], | |
GR64_TC_and_GR64_TCW64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TC_and_GR64_TCW64Superclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_16bit_in_GR16_NOREXRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_16bit_in_GR16_NOREXRegClassID], | |
GR64_with_sub_16bit_in_GR16_NOREXSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_16bit_in_GR16_NOREXSuperclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK64RegClass = { | |
&X86MCRegisterClasses[VK64RegClassID], | |
VK64SubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK64Superclasses, 6, | |
nullptr | |
}; | |
extern const TargetRegisterClass VR64RegClass = { | |
&X86MCRegisterClasses[VR64RegClassID], | |
VR64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64PLTSafe_and_GR64_TCRegClass = { | |
&X86MCRegisterClasses[GR64PLTSafe_and_GR64_TCRegClassID], | |
GR64PLTSafe_and_GR64_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64PLTSafe_and_GR64_TCSuperclasses, 10, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX2_NOSP_and_GR64_TCW64RegClass = { | |
&X86MCRegisterClasses[GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID], | |
GR64_NOREX2_NOSP_and_GR64_TCW64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX2_NOSP_and_GR64_TCW64Superclasses, 8, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX_NOSPRegClass = { | |
&X86MCRegisterClasses[GR64_NOREX_NOSPRegClassID], | |
GR64_NOREX_NOSPSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX_NOSPSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX_and_GR64_TCRegClass = { | |
&X86MCRegisterClasses[GR64_NOREX_and_GR64_TCRegClassID], | |
GR64_NOREX_and_GR64_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX_and_GR64_TCSuperclasses, 4, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TCW64_and_GR64_TC_with_sub_8bitRegClass = { | |
&X86MCRegisterClasses[GR64_TCW64_and_GR64_TC_with_sub_8bitRegClassID], | |
GR64_TCW64_and_GR64_TC_with_sub_8bitSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TCW64_and_GR64_TC_with_sub_8bitSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass VK64WMRegClass = { | |
&X86MCRegisterClasses[VK64WMRegClassID], | |
VK64WMSubClassMask, | |
SuperRegIdxSeqs + 9, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VK64WMSuperclasses, 13, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClass = { | |
&X86MCRegisterClasses[GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClassID], | |
GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64Superclasses, 14, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClass = { | |
&X86MCRegisterClasses[GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClassID], | |
GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64PLTSafe_and_GR64_TCW64RegClass = { | |
&X86MCRegisterClasses[GR64PLTSafe_and_GR64_TCW64RegClassID], | |
GR64PLTSafe_and_GR64_TCW64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64PLTSafe_and_GR64_TCW64Superclasses, 17, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClass = { | |
&X86MCRegisterClasses[GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClassID], | |
GR64_NOREX_and_GR64PLTSafe_and_GR64_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX_and_GR64PLTSafe_and_GR64_TCSuperclasses, 16, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_NOREX_and_GR64_TCW64RegClass = { | |
&X86MCRegisterClasses[GR64_NOREX_and_GR64_TCW64RegClassID], | |
GR64_NOREX_and_GR64_TCW64SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_NOREX_and_GR64_TCW64Superclasses, 7, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_ABCDRegClass = { | |
&X86MCRegisterClasses[GR64_ABCDRegClassID], | |
GR64_ABCDSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_ABCDSuperclasses, 10, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_TCRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_TCRegClassID], | |
GR64_with_sub_32bit_in_GR32_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_TCSuperclasses, 15, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClassID], | |
GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCSuperclasses, 27, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_ADRegClass = { | |
&X86MCRegisterClasses[GR64_ADRegClassID], | |
GR64_ADSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_ADSuperclasses, 28, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_ArgRefRegClass = { | |
&X86MCRegisterClasses[GR64_ArgRefRegClassID], | |
GR64_ArgRefSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_ArgRefSuperclasses, 9, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_and_LOW32_ADDR_ACCESS_RBPRegClass = { | |
&X86MCRegisterClasses[GR64_and_LOW32_ADDR_ACCESS_RBPRegClassID], | |
GR64_and_LOW32_ADDR_ACCESS_RBPSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_and_LOW32_ADDR_ACCESS_RBPSuperclasses, 5, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ArgRefRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_ArgRefRegClassID], | |
GR64_with_sub_32bit_in_GR32_ArgRefSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_ArgRefSuperclasses, 28, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BPSPRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_BPSPRegClassID], | |
GR64_with_sub_32bit_in_GR32_BPSPSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_BPSPSuperclasses, 6, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BSIRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_BSIRegClassID], | |
GR64_with_sub_32bit_in_GR32_BSISubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_BSISuperclasses, 10, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_CBRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_CBRegClassID], | |
GR64_with_sub_32bit_in_GR32_CBSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_CBSuperclasses, 11, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_DIBPRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_DIBPRegClassID], | |
GR64_with_sub_32bit_in_GR32_DIBPSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_DIBPSuperclasses, 10, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_SIDIRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_SIDIRegClassID], | |
GR64_with_sub_32bit_in_GR32_SIDISubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_SIDISuperclasses, 17, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_ArgRef_and_GR64_TCRegClass = { | |
&X86MCRegisterClasses[GR64_ArgRef_and_GR64_TCRegClassID], | |
GR64_ArgRef_and_GR64_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_ArgRef_and_GR64_TCSuperclasses, 16, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_and_LOW32_ADDR_ACCESSRegClass = { | |
&X86MCRegisterClasses[GR64_and_LOW32_ADDR_ACCESSRegClassID], | |
GR64_and_LOW32_ADDR_ACCESSSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_and_LOW32_ADDR_ACCESSSuperclasses, 13, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIRegClassID], | |
GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSISubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSISuperclasses, 13, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefRegClassID], | |
GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefSuperclasses, 30, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBRegClassID], | |
GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBSuperclasses, 30, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPRegClassID], | |
GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPSuperclasses, 19, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCRegClassID], | |
GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCSuperclasses, 17, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIRegClassID], | |
GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDISubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDISuperclasses, 19, | |
nullptr | |
}; | |
extern const TargetRegisterClass GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClass = { | |
&X86MCRegisterClasses[GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID], | |
GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDISubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x000000000000000F), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDISuperclasses, 19, | |
nullptr | |
}; | |
extern const TargetRegisterClass RSTRegClass = { | |
&X86MCRegisterClasses[RSTRegClassID], | |
RSTSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass RFP80RegClass = { | |
&X86MCRegisterClasses[RFP80RegClassID], | |
RFP80SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
RFP80Superclasses, 2, | |
nullptr | |
}; | |
extern const TargetRegisterClass RFP80_7RegClass = { | |
&X86MCRegisterClasses[RFP80_7RegClassID], | |
RFP80_7SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass VR128XRegClass = { | |
&X86MCRegisterClasses[VR128XRegClassID], | |
VR128XSubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VR128XSuperclasses, 3, | |
nullptr | |
}; | |
extern const TargetRegisterClass VR128RegClass = { | |
&X86MCRegisterClasses[VR128RegClassID], | |
VR128SubClassMask, | |
SuperRegIdxSeqs + 15, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VR128Superclasses, 7, | |
nullptr | |
}; | |
extern const TargetRegisterClass VR256XRegClass = { | |
&X86MCRegisterClasses[VR256XRegClassID], | |
VR256XSubClassMask, | |
SuperRegIdxSeqs + 17, | |
LaneBitmask(0x0000000000000100), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass VR256RegClass = { | |
&X86MCRegisterClasses[VR256RegClassID], | |
VR256SubClassMask, | |
SuperRegIdxSeqs + 17, | |
LaneBitmask(0x0000000000000100), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VR256Superclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass VR512RegClass = { | |
&X86MCRegisterClasses[VR512RegClassID], | |
VR512SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000100), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass VR512_0_15RegClass = { | |
&X86MCRegisterClasses[VR512_0_15RegClassID], | |
VR512_0_15SubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x0000000000000100), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
VR512_0_15Superclasses, 1, | |
nullptr | |
}; | |
extern const TargetRegisterClass TILERegClass = { | |
&X86MCRegisterClasses[TILERegClassID], | |
TILESubClassMask, | |
SuperRegIdxSeqs + 12, | |
LaneBitmask(0x0000000000000001), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
false, /* HasDisjunctSubRegs */ | |
false, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
extern const TargetRegisterClass TILEPAIRRegClass = { | |
&X86MCRegisterClasses[TILEPAIRRegClassID], | |
TILEPAIRSubClassMask, | |
SuperRegIdxSeqs + 1, | |
LaneBitmask(0x00000000000000C0), | |
0, | |
false, | |
0x00, /* TSFlags */ | |
true, /* HasDisjunctSubRegs */ | |
true, /* CoveredBySubRegs */ | |
nullptr, 0, | |
nullptr | |
}; | |
} // end namespace X86 | |
namespace { | |
const TargetRegisterClass *const RegisterClasses[] = { | |
&X86::GR8RegClass, | |
&X86::GRH8RegClass, | |
&X86::GR8_NOREX2RegClass, | |
&X86::GR8_NOREXRegClass, | |
&X86::GR8_ABCD_HRegClass, | |
&X86::GR8_ABCD_LRegClass, | |
&X86::GRH16RegClass, | |
&X86::GR16RegClass, | |
&X86::GR16_NOREX2RegClass, | |
&X86::GR16_NOREXRegClass, | |
&X86::VK1RegClass, | |
&X86::VK16RegClass, | |
&X86::VK2RegClass, | |
&X86::VK4RegClass, | |
&X86::VK8RegClass, | |
&X86::VK16WMRegClass, | |
&X86::VK1WMRegClass, | |
&X86::VK2WMRegClass, | |
&X86::VK4WMRegClass, | |
&X86::VK8WMRegClass, | |
&X86::SEGMENT_REGRegClass, | |
&X86::GR16_ABCDRegClass, | |
&X86::FPCCRRegClass, | |
&X86::FR16XRegClass, | |
&X86::FR16RegClass, | |
&X86::VK16PAIRRegClass, | |
&X86::VK1PAIRRegClass, | |
&X86::VK2PAIRRegClass, | |
&X86::VK4PAIRRegClass, | |
&X86::VK8PAIRRegClass, | |
&X86::VK1PAIR_with_sub_mask_0_in_VK1WMRegClass, | |
&X86::LOW32_ADDR_ACCESS_RBPRegClass, | |
&X86::LOW32_ADDR_ACCESSRegClass, | |
&X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClass, | |
&X86::FR32XRegClass, | |
&X86::GR32RegClass, | |
&X86::GR32_NOSPRegClass, | |
&X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2RegClass, | |
&X86::DEBUG_REGRegClass, | |
&X86::FR32RegClass, | |
&X86::GR32_NOREX2RegClass, | |
&X86::GR32_NOREX2_NOSPRegClass, | |
&X86::LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREXRegClass, | |
&X86::GR32_NOREXRegClass, | |
&X86::VK32RegClass, | |
&X86::GR32_NOREX_NOSPRegClass, | |
&X86::RFP32RegClass, | |
&X86::VK32WMRegClass, | |
&X86::GR32_ABCDRegClass, | |
&X86::GR32_TCRegClass, | |
&X86::GR32_ABCD_and_GR32_TCRegClass, | |
&X86::GR32_ADRegClass, | |
&X86::GR32_ArgRefRegClass, | |
&X86::GR32_BPSPRegClass, | |
&X86::GR32_BSIRegClass, | |
&X86::GR32_CBRegClass, | |
&X86::GR32_DCRegClass, | |
&X86::GR32_DIBPRegClass, | |
&X86::GR32_SIDIRegClass, | |
&X86::LOW32_ADDR_ACCESS_RBP_with_sub_32bitRegClass, | |
&X86::CCRRegClass, | |
&X86::DFCCRRegClass, | |
&X86::GR32_ABCD_and_GR32_BSIRegClass, | |
&X86::GR32_AD_and_GR32_ArgRefRegClass, | |
&X86::GR32_ArgRef_and_GR32_CBRegClass, | |
&X86::GR32_BPSP_and_GR32_DIBPRegClass, | |
&X86::GR32_BPSP_and_GR32_TCRegClass, | |
&X86::GR32_BSI_and_GR32_SIDIRegClass, | |
&X86::GR32_DIBP_and_GR32_SIDIRegClass, | |
&X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bitRegClass, | |
&X86::LOW32_ADDR_ACCESS_with_sub_32bitRegClass, | |
&X86::RFP64RegClass, | |
&X86::GR64RegClass, | |
&X86::FR64XRegClass, | |
&X86::GR64_with_sub_8bitRegClass, | |
&X86::GR64_NOSPRegClass, | |
&X86::GR64_NOREX2RegClass, | |
&X86::CONTROL_REGRegClass, | |
&X86::FR64RegClass, | |
&X86::GR64_with_sub_16bit_in_GR16_NOREX2RegClass, | |
&X86::GR64_NOREX2_NOSPRegClass, | |
&X86::GR64PLTSafeRegClass, | |
&X86::GR64_TCRegClass, | |
&X86::GR64_NOREXRegClass, | |
&X86::GR64_TCW64RegClass, | |
&X86::GR64_TC_with_sub_8bitRegClass, | |
&X86::GR64_NOREX2_NOSP_and_GR64_TCRegClass, | |
&X86::GR64_TCW64_with_sub_8bitRegClass, | |
&X86::GR64_TC_and_GR64_TCW64RegClass, | |
&X86::GR64_with_sub_16bit_in_GR16_NOREXRegClass, | |
&X86::VK64RegClass, | |
&X86::VR64RegClass, | |
&X86::GR64PLTSafe_and_GR64_TCRegClass, | |
&X86::GR64_NOREX2_NOSP_and_GR64_TCW64RegClass, | |
&X86::GR64_NOREX_NOSPRegClass, | |
&X86::GR64_NOREX_and_GR64_TCRegClass, | |
&X86::GR64_TCW64_and_GR64_TC_with_sub_8bitRegClass, | |
&X86::VK64WMRegClass, | |
&X86::GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64RegClass, | |
&X86::GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREXRegClass, | |
&X86::GR64PLTSafe_and_GR64_TCW64RegClass, | |
&X86::GR64_NOREX_and_GR64PLTSafe_and_GR64_TCRegClass, | |
&X86::GR64_NOREX_and_GR64_TCW64RegClass, | |
&X86::GR64_ABCDRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_TCRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TCRegClass, | |
&X86::GR64_ADRegClass, | |
&X86::GR64_ArgRefRegClass, | |
&X86::GR64_and_LOW32_ADDR_ACCESS_RBPRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_ArgRefRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_BPSPRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_BSIRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_CBRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_DIBPRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_SIDIRegClass, | |
&X86::GR64_ArgRef_and_GR64_TCRegClass, | |
&X86::GR64_and_LOW32_ADDR_ACCESSRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSIRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRefRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CBRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBPRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TCRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDIRegClass, | |
&X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClass, | |
&X86::RSTRegClass, | |
&X86::RFP80RegClass, | |
&X86::RFP80_7RegClass, | |
&X86::VR128XRegClass, | |
&X86::VR128RegClass, | |
&X86::VR256XRegClass, | |
&X86::VR256RegClass, | |
&X86::VR512RegClass, | |
&X86::VR512_0_15RegClass, | |
&X86::TILERegClass, | |
&X86::TILEPAIRRegClass, | |
}; | |
} // end anonymous namespace | |
static const uint8_t CostPerUseTable[] = { | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; | |
static const bool InAllocatableClassTable[] = { | |
false, true, true, true, true, true, true, false, true, true, true, true, true, true, false, true, true, false, true, true, true, true, true, true, true, true, true, true, false, false, false, true, true, true, false, false, true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, false, true, false, true, true, true, false, true, true, false, true, true, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, }; | |
static const TargetRegisterInfoDesc X86RegInfoDesc = { // Extra Descriptors | |
CostPerUseTable, 1, InAllocatableClassTable}; | |
unsigned X86GenRegisterInfo::composeSubRegIndicesImpl(unsigned IdxA, unsigned IdxB) const { | |
static const uint8_t Rows[1][12] = { | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
}; | |
--IdxA; assert(IdxA < 12); (void) IdxA; | |
--IdxB; assert(IdxB < 12); | |
return Rows[0][IdxB]; | |
} | |
unsigned X86GenRegisterInfo::reverseComposeSubRegIndicesImpl(unsigned IdxA, unsigned IdxB) const { | |
static const uint8_t Table[12][12] = { | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
{ X86::sub_8bit, X86::sub_8bit_hi, X86::sub_8bit_hi_phony, X86::sub_16bit, X86::sub_16bit_hi, 0, 0, 0, 0, 0, X86::sub_xmm, 0, }, | |
}; | |
--IdxA; assert(IdxA < 12); | |
--IdxB; assert(IdxB < 12); | |
return Table[IdxA][IdxB]; | |
} | |
struct MaskRolOp { | |
LaneBitmask Mask; | |
uint8_t RotateLeft; | |
}; | |
static const MaskRolOp LaneMaskComposeSequences[] = { | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 0 }, { LaneBitmask::getNone(), 0 }, // Sequence 0 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 1 }, { LaneBitmask::getNone(), 0 }, // Sequence 2 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 2 }, { LaneBitmask::getNone(), 0 }, // Sequence 4 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 3 }, { LaneBitmask::getNone(), 0 }, // Sequence 6 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 4 }, { LaneBitmask::getNone(), 0 }, // Sequence 8 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 5 }, { LaneBitmask::getNone(), 0 }, // Sequence 10 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 6 }, { LaneBitmask::getNone(), 0 }, // Sequence 12 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 7 }, { LaneBitmask::getNone(), 0 }, // Sequence 14 | |
{ LaneBitmask(0xFFFFFFFFFFFFFFFF), 8 }, { LaneBitmask::getNone(), 0 } // Sequence 16 | |
}; | |
static const uint8_t CompositeSequences[] = { | |
0, // to sub_8bit | |
2, // to sub_8bit_hi | |
4, // to sub_8bit_hi_phony | |
0, // to sub_16bit | |
6, // to sub_16bit_hi | |
0, // to sub_32bit | |
8, // to sub_mask_0 | |
10, // to sub_mask_1 | |
12, // to sub_t0 | |
14, // to sub_t1 | |
16, // to sub_xmm | |
0 // to sub_ymm | |
}; | |
LaneBitmask X86GenRegisterInfo::composeSubRegIndexLaneMaskImpl(unsigned IdxA, LaneBitmask LaneMask) const { | |
--IdxA; assert(IdxA < 12 && "Subregister index out of bounds"); | |
LaneBitmask Result; | |
for (const MaskRolOp *Ops = | |
&LaneMaskComposeSequences[CompositeSequences[IdxA]]; | |
Ops->Mask.any(); ++Ops) { | |
LaneBitmask::Type M = LaneMask.getAsInteger() & Ops->Mask.getAsInteger(); | |
if (unsigned S = Ops->RotateLeft) | |
Result |= LaneBitmask((M << S) | (M >> (LaneBitmask::BitWidth - S))); | |
else | |
Result |= LaneBitmask(M); | |
} | |
return Result; | |
} | |
LaneBitmask X86GenRegisterInfo::reverseComposeSubRegIndexLaneMaskImpl(unsigned IdxA, LaneBitmask LaneMask) const { | |
LaneMask &= getSubRegIndexLaneMask(IdxA); | |
--IdxA; assert(IdxA < 12 && "Subregister index out of bounds"); | |
LaneBitmask Result; | |
for (const MaskRolOp *Ops = | |
&LaneMaskComposeSequences[CompositeSequences[IdxA]]; | |
Ops->Mask.any(); ++Ops) { | |
LaneBitmask::Type M = LaneMask.getAsInteger(); | |
if (unsigned S = Ops->RotateLeft) | |
Result |= LaneBitmask((M >> S) | (M << (LaneBitmask::BitWidth - S))); | |
else | |
Result |= LaneBitmask(M); | |
} | |
return Result; | |
} | |
const TargetRegisterClass *X86GenRegisterInfo::getSubClassWithSubReg(const TargetRegisterClass *RC, unsigned Idx) const { | |
static const uint8_t Table[135][12] = { | |
{ // GR8 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GRH8 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR8_NOREX2 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR8_NOREX | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR8_ABCD_H | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR8_ABCD_L | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GRH16 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR16 | |
8, // sub_8bit -> GR16 | |
22, // sub_8bit_hi -> GR16_ABCD | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR16_NOREX2 | |
9, // sub_8bit -> GR16_NOREX2 | |
22, // sub_8bit_hi -> GR16_ABCD | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR16_NOREX | |
10, // sub_8bit -> GR16_NOREX | |
22, // sub_8bit_hi -> GR16_ABCD | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK1 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK16 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK2 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK4 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK8 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK16WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK1WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK2WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK4WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK8WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // SEGMENT_REG | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR16_ABCD | |
22, // sub_8bit -> GR16_ABCD | |
22, // sub_8bit_hi -> GR16_ABCD | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // FPCCR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // FR16X | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // FR16 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK16PAIR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
26, // sub_mask_0 -> VK16PAIR | |
26, // sub_mask_1 -> VK16PAIR | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK1PAIR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
27, // sub_mask_0 -> VK1PAIR | |
27, // sub_mask_1 -> VK1PAIR | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK2PAIR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
28, // sub_mask_0 -> VK2PAIR | |
28, // sub_mask_1 -> VK2PAIR | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK4PAIR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
29, // sub_mask_0 -> VK4PAIR | |
29, // sub_mask_1 -> VK4PAIR | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK8PAIR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
30, // sub_mask_0 -> VK8PAIR | |
30, // sub_mask_1 -> VK8PAIR | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK1PAIR_with_sub_mask_0_in_VK1WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
31, // sub_mask_0 -> VK1PAIR_with_sub_mask_0_in_VK1WM | |
31, // sub_mask_1 -> VK1PAIR_with_sub_mask_0_in_VK1WM | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP | |
34, // sub_8bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
32, // sub_16bit -> LOW32_ADDR_ACCESS_RBP | |
32, // sub_16bit_hi -> LOW32_ADDR_ACCESS_RBP | |
60, // sub_32bit -> LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS | |
36, // sub_8bit -> GR32 | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
33, // sub_16bit -> LOW32_ADDR_ACCESS | |
33, // sub_16bit_hi -> LOW32_ADDR_ACCESS | |
71, // sub_32bit -> LOW32_ADDR_ACCESS_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
34, // sub_8bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
34, // sub_16bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
34, // sub_16bit_hi -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
70, // sub_32bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // FR32X | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32 | |
36, // sub_8bit -> GR32 | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
36, // sub_16bit -> GR32 | |
36, // sub_16bit_hi -> GR32 | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_NOSP | |
37, // sub_8bit -> GR32_NOSP | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
37, // sub_16bit -> GR32_NOSP | |
37, // sub_16bit_hi -> GR32_NOSP | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
38, // sub_8bit -> LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
38, // sub_16bit -> LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
38, // sub_16bit_hi -> LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
70, // sub_32bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // DEBUG_REG | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // FR32 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_NOREX2 | |
41, // sub_8bit -> GR32_NOREX2 | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
41, // sub_16bit -> GR32_NOREX2 | |
41, // sub_16bit_hi -> GR32_NOREX2 | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_NOREX2_NOSP | |
42, // sub_8bit -> GR32_NOREX2_NOSP | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
42, // sub_16bit -> GR32_NOREX2_NOSP | |
42, // sub_16bit_hi -> GR32_NOREX2_NOSP | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX | |
43, // sub_8bit -> LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
43, // sub_16bit -> LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX | |
43, // sub_16bit_hi -> LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX | |
70, // sub_32bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_NOREX | |
44, // sub_8bit -> GR32_NOREX | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
44, // sub_16bit -> GR32_NOREX | |
44, // sub_16bit_hi -> GR32_NOREX | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK32 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_NOREX_NOSP | |
46, // sub_8bit -> GR32_NOREX_NOSP | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
46, // sub_16bit -> GR32_NOREX_NOSP | |
46, // sub_16bit_hi -> GR32_NOREX_NOSP | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // RFP32 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK32WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_ABCD | |
49, // sub_8bit -> GR32_ABCD | |
49, // sub_8bit_hi -> GR32_ABCD | |
0, // sub_8bit_hi_phony | |
49, // sub_16bit -> GR32_ABCD | |
49, // sub_16bit_hi -> GR32_ABCD | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_TC | |
50, // sub_8bit -> GR32_TC | |
51, // sub_8bit_hi -> GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
50, // sub_16bit -> GR32_TC | |
50, // sub_16bit_hi -> GR32_TC | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_ABCD_and_GR32_TC | |
51, // sub_8bit -> GR32_ABCD_and_GR32_TC | |
51, // sub_8bit_hi -> GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
51, // sub_16bit -> GR32_ABCD_and_GR32_TC | |
51, // sub_16bit_hi -> GR32_ABCD_and_GR32_TC | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_AD | |
52, // sub_8bit -> GR32_AD | |
52, // sub_8bit_hi -> GR32_AD | |
0, // sub_8bit_hi_phony | |
52, // sub_16bit -> GR32_AD | |
52, // sub_16bit_hi -> GR32_AD | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_ArgRef | |
53, // sub_8bit -> GR32_ArgRef | |
53, // sub_8bit_hi -> GR32_ArgRef | |
0, // sub_8bit_hi_phony | |
53, // sub_16bit -> GR32_ArgRef | |
53, // sub_16bit_hi -> GR32_ArgRef | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_BPSP | |
54, // sub_8bit -> GR32_BPSP | |
0, // sub_8bit_hi | |
54, // sub_8bit_hi_phony -> GR32_BPSP | |
54, // sub_16bit -> GR32_BPSP | |
54, // sub_16bit_hi -> GR32_BPSP | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_BSI | |
55, // sub_8bit -> GR32_BSI | |
63, // sub_8bit_hi -> GR32_ABCD_and_GR32_BSI | |
0, // sub_8bit_hi_phony | |
55, // sub_16bit -> GR32_BSI | |
55, // sub_16bit_hi -> GR32_BSI | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_CB | |
56, // sub_8bit -> GR32_CB | |
56, // sub_8bit_hi -> GR32_CB | |
0, // sub_8bit_hi_phony | |
56, // sub_16bit -> GR32_CB | |
56, // sub_16bit_hi -> GR32_CB | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_DC | |
57, // sub_8bit -> GR32_DC | |
57, // sub_8bit_hi -> GR32_DC | |
0, // sub_8bit_hi_phony | |
57, // sub_16bit -> GR32_DC | |
57, // sub_16bit_hi -> GR32_DC | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_DIBP | |
58, // sub_8bit -> GR32_DIBP | |
0, // sub_8bit_hi | |
58, // sub_8bit_hi_phony -> GR32_DIBP | |
58, // sub_16bit -> GR32_DIBP | |
58, // sub_16bit_hi -> GR32_DIBP | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_SIDI | |
59, // sub_8bit -> GR32_SIDI | |
0, // sub_8bit_hi | |
59, // sub_8bit_hi_phony -> GR32_SIDI | |
59, // sub_16bit -> GR32_SIDI | |
59, // sub_16bit_hi -> GR32_SIDI | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
70, // sub_8bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
60, // sub_16bit -> LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
60, // sub_16bit_hi -> LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
60, // sub_32bit -> LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // CCR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // DFCCR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_ABCD_and_GR32_BSI | |
63, // sub_8bit -> GR32_ABCD_and_GR32_BSI | |
63, // sub_8bit_hi -> GR32_ABCD_and_GR32_BSI | |
0, // sub_8bit_hi_phony | |
63, // sub_16bit -> GR32_ABCD_and_GR32_BSI | |
63, // sub_16bit_hi -> GR32_ABCD_and_GR32_BSI | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_AD_and_GR32_ArgRef | |
64, // sub_8bit -> GR32_AD_and_GR32_ArgRef | |
64, // sub_8bit_hi -> GR32_AD_and_GR32_ArgRef | |
0, // sub_8bit_hi_phony | |
64, // sub_16bit -> GR32_AD_and_GR32_ArgRef | |
64, // sub_16bit_hi -> GR32_AD_and_GR32_ArgRef | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_ArgRef_and_GR32_CB | |
65, // sub_8bit -> GR32_ArgRef_and_GR32_CB | |
65, // sub_8bit_hi -> GR32_ArgRef_and_GR32_CB | |
0, // sub_8bit_hi_phony | |
65, // sub_16bit -> GR32_ArgRef_and_GR32_CB | |
65, // sub_16bit_hi -> GR32_ArgRef_and_GR32_CB | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_BPSP_and_GR32_DIBP | |
66, // sub_8bit -> GR32_BPSP_and_GR32_DIBP | |
0, // sub_8bit_hi | |
66, // sub_8bit_hi_phony -> GR32_BPSP_and_GR32_DIBP | |
66, // sub_16bit -> GR32_BPSP_and_GR32_DIBP | |
66, // sub_16bit_hi -> GR32_BPSP_and_GR32_DIBP | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_BPSP_and_GR32_TC | |
67, // sub_8bit -> GR32_BPSP_and_GR32_TC | |
0, // sub_8bit_hi | |
67, // sub_8bit_hi_phony -> GR32_BPSP_and_GR32_TC | |
67, // sub_16bit -> GR32_BPSP_and_GR32_TC | |
67, // sub_16bit_hi -> GR32_BPSP_and_GR32_TC | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_BSI_and_GR32_SIDI | |
68, // sub_8bit -> GR32_BSI_and_GR32_SIDI | |
0, // sub_8bit_hi | |
68, // sub_8bit_hi_phony -> GR32_BSI_and_GR32_SIDI | |
68, // sub_16bit -> GR32_BSI_and_GR32_SIDI | |
68, // sub_16bit_hi -> GR32_BSI_and_GR32_SIDI | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR32_DIBP_and_GR32_SIDI | |
69, // sub_8bit -> GR32_DIBP_and_GR32_SIDI | |
0, // sub_8bit_hi | |
69, // sub_8bit_hi_phony -> GR32_DIBP_and_GR32_SIDI | |
69, // sub_16bit -> GR32_DIBP_and_GR32_SIDI | |
69, // sub_16bit_hi -> GR32_DIBP_and_GR32_SIDI | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
70, // sub_8bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
0, // sub_8bit_hi | |
70, // sub_8bit_hi_phony -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
70, // sub_16bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
70, // sub_16bit_hi -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
70, // sub_32bit -> LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_with_sub_32bit | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
71, // sub_16bit -> LOW32_ADDR_ACCESS_with_sub_32bit | |
71, // sub_16bit_hi -> LOW32_ADDR_ACCESS_with_sub_32bit | |
71, // sub_32bit -> LOW32_ADDR_ACCESS_with_sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // RFP64 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64 | |
75, // sub_8bit -> GR64_with_sub_8bit | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
73, // sub_16bit -> GR64 | |
73, // sub_16bit_hi -> GR64 | |
73, // sub_32bit -> GR64 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // FR64X | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_8bit | |
75, // sub_8bit -> GR64_with_sub_8bit | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
75, // sub_16bit -> GR64_with_sub_8bit | |
75, // sub_16bit_hi -> GR64_with_sub_8bit | |
75, // sub_32bit -> GR64_with_sub_8bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOSP | |
76, // sub_8bit -> GR64_NOSP | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
76, // sub_16bit -> GR64_NOSP | |
76, // sub_16bit_hi -> GR64_NOSP | |
76, // sub_32bit -> GR64_NOSP | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX2 | |
80, // sub_8bit -> GR64_with_sub_16bit_in_GR16_NOREX2 | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
77, // sub_16bit -> GR64_NOREX2 | |
77, // sub_16bit_hi -> GR64_NOREX2 | |
77, // sub_32bit -> GR64_NOREX2 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // CONTROL_REG | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // FR64 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_16bit_in_GR16_NOREX2 | |
80, // sub_8bit -> GR64_with_sub_16bit_in_GR16_NOREX2 | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
80, // sub_16bit -> GR64_with_sub_16bit_in_GR16_NOREX2 | |
80, // sub_16bit_hi -> GR64_with_sub_16bit_in_GR16_NOREX2 | |
80, // sub_32bit -> GR64_with_sub_16bit_in_GR16_NOREX2 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX2_NOSP | |
81, // sub_8bit -> GR64_NOREX2_NOSP | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
81, // sub_16bit -> GR64_NOREX2_NOSP | |
81, // sub_16bit_hi -> GR64_NOREX2_NOSP | |
81, // sub_32bit -> GR64_NOREX2_NOSP | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64PLTSafe | |
82, // sub_8bit -> GR64PLTSafe | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
82, // sub_16bit -> GR64PLTSafe | |
82, // sub_16bit_hi -> GR64PLTSafe | |
82, // sub_32bit -> GR64PLTSafe | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TC | |
86, // sub_8bit -> GR64_TC_with_sub_8bit | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
83, // sub_16bit -> GR64_TC | |
83, // sub_16bit_hi -> GR64_TC | |
83, // sub_32bit -> GR64_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX | |
90, // sub_8bit -> GR64_with_sub_16bit_in_GR16_NOREX | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
84, // sub_16bit -> GR64_NOREX | |
84, // sub_16bit_hi -> GR64_NOREX | |
84, // sub_32bit -> GR64_NOREX | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TCW64 | |
88, // sub_8bit -> GR64_TCW64_with_sub_8bit | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
85, // sub_16bit -> GR64_TCW64 | |
85, // sub_16bit_hi -> GR64_TCW64 | |
85, // sub_32bit -> GR64_TCW64 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TC_with_sub_8bit | |
86, // sub_8bit -> GR64_TC_with_sub_8bit | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
86, // sub_16bit -> GR64_TC_with_sub_8bit | |
86, // sub_16bit_hi -> GR64_TC_with_sub_8bit | |
86, // sub_32bit -> GR64_TC_with_sub_8bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX2_NOSP_and_GR64_TC | |
87, // sub_8bit -> GR64_NOREX2_NOSP_and_GR64_TC | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
87, // sub_16bit -> GR64_NOREX2_NOSP_and_GR64_TC | |
87, // sub_16bit_hi -> GR64_NOREX2_NOSP_and_GR64_TC | |
87, // sub_32bit -> GR64_NOREX2_NOSP_and_GR64_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TCW64_with_sub_8bit | |
88, // sub_8bit -> GR64_TCW64_with_sub_8bit | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
88, // sub_16bit -> GR64_TCW64_with_sub_8bit | |
88, // sub_16bit_hi -> GR64_TCW64_with_sub_8bit | |
88, // sub_32bit -> GR64_TCW64_with_sub_8bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TC_and_GR64_TCW64 | |
97, // sub_8bit -> GR64_TCW64_and_GR64_TC_with_sub_8bit | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
89, // sub_16bit -> GR64_TC_and_GR64_TCW64 | |
89, // sub_16bit_hi -> GR64_TC_and_GR64_TCW64 | |
89, // sub_32bit -> GR64_TC_and_GR64_TCW64 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_16bit_in_GR16_NOREX | |
90, // sub_8bit -> GR64_with_sub_16bit_in_GR16_NOREX | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
90, // sub_16bit -> GR64_with_sub_16bit_in_GR16_NOREX | |
90, // sub_16bit_hi -> GR64_with_sub_16bit_in_GR16_NOREX | |
90, // sub_32bit -> GR64_with_sub_16bit_in_GR16_NOREX | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK64 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VR64 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64PLTSafe_and_GR64_TC | |
93, // sub_8bit -> GR64PLTSafe_and_GR64_TC | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
93, // sub_16bit -> GR64PLTSafe_and_GR64_TC | |
93, // sub_16bit_hi -> GR64PLTSafe_and_GR64_TC | |
93, // sub_32bit -> GR64PLTSafe_and_GR64_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX2_NOSP_and_GR64_TCW64 | |
94, // sub_8bit -> GR64_NOREX2_NOSP_and_GR64_TCW64 | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
94, // sub_16bit -> GR64_NOREX2_NOSP_and_GR64_TCW64 | |
94, // sub_16bit_hi -> GR64_NOREX2_NOSP_and_GR64_TCW64 | |
94, // sub_32bit -> GR64_NOREX2_NOSP_and_GR64_TCW64 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX_NOSP | |
95, // sub_8bit -> GR64_NOREX_NOSP | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
95, // sub_16bit -> GR64_NOREX_NOSP | |
95, // sub_16bit_hi -> GR64_NOREX_NOSP | |
95, // sub_32bit -> GR64_NOREX_NOSP | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX_and_GR64_TC | |
100, // sub_8bit -> GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
96, // sub_16bit -> GR64_NOREX_and_GR64_TC | |
96, // sub_16bit_hi -> GR64_NOREX_and_GR64_TC | |
96, // sub_32bit -> GR64_NOREX_and_GR64_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TCW64_and_GR64_TC_with_sub_8bit | |
97, // sub_8bit -> GR64_TCW64_and_GR64_TC_with_sub_8bit | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
97, // sub_16bit -> GR64_TCW64_and_GR64_TC_with_sub_8bit | |
97, // sub_16bit_hi -> GR64_TCW64_and_GR64_TC_with_sub_8bit | |
97, // sub_32bit -> GR64_TCW64_and_GR64_TC_with_sub_8bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VK64WM | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
99, // sub_8bit -> GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
99, // sub_16bit -> GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
99, // sub_16bit_hi -> GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
99, // sub_32bit -> GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
100, // sub_8bit -> GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
100, // sub_16bit -> GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
100, // sub_16bit_hi -> GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
100, // sub_32bit -> GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64PLTSafe_and_GR64_TCW64 | |
101, // sub_8bit -> GR64PLTSafe_and_GR64_TCW64 | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
101, // sub_16bit -> GR64PLTSafe_and_GR64_TCW64 | |
101, // sub_16bit_hi -> GR64PLTSafe_and_GR64_TCW64 | |
101, // sub_32bit -> GR64PLTSafe_and_GR64_TCW64 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
102, // sub_8bit -> GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
102, // sub_16bit -> GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
102, // sub_16bit_hi -> GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
102, // sub_32bit -> GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_NOREX_and_GR64_TCW64 | |
105, // sub_8bit -> GR64_with_sub_32bit_in_GR32_TC | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
103, // sub_16bit -> GR64_NOREX_and_GR64_TCW64 | |
103, // sub_16bit_hi -> GR64_NOREX_and_GR64_TCW64 | |
103, // sub_32bit -> GR64_NOREX_and_GR64_TCW64 | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_ABCD | |
104, // sub_8bit -> GR64_ABCD | |
104, // sub_8bit_hi -> GR64_ABCD | |
0, // sub_8bit_hi_phony | |
104, // sub_16bit -> GR64_ABCD | |
104, // sub_16bit_hi -> GR64_ABCD | |
104, // sub_32bit -> GR64_ABCD | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_TC | |
105, // sub_8bit -> GR64_with_sub_32bit_in_GR32_TC | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
105, // sub_16bit -> GR64_with_sub_32bit_in_GR32_TC | |
105, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_TC | |
105, // sub_32bit -> GR64_with_sub_32bit_in_GR32_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
106, // sub_8bit -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
106, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_8bit_hi_phony | |
106, // sub_16bit -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
106, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
106, // sub_32bit -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_AD | |
107, // sub_8bit -> GR64_AD | |
107, // sub_8bit_hi -> GR64_AD | |
0, // sub_8bit_hi_phony | |
107, // sub_16bit -> GR64_AD | |
107, // sub_16bit_hi -> GR64_AD | |
107, // sub_32bit -> GR64_AD | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_ArgRef | |
108, // sub_8bit -> GR64_ArgRef | |
0, // sub_8bit_hi | |
108, // sub_8bit_hi_phony -> GR64_ArgRef | |
108, // sub_16bit -> GR64_ArgRef | |
108, // sub_16bit_hi -> GR64_ArgRef | |
108, // sub_32bit -> GR64_ArgRef | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_and_LOW32_ADDR_ACCESS_RBP | |
121, // sub_8bit -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
109, // sub_16bit -> GR64_and_LOW32_ADDR_ACCESS_RBP | |
109, // sub_16bit_hi -> GR64_and_LOW32_ADDR_ACCESS_RBP | |
109, // sub_32bit -> GR64_and_LOW32_ADDR_ACCESS_RBP | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ArgRef | |
110, // sub_8bit -> GR64_with_sub_32bit_in_GR32_ArgRef | |
110, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ArgRef | |
0, // sub_8bit_hi_phony | |
110, // sub_16bit -> GR64_with_sub_32bit_in_GR32_ArgRef | |
110, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_ArgRef | |
110, // sub_32bit -> GR64_with_sub_32bit_in_GR32_ArgRef | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BPSP | |
111, // sub_8bit -> GR64_with_sub_32bit_in_GR32_BPSP | |
0, // sub_8bit_hi | |
111, // sub_8bit_hi_phony -> GR64_with_sub_32bit_in_GR32_BPSP | |
111, // sub_16bit -> GR64_with_sub_32bit_in_GR32_BPSP | |
111, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_BPSP | |
111, // sub_32bit -> GR64_with_sub_32bit_in_GR32_BPSP | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BSI | |
112, // sub_8bit -> GR64_with_sub_32bit_in_GR32_BSI | |
118, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
0, // sub_8bit_hi_phony | |
112, // sub_16bit -> GR64_with_sub_32bit_in_GR32_BSI | |
112, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_BSI | |
112, // sub_32bit -> GR64_with_sub_32bit_in_GR32_BSI | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_CB | |
113, // sub_8bit -> GR64_with_sub_32bit_in_GR32_CB | |
113, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_CB | |
0, // sub_8bit_hi_phony | |
113, // sub_16bit -> GR64_with_sub_32bit_in_GR32_CB | |
113, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_CB | |
113, // sub_32bit -> GR64_with_sub_32bit_in_GR32_CB | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_DIBP | |
114, // sub_8bit -> GR64_with_sub_32bit_in_GR32_DIBP | |
0, // sub_8bit_hi | |
114, // sub_8bit_hi_phony -> GR64_with_sub_32bit_in_GR32_DIBP | |
114, // sub_16bit -> GR64_with_sub_32bit_in_GR32_DIBP | |
114, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_DIBP | |
114, // sub_32bit -> GR64_with_sub_32bit_in_GR32_DIBP | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_SIDI | |
115, // sub_8bit -> GR64_with_sub_32bit_in_GR32_SIDI | |
0, // sub_8bit_hi | |
115, // sub_8bit_hi_phony -> GR64_with_sub_32bit_in_GR32_SIDI | |
115, // sub_16bit -> GR64_with_sub_32bit_in_GR32_SIDI | |
115, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_SIDI | |
115, // sub_32bit -> GR64_with_sub_32bit_in_GR32_SIDI | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_ArgRef_and_GR64_TC | |
116, // sub_8bit -> GR64_ArgRef_and_GR64_TC | |
0, // sub_8bit_hi | |
116, // sub_8bit_hi_phony -> GR64_ArgRef_and_GR64_TC | |
116, // sub_16bit -> GR64_ArgRef_and_GR64_TC | |
116, // sub_16bit_hi -> GR64_ArgRef_and_GR64_TC | |
116, // sub_32bit -> GR64_ArgRef_and_GR64_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_and_LOW32_ADDR_ACCESS | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
117, // sub_16bit -> GR64_and_LOW32_ADDR_ACCESS | |
117, // sub_16bit_hi -> GR64_and_LOW32_ADDR_ACCESS | |
117, // sub_32bit -> GR64_and_LOW32_ADDR_ACCESS | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
118, // sub_8bit -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
118, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
0, // sub_8bit_hi_phony | |
118, // sub_16bit -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
118, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
118, // sub_32bit -> GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
119, // sub_8bit -> GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
119, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
0, // sub_8bit_hi_phony | |
119, // sub_16bit -> GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
119, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
119, // sub_32bit -> GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
120, // sub_8bit -> GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
120, // sub_8bit_hi -> GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
0, // sub_8bit_hi_phony | |
120, // sub_16bit -> GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
120, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
120, // sub_32bit -> GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
121, // sub_8bit -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
0, // sub_8bit_hi | |
121, // sub_8bit_hi_phony -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
121, // sub_16bit -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
121, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
121, // sub_32bit -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
122, // sub_8bit -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
0, // sub_8bit_hi | |
122, // sub_8bit_hi_phony -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
122, // sub_16bit -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
122, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
122, // sub_32bit -> GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
123, // sub_8bit -> GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
0, // sub_8bit_hi | |
123, // sub_8bit_hi_phony -> GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
123, // sub_16bit -> GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
123, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
123, // sub_32bit -> GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
124, // sub_8bit -> GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
0, // sub_8bit_hi | |
124, // sub_8bit_hi_phony -> GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
124, // sub_16bit -> GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
124, // sub_16bit_hi -> GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
124, // sub_32bit -> GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // RST | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // RFP80 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // RFP80_7 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VR128X | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VR128 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // VR256X | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
130, // sub_xmm -> VR256X | |
0, // sub_ymm | |
}, | |
{ // VR256 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
131, // sub_xmm -> VR256 | |
0, // sub_ymm | |
}, | |
{ // VR512 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
132, // sub_xmm -> VR512 | |
132, // sub_ymm -> VR512 | |
}, | |
{ // VR512_0_15 | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
133, // sub_xmm -> VR512_0_15 | |
133, // sub_ymm -> VR512_0_15 | |
}, | |
{ // TILE | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
0, // sub_t0 | |
0, // sub_t1 | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
{ // TILEPAIR | |
0, // sub_8bit | |
0, // sub_8bit_hi | |
0, // sub_8bit_hi_phony | |
0, // sub_16bit | |
0, // sub_16bit_hi | |
0, // sub_32bit | |
0, // sub_mask_0 | |
0, // sub_mask_1 | |
135, // sub_t0 -> TILEPAIR | |
135, // sub_t1 -> TILEPAIR | |
0, // sub_xmm | |
0, // sub_ymm | |
}, | |
}; | |
assert(RC && "Missing regclass"); | |
if (!Idx) return RC; | |
--Idx; | |
assert(Idx < 12 && "Bad subreg"); | |
unsigned TV = Table[RC->getID()][Idx]; | |
return TV ? getRegClass(TV - 1) : nullptr; | |
} | |
const TargetRegisterClass *X86GenRegisterInfo::getSubRegisterClass(const TargetRegisterClass *RC, unsigned Idx) const { | |
static const uint8_t Table[135][12] = { | |
{ // GR8 | |
0, // GR8:sub_8bit | |
0, // GR8:sub_8bit_hi | |
0, // GR8:sub_8bit_hi_phony | |
0, // GR8:sub_16bit | |
0, // GR8:sub_16bit_hi | |
0, // GR8:sub_32bit | |
0, // GR8:sub_mask_0 | |
0, // GR8:sub_mask_1 | |
0, // GR8:sub_t0 | |
0, // GR8:sub_t1 | |
0, // GR8:sub_xmm | |
0, // GR8:sub_ymm | |
}, | |
{ // GRH8 | |
0, // GRH8:sub_8bit | |
0, // GRH8:sub_8bit_hi | |
0, // GRH8:sub_8bit_hi_phony | |
0, // GRH8:sub_16bit | |
0, // GRH8:sub_16bit_hi | |
0, // GRH8:sub_32bit | |
0, // GRH8:sub_mask_0 | |
0, // GRH8:sub_mask_1 | |
0, // GRH8:sub_t0 | |
0, // GRH8:sub_t1 | |
0, // GRH8:sub_xmm | |
0, // GRH8:sub_ymm | |
}, | |
{ // GR8_NOREX2 | |
0, // GR8_NOREX2:sub_8bit | |
0, // GR8_NOREX2:sub_8bit_hi | |
0, // GR8_NOREX2:sub_8bit_hi_phony | |
0, // GR8_NOREX2:sub_16bit | |
0, // GR8_NOREX2:sub_16bit_hi | |
0, // GR8_NOREX2:sub_32bit | |
0, // GR8_NOREX2:sub_mask_0 | |
0, // GR8_NOREX2:sub_mask_1 | |
0, // GR8_NOREX2:sub_t0 | |
0, // GR8_NOREX2:sub_t1 | |
0, // GR8_NOREX2:sub_xmm | |
0, // GR8_NOREX2:sub_ymm | |
}, | |
{ // GR8_NOREX | |
0, // GR8_NOREX:sub_8bit | |
0, // GR8_NOREX:sub_8bit_hi | |
0, // GR8_NOREX:sub_8bit_hi_phony | |
0, // GR8_NOREX:sub_16bit | |
0, // GR8_NOREX:sub_16bit_hi | |
0, // GR8_NOREX:sub_32bit | |
0, // GR8_NOREX:sub_mask_0 | |
0, // GR8_NOREX:sub_mask_1 | |
0, // GR8_NOREX:sub_t0 | |
0, // GR8_NOREX:sub_t1 | |
0, // GR8_NOREX:sub_xmm | |
0, // GR8_NOREX:sub_ymm | |
}, | |
{ // GR8_ABCD_H | |
0, // GR8_ABCD_H:sub_8bit | |
0, // GR8_ABCD_H:sub_8bit_hi | |
0, // GR8_ABCD_H:sub_8bit_hi_phony | |
0, // GR8_ABCD_H:sub_16bit | |
0, // GR8_ABCD_H:sub_16bit_hi | |
0, // GR8_ABCD_H:sub_32bit | |
0, // GR8_ABCD_H:sub_mask_0 | |
0, // GR8_ABCD_H:sub_mask_1 | |
0, // GR8_ABCD_H:sub_t0 | |
0, // GR8_ABCD_H:sub_t1 | |
0, // GR8_ABCD_H:sub_xmm | |
0, // GR8_ABCD_H:sub_ymm | |
}, | |
{ // GR8_ABCD_L | |
0, // GR8_ABCD_L:sub_8bit | |
0, // GR8_ABCD_L:sub_8bit_hi | |
0, // GR8_ABCD_L:sub_8bit_hi_phony | |
0, // GR8_ABCD_L:sub_16bit | |
0, // GR8_ABCD_L:sub_16bit_hi | |
0, // GR8_ABCD_L:sub_32bit | |
0, // GR8_ABCD_L:sub_mask_0 | |
0, // GR8_ABCD_L:sub_mask_1 | |
0, // GR8_ABCD_L:sub_t0 | |
0, // GR8_ABCD_L:sub_t1 | |
0, // GR8_ABCD_L:sub_xmm | |
0, // GR8_ABCD_L:sub_ymm | |
}, | |
{ // GRH16 | |
0, // GRH16:sub_8bit | |
0, // GRH16:sub_8bit_hi | |
0, // GRH16:sub_8bit_hi_phony | |
0, // GRH16:sub_16bit | |
0, // GRH16:sub_16bit_hi | |
0, // GRH16:sub_32bit | |
0, // GRH16:sub_mask_0 | |
0, // GRH16:sub_mask_1 | |
0, // GRH16:sub_t0 | |
0, // GRH16:sub_t1 | |
0, // GRH16:sub_xmm | |
0, // GRH16:sub_ymm | |
}, | |
{ // GR16 | |
1, // GR16:sub_8bit -> GR8 | |
5, // GR16:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR16:sub_8bit_hi_phony | |
0, // GR16:sub_16bit | |
0, // GR16:sub_16bit_hi | |
0, // GR16:sub_32bit | |
0, // GR16:sub_mask_0 | |
0, // GR16:sub_mask_1 | |
0, // GR16:sub_t0 | |
0, // GR16:sub_t1 | |
0, // GR16:sub_xmm | |
0, // GR16:sub_ymm | |
}, | |
{ // GR16_NOREX2 | |
3, // GR16_NOREX2:sub_8bit -> GR8_NOREX2 | |
5, // GR16_NOREX2:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR16_NOREX2:sub_8bit_hi_phony | |
0, // GR16_NOREX2:sub_16bit | |
0, // GR16_NOREX2:sub_16bit_hi | |
0, // GR16_NOREX2:sub_32bit | |
0, // GR16_NOREX2:sub_mask_0 | |
0, // GR16_NOREX2:sub_mask_1 | |
0, // GR16_NOREX2:sub_t0 | |
0, // GR16_NOREX2:sub_t1 | |
0, // GR16_NOREX2:sub_xmm | |
0, // GR16_NOREX2:sub_ymm | |
}, | |
{ // GR16_NOREX | |
3, // GR16_NOREX:sub_8bit -> GR8_NOREX2 | |
5, // GR16_NOREX:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR16_NOREX:sub_8bit_hi_phony | |
0, // GR16_NOREX:sub_16bit | |
0, // GR16_NOREX:sub_16bit_hi | |
0, // GR16_NOREX:sub_32bit | |
0, // GR16_NOREX:sub_mask_0 | |
0, // GR16_NOREX:sub_mask_1 | |
0, // GR16_NOREX:sub_t0 | |
0, // GR16_NOREX:sub_t1 | |
0, // GR16_NOREX:sub_xmm | |
0, // GR16_NOREX:sub_ymm | |
}, | |
{ // VK1 | |
0, // VK1:sub_8bit | |
0, // VK1:sub_8bit_hi | |
0, // VK1:sub_8bit_hi_phony | |
0, // VK1:sub_16bit | |
0, // VK1:sub_16bit_hi | |
0, // VK1:sub_32bit | |
0, // VK1:sub_mask_0 | |
0, // VK1:sub_mask_1 | |
0, // VK1:sub_t0 | |
0, // VK1:sub_t1 | |
0, // VK1:sub_xmm | |
0, // VK1:sub_ymm | |
}, | |
{ // VK16 | |
0, // VK16:sub_8bit | |
0, // VK16:sub_8bit_hi | |
0, // VK16:sub_8bit_hi_phony | |
0, // VK16:sub_16bit | |
0, // VK16:sub_16bit_hi | |
0, // VK16:sub_32bit | |
0, // VK16:sub_mask_0 | |
0, // VK16:sub_mask_1 | |
0, // VK16:sub_t0 | |
0, // VK16:sub_t1 | |
0, // VK16:sub_xmm | |
0, // VK16:sub_ymm | |
}, | |
{ // VK2 | |
0, // VK2:sub_8bit | |
0, // VK2:sub_8bit_hi | |
0, // VK2:sub_8bit_hi_phony | |
0, // VK2:sub_16bit | |
0, // VK2:sub_16bit_hi | |
0, // VK2:sub_32bit | |
0, // VK2:sub_mask_0 | |
0, // VK2:sub_mask_1 | |
0, // VK2:sub_t0 | |
0, // VK2:sub_t1 | |
0, // VK2:sub_xmm | |
0, // VK2:sub_ymm | |
}, | |
{ // VK4 | |
0, // VK4:sub_8bit | |
0, // VK4:sub_8bit_hi | |
0, // VK4:sub_8bit_hi_phony | |
0, // VK4:sub_16bit | |
0, // VK4:sub_16bit_hi | |
0, // VK4:sub_32bit | |
0, // VK4:sub_mask_0 | |
0, // VK4:sub_mask_1 | |
0, // VK4:sub_t0 | |
0, // VK4:sub_t1 | |
0, // VK4:sub_xmm | |
0, // VK4:sub_ymm | |
}, | |
{ // VK8 | |
0, // VK8:sub_8bit | |
0, // VK8:sub_8bit_hi | |
0, // VK8:sub_8bit_hi_phony | |
0, // VK8:sub_16bit | |
0, // VK8:sub_16bit_hi | |
0, // VK8:sub_32bit | |
0, // VK8:sub_mask_0 | |
0, // VK8:sub_mask_1 | |
0, // VK8:sub_t0 | |
0, // VK8:sub_t1 | |
0, // VK8:sub_xmm | |
0, // VK8:sub_ymm | |
}, | |
{ // VK16WM | |
0, // VK16WM:sub_8bit | |
0, // VK16WM:sub_8bit_hi | |
0, // VK16WM:sub_8bit_hi_phony | |
0, // VK16WM:sub_16bit | |
0, // VK16WM:sub_16bit_hi | |
0, // VK16WM:sub_32bit | |
0, // VK16WM:sub_mask_0 | |
0, // VK16WM:sub_mask_1 | |
0, // VK16WM:sub_t0 | |
0, // VK16WM:sub_t1 | |
0, // VK16WM:sub_xmm | |
0, // VK16WM:sub_ymm | |
}, | |
{ // VK1WM | |
0, // VK1WM:sub_8bit | |
0, // VK1WM:sub_8bit_hi | |
0, // VK1WM:sub_8bit_hi_phony | |
0, // VK1WM:sub_16bit | |
0, // VK1WM:sub_16bit_hi | |
0, // VK1WM:sub_32bit | |
0, // VK1WM:sub_mask_0 | |
0, // VK1WM:sub_mask_1 | |
0, // VK1WM:sub_t0 | |
0, // VK1WM:sub_t1 | |
0, // VK1WM:sub_xmm | |
0, // VK1WM:sub_ymm | |
}, | |
{ // VK2WM | |
0, // VK2WM:sub_8bit | |
0, // VK2WM:sub_8bit_hi | |
0, // VK2WM:sub_8bit_hi_phony | |
0, // VK2WM:sub_16bit | |
0, // VK2WM:sub_16bit_hi | |
0, // VK2WM:sub_32bit | |
0, // VK2WM:sub_mask_0 | |
0, // VK2WM:sub_mask_1 | |
0, // VK2WM:sub_t0 | |
0, // VK2WM:sub_t1 | |
0, // VK2WM:sub_xmm | |
0, // VK2WM:sub_ymm | |
}, | |
{ // VK4WM | |
0, // VK4WM:sub_8bit | |
0, // VK4WM:sub_8bit_hi | |
0, // VK4WM:sub_8bit_hi_phony | |
0, // VK4WM:sub_16bit | |
0, // VK4WM:sub_16bit_hi | |
0, // VK4WM:sub_32bit | |
0, // VK4WM:sub_mask_0 | |
0, // VK4WM:sub_mask_1 | |
0, // VK4WM:sub_t0 | |
0, // VK4WM:sub_t1 | |
0, // VK4WM:sub_xmm | |
0, // VK4WM:sub_ymm | |
}, | |
{ // VK8WM | |
0, // VK8WM:sub_8bit | |
0, // VK8WM:sub_8bit_hi | |
0, // VK8WM:sub_8bit_hi_phony | |
0, // VK8WM:sub_16bit | |
0, // VK8WM:sub_16bit_hi | |
0, // VK8WM:sub_32bit | |
0, // VK8WM:sub_mask_0 | |
0, // VK8WM:sub_mask_1 | |
0, // VK8WM:sub_t0 | |
0, // VK8WM:sub_t1 | |
0, // VK8WM:sub_xmm | |
0, // VK8WM:sub_ymm | |
}, | |
{ // SEGMENT_REG | |
0, // SEGMENT_REG:sub_8bit | |
0, // SEGMENT_REG:sub_8bit_hi | |
0, // SEGMENT_REG:sub_8bit_hi_phony | |
0, // SEGMENT_REG:sub_16bit | |
0, // SEGMENT_REG:sub_16bit_hi | |
0, // SEGMENT_REG:sub_32bit | |
0, // SEGMENT_REG:sub_mask_0 | |
0, // SEGMENT_REG:sub_mask_1 | |
0, // SEGMENT_REG:sub_t0 | |
0, // SEGMENT_REG:sub_t1 | |
0, // SEGMENT_REG:sub_xmm | |
0, // SEGMENT_REG:sub_ymm | |
}, | |
{ // GR16_ABCD | |
6, // GR16_ABCD:sub_8bit -> GR8_ABCD_L | |
5, // GR16_ABCD:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR16_ABCD:sub_8bit_hi_phony | |
0, // GR16_ABCD:sub_16bit | |
0, // GR16_ABCD:sub_16bit_hi | |
0, // GR16_ABCD:sub_32bit | |
0, // GR16_ABCD:sub_mask_0 | |
0, // GR16_ABCD:sub_mask_1 | |
0, // GR16_ABCD:sub_t0 | |
0, // GR16_ABCD:sub_t1 | |
0, // GR16_ABCD:sub_xmm | |
0, // GR16_ABCD:sub_ymm | |
}, | |
{ // FPCCR | |
0, // FPCCR:sub_8bit | |
0, // FPCCR:sub_8bit_hi | |
0, // FPCCR:sub_8bit_hi_phony | |
0, // FPCCR:sub_16bit | |
0, // FPCCR:sub_16bit_hi | |
0, // FPCCR:sub_32bit | |
0, // FPCCR:sub_mask_0 | |
0, // FPCCR:sub_mask_1 | |
0, // FPCCR:sub_t0 | |
0, // FPCCR:sub_t1 | |
0, // FPCCR:sub_xmm | |
0, // FPCCR:sub_ymm | |
}, | |
{ // FR16X | |
0, // FR16X:sub_8bit | |
0, // FR16X:sub_8bit_hi | |
0, // FR16X:sub_8bit_hi_phony | |
0, // FR16X:sub_16bit | |
0, // FR16X:sub_16bit_hi | |
0, // FR16X:sub_32bit | |
0, // FR16X:sub_mask_0 | |
0, // FR16X:sub_mask_1 | |
0, // FR16X:sub_t0 | |
0, // FR16X:sub_t1 | |
0, // FR16X:sub_xmm | |
0, // FR16X:sub_ymm | |
}, | |
{ // FR16 | |
0, // FR16:sub_8bit | |
0, // FR16:sub_8bit_hi | |
0, // FR16:sub_8bit_hi_phony | |
0, // FR16:sub_16bit | |
0, // FR16:sub_16bit_hi | |
0, // FR16:sub_32bit | |
0, // FR16:sub_mask_0 | |
0, // FR16:sub_mask_1 | |
0, // FR16:sub_t0 | |
0, // FR16:sub_t1 | |
0, // FR16:sub_xmm | |
0, // FR16:sub_ymm | |
}, | |
{ // VK16PAIR | |
0, // VK16PAIR:sub_8bit | |
0, // VK16PAIR:sub_8bit_hi | |
0, // VK16PAIR:sub_8bit_hi_phony | |
0, // VK16PAIR:sub_16bit | |
0, // VK16PAIR:sub_16bit_hi | |
0, // VK16PAIR:sub_32bit | |
91, // VK16PAIR:sub_mask_0 -> VK64 | |
98, // VK16PAIR:sub_mask_1 -> VK64WM | |
0, // VK16PAIR:sub_t0 | |
0, // VK16PAIR:sub_t1 | |
0, // VK16PAIR:sub_xmm | |
0, // VK16PAIR:sub_ymm | |
}, | |
{ // VK1PAIR | |
0, // VK1PAIR:sub_8bit | |
0, // VK1PAIR:sub_8bit_hi | |
0, // VK1PAIR:sub_8bit_hi_phony | |
0, // VK1PAIR:sub_16bit | |
0, // VK1PAIR:sub_16bit_hi | |
0, // VK1PAIR:sub_32bit | |
91, // VK1PAIR:sub_mask_0 -> VK64 | |
98, // VK1PAIR:sub_mask_1 -> VK64WM | |
0, // VK1PAIR:sub_t0 | |
0, // VK1PAIR:sub_t1 | |
0, // VK1PAIR:sub_xmm | |
0, // VK1PAIR:sub_ymm | |
}, | |
{ // VK2PAIR | |
0, // VK2PAIR:sub_8bit | |
0, // VK2PAIR:sub_8bit_hi | |
0, // VK2PAIR:sub_8bit_hi_phony | |
0, // VK2PAIR:sub_16bit | |
0, // VK2PAIR:sub_16bit_hi | |
0, // VK2PAIR:sub_32bit | |
91, // VK2PAIR:sub_mask_0 -> VK64 | |
98, // VK2PAIR:sub_mask_1 -> VK64WM | |
0, // VK2PAIR:sub_t0 | |
0, // VK2PAIR:sub_t1 | |
0, // VK2PAIR:sub_xmm | |
0, // VK2PAIR:sub_ymm | |
}, | |
{ // VK4PAIR | |
0, // VK4PAIR:sub_8bit | |
0, // VK4PAIR:sub_8bit_hi | |
0, // VK4PAIR:sub_8bit_hi_phony | |
0, // VK4PAIR:sub_16bit | |
0, // VK4PAIR:sub_16bit_hi | |
0, // VK4PAIR:sub_32bit | |
91, // VK4PAIR:sub_mask_0 -> VK64 | |
98, // VK4PAIR:sub_mask_1 -> VK64WM | |
0, // VK4PAIR:sub_t0 | |
0, // VK4PAIR:sub_t1 | |
0, // VK4PAIR:sub_xmm | |
0, // VK4PAIR:sub_ymm | |
}, | |
{ // VK8PAIR | |
0, // VK8PAIR:sub_8bit | |
0, // VK8PAIR:sub_8bit_hi | |
0, // VK8PAIR:sub_8bit_hi_phony | |
0, // VK8PAIR:sub_16bit | |
0, // VK8PAIR:sub_16bit_hi | |
0, // VK8PAIR:sub_32bit | |
91, // VK8PAIR:sub_mask_0 -> VK64 | |
98, // VK8PAIR:sub_mask_1 -> VK64WM | |
0, // VK8PAIR:sub_t0 | |
0, // VK8PAIR:sub_t1 | |
0, // VK8PAIR:sub_xmm | |
0, // VK8PAIR:sub_ymm | |
}, | |
{ // VK1PAIR_with_sub_mask_0_in_VK1WM | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_8bit | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_8bit_hi | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_8bit_hi_phony | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_16bit | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_16bit_hi | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_32bit | |
98, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_mask_0 -> VK64WM | |
98, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_mask_1 -> VK64WM | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_t0 | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_t1 | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_xmm | |
0, // VK1PAIR_with_sub_mask_0_in_VK1WM:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP | |
1, // LOW32_ADDR_ACCESS_RBP:sub_8bit -> GR8 | |
5, // LOW32_ADDR_ACCESS_RBP:sub_8bit_hi -> GR8_ABCD_H | |
0, // LOW32_ADDR_ACCESS_RBP:sub_8bit_hi_phony | |
8, // LOW32_ADDR_ACCESS_RBP:sub_16bit -> GR16 | |
0, // LOW32_ADDR_ACCESS_RBP:sub_16bit_hi | |
66, // LOW32_ADDR_ACCESS_RBP:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // LOW32_ADDR_ACCESS_RBP:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS_RBP:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS_RBP:sub_t0 | |
0, // LOW32_ADDR_ACCESS_RBP:sub_t1 | |
0, // LOW32_ADDR_ACCESS_RBP:sub_xmm | |
0, // LOW32_ADDR_ACCESS_RBP:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS | |
1, // LOW32_ADDR_ACCESS:sub_8bit -> GR8 | |
5, // LOW32_ADDR_ACCESS:sub_8bit_hi -> GR8_ABCD_H | |
0, // LOW32_ADDR_ACCESS:sub_8bit_hi_phony | |
8, // LOW32_ADDR_ACCESS:sub_16bit -> GR16 | |
0, // LOW32_ADDR_ACCESS:sub_16bit_hi | |
0, // LOW32_ADDR_ACCESS:sub_32bit | |
0, // LOW32_ADDR_ACCESS:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS:sub_t0 | |
0, // LOW32_ADDR_ACCESS:sub_t1 | |
0, // LOW32_ADDR_ACCESS:sub_xmm | |
0, // LOW32_ADDR_ACCESS:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
1, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_8bit -> GR8 | |
5, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_8bit_hi -> GR8_ABCD_H | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_8bit_hi_phony | |
8, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_16bit -> GR16 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_16bit_hi | |
66, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_t0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_t1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_xmm | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit:sub_ymm | |
}, | |
{ // FR32X | |
0, // FR32X:sub_8bit | |
0, // FR32X:sub_8bit_hi | |
0, // FR32X:sub_8bit_hi_phony | |
0, // FR32X:sub_16bit | |
0, // FR32X:sub_16bit_hi | |
0, // FR32X:sub_32bit | |
0, // FR32X:sub_mask_0 | |
0, // FR32X:sub_mask_1 | |
0, // FR32X:sub_t0 | |
0, // FR32X:sub_t1 | |
0, // FR32X:sub_xmm | |
0, // FR32X:sub_ymm | |
}, | |
{ // GR32 | |
1, // GR32:sub_8bit -> GR8 | |
5, // GR32:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32:sub_8bit_hi_phony | |
8, // GR32:sub_16bit -> GR16 | |
0, // GR32:sub_16bit_hi | |
0, // GR32:sub_32bit | |
0, // GR32:sub_mask_0 | |
0, // GR32:sub_mask_1 | |
0, // GR32:sub_t0 | |
0, // GR32:sub_t1 | |
0, // GR32:sub_xmm | |
0, // GR32:sub_ymm | |
}, | |
{ // GR32_NOSP | |
1, // GR32_NOSP:sub_8bit -> GR8 | |
5, // GR32_NOSP:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_NOSP:sub_8bit_hi_phony | |
8, // GR32_NOSP:sub_16bit -> GR16 | |
0, // GR32_NOSP:sub_16bit_hi | |
0, // GR32_NOSP:sub_32bit | |
0, // GR32_NOSP:sub_mask_0 | |
0, // GR32_NOSP:sub_mask_1 | |
0, // GR32_NOSP:sub_t0 | |
0, // GR32_NOSP:sub_t1 | |
0, // GR32_NOSP:sub_xmm | |
0, // GR32_NOSP:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
3, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_8bit -> GR8_NOREX2 | |
5, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_8bit_hi -> GR8_ABCD_H | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_8bit_hi_phony | |
9, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_16bit -> GR16_NOREX2 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_16bit_hi | |
66, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_t0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_t1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_xmm | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2:sub_ymm | |
}, | |
{ // DEBUG_REG | |
0, // DEBUG_REG:sub_8bit | |
0, // DEBUG_REG:sub_8bit_hi | |
0, // DEBUG_REG:sub_8bit_hi_phony | |
0, // DEBUG_REG:sub_16bit | |
0, // DEBUG_REG:sub_16bit_hi | |
0, // DEBUG_REG:sub_32bit | |
0, // DEBUG_REG:sub_mask_0 | |
0, // DEBUG_REG:sub_mask_1 | |
0, // DEBUG_REG:sub_t0 | |
0, // DEBUG_REG:sub_t1 | |
0, // DEBUG_REG:sub_xmm | |
0, // DEBUG_REG:sub_ymm | |
}, | |
{ // FR32 | |
0, // FR32:sub_8bit | |
0, // FR32:sub_8bit_hi | |
0, // FR32:sub_8bit_hi_phony | |
0, // FR32:sub_16bit | |
0, // FR32:sub_16bit_hi | |
0, // FR32:sub_32bit | |
0, // FR32:sub_mask_0 | |
0, // FR32:sub_mask_1 | |
0, // FR32:sub_t0 | |
0, // FR32:sub_t1 | |
0, // FR32:sub_xmm | |
0, // FR32:sub_ymm | |
}, | |
{ // GR32_NOREX2 | |
3, // GR32_NOREX2:sub_8bit -> GR8_NOREX2 | |
5, // GR32_NOREX2:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_NOREX2:sub_8bit_hi_phony | |
9, // GR32_NOREX2:sub_16bit -> GR16_NOREX2 | |
0, // GR32_NOREX2:sub_16bit_hi | |
0, // GR32_NOREX2:sub_32bit | |
0, // GR32_NOREX2:sub_mask_0 | |
0, // GR32_NOREX2:sub_mask_1 | |
0, // GR32_NOREX2:sub_t0 | |
0, // GR32_NOREX2:sub_t1 | |
0, // GR32_NOREX2:sub_xmm | |
0, // GR32_NOREX2:sub_ymm | |
}, | |
{ // GR32_NOREX2_NOSP | |
3, // GR32_NOREX2_NOSP:sub_8bit -> GR8_NOREX2 | |
5, // GR32_NOREX2_NOSP:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_NOREX2_NOSP:sub_8bit_hi_phony | |
9, // GR32_NOREX2_NOSP:sub_16bit -> GR16_NOREX2 | |
0, // GR32_NOREX2_NOSP:sub_16bit_hi | |
0, // GR32_NOREX2_NOSP:sub_32bit | |
0, // GR32_NOREX2_NOSP:sub_mask_0 | |
0, // GR32_NOREX2_NOSP:sub_mask_1 | |
0, // GR32_NOREX2_NOSP:sub_t0 | |
0, // GR32_NOREX2_NOSP:sub_t1 | |
0, // GR32_NOREX2_NOSP:sub_xmm | |
0, // GR32_NOREX2_NOSP:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX | |
3, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_8bit -> GR8_NOREX2 | |
5, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_8bit_hi -> GR8_ABCD_H | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_8bit_hi_phony | |
10, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_16bit -> GR16_NOREX | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_16bit_hi | |
66, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_t0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_t1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_xmm | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX:sub_ymm | |
}, | |
{ // GR32_NOREX | |
3, // GR32_NOREX:sub_8bit -> GR8_NOREX2 | |
5, // GR32_NOREX:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_NOREX:sub_8bit_hi_phony | |
10, // GR32_NOREX:sub_16bit -> GR16_NOREX | |
0, // GR32_NOREX:sub_16bit_hi | |
0, // GR32_NOREX:sub_32bit | |
0, // GR32_NOREX:sub_mask_0 | |
0, // GR32_NOREX:sub_mask_1 | |
0, // GR32_NOREX:sub_t0 | |
0, // GR32_NOREX:sub_t1 | |
0, // GR32_NOREX:sub_xmm | |
0, // GR32_NOREX:sub_ymm | |
}, | |
{ // VK32 | |
0, // VK32:sub_8bit | |
0, // VK32:sub_8bit_hi | |
0, // VK32:sub_8bit_hi_phony | |
0, // VK32:sub_16bit | |
0, // VK32:sub_16bit_hi | |
0, // VK32:sub_32bit | |
0, // VK32:sub_mask_0 | |
0, // VK32:sub_mask_1 | |
0, // VK32:sub_t0 | |
0, // VK32:sub_t1 | |
0, // VK32:sub_xmm | |
0, // VK32:sub_ymm | |
}, | |
{ // GR32_NOREX_NOSP | |
3, // GR32_NOREX_NOSP:sub_8bit -> GR8_NOREX2 | |
5, // GR32_NOREX_NOSP:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_NOREX_NOSP:sub_8bit_hi_phony | |
10, // GR32_NOREX_NOSP:sub_16bit -> GR16_NOREX | |
0, // GR32_NOREX_NOSP:sub_16bit_hi | |
0, // GR32_NOREX_NOSP:sub_32bit | |
0, // GR32_NOREX_NOSP:sub_mask_0 | |
0, // GR32_NOREX_NOSP:sub_mask_1 | |
0, // GR32_NOREX_NOSP:sub_t0 | |
0, // GR32_NOREX_NOSP:sub_t1 | |
0, // GR32_NOREX_NOSP:sub_xmm | |
0, // GR32_NOREX_NOSP:sub_ymm | |
}, | |
{ // RFP32 | |
0, // RFP32:sub_8bit | |
0, // RFP32:sub_8bit_hi | |
0, // RFP32:sub_8bit_hi_phony | |
0, // RFP32:sub_16bit | |
0, // RFP32:sub_16bit_hi | |
0, // RFP32:sub_32bit | |
0, // RFP32:sub_mask_0 | |
0, // RFP32:sub_mask_1 | |
0, // RFP32:sub_t0 | |
0, // RFP32:sub_t1 | |
0, // RFP32:sub_xmm | |
0, // RFP32:sub_ymm | |
}, | |
{ // VK32WM | |
0, // VK32WM:sub_8bit | |
0, // VK32WM:sub_8bit_hi | |
0, // VK32WM:sub_8bit_hi_phony | |
0, // VK32WM:sub_16bit | |
0, // VK32WM:sub_16bit_hi | |
0, // VK32WM:sub_32bit | |
0, // VK32WM:sub_mask_0 | |
0, // VK32WM:sub_mask_1 | |
0, // VK32WM:sub_t0 | |
0, // VK32WM:sub_t1 | |
0, // VK32WM:sub_xmm | |
0, // VK32WM:sub_ymm | |
}, | |
{ // GR32_ABCD | |
6, // GR32_ABCD:sub_8bit -> GR8_ABCD_L | |
5, // GR32_ABCD:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_ABCD:sub_8bit_hi_phony | |
22, // GR32_ABCD:sub_16bit -> GR16_ABCD | |
0, // GR32_ABCD:sub_16bit_hi | |
0, // GR32_ABCD:sub_32bit | |
0, // GR32_ABCD:sub_mask_0 | |
0, // GR32_ABCD:sub_mask_1 | |
0, // GR32_ABCD:sub_t0 | |
0, // GR32_ABCD:sub_t1 | |
0, // GR32_ABCD:sub_xmm | |
0, // GR32_ABCD:sub_ymm | |
}, | |
{ // GR32_TC | |
3, // GR32_TC:sub_8bit -> GR8_NOREX2 | |
5, // GR32_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_TC:sub_8bit_hi_phony | |
10, // GR32_TC:sub_16bit -> GR16_NOREX | |
0, // GR32_TC:sub_16bit_hi | |
0, // GR32_TC:sub_32bit | |
0, // GR32_TC:sub_mask_0 | |
0, // GR32_TC:sub_mask_1 | |
0, // GR32_TC:sub_t0 | |
0, // GR32_TC:sub_t1 | |
0, // GR32_TC:sub_xmm | |
0, // GR32_TC:sub_ymm | |
}, | |
{ // GR32_ABCD_and_GR32_TC | |
6, // GR32_ABCD_and_GR32_TC:sub_8bit -> GR8_ABCD_L | |
5, // GR32_ABCD_and_GR32_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_ABCD_and_GR32_TC:sub_8bit_hi_phony | |
22, // GR32_ABCD_and_GR32_TC:sub_16bit -> GR16_ABCD | |
0, // GR32_ABCD_and_GR32_TC:sub_16bit_hi | |
0, // GR32_ABCD_and_GR32_TC:sub_32bit | |
0, // GR32_ABCD_and_GR32_TC:sub_mask_0 | |
0, // GR32_ABCD_and_GR32_TC:sub_mask_1 | |
0, // GR32_ABCD_and_GR32_TC:sub_t0 | |
0, // GR32_ABCD_and_GR32_TC:sub_t1 | |
0, // GR32_ABCD_and_GR32_TC:sub_xmm | |
0, // GR32_ABCD_and_GR32_TC:sub_ymm | |
}, | |
{ // GR32_AD | |
6, // GR32_AD:sub_8bit -> GR8_ABCD_L | |
5, // GR32_AD:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_AD:sub_8bit_hi_phony | |
22, // GR32_AD:sub_16bit -> GR16_ABCD | |
0, // GR32_AD:sub_16bit_hi | |
0, // GR32_AD:sub_32bit | |
0, // GR32_AD:sub_mask_0 | |
0, // GR32_AD:sub_mask_1 | |
0, // GR32_AD:sub_t0 | |
0, // GR32_AD:sub_t1 | |
0, // GR32_AD:sub_xmm | |
0, // GR32_AD:sub_ymm | |
}, | |
{ // GR32_ArgRef | |
6, // GR32_ArgRef:sub_8bit -> GR8_ABCD_L | |
5, // GR32_ArgRef:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_ArgRef:sub_8bit_hi_phony | |
22, // GR32_ArgRef:sub_16bit -> GR16_ABCD | |
0, // GR32_ArgRef:sub_16bit_hi | |
0, // GR32_ArgRef:sub_32bit | |
0, // GR32_ArgRef:sub_mask_0 | |
0, // GR32_ArgRef:sub_mask_1 | |
0, // GR32_ArgRef:sub_t0 | |
0, // GR32_ArgRef:sub_t1 | |
0, // GR32_ArgRef:sub_xmm | |
0, // GR32_ArgRef:sub_ymm | |
}, | |
{ // GR32_BPSP | |
3, // GR32_BPSP:sub_8bit -> GR8_NOREX2 | |
0, // GR32_BPSP:sub_8bit_hi | |
0, // GR32_BPSP:sub_8bit_hi_phony | |
10, // GR32_BPSP:sub_16bit -> GR16_NOREX | |
0, // GR32_BPSP:sub_16bit_hi | |
0, // GR32_BPSP:sub_32bit | |
0, // GR32_BPSP:sub_mask_0 | |
0, // GR32_BPSP:sub_mask_1 | |
0, // GR32_BPSP:sub_t0 | |
0, // GR32_BPSP:sub_t1 | |
0, // GR32_BPSP:sub_xmm | |
0, // GR32_BPSP:sub_ymm | |
}, | |
{ // GR32_BSI | |
3, // GR32_BSI:sub_8bit -> GR8_NOREX2 | |
5, // GR32_BSI:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_BSI:sub_8bit_hi_phony | |
10, // GR32_BSI:sub_16bit -> GR16_NOREX | |
0, // GR32_BSI:sub_16bit_hi | |
0, // GR32_BSI:sub_32bit | |
0, // GR32_BSI:sub_mask_0 | |
0, // GR32_BSI:sub_mask_1 | |
0, // GR32_BSI:sub_t0 | |
0, // GR32_BSI:sub_t1 | |
0, // GR32_BSI:sub_xmm | |
0, // GR32_BSI:sub_ymm | |
}, | |
{ // GR32_CB | |
6, // GR32_CB:sub_8bit -> GR8_ABCD_L | |
5, // GR32_CB:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_CB:sub_8bit_hi_phony | |
22, // GR32_CB:sub_16bit -> GR16_ABCD | |
0, // GR32_CB:sub_16bit_hi | |
0, // GR32_CB:sub_32bit | |
0, // GR32_CB:sub_mask_0 | |
0, // GR32_CB:sub_mask_1 | |
0, // GR32_CB:sub_t0 | |
0, // GR32_CB:sub_t1 | |
0, // GR32_CB:sub_xmm | |
0, // GR32_CB:sub_ymm | |
}, | |
{ // GR32_DC | |
6, // GR32_DC:sub_8bit -> GR8_ABCD_L | |
5, // GR32_DC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_DC:sub_8bit_hi_phony | |
22, // GR32_DC:sub_16bit -> GR16_ABCD | |
0, // GR32_DC:sub_16bit_hi | |
0, // GR32_DC:sub_32bit | |
0, // GR32_DC:sub_mask_0 | |
0, // GR32_DC:sub_mask_1 | |
0, // GR32_DC:sub_t0 | |
0, // GR32_DC:sub_t1 | |
0, // GR32_DC:sub_xmm | |
0, // GR32_DC:sub_ymm | |
}, | |
{ // GR32_DIBP | |
3, // GR32_DIBP:sub_8bit -> GR8_NOREX2 | |
0, // GR32_DIBP:sub_8bit_hi | |
0, // GR32_DIBP:sub_8bit_hi_phony | |
10, // GR32_DIBP:sub_16bit -> GR16_NOREX | |
0, // GR32_DIBP:sub_16bit_hi | |
0, // GR32_DIBP:sub_32bit | |
0, // GR32_DIBP:sub_mask_0 | |
0, // GR32_DIBP:sub_mask_1 | |
0, // GR32_DIBP:sub_t0 | |
0, // GR32_DIBP:sub_t1 | |
0, // GR32_DIBP:sub_xmm | |
0, // GR32_DIBP:sub_ymm | |
}, | |
{ // GR32_SIDI | |
3, // GR32_SIDI:sub_8bit -> GR8_NOREX2 | |
0, // GR32_SIDI:sub_8bit_hi | |
0, // GR32_SIDI:sub_8bit_hi_phony | |
10, // GR32_SIDI:sub_16bit -> GR16_NOREX | |
0, // GR32_SIDI:sub_16bit_hi | |
0, // GR32_SIDI:sub_32bit | |
0, // GR32_SIDI:sub_mask_0 | |
0, // GR32_SIDI:sub_mask_1 | |
0, // GR32_SIDI:sub_t0 | |
0, // GR32_SIDI:sub_t1 | |
0, // GR32_SIDI:sub_xmm | |
0, // GR32_SIDI:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
3, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_8bit -> GR8_NOREX2 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_8bit_hi | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_8bit_hi_phony | |
10, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_16bit -> GR16_NOREX | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_16bit_hi | |
66, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_t0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_t1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_xmm | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit:sub_ymm | |
}, | |
{ // CCR | |
0, // CCR:sub_8bit | |
0, // CCR:sub_8bit_hi | |
0, // CCR:sub_8bit_hi_phony | |
0, // CCR:sub_16bit | |
0, // CCR:sub_16bit_hi | |
0, // CCR:sub_32bit | |
0, // CCR:sub_mask_0 | |
0, // CCR:sub_mask_1 | |
0, // CCR:sub_t0 | |
0, // CCR:sub_t1 | |
0, // CCR:sub_xmm | |
0, // CCR:sub_ymm | |
}, | |
{ // DFCCR | |
0, // DFCCR:sub_8bit | |
0, // DFCCR:sub_8bit_hi | |
0, // DFCCR:sub_8bit_hi_phony | |
0, // DFCCR:sub_16bit | |
0, // DFCCR:sub_16bit_hi | |
0, // DFCCR:sub_32bit | |
0, // DFCCR:sub_mask_0 | |
0, // DFCCR:sub_mask_1 | |
0, // DFCCR:sub_t0 | |
0, // DFCCR:sub_t1 | |
0, // DFCCR:sub_xmm | |
0, // DFCCR:sub_ymm | |
}, | |
{ // GR32_ABCD_and_GR32_BSI | |
6, // GR32_ABCD_and_GR32_BSI:sub_8bit -> GR8_ABCD_L | |
5, // GR32_ABCD_and_GR32_BSI:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_ABCD_and_GR32_BSI:sub_8bit_hi_phony | |
22, // GR32_ABCD_and_GR32_BSI:sub_16bit -> GR16_ABCD | |
0, // GR32_ABCD_and_GR32_BSI:sub_16bit_hi | |
0, // GR32_ABCD_and_GR32_BSI:sub_32bit | |
0, // GR32_ABCD_and_GR32_BSI:sub_mask_0 | |
0, // GR32_ABCD_and_GR32_BSI:sub_mask_1 | |
0, // GR32_ABCD_and_GR32_BSI:sub_t0 | |
0, // GR32_ABCD_and_GR32_BSI:sub_t1 | |
0, // GR32_ABCD_and_GR32_BSI:sub_xmm | |
0, // GR32_ABCD_and_GR32_BSI:sub_ymm | |
}, | |
{ // GR32_AD_and_GR32_ArgRef | |
6, // GR32_AD_and_GR32_ArgRef:sub_8bit -> GR8_ABCD_L | |
5, // GR32_AD_and_GR32_ArgRef:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_AD_and_GR32_ArgRef:sub_8bit_hi_phony | |
22, // GR32_AD_and_GR32_ArgRef:sub_16bit -> GR16_ABCD | |
0, // GR32_AD_and_GR32_ArgRef:sub_16bit_hi | |
0, // GR32_AD_and_GR32_ArgRef:sub_32bit | |
0, // GR32_AD_and_GR32_ArgRef:sub_mask_0 | |
0, // GR32_AD_and_GR32_ArgRef:sub_mask_1 | |
0, // GR32_AD_and_GR32_ArgRef:sub_t0 | |
0, // GR32_AD_and_GR32_ArgRef:sub_t1 | |
0, // GR32_AD_and_GR32_ArgRef:sub_xmm | |
0, // GR32_AD_and_GR32_ArgRef:sub_ymm | |
}, | |
{ // GR32_ArgRef_and_GR32_CB | |
6, // GR32_ArgRef_and_GR32_CB:sub_8bit -> GR8_ABCD_L | |
5, // GR32_ArgRef_and_GR32_CB:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR32_ArgRef_and_GR32_CB:sub_8bit_hi_phony | |
22, // GR32_ArgRef_and_GR32_CB:sub_16bit -> GR16_ABCD | |
0, // GR32_ArgRef_and_GR32_CB:sub_16bit_hi | |
0, // GR32_ArgRef_and_GR32_CB:sub_32bit | |
0, // GR32_ArgRef_and_GR32_CB:sub_mask_0 | |
0, // GR32_ArgRef_and_GR32_CB:sub_mask_1 | |
0, // GR32_ArgRef_and_GR32_CB:sub_t0 | |
0, // GR32_ArgRef_and_GR32_CB:sub_t1 | |
0, // GR32_ArgRef_and_GR32_CB:sub_xmm | |
0, // GR32_ArgRef_and_GR32_CB:sub_ymm | |
}, | |
{ // GR32_BPSP_and_GR32_DIBP | |
3, // GR32_BPSP_and_GR32_DIBP:sub_8bit -> GR8_NOREX2 | |
0, // GR32_BPSP_and_GR32_DIBP:sub_8bit_hi | |
0, // GR32_BPSP_and_GR32_DIBP:sub_8bit_hi_phony | |
10, // GR32_BPSP_and_GR32_DIBP:sub_16bit -> GR16_NOREX | |
0, // GR32_BPSP_and_GR32_DIBP:sub_16bit_hi | |
0, // GR32_BPSP_and_GR32_DIBP:sub_32bit | |
0, // GR32_BPSP_and_GR32_DIBP:sub_mask_0 | |
0, // GR32_BPSP_and_GR32_DIBP:sub_mask_1 | |
0, // GR32_BPSP_and_GR32_DIBP:sub_t0 | |
0, // GR32_BPSP_and_GR32_DIBP:sub_t1 | |
0, // GR32_BPSP_and_GR32_DIBP:sub_xmm | |
0, // GR32_BPSP_and_GR32_DIBP:sub_ymm | |
}, | |
{ // GR32_BPSP_and_GR32_TC | |
3, // GR32_BPSP_and_GR32_TC:sub_8bit -> GR8_NOREX2 | |
0, // GR32_BPSP_and_GR32_TC:sub_8bit_hi | |
0, // GR32_BPSP_and_GR32_TC:sub_8bit_hi_phony | |
10, // GR32_BPSP_and_GR32_TC:sub_16bit -> GR16_NOREX | |
0, // GR32_BPSP_and_GR32_TC:sub_16bit_hi | |
0, // GR32_BPSP_and_GR32_TC:sub_32bit | |
0, // GR32_BPSP_and_GR32_TC:sub_mask_0 | |
0, // GR32_BPSP_and_GR32_TC:sub_mask_1 | |
0, // GR32_BPSP_and_GR32_TC:sub_t0 | |
0, // GR32_BPSP_and_GR32_TC:sub_t1 | |
0, // GR32_BPSP_and_GR32_TC:sub_xmm | |
0, // GR32_BPSP_and_GR32_TC:sub_ymm | |
}, | |
{ // GR32_BSI_and_GR32_SIDI | |
3, // GR32_BSI_and_GR32_SIDI:sub_8bit -> GR8_NOREX2 | |
0, // GR32_BSI_and_GR32_SIDI:sub_8bit_hi | |
0, // GR32_BSI_and_GR32_SIDI:sub_8bit_hi_phony | |
10, // GR32_BSI_and_GR32_SIDI:sub_16bit -> GR16_NOREX | |
0, // GR32_BSI_and_GR32_SIDI:sub_16bit_hi | |
0, // GR32_BSI_and_GR32_SIDI:sub_32bit | |
0, // GR32_BSI_and_GR32_SIDI:sub_mask_0 | |
0, // GR32_BSI_and_GR32_SIDI:sub_mask_1 | |
0, // GR32_BSI_and_GR32_SIDI:sub_t0 | |
0, // GR32_BSI_and_GR32_SIDI:sub_t1 | |
0, // GR32_BSI_and_GR32_SIDI:sub_xmm | |
0, // GR32_BSI_and_GR32_SIDI:sub_ymm | |
}, | |
{ // GR32_DIBP_and_GR32_SIDI | |
3, // GR32_DIBP_and_GR32_SIDI:sub_8bit -> GR8_NOREX2 | |
0, // GR32_DIBP_and_GR32_SIDI:sub_8bit_hi | |
0, // GR32_DIBP_and_GR32_SIDI:sub_8bit_hi_phony | |
10, // GR32_DIBP_and_GR32_SIDI:sub_16bit -> GR16_NOREX | |
0, // GR32_DIBP_and_GR32_SIDI:sub_16bit_hi | |
0, // GR32_DIBP_and_GR32_SIDI:sub_32bit | |
0, // GR32_DIBP_and_GR32_SIDI:sub_mask_0 | |
0, // GR32_DIBP_and_GR32_SIDI:sub_mask_1 | |
0, // GR32_DIBP_and_GR32_SIDI:sub_t0 | |
0, // GR32_DIBP_and_GR32_SIDI:sub_t1 | |
0, // GR32_DIBP_and_GR32_SIDI:sub_xmm | |
0, // GR32_DIBP_and_GR32_SIDI:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
3, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_8bit -> GR8_NOREX2 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_8bit_hi | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_8bit_hi_phony | |
10, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_16bit -> GR16_NOREX | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_16bit_hi | |
66, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_t0 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_t1 | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_xmm | |
0, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit:sub_ymm | |
}, | |
{ // LOW32_ADDR_ACCESS_with_sub_32bit | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_8bit | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_8bit_hi | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_8bit_hi_phony | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_16bit | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_16bit_hi | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_32bit | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_mask_0 | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_mask_1 | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_t0 | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_t1 | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_xmm | |
0, // LOW32_ADDR_ACCESS_with_sub_32bit:sub_ymm | |
}, | |
{ // RFP64 | |
0, // RFP64:sub_8bit | |
0, // RFP64:sub_8bit_hi | |
0, // RFP64:sub_8bit_hi_phony | |
0, // RFP64:sub_16bit | |
0, // RFP64:sub_16bit_hi | |
0, // RFP64:sub_32bit | |
0, // RFP64:sub_mask_0 | |
0, // RFP64:sub_mask_1 | |
0, // RFP64:sub_t0 | |
0, // RFP64:sub_t1 | |
0, // RFP64:sub_xmm | |
0, // RFP64:sub_ymm | |
}, | |
{ // GR64 | |
1, // GR64:sub_8bit -> GR8 | |
5, // GR64:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64:sub_8bit_hi_phony | |
8, // GR64:sub_16bit -> GR16 | |
0, // GR64:sub_16bit_hi | |
36, // GR64:sub_32bit -> GR32 | |
0, // GR64:sub_mask_0 | |
0, // GR64:sub_mask_1 | |
0, // GR64:sub_t0 | |
0, // GR64:sub_t1 | |
0, // GR64:sub_xmm | |
0, // GR64:sub_ymm | |
}, | |
{ // FR64X | |
0, // FR64X:sub_8bit | |
0, // FR64X:sub_8bit_hi | |
0, // FR64X:sub_8bit_hi_phony | |
0, // FR64X:sub_16bit | |
0, // FR64X:sub_16bit_hi | |
0, // FR64X:sub_32bit | |
0, // FR64X:sub_mask_0 | |
0, // FR64X:sub_mask_1 | |
0, // FR64X:sub_t0 | |
0, // FR64X:sub_t1 | |
0, // FR64X:sub_xmm | |
0, // FR64X:sub_ymm | |
}, | |
{ // GR64_with_sub_8bit | |
1, // GR64_with_sub_8bit:sub_8bit -> GR8 | |
5, // GR64_with_sub_8bit:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_8bit:sub_8bit_hi_phony | |
8, // GR64_with_sub_8bit:sub_16bit -> GR16 | |
0, // GR64_with_sub_8bit:sub_16bit_hi | |
36, // GR64_with_sub_8bit:sub_32bit -> GR32 | |
0, // GR64_with_sub_8bit:sub_mask_0 | |
0, // GR64_with_sub_8bit:sub_mask_1 | |
0, // GR64_with_sub_8bit:sub_t0 | |
0, // GR64_with_sub_8bit:sub_t1 | |
0, // GR64_with_sub_8bit:sub_xmm | |
0, // GR64_with_sub_8bit:sub_ymm | |
}, | |
{ // GR64_NOSP | |
1, // GR64_NOSP:sub_8bit -> GR8 | |
5, // GR64_NOSP:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOSP:sub_8bit_hi_phony | |
8, // GR64_NOSP:sub_16bit -> GR16 | |
0, // GR64_NOSP:sub_16bit_hi | |
37, // GR64_NOSP:sub_32bit -> GR32_NOSP | |
0, // GR64_NOSP:sub_mask_0 | |
0, // GR64_NOSP:sub_mask_1 | |
0, // GR64_NOSP:sub_t0 | |
0, // GR64_NOSP:sub_t1 | |
0, // GR64_NOSP:sub_xmm | |
0, // GR64_NOSP:sub_ymm | |
}, | |
{ // GR64_NOREX2 | |
3, // GR64_NOREX2:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX2:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX2:sub_8bit_hi_phony | |
9, // GR64_NOREX2:sub_16bit -> GR16_NOREX2 | |
0, // GR64_NOREX2:sub_16bit_hi | |
41, // GR64_NOREX2:sub_32bit -> GR32_NOREX2 | |
0, // GR64_NOREX2:sub_mask_0 | |
0, // GR64_NOREX2:sub_mask_1 | |
0, // GR64_NOREX2:sub_t0 | |
0, // GR64_NOREX2:sub_t1 | |
0, // GR64_NOREX2:sub_xmm | |
0, // GR64_NOREX2:sub_ymm | |
}, | |
{ // CONTROL_REG | |
0, // CONTROL_REG:sub_8bit | |
0, // CONTROL_REG:sub_8bit_hi | |
0, // CONTROL_REG:sub_8bit_hi_phony | |
0, // CONTROL_REG:sub_16bit | |
0, // CONTROL_REG:sub_16bit_hi | |
0, // CONTROL_REG:sub_32bit | |
0, // CONTROL_REG:sub_mask_0 | |
0, // CONTROL_REG:sub_mask_1 | |
0, // CONTROL_REG:sub_t0 | |
0, // CONTROL_REG:sub_t1 | |
0, // CONTROL_REG:sub_xmm | |
0, // CONTROL_REG:sub_ymm | |
}, | |
{ // FR64 | |
0, // FR64:sub_8bit | |
0, // FR64:sub_8bit_hi | |
0, // FR64:sub_8bit_hi_phony | |
0, // FR64:sub_16bit | |
0, // FR64:sub_16bit_hi | |
0, // FR64:sub_32bit | |
0, // FR64:sub_mask_0 | |
0, // FR64:sub_mask_1 | |
0, // FR64:sub_t0 | |
0, // FR64:sub_t1 | |
0, // FR64:sub_xmm | |
0, // FR64:sub_ymm | |
}, | |
{ // GR64_with_sub_16bit_in_GR16_NOREX2 | |
3, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_8bit -> GR8_NOREX2 | |
5, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_8bit_hi_phony | |
9, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_16bit -> GR16_NOREX2 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_16bit_hi | |
41, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_32bit -> GR32_NOREX2 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_mask_0 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_mask_1 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_t0 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_t1 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_xmm | |
0, // GR64_with_sub_16bit_in_GR16_NOREX2:sub_ymm | |
}, | |
{ // GR64_NOREX2_NOSP | |
3, // GR64_NOREX2_NOSP:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX2_NOSP:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX2_NOSP:sub_8bit_hi_phony | |
9, // GR64_NOREX2_NOSP:sub_16bit -> GR16_NOREX2 | |
0, // GR64_NOREX2_NOSP:sub_16bit_hi | |
42, // GR64_NOREX2_NOSP:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64_NOREX2_NOSP:sub_mask_0 | |
0, // GR64_NOREX2_NOSP:sub_mask_1 | |
0, // GR64_NOREX2_NOSP:sub_t0 | |
0, // GR64_NOREX2_NOSP:sub_t1 | |
0, // GR64_NOREX2_NOSP:sub_xmm | |
0, // GR64_NOREX2_NOSP:sub_ymm | |
}, | |
{ // GR64PLTSafe | |
3, // GR64PLTSafe:sub_8bit -> GR8_NOREX2 | |
5, // GR64PLTSafe:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64PLTSafe:sub_8bit_hi_phony | |
9, // GR64PLTSafe:sub_16bit -> GR16_NOREX2 | |
0, // GR64PLTSafe:sub_16bit_hi | |
42, // GR64PLTSafe:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64PLTSafe:sub_mask_0 | |
0, // GR64PLTSafe:sub_mask_1 | |
0, // GR64PLTSafe:sub_t0 | |
0, // GR64PLTSafe:sub_t1 | |
0, // GR64PLTSafe:sub_xmm | |
0, // GR64PLTSafe:sub_ymm | |
}, | |
{ // GR64_TC | |
3, // GR64_TC:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TC:sub_8bit_hi_phony | |
9, // GR64_TC:sub_16bit -> GR16_NOREX2 | |
0, // GR64_TC:sub_16bit_hi | |
41, // GR64_TC:sub_32bit -> GR32_NOREX2 | |
0, // GR64_TC:sub_mask_0 | |
0, // GR64_TC:sub_mask_1 | |
0, // GR64_TC:sub_t0 | |
0, // GR64_TC:sub_t1 | |
0, // GR64_TC:sub_xmm | |
0, // GR64_TC:sub_ymm | |
}, | |
{ // GR64_NOREX | |
3, // GR64_NOREX:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX:sub_8bit_hi_phony | |
10, // GR64_NOREX:sub_16bit -> GR16_NOREX | |
0, // GR64_NOREX:sub_16bit_hi | |
44, // GR64_NOREX:sub_32bit -> GR32_NOREX | |
0, // GR64_NOREX:sub_mask_0 | |
0, // GR64_NOREX:sub_mask_1 | |
0, // GR64_NOREX:sub_t0 | |
0, // GR64_NOREX:sub_t1 | |
0, // GR64_NOREX:sub_xmm | |
0, // GR64_NOREX:sub_ymm | |
}, | |
{ // GR64_TCW64 | |
3, // GR64_TCW64:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TCW64:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TCW64:sub_8bit_hi_phony | |
9, // GR64_TCW64:sub_16bit -> GR16_NOREX2 | |
0, // GR64_TCW64:sub_16bit_hi | |
41, // GR64_TCW64:sub_32bit -> GR32_NOREX2 | |
0, // GR64_TCW64:sub_mask_0 | |
0, // GR64_TCW64:sub_mask_1 | |
0, // GR64_TCW64:sub_t0 | |
0, // GR64_TCW64:sub_t1 | |
0, // GR64_TCW64:sub_xmm | |
0, // GR64_TCW64:sub_ymm | |
}, | |
{ // GR64_TC_with_sub_8bit | |
3, // GR64_TC_with_sub_8bit:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TC_with_sub_8bit:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TC_with_sub_8bit:sub_8bit_hi_phony | |
9, // GR64_TC_with_sub_8bit:sub_16bit -> GR16_NOREX2 | |
0, // GR64_TC_with_sub_8bit:sub_16bit_hi | |
41, // GR64_TC_with_sub_8bit:sub_32bit -> GR32_NOREX2 | |
0, // GR64_TC_with_sub_8bit:sub_mask_0 | |
0, // GR64_TC_with_sub_8bit:sub_mask_1 | |
0, // GR64_TC_with_sub_8bit:sub_t0 | |
0, // GR64_TC_with_sub_8bit:sub_t1 | |
0, // GR64_TC_with_sub_8bit:sub_xmm | |
0, // GR64_TC_with_sub_8bit:sub_ymm | |
}, | |
{ // GR64_NOREX2_NOSP_and_GR64_TC | |
3, // GR64_NOREX2_NOSP_and_GR64_TC:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX2_NOSP_and_GR64_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_8bit_hi_phony | |
9, // GR64_NOREX2_NOSP_and_GR64_TC:sub_16bit -> GR16_NOREX2 | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_16bit_hi | |
42, // GR64_NOREX2_NOSP_and_GR64_TC:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_mask_0 | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_mask_1 | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_t0 | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_t1 | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_xmm | |
0, // GR64_NOREX2_NOSP_and_GR64_TC:sub_ymm | |
}, | |
{ // GR64_TCW64_with_sub_8bit | |
3, // GR64_TCW64_with_sub_8bit:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TCW64_with_sub_8bit:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TCW64_with_sub_8bit:sub_8bit_hi_phony | |
9, // GR64_TCW64_with_sub_8bit:sub_16bit -> GR16_NOREX2 | |
0, // GR64_TCW64_with_sub_8bit:sub_16bit_hi | |
41, // GR64_TCW64_with_sub_8bit:sub_32bit -> GR32_NOREX2 | |
0, // GR64_TCW64_with_sub_8bit:sub_mask_0 | |
0, // GR64_TCW64_with_sub_8bit:sub_mask_1 | |
0, // GR64_TCW64_with_sub_8bit:sub_t0 | |
0, // GR64_TCW64_with_sub_8bit:sub_t1 | |
0, // GR64_TCW64_with_sub_8bit:sub_xmm | |
0, // GR64_TCW64_with_sub_8bit:sub_ymm | |
}, | |
{ // GR64_TC_and_GR64_TCW64 | |
3, // GR64_TC_and_GR64_TCW64:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TC_and_GR64_TCW64:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TC_and_GR64_TCW64:sub_8bit_hi_phony | |
9, // GR64_TC_and_GR64_TCW64:sub_16bit -> GR16_NOREX2 | |
0, // GR64_TC_and_GR64_TCW64:sub_16bit_hi | |
41, // GR64_TC_and_GR64_TCW64:sub_32bit -> GR32_NOREX2 | |
0, // GR64_TC_and_GR64_TCW64:sub_mask_0 | |
0, // GR64_TC_and_GR64_TCW64:sub_mask_1 | |
0, // GR64_TC_and_GR64_TCW64:sub_t0 | |
0, // GR64_TC_and_GR64_TCW64:sub_t1 | |
0, // GR64_TC_and_GR64_TCW64:sub_xmm | |
0, // GR64_TC_and_GR64_TCW64:sub_ymm | |
}, | |
{ // GR64_with_sub_16bit_in_GR16_NOREX | |
3, // GR64_with_sub_16bit_in_GR16_NOREX:sub_8bit -> GR8_NOREX2 | |
5, // GR64_with_sub_16bit_in_GR16_NOREX:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_8bit_hi_phony | |
10, // GR64_with_sub_16bit_in_GR16_NOREX:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_16bit_hi | |
44, // GR64_with_sub_16bit_in_GR16_NOREX:sub_32bit -> GR32_NOREX | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_mask_0 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_mask_1 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_t0 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_t1 | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_xmm | |
0, // GR64_with_sub_16bit_in_GR16_NOREX:sub_ymm | |
}, | |
{ // VK64 | |
0, // VK64:sub_8bit | |
0, // VK64:sub_8bit_hi | |
0, // VK64:sub_8bit_hi_phony | |
0, // VK64:sub_16bit | |
0, // VK64:sub_16bit_hi | |
0, // VK64:sub_32bit | |
0, // VK64:sub_mask_0 | |
0, // VK64:sub_mask_1 | |
0, // VK64:sub_t0 | |
0, // VK64:sub_t1 | |
0, // VK64:sub_xmm | |
0, // VK64:sub_ymm | |
}, | |
{ // VR64 | |
0, // VR64:sub_8bit | |
0, // VR64:sub_8bit_hi | |
0, // VR64:sub_8bit_hi_phony | |
0, // VR64:sub_16bit | |
0, // VR64:sub_16bit_hi | |
0, // VR64:sub_32bit | |
0, // VR64:sub_mask_0 | |
0, // VR64:sub_mask_1 | |
0, // VR64:sub_t0 | |
0, // VR64:sub_t1 | |
0, // VR64:sub_xmm | |
0, // VR64:sub_ymm | |
}, | |
{ // GR64PLTSafe_and_GR64_TC | |
3, // GR64PLTSafe_and_GR64_TC:sub_8bit -> GR8_NOREX2 | |
5, // GR64PLTSafe_and_GR64_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64PLTSafe_and_GR64_TC:sub_8bit_hi_phony | |
9, // GR64PLTSafe_and_GR64_TC:sub_16bit -> GR16_NOREX2 | |
0, // GR64PLTSafe_and_GR64_TC:sub_16bit_hi | |
42, // GR64PLTSafe_and_GR64_TC:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64PLTSafe_and_GR64_TC:sub_mask_0 | |
0, // GR64PLTSafe_and_GR64_TC:sub_mask_1 | |
0, // GR64PLTSafe_and_GR64_TC:sub_t0 | |
0, // GR64PLTSafe_and_GR64_TC:sub_t1 | |
0, // GR64PLTSafe_and_GR64_TC:sub_xmm | |
0, // GR64PLTSafe_and_GR64_TC:sub_ymm | |
}, | |
{ // GR64_NOREX2_NOSP_and_GR64_TCW64 | |
3, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_8bit_hi_phony | |
9, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_16bit -> GR16_NOREX2 | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_16bit_hi | |
42, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_mask_0 | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_mask_1 | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_t0 | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_t1 | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_xmm | |
0, // GR64_NOREX2_NOSP_and_GR64_TCW64:sub_ymm | |
}, | |
{ // GR64_NOREX_NOSP | |
3, // GR64_NOREX_NOSP:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX_NOSP:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX_NOSP:sub_8bit_hi_phony | |
10, // GR64_NOREX_NOSP:sub_16bit -> GR16_NOREX | |
0, // GR64_NOREX_NOSP:sub_16bit_hi | |
46, // GR64_NOREX_NOSP:sub_32bit -> GR32_NOREX_NOSP | |
0, // GR64_NOREX_NOSP:sub_mask_0 | |
0, // GR64_NOREX_NOSP:sub_mask_1 | |
0, // GR64_NOREX_NOSP:sub_t0 | |
0, // GR64_NOREX_NOSP:sub_t1 | |
0, // GR64_NOREX_NOSP:sub_xmm | |
0, // GR64_NOREX_NOSP:sub_ymm | |
}, | |
{ // GR64_NOREX_and_GR64_TC | |
3, // GR64_NOREX_and_GR64_TC:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX_and_GR64_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX_and_GR64_TC:sub_8bit_hi_phony | |
10, // GR64_NOREX_and_GR64_TC:sub_16bit -> GR16_NOREX | |
0, // GR64_NOREX_and_GR64_TC:sub_16bit_hi | |
44, // GR64_NOREX_and_GR64_TC:sub_32bit -> GR32_NOREX | |
0, // GR64_NOREX_and_GR64_TC:sub_mask_0 | |
0, // GR64_NOREX_and_GR64_TC:sub_mask_1 | |
0, // GR64_NOREX_and_GR64_TC:sub_t0 | |
0, // GR64_NOREX_and_GR64_TC:sub_t1 | |
0, // GR64_NOREX_and_GR64_TC:sub_xmm | |
0, // GR64_NOREX_and_GR64_TC:sub_ymm | |
}, | |
{ // GR64_TCW64_and_GR64_TC_with_sub_8bit | |
3, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_8bit_hi_phony | |
9, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_16bit -> GR16_NOREX2 | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_16bit_hi | |
41, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_32bit -> GR32_NOREX2 | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_mask_0 | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_mask_1 | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_t0 | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_t1 | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_xmm | |
0, // GR64_TCW64_and_GR64_TC_with_sub_8bit:sub_ymm | |
}, | |
{ // VK64WM | |
0, // VK64WM:sub_8bit | |
0, // VK64WM:sub_8bit_hi | |
0, // VK64WM:sub_8bit_hi_phony | |
0, // VK64WM:sub_16bit | |
0, // VK64WM:sub_16bit_hi | |
0, // VK64WM:sub_32bit | |
0, // VK64WM:sub_mask_0 | |
0, // VK64WM:sub_mask_1 | |
0, // VK64WM:sub_t0 | |
0, // VK64WM:sub_t1 | |
0, // VK64WM:sub_xmm | |
0, // VK64WM:sub_ymm | |
}, | |
{ // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
3, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_8bit_hi_phony | |
9, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_16bit -> GR16_NOREX2 | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_16bit_hi | |
42, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_mask_0 | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_mask_1 | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_t0 | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_t1 | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_xmm | |
0, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64:sub_ymm | |
}, | |
{ // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
3, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_8bit -> GR8_NOREX2 | |
5, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_8bit_hi_phony | |
10, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_16bit -> GR16_NOREX | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_16bit_hi | |
44, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_32bit -> GR32_NOREX | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_mask_0 | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_mask_1 | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_t0 | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_t1 | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_xmm | |
0, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX:sub_ymm | |
}, | |
{ // GR64PLTSafe_and_GR64_TCW64 | |
3, // GR64PLTSafe_and_GR64_TCW64:sub_8bit -> GR8_NOREX2 | |
5, // GR64PLTSafe_and_GR64_TCW64:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_8bit_hi_phony | |
9, // GR64PLTSafe_and_GR64_TCW64:sub_16bit -> GR16_NOREX2 | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_16bit_hi | |
42, // GR64PLTSafe_and_GR64_TCW64:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_mask_0 | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_mask_1 | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_t0 | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_t1 | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_xmm | |
0, // GR64PLTSafe_and_GR64_TCW64:sub_ymm | |
}, | |
{ // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
3, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_8bit_hi_phony | |
10, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_16bit -> GR16_NOREX | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_16bit_hi | |
46, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_32bit -> GR32_NOREX_NOSP | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_mask_0 | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_mask_1 | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_t0 | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_t1 | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_xmm | |
0, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC:sub_ymm | |
}, | |
{ // GR64_NOREX_and_GR64_TCW64 | |
3, // GR64_NOREX_and_GR64_TCW64:sub_8bit -> GR8_NOREX2 | |
5, // GR64_NOREX_and_GR64_TCW64:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_NOREX_and_GR64_TCW64:sub_8bit_hi_phony | |
10, // GR64_NOREX_and_GR64_TCW64:sub_16bit -> GR16_NOREX | |
0, // GR64_NOREX_and_GR64_TCW64:sub_16bit_hi | |
50, // GR64_NOREX_and_GR64_TCW64:sub_32bit -> GR32_TC | |
0, // GR64_NOREX_and_GR64_TCW64:sub_mask_0 | |
0, // GR64_NOREX_and_GR64_TCW64:sub_mask_1 | |
0, // GR64_NOREX_and_GR64_TCW64:sub_t0 | |
0, // GR64_NOREX_and_GR64_TCW64:sub_t1 | |
0, // GR64_NOREX_and_GR64_TCW64:sub_xmm | |
0, // GR64_NOREX_and_GR64_TCW64:sub_ymm | |
}, | |
{ // GR64_ABCD | |
6, // GR64_ABCD:sub_8bit -> GR8_ABCD_L | |
5, // GR64_ABCD:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_ABCD:sub_8bit_hi_phony | |
22, // GR64_ABCD:sub_16bit -> GR16_ABCD | |
0, // GR64_ABCD:sub_16bit_hi | |
49, // GR64_ABCD:sub_32bit -> GR32_ABCD | |
0, // GR64_ABCD:sub_mask_0 | |
0, // GR64_ABCD:sub_mask_1 | |
0, // GR64_ABCD:sub_t0 | |
0, // GR64_ABCD:sub_t1 | |
0, // GR64_ABCD:sub_xmm | |
0, // GR64_ABCD:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_TC | |
3, // GR64_with_sub_32bit_in_GR32_TC:sub_8bit -> GR8_NOREX2 | |
5, // GR64_with_sub_32bit_in_GR32_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_TC:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_16bit_hi | |
50, // GR64_with_sub_32bit_in_GR32_TC:sub_32bit -> GR32_TC | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_TC:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
6, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_8bit -> GR8_ABCD_L | |
5, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_8bit_hi_phony | |
22, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_16bit -> GR16_ABCD | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_16bit_hi | |
51, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_32bit -> GR32_ABCD_and_GR32_TC | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC:sub_ymm | |
}, | |
{ // GR64_AD | |
6, // GR64_AD:sub_8bit -> GR8_ABCD_L | |
5, // GR64_AD:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_AD:sub_8bit_hi_phony | |
22, // GR64_AD:sub_16bit -> GR16_ABCD | |
0, // GR64_AD:sub_16bit_hi | |
52, // GR64_AD:sub_32bit -> GR32_AD | |
0, // GR64_AD:sub_mask_0 | |
0, // GR64_AD:sub_mask_1 | |
0, // GR64_AD:sub_t0 | |
0, // GR64_AD:sub_t1 | |
0, // GR64_AD:sub_xmm | |
0, // GR64_AD:sub_ymm | |
}, | |
{ // GR64_ArgRef | |
3, // GR64_ArgRef:sub_8bit -> GR8_NOREX2 | |
0, // GR64_ArgRef:sub_8bit_hi | |
0, // GR64_ArgRef:sub_8bit_hi_phony | |
9, // GR64_ArgRef:sub_16bit -> GR16_NOREX2 | |
0, // GR64_ArgRef:sub_16bit_hi | |
42, // GR64_ArgRef:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64_ArgRef:sub_mask_0 | |
0, // GR64_ArgRef:sub_mask_1 | |
0, // GR64_ArgRef:sub_t0 | |
0, // GR64_ArgRef:sub_t1 | |
0, // GR64_ArgRef:sub_xmm | |
0, // GR64_ArgRef:sub_ymm | |
}, | |
{ // GR64_and_LOW32_ADDR_ACCESS_RBP | |
3, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_8bit -> GR8_NOREX2 | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_8bit_hi | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_8bit_hi_phony | |
10, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_16bit -> GR16_NOREX | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_16bit_hi | |
66, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_mask_0 | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_mask_1 | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_t0 | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_t1 | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_xmm | |
0, // GR64_and_LOW32_ADDR_ACCESS_RBP:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ArgRef | |
6, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_8bit -> GR8_ABCD_L | |
5, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_8bit_hi_phony | |
22, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_16bit -> GR16_ABCD | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_16bit_hi | |
53, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_32bit -> GR32_ArgRef | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BPSP | |
3, // GR64_with_sub_32bit_in_GR32_BPSP:sub_8bit -> GR8_NOREX2 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_8bit_hi | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_BPSP:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_16bit_hi | |
54, // GR64_with_sub_32bit_in_GR32_BPSP:sub_32bit -> GR32_BPSP | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_BPSP:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BSI | |
3, // GR64_with_sub_32bit_in_GR32_BSI:sub_8bit -> GR8_NOREX2 | |
5, // GR64_with_sub_32bit_in_GR32_BSI:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_BSI:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_16bit_hi | |
55, // GR64_with_sub_32bit_in_GR32_BSI:sub_32bit -> GR32_BSI | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_BSI:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_CB | |
6, // GR64_with_sub_32bit_in_GR32_CB:sub_8bit -> GR8_ABCD_L | |
5, // GR64_with_sub_32bit_in_GR32_CB:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_8bit_hi_phony | |
22, // GR64_with_sub_32bit_in_GR32_CB:sub_16bit -> GR16_ABCD | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_16bit_hi | |
56, // GR64_with_sub_32bit_in_GR32_CB:sub_32bit -> GR32_CB | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_CB:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_DIBP | |
3, // GR64_with_sub_32bit_in_GR32_DIBP:sub_8bit -> GR8_NOREX2 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_8bit_hi | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_DIBP:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_16bit_hi | |
58, // GR64_with_sub_32bit_in_GR32_DIBP:sub_32bit -> GR32_DIBP | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_DIBP:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_SIDI | |
3, // GR64_with_sub_32bit_in_GR32_SIDI:sub_8bit -> GR8_NOREX2 | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_8bit_hi | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_SIDI:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_16bit_hi | |
59, // GR64_with_sub_32bit_in_GR32_SIDI:sub_32bit -> GR32_SIDI | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_SIDI:sub_ymm | |
}, | |
{ // GR64_ArgRef_and_GR64_TC | |
3, // GR64_ArgRef_and_GR64_TC:sub_8bit -> GR8_NOREX2 | |
0, // GR64_ArgRef_and_GR64_TC:sub_8bit_hi | |
0, // GR64_ArgRef_and_GR64_TC:sub_8bit_hi_phony | |
9, // GR64_ArgRef_and_GR64_TC:sub_16bit -> GR16_NOREX2 | |
0, // GR64_ArgRef_and_GR64_TC:sub_16bit_hi | |
42, // GR64_ArgRef_and_GR64_TC:sub_32bit -> GR32_NOREX2_NOSP | |
0, // GR64_ArgRef_and_GR64_TC:sub_mask_0 | |
0, // GR64_ArgRef_and_GR64_TC:sub_mask_1 | |
0, // GR64_ArgRef_and_GR64_TC:sub_t0 | |
0, // GR64_ArgRef_and_GR64_TC:sub_t1 | |
0, // GR64_ArgRef_and_GR64_TC:sub_xmm | |
0, // GR64_ArgRef_and_GR64_TC:sub_ymm | |
}, | |
{ // GR64_and_LOW32_ADDR_ACCESS | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_8bit | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_8bit_hi | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_8bit_hi_phony | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_16bit | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_16bit_hi | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_32bit | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_mask_0 | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_mask_1 | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_t0 | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_t1 | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_xmm | |
0, // GR64_and_LOW32_ADDR_ACCESS:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
6, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_8bit -> GR8_ABCD_L | |
5, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_8bit_hi_phony | |
22, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_16bit -> GR16_ABCD | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_16bit_hi | |
63, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_32bit -> GR32_ABCD_and_GR32_BSI | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
6, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_8bit -> GR8_ABCD_L | |
5, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_8bit_hi_phony | |
22, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_16bit -> GR16_ABCD | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_16bit_hi | |
64, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_32bit -> GR32_AD_and_GR32_ArgRef | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
6, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_8bit -> GR8_ABCD_L | |
5, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_8bit_hi -> GR8_ABCD_H | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_8bit_hi_phony | |
22, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_16bit -> GR16_ABCD | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_16bit_hi | |
65, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_32bit -> GR32_ArgRef_and_GR32_CB | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
3, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_8bit -> GR8_NOREX2 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_8bit_hi | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_16bit_hi | |
66, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_32bit -> GR32_BPSP_and_GR32_DIBP | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
3, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_8bit -> GR8_NOREX2 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_8bit_hi | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_16bit_hi | |
67, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_32bit -> GR32_BPSP_and_GR32_TC | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
3, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_8bit -> GR8_NOREX2 | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_8bit_hi | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_16bit_hi | |
68, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_32bit -> GR32_BSI_and_GR32_SIDI | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI:sub_ymm | |
}, | |
{ // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
3, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_8bit -> GR8_NOREX2 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_8bit_hi | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_8bit_hi_phony | |
10, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_16bit -> GR16_NOREX | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_16bit_hi | |
69, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_32bit -> GR32_DIBP_and_GR32_SIDI | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_mask_0 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_mask_1 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_t0 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_t1 | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_xmm | |
0, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI:sub_ymm | |
}, | |
{ // RST | |
0, // RST:sub_8bit | |
0, // RST:sub_8bit_hi | |
0, // RST:sub_8bit_hi_phony | |
0, // RST:sub_16bit | |
0, // RST:sub_16bit_hi | |
0, // RST:sub_32bit | |
0, // RST:sub_mask_0 | |
0, // RST:sub_mask_1 | |
0, // RST:sub_t0 | |
0, // RST:sub_t1 | |
0, // RST:sub_xmm | |
0, // RST:sub_ymm | |
}, | |
{ // RFP80 | |
0, // RFP80:sub_8bit | |
0, // RFP80:sub_8bit_hi | |
0, // RFP80:sub_8bit_hi_phony | |
0, // RFP80:sub_16bit | |
0, // RFP80:sub_16bit_hi | |
0, // RFP80:sub_32bit | |
0, // RFP80:sub_mask_0 | |
0, // RFP80:sub_mask_1 | |
0, // RFP80:sub_t0 | |
0, // RFP80:sub_t1 | |
0, // RFP80:sub_xmm | |
0, // RFP80:sub_ymm | |
}, | |
{ // RFP80_7 | |
0, // RFP80_7:sub_8bit | |
0, // RFP80_7:sub_8bit_hi | |
0, // RFP80_7:sub_8bit_hi_phony | |
0, // RFP80_7:sub_16bit | |
0, // RFP80_7:sub_16bit_hi | |
0, // RFP80_7:sub_32bit | |
0, // RFP80_7:sub_mask_0 | |
0, // RFP80_7:sub_mask_1 | |
0, // RFP80_7:sub_t0 | |
0, // RFP80_7:sub_t1 | |
0, // RFP80_7:sub_xmm | |
0, // RFP80_7:sub_ymm | |
}, | |
{ // VR128X | |
0, // VR128X:sub_8bit | |
0, // VR128X:sub_8bit_hi | |
0, // VR128X:sub_8bit_hi_phony | |
0, // VR128X:sub_16bit | |
0, // VR128X:sub_16bit_hi | |
0, // VR128X:sub_32bit | |
0, // VR128X:sub_mask_0 | |
0, // VR128X:sub_mask_1 | |
0, // VR128X:sub_t0 | |
0, // VR128X:sub_t1 | |
0, // VR128X:sub_xmm | |
0, // VR128X:sub_ymm | |
}, | |
{ // VR128 | |
0, // VR128:sub_8bit | |
0, // VR128:sub_8bit_hi | |
0, // VR128:sub_8bit_hi_phony | |
0, // VR128:sub_16bit | |
0, // VR128:sub_16bit_hi | |
0, // VR128:sub_32bit | |
0, // VR128:sub_mask_0 | |
0, // VR128:sub_mask_1 | |
0, // VR128:sub_t0 | |
0, // VR128:sub_t1 | |
0, // VR128:sub_xmm | |
0, // VR128:sub_ymm | |
}, | |
{ // VR256X | |
0, // VR256X:sub_8bit | |
0, // VR256X:sub_8bit_hi | |
0, // VR256X:sub_8bit_hi_phony | |
0, // VR256X:sub_16bit | |
0, // VR256X:sub_16bit_hi | |
0, // VR256X:sub_32bit | |
0, // VR256X:sub_mask_0 | |
0, // VR256X:sub_mask_1 | |
0, // VR256X:sub_t0 | |
0, // VR256X:sub_t1 | |
24, // VR256X:sub_xmm -> FR16X | |
0, // VR256X:sub_ymm | |
}, | |
{ // VR256 | |
0, // VR256:sub_8bit | |
0, // VR256:sub_8bit_hi | |
0, // VR256:sub_8bit_hi_phony | |
0, // VR256:sub_16bit | |
0, // VR256:sub_16bit_hi | |
0, // VR256:sub_32bit | |
0, // VR256:sub_mask_0 | |
0, // VR256:sub_mask_1 | |
0, // VR256:sub_t0 | |
0, // VR256:sub_t1 | |
25, // VR256:sub_xmm -> FR16 | |
0, // VR256:sub_ymm | |
}, | |
{ // VR512 | |
0, // VR512:sub_8bit | |
0, // VR512:sub_8bit_hi | |
0, // VR512:sub_8bit_hi_phony | |
0, // VR512:sub_16bit | |
0, // VR512:sub_16bit_hi | |
0, // VR512:sub_32bit | |
0, // VR512:sub_mask_0 | |
0, // VR512:sub_mask_1 | |
0, // VR512:sub_t0 | |
0, // VR512:sub_t1 | |
24, // VR512:sub_xmm -> FR16X | |
130, // VR512:sub_ymm -> VR256X | |
}, | |
{ // VR512_0_15 | |
0, // VR512_0_15:sub_8bit | |
0, // VR512_0_15:sub_8bit_hi | |
0, // VR512_0_15:sub_8bit_hi_phony | |
0, // VR512_0_15:sub_16bit | |
0, // VR512_0_15:sub_16bit_hi | |
0, // VR512_0_15:sub_32bit | |
0, // VR512_0_15:sub_mask_0 | |
0, // VR512_0_15:sub_mask_1 | |
0, // VR512_0_15:sub_t0 | |
0, // VR512_0_15:sub_t1 | |
25, // VR512_0_15:sub_xmm -> FR16 | |
131, // VR512_0_15:sub_ymm -> VR256 | |
}, | |
{ // TILE | |
0, // TILE:sub_8bit | |
0, // TILE:sub_8bit_hi | |
0, // TILE:sub_8bit_hi_phony | |
0, // TILE:sub_16bit | |
0, // TILE:sub_16bit_hi | |
0, // TILE:sub_32bit | |
0, // TILE:sub_mask_0 | |
0, // TILE:sub_mask_1 | |
0, // TILE:sub_t0 | |
0, // TILE:sub_t1 | |
0, // TILE:sub_xmm | |
0, // TILE:sub_ymm | |
}, | |
{ // TILEPAIR | |
0, // TILEPAIR:sub_8bit | |
0, // TILEPAIR:sub_8bit_hi | |
0, // TILEPAIR:sub_8bit_hi_phony | |
0, // TILEPAIR:sub_16bit | |
0, // TILEPAIR:sub_16bit_hi | |
0, // TILEPAIR:sub_32bit | |
0, // TILEPAIR:sub_mask_0 | |
0, // TILEPAIR:sub_mask_1 | |
134, // TILEPAIR:sub_t0 -> TILE | |
134, // TILEPAIR:sub_t1 -> TILE | |
0, // TILEPAIR:sub_xmm | |
0, // TILEPAIR:sub_ymm | |
}, | |
}; | |
assert(RC && "Missing regclass"); | |
if (!Idx) return RC; | |
--Idx; | |
assert(Idx < 12 && "Bad subreg"); | |
unsigned TV = Table[RC->getID()][Idx]; | |
return TV ? getRegClass(TV - 1) : nullptr; | |
} | |
/// Get the weight in units of pressure for this register class. | |
const RegClassWeight &X86GenRegisterInfo:: | |
getRegClassWeight(const TargetRegisterClass *RC) const { | |
static const RegClassWeight RCWeightTable[] = { | |
{1, 36}, // GR8 | |
{0, 0}, // GRH8 | |
{1, 20}, // GR8_NOREX2 | |
{1, 8}, // GR8_NOREX | |
{1, 4}, // GR8_ABCD_H | |
{1, 4}, // GR8_ABCD_L | |
{0, 0}, // GRH16 | |
{2, 64}, // GR16 | |
{2, 32}, // GR16_NOREX2 | |
{2, 16}, // GR16_NOREX | |
{1, 8}, // VK1 | |
{1, 8}, // VK16 | |
{1, 8}, // VK2 | |
{1, 8}, // VK4 | |
{1, 8}, // VK8 | |
{1, 7}, // VK16WM | |
{1, 7}, // VK1WM | |
{1, 7}, // VK2WM | |
{1, 7}, // VK4WM | |
{1, 7}, // VK8WM | |
{1, 6}, // SEGMENT_REG | |
{2, 8}, // GR16_ABCD | |
{0, 0}, // FPCCR | |
{1, 32}, // FR16X | |
{1, 16}, // FR16 | |
{2, 8}, // VK16PAIR | |
{2, 8}, // VK1PAIR | |
{2, 8}, // VK2PAIR | |
{2, 8}, // VK4PAIR | |
{2, 8}, // VK8PAIR | |
{2, 6}, // VK1PAIR_with_sub_mask_0_in_VK1WM | |
{2, 66}, // LOW32_ADDR_ACCESS_RBP | |
{2, 66}, // LOW32_ADDR_ACCESS | |
{2, 64}, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit | |
{1, 32}, // FR32X | |
{2, 64}, // GR32 | |
{2, 62}, // GR32_NOSP | |
{2, 32}, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
{1, 16}, // DEBUG_REG | |
{1, 16}, // FR32 | |
{2, 32}, // GR32_NOREX2 | |
{2, 30}, // GR32_NOREX2_NOSP | |
{2, 16}, // LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX | |
{2, 16}, // GR32_NOREX | |
{1, 8}, // VK32 | |
{2, 14}, // GR32_NOREX_NOSP | |
{1, 7}, // RFP32 | |
{1, 7}, // VK32WM | |
{2, 8}, // GR32_ABCD | |
{2, 8}, // GR32_TC | |
{2, 6}, // GR32_ABCD_and_GR32_TC | |
{2, 4}, // GR32_AD | |
{2, 4}, // GR32_ArgRef | |
{2, 4}, // GR32_BPSP | |
{2, 4}, // GR32_BSI | |
{2, 4}, // GR32_CB | |
{2, 4}, // GR32_DC | |
{2, 4}, // GR32_DIBP | |
{2, 4}, // GR32_SIDI | |
{2, 4}, // LOW32_ADDR_ACCESS_RBP_with_sub_32bit | |
{0, 0}, // CCR | |
{0, 0}, // DFCCR | |
{2, 2}, // GR32_ABCD_and_GR32_BSI | |
{2, 2}, // GR32_AD_and_GR32_ArgRef | |
{2, 2}, // GR32_ArgRef_and_GR32_CB | |
{2, 2}, // GR32_BPSP_and_GR32_DIBP | |
{2, 2}, // GR32_BPSP_and_GR32_TC | |
{2, 2}, // GR32_BSI_and_GR32_SIDI | |
{2, 2}, // GR32_DIBP_and_GR32_SIDI | |
{2, 2}, // LOW32_ADDR_ACCESS_RBP_with_sub_8bit_with_sub_32bit | |
{2, 2}, // LOW32_ADDR_ACCESS_with_sub_32bit | |
{1, 7}, // RFP64 | |
{2, 66}, // GR64 | |
{1, 32}, // FR64X | |
{2, 64}, // GR64_with_sub_8bit | |
{2, 62}, // GR64_NOSP | |
{2, 34}, // GR64_NOREX2 | |
{1, 16}, // CONTROL_REG | |
{1, 16}, // FR64 | |
{2, 32}, // GR64_with_sub_16bit_in_GR16_NOREX2 | |
{2, 30}, // GR64_NOREX2_NOSP | |
{2, 26}, // GR64PLTSafe | |
{2, 20}, // GR64_TC | |
{2, 18}, // GR64_NOREX | |
{2, 18}, // GR64_TCW64 | |
{2, 18}, // GR64_TC_with_sub_8bit | |
{2, 16}, // GR64_NOREX2_NOSP_and_GR64_TC | |
{2, 16}, // GR64_TCW64_with_sub_8bit | |
{2, 16}, // GR64_TC_and_GR64_TCW64 | |
{2, 16}, // GR64_with_sub_16bit_in_GR16_NOREX | |
{1, 8}, // VK64 | |
{1, 8}, // VR64 | |
{2, 14}, // GR64PLTSafe_and_GR64_TC | |
{2, 14}, // GR64_NOREX2_NOSP_and_GR64_TCW64 | |
{2, 14}, // GR64_NOREX_NOSP | |
{2, 14}, // GR64_NOREX_and_GR64_TC | |
{2, 14}, // GR64_TCW64_and_GR64_TC_with_sub_8bit | |
{1, 7}, // VK64WM | |
{2, 12}, // GR64_TC_and_GR64_NOREX2_NOSP_and_GR64_TCW64 | |
{2, 12}, // GR64_TC_and_GR64_with_sub_16bit_in_GR16_NOREX | |
{2, 10}, // GR64PLTSafe_and_GR64_TCW64 | |
{2, 10}, // GR64_NOREX_and_GR64PLTSafe_and_GR64_TC | |
{2, 10}, // GR64_NOREX_and_GR64_TCW64 | |
{2, 8}, // GR64_ABCD | |
{2, 8}, // GR64_with_sub_32bit_in_GR32_TC | |
{2, 6}, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_TC | |
{2, 4}, // GR64_AD | |
{2, 4}, // GR64_ArgRef | |
{2, 4}, // GR64_and_LOW32_ADDR_ACCESS_RBP | |
{2, 4}, // GR64_with_sub_32bit_in_GR32_ArgRef | |
{2, 4}, // GR64_with_sub_32bit_in_GR32_BPSP | |
{2, 4}, // GR64_with_sub_32bit_in_GR32_BSI | |
{2, 4}, // GR64_with_sub_32bit_in_GR32_CB | |
{2, 4}, // GR64_with_sub_32bit_in_GR32_DIBP | |
{2, 4}, // GR64_with_sub_32bit_in_GR32_SIDI | |
{2, 2}, // GR64_ArgRef_and_GR64_TC | |
{2, 2}, // GR64_and_LOW32_ADDR_ACCESS | |
{2, 2}, // GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_BSI | |
{2, 2}, // GR64_with_sub_32bit_in_GR32_AD_and_GR32_ArgRef | |
{2, 2}, // GR64_with_sub_32bit_in_GR32_ArgRef_and_GR32_CB | |
{2, 2}, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_DIBP | |
{2, 2}, // GR64_with_sub_32bit_in_GR32_BPSP_and_GR32_TC | |
{2, 2}, // GR64_with_sub_32bit_in_GR32_BSI_and_GR32_SIDI | |
{2, 2}, // GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDI | |
{0, 0}, // RST | |
{1, 7}, // RFP80 | |
{0, 0}, // RFP80_7 | |
{1, 32}, // VR128X | |
{1, 16}, // VR128 | |
{1, 32}, // VR256X | |
{1, 16}, // VR256 | |
{1, 32}, // VR512 | |
{1, 16}, // VR512_0_15 | |
{1, 8}, // TILE | |
{2, 8}, // TILEPAIR | |
}; | |
return RCWeightTable[RC->getID()]; | |
} | |
/// Get the weight in units of pressure for this register unit. | |
unsigned X86GenRegisterInfo:: | |
getRegUnitWeight(unsigned RegUnit) const { | |
assert(RegUnit < 221 && "invalid register unit"); | |
// All register units have unit weight. | |
return 1; | |
} | |
// Get the number of dimensions of register pressure. | |
unsigned X86GenRegisterInfo::getNumRegPressureSets() const { | |
return 36; | |
} | |
// Get the name of this register unit pressure set. | |
const char *X86GenRegisterInfo:: | |
getRegPressureSetName(unsigned Idx) const { | |
static const char *PressureNameTable[] = { | |
"SEGMENT_REG", | |
"GR32_BPSP", | |
"LOW32_ADDR_ACCESS_with_sub_32bit", | |
"GR32_BSI", | |
"GR32_SIDI", | |
"GR32_DIBP_with_GR32_SIDI", | |
"GR32_DIBP_with_LOW32_ADDR_ACCESS_with_sub_32bit", | |
"RFP32", | |
"GR8_ABCD_H_with_GR32_BSI", | |
"GR8_ABCD_L_with_GR32_BSI", | |
"VK1", | |
"VR64", | |
"TILE", | |
"GR8_NOREX", | |
"GR32_TC", | |
"GR32_BPSP_with_GR32_TC", | |
"FR16", | |
"DEBUG_REG", | |
"CONTROL_REG", | |
"GR64_NOREX", | |
"GR64_TCW64", | |
"GR32_BPSP_with_GR64_TCW64", | |
"GR64_TC_with_GR64_TCW64", | |
"GR64_TC", | |
"FR16X", | |
"GR64PLTSafe_with_GR64_TC", | |
"GR8", | |
"GR8_with_GR32_DIBP", | |
"GR8_with_GR32_BSI", | |
"GR8_with_LOW32_ADDR_ACCESS_with_sub_32bit", | |
"GR8_with_GR64_NOREX", | |
"GR8_with_GR64_TCW64", | |
"GR8_with_GR64_TC", | |
"GR8_with_GR64PLTSafe", | |
"GR8_with_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2", | |
"GR16", | |
}; | |
return PressureNameTable[Idx]; | |
} | |
// Get the register unit pressure limit for this dimension. | |
// This limit must be adjusted dynamically for reserved registers. | |
unsigned X86GenRegisterInfo:: | |
getRegPressureSetLimit(const MachineFunction &MF, unsigned Idx) const { | |
static const uint8_t PressureLimitTable[] = { | |
6, // 0: SEGMENT_REG | |
6, // 1: GR32_BPSP | |
6, // 2: LOW32_ADDR_ACCESS_with_sub_32bit | |
6, // 3: GR32_BSI | |
6, // 4: GR32_SIDI | |
6, // 5: GR32_DIBP_with_GR32_SIDI | |
6, // 6: GR32_DIBP_with_LOW32_ADDR_ACCESS_with_sub_32bit | |
7, // 7: RFP32 | |
7, // 8: GR8_ABCD_H_with_GR32_BSI | |
7, // 9: GR8_ABCD_L_with_GR32_BSI | |
8, // 10: VK1 | |
8, // 11: VR64 | |
8, // 12: TILE | |
10, // 13: GR8_NOREX | |
12, // 14: GR32_TC | |
12, // 15: GR32_BPSP_with_GR32_TC | |
16, // 16: FR16 | |
16, // 17: DEBUG_REG | |
16, // 18: CONTROL_REG | |
18, // 19: GR64_NOREX | |
20, // 20: GR64_TCW64 | |
20, // 21: GR32_BPSP_with_GR64_TCW64 | |
22, // 22: GR64_TC_with_GR64_TCW64 | |
26, // 23: GR64_TC | |
32, // 24: FR16X | |
34, // 25: GR64PLTSafe_with_GR64_TC | |
38, // 26: GR8 | |
38, // 27: GR8_with_GR32_DIBP | |
38, // 28: GR8_with_GR32_BSI | |
39, // 29: GR8_with_LOW32_ADDR_ACCESS_with_sub_32bit | |
42, // 30: GR8_with_GR64_NOREX | |
43, // 31: GR8_with_GR64_TCW64 | |
44, // 32: GR8_with_GR64_TC | |
45, // 33: GR8_with_GR64PLTSafe | |
48, // 34: GR8_with_LOW32_ADDR_ACCESS_RBP_with_sub_16bit_in_GR16_NOREX2 | |
66, // 35: GR16 | |
}; | |
return PressureLimitTable[Idx]; | |
} | |
/// Table of pressure sets per register class or unit. | |
static const int RCSetsTable[] = { | |
/* 0 */ 0, -1, | |
/* 2 */ 7, -1, | |
/* 4 */ 10, -1, | |
/* 6 */ 11, -1, | |
/* 8 */ 12, -1, | |
/* 10 */ 17, -1, | |
/* 12 */ 18, -1, | |
/* 14 */ 16, 24, -1, | |
/* 17 */ 25, 35, -1, | |
/* 20 */ 19, 23, 25, 30, 35, -1, | |
/* 26 */ 2, 6, 15, 19, 21, 23, 25, 29, 30, 35, -1, | |
/* 37 */ 20, 21, 22, 23, 25, 31, 35, -1, | |
/* 45 */ 22, 23, 25, 32, 35, -1, | |
/* 51 */ 19, 22, 23, 25, 30, 32, 35, -1, | |
/* 59 */ 20, 21, 22, 23, 25, 31, 32, 35, -1, | |
/* 68 */ 14, 15, 19, 20, 21, 22, 23, 25, 30, 31, 32, 35, -1, | |
/* 81 */ 2, 6, 14, 15, 19, 20, 21, 22, 23, 25, 29, 30, 31, 32, 35, -1, | |
/* 97 */ 25, 34, 35, -1, | |
/* 101 */ 19, 23, 25, 30, 34, 35, -1, | |
/* 108 */ 1, 2, 15, 19, 21, 23, 25, 26, 30, 34, 35, -1, | |
/* 120 */ 20, 21, 22, 23, 25, 31, 34, 35, -1, | |
/* 129 */ 22, 23, 25, 32, 34, 35, -1, | |
/* 136 */ 19, 22, 23, 25, 30, 32, 34, 35, -1, | |
/* 145 */ 20, 21, 22, 23, 25, 31, 32, 34, 35, -1, | |
/* 155 */ 1, 2, 14, 15, 19, 20, 21, 22, 23, 25, 26, 30, 31, 32, 34, 35, -1, | |
/* 172 */ 25, 33, 34, 35, -1, | |
/* 177 */ 19, 23, 25, 30, 33, 34, 35, -1, | |
/* 185 */ 1, 5, 6, 19, 23, 25, 27, 30, 33, 34, 35, -1, | |
/* 197 */ 1, 2, 5, 6, 15, 19, 21, 23, 25, 26, 27, 29, 30, 33, 34, 35, -1, | |
/* 214 */ 22, 23, 25, 32, 33, 34, 35, -1, | |
/* 222 */ 3, 4, 8, 9, 13, 19, 23, 25, 28, 30, 32, 33, 34, 35, -1, | |
/* 237 */ 4, 5, 19, 22, 23, 25, 28, 30, 32, 33, 34, 35, -1, | |
/* 250 */ 3, 4, 5, 8, 9, 13, 19, 22, 23, 25, 28, 30, 32, 33, 34, 35, -1, | |
/* 267 */ 1, 4, 5, 6, 19, 22, 23, 25, 27, 28, 30, 32, 33, 34, 35, -1, | |
/* 283 */ 20, 21, 22, 23, 25, 31, 32, 33, 34, 35, -1, | |
/* 294 */ 3, 13, 14, 19, 20, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 312 */ 8, 13, 14, 19, 20, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 330 */ 3, 4, 8, 9, 13, 14, 19, 20, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 351 */ 1, 2, 5, 6, 15, 19, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 371 */ 1, 4, 5, 6, 19, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 390 */ 3, 4, 5, 8, 9, 13, 19, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 411 */ 1, 2, 14, 15, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 432 */ 3, 13, 14, 15, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 453 */ 3, 8, 13, 14, 15, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
/* 475 */ 3, 9, 13, 14, 15, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, | |
}; | |
/// Get the dimensions of register pressure impacted by this register class. | |
/// Returns a -1 terminated array of pressure set IDs | |
const int *X86GenRegisterInfo:: | |
getRegClassPressureSets(const TargetRegisterClass *RC) const { | |
static const uint16_t RCSetStartTable[] = { | |
301,1,300,295,312,333,1,18,97,101,4,4,4,4,4,4,4,4,4,4,0,295,1,15,14,4,4,4,4,4,4,18,18,18,15,18,18,97,10,14,97,97,101,101,4,177,2,4,295,157,433,433,433,108,222,294,433,185,237,26,1,1,330,433,432,197,155,250,267,197,81,2,18,15,18,18,17,12,14,97,97,172,45,20,37,129,129,120,59,101,4,6,214,120,177,51,145,4,145,136,283,239,68,295,157,433,433,120,26,433,108,222,294,185,237,145,81,330,433,432,197,155,250,267,1,2,1,15,14,15,14,15,14,8,8,}; | |
return &RCSetsTable[RCSetStartTable[RC->getID()]]; | |
} | |
/// Get the dimensions of register pressure impacted by this register unit. | |
/// Returns a -1 terminated array of pressure set IDs | |
const int *X86GenRegisterInfo:: | |
getRegUnitPressureSets(unsigned RegUnit) const { | |
assert(RegUnit < 221 && "invalid register unit"); | |
static const uint16_t RUSetStartTable[] = { | |
454,476,330,330,351,1,453,475,0,1,454,371,1,476,0,1,1,1,1,1,1,1,81,1,1,0,390,1,1,411,1,1,1,1,0,1,0,1,1,1,1,0,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,2,2,2,2,2,2,2,1,6,6,6,6,6,6,6,6,416,1,1,416,1,1,416,1,1,416,1,1,300,1,1,300,1,1,300,1,1,300,1,1,1,1,1,1,1,1,1,1,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,4,4,4,4,4,4,4,4,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,1,8,8,8,8,8,8,8,8,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,301,1,1,}; | |
return &RCSetsTable[RUSetStartTable[RegUnit]]; | |
} | |
extern const MCRegisterDesc X86RegDesc[]; | |
extern const int16_t X86RegDiffLists[]; | |
extern const LaneBitmask X86LaneMaskLists[]; | |
extern const char X86RegStrings[]; | |
extern const char X86RegClassStrings[]; | |
extern const MCPhysReg X86RegUnitRoots[][2]; | |
extern const uint16_t X86SubRegIdxLists[]; | |
extern const uint16_t X86RegEncodingTable[]; | |
// X86 Dwarf<->LLVM register mappings. | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour0Dwarf2L[]; | |
extern const unsigned X86DwarfFlavour0Dwarf2LSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour1Dwarf2L[]; | |
extern const unsigned X86DwarfFlavour1Dwarf2LSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour2Dwarf2L[]; | |
extern const unsigned X86DwarfFlavour2Dwarf2LSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour0Dwarf2L[]; | |
extern const unsigned X86EHFlavour0Dwarf2LSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour1Dwarf2L[]; | |
extern const unsigned X86EHFlavour1Dwarf2LSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour2Dwarf2L[]; | |
extern const unsigned X86EHFlavour2Dwarf2LSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour0L2Dwarf[]; | |
extern const unsigned X86DwarfFlavour0L2DwarfSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour1L2Dwarf[]; | |
extern const unsigned X86DwarfFlavour1L2DwarfSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86DwarfFlavour2L2Dwarf[]; | |
extern const unsigned X86DwarfFlavour2L2DwarfSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour0L2Dwarf[]; | |
extern const unsigned X86EHFlavour0L2DwarfSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour1L2Dwarf[]; | |
extern const unsigned X86EHFlavour1L2DwarfSize; | |
extern const MCRegisterInfo::DwarfLLVMRegPair X86EHFlavour2L2Dwarf[]; | |
extern const unsigned X86EHFlavour2L2DwarfSize; | |
X86GenRegisterInfo:: | |
X86GenRegisterInfo(unsigned RA, unsigned DwarfFlavour, unsigned EHFlavour, | |
unsigned PC, unsigned HwMode) | |
: TargetRegisterInfo(&X86RegInfoDesc, RegisterClasses, RegisterClasses+135, | |
SubRegIndexNameTable, SubRegIdxRangeTable, SubRegIndexLaneMaskTable, | |
LaneBitmask(0xFFFFFFFFFFFFFEF0), RegClassInfos, VTLists, HwMode) { | |
InitMCRegisterInfo(X86RegDesc, 392, RA, PC, | |
X86MCRegisterClasses, 135, | |
X86RegUnitRoots, | |
221, | |
X86RegDiffLists, | |
X86LaneMaskLists, | |
X86RegStrings, | |
X86RegClassStrings, | |
X86SubRegIdxLists, | |
13, | |
X86RegEncodingTable); | |
switch (DwarfFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
mapDwarfRegsToLLVMRegs(X86DwarfFlavour0Dwarf2L, X86DwarfFlavour0Dwarf2LSize, false); | |
break; | |
case 1: | |
mapDwarfRegsToLLVMRegs(X86DwarfFlavour1Dwarf2L, X86DwarfFlavour1Dwarf2LSize, false); | |
break; | |
case 2: | |
mapDwarfRegsToLLVMRegs(X86DwarfFlavour2Dwarf2L, X86DwarfFlavour2Dwarf2LSize, false); | |
break; | |
} | |
switch (EHFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
mapDwarfRegsToLLVMRegs(X86EHFlavour0Dwarf2L, X86EHFlavour0Dwarf2LSize, true); | |
break; | |
case 1: | |
mapDwarfRegsToLLVMRegs(X86EHFlavour1Dwarf2L, X86EHFlavour1Dwarf2LSize, true); | |
break; | |
case 2: | |
mapDwarfRegsToLLVMRegs(X86EHFlavour2Dwarf2L, X86EHFlavour2Dwarf2LSize, true); | |
break; | |
} | |
switch (DwarfFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
mapLLVMRegsToDwarfRegs(X86DwarfFlavour0L2Dwarf, X86DwarfFlavour0L2DwarfSize, false); | |
break; | |
case 1: | |
mapLLVMRegsToDwarfRegs(X86DwarfFlavour1L2Dwarf, X86DwarfFlavour1L2DwarfSize, false); | |
break; | |
case 2: | |
mapLLVMRegsToDwarfRegs(X86DwarfFlavour2L2Dwarf, X86DwarfFlavour2L2DwarfSize, false); | |
break; | |
} | |
switch (EHFlavour) { | |
default: | |
llvm_unreachable("Unknown DWARF flavour"); | |
case 0: | |
mapLLVMRegsToDwarfRegs(X86EHFlavour0L2Dwarf, X86EHFlavour0L2DwarfSize, true); | |
break; | |
case 1: | |
mapLLVMRegsToDwarfRegs(X86EHFlavour1L2Dwarf, X86EHFlavour1L2DwarfSize, true); | |
break; | |
case 2: | |
mapLLVMRegsToDwarfRegs(X86EHFlavour2L2Dwarf, X86EHFlavour2L2DwarfSize, true); | |
break; | |
} | |
} | |
static const MCPhysReg CSR_32_SaveList[] = { X86::ESI, X86::EDI, X86::EBX, X86::EBP, 0 }; | |
static const uint32_t CSR_32_RegMask[] = { 0x058703f0, 0xc0009601, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_32EHRet_SaveList[] = { X86::EAX, X86::EDX, X86::ESI, X86::EDI, X86::EBX, X86::EBP, 0 }; | |
static const uint32_t CSR_32EHRet_RegMask[] = { 0x0def83fe, 0xc000b701, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_32_AllRegs_SaveList[] = { X86::EAX, X86::EBX, X86::ECX, X86::EDX, X86::EBP, X86::ESI, X86::EDI, 0 }; | |
static const uint32_t CSR_32_AllRegs_RegMask[] = { 0x0fefaffe, 0xc000bf01, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_32_AllRegs_AVX_SaveList[] = { X86::EAX, X86::EBX, X86::ECX, X86::EDX, X86::EBP, X86::ESI, X86::EDI, X86::YMM0, X86::YMM1, X86::YMM2, X86::YMM3, X86::YMM4, X86::YMM5, X86::YMM6, X86::YMM7, 0 }; | |
static const uint32_t CSR_32_AllRegs_AVX_RegMask[] = { 0x0fefaffe, 0xc000bf01, 0x00000001, 0x00000000, 0x00007f80, 0x80000000, 0x0000007f, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_32_AllRegs_AVX512_SaveList[] = { X86::EAX, X86::EBX, X86::ECX, X86::EDX, X86::EBP, X86::ESI, X86::EDI, X86::ZMM0, X86::ZMM1, X86::ZMM2, X86::ZMM3, X86::ZMM4, X86::ZMM5, X86::ZMM6, X86::ZMM7, X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, 0 }; | |
static const uint32_t CSR_32_AllRegs_AVX512_RegMask[] = { 0x0fefaffe, 0xc000bf01, 0x00000001, 0x00000000, 0x00007f80, 0x80000000, 0x007f807f, 0x7f800000, 0x07800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_32_AllRegs_SSE_SaveList[] = { X86::EAX, X86::EBX, X86::ECX, X86::EDX, X86::EBP, X86::ESI, X86::EDI, X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, 0 }; | |
static const uint32_t CSR_32_AllRegs_SSE_RegMask[] = { 0x0fefaffe, 0xc000bf01, 0x00000001, 0x00000000, 0x00007f80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_32_RegCall_SaveList[] = { X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, 0 }; | |
static const uint32_t CSR_32_RegCall_RegMask[] = { 0x058703f0, 0xc0009601, 0x00000001, 0x00000000, 0x00007800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_32_RegCall_NoSSE_SaveList[] = { X86::ESI, X86::EDI, X86::EBX, X86::EBP, 0 }; | |
static const uint32_t CSR_32_RegCall_NoSSE_RegMask[] = { 0x058703f0, 0xc0009601, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, 0 }; | |
static const uint32_t CSR_64_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x78000000, 0x78000000, 0x78787878, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64EHRet_SaveList[] = { X86::RAX, X86::RDX, X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, 0 }; | |
static const uint32_t CSR_64EHRet_RegMask[] = { 0x09e883fe, 0x01382700, 0x00000000, 0x78000000, 0x78000000, 0x78787878, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_AllRegs_SaveList[] = { X86::RBX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, X86::RAX, 0 }; | |
static const uint32_t CSR_64_AllRegs_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7f800000, 0xffffff80, 0x7fffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_AllRegs_AVX_SaveList[] = { X86::RBX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::RAX, X86::YMM0, X86::YMM1, X86::YMM2, X86::YMM3, X86::YMM4, X86::YMM5, X86::YMM6, X86::YMM7, X86::YMM8, X86::YMM9, X86::YMM10, X86::YMM11, X86::YMM12, X86::YMM13, X86::YMM14, X86::YMM15, 0 }; | |
static const uint32_t CSR_64_AllRegs_AVX_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7f800000, 0xffffff80, 0xffffffff, 0x00007fff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_AllRegs_AVX512_SaveList[] = { X86::RBX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::RAX, X86::ZMM0, X86::ZMM1, X86::ZMM2, X86::ZMM3, X86::ZMM4, X86::ZMM5, X86::ZMM6, X86::ZMM7, X86::ZMM8, X86::ZMM9, X86::ZMM10, X86::ZMM11, X86::ZMM12, X86::ZMM13, X86::ZMM14, X86::ZMM15, X86::ZMM16, X86::ZMM17, X86::ZMM18, X86::ZMM19, X86::ZMM20, X86::ZMM21, X86::ZMM22, X86::ZMM23, X86::ZMM24, X86::ZMM25, X86::ZMM26, X86::ZMM27, X86::ZMM28, X86::ZMM29, X86::ZMM30, X86::ZMM31, X86::K0, X86::K1, X86::K2, X86::K3, X86::K4, X86::K5, X86::K6, X86::K7, 0 }; | |
static const uint32_t CSR_64_AllRegs_AVX512_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7f800000, 0xffffff80, 0xffffffff, 0xffffffff, 0xffffffff, 0x07ffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_AllRegs_NoSSE_SaveList[] = { X86::RAX, X86::RBX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, 0 }; | |
static const uint32_t CSR_64_AllRegs_NoSSE_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7f800000, 0xff800000, 0x7fffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_CXX_TLS_Darwin_PE_SaveList[] = { X86::RBP, 0 }; | |
static const uint32_t CSR_64_CXX_TLS_Darwin_PE_RegMask[] = { 0x008001c0, 0x00100200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_CXX_TLS_Darwin_ViaCopy_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RCX, X86::RDX, X86::RSI, X86::R8, X86::R9, X86::R10, X86::R11, 0 }; | |
static const uint32_t CSR_64_CXX_TLS_Darwin_ViaCopy_RegMask[] = { 0x0b28ae30, 0xd160ac01, 0x00000001, 0x7f800000, 0xff800000, 0x7fffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_Intel_OCL_BI_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_64_Intel_OCL_BI_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x78000000, 0x787f8000, 0x78787878, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_Intel_OCL_BI_AVX_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::YMM8, X86::YMM9, X86::YMM10, X86::YMM11, X86::YMM12, X86::YMM13, X86::YMM14, X86::YMM15, 0 }; | |
static const uint32_t CSR_64_Intel_OCL_BI_AVX_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x78000000, 0x787f8000, 0x78787878, 0x00007f80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_Intel_OCL_BI_AVX512_SaveList[] = { X86::RBX, X86::RSI, X86::R14, X86::R15, X86::ZMM16, X86::ZMM17, X86::ZMM18, X86::ZMM19, X86::ZMM20, X86::ZMM21, X86::ZMM22, X86::ZMM23, X86::ZMM24, X86::ZMM25, X86::ZMM26, X86::ZMM27, X86::ZMM28, X86::ZMM29, X86::ZMM30, X86::ZMM31, X86::K4, X86::K5, X86::K6, X86::K7, 0 }; | |
static const uint32_t CSR_64_Intel_OCL_BI_AVX512_RegMask[] = { 0x01000230, 0xd0208401, 0x00000001, 0x60000000, 0x60000000, 0x60606060, 0xfff80000, 0x007fffff, 0x067fff80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_MostRegs_SaveList[] = { X86::RBX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::R11, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_64_MostRegs_RegMask[] = { 0x0fafaff0, 0xd1f0be01, 0x00000001, 0x7f800000, 0xffffff80, 0x7fffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_NoneRegs_SaveList[] = { X86::RBP, 0 }; | |
static const uint32_t CSR_64_NoneRegs_RegMask[] = { 0x008001c0, 0x00100200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_RT_AllRegs_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_64_RT_AllRegs_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7b800000, 0xfbffff80, 0x7bfbfbfb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_RT_AllRegs_AVX_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::YMM0, X86::YMM1, X86::YMM2, X86::YMM3, X86::YMM4, X86::YMM5, X86::YMM6, X86::YMM7, X86::YMM8, X86::YMM9, X86::YMM10, X86::YMM11, X86::YMM12, X86::YMM13, X86::YMM14, X86::YMM15, 0 }; | |
static const uint32_t CSR_64_RT_AllRegs_AVX_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7b800000, 0xfbffff80, 0xfbfbfbfb, 0x00007fff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_RT_MostRegs_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, 0 }; | |
static const uint32_t CSR_64_RT_MostRegs_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7b800000, 0xfb800000, 0x7bfbfbfb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_SwiftError_SaveList[] = { X86::RBX, X86::R13, X86::R14, X86::R15, X86::RBP, 0 }; | |
static const uint32_t CSR_64_SwiftError_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x70000000, 0x70000000, 0x70707070, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_SwiftTail_SaveList[] = { X86::RBX, X86::R12, X86::R15, X86::RBP, 0 }; | |
static const uint32_t CSR_64_SwiftTail_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x48000000, 0x48000000, 0x48484848, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_64_TLS_Darwin_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::RCX, X86::RDX, X86::RSI, X86::R8, X86::R9, X86::R10, X86::R11, 0 }; | |
static const uint32_t CSR_64_TLS_Darwin_RegMask[] = { 0x0ba8aff0, 0xd170ae01, 0x00000001, 0x7f800000, 0xff800000, 0x7fffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_IPRA_32_SaveList[] = { X86::EBP, X86::ESI, 0 }; | |
static const uint32_t CSR_IPRA_32_RegMask[] = { 0x008001c0, 0xc0008201, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_IPRA_64_SaveList[] = { X86::RBP, X86::RBX, 0 }; | |
static const uint32_t CSR_IPRA_64_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_NoRegs_SaveList[] = { 0 }; | |
static const uint32_t CSR_NoRegs_RegMask[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_SysV64_RegCall_SaveList[] = { X86::RBX, X86::RBP, X86::R12, X86::R13, X86::R14, X86::R15, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_SysV64_RegCall_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x78000000, 0x787f8000, 0x78787878, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_SysV64_RegCall_NoSSE_SaveList[] = { X86::RBX, X86::RBP, X86::R12, X86::R13, X86::R14, X86::R15, 0 }; | |
static const uint32_t CSR_SysV64_RegCall_NoSSE_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x78000000, 0x78000000, 0x78787878, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win32_CFGuard_Check_SaveList[] = { X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::XMM4, X86::XMM5, X86::XMM6, X86::XMM7, X86::ECX, 0 }; | |
static const uint32_t CSR_Win32_CFGuard_Check_RegMask[] = { 0x07872ff0, 0xc0009e01, 0x00000001, 0x00000000, 0x00007800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win32_CFGuard_Check_NoSSE_SaveList[] = { X86::ESI, X86::EDI, X86::EBX, X86::EBP, X86::ECX, 0 }; | |
static const uint32_t CSR_Win32_CFGuard_Check_NoSSE_RegMask[] = { 0x07872ff0, 0xc0009e01, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_SaveList[] = { X86::RBX, X86::RBP, X86::RDI, X86::RSI, X86::R12, X86::R13, X86::R14, X86::R15, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_Win64_RegMask[] = { 0x058703f0, 0xd0b09601, 0x00000001, 0x78000000, 0x787fe000, 0x78787878, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_Intel_OCL_BI_AVX_SaveList[] = { X86::RBX, X86::RBP, X86::RDI, X86::RSI, X86::R12, X86::R13, X86::R14, X86::R15, X86::YMM6, X86::YMM7, X86::YMM8, X86::YMM9, X86::YMM10, X86::YMM11, X86::YMM12, X86::YMM13, X86::YMM14, X86::YMM15, 0 }; | |
static const uint32_t CSR_Win64_Intel_OCL_BI_AVX_RegMask[] = { 0x058703f0, 0xd0b09601, 0x00000001, 0x78000000, 0x787fe000, 0x78787878, 0x00007fe0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_Intel_OCL_BI_AVX512_SaveList[] = { X86::RBX, X86::RBP, X86::RDI, X86::RSI, X86::R12, X86::R13, X86::R14, X86::R15, X86::ZMM6, X86::ZMM7, X86::ZMM8, X86::ZMM9, X86::ZMM10, X86::ZMM11, X86::ZMM12, X86::ZMM13, X86::ZMM14, X86::ZMM15, X86::ZMM16, X86::ZMM17, X86::ZMM18, X86::ZMM19, X86::ZMM20, X86::ZMM21, X86::K4, X86::K5, X86::K6, X86::K7, 0 }; | |
static const uint32_t CSR_Win64_Intel_OCL_BI_AVX512_RegMask[] = { 0x058703f0, 0xd0b09601, 0x00000001, 0x78000000, 0x787fe000, 0x78787878, 0x1ff87fe0, 0xe0001f80, 0x06001fff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_NoSSE_SaveList[] = { X86::RBX, X86::RBP, X86::RDI, X86::RSI, X86::R12, X86::R13, X86::R14, X86::R15, 0 }; | |
static const uint32_t CSR_Win64_NoSSE_RegMask[] = { 0x058703f0, 0xd0b09601, 0x00000001, 0x78000000, 0x78000000, 0x78787878, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_RT_MostRegs_SaveList[] = { X86::RBX, X86::R12, X86::R13, X86::R14, X86::R15, X86::RBP, X86::RAX, X86::RCX, X86::RDX, X86::RSI, X86::RDI, X86::R8, X86::R9, X86::R10, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_Win64_RT_MostRegs_RegMask[] = { 0x0fefaffe, 0xd1f8bf01, 0x00000001, 0x7b800000, 0xfbffe000, 0x7bfbfbfb, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_RegCall_SaveList[] = { X86::RBX, X86::RBP, X86::R10, X86::R11, X86::R12, X86::R13, X86::R14, X86::R15, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_Win64_RegCall_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x7e000000, 0x7e7f8000, 0x7e7e7e7e, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_RegCall_NoSSE_SaveList[] = { X86::RBX, X86::RBP, X86::R10, X86::R11, X86::R12, X86::R13, X86::R14, X86::R15, 0 }; | |
static const uint32_t CSR_Win64_RegCall_NoSSE_RegMask[] = { 0x018003f0, 0x00300600, 0x00000000, 0x7e000000, 0x7e000000, 0x7e7e7e7e, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_SwiftError_SaveList[] = { X86::RBX, X86::RBP, X86::RDI, X86::RSI, X86::R13, X86::R14, X86::R15, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_Win64_SwiftError_RegMask[] = { 0x058703f0, 0xd0b09601, 0x00000001, 0x70000000, 0x707fe000, 0x70707070, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
static const MCPhysReg CSR_Win64_SwiftTail_SaveList[] = { X86::RBX, X86::RBP, X86::RDI, X86::RSI, X86::R12, X86::R15, X86::XMM6, X86::XMM7, X86::XMM8, X86::XMM9, X86::XMM10, X86::XMM11, X86::XMM12, X86::XMM13, X86::XMM14, X86::XMM15, 0 }; | |
static const uint32_t CSR_Win64_SwiftTail_RegMask[] = { 0x058703f0, 0xd0b09601, 0x00000001, 0x48000000, 0x487fe000, 0x48484848, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }; | |
ArrayRef<const uint32_t *> X86GenRegisterInfo::getRegMasks() const { | |
static const uint32_t *const Masks[] = { | |
CSR_32_RegMask, | |
CSR_32EHRet_RegMask, | |
CSR_32_AllRegs_RegMask, | |
CSR_32_AllRegs_AVX_RegMask, | |
CSR_32_AllRegs_AVX512_RegMask, | |
CSR_32_AllRegs_SSE_RegMask, | |
CSR_32_RegCall_RegMask, | |
CSR_32_RegCall_NoSSE_RegMask, | |
CSR_64_RegMask, | |
CSR_64EHRet_RegMask, | |
CSR_64_AllRegs_RegMask, | |
CSR_64_AllRegs_AVX_RegMask, | |
CSR_64_AllRegs_AVX512_RegMask, | |
CSR_64_AllRegs_NoSSE_RegMask, | |
CSR_64_CXX_TLS_Darwin_PE_RegMask, | |
CSR_64_CXX_TLS_Darwin_ViaCopy_RegMask, | |
CSR_64_Intel_OCL_BI_RegMask, | |
CSR_64_Intel_OCL_BI_AVX_RegMask, | |
CSR_64_Intel_OCL_BI_AVX512_RegMask, | |
CSR_64_MostRegs_RegMask, | |
CSR_64_NoneRegs_RegMask, | |
CSR_64_RT_AllRegs_RegMask, | |
CSR_64_RT_AllRegs_AVX_RegMask, | |
CSR_64_RT_MostRegs_RegMask, | |
CSR_64_SwiftError_RegMask, | |
CSR_64_SwiftTail_RegMask, | |
CSR_64_TLS_Darwin_RegMask, | |
CSR_IPRA_32_RegMask, | |
CSR_IPRA_64_RegMask, | |
CSR_NoRegs_RegMask, | |
CSR_SysV64_RegCall_RegMask, | |
CSR_SysV64_RegCall_NoSSE_RegMask, | |
CSR_Win32_CFGuard_Check_RegMask, | |
CSR_Win32_CFGuard_Check_NoSSE_RegMask, | |
CSR_Win64_RegMask, | |
CSR_Win64_Intel_OCL_BI_AVX_RegMask, | |
CSR_Win64_Intel_OCL_BI_AVX512_RegMask, | |
CSR_Win64_NoSSE_RegMask, | |
CSR_Win64_RT_MostRegs_RegMask, | |
CSR_Win64_RegCall_RegMask, | |
CSR_Win64_RegCall_NoSSE_RegMask, | |
CSR_Win64_SwiftError_RegMask, | |
CSR_Win64_SwiftTail_RegMask, | |
}; | |
return ArrayRef(Masks); | |
} | |
bool X86GenRegisterInfo:: | |
isGeneralPurposeRegister(const MachineFunction &MF, MCRegister PhysReg) const { | |
return | |
X86::GR64RegClass.contains(PhysReg) || | |
X86::GR32RegClass.contains(PhysReg) || | |
X86::GR16RegClass.contains(PhysReg) || | |
X86::GR8RegClass.contains(PhysReg) || | |
false; | |
} | |
bool X86GenRegisterInfo:: | |
isGeneralPurposeRegisterClass(const TargetRegisterClass *RC) const { | |
return | |
X86::GR64RegClass.hasSubClassEq(RC) || | |
X86::GR32RegClass.hasSubClassEq(RC) || | |
X86::GR16RegClass.hasSubClassEq(RC) || | |
X86::GR8RegClass.hasSubClassEq(RC) || | |
false; | |
} | |
bool X86GenRegisterInfo:: | |
isFixedRegister(const MachineFunction &MF, MCRegister PhysReg) const { | |
return | |
X86::DEBUG_REGRegClass.contains(PhysReg) || | |
X86::CONTROL_REGRegClass.contains(PhysReg) || | |
X86::CCRRegClass.contains(PhysReg) || | |
X86::FPCCRRegClass.contains(PhysReg) || | |
X86::DFCCRRegClass.contains(PhysReg) || | |
X86::TILERegClass.contains(PhysReg) || | |
X86::VK1PAIRRegClass.contains(PhysReg) || | |
X86::VK2PAIRRegClass.contains(PhysReg) || | |
X86::VK4PAIRRegClass.contains(PhysReg) || | |
X86::VK8PAIRRegClass.contains(PhysReg) || | |
X86::VK16PAIRRegClass.contains(PhysReg) || | |
false; | |
} | |
bool X86GenRegisterInfo:: | |
isArgumentRegister(const MachineFunction &MF, MCRegister PhysReg) const { | |
return | |
false; | |
} | |
bool X86GenRegisterInfo:: | |
isConstantPhysReg(MCRegister PhysReg) const { | |
return | |
false; | |
} | |
ArrayRef<const char *> X86GenRegisterInfo::getRegMaskNames() const { | |
static const char *Names[] = { | |
"CSR_32", | |
"CSR_32EHRet", | |
"CSR_32_AllRegs", | |
"CSR_32_AllRegs_AVX", | |
"CSR_32_AllRegs_AVX512", | |
"CSR_32_AllRegs_SSE", | |
"CSR_32_RegCall", | |
"CSR_32_RegCall_NoSSE", | |
"CSR_64", | |
"CSR_64EHRet", | |
"CSR_64_AllRegs", | |
"CSR_64_AllRegs_AVX", | |
"CSR_64_AllRegs_AVX512", | |
"CSR_64_AllRegs_NoSSE", | |
"CSR_64_CXX_TLS_Darwin_PE", | |
"CSR_64_CXX_TLS_Darwin_ViaCopy", | |
"CSR_64_Intel_OCL_BI", | |
"CSR_64_Intel_OCL_BI_AVX", | |
"CSR_64_Intel_OCL_BI_AVX512", | |
"CSR_64_MostRegs", | |
"CSR_64_NoneRegs", | |
"CSR_64_RT_AllRegs", | |
"CSR_64_RT_AllRegs_AVX", | |
"CSR_64_RT_MostRegs", | |
"CSR_64_SwiftError", | |
"CSR_64_SwiftTail", | |
"CSR_64_TLS_Darwin", | |
"CSR_IPRA_32", | |
"CSR_IPRA_64", | |
"CSR_NoRegs", | |
"CSR_SysV64_RegCall", | |
"CSR_SysV64_RegCall_NoSSE", | |
"CSR_Win32_CFGuard_Check", | |
"CSR_Win32_CFGuard_Check_NoSSE", | |
"CSR_Win64", | |
"CSR_Win64_Intel_OCL_BI_AVX", | |
"CSR_Win64_Intel_OCL_BI_AVX512", | |
"CSR_Win64_NoSSE", | |
"CSR_Win64_RT_MostRegs", | |
"CSR_Win64_RegCall", | |
"CSR_Win64_RegCall_NoSSE", | |
"CSR_Win64_SwiftError", | |
"CSR_Win64_SwiftTail", | |
}; | |
return ArrayRef(Names); | |
} | |
const X86FrameLowering * | |
X86GenRegisterInfo::getFrameLowering(const MachineFunction &MF) { | |
return static_cast<const X86FrameLowering *>( | |
MF.getSubtarget().getFrameLowering()); | |
} | |
} // end namespace llvm | |
#endif // GET_REGINFO_TARGET_DESC | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment