1 static const ZydisRegisterLookupItem REG_LOOKUP[] =
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 }