duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

RegisterLookup.inc (15551B)


      1 static const ZydisRegisterLookupItem REG_LOOKUP[] =
      2 {
      3     /* NONE       */ { ZYDIS_REGCLASS_INVALID, -1, 0, 0 },
      4     /* AL         */ { ZYDIS_REGCLASS_GPR8, 0, 8, 8 },
      5     /* CL         */ { ZYDIS_REGCLASS_GPR8, 1, 8, 8 },
      6     /* DL         */ { ZYDIS_REGCLASS_GPR8, 2, 8, 8 },
      7     /* BL         */ { ZYDIS_REGCLASS_GPR8, 3, 8, 8 },
      8     /* AH         */ { ZYDIS_REGCLASS_GPR8, 4, 8, 8 },
      9     /* CH         */ { ZYDIS_REGCLASS_GPR8, 5, 8, 8 },
     10     /* DH         */ { ZYDIS_REGCLASS_GPR8, 6, 8, 8 },
     11     /* BH         */ { ZYDIS_REGCLASS_GPR8, 7, 8, 8 },
     12     /* SPL        */ { ZYDIS_REGCLASS_GPR8, 8, 8, 8 },
     13     /* BPL        */ { ZYDIS_REGCLASS_GPR8, 9, 8, 8 },
     14     /* SIL        */ { ZYDIS_REGCLASS_GPR8, 10, 8, 8 },
     15     /* DIL        */ { ZYDIS_REGCLASS_GPR8, 11, 8, 8 },
     16     /* R8B        */ { ZYDIS_REGCLASS_GPR8, 12, 8, 8 },
     17     /* R9B        */ { ZYDIS_REGCLASS_GPR8, 13, 8, 8 },
     18     /* R10B       */ { ZYDIS_REGCLASS_GPR8, 14, 8, 8 },
     19     /* R11B       */ { ZYDIS_REGCLASS_GPR8, 15, 8, 8 },
     20     /* R12B       */ { ZYDIS_REGCLASS_GPR8, 16, 8, 8 },
     21     /* R13B       */ { ZYDIS_REGCLASS_GPR8, 17, 8, 8 },
     22     /* R14B       */ { ZYDIS_REGCLASS_GPR8, 18, 8, 8 },
     23     /* R15B       */ { ZYDIS_REGCLASS_GPR8, 19, 8, 8 },
     24     /* AX         */ { ZYDIS_REGCLASS_GPR16, 0, 16, 16 },
     25     /* CX         */ { ZYDIS_REGCLASS_GPR16, 1, 16, 16 },
     26     /* DX         */ { ZYDIS_REGCLASS_GPR16, 2, 16, 16 },
     27     /* BX         */ { ZYDIS_REGCLASS_GPR16, 3, 16, 16 },
     28     /* SP         */ { ZYDIS_REGCLASS_GPR16, 4, 16, 16 },
     29     /* BP         */ { ZYDIS_REGCLASS_GPR16, 5, 16, 16 },
     30     /* SI         */ { ZYDIS_REGCLASS_GPR16, 6, 16, 16 },
     31     /* DI         */ { ZYDIS_REGCLASS_GPR16, 7, 16, 16 },
     32     /* R8W        */ { ZYDIS_REGCLASS_GPR16, 8, 16, 16 },
     33     /* R9W        */ { ZYDIS_REGCLASS_GPR16, 9, 16, 16 },
     34     /* R10W       */ { ZYDIS_REGCLASS_GPR16, 10, 16, 16 },
     35     /* R11W       */ { ZYDIS_REGCLASS_GPR16, 11, 16, 16 },
     36     /* R12W       */ { ZYDIS_REGCLASS_GPR16, 12, 16, 16 },
     37     /* R13W       */ { ZYDIS_REGCLASS_GPR16, 13, 16, 16 },
     38     /* R14W       */ { ZYDIS_REGCLASS_GPR16, 14, 16, 16 },
     39     /* R15W       */ { ZYDIS_REGCLASS_GPR16, 15, 16, 16 },
     40     /* EAX        */ { ZYDIS_REGCLASS_GPR32, 0, 32, 32 },
     41     /* ECX        */ { ZYDIS_REGCLASS_GPR32, 1, 32, 32 },
     42     /* EDX        */ { ZYDIS_REGCLASS_GPR32, 2, 32, 32 },
     43     /* EBX        */ { ZYDIS_REGCLASS_GPR32, 3, 32, 32 },
     44     /* ESP        */ { ZYDIS_REGCLASS_GPR32, 4, 32, 32 },
     45     /* EBP        */ { ZYDIS_REGCLASS_GPR32, 5, 32, 32 },
     46     /* ESI        */ { ZYDIS_REGCLASS_GPR32, 6, 32, 32 },
     47     /* EDI        */ { ZYDIS_REGCLASS_GPR32, 7, 32, 32 },
     48     /* R8D        */ { ZYDIS_REGCLASS_GPR32, 8, 32, 32 },
     49     /* R9D        */ { ZYDIS_REGCLASS_GPR32, 9, 32, 32 },
     50     /* R10D       */ { ZYDIS_REGCLASS_GPR32, 10, 32, 32 },
     51     /* R11D       */ { ZYDIS_REGCLASS_GPR32, 11, 32, 32 },
     52     /* R12D       */ { ZYDIS_REGCLASS_GPR32, 12, 32, 32 },
     53     /* R13D       */ { ZYDIS_REGCLASS_GPR32, 13, 32, 32 },
     54     /* R14D       */ { ZYDIS_REGCLASS_GPR32, 14, 32, 32 },
     55     /* R15D       */ { ZYDIS_REGCLASS_GPR32, 15, 32, 32 },
     56     /* RAX        */ { ZYDIS_REGCLASS_GPR64, 0, 0, 64 },
     57     /* RCX        */ { ZYDIS_REGCLASS_GPR64, 1, 0, 64 },
     58     /* RDX        */ { ZYDIS_REGCLASS_GPR64, 2, 0, 64 },
     59     /* RBX        */ { ZYDIS_REGCLASS_GPR64, 3, 0, 64 },
     60     /* RSP        */ { ZYDIS_REGCLASS_GPR64, 4, 0, 64 },
     61     /* RBP        */ { ZYDIS_REGCLASS_GPR64, 5, 0, 64 },
     62     /* RSI        */ { ZYDIS_REGCLASS_GPR64, 6, 0, 64 },
     63     /* RDI        */ { ZYDIS_REGCLASS_GPR64, 7, 0, 64 },
     64     /* R8         */ { ZYDIS_REGCLASS_GPR64, 8, 0, 64 },
     65     /* R9         */ { ZYDIS_REGCLASS_GPR64, 9, 0, 64 },
     66     /* R10        */ { ZYDIS_REGCLASS_GPR64, 10, 0, 64 },
     67     /* R11        */ { ZYDIS_REGCLASS_GPR64, 11, 0, 64 },
     68     /* R12        */ { ZYDIS_REGCLASS_GPR64, 12, 0, 64 },
     69     /* R13        */ { ZYDIS_REGCLASS_GPR64, 13, 0, 64 },
     70     /* R14        */ { ZYDIS_REGCLASS_GPR64, 14, 0, 64 },
     71     /* R15        */ { ZYDIS_REGCLASS_GPR64, 15, 0, 64 },
     72     /* ST0        */ { ZYDIS_REGCLASS_X87, 0, 80, 80 },
     73     /* ST1        */ { ZYDIS_REGCLASS_X87, 1, 80, 80 },
     74     /* ST2        */ { ZYDIS_REGCLASS_X87, 2, 80, 80 },
     75     /* ST3        */ { ZYDIS_REGCLASS_X87, 3, 80, 80 },
     76     /* ST4        */ { ZYDIS_REGCLASS_X87, 4, 80, 80 },
     77     /* ST5        */ { ZYDIS_REGCLASS_X87, 5, 80, 80 },
     78     /* ST6        */ { ZYDIS_REGCLASS_X87, 6, 80, 80 },
     79     /* ST7        */ { ZYDIS_REGCLASS_X87, 7, 80, 80 },
     80     /* X87CONTROL */ { ZYDIS_REGCLASS_INVALID, -1, 16, 16 },
     81     /* X87STATUS  */ { ZYDIS_REGCLASS_INVALID, -1, 16, 16 },
     82     /* X87TAG     */ { ZYDIS_REGCLASS_INVALID, -1, 16, 16 },
     83     /* MM0        */ { ZYDIS_REGCLASS_MMX, 0, 64, 64 },
     84     /* MM1        */ { ZYDIS_REGCLASS_MMX, 1, 64, 64 },
     85     /* MM2        */ { ZYDIS_REGCLASS_MMX, 2, 64, 64 },
     86     /* MM3        */ { ZYDIS_REGCLASS_MMX, 3, 64, 64 },
     87     /* MM4        */ { ZYDIS_REGCLASS_MMX, 4, 64, 64 },
     88     /* MM5        */ { ZYDIS_REGCLASS_MMX, 5, 64, 64 },
     89     /* MM6        */ { ZYDIS_REGCLASS_MMX, 6, 64, 64 },
     90     /* MM7        */ { ZYDIS_REGCLASS_MMX, 7, 64, 64 },
     91     /* XMM0       */ { ZYDIS_REGCLASS_XMM, 0, 128, 128 },
     92     /* XMM1       */ { ZYDIS_REGCLASS_XMM, 1, 128, 128 },
     93     /* XMM2       */ { ZYDIS_REGCLASS_XMM, 2, 128, 128 },
     94     /* XMM3       */ { ZYDIS_REGCLASS_XMM, 3, 128, 128 },
     95     /* XMM4       */ { ZYDIS_REGCLASS_XMM, 4, 128, 128 },
     96     /* XMM5       */ { ZYDIS_REGCLASS_XMM, 5, 128, 128 },
     97     /* XMM6       */ { ZYDIS_REGCLASS_XMM, 6, 128, 128 },
     98     /* XMM7       */ { ZYDIS_REGCLASS_XMM, 7, 128, 128 },
     99     /* XMM8       */ { ZYDIS_REGCLASS_XMM, 8, 128, 128 },
    100     /* XMM9       */ { ZYDIS_REGCLASS_XMM, 9, 128, 128 },
    101     /* XMM10      */ { ZYDIS_REGCLASS_XMM, 10, 128, 128 },
    102     /* XMM11      */ { ZYDIS_REGCLASS_XMM, 11, 128, 128 },
    103     /* XMM12      */ { ZYDIS_REGCLASS_XMM, 12, 128, 128 },
    104     /* XMM13      */ { ZYDIS_REGCLASS_XMM, 13, 128, 128 },
    105     /* XMM14      */ { ZYDIS_REGCLASS_XMM, 14, 128, 128 },
    106     /* XMM15      */ { ZYDIS_REGCLASS_XMM, 15, 128, 128 },
    107     /* XMM16      */ { ZYDIS_REGCLASS_XMM, 16, 128, 128 },
    108     /* XMM17      */ { ZYDIS_REGCLASS_XMM, 17, 128, 128 },
    109     /* XMM18      */ { ZYDIS_REGCLASS_XMM, 18, 128, 128 },
    110     /* XMM19      */ { ZYDIS_REGCLASS_XMM, 19, 128, 128 },
    111     /* XMM20      */ { ZYDIS_REGCLASS_XMM, 20, 128, 128 },
    112     /* XMM21      */ { ZYDIS_REGCLASS_XMM, 21, 128, 128 },
    113     /* XMM22      */ { ZYDIS_REGCLASS_XMM, 22, 128, 128 },
    114     /* XMM23      */ { ZYDIS_REGCLASS_XMM, 23, 128, 128 },
    115     /* XMM24      */ { ZYDIS_REGCLASS_XMM, 24, 128, 128 },
    116     /* XMM25      */ { ZYDIS_REGCLASS_XMM, 25, 128, 128 },
    117     /* XMM26      */ { ZYDIS_REGCLASS_XMM, 26, 128, 128 },
    118     /* XMM27      */ { ZYDIS_REGCLASS_XMM, 27, 128, 128 },
    119     /* XMM28      */ { ZYDIS_REGCLASS_XMM, 28, 128, 128 },
    120     /* XMM29      */ { ZYDIS_REGCLASS_XMM, 29, 128, 128 },
    121     /* XMM30      */ { ZYDIS_REGCLASS_XMM, 30, 128, 128 },
    122     /* XMM31      */ { ZYDIS_REGCLASS_XMM, 31, 128, 128 },
    123     /* YMM0       */ { ZYDIS_REGCLASS_YMM, 0, 256, 256 },
    124     /* YMM1       */ { ZYDIS_REGCLASS_YMM, 1, 256, 256 },
    125     /* YMM2       */ { ZYDIS_REGCLASS_YMM, 2, 256, 256 },
    126     /* YMM3       */ { ZYDIS_REGCLASS_YMM, 3, 256, 256 },
    127     /* YMM4       */ { ZYDIS_REGCLASS_YMM, 4, 256, 256 },
    128     /* YMM5       */ { ZYDIS_REGCLASS_YMM, 5, 256, 256 },
    129     /* YMM6       */ { ZYDIS_REGCLASS_YMM, 6, 256, 256 },
    130     /* YMM7       */ { ZYDIS_REGCLASS_YMM, 7, 256, 256 },
    131     /* YMM8       */ { ZYDIS_REGCLASS_YMM, 8, 256, 256 },
    132     /* YMM9       */ { ZYDIS_REGCLASS_YMM, 9, 256, 256 },
    133     /* YMM10      */ { ZYDIS_REGCLASS_YMM, 10, 256, 256 },
    134     /* YMM11      */ { ZYDIS_REGCLASS_YMM, 11, 256, 256 },
    135     /* YMM12      */ { ZYDIS_REGCLASS_YMM, 12, 256, 256 },
    136     /* YMM13      */ { ZYDIS_REGCLASS_YMM, 13, 256, 256 },
    137     /* YMM14      */ { ZYDIS_REGCLASS_YMM, 14, 256, 256 },
    138     /* YMM15      */ { ZYDIS_REGCLASS_YMM, 15, 256, 256 },
    139     /* YMM16      */ { ZYDIS_REGCLASS_YMM, 16, 256, 256 },
    140     /* YMM17      */ { ZYDIS_REGCLASS_YMM, 17, 256, 256 },
    141     /* YMM18      */ { ZYDIS_REGCLASS_YMM, 18, 256, 256 },
    142     /* YMM19      */ { ZYDIS_REGCLASS_YMM, 19, 256, 256 },
    143     /* YMM20      */ { ZYDIS_REGCLASS_YMM, 20, 256, 256 },
    144     /* YMM21      */ { ZYDIS_REGCLASS_YMM, 21, 256, 256 },
    145     /* YMM22      */ { ZYDIS_REGCLASS_YMM, 22, 256, 256 },
    146     /* YMM23      */ { ZYDIS_REGCLASS_YMM, 23, 256, 256 },
    147     /* YMM24      */ { ZYDIS_REGCLASS_YMM, 24, 256, 256 },
    148     /* YMM25      */ { ZYDIS_REGCLASS_YMM, 25, 256, 256 },
    149     /* YMM26      */ { ZYDIS_REGCLASS_YMM, 26, 256, 256 },
    150     /* YMM27      */ { ZYDIS_REGCLASS_YMM, 27, 256, 256 },
    151     /* YMM28      */ { ZYDIS_REGCLASS_YMM, 28, 256, 256 },
    152     /* YMM29      */ { ZYDIS_REGCLASS_YMM, 29, 256, 256 },
    153     /* YMM30      */ { ZYDIS_REGCLASS_YMM, 30, 256, 256 },
    154     /* YMM31      */ { ZYDIS_REGCLASS_YMM, 31, 256, 256 },
    155     /* ZMM0       */ { ZYDIS_REGCLASS_ZMM, 0, 512, 512 },
    156     /* ZMM1       */ { ZYDIS_REGCLASS_ZMM, 1, 512, 512 },
    157     /* ZMM2       */ { ZYDIS_REGCLASS_ZMM, 2, 512, 512 },
    158     /* ZMM3       */ { ZYDIS_REGCLASS_ZMM, 3, 512, 512 },
    159     /* ZMM4       */ { ZYDIS_REGCLASS_ZMM, 4, 512, 512 },
    160     /* ZMM5       */ { ZYDIS_REGCLASS_ZMM, 5, 512, 512 },
    161     /* ZMM6       */ { ZYDIS_REGCLASS_ZMM, 6, 512, 512 },
    162     /* ZMM7       */ { ZYDIS_REGCLASS_ZMM, 7, 512, 512 },
    163     /* ZMM8       */ { ZYDIS_REGCLASS_ZMM, 8, 512, 512 },
    164     /* ZMM9       */ { ZYDIS_REGCLASS_ZMM, 9, 512, 512 },
    165     /* ZMM10      */ { ZYDIS_REGCLASS_ZMM, 10, 512, 512 },
    166     /* ZMM11      */ { ZYDIS_REGCLASS_ZMM, 11, 512, 512 },
    167     /* ZMM12      */ { ZYDIS_REGCLASS_ZMM, 12, 512, 512 },
    168     /* ZMM13      */ { ZYDIS_REGCLASS_ZMM, 13, 512, 512 },
    169     /* ZMM14      */ { ZYDIS_REGCLASS_ZMM, 14, 512, 512 },
    170     /* ZMM15      */ { ZYDIS_REGCLASS_ZMM, 15, 512, 512 },
    171     /* ZMM16      */ { ZYDIS_REGCLASS_ZMM, 16, 512, 512 },
    172     /* ZMM17      */ { ZYDIS_REGCLASS_ZMM, 17, 512, 512 },
    173     /* ZMM18      */ { ZYDIS_REGCLASS_ZMM, 18, 512, 512 },
    174     /* ZMM19      */ { ZYDIS_REGCLASS_ZMM, 19, 512, 512 },
    175     /* ZMM20      */ { ZYDIS_REGCLASS_ZMM, 20, 512, 512 },
    176     /* ZMM21      */ { ZYDIS_REGCLASS_ZMM, 21, 512, 512 },
    177     /* ZMM22      */ { ZYDIS_REGCLASS_ZMM, 22, 512, 512 },
    178     /* ZMM23      */ { ZYDIS_REGCLASS_ZMM, 23, 512, 512 },
    179     /* ZMM24      */ { ZYDIS_REGCLASS_ZMM, 24, 512, 512 },
    180     /* ZMM25      */ { ZYDIS_REGCLASS_ZMM, 25, 512, 512 },
    181     /* ZMM26      */ { ZYDIS_REGCLASS_ZMM, 26, 512, 512 },
    182     /* ZMM27      */ { ZYDIS_REGCLASS_ZMM, 27, 512, 512 },
    183     /* ZMM28      */ { ZYDIS_REGCLASS_ZMM, 28, 512, 512 },
    184     /* ZMM29      */ { ZYDIS_REGCLASS_ZMM, 29, 512, 512 },
    185     /* ZMM30      */ { ZYDIS_REGCLASS_ZMM, 30, 512, 512 },
    186     /* ZMM31      */ { ZYDIS_REGCLASS_ZMM, 31, 512, 512 },
    187     /* TMM0       */ { ZYDIS_REGCLASS_TMM, 0, 8192, 8192 },
    188     /* TMM1       */ { ZYDIS_REGCLASS_TMM, 1, 8192, 8192 },
    189     /* TMM2       */ { ZYDIS_REGCLASS_TMM, 2, 8192, 8192 },
    190     /* TMM3       */ { ZYDIS_REGCLASS_TMM, 3, 8192, 8192 },
    191     /* TMM4       */ { ZYDIS_REGCLASS_TMM, 4, 8192, 8192 },
    192     /* TMM5       */ { ZYDIS_REGCLASS_TMM, 5, 8192, 8192 },
    193     /* TMM6       */ { ZYDIS_REGCLASS_TMM, 6, 8192, 8192 },
    194     /* TMM7       */ { ZYDIS_REGCLASS_TMM, 7, 8192, 8192 },
    195     /* FLAGS      */ { ZYDIS_REGCLASS_FLAGS, -1, 16, 16 },
    196     /* EFLAGS     */ { ZYDIS_REGCLASS_FLAGS, -1, 32, 32 },
    197     /* RFLAGS     */ { ZYDIS_REGCLASS_FLAGS, -1, 0, 64 },
    198     /* IP         */ { ZYDIS_REGCLASS_IP, -1, 16, 16 },
    199     /* EIP        */ { ZYDIS_REGCLASS_IP, -1, 32, 32 },
    200     /* RIP        */ { ZYDIS_REGCLASS_IP, -1, 0, 64 },
    201     /* ES         */ { ZYDIS_REGCLASS_SEGMENT, 0, 16, 16 },
    202     /* CS         */ { ZYDIS_REGCLASS_SEGMENT, 1, 16, 16 },
    203     /* SS         */ { ZYDIS_REGCLASS_SEGMENT, 2, 16, 16 },
    204     /* DS         */ { ZYDIS_REGCLASS_SEGMENT, 3, 16, 16 },
    205     /* FS         */ { ZYDIS_REGCLASS_SEGMENT, 4, 16, 16 },
    206     /* GS         */ { ZYDIS_REGCLASS_SEGMENT, 5, 16, 16 },
    207     /* GDTR       */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
    208     /* LDTR       */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
    209     /* IDTR       */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
    210     /* TR         */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
    211     /* TR0        */ { ZYDIS_REGCLASS_TEST, 0, 32, 32 },
    212     /* TR1        */ { ZYDIS_REGCLASS_TEST, 1, 32, 32 },
    213     /* TR2        */ { ZYDIS_REGCLASS_TEST, 2, 32, 32 },
    214     /* TR3        */ { ZYDIS_REGCLASS_TEST, 3, 32, 32 },
    215     /* TR4        */ { ZYDIS_REGCLASS_TEST, 4, 32, 32 },
    216     /* TR5        */ { ZYDIS_REGCLASS_TEST, 5, 32, 32 },
    217     /* TR6        */ { ZYDIS_REGCLASS_TEST, 6, 32, 32 },
    218     /* TR7        */ { ZYDIS_REGCLASS_TEST, 7, 32, 32 },
    219     /* CR0        */ { ZYDIS_REGCLASS_CONTROL, 0, 32, 64 },
    220     /* CR1        */ { ZYDIS_REGCLASS_CONTROL, 1, 32, 64 },
    221     /* CR2        */ { ZYDIS_REGCLASS_CONTROL, 2, 32, 64 },
    222     /* CR3        */ { ZYDIS_REGCLASS_CONTROL, 3, 32, 64 },
    223     /* CR4        */ { ZYDIS_REGCLASS_CONTROL, 4, 32, 64 },
    224     /* CR5        */ { ZYDIS_REGCLASS_CONTROL, 5, 32, 64 },
    225     /* CR6        */ { ZYDIS_REGCLASS_CONTROL, 6, 32, 64 },
    226     /* CR7        */ { ZYDIS_REGCLASS_CONTROL, 7, 32, 64 },
    227     /* CR8        */ { ZYDIS_REGCLASS_CONTROL, 8, 32, 64 },
    228     /* CR9        */ { ZYDIS_REGCLASS_CONTROL, 9, 32, 64 },
    229     /* CR10       */ { ZYDIS_REGCLASS_CONTROL, 10, 32, 64 },
    230     /* CR11       */ { ZYDIS_REGCLASS_CONTROL, 11, 32, 64 },
    231     /* CR12       */ { ZYDIS_REGCLASS_CONTROL, 12, 32, 64 },
    232     /* CR13       */ { ZYDIS_REGCLASS_CONTROL, 13, 32, 64 },
    233     /* CR14       */ { ZYDIS_REGCLASS_CONTROL, 14, 32, 64 },
    234     /* CR15       */ { ZYDIS_REGCLASS_CONTROL, 15, 32, 64 },
    235     /* DR0        */ { ZYDIS_REGCLASS_DEBUG, 0, 32, 64 },
    236     /* DR1        */ { ZYDIS_REGCLASS_DEBUG, 1, 32, 64 },
    237     /* DR2        */ { ZYDIS_REGCLASS_DEBUG, 2, 32, 64 },
    238     /* DR3        */ { ZYDIS_REGCLASS_DEBUG, 3, 32, 64 },
    239     /* DR4        */ { ZYDIS_REGCLASS_DEBUG, 4, 32, 64 },
    240     /* DR5        */ { ZYDIS_REGCLASS_DEBUG, 5, 32, 64 },
    241     /* DR6        */ { ZYDIS_REGCLASS_DEBUG, 6, 32, 64 },
    242     /* DR7        */ { ZYDIS_REGCLASS_DEBUG, 7, 32, 64 },
    243     /* DR8        */ { ZYDIS_REGCLASS_DEBUG, 8, 32, 64 },
    244     /* DR9        */ { ZYDIS_REGCLASS_DEBUG, 9, 32, 64 },
    245     /* DR10       */ { ZYDIS_REGCLASS_DEBUG, 10, 32, 64 },
    246     /* DR11       */ { ZYDIS_REGCLASS_DEBUG, 11, 32, 64 },
    247     /* DR12       */ { ZYDIS_REGCLASS_DEBUG, 12, 32, 64 },
    248     /* DR13       */ { ZYDIS_REGCLASS_DEBUG, 13, 32, 64 },
    249     /* DR14       */ { ZYDIS_REGCLASS_DEBUG, 14, 32, 64 },
    250     /* DR15       */ { ZYDIS_REGCLASS_DEBUG, 15, 32, 64 },
    251     /* K0         */ { ZYDIS_REGCLASS_MASK, 0, 64, 64 },
    252     /* K1         */ { ZYDIS_REGCLASS_MASK, 1, 64, 64 },
    253     /* K2         */ { ZYDIS_REGCLASS_MASK, 2, 64, 64 },
    254     /* K3         */ { ZYDIS_REGCLASS_MASK, 3, 64, 64 },
    255     /* K4         */ { ZYDIS_REGCLASS_MASK, 4, 64, 64 },
    256     /* K5         */ { ZYDIS_REGCLASS_MASK, 5, 64, 64 },
    257     /* K6         */ { ZYDIS_REGCLASS_MASK, 6, 64, 64 },
    258     /* K7         */ { ZYDIS_REGCLASS_MASK, 7, 64, 64 },
    259     /* BND0       */ { ZYDIS_REGCLASS_BOUND, 0, 128, 128 },
    260     /* BND1       */ { ZYDIS_REGCLASS_BOUND, 1, 128, 128 },
    261     /* BND2       */ { ZYDIS_REGCLASS_BOUND, 2, 128, 128 },
    262     /* BND3       */ { ZYDIS_REGCLASS_BOUND, 3, 128, 128 },
    263     /* BNDCFG     */ { ZYDIS_REGCLASS_INVALID, -1, 64, 64 },
    264     /* BNDSTATUS  */ { ZYDIS_REGCLASS_INVALID, -1, 64, 64 },
    265     /* MXCSR      */ { ZYDIS_REGCLASS_INVALID, -1, 32, 32 },
    266     /* PKRU       */ { ZYDIS_REGCLASS_INVALID, -1, 32, 32 },
    267     /* XCR0       */ { ZYDIS_REGCLASS_INVALID, -1, 64, 64 },
    268     /* UIF        */ { ZYDIS_REGCLASS_INVALID, -1, 1, 1 }
    269 };